botmancers 0.10.1 → 0.10.2
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/CHANGELOG.md +24 -1
- package/README.md +17 -15
- package/app/.next/BUILD_ID +1 -1
- package/app/.next/build-manifest.json +3 -3
- package/app/.next/prerender-manifest.json +3 -3
- package/app/.next/required-server-files.json +2 -2
- package/app/.next/server/app/_global-error.html +1 -1
- package/app/.next/server/app/_global-error.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/app/.next/server/app/_not-found.html +1 -1
- package/app/.next/server/app/_not-found.rsc +1 -1
- package/app/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/app/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/app/.next/server/app/api/bots/[id]/activity/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/[id]/config/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/[id]/conversations/[conversationId]/route.js +3 -3
- package/app/.next/server/app/api/bots/[id]/conversations/[conversationId]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/[id]/conversations/route.js +3 -3
- package/app/.next/server/app/api/bots/[id]/conversations/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/[id]/overview/route.js +2 -2
- package/app/.next/server/app/api/bots/[id]/overview/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/[id]/sessions/[ref]/pins/route.js +2 -2
- package/app/.next/server/app/api/bots/[id]/sessions/[ref]/pins/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/[id]/sessions/[ref]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/[id]/sessions/[ref]/shares/route.js +2 -2
- package/app/.next/server/app/api/bots/[id]/sessions/[ref]/shares/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/[id]/sessions/route.js +2 -2
- package/app/.next/server/app/api/bots/[id]/sessions/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/[id]/sessions/sync/route.js +1 -1
- package/app/.next/server/app/api/bots/[id]/sessions/sync/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/[id]/share-policy/route.js +2 -2
- package/app/.next/server/app/api/bots/[id]/share-policy/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/[id]/skill/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/availability/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/delete-preview/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/import/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/manage/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/name-migrations/route.js.nft.json +1 -1
- package/app/.next/server/app/api/bots/route.js +4 -4
- package/app/.next/server/app/api/bots/route.js.nft.json +1 -1
- package/app/.next/server/app/api/conversations/[id]/approve/route.js.nft.json +1 -1
- package/app/.next/server/app/api/conversations/[id]/deny/route.js.nft.json +1 -1
- package/app/.next/server/app/api/conversations/[id]/draft/route.js.nft.json +1 -1
- package/app/.next/server/app/api/conversations/[id]/messages/[messageId]/stop/route.js.nft.json +1 -1
- package/app/.next/server/app/api/conversations/[id]/messages/route.js +3 -3
- package/app/.next/server/app/api/conversations/[id]/messages/route.js.nft.json +1 -1
- package/app/.next/server/app/api/conversations/[id]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/conversations/[id]/stop/route.js +4 -4
- package/app/.next/server/app/api/conversations/[id]/stop/route.js.nft.json +1 -1
- package/app/.next/server/app/api/conversations/route.js.nft.json +1 -1
- package/app/.next/server/app/api/exchanges/[id]/cancel/route.js +2 -2
- package/app/.next/server/app/api/exchanges/[id]/cancel/route.js.nft.json +1 -1
- package/app/.next/server/app/api/exchanges/[id]/route.js +1 -1
- package/app/.next/server/app/api/exchanges/[id]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/exchanges/route.js +4 -4
- package/app/.next/server/app/api/exchanges/route.js.nft.json +1 -1
- package/app/.next/server/app/api/files/[name]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/groups/route.js.nft.json +1 -1
- package/app/.next/server/app/api/health/route.js +3 -3
- package/app/.next/server/app/api/health/route.js.nft.json +1 -1
- package/app/.next/server/app/api/mcp/route.js.nft.json +1 -1
- package/app/.next/server/app/api/messages/[id]/between/route.js.nft.json +1 -1
- package/app/.next/server/app/api/runtime-capacity/route.js.nft.json +1 -1
- package/app/.next/server/app/api/runtime-connections/route.js.nft.json +1 -1
- package/app/.next/server/app/api/service-grants/route.js +1 -1
- package/app/.next/server/app/api/service-grants/route.js.nft.json +1 -1
- package/app/.next/server/app/api/shares/[shareRef]/revoke/route.js +2 -2
- package/app/.next/server/app/api/shares/[shareRef]/revoke/route.js.nft.json +1 -1
- package/app/.next/server/app/api/shares/route.js +2 -2
- package/app/.next/server/app/api/shares/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/agents/[agentId]/conversations/[conversationId]/route.js +5 -5
- package/app/.next/server/app/api/v0/agents/[agentId]/conversations/[conversationId]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/agents/[agentId]/conversations/route.js +5 -5
- package/app/.next/server/app/api/v0/agents/[agentId]/conversations/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/agents/[agentId]/messages/route.js +2 -2
- package/app/.next/server/app/api/v0/agents/[agentId]/messages/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/agents/[agentId]/pins/route.js +5 -5
- package/app/.next/server/app/api/v0/agents/[agentId]/pins/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/agents/[agentId]/route.js +5 -5
- package/app/.next/server/app/api/v0/agents/[agentId]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/agents/[agentId]/sessions/[ref]/route.js +5 -5
- package/app/.next/server/app/api/v0/agents/[agentId]/sessions/[ref]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/agents/[agentId]/sessions/route.js +5 -5
- package/app/.next/server/app/api/v0/agents/[agentId]/sessions/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/agents/route.js +5 -5
- package/app/.next/server/app/api/v0/agents/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/capabilities/route.js +5 -5
- package/app/.next/server/app/api/v0/capabilities/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/conversations/[id]/route.js +2 -2
- package/app/.next/server/app/api/v0/conversations/[id]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/exchanges/[id]/cancel/route.js +5 -5
- package/app/.next/server/app/api/v0/exchanges/[id]/cancel/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/exchanges/[id]/route.js +5 -5
- package/app/.next/server/app/api/v0/exchanges/[id]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/exchanges/route.js +5 -5
- package/app/.next/server/app/api/v0/exchanges/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/mcp/route.js +4 -4
- package/app/.next/server/app/api/v0/mcp/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/pins/[pinRef]/detach/route.js +5 -5
- package/app/.next/server/app/api/v0/pins/[pinRef]/detach/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/pins/[pinRef]/messages/route.js +5 -5
- package/app/.next/server/app/api/v0/pins/[pinRef]/messages/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/pins/[pinRef]/route.js +5 -5
- package/app/.next/server/app/api/v0/pins/[pinRef]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/requests/[id]/route.js +2 -2
- package/app/.next/server/app/api/v0/requests/[id]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/sessions/[ref]/messages/route.js +5 -5
- package/app/.next/server/app/api/v0/sessions/[ref]/messages/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/sessions/[ref]/pins/route.js +5 -5
- package/app/.next/server/app/api/v0/sessions/[ref]/pins/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/sessions/[ref]/shares/route.js +5 -5
- package/app/.next/server/app/api/v0/sessions/[ref]/shares/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/shares/[shareRef]/revoke/route.js +5 -5
- package/app/.next/server/app/api/v0/shares/[shareRef]/revoke/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/shares/[shareRef]/route.js +5 -5
- package/app/.next/server/app/api/v0/shares/[shareRef]/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/shares/current/route.js +5 -5
- package/app/.next/server/app/api/v0/shares/current/route.js.nft.json +1 -1
- package/app/.next/server/app/api/v0/shares/route.js +5 -5
- package/app/.next/server/app/api/v0/shares/route.js.nft.json +1 -1
- package/app/.next/server/app/api/wake-grants/[id]/revoke/route.js +2 -2
- package/app/.next/server/app/api/wake-grants/[id]/revoke/route.js.nft.json +1 -1
- package/app/.next/server/app/api/wakes/[id]/decision/route.js +2 -2
- package/app/.next/server/app/api/wakes/[id]/decision/route.js.nft.json +1 -1
- package/app/.next/server/app/api/wakes/[id]/retry/route.js +2 -2
- package/app/.next/server/app/api/wakes/[id]/retry/route.js.nft.json +1 -1
- package/app/.next/server/app/exchanges.html +1 -1
- package/app/.next/server/app/exchanges.rsc +1 -1
- package/app/.next/server/app/exchanges.segments/_full.segment.rsc +1 -1
- package/app/.next/server/app/exchanges.segments/_tree.segment.rsc +1 -1
- package/app/.next/server/app/exchanges.segments/exchanges/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/index.html +1 -1
- package/app/.next/server/app/index.rsc +1 -1
- package/app/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/index.segments/_full.segment.rsc +1 -1
- package/app/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/app/.next/server/app/settings.html +1 -1
- package/app/.next/server/app/settings.rsc +1 -1
- package/app/.next/server/app/settings.segments/_full.segment.rsc +1 -1
- package/app/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
- package/app/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/threads/[id]/route.js.nft.json +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__1273j55._.js +52 -0
- package/app/.next/server/chunks/[root-of-the-server]__1fdy1d8._.js +3 -0
- package/app/.next/server/chunks/[root-of-the-server]__1n7hlu8._.js +46 -0
- package/app/.next/server/chunks/_0061c2q._.js +1 -1
- package/app/.next/server/chunks/_031id45._.js +3 -0
- package/app/.next/server/chunks/_04o493a._.js +3 -0
- package/app/.next/server/chunks/_06yp-l-._.js +3 -0
- package/app/.next/server/chunks/_0bl1uw-._.js +3 -0
- package/app/.next/server/chunks/_0gh03eo._.js +3 -0
- package/app/.next/server/chunks/_0h0j5ta._.js +3 -0
- package/app/.next/server/chunks/_0hzb8hh._.js +3 -0
- package/app/.next/server/chunks/_0oodw7g._.js +3 -0
- package/app/.next/server/chunks/_0owd_4q._.js +3 -0
- package/app/.next/server/chunks/_0venewj._.js +3 -0
- package/app/.next/server/chunks/_0wzia1p._.js +3 -0
- package/app/.next/server/chunks/_1-5mthb._.js +1 -1
- package/app/.next/server/chunks/_1-8493l._.js +3 -0
- package/app/.next/server/chunks/_1bvoyii._.js +3 -0
- package/app/.next/server/chunks/_1gyq3w2._.js +3 -0
- package/app/.next/server/chunks/_1j3c311._.js +3 -0
- package/app/.next/server/chunks/{_1ey6l4p._.js → _1k74ggt._.js} +2 -2
- package/app/.next/server/chunks/_1l_t4_r._.js +3 -0
- package/app/.next/server/chunks/_1lac7c3._.js +3 -0
- package/app/.next/server/chunks/_1mlmzwb._.js +3 -0
- package/app/.next/server/chunks/_1rg79tr._.js +3 -0
- package/app/.next/server/chunks/_1s5qnlr._.js +3 -0
- package/app/.next/server/chunks/{_1x4dqzv._.js → _1u-wiq_._.js} +2 -2
- package/app/.next/server/chunks/_1xaqb38._.js +3 -0
- package/app/.next/server/chunks/_1zw-w5h._.js +3 -0
- package/app/.next/server/chunks/lib_0-opbv7._.js +30 -30
- package/app/.next/server/chunks/lib_0aejojj._.js +30 -30
- package/app/.next/server/chunks/lib_0al5wbc._.js +30 -30
- package/app/.next/server/chunks/lib_0il0ml1._.js +30 -30
- package/app/.next/server/chunks/lib_0iujsdg._.js +30 -30
- package/app/.next/server/chunks/lib_15a9ejf._.js +35 -28
- package/app/.next/server/chunks/lib_19pzc33._.js +35 -28
- package/app/.next/server/chunks/lib_1a4ucxv._.js +30 -30
- package/app/.next/server/chunks/lib_1dehbst._.js +30 -30
- package/app/.next/server/chunks/lib_1h919zb._.js +3 -0
- package/app/.next/server/chunks/lib_1z4vnh4._.js +30 -30
- package/app/.next/server/chunks/lib_1z7d95m._.js +35 -28
- package/app/.next/server/chunks/lib_db_ts_1ttuckb._.js +9 -2
- package/app/.next/server/chunks/lib_service-api-http_ts_0xzqhny._.js +1 -1
- package/app/.next/server/chunks/lib_service-api_ts_18eok4w._.js +5 -5
- package/app/.next/server/chunks/lib_slack-runtime_ts_0fgsejy._.js +6 -6
- package/app/.next/server/middleware-build-manifest.js +3 -3
- package/app/.next/server/pages/404.html +1 -1
- package/app/.next/server/pages/500.html +1 -1
- package/app/.next/server/server-reference-manifest.js +1 -1
- package/app/.next/server/server-reference-manifest.json +1 -1
- package/app/BUILD_INFO.json +2 -2
- package/app/package.json +1 -1
- package/app/server.js +1 -1
- package/dist/contract.js +2 -2
- package/package.json +1 -1
- package/schemas/botmancers.mcp.v2.tools.json +15 -50
- package/skills/botmancers-collaboration/SKILL.md +10 -10
- package/skills/botmancers-collaboration/references/workflows.md +20 -14
- package/app/.next/server/chunks/[root-of-the-server]__07q5mnr._.js +0 -3
- package/app/.next/server/chunks/[root-of-the-server]__1280ke1._.js +0 -46
- package/app/.next/server/chunks/[root-of-the-server]__1jxwu9_._.js +0 -52
- package/app/.next/server/chunks/_04e2bgj._.js +0 -3
- package/app/.next/server/chunks/_05po7b4._.js +0 -3
- package/app/.next/server/chunks/_06sxx0e._.js +0 -3
- package/app/.next/server/chunks/_0ar2ooe._.js +0 -3
- package/app/.next/server/chunks/_0fmotaz._.js +0 -3
- package/app/.next/server/chunks/_0kpfto_._.js +0 -3
- package/app/.next/server/chunks/_0lm6uis._.js +0 -3
- package/app/.next/server/chunks/_0mpu5tl._.js +0 -3
- package/app/.next/server/chunks/_0u9cfq9._.js +0 -3
- package/app/.next/server/chunks/_0ul8k7g._.js +0 -3
- package/app/.next/server/chunks/_1-60d3o._.js +0 -3
- package/app/.next/server/chunks/_11-q8k1._.js +0 -3
- package/app/.next/server/chunks/_133y3b0._.js +0 -3
- package/app/.next/server/chunks/_167960a._.js +0 -3
- package/app/.next/server/chunks/_17vgjlt._.js +0 -3
- package/app/.next/server/chunks/_1amx9_4._.js +0 -3
- package/app/.next/server/chunks/_1b01v-_._.js +0 -3
- package/app/.next/server/chunks/_1c-g4gq._.js +0 -3
- package/app/.next/server/chunks/_1ess5if._.js +0 -3
- package/app/.next/server/chunks/_1i0zod4._.js +0 -3
- package/app/.next/server/chunks/_1nlg4x_._.js +0 -3
- package/app/.next/server/chunks/_1z0qbzc._.js +0 -3
- package/app/.next/server/chunks/lib_0i8cm07._.js +0 -3
- /package/app/.next/static/{eBmHBBldHWytVvYPu0zHc → 45V8A9u4-Y-aZNxovpZCu}/_buildManifest.js +0 -0
- /package/app/.next/static/{eBmHBBldHWytVvYPu0zHc → 45V8A9u4-Y-aZNxovpZCu}/_clientMiddlewareManifest.js +0 -0
- /package/app/.next/static/{eBmHBBldHWytVvYPu0zHc → 45V8A9u4-Y-aZNxovpZCu}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
module.exports=[20635,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},95657,e=>{"use strict";var t=e.i(89171),r=e.i(62294),a=e.i(62349),i=e.i(10860),n=e.i(90027),s=e.i(9501),o=e.i(35631),l=e.i(83140);function d(e,t,r=180){let a=String(e??"").split(/\r?\n/).map(e=>e.replace(/^\s*#{1,6}\s*/,"").trim()).filter(e=>e&&!/^---+$/.test(e)).slice(0,2).join(" ").replace(/\s+/g," ");return a?a.length<=r?a:`${a.slice(0,r-1).trimEnd()}…`:t}async function c(e,{params:u}){try{let{id:e}=await u,c=function(e){let t=r.bots.getById(e);if(!t)return null;let c=(0,a.resolveAgent)(t),u=(0,i.readSkillState)(t.name),_=(0,n.listAgentSessions)(r.default,e,"all").map(e=>({ref:e.ref,title:e.title,status:e.status,last_activity_at:e.last_activity_at})),p=r.conversations.getByBotId(e),f=(p?r.messages.getByConversation(p.id):[]).at(-1),v=t.runtime_connection_id?r.default.prepare("SELECT label FROM runtime_connections WHERE id = ?").get(t.runtime_connection_id):void 0;return{agent:{id:t.id,name:t.name,title:t.title,role:t.title.trim()||"Botmancers agent",avatar:t.avatar??null,avatar_color:t.avatar_color??null,avatar_eyes:t.avatar_eyes??null,avatar_hands:t.avatar_hands??null,avatar_accessory:t.avatar_accessory??null},instructions:{rules:d(t.description,"No standing rules have been written yet."),skill:d(u.content,"No skill instructions are installed."),skill_present:u.present},runtime:{agent:c.agent,connection:v?.label??null,available:c.launchable,blocker:c.launch_blocker,last_seen:t.last_seen??null},capabilities:[...o.SERVICE_CAPABILITIES],messaging:(0,s.agentMessagingReadiness)(t),current_work:_.filter(e=>"active"===e.status).slice(0,3),recent_work:_.slice(0,7),conversation:p?{id:p.id,last_activity_at:f?.created_at??null}:null,recent_activity:(0,l.listAgentActivity)(e,{filter:"all",cursor:null,limit:4})?.items??[]}}(e);if(!c)return t.NextResponse.json({error:"Agent not found"},{status:404});return t.NextResponse.json(c)}catch(e){return console.error("Error fetching Agent overview:",e),t.NextResponse.json({error:"Failed to fetch Agent overview"},{status:500})}}e.s(["GET",0,c],95657)},6545,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),i=e.i(59756),n=e.i(61916),s=e.i(74677),o=e.i(69741),l=e.i(16795),d=e.i(87718),c=e.i(95169),u=e.i(47587),_=e.i(66012),p=e.i(70101),f=e.i(26937),v=e.i(10372),h=e.i(93695),y=e.i(9580);e.i(52474);var g=e.i(220);let m=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/bots/[id]/overview/route",pathname:"/api/bots/[id]/overview",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/bots/[id]/overview/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(95657),...{}}),{workAsyncStorage:E,workUnitAsyncStorage:k,serverHooks:S}=m;async function R(e,t,a){a.requestMeta&&(0,i.setRequestMeta)(e,a.requestMeta),m.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let E="/api/bots/[id]/overview/route";E=E.replace(/\/index$/,"")||"/";let k=await m.prepare(e,t,{srcPage:E,multiZoneDraftMode:!1});if(!k)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:S,deploymentId:R,params:w,nextConfig:A,parsedUrl:b,isDraftMode:x,prerenderManifest:C,routerServerContext:O,isOnDemandRevalidate:N,revalidateOnlyGenerated:T,resolvedPathname:q,clientReferenceManifest:I,serverActionsManifest:$}=k,L=(0,o.normalizeAppPath)(E),H=!!C.routes[q]&&(m.isDev||(0,y.isRouteCacheOwner)(q,m.cacheOwner,C.routes[q])),D=!!(C.dynamicRoutes[L]||H),M=async()=>((null==O?void 0:O.render404)?await O.render404(e,t,b,!1):t.end("This page could not be found"),null);if(D&&!x){let e=C.dynamicRoutes[L];if(e&&!1===e.fallback&&!H){if(A.adapterPath)return await M();throw new h.NoFallbackError}}let F=null;!D||m.isDev||x||(F="/index"===(F=q)?"/":F);let P=!0===m.isDev||!D,j=D&&!P;$&&I&&(0,s.setManifestsSingleton)({page:E,clientReferenceManifest:I,serverActionsManifest:$});let W=e.method||"GET",B=(0,n.getTracer)(),U=B.getActiveScopeSpan(),z=!!(null==O?void 0:O.isWrappedByNextServer),K=!!(0,i.getRequestMeta)(e,"minimalMode"),J=(0,i.getRequestMeta)(e,"incrementalCache")||await m.getIncrementalCache(e,A,C,K);null==J||J.resetRequestCache(),globalThis.__incrementalCache=J;let V={params:w,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts,useCacheTimeout:A.experimental.useCacheTimeout},cacheComponents:!!A.cacheComponents,validationLevel:A.experimental.instantInsights.validationLevel,isDraftMode:x,supportsDynamicResponse:P,incrementalCache:J,hmrRefreshHash:(0,i.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:A.cacheLife,staticPageGenerationTimeout:A.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,i)=>m.onRequestError(e,t,a,i,O)},sharedContext:{buildId:S,deploymentId:R}},Z=new l.NodeNextRequest(e),G=new l.NodeNextResponse(t),X=d.NextRequestAdapter.fromNodeNextRequest(Z,(0,d.signalFromNodeResponse)(t)),Y=async({previousCacheEntry:r})=>{try{if(!K&&N&&T&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await m.handle(X,V);e.fetchMetrics=V.renderOpts.fetchMetrics;let n=V.renderOpts.pendingWaitUntil;n&&a.waitUntil&&(a.waitUntil(n),n=void 0);let s=V.renderOpts.collectedTags;if(!D)return await (0,_.sendResponse)(Z,G,i,n),null;{let e=await i.blob(),t=(0,p.toNodeOutgoingHttpHeaders)(i.headers);s&&(t[v.NEXT_CACHE_TAGS_HEADER]=s),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,a=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=v.INFINITE_CACHE?!1!==r&&r>0?A.expireTime:void 0:V.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await m.onRequestError(e,t,{routerKind:"App Router",routePath:E,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:N})},!1,O),t}},Q=async(i,s)=>{try{var o,l;let i=await m.handleResponse({req:e,nextConfig:A,cacheKey:F,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:T,responseGenerator:Y,waitUntil:a.waitUntil,isMinimalMode:K});if(!D)return;if((null==i||null==(o=i.value)?void 0:o.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==i||null==(l=i.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});K||t.setHeader("x-nextjs-cache",N?"REVALIDATED":i.isMiss?"MISS":i.isStale?"STALE":"HIT"),x&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let n=(0,p.fromNodeOutgoingHttpHeaders)(i.value.headers);K&&D||n.delete(v.NEXT_CACHE_TAGS_HEADER),!i.cacheControl||t.getHeader("Cache-Control")||n.get("Cache-Control")||n.set("Cache-Control",(0,f.getCacheControlHeader)(i.cacheControl)),await (0,_.sendResponse)(Z,G,new Response(i.value.body,{headers:n,status:i.value.status||200}));return}catch(t){if(t instanceof h.NoFallbackError||await m.onRequestError(e,t,{routerKind:"App Router",routePath:L,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:N})},!1,O),D)throw t;await (0,_.sendResponse)(Z,G,new Response(null,{status:500}));return}finally{(()=>{if(!i)return;let e=t.statusCode;i.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(i.setStatus({code:n.SpanStatusCode.ERROR}),i.setAttribute("error.type",e.toString()));let r=B.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==c.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route")||L,o=`${W} ${a}`;i.setAttributes({"next.route":a,"http.route":a,"next.span_name":o}),i.updateName(o),s&&s!==i&&(s.setAttribute("http.route",a),s.updateName(o))})()}};if(z&&U)await Q(U,void 0);else{let t=B.getActiveScopeSpan();await B.withPropagatedContext(e.headers,()=>B.trace(c.BaseServerSpan.handleRequest,{spanName:`${W} ${E}`,kind:n.SpanKind.SERVER,attributes:{"http.method":W,"http.target":e.url}},e=>Q(e,t)),void 0,!z)}}e.s(["handler",0,R,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:k})},"routeModule",0,m,"serverHooks",0,S,"workAsyncStorage",0,E,"workUnitAsyncStorage",0,k])},83140,e=>{"use strict";var t=e.i(62294),r=e.i(62349),a=e.i(46309);let i=new Set([{value:"all",label:"All"},{value:"sessions",label:"Sessions"},{value:"conversations",label:"Conversations & exchanges"},{value:"slack",label:"Slack"},{value:"errors",label:"Errors"}].map(e=>e.value));function n(e){return encodeURIComponent(e)}function s(e,t){return`/agents/${n(e)}/sessions${t?`?session=${n(t)}`:""}`}function o(e,t){return`/agents/${n(e)}/conversations/${n(t)}`}function l(e){try{let t=e?JSON.parse(e):{};return t&&"object"==typeof t&&!Array.isArray(t)?t:{}}catch{return{}}}function d(e){return"string"==typeof e&&/^[a-z0-9_.:-]{1,100}$/i.test(e)?e:null}function c(e,t){e.push(t)}function u(e,t){return!!e.prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = ?").get(t)}function _(e,t,r,a){let i=a.after?.at??null;return e.prepare(`
|
|
2
|
+
SELECT * FROM (${t}) activity_source
|
|
3
|
+
WHERE (? IS NULL OR occurred_at < ? OR (occurred_at = ? AND activity_id > ?))
|
|
4
|
+
ORDER BY occurred_at DESC, activity_id ASC
|
|
5
|
+
LIMIT ?
|
|
6
|
+
`).all(...r,i,i,i,a.after?.id??"",a.limit)}e.s(["isAgentActivityFilter",0,function(e){return"string"==typeof e&&i.has(e)},"listAgentActivity",0,function(e,i,p=t.default){if(!p.prepare("SELECT 1 FROM bots WHERE id = ?").get(e))return null;let f=`agent-activity:${e}:${i.filter}`,v={after:(0,a.decodePageCursor)(f,i.cursor),limit:i.limit+1,errorsOnly:"errors"===i.filter},h=[];if(("all"===i.filter||"sessions"===i.filter||"errors"===i.filter)&&(!function(e,t,r,a){if(!a.errorsOnly)for(let i of _(e,`
|
|
7
|
+
SELECT 'provider-session:' || id || ':discovered' AS activity_id, created_at AS occurred_at,
|
|
8
|
+
id, COALESCE(binding_id, id) AS catalog_ref, created_at
|
|
9
|
+
FROM provider_sessions WHERE agent_id = ? AND origin = 'discovered'
|
|
10
|
+
`,[t],a))c(r,{id:i.activity_id,kind:"session.discovered",category:"sessions",occurred_at:i.created_at,summary:"Session discovered",target:{href:s(t,i.catalog_ref),label:"Open session"},severity:"info",attention:!1,details:{source:"provider discovery",session_ref:i.catalog_ref}});let i=a.errorsOnly?"'turn_failed', 'sync_failed'":"'session_started', 'session_missing', 'turn_started', 'turn_completed', 'turn_cancelled', 'turn_failed', 'sync_failed'";for(let n of _(e,`
|
|
11
|
+
SELECT 'provider-session-event:' || e.id AS activity_id, e.created_at AS occurred_at,
|
|
12
|
+
e.id, COALESCE(ps.binding_id, e.session_ref) AS catalog_ref, e.type, e.detail, e.created_at
|
|
13
|
+
FROM provider_session_events e
|
|
14
|
+
LEFT JOIN provider_sessions ps ON ps.id = e.session_ref AND ps.agent_id = e.agent_id
|
|
15
|
+
WHERE e.agent_id = ? AND e.type IN (${i})
|
|
16
|
+
`,[t],a)){let e=l(n.detail),a={href:s(t,n.catalog_ref),label:n.catalog_ref?"Open session":"Open sessions"},i={id:n.activity_id,category:"sessions",occurred_at:n.created_at,target:a};"session_started"===n.type?c(r,{...i,kind:"session.started",summary:"Session started",severity:"success",attention:!1,details:{source:"runtime"}}):"session_missing"===n.type?c(r,{...i,kind:"session.missing",summary:"Session is no longer available from its runtime",severity:"warning",attention:!0,details:{availability:"missing"}}):"turn_started"===n.type?c(r,{...i,kind:"session.turn_started",summary:"start"===e.kind?"New session work started":"Session work resumed",severity:"info",attention:!1,details:{action:"start"===e.kind?"start":"resume",authority:"workspace_write"===e.authority?"workspace write":"read only"}}):"turn_completed"===n.type?c(r,{...i,kind:"session.turn_completed",summary:"Session work completed",severity:"success",attention:!1,details:{outcome:"completed"}}):"turn_cancelled"===n.type?c(r,{...i,kind:"session.turn_cancelled",summary:"Session work was cancelled",severity:"warning",attention:!1,details:{outcome:"cancelled"}}):"turn_failed"===n.type?c(r,{...i,kind:"session.turn_failed",summary:"Session work failed",severity:"error",attention:!0,details:{outcome:"failed"}}):"sync_failed"===n.type&&c(r,{...i,kind:"session.sync_failed",summary:"Session history could not be refreshed",severity:"error",attention:!0,details:{error_code:d(e.error_code)??"provider_failed"}})}if(!a.errorsOnly){for(let i of _(e,`
|
|
17
|
+
SELECT 'session-binding:' || id || ':created' AS activity_id, created_at AS occurred_at, id, created_at
|
|
18
|
+
FROM session_bindings WHERE agent_id = ?
|
|
19
|
+
`,[t],a))c(r,{id:i.activity_id,kind:"session.active",category:"sessions",occurred_at:i.created_at,summary:"Session became active",target:{href:s(t,i.id),label:"Open session"},severity:"info",attention:!1,details:{status:"active",session_ref:i.id}});for(let i of _(e,`
|
|
20
|
+
SELECT 'session-binding:' || id || ':ended' AS activity_id, released_at AS occurred_at, id, released_at AS created_at
|
|
21
|
+
FROM session_bindings WHERE agent_id = ? AND released_at IS NOT NULL
|
|
22
|
+
`,[t],a))c(r,{id:i.activity_id,kind:"session.ended",category:"sessions",occurred_at:i.created_at,summary:"Session ended",target:{href:s(t,i.id),label:"Open session"},severity:"info",attention:!1,details:{status:"ended",session_ref:i.id}})}}(p,e,h,v),!function(e,t,a,i){let s=e.prepare("SELECT * FROM bots WHERE id = ?").get(t);if(!s)return;let o=(0,r.resolveAgent)(s);if(i&&o.launchable)return;let l=o.launch_blocker??"configuration";c(a,{id:`agent:${t}:availability`,kind:o.launchable?"availability.ready":"availability.setup_required",category:"sessions",occurred_at:s.last_seen??s.created_at,summary:o.launchable?"Agent runtime is available":"Agent runtime needs setup",target:{href:`/agents/${n(t)}/config`,label:"Open Config"},severity:o.launchable?"info":"error",attention:!o.launchable,details:o.launchable?{availability:"available"}:{availability:"unavailable",blocker:l}})}(p,e,h,v.errorsOnly)),"all"===i.filter||"conversations"===i.filter||"errors"===i.filter){if(!v.errorsOnly)for(let t of _(p,`
|
|
23
|
+
SELECT 'conversation:' || c.id || ':created' AS activity_id, c.created_at AS occurred_at,
|
|
24
|
+
c.id, c.created_at, c.type
|
|
25
|
+
FROM conversations c JOIN conversation_participants p ON p.conversation_id = c.id
|
|
26
|
+
WHERE p.participant_kind = 'bot' AND p.participant_id = ?
|
|
27
|
+
`,[e],v))c(h,{id:t.activity_id,kind:"conversation.created",category:"conversations",occurred_at:t.created_at,summary:"agent"===t.type?"Agent conversation opened":"group"===t.type?"Shared conversation opened":"Direct conversation opened",target:{href:o(e,t.id),label:"Open conversation"},severity:"info",attention:!1,details:{conversation_type:"agent"===t.type?"agent":"group"===t.type?"group":"direct"}});let t=v.errorsOnly?"'request_failed', 'finalization_failed', 'finalization_blocked'":"'request_queued', 'request_running', 'request_waiting', 'request_completed', 'request_failed', 'request_cancelled', 'finalization_failed', 'finalization_blocked'";for(let r of _(p,`
|
|
28
|
+
SELECT 'conversation-event:' || e.id AS activity_id, e.created_at AS occurred_at,
|
|
29
|
+
e.id, e.conversation_id, e.kind, e.state, e.created_at
|
|
30
|
+
FROM conversation_events e JOIN conversation_participants p ON p.conversation_id = e.conversation_id
|
|
31
|
+
WHERE p.participant_kind = 'bot' AND p.participant_id = ? AND e.kind IN (${t})
|
|
32
|
+
`,[e],v)){let t={href:o(e,r.conversation_id),label:"Open conversation"},a={id:r.activity_id,category:"conversations",occurred_at:r.created_at,target:t};"request_queued"===r.kind?c(h,{...a,kind:"conversation.request_queued",summary:"Conversation work was queued",severity:"info",attention:!1,details:{state:r.state??"queued"}}):"request_running"===r.kind?c(h,{...a,kind:"conversation.request_running",summary:"Conversation work started",severity:"info",attention:!1,details:{state:r.state??"running"}}):"request_waiting"===r.kind?c(h,{...a,kind:"conversation.request_waiting",summary:"Conversation work needs an answer",severity:"warning",attention:!0,details:{state:r.state??"waiting"}}):"request_completed"===r.kind?c(h,{...a,kind:"conversation.request_completed",summary:"Conversation work completed",severity:"success",attention:!1,details:{state:r.state??"completed"}}):"request_failed"===r.kind||"finalization_failed"===r.kind||"finalization_blocked"===r.kind?c(h,{...a,kind:`conversation.${r.kind}`,summary:"finalization_blocked"===r.kind?"Conversation finalization was blocked":"Conversation work failed",severity:"error",attention:!0,details:{state:r.state??"failed"}}):"request_cancelled"===r.kind&&c(h,{...a,kind:"conversation.request_cancelled",summary:"Conversation work was cancelled",severity:"warning",attention:!1,details:{state:r.state??"cancelled"}})}!function(e,t,r,a){let i=a.errorsOnly?"(e.type IN ('packet_rejected', 'destination_session_rejected') OR (e.type = 'state_changed' AND json_valid(e.data) AND json_extract(e.data, '$.to') = 'failed'))":"e.type IN ('created', 'hop_queued', 'hop_started', 'state_changed', 'packet_rejected', 'destination_session_rejected')";for(let s of _(e,`
|
|
33
|
+
SELECT 'exchange-event:' || e.id AS activity_id, e.created_at AS occurred_at,
|
|
34
|
+
e.id, e.exchange_id, x.mode, e.type, e.data, e.created_at
|
|
35
|
+
FROM session_exchange_events e JOIN session_exchanges x ON x.id = e.exchange_id
|
|
36
|
+
WHERE (x.source_agent_id = ? OR x.destination_agent_id = ?) AND ${i}
|
|
37
|
+
`,[t,t],a)){let e=l(s.data),t={href:`/exchanges?id=${n(s.exchange_id)}`,label:"Open exchange"},a={id:s.activity_id,category:"conversations",occurred_at:s.created_at,target:t};if("created"===s.type)c(r,{...a,kind:"exchange.created",summary:"continue"===s.mode?"Session handoff created":"Session question created",severity:"info",attention:!1,details:{mode:s.mode,exchange_ref:s.exchange_id}});else if("hop_queued"===s.type)c(r,{...a,kind:"exchange.queued",summary:"Exchange step queued",severity:"info",attention:!1,details:{mode:s.mode,step:d(e.hop)??"work"}});else if("hop_started"===s.type)c(r,{...a,kind:"exchange.started",summary:"Exchange step started",severity:"info",attention:!1,details:{mode:s.mode,step:d(e.hop)??"work"}});else if("state_changed"===s.type){let t=d(e.to)??"changed",i="failed"===t;c(r,{...a,kind:`exchange.${t}`,summary:i?"Exchange failed":"completed"===t?"Exchange completed":"cancelled"===t?"Exchange was cancelled":"Exchange progressed",severity:i?"error":"completed"===t?"success":"cancelled"===t?"warning":"info",attention:i,details:{mode:s.mode,state:t}})}else("packet_rejected"===s.type||"destination_session_rejected"===s.type)&&c(r,{...a,kind:`exchange.${s.type}`,summary:"packet_rejected"===s.type?"Handoff packet was refused":"Handoff destination session was refused",severity:"error",attention:!0,details:{mode:s.mode}})}}(p,e,h,v)}return("all"===i.filter||"slack"===i.filter||"errors"===i.filter)&&function(e,t,r,a){if(!u(e,"session_shares")||!u(e,"session_share_events"))return;let i=a.errorsOnly?"'turn_refused'":"'created', 'revoked', 'turn_sent', 'turn_refused'",s=_(e,`
|
|
38
|
+
SELECT 'share-event:' || e.id AS activity_id, e.at AS occurred_at,
|
|
39
|
+
e.id, e.share_ref, s.session_ref, e.type, e.code, e.at
|
|
40
|
+
FROM session_share_events e JOIN session_shares s ON s.id = e.share_ref
|
|
41
|
+
WHERE s.agent_id = ? AND e.type IN (${i})
|
|
42
|
+
`,[t],a),o={href:`/agents/${n(t)}/slack`,label:"Open Slack"};for(let e of s){let t={id:e.activity_id,category:"slack",occurred_at:e.at,target:o},a={share_ref:e.share_ref,session_ref:e.session_ref};"created"===e.type?c(r,{...t,kind:"slack.share_created",summary:"Slack session share created",severity:"info",attention:!1,details:a}):"revoked"===e.type?c(r,{...t,kind:"slack.share_revoked",summary:"Slack session share revoked",severity:"warning",attention:!1,details:a}):"turn_sent"===e.type?c(r,{...t,kind:"slack.question_sent",summary:"Slack question sent to the owning session",severity:"info",attention:!1,details:a}):"turn_refused"===e.type&&c(r,{...t,kind:"slack.question_refused",summary:"Slack question was refused",severity:"error",attention:!0,details:{...a,error_code:d(e.code)??"refused"}})}if(!a.errorsOnly){for(let i of _(e,`
|
|
43
|
+
SELECT 'share:' || id || ':expired' AS activity_id, expires_at AS occurred_at,
|
|
44
|
+
id, session_ref, expires_at AS event_at
|
|
45
|
+
FROM session_shares WHERE agent_id = ? AND state = 'active' AND expires_at <= ?
|
|
46
|
+
`,[t,Date.now()],a))c(r,{id:i.activity_id,kind:"slack.share_expired",category:"slack",occurred_at:i.event_at,summary:"Slack session share expired",target:o,severity:"info",attention:!1,details:{share_ref:i.id,session_ref:i.session_ref}});if(u(e,"slack_share_threads"))for(let i of _(e,`
|
|
47
|
+
SELECT 'share:' || t.share_ref || ':posted' AS activity_id, t.created_at AS occurred_at,
|
|
48
|
+
t.share_ref AS id, s.session_ref, t.created_at AS event_at
|
|
49
|
+
FROM slack_share_threads t JOIN session_shares s ON s.id = t.share_ref WHERE s.agent_id = ?
|
|
50
|
+
`,[t],a))c(r,{id:i.activity_id,kind:"slack.thread_posted",category:"slack",occurred_at:i.event_at,summary:"Slack share thread posted",target:o,severity:"success",attention:!1,details:{share_ref:i.id}})}}(p,e,h,v),(0,a.paginateRows)(f,h,e=>({at:e.occurred_at,tie:0,id:e.id}),i.cursor,i.limit)},"parseAgentActivityLimit",0,function(e){if(null===e||""===e)return 20;if(!/^\d+$/.test(e))throw RangeError("limit");let t=Number(e);if(!Number.isSafeInteger(t)||t<1)throw RangeError("limit");return Math.min(t,100)}],83140)},26571,e=>{"use strict";var t=e.i(54799);let r="BOTMANCERS_SERVICE_TOKENS",a=["botmancers-exchanges","botmancers-engine","botmancers-session-share","botmancers-session-context"],i=/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/,n=/^sha256:([0-9a-f]{64})$/;class s extends Error{constructor(e){super(e),this.name="ServiceTokenConfigError"}}e.s(["RESERVED_SERVICE_IDS",0,a,"ServiceTokenConfigError",0,s,"serviceTokenAuthenticatorFromEnv",0,function(e=process.env){let o=function(e){if(!e||!e.trim())return[];let t=[],o=new Set;for(let l of e.split(/[,\s]+/).filter(Boolean)){let e=l.indexOf("="),d=e>0?l.slice(0,e):"",c=n.exec(e>0?l.slice(e+1).toLowerCase():"");if(!i.test(d)||!c)throw new s(`${r} entries must be <service-id>=sha256:<64 hex digits>.`);if(o.has(d))throw new s(`${r} lists service ${d} twice.`);if(a.includes(d))throw new s(`${r} names the reserved engine principal ${d}.`);o.add(d),t.push({serviceId:d,digest:Buffer.from(c[1],"hex")})}return t}(e[r]);return o.length?e=>{let r,a,i=(a=(r=e.headers.get("authorization"))?/^Bearer[ \t]+(\S+)[ \t]*$/i.exec(r):null)?a[1]:null;if(!i||i.length>4096)return null;let n=(0,t.createHash)("sha256").update(i,"utf8").digest(),s=null;for(let e of o)(0,t.timingSafeEqual)(n,e.digest)&&null===s&&(s=e.serviceId);return s?{kind:"service",id:s}:null}:null}])},10860,e=>{"use strict";var t=e.i(22734),r=e.i(14747),a=e.i(52036);function i(e){if(!/^[A-Za-z0-9_-]+$/.test(e))return null;let i=(0,a.skillsRootPath)(),n=r.default.resolve(i,e,"SKILL.md");if(!n.startsWith(i+r.default.sep))return null;try{let e=t.default.readFileSync(n,"utf8");return e.trim()?e:null}catch{return null}}function n(e){return/^[A-Za-z0-9_-]+$/.test(e)}function s(e){if(!e)return null;let t=i(e);if(!t)return null;let r=t.match(/ends with the exact token\s+(\S+)/i);return r?r[1]:null}function o(e){return n(e)?`skills/${e}/SKILL.md`:null}e.s(["applySkillEndToken",0,function(e,t){let r=s(e);return r?t?t.trimEnd().endsWith(r)?t:t+"\n"+r:r:t},"isSupportedSkillName",0,n,"localSkillForBot",0,i,"readSkillState",0,function(e){let t=o(e);if(!t)return{path:null,present:!1,content:null,status:"unsupported"};let r=i(e);return null===r?{path:t,present:!1,content:null,status:"absent"}:{path:t,present:!0,content:r,status:"present"}},"skillEndToken",0,s,"writeSkillForBot",0,function(e,i){let n=o(e);if(!n)throw Error("Skill files need a bot name matching /^[A-Za-z0-9_-]+$/");let s=(0,a.skillsRootPath)(),l=r.default.resolve(s,e,"SKILL.md");if(!l.startsWith(s+r.default.sep))throw Error("Skill files need a bot name matching /^[A-Za-z0-9_-]+$/");if(!i.trim()){try{t.default.rmSync(l)}catch{}return{path:n,present:!1,content:null,status:"absent"}}return t.default.mkdirSync(r.default.dirname(l),{recursive:!0}),t.default.writeFileSync(l,i),{path:n,present:!0,content:i,status:"present"}}])}];
|
|
51
|
+
|
|
52
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__1273j55._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[85148,(e,t,r)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},20635,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},72938,e=>{"use strict";var t=e.i(89171),r=e.i(62294);async function a(){try{return t.NextResponse.json({audit:r.serviceAudit.list({limit:50})})}catch(e){return console.error("Error reading the service audit trail:",e instanceof Error?e.message:"unknown error"),t.NextResponse.json({error:{code:"internal_error",message:"The service audit trail could not be read."}},{status:500})}}e.s(["GET",0,a])},87039,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),s=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),u=e.i(87718),d=e.i(95169),c=e.i(47587),p=e.i(66012),h=e.i(70101),R=e.i(26937),v=e.i(10372),g=e.i(93695),x=e.i(9580);e.i(52474);var f=e.i(220);let m=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/service-grants/route",pathname:"/api/service-grants",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/service-grants/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(72938),...{}}),{workAsyncStorage:E,workUnitAsyncStorage:w,serverHooks:C}=m;async function y(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),m.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let E="/api/service-grants/route";E=E.replace(/\/index$/,"")||"/";let w=await m.prepare(e,t,{srcPage:E,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:C,deploymentId:y,params:A,nextConfig:T,parsedUrl:b,isDraftMode:N,prerenderManifest:P,routerServerContext:S,isOnDemandRevalidate:q,revalidateOnlyGenerated:O,resolvedPathname:_,clientReferenceManifest:H,serverActionsManifest:I}=w,k=(0,o.normalizeAppPath)(E),M=!!P.routes[_]&&(m.isDev||(0,x.isRouteCacheOwner)(_,m.cacheOwner,P.routes[_])),U=!!(P.dynamicRoutes[k]||M),D=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,b,!1):t.end("This page could not be found"),null);if(U&&!N){let e=P.dynamicRoutes[k];if(e&&!1===e.fallback&&!M){if(T.adapterPath)return await D();throw new g.NoFallbackError}}let j=null;!U||m.isDev||N||(j="/index"===(j=_)?"/":j);let F=!0===m.isDev||!U,K=U&&!F;I&&H&&(0,i.setManifestsSingleton)({page:E,clientReferenceManifest:H,serverActionsManifest:I});let L=e.method||"GET",$=(0,s.getTracer)(),B=$.getActiveScopeSpan(),G=!!(null==S?void 0:S.isWrappedByNextServer),V=!!(0,n.getRequestMeta)(e,"minimalMode"),X=(0,n.getRequestMeta)(e,"incrementalCache")||await m.getIncrementalCache(e,T,P,V);null==X||X.resetRequestCache(),globalThis.__incrementalCache=X;let W={params:A,previewProps:P.preview,renderOpts:{experimental:{authInterrupts:!!T.experimental.authInterrupts,useCacheTimeout:T.experimental.useCacheTimeout},cacheComponents:!!T.cacheComponents,validationLevel:T.experimental.instantInsights.validationLevel,isDraftMode:N,supportsDynamicResponse:F,incrementalCache:X,hmrRefreshHash:(0,n.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:T.cacheLife,staticPageGenerationTimeout:T.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>m.onRequestError(e,t,a,n,S)},sharedContext:{buildId:C,deploymentId:y}},z=new l.NodeNextRequest(e),Z=new l.NodeNextResponse(t),J=u.NextRequestAdapter.fromNodeNextRequest(z,(0,u.signalFromNodeResponse)(t)),Q=async({previousCacheEntry:r})=>{try{if(!V&&q&&O&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await m.handle(J,W);e.fetchMetrics=W.renderOpts.fetchMetrics;let s=W.renderOpts.pendingWaitUntil;s&&a.waitUntil&&(a.waitUntil(s),s=void 0);let i=W.renderOpts.collectedTags;if(!U)return await (0,p.sendResponse)(z,Z,n,s),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);i&&(t[v.NEXT_CACHE_TAGS_HEADER]=i),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,a=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=v.INFINITE_CACHE?!1!==r&&r>0?T.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:f.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await m.onRequestError(e,t,{routerKind:"App Router",routePath:E,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:K,isOnDemandRevalidate:q})},!1,S),t}},Y=async(n,i)=>{try{var o,l;let n=await m.handleResponse({req:e,nextConfig:T,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:P,isRoutePPREnabled:!1,isOnDemandRevalidate:q,revalidateOnlyGenerated:O,responseGenerator:Q,waitUntil:a.waitUntil,isMinimalMode:V});if(!U)return;if((null==n||null==(o=n.value)?void 0:o.kind)!==f.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==n||null==(l=n.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});V||t.setHeader("x-nextjs-cache",q?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),N&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let s=(0,h.fromNodeOutgoingHttpHeaders)(n.value.headers);V&&U||s.delete(v.NEXT_CACHE_TAGS_HEADER),!n.cacheControl||t.getHeader("Cache-Control")||s.get("Cache-Control")||s.set("Cache-Control",(0,R.getCacheControlHeader)(n.cacheControl)),await (0,p.sendResponse)(z,Z,new Response(n.value.body,{headers:s,status:n.value.status||200}));return}catch(t){if(t instanceof g.NoFallbackError||await m.onRequestError(e,t,{routerKind:"App Router",routePath:k,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:K,isOnDemandRevalidate:q})},!1,S),U)throw t;await (0,p.sendResponse)(z,Z,new Response(null,{status:500}));return}finally{(()=>{if(!n)return;let e=t.statusCode;n.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(n.setStatus({code:s.SpanStatusCode.ERROR}),n.setAttribute("error.type",e.toString()));let r=$.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route")||k,o=`${L} ${a}`;n.setAttributes({"next.route":a,"http.route":a,"next.span_name":o}),n.updateName(o),i&&i!==n&&(i.setAttribute("http.route",a),i.updateName(o))})()}};if(G&&B)await Y(B,void 0);else{let t=$.getActiveScopeSpan();await $.withPropagatedContext(e.headers,()=>$.trace(d.BaseServerSpan.handleRequest,{spanName:`${L} ${E}`,kind:s.SpanKind.SERVER,attributes:{"http.method":L,"http.target":e.url}},e=>Y(e,t)),void 0,!G)}}e.s(["handler",0,y,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:w})},"routeModule",0,m,"serverHooks",0,C,"workAsyncStorage",0,E,"workUnitAsyncStorage",0,w])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__1fdy1d8._.js.map
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
module.exports=[85148,(e,t,r)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},51749,e=>{"use strict";var t=e.i(54799),r=e.i(22734),s=e.i(14747),i=e.i(52036);let n="/v1/chat/completions";class a extends Error{code;status;constructor(e,t,r){super(t),this.name="HermesError",this.code=e,this.status=r}}function o(e,t){return`${t.sessionPrefix}${e}`}function l(e,t){return new a("aborted","Hermes request aborted")}async function u(e){var t;let r,s,{config:i,profilePath:n,sessionId:o,messages:u,signal:d}=e,_=e.fetchImpl||((e,t)=>fetch(e,t)),c=(t=i.baseUrl,r=t.replace(/\/+$/,""),s=n.startsWith("/")?n:`/${n}`,`${r}${s}`),p=new AbortController,m=!1,g=setTimeout(()=>{m=!0,p.abort()},i.timeoutMs);g.unref&&g.unref();let f=()=>p.abort();if(d){if(d.aborted)throw clearTimeout(g),l(d,i.timeoutMs);d.addEventListener("abort",f,{once:!0})}try{let e,t;try{e=await _(c,{method:"POST",headers:{Authorization:`Bearer ${i.apiKey}`,"Content-Type":"application/json","X-Hermes-Session-Id":o},body:JSON.stringify({model:i.model,stream:!1,messages:u}),signal:p.signal})}catch(e){if(m)throw new a("timeout",`Hermes request timed out after ${i.timeoutMs} ms`);if(p.signal.aborted)throw l(d??p.signal,i.timeoutMs);throw new a("network",`Hermes request failed: ${String(e)}`)}let r="";try{r=await e.text()}catch{r=""}if(!e.ok){let t=`Hermes turn failed with status ${e.status}`;try{let e=JSON.parse(r);e?.error?.message&&(t=e.error.message)}catch{let e=r.trim().slice(0,120);e&&(t=`${t}: ${e}`)}throw new a("http",t,e.status)}try{t=JSON.parse(r)}catch{throw new a("protocol","Hermes reply was not JSON",e.status)}return t.choices?.[0]?.message?.content?.trim()||"No response"}finally{clearTimeout(g),d&&d.removeEventListener("abort",f)}}e.s(["HERMES_DEFAULT_CHAT_PATH",0,n,"HermesError",0,a,"appendHermesWaitLog",0,function(e){try{let t=function(e=process.env){return(0,i.waitLogPath)(e)}();r.default.mkdirSync(s.default.dirname(t),{recursive:!0}),r.default.appendFileSync(t,JSON.stringify({at:new Date().toISOString(),...e})+"\n")}catch(e){console.error("wait log failed",e)}},"hermesChat",0,u,"hermesFreshSessionIdForBot",0,function(e,r){return`${o(e,r)}-x-${(0,t.randomUUID)()}`},"hermesProfilePathForBot",0,function(e){let t=(e.hermes_profile||"").trim();if(!t)return n;let r=t.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"");return r?`/p/${r}${n}`:n},"hermesSessionIdForBot",0,o,"loadHermesConfig",0,function(e=process.env){var t;let r,s=(e.HERMES_API_SERVER_KEY||"").trim();if(!s)return null;let i=(e.HERMES_BASE_URL||"").trim()||"http://127.0.0.1:8642",n=(e.HERMES_SESSION_PREFIX||"").trim()||"botmancer-specialist-",a=(e.HERMES_MODEL||"").trim()||"hermes";return{baseUrl:i.replace(/\/+$/,""),apiKey:s,timeoutMs:(r=Number(t=e.HERMES_TIMEOUT_MS),void 0!==t&&""!==t&&Number.isFinite(r)&&r>0?Math.floor(r):24e4),sessionPrefix:n,model:a}}])},46309,e=>{"use strict";function t(e,t){return t.at-e.at||t.tie-e.tie||(e.id<t.id?-1:+(e.id>t.id))}function r(e,t){return Buffer.from(JSON.stringify({s:e,a:t.at,t:t.tie,i:t.id}),"utf8").toString("base64url")}class s extends Error{constructor(){super("cursor is not a cursor of this list."),this.name="InvalidPageCursorError"}}function i(e,t){let r;if(null===t||""===t)return null;if(t.length>1024)throw new s;try{r=JSON.parse(Buffer.from(t,"base64url").toString("utf8"))}catch{throw new s}if(!r||r.s!==e||"number"!=typeof r.a||"number"!=typeof r.t||"string"!=typeof r.i)throw new s;return{at:r.a,tie:r.t,id:r.i}}e.s(["InvalidPageCursorError",0,s,"decodePageCursor",0,i,"encodePageCursor",0,r,"paginateRows",0,function(e,s,n,a,o){let l=i(e,a),u=[...s].sort((e,r)=>t(n(e),n(r))),d=l?u.filter(e=>t(n(e),l)>0):u,_=d.slice(0,o),c=d.length>o?r(e,n(_[_.length-1])):null;return{items:_,next_cursor:c}}])},90027,e=>{"use strict";var t=e.i(54799),r=e.i(62349),s=e.i(28420),i=e.i(46309);let n=["active","ended","all"];function a(e){return"string"==typeof e&&n.includes(e)}let o=["implementation","revision"],l=`
|
|
2
|
+
SELECT b.*, bot.name AS agent_name, bot.agent AS agent_runtime, r.id AS origin_request_id, c.id AS origin_conversation_id,
|
|
3
|
+
c.type AS conversation_type, c.bot_id AS conversation_bot_id, tb.name AS thread_agent_name, g.name AS group_name,
|
|
4
|
+
r.intent AS request_intent, r.execution_kind AS request_kind, r.state AS request_state,
|
|
5
|
+
r.source_conversation_id AS request_conversation_id, r.target_agent_id AS request_target_agent_id,
|
|
6
|
+
r.requester_kind AS request_requester_kind, rb.name AS requester_agent_name,
|
|
7
|
+
sa.launch_snapshot AS source_snapshot, sa.finished_at AS source_finished_at,
|
|
8
|
+
(SELECT MAX(COALESCE(ra.finished_at, ra.started_at)) FROM work_attempts ra WHERE ra.resumed_session_binding_id = b.id) AS resumed_last_at,
|
|
9
|
+
EXISTS (SELECT 1 FROM work_attempts oa WHERE oa.resumed_session_binding_id = b.id AND oa.finished_at IS NULL) AS attempt_running,
|
|
10
|
+
ps.availability AS ps_availability, ps.lifecycle AS ps_lifecycle, ps.resumable AS ps_resumable, ps.busy AS ps_busy,
|
|
11
|
+
ps.workspace AS ps_workspace, ps.last_synced_at AS ps_synced_at,
|
|
12
|
+
EXISTS (SELECT 1 FROM provider_session_turns pt WHERE pt.session_ref = ps.id AND pt.state = 'running') AS ps_running
|
|
13
|
+
FROM session_bindings b
|
|
14
|
+
JOIN bots bot ON bot.id = b.agent_id
|
|
15
|
+
LEFT JOIN provider_sessions ps ON ps.binding_id = b.id
|
|
16
|
+
LEFT JOIN work_attempts sa ON sa.id = b.source_attempt_id
|
|
17
|
+
LEFT JOIN work_requests r ON r.id = COALESCE(b.request_id, sa.request_id)
|
|
18
|
+
LEFT JOIN bots rb ON r.requester_kind = 'bot' AND rb.id = r.requester_id
|
|
19
|
+
LEFT JOIN conversations c ON c.id = COALESCE(b.conversation_id, r.source_conversation_id)
|
|
20
|
+
LEFT JOIN bots tb ON tb.id = c.bot_id
|
|
21
|
+
LEFT JOIN groups g ON g.id = c.group_id
|
|
22
|
+
`,u=`
|
|
23
|
+
SELECT ps.id, ps.agent_id, bot.name AS agent_name, ps.provider_kind, ps.title, ps.workspace,
|
|
24
|
+
ps.provider_created_at, ps.provider_updated_at, ps.availability, ps.lifecycle, ps.resumable, ps.busy,
|
|
25
|
+
ps.last_synced_at, ps.created_at, ps.updated_at,
|
|
26
|
+
(SELECT MAX(COALESCE(t.finished_at, t.created_at)) FROM provider_session_turns t WHERE t.session_ref = ps.id) AS turn_last_at,
|
|
27
|
+
EXISTS (SELECT 1 FROM provider_session_turns t WHERE t.session_ref = ps.id AND t.state = 'running') AS running
|
|
28
|
+
FROM provider_sessions ps
|
|
29
|
+
JOIN bots bot ON bot.id = ps.agent_id
|
|
30
|
+
WHERE ps.binding_id IS NULL
|
|
31
|
+
`;function d(e){return`${new Date(e).toISOString().slice(0,16).replace("T"," ")} UTC`}function _(e,t){let r=e?.[t];return"string"==typeof r&&r.trim().length>0?r:null}function c(e){let t=e.origin_conversation_id;return t?"group"===e.conversation_type?{id:t,kind:"group",label:e.group_name?`Shared \xb7 ${e.group_name}`:"Shared thread",thread_agent_id:null}:"bot"===e.conversation_type&&e.conversation_bot_id?{id:t,kind:"direct",label:e.thread_agent_name?`${e.thread_agent_name} thread`:"Agent thread",thread_agent_id:e.thread_agent_name?e.conversation_bot_id:null}:{id:t,kind:"agent_api",label:"Agent API conversation",thread_agent_id:null}:null}function p(e,t=(0,s.emptyUsage)()){let i,n=null;try{n=e.source_snapshot?JSON.parse(e.source_snapshot):null}catch{}let a=c(e),l=null===e.released_at?"active":"ended",u=((i=(e.request_intent??"").split("\n").map(e=>e.trim()).find(e=>e.length>0))?i.length>80?`${i.slice(0,79).trimEnd()}…`:i:null)??(a?.kind==="group"?a.label:null)??`${e.agent_name} \xb7 ${d(e.created_at)}`;return{ref:e.id,source:"botmancers",agent:{id:e.agent_id,name:e.agent_name,adapter:e.adapter,transport:_(n,"transport")},title:u,status:l,resumable:null===e.released_at&&null!==e.request_id&&null!==e.request_kind&&o.includes(e.request_kind)&&e.request_target_agent_id===e.agent_id&&(e.conversation_id??"")===(e.request_conversation_id??"")&&e.adapter===(0,r.resolveAgent)({agent:e.agent_runtime}).agent,state:{availability:e.ps_availability??"available",lifecycle:e.ps_lifecycle??"open",resumable:null===e.ps_resumable||void 0===e.ps_resumable?null:1===e.ps_resumable,busy:1===e.ps_busy||!!e.attempt_running||!!e.ps_running,synced_at:e.ps_synced_at??null},created_at:e.created_at,ended_at:e.released_at,last_activity_at:Math.max(e.created_at,e.released_at??0,e.source_finished_at??0,e.resumed_last_at??0),origin:{conversation:a,work_request:e.origin_request_id&&e.request_kind&&e.request_state?{id:e.origin_request_id,execution_kind:e.request_kind,state:e.request_state,requester:{kind:e.request_requester_kind??"service",name:"bot"===e.request_requester_kind?e.requester_agent_name:null}}:null},context:{workspace:_(n,"cwd")??e.ps_workspace??null},usage:t}}function m(e,t=(0,s.emptyUsage)()){var r;let i=e.provider_created_at??e.created_at,n=null===e.resumable?null:1===e.resumable,a="archived"===e.lifecycle?e.provider_updated_at??e.updated_at:null,o=(e.title??"").trim().length>0?e.title:null,l=(r=e.workspace)?r.split("/").filter(e=>e.length>0).pop()??null:null;return{ref:e.id,source:"native",agent:{id:e.agent_id,name:e.agent_name,adapter:e.provider_kind,transport:null},title:o??(l?`${l} \xb7 ${d(i)}`:`${e.agent_name} \xb7 ${d(i)}`),status:"open"===e.lifecycle?"active":"ended",resumable:!1,state:{availability:e.availability,lifecycle:e.lifecycle,resumable:n,busy:1===e.busy||!!e.running,synced_at:e.last_synced_at},created_at:i,ended_at:a,last_activity_at:Math.max(i,e.provider_updated_at??0,e.turn_last_at??0),origin:{conversation:null,work_request:null},context:{workspace:e.workspace},usage:t}}function g(e,t){return t.last_activity_at-e.last_activity_at||t.created_at-e.created_at||(e.ref<t.ref?-1:+(e.ref>t.ref))}function f(e,t,r="all"){let i=e.prepare(`${l} WHERE b.agent_id = ? ${"active"===r?"AND b.released_at IS NULL":"ended"===r?"AND b.released_at IS NOT NULL":""}`).all(t),n=e.prepare(`${u} AND ps.agent_id = ? ${"active"===r?"AND ps.lifecycle = 'open'":"ended"===r?"AND ps.lifecycle = 'archived'":""}`).all(t),a=(0,s.agentSessionUsage)(e,t);return[...i.map(e=>p(e,a.get(e.id))),...n.map(e=>m(e,a.get(e.id)))].sort(g)}let b=Object.freeze({default:50,max:200});function E(e,t,r){return e.prepare(`${u} AND ps.id = ? AND ps.agent_id = ?`).get(r,t)}function S(e,t,r){return e.prepare(`${l} WHERE b.id = ? AND b.agent_id = ?`).get(r,t)}e.s(["agentExists",0,function(e,t){return!!e.prepare("SELECT 1 FROM bots WHERE id = ?").get(t)},"conversationRef",0,function(e,t){let r=e.prepare(`
|
|
32
|
+
SELECT c.id AS origin_conversation_id, c.type AS conversation_type, c.bot_id AS conversation_bot_id,
|
|
33
|
+
tb.name AS thread_agent_name, g.name AS group_name
|
|
34
|
+
FROM conversations c
|
|
35
|
+
LEFT JOIN bots tb ON tb.id = c.bot_id
|
|
36
|
+
LEFT JOIN groups g ON g.id = c.group_id
|
|
37
|
+
WHERE c.id = ?
|
|
38
|
+
`).get(t);return r?c(r):null},"getAgentSession",0,function(e,t,r){let i=S(e,t,r);if(!i){let i=E(e,t,r);if(!i)return;let{usage:n,samples:a}=(0,s.sessionUsageSamples)(e,t,r);return{...m(i,n),attempts:[],usage_samples:a}}let n=e.prepare(`
|
|
39
|
+
SELECT a.attempt_number, a.kind, a.request_id, a.outcome, a.started_at, a.finished_at,
|
|
40
|
+
CASE WHEN a.id = ? THEN 'source' ELSE 'resume' END AS role
|
|
41
|
+
FROM work_attempts a
|
|
42
|
+
WHERE a.id = ? OR a.resumed_session_binding_id = ?
|
|
43
|
+
ORDER BY a.started_at ASC, a.id ASC
|
|
44
|
+
`).all(i.source_attempt_id,i.source_attempt_id,i.id),{usage:a,samples:o}=(0,s.sessionUsageSamples)(e,t,r);return{...p(i,a),attempts:n,usage_samples:o}},"isSessionFilter",0,a,"listAgentSessionPage",0,function(e,r,s={}){let n=s.status??"all";if(!a(n))throw Error("status must be active, ended, or all.");let o=s.limit??b.default;if(!Number.isInteger(o)||o<1)throw Error("limit must be a positive integer.");let l=(s.q??"").trim().toLowerCase(),u=s.workspace??"",d=f(e,r,n).filter(e=>(""===l||e.title.toLowerCase().includes(l))&&(""===u||e.context.workspace===u)),_=`owner-sessions:${r}:${n}:${(0,t.createHash)("sha256").update(JSON.stringify([l,u])).digest("hex")}`,c=(0,i.paginateRows)(_,d,e=>({at:e.last_activity_at,tie:e.created_at,id:e.ref}),s.cursor??null,o);return{sessions:c.items,next_cursor:c.next_cursor}},"listAgentSessions",0,f,"parseSessionListLimit",0,function(e){if(null===e||""===e)return b.default;if(!/^\d+$/.test(e)||1>Number(e))throw Error("limit must be a positive integer.");return Math.min(Number(e),b.max)},"sessionDebugExternalId",0,function(e,t,r){let s=S(e,t,r)?.external_session_id;if(void 0!==s)return s;if(!E(e,t,r))return;let i=e.prepare("SELECT provider_session_id FROM provider_sessions WHERE id = ? AND agent_id = ?").get(r,t);return i?.provider_session_id},"sessionTitle",0,function(e,t,r){let s=S(e,t,r);if(s)return p(s).title;let i=E(e,t,r);return i?m(i).title:null}],90027)}];
|
|
45
|
+
|
|
46
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__1n7hlu8._.js.map
|
|
@@ -45,6 +45,6 @@ module.exports=[57007,e=>{"use strict";var t=e.i(62294),a=e.i(52036);e.i(54799),
|
|
|
45
45
|
);
|
|
46
46
|
CREATE UNIQUE INDEX IF NOT EXISTS idx_slack_questions_turn ON slack_questions(share_ref, turn_ref) WHERE turn_ref IS NOT NULL;
|
|
47
47
|
CREATE INDEX IF NOT EXISTS idx_slack_questions_state ON slack_questions(state, created_at);
|
|
48
|
-
`),e.i(90440),e.i(82554);let r=Symbol.for("botmancers.slack-runtime"),n=globalThis;async function s(){let e="ok";try{t.default.prepare("SELECT 1").get()}catch{e="error"}return Response.json({status:"ok"===e?"ok":"degraded",service:"botmancers-core",version:"0.10.
|
|
48
|
+
`),e.i(90440),e.i(82554);let r=Symbol.for("botmancers.slack-runtime"),n=globalThis;async function s(){let e="ok";try{t.default.prepare("SELECT 1").get()}catch{e="error"}return Response.json({status:"ok"===e?"ok":"degraded",service:"botmancers-core",version:"0.10.2",commit:"ad62fd3e2e4406cfc45155bafa11010a7d674fab",engine:e,home:(0,a.botmancersHome)(),slack:{...(!n[r]&&(n[r]={status:{state:"stopped",reason:null,since:Date.now(),connections:0},relay:null,clients:null,stop:null,starting:null}),n[r]).status}},{status:"ok"===e?200:503,headers:{"cache-control":"no-store"}})}e.s(["GET",0,s,"dynamic",0,"force-dynamic"],57007)},61370,e=>{"use strict";var t=e.i(47909),a=e.i(74017),r=e.i(96250),n=e.i(59756),s=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),c=e.i(47587),p=e.i(66012),T=e.i(70101),h=e.i(26937),E=e.i(10372),_=e.i(93695),N=e.i(9580);e.i(52474);var R=e.i(220);let v=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/health/route",pathname:"/api/health",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/health/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(57007),...{}}),{workAsyncStorage:m,workUnitAsyncStorage:f,serverHooks:g}=v;async function L(e,t,r){r.requestMeta&&(0,n.setRequestMeta)(e,r.requestMeta),v.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let m="/api/health/route";m=m.replace(/\/index$/,"")||"/";let f=await v.prepare(e,t,{srcPage:m,multiZoneDraftMode:!1});if(!f)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:g,deploymentId:L,params:C,nextConfig:w,parsedUrl:O,isDraftMode:I,prerenderManifest:y,routerServerContext:U,isOnDemandRevalidate:A,revalidateOnlyGenerated:S,resolvedPathname:x,clientReferenceManifest:b,serverActionsManifest:X}=f,k=(0,o.normalizeAppPath)(m),P=!!y.routes[x]&&(v.isDev||(0,N.isRouteCacheOwner)(x,v.cacheOwner,y.routes[x])),q=!!(y.dynamicRoutes[k]||P),H=async()=>((null==U?void 0:U.render404)?await U.render404(e,t,O,!1):t.end("This page could not be found"),null);if(q&&!I){let e=y.dynamicRoutes[k];if(e&&!1===e.fallback&&!P){if(w.adapterPath)return await H();throw new _.NoFallbackError}}let M=null;!q||v.isDev||I||(M="/index"===(M=x)?"/":M);let D=!0===v.isDev||!q,K=q&&!D;X&&b&&(0,i.setManifestsSingleton)({page:m,clientReferenceManifest:b,serverActionsManifest:X});let F=e.method||"GET",G=(0,s.getTracer)(),j=G.getActiveScopeSpan(),B=!!(null==U?void 0:U.isWrappedByNextServer),$=!!(0,n.getRequestMeta)(e,"minimalMode"),Y=(0,n.getRequestMeta)(e,"incrementalCache")||await v.getIncrementalCache(e,w,y,$);null==Y||Y.resetRequestCache(),globalThis.__incrementalCache=Y;let Q={params:C,previewProps:y.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts,useCacheTimeout:w.experimental.useCacheTimeout},cacheComponents:!!w.cacheComponents,validationLevel:w.experimental.instantInsights.validationLevel,isDraftMode:I,supportsDynamicResponse:D,incrementalCache:Y,hmrRefreshHash:(0,n.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:w.cacheLife,staticPageGenerationTimeout:w.staticPageGenerationTimeout,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>v.onRequestError(e,t,r,n,U)},sharedContext:{buildId:g,deploymentId:L}},V=new l.NodeNextRequest(e),W=new l.NodeNextResponse(t),z=d.NextRequestAdapter.fromNodeNextRequest(V,(0,d.signalFromNodeResponse)(t)),Z=async({previousCacheEntry:a})=>{try{if(!$&&A&&S&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await v.handle(z,Q);e.fetchMetrics=Q.renderOpts.fetchMetrics;let s=Q.renderOpts.pendingWaitUntil;s&&r.waitUntil&&(r.waitUntil(s),s=void 0);let i=Q.renderOpts.collectedTags;if(!q)return await (0,p.sendResponse)(V,W,n,s),null;{let e=await n.blob(),t=(0,T.toNodeOutgoingHttpHeaders)(n.headers);i&&(t[E.NEXT_CACHE_TAGS_HEADER]=i),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==Q.renderOpts.collectedRevalidate&&!(Q.renderOpts.collectedRevalidate>=E.INFINITE_CACHE)&&Q.renderOpts.collectedRevalidate,r=void 0===Q.renderOpts.collectedExpire||Q.renderOpts.collectedExpire>=E.INFINITE_CACHE?!1!==a&&a>0?w.expireTime:void 0:Q.renderOpts.collectedExpire;return{value:{kind:R.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==a?void 0:a.isStale)&&await v.onRequestError(e,t,{routerKind:"App Router",routePath:m,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:K,isOnDemandRevalidate:A})},!1,U),t}},J=async(n,i)=>{try{var o,l;let n=await v.handleResponse({req:e,nextConfig:w,cacheKey:M,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:y,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:S,responseGenerator:Z,waitUntil:r.waitUntil,isMinimalMode:$});if(!q)return;if((null==n||null==(o=n.value)?void 0:o.kind)!==R.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==n||null==(l=n.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});$||t.setHeader("x-nextjs-cache",A?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),I&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let s=(0,T.fromNodeOutgoingHttpHeaders)(n.value.headers);$&&q||s.delete(E.NEXT_CACHE_TAGS_HEADER),!n.cacheControl||t.getHeader("Cache-Control")||s.get("Cache-Control")||s.set("Cache-Control",(0,h.getCacheControlHeader)(n.cacheControl)),await (0,p.sendResponse)(V,W,new Response(n.value.body,{headers:s,status:n.value.status||200}));return}catch(t){if(t instanceof _.NoFallbackError||await v.onRequestError(e,t,{routerKind:"App Router",routePath:k,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:K,isOnDemandRevalidate:A})},!1,U),q)throw t;await (0,p.sendResponse)(V,W,new Response(null,{status:500}));return}finally{(()=>{if(!n)return;let e=t.statusCode;n.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(n.setStatus({code:s.SpanStatusCode.ERROR}),n.setAttribute("error.type",e.toString()));let a=G.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==u.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route")||k,o=`${F} ${r}`;n.setAttributes({"next.route":r,"http.route":r,"next.span_name":o}),n.updateName(o),i&&i!==n&&(i.setAttribute("http.route",r),i.updateName(o))})()}};if(B&&j)await J(j,void 0);else{let t=G.getActiveScopeSpan();await G.withPropagatedContext(e.headers,()=>G.trace(u.BaseServerSpan.handleRequest,{spanName:`${F} ${m}`,kind:s.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},e=>J(e,t)),void 0,!B)}}e.s(["handler",0,L,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:m,workUnitAsyncStorage:f})},"routeModule",0,v,"serverHooks",0,g,"workAsyncStorage",0,m,"workUnitAsyncStorage",0,f])}];
|
|
49
49
|
|
|
50
50
|
//# sourceMappingURL=_0061c2q._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[25180,e=>{"use strict";var t=e.i(69936);async function n(e,{params:r}){let{agentId:a,conversationId:i}=await r;return(0,t.handleGetConversation)(e,a,i)}e.s(["GET",0,n])},35209,e=>{"use strict";var t=e.i(47909),n=e.i(74017),r=e.i(96250),a=e.i(59756),i=e.i(61916),o=e.i(74677),s=e.i(69741),l=e.i(16795),c=e.i(87718),u=e.i(95169),d=e.i(47587),p=e.i(66012),h=e.i(70101),g=e.i(26937),v=e.i(10372),f=e.i(93695),R=e.i(9580);e.i(52474);var m=e.i(220);let w=new t.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/v0/agents/[agentId]/conversations/[conversationId]/route",pathname:"/api/v0/agents/[agentId]/conversations/[conversationId]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/v0/agents/[agentId]/conversations/[conversationId]/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(25180),...{}}),{workAsyncStorage:E,workUnitAsyncStorage:y,serverHooks:A}=w;async function C(e,t,r){r.requestMeta&&(0,a.setRequestMeta)(e,r.requestMeta),w.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let E="/api/v0/agents/[agentId]/conversations/[conversationId]/route";E=E.replace(/\/index$/,"")||"/";let y=await w.prepare(e,t,{srcPage:E,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:A,deploymentId:C,params:_,nextConfig:T,parsedUrl:b,isDraftMode:I,prerenderManifest:x,routerServerContext:S,isOnDemandRevalidate:P,revalidateOnlyGenerated:q,resolvedPathname:N,clientReferenceManifest:k,serverActionsManifest:O}=y,M=(0,s.normalizeAppPath)(E),K=!!x.routes[N]&&(w.isDev||(0,R.isRouteCacheOwner)(N,w.cacheOwner,x.routes[N])),H=!!(x.dynamicRoutes[M]||K),j=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,b,!1):t.end("This page could not be found"),null);if(H&&!I){let e=x.dynamicRoutes[M];if(e&&!1===e.fallback&&!K){if(T.adapterPath)return await j();throw new f.NoFallbackError}}let D=null;!H||w.isDev||I||(D="/index"===(D=N)?"/":D);let $=!0===w.isDev||!H,U=H&&!$;O&&k&&(0,o.setManifestsSingleton)({page:E,clientReferenceManifest:k,serverActionsManifest:O});let F=e.method||"GET",B=(0,i.getTracer)(),G=B.getActiveScopeSpan(),L=!!(null==S?void 0:S.isWrappedByNextServer),V=!!(0,a.getRequestMeta)(e,"minimalMode"),X=(0,a.getRequestMeta)(e,"incrementalCache")||await w.getIncrementalCache(e,T,x,V);null==X||X.resetRequestCache(),globalThis.__incrementalCache=X;let z={params:_,previewProps:x.preview,renderOpts:{experimental:{authInterrupts:!!T.experimental.authInterrupts,useCacheTimeout:T.experimental.useCacheTimeout},cacheComponents:!!T.cacheComponents,validationLevel:T.experimental.instantInsights.validationLevel,isDraftMode:I,supportsDynamicResponse:$,incrementalCache:X,hmrRefreshHash:(0,a.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:T.cacheLife,staticPageGenerationTimeout:T.staticPageGenerationTimeout,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,n,r,a)=>w.onRequestError(e,t,r,a,S)},sharedContext:{buildId:A,deploymentId:C}},W=new l.NodeNextRequest(e),Z=new l.NodeNextResponse(t),Y=c.NextRequestAdapter.fromNodeNextRequest(W,(0,c.signalFromNodeResponse)(t)),J=async({previousCacheEntry:n})=>{try{if(!V&&P&&q&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await w.handle(Y,z);e.fetchMetrics=z.renderOpts.fetchMetrics;let i=z.renderOpts.pendingWaitUntil;i&&r.waitUntil&&(r.waitUntil(i),i=void 0);let o=z.renderOpts.collectedTags;if(!H)return await (0,p.sendResponse)(W,Z,a,i),null;{let e=await a.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(a.headers);o&&(t[v.NEXT_CACHE_TAGS_HEADER]=o),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let n=void 0!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,r=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=v.INFINITE_CACHE?!1!==n&&n>0?T.expireTime:void 0:z.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:n,expire:r}}}}catch(t){throw(null==n?void 0:n.isStale)&&await w.onRequestError(e,t,{routerKind:"App Router",routePath:E,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:P})},!1,S),t}},Q=async(a,o)=>{try{var s,l;let a=await w.handleResponse({req:e,nextConfig:T,cacheKey:D,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:x,isRoutePPREnabled:!1,isOnDemandRevalidate:P,revalidateOnlyGenerated:q,responseGenerator:J,waitUntil:r.waitUntil,isMinimalMode:V});if(!H)return;if((null==a||null==(s=a.value)?void 0:s.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==a||null==(l=a.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});V||t.setHeader("x-nextjs-cache",P?"REVALIDATED":a.isMiss?"MISS":a.isStale?"STALE":"HIT"),I&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let i=(0,h.fromNodeOutgoingHttpHeaders)(a.value.headers);V&&H||i.delete(v.NEXT_CACHE_TAGS_HEADER),!a.cacheControl||t.getHeader("Cache-Control")||i.get("Cache-Control")||i.set("Cache-Control",(0,g.getCacheControlHeader)(a.cacheControl)),await (0,p.sendResponse)(W,Z,new Response(a.value.body,{headers:i,status:a.value.status||200}));return}catch(t){if(t instanceof f.NoFallbackError||await w.onRequestError(e,t,{routerKind:"App Router",routePath:M,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:P})},!1,S),H)throw t;await (0,p.sendResponse)(W,Z,new Response(null,{status:500}));return}finally{(()=>{if(!a)return;let e=t.statusCode;a.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(a.setStatus({code:i.SpanStatusCode.ERROR}),a.setAttribute("error.type",e.toString()));let n=B.getRootSpanAttributes();if(!n)return;if(n.get("next.span_type")!==u.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${n.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=n.get("next.route")||M,s=`${F} ${r}`;a.setAttributes({"next.route":r,"http.route":r,"next.span_name":s}),a.updateName(s),o&&o!==a&&(o.setAttribute("http.route",r),o.updateName(s))})()}};if(L&&G)await Q(G,void 0);else{let t=B.getActiveScopeSpan();await B.withPropagatedContext(e.headers,()=>B.trace(u.BaseServerSpan.handleRequest,{spanName:`${F} ${E}`,kind:i.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},e=>Q(e,t)),void 0,!L)}}e.s(["handler",0,C,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:y})},"routeModule",0,w,"serverHooks",0,A,"workAsyncStorage",0,E,"workUnitAsyncStorage",0,y])},43345,e=>{"use strict";var t=e.i(62294),n=e.i(26571),r=e.i(45383);let a=["authentication_unavailable","unauthenticated","principal_mismatch","agent_not_found","conversation_not_found","request_not_found"];async function i(e,n){let i,o=null,s=!1,l=null;try{i=await e(e=>{o=e},()=>{let e=o;n&&e&&"service"===e.kind&&t.serviceAudit.append({principal:e,operation:n.operation,capability:"participant",targetKind:n.targetKind,targetRef:n.targetRef,outcome:"allowed",code:null}),s=!0})}catch(e){if(e instanceof r.AgentApiError)l=e.code,i=Response.json({error:{code:e.code,message:e.message}},{status:e.status});else console.error("Agent conversation API error:",e),l="internal_error",i=Response.json({error:{code:"internal_error",message:"The request could not be processed."}},{status:500})}let c=o;if(s&&null===l)return i;if(n&&c&&"service"===c.kind)try{t.serviceAudit.append({principal:c,operation:n.operation,capability:"participant",targetKind:n.targetKind,targetRef:n.targetRef,outcome:null===l?"allowed":"internal_error"===l?"error":a.includes(l)?"denied":"rejected",code:l})}catch(e){return console.error("Service audit append failed:",e instanceof Error?e.message:"unknown error"),Response.json({error:{code:"internal_error",message:"The request could not be processed."}},{status:500})}return i}async function o(e){let t,a=function(){try{return(0,n.serviceTokenAuthenticatorFromEnv)()}catch(e){if(e instanceof n.ServiceTokenConfigError)return console.error(`Agent API authentication disabled: ${e.message}`),null;throw e}}();if(!a)throw new r.AgentApiError("authentication_unavailable","No authenticator is configured for the agent conversation API.");try{t=await a(e)}catch{t=null}if(!t||!(0,r.isPrincipalKind)(t.kind)||"string"!=typeof t.id||!t.id.trim())throw new r.AgentApiError("unauthenticated","Authentication failed.");return{kind:t.kind,id:t.id}}async function s(e,t){return i(async(n,a)=>{var i;let s,l=await o(e);n(l);try{let t=await e.json();if(!t||"object"!=typeof t||Array.isArray(t))throw Error("not an object");s=t}catch{throw new r.AgentApiError("invalid_request","The request body must be a JSON object.")}let c=null==(i=s.principal)?null:{kind:i.kind,id:String(i.id??"")};if(c&&!(0,r.samePrincipal)(c,l))throw new r.AgentApiError("principal_mismatch","The declared principal does not match the authenticated principal.");let u=e.headers.get("idempotency-key"),d="string"==typeof s.idempotencyKey?s.idempotencyKey:null;if(u&&d&&u!==d)throw new r.AgentApiError("invalid_request","Idempotency-Key header and body idempotencyKey differ.");let p=u??d??"";if(p.toLowerCase().startsWith(r.MCP_IDEMPOTENCY_PREFIX))throw new r.AgentApiError("invalid_request",`Idempotency keys starting with "${r.MCP_IDEMPOTENCY_PREFIX}" are reserved for the MCP bridge.`);let{accepted:h,dispatched:g}=(0,r.acceptAgentMessage)(l,{agentId:t,content:"string"==typeof s.content?s.content:"",idempotencyKey:p,conversationId:"string"==typeof s.conversationId?s.conversationId:null==s.conversationId?null:""},a);return!0===s.wait?(await g,Response.json({...(0,r.getAgentRequest)(l,h.requestId),replayed:h.replayed})):Response.json(h,{status:h.replayed?200:202})},{operation:"agents.message",targetKind:"agent",targetRef:t})}async function l(e,t){return i(async n=>{let a=await o(e);return n(a),Response.json((0,r.getConversation)(a,t))},{operation:"conversations.read",targetKind:"conversation",targetRef:t})}async function c(e,t){return i(async n=>{let a=await o(e);return n(a),Response.json((0,r.getAgentRequest)(a,t))},{operation:"requests.read",targetKind:"request",targetRef:t})}e.s(["authenticate",0,o,"handleGetAgentRequest",0,c,"handleGetConversation",0,l,"handleSendAgentMessage",0,s])},26571,e=>{"use strict";var t=e.i(54799);let n="BOTMANCERS_SERVICE_TOKENS",r=["botmancers-exchanges","botmancers-engine","botmancers-session-share","botmancers-session-context"],a=/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/,i=/^sha256:([0-9a-f]{64})$/;class o extends Error{constructor(e){super(e),this.name="ServiceTokenConfigError"}}e.s(["RESERVED_SERVICE_IDS",0,r,"ServiceTokenConfigError",0,o,"serviceTokenAuthenticatorFromEnv",0,function(e=process.env){let s=function(e){if(!e||!e.trim())return[];let t=[],s=new Set;for(let l of e.split(/[,\s]+/).filter(Boolean)){let e=l.indexOf("="),c=e>0?l.slice(0,e):"",u=i.exec(e>0?l.slice(e+1).toLowerCase():"");if(!a.test(c)||!u)throw new o(`${n} entries must be <service-id>=sha256:<64 hex digits>.`);if(s.has(c))throw new o(`${n} lists service ${c} twice.`);if(r.includes(c))throw new o(`${n} names the reserved engine principal ${c}.`);s.add(c),t.push({serviceId:c,digest:Buffer.from(u[1],"hex")})}return t}(e[n]);return s.length?e=>{let n,r,a=(r=(n=e.headers.get("authorization"))?/^Bearer[ \t]+(\S+)[ \t]*$/i.exec(n):null)?r[1]:null;if(!a||a.length>4096)return null;let i=(0,t.createHash)("sha256").update(a,"utf8").digest(),o=null;for(let e of s)(0,t.timingSafeEqual)(i,e.digest)&&null===o&&(o=e.serviceId);return o?{kind:"service",id:o}:null}:null}])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_031id45._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[56989,e=>{"use strict";var t=e.i(69936);async function r(e,{params:n}){let{pinRef:a}=await n;return(0,t.handleDetachPin)(e,a)}e.s(["POST",0,r])},24761,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),a=e.i(59756),i=e.i(61916),o=e.i(74677),s=e.i(69741),l=e.i(16795),c=e.i(87718),u=e.i(95169),d=e.i(47587),p=e.i(66012),h=e.i(70101),g=e.i(26937),f=e.i(10372),v=e.i(93695),R=e.i(9580);e.i(52474);var m=e.i(220);let w=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/v0/pins/[pinRef]/detach/route",pathname:"/api/v0/pins/[pinRef]/detach",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/v0/pins/[pinRef]/detach/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(56989),...{}}),{workAsyncStorage:E,workUnitAsyncStorage:y,serverHooks:A}=w;async function C(e,t,n){n.requestMeta&&(0,a.setRequestMeta)(e,n.requestMeta),w.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let E="/api/v0/pins/[pinRef]/detach/route";E=E.replace(/\/index$/,"")||"/";let y=await w.prepare(e,t,{srcPage:E,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:A,deploymentId:C,params:_,nextConfig:T,parsedUrl:b,isDraftMode:S,prerenderManifest:x,routerServerContext:P,isOnDemandRevalidate:I,revalidateOnlyGenerated:q,resolvedPathname:N,clientReferenceManifest:O,serverActionsManifest:k}=y,M=(0,s.normalizeAppPath)(E),K=!!x.routes[N]&&(w.isDev||(0,R.isRouteCacheOwner)(N,w.cacheOwner,x.routes[N])),H=!!(x.dynamicRoutes[M]||K),j=async()=>((null==P?void 0:P.render404)?await P.render404(e,t,b,!1):t.end("This page could not be found"),null);if(H&&!S){let e=x.dynamicRoutes[M];if(e&&!1===e.fallback&&!K){if(T.adapterPath)return await j();throw new v.NoFallbackError}}let D=null;!H||w.isDev||S||(D="/index"===(D=N)?"/":D);let $=!0===w.isDev||!H,U=H&&!$;k&&O&&(0,o.setManifestsSingleton)({page:E,clientReferenceManifest:O,serverActionsManifest:k});let F=e.method||"GET",B=(0,i.getTracer)(),L=B.getActiveScopeSpan(),G=!!(null==P?void 0:P.isWrappedByNextServer),V=!!(0,a.getRequestMeta)(e,"minimalMode"),X=(0,a.getRequestMeta)(e,"incrementalCache")||await w.getIncrementalCache(e,T,x,V);null==X||X.resetRequestCache(),globalThis.__incrementalCache=X;let z={params:_,previewProps:x.preview,renderOpts:{experimental:{authInterrupts:!!T.experimental.authInterrupts,useCacheTimeout:T.experimental.useCacheTimeout},cacheComponents:!!T.cacheComponents,validationLevel:T.experimental.instantInsights.validationLevel,isDraftMode:S,supportsDynamicResponse:$,incrementalCache:X,hmrRefreshHash:(0,a.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:T.cacheLife,staticPageGenerationTimeout:T.staticPageGenerationTimeout,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>w.onRequestError(e,t,n,a,P)},sharedContext:{buildId:A,deploymentId:C}},W=new l.NodeNextRequest(e),Z=new l.NodeNextResponse(t),Y=c.NextRequestAdapter.fromNodeNextRequest(W,(0,c.signalFromNodeResponse)(t)),J=async({previousCacheEntry:r})=>{try{if(!V&&I&&q&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await w.handle(Y,z);e.fetchMetrics=z.renderOpts.fetchMetrics;let i=z.renderOpts.pendingWaitUntil;i&&n.waitUntil&&(n.waitUntil(i),i=void 0);let o=z.renderOpts.collectedTags;if(!H)return await (0,p.sendResponse)(W,Z,a,i),null;{let e=await a.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(a.headers);o&&(t[f.NEXT_CACHE_TAGS_HEADER]=o),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,n=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=f.INFINITE_CACHE?!1!==r&&r>0?T.expireTime:void 0:z.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await w.onRequestError(e,t,{routerKind:"App Router",routePath:E,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:I})},!1,P),t}},Q=async(a,o)=>{try{var s,l;let a=await w.handleResponse({req:e,nextConfig:T,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:x,isRoutePPREnabled:!1,isOnDemandRevalidate:I,revalidateOnlyGenerated:q,responseGenerator:J,waitUntil:n.waitUntil,isMinimalMode:V});if(!H)return;if((null==a||null==(s=a.value)?void 0:s.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==a||null==(l=a.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});V||t.setHeader("x-nextjs-cache",I?"REVALIDATED":a.isMiss?"MISS":a.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let i=(0,h.fromNodeOutgoingHttpHeaders)(a.value.headers);V&&H||i.delete(f.NEXT_CACHE_TAGS_HEADER),!a.cacheControl||t.getHeader("Cache-Control")||i.get("Cache-Control")||i.set("Cache-Control",(0,g.getCacheControlHeader)(a.cacheControl)),await (0,p.sendResponse)(W,Z,new Response(a.value.body,{headers:i,status:a.value.status||200}));return}catch(t){if(t instanceof v.NoFallbackError||await w.onRequestError(e,t,{routerKind:"App Router",routePath:M,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:I})},!1,P),H)throw t;await (0,p.sendResponse)(W,Z,new Response(null,{status:500}));return}finally{(()=>{if(!a)return;let e=t.statusCode;a.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(a.setStatus({code:i.SpanStatusCode.ERROR}),a.setAttribute("error.type",e.toString()));let r=B.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route")||M,s=`${F} ${n}`;a.setAttributes({"next.route":n,"http.route":n,"next.span_name":s}),a.updateName(s),o&&o!==a&&(o.setAttribute("http.route",n),o.updateName(s))})()}};if(G&&L)await Q(L,void 0);else{let t=B.getActiveScopeSpan();await B.withPropagatedContext(e.headers,()=>B.trace(u.BaseServerSpan.handleRequest,{spanName:`${F} ${E}`,kind:i.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},e=>Q(e,t)),void 0,!G)}}e.s(["handler",0,C,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:y})},"routeModule",0,w,"serverHooks",0,A,"workAsyncStorage",0,E,"workUnitAsyncStorage",0,y])},43345,e=>{"use strict";var t=e.i(62294),r=e.i(26571),n=e.i(45383);let a=["authentication_unavailable","unauthenticated","principal_mismatch","agent_not_found","conversation_not_found","request_not_found"];async function i(e,r){let i,o=null,s=!1,l=null;try{i=await e(e=>{o=e},()=>{let e=o;r&&e&&"service"===e.kind&&t.serviceAudit.append({principal:e,operation:r.operation,capability:"participant",targetKind:r.targetKind,targetRef:r.targetRef,outcome:"allowed",code:null}),s=!0})}catch(e){if(e instanceof n.AgentApiError)l=e.code,i=Response.json({error:{code:e.code,message:e.message}},{status:e.status});else console.error("Agent conversation API error:",e),l="internal_error",i=Response.json({error:{code:"internal_error",message:"The request could not be processed."}},{status:500})}let c=o;if(s&&null===l)return i;if(r&&c&&"service"===c.kind)try{t.serviceAudit.append({principal:c,operation:r.operation,capability:"participant",targetKind:r.targetKind,targetRef:r.targetRef,outcome:null===l?"allowed":"internal_error"===l?"error":a.includes(l)?"denied":"rejected",code:l})}catch(e){return console.error("Service audit append failed:",e instanceof Error?e.message:"unknown error"),Response.json({error:{code:"internal_error",message:"The request could not be processed."}},{status:500})}return i}async function o(e){let t,a=function(){try{return(0,r.serviceTokenAuthenticatorFromEnv)()}catch(e){if(e instanceof r.ServiceTokenConfigError)return console.error(`Agent API authentication disabled: ${e.message}`),null;throw e}}();if(!a)throw new n.AgentApiError("authentication_unavailable","No authenticator is configured for the agent conversation API.");try{t=await a(e)}catch{t=null}if(!t||!(0,n.isPrincipalKind)(t.kind)||"string"!=typeof t.id||!t.id.trim())throw new n.AgentApiError("unauthenticated","Authentication failed.");return{kind:t.kind,id:t.id}}async function s(e,t){return i(async(r,a)=>{var i;let s,l=await o(e);r(l);try{let t=await e.json();if(!t||"object"!=typeof t||Array.isArray(t))throw Error("not an object");s=t}catch{throw new n.AgentApiError("invalid_request","The request body must be a JSON object.")}let c=null==(i=s.principal)?null:{kind:i.kind,id:String(i.id??"")};if(c&&!(0,n.samePrincipal)(c,l))throw new n.AgentApiError("principal_mismatch","The declared principal does not match the authenticated principal.");let u=e.headers.get("idempotency-key"),d="string"==typeof s.idempotencyKey?s.idempotencyKey:null;if(u&&d&&u!==d)throw new n.AgentApiError("invalid_request","Idempotency-Key header and body idempotencyKey differ.");let p=u??d??"";if(p.toLowerCase().startsWith(n.MCP_IDEMPOTENCY_PREFIX))throw new n.AgentApiError("invalid_request",`Idempotency keys starting with "${n.MCP_IDEMPOTENCY_PREFIX}" are reserved for the MCP bridge.`);let{accepted:h,dispatched:g}=(0,n.acceptAgentMessage)(l,{agentId:t,content:"string"==typeof s.content?s.content:"",idempotencyKey:p,conversationId:"string"==typeof s.conversationId?s.conversationId:null==s.conversationId?null:""},a);return!0===s.wait?(await g,Response.json({...(0,n.getAgentRequest)(l,h.requestId),replayed:h.replayed})):Response.json(h,{status:h.replayed?200:202})},{operation:"agents.message",targetKind:"agent",targetRef:t})}async function l(e,t){return i(async r=>{let a=await o(e);return r(a),Response.json((0,n.getConversation)(a,t))},{operation:"conversations.read",targetKind:"conversation",targetRef:t})}async function c(e,t){return i(async r=>{let a=await o(e);return r(a),Response.json((0,n.getAgentRequest)(a,t))},{operation:"requests.read",targetKind:"request",targetRef:t})}e.s(["authenticate",0,o,"handleGetAgentRequest",0,c,"handleGetConversation",0,l,"handleSendAgentMessage",0,s])},26571,e=>{"use strict";var t=e.i(54799);let r="BOTMANCERS_SERVICE_TOKENS",n=["botmancers-exchanges","botmancers-engine","botmancers-session-share","botmancers-session-context"],a=/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/,i=/^sha256:([0-9a-f]{64})$/;class o extends Error{constructor(e){super(e),this.name="ServiceTokenConfigError"}}e.s(["RESERVED_SERVICE_IDS",0,n,"ServiceTokenConfigError",0,o,"serviceTokenAuthenticatorFromEnv",0,function(e=process.env){let s=function(e){if(!e||!e.trim())return[];let t=[],s=new Set;for(let l of e.split(/[,\s]+/).filter(Boolean)){let e=l.indexOf("="),c=e>0?l.slice(0,e):"",u=i.exec(e>0?l.slice(e+1).toLowerCase():"");if(!a.test(c)||!u)throw new o(`${r} entries must be <service-id>=sha256:<64 hex digits>.`);if(s.has(c))throw new o(`${r} lists service ${c} twice.`);if(n.includes(c))throw new o(`${r} names the reserved engine principal ${c}.`);s.add(c),t.push({serviceId:c,digest:Buffer.from(u[1],"hex")})}return t}(e[r]);return s.length?e=>{let r,n,a=(n=(r=e.headers.get("authorization"))?/^Bearer[ \t]+(\S+)[ \t]*$/i.exec(r):null)?n[1]:null;if(!a||a.length>4096)return null;let i=(0,t.createHash)("sha256").update(a,"utf8").digest(),o=null;for(let e of s)(0,t.timingSafeEqual)(i,e.digest)&&null===o&&(o=e.serviceId);return o?{kind:"service",id:o}:null}:null}])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_04o493a._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[48004,e=>{"use strict";var t=e.i(69936);async function n(e,{params:r}){let{agentId:a}=await r;return(0,t.handleListSessions)(e,a)}e.s(["GET",0,n])},73191,e=>{"use strict";var t=e.i(47909),n=e.i(74017),r=e.i(96250),a=e.i(59756),i=e.i(61916),o=e.i(74677),s=e.i(69741),l=e.i(16795),u=e.i(87718),c=e.i(95169),d=e.i(47587),p=e.i(66012),h=e.i(70101),g=e.i(26937),f=e.i(10372),v=e.i(93695),R=e.i(9580);e.i(52474);var m=e.i(220);let w=new t.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/v0/agents/[agentId]/sessions/route",pathname:"/api/v0/agents/[agentId]/sessions",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/v0/agents/[agentId]/sessions/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(48004),...{}}),{workAsyncStorage:E,workUnitAsyncStorage:y,serverHooks:A}=w;async function C(e,t,r){r.requestMeta&&(0,a.setRequestMeta)(e,r.requestMeta),w.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let E="/api/v0/agents/[agentId]/sessions/route";E=E.replace(/\/index$/,"")||"/";let y=await w.prepare(e,t,{srcPage:E,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:A,deploymentId:C,params:_,nextConfig:T,parsedUrl:b,isDraftMode:S,prerenderManifest:x,routerServerContext:I,isOnDemandRevalidate:P,revalidateOnlyGenerated:q,resolvedPathname:N,clientReferenceManifest:k,serverActionsManifest:O}=y,M=(0,s.normalizeAppPath)(E),K=!!x.routes[N]&&(w.isDev||(0,R.isRouteCacheOwner)(N,w.cacheOwner,x.routes[N])),H=!!(x.dynamicRoutes[M]||K),j=async()=>((null==I?void 0:I.render404)?await I.render404(e,t,b,!1):t.end("This page could not be found"),null);if(H&&!S){let e=x.dynamicRoutes[M];if(e&&!1===e.fallback&&!K){if(T.adapterPath)return await j();throw new v.NoFallbackError}}let D=null;!H||w.isDev||S||(D="/index"===(D=N)?"/":D);let $=!0===w.isDev||!H,U=H&&!$;O&&k&&(0,o.setManifestsSingleton)({page:E,clientReferenceManifest:k,serverActionsManifest:O});let F=e.method||"GET",B=(0,i.getTracer)(),L=B.getActiveScopeSpan(),G=!!(null==I?void 0:I.isWrappedByNextServer),V=!!(0,a.getRequestMeta)(e,"minimalMode"),X=(0,a.getRequestMeta)(e,"incrementalCache")||await w.getIncrementalCache(e,T,x,V);null==X||X.resetRequestCache(),globalThis.__incrementalCache=X;let z={params:_,previewProps:x.preview,renderOpts:{experimental:{authInterrupts:!!T.experimental.authInterrupts,useCacheTimeout:T.experimental.useCacheTimeout},cacheComponents:!!T.cacheComponents,validationLevel:T.experimental.instantInsights.validationLevel,isDraftMode:S,supportsDynamicResponse:$,incrementalCache:X,hmrRefreshHash:(0,a.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:T.cacheLife,staticPageGenerationTimeout:T.staticPageGenerationTimeout,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,n,r,a)=>w.onRequestError(e,t,r,a,I)},sharedContext:{buildId:A,deploymentId:C}},W=new l.NodeNextRequest(e),Z=new l.NodeNextResponse(t),Y=u.NextRequestAdapter.fromNodeNextRequest(W,(0,u.signalFromNodeResponse)(t)),J=async({previousCacheEntry:n})=>{try{if(!V&&P&&q&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await w.handle(Y,z);e.fetchMetrics=z.renderOpts.fetchMetrics;let i=z.renderOpts.pendingWaitUntil;i&&r.waitUntil&&(r.waitUntil(i),i=void 0);let o=z.renderOpts.collectedTags;if(!H)return await (0,p.sendResponse)(W,Z,a,i),null;{let e=await a.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(a.headers);o&&(t[f.NEXT_CACHE_TAGS_HEADER]=o),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let n=void 0!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,r=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=f.INFINITE_CACHE?!1!==n&&n>0?T.expireTime:void 0:z.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:n,expire:r}}}}catch(t){throw(null==n?void 0:n.isStale)&&await w.onRequestError(e,t,{routerKind:"App Router",routePath:E,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:P})},!1,I),t}},Q=async(a,o)=>{try{var s,l;let a=await w.handleResponse({req:e,nextConfig:T,cacheKey:D,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:x,isRoutePPREnabled:!1,isOnDemandRevalidate:P,revalidateOnlyGenerated:q,responseGenerator:J,waitUntil:r.waitUntil,isMinimalMode:V});if(!H)return;if((null==a||null==(s=a.value)?void 0:s.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==a||null==(l=a.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});V||t.setHeader("x-nextjs-cache",P?"REVALIDATED":a.isMiss?"MISS":a.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let i=(0,h.fromNodeOutgoingHttpHeaders)(a.value.headers);V&&H||i.delete(f.NEXT_CACHE_TAGS_HEADER),!a.cacheControl||t.getHeader("Cache-Control")||i.get("Cache-Control")||i.set("Cache-Control",(0,g.getCacheControlHeader)(a.cacheControl)),await (0,p.sendResponse)(W,Z,new Response(a.value.body,{headers:i,status:a.value.status||200}));return}catch(t){if(t instanceof v.NoFallbackError||await w.onRequestError(e,t,{routerKind:"App Router",routePath:M,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:P})},!1,I),H)throw t;await (0,p.sendResponse)(W,Z,new Response(null,{status:500}));return}finally{(()=>{if(!a)return;let e=t.statusCode;a.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(a.setStatus({code:i.SpanStatusCode.ERROR}),a.setAttribute("error.type",e.toString()));let n=B.getRootSpanAttributes();if(!n)return;if(n.get("next.span_type")!==c.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${n.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=n.get("next.route")||M,s=`${F} ${r}`;a.setAttributes({"next.route":r,"http.route":r,"next.span_name":s}),a.updateName(s),o&&o!==a&&(o.setAttribute("http.route",r),o.updateName(s))})()}};if(G&&L)await Q(L,void 0);else{let t=B.getActiveScopeSpan();await B.withPropagatedContext(e.headers,()=>B.trace(c.BaseServerSpan.handleRequest,{spanName:`${F} ${E}`,kind:i.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},e=>Q(e,t)),void 0,!G)}}e.s(["handler",0,C,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:y})},"routeModule",0,w,"serverHooks",0,A,"workAsyncStorage",0,E,"workUnitAsyncStorage",0,y])},43345,e=>{"use strict";var t=e.i(62294),n=e.i(26571),r=e.i(45383);let a=["authentication_unavailable","unauthenticated","principal_mismatch","agent_not_found","conversation_not_found","request_not_found"];async function i(e,n){let i,o=null,s=!1,l=null;try{i=await e(e=>{o=e},()=>{let e=o;n&&e&&"service"===e.kind&&t.serviceAudit.append({principal:e,operation:n.operation,capability:"participant",targetKind:n.targetKind,targetRef:n.targetRef,outcome:"allowed",code:null}),s=!0})}catch(e){if(e instanceof r.AgentApiError)l=e.code,i=Response.json({error:{code:e.code,message:e.message}},{status:e.status});else console.error("Agent conversation API error:",e),l="internal_error",i=Response.json({error:{code:"internal_error",message:"The request could not be processed."}},{status:500})}let u=o;if(s&&null===l)return i;if(n&&u&&"service"===u.kind)try{t.serviceAudit.append({principal:u,operation:n.operation,capability:"participant",targetKind:n.targetKind,targetRef:n.targetRef,outcome:null===l?"allowed":"internal_error"===l?"error":a.includes(l)?"denied":"rejected",code:l})}catch(e){return console.error("Service audit append failed:",e instanceof Error?e.message:"unknown error"),Response.json({error:{code:"internal_error",message:"The request could not be processed."}},{status:500})}return i}async function o(e){let t,a=function(){try{return(0,n.serviceTokenAuthenticatorFromEnv)()}catch(e){if(e instanceof n.ServiceTokenConfigError)return console.error(`Agent API authentication disabled: ${e.message}`),null;throw e}}();if(!a)throw new r.AgentApiError("authentication_unavailable","No authenticator is configured for the agent conversation API.");try{t=await a(e)}catch{t=null}if(!t||!(0,r.isPrincipalKind)(t.kind)||"string"!=typeof t.id||!t.id.trim())throw new r.AgentApiError("unauthenticated","Authentication failed.");return{kind:t.kind,id:t.id}}async function s(e,t){return i(async(n,a)=>{var i;let s,l=await o(e);n(l);try{let t=await e.json();if(!t||"object"!=typeof t||Array.isArray(t))throw Error("not an object");s=t}catch{throw new r.AgentApiError("invalid_request","The request body must be a JSON object.")}let u=null==(i=s.principal)?null:{kind:i.kind,id:String(i.id??"")};if(u&&!(0,r.samePrincipal)(u,l))throw new r.AgentApiError("principal_mismatch","The declared principal does not match the authenticated principal.");let c=e.headers.get("idempotency-key"),d="string"==typeof s.idempotencyKey?s.idempotencyKey:null;if(c&&d&&c!==d)throw new r.AgentApiError("invalid_request","Idempotency-Key header and body idempotencyKey differ.");let p=c??d??"";if(p.toLowerCase().startsWith(r.MCP_IDEMPOTENCY_PREFIX))throw new r.AgentApiError("invalid_request",`Idempotency keys starting with "${r.MCP_IDEMPOTENCY_PREFIX}" are reserved for the MCP bridge.`);let{accepted:h,dispatched:g}=(0,r.acceptAgentMessage)(l,{agentId:t,content:"string"==typeof s.content?s.content:"",idempotencyKey:p,conversationId:"string"==typeof s.conversationId?s.conversationId:null==s.conversationId?null:""},a);return!0===s.wait?(await g,Response.json({...(0,r.getAgentRequest)(l,h.requestId),replayed:h.replayed})):Response.json(h,{status:h.replayed?200:202})},{operation:"agents.message",targetKind:"agent",targetRef:t})}async function l(e,t){return i(async n=>{let a=await o(e);return n(a),Response.json((0,r.getConversation)(a,t))},{operation:"conversations.read",targetKind:"conversation",targetRef:t})}async function u(e,t){return i(async n=>{let a=await o(e);return n(a),Response.json((0,r.getAgentRequest)(a,t))},{operation:"requests.read",targetKind:"request",targetRef:t})}e.s(["authenticate",0,o,"handleGetAgentRequest",0,u,"handleGetConversation",0,l,"handleSendAgentMessage",0,s])},26571,e=>{"use strict";var t=e.i(54799);let n="BOTMANCERS_SERVICE_TOKENS",r=["botmancers-exchanges","botmancers-engine","botmancers-session-share","botmancers-session-context"],a=/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/,i=/^sha256:([0-9a-f]{64})$/;class o extends Error{constructor(e){super(e),this.name="ServiceTokenConfigError"}}e.s(["RESERVED_SERVICE_IDS",0,r,"ServiceTokenConfigError",0,o,"serviceTokenAuthenticatorFromEnv",0,function(e=process.env){let s=function(e){if(!e||!e.trim())return[];let t=[],s=new Set;for(let l of e.split(/[,\s]+/).filter(Boolean)){let e=l.indexOf("="),u=e>0?l.slice(0,e):"",c=i.exec(e>0?l.slice(e+1).toLowerCase():"");if(!a.test(u)||!c)throw new o(`${n} entries must be <service-id>=sha256:<64 hex digits>.`);if(s.has(u))throw new o(`${n} lists service ${u} twice.`);if(r.includes(u))throw new o(`${n} names the reserved engine principal ${u}.`);s.add(u),t.push({serviceId:u,digest:Buffer.from(c[1],"hex")})}return t}(e[n]);return s.length?e=>{let n,r,a=(r=(n=e.headers.get("authorization"))?/^Bearer[ \t]+(\S+)[ \t]*$/i.exec(n):null)?r[1]:null;if(!a||a.length>4096)return null;let i=(0,t.createHash)("sha256").update(a,"utf8").digest(),o=null;for(let e of s)(0,t.timingSafeEqual)(i,e.digest)&&null===o&&(o=e.serviceId);return o?{kind:"service",id:o}:null}:null}])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_06yp-l-._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[15003,e=>{"use strict";var t=e.i(69936);async function r(e,{params:n}){let{agentId:a}=await n;return(0,t.handleGetAgent)(e,a)}e.s(["GET",0,r])},17896,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),a=e.i(59756),i=e.i(61916),o=e.i(74677),s=e.i(69741),l=e.i(16795),u=e.i(87718),c=e.i(95169),d=e.i(47587),p=e.i(66012),h=e.i(70101),g=e.i(26937),f=e.i(10372),v=e.i(93695),R=e.i(9580);e.i(52474);var m=e.i(220);let w=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/v0/agents/[agentId]/route",pathname:"/api/v0/agents/[agentId]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/v0/agents/[agentId]/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(15003),...{}}),{workAsyncStorage:E,workUnitAsyncStorage:y,serverHooks:A}=w;async function C(e,t,n){n.requestMeta&&(0,a.setRequestMeta)(e,n.requestMeta),w.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let E="/api/v0/agents/[agentId]/route";E=E.replace(/\/index$/,"")||"/";let y=await w.prepare(e,t,{srcPage:E,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:A,deploymentId:C,params:_,nextConfig:T,parsedUrl:b,isDraftMode:x,prerenderManifest:S,routerServerContext:I,isOnDemandRevalidate:P,revalidateOnlyGenerated:q,resolvedPathname:N,clientReferenceManifest:k,serverActionsManifest:O}=y,M=(0,s.normalizeAppPath)(E),K=!!S.routes[N]&&(w.isDev||(0,R.isRouteCacheOwner)(N,w.cacheOwner,S.routes[N])),H=!!(S.dynamicRoutes[M]||K),j=async()=>((null==I?void 0:I.render404)?await I.render404(e,t,b,!1):t.end("This page could not be found"),null);if(H&&!x){let e=S.dynamicRoutes[M];if(e&&!1===e.fallback&&!K){if(T.adapterPath)return await j();throw new v.NoFallbackError}}let D=null;!H||w.isDev||x||(D="/index"===(D=N)?"/":D);let $=!0===w.isDev||!H,U=H&&!$;O&&k&&(0,o.setManifestsSingleton)({page:E,clientReferenceManifest:k,serverActionsManifest:O});let F=e.method||"GET",B=(0,i.getTracer)(),G=B.getActiveScopeSpan(),L=!!(null==I?void 0:I.isWrappedByNextServer),V=!!(0,a.getRequestMeta)(e,"minimalMode"),X=(0,a.getRequestMeta)(e,"incrementalCache")||await w.getIncrementalCache(e,T,S,V);null==X||X.resetRequestCache(),globalThis.__incrementalCache=X;let z={params:_,previewProps:S.preview,renderOpts:{experimental:{authInterrupts:!!T.experimental.authInterrupts,useCacheTimeout:T.experimental.useCacheTimeout},cacheComponents:!!T.cacheComponents,validationLevel:T.experimental.instantInsights.validationLevel,isDraftMode:x,supportsDynamicResponse:$,incrementalCache:X,hmrRefreshHash:(0,a.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:T.cacheLife,staticPageGenerationTimeout:T.staticPageGenerationTimeout,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>w.onRequestError(e,t,n,a,I)},sharedContext:{buildId:A,deploymentId:C}},W=new l.NodeNextRequest(e),Z=new l.NodeNextResponse(t),Y=u.NextRequestAdapter.fromNodeNextRequest(W,(0,u.signalFromNodeResponse)(t)),J=async({previousCacheEntry:r})=>{try{if(!V&&P&&q&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await w.handle(Y,z);e.fetchMetrics=z.renderOpts.fetchMetrics;let i=z.renderOpts.pendingWaitUntil;i&&n.waitUntil&&(n.waitUntil(i),i=void 0);let o=z.renderOpts.collectedTags;if(!H)return await (0,p.sendResponse)(W,Z,a,i),null;{let e=await a.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(a.headers);o&&(t[f.NEXT_CACHE_TAGS_HEADER]=o),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,n=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=f.INFINITE_CACHE?!1!==r&&r>0?T.expireTime:void 0:z.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await w.onRequestError(e,t,{routerKind:"App Router",routePath:E,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:P})},!1,I),t}},Q=async(a,o)=>{try{var s,l;let a=await w.handleResponse({req:e,nextConfig:T,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:P,revalidateOnlyGenerated:q,responseGenerator:J,waitUntil:n.waitUntil,isMinimalMode:V});if(!H)return;if((null==a||null==(s=a.value)?void 0:s.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==a||null==(l=a.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});V||t.setHeader("x-nextjs-cache",P?"REVALIDATED":a.isMiss?"MISS":a.isStale?"STALE":"HIT"),x&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let i=(0,h.fromNodeOutgoingHttpHeaders)(a.value.headers);V&&H||i.delete(f.NEXT_CACHE_TAGS_HEADER),!a.cacheControl||t.getHeader("Cache-Control")||i.get("Cache-Control")||i.set("Cache-Control",(0,g.getCacheControlHeader)(a.cacheControl)),await (0,p.sendResponse)(W,Z,new Response(a.value.body,{headers:i,status:a.value.status||200}));return}catch(t){if(t instanceof v.NoFallbackError||await w.onRequestError(e,t,{routerKind:"App Router",routePath:M,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:P})},!1,I),H)throw t;await (0,p.sendResponse)(W,Z,new Response(null,{status:500}));return}finally{(()=>{if(!a)return;let e=t.statusCode;a.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(a.setStatus({code:i.SpanStatusCode.ERROR}),a.setAttribute("error.type",e.toString()));let r=B.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==c.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route")||M,s=`${F} ${n}`;a.setAttributes({"next.route":n,"http.route":n,"next.span_name":s}),a.updateName(s),o&&o!==a&&(o.setAttribute("http.route",n),o.updateName(s))})()}};if(L&&G)await Q(G,void 0);else{let t=B.getActiveScopeSpan();await B.withPropagatedContext(e.headers,()=>B.trace(c.BaseServerSpan.handleRequest,{spanName:`${F} ${E}`,kind:i.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},e=>Q(e,t)),void 0,!L)}}e.s(["handler",0,C,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:y})},"routeModule",0,w,"serverHooks",0,A,"workAsyncStorage",0,E,"workUnitAsyncStorage",0,y])},43345,e=>{"use strict";var t=e.i(62294),r=e.i(26571),n=e.i(45383);let a=["authentication_unavailable","unauthenticated","principal_mismatch","agent_not_found","conversation_not_found","request_not_found"];async function i(e,r){let i,o=null,s=!1,l=null;try{i=await e(e=>{o=e},()=>{let e=o;r&&e&&"service"===e.kind&&t.serviceAudit.append({principal:e,operation:r.operation,capability:"participant",targetKind:r.targetKind,targetRef:r.targetRef,outcome:"allowed",code:null}),s=!0})}catch(e){if(e instanceof n.AgentApiError)l=e.code,i=Response.json({error:{code:e.code,message:e.message}},{status:e.status});else console.error("Agent conversation API error:",e),l="internal_error",i=Response.json({error:{code:"internal_error",message:"The request could not be processed."}},{status:500})}let u=o;if(s&&null===l)return i;if(r&&u&&"service"===u.kind)try{t.serviceAudit.append({principal:u,operation:r.operation,capability:"participant",targetKind:r.targetKind,targetRef:r.targetRef,outcome:null===l?"allowed":"internal_error"===l?"error":a.includes(l)?"denied":"rejected",code:l})}catch(e){return console.error("Service audit append failed:",e instanceof Error?e.message:"unknown error"),Response.json({error:{code:"internal_error",message:"The request could not be processed."}},{status:500})}return i}async function o(e){let t,a=function(){try{return(0,r.serviceTokenAuthenticatorFromEnv)()}catch(e){if(e instanceof r.ServiceTokenConfigError)return console.error(`Agent API authentication disabled: ${e.message}`),null;throw e}}();if(!a)throw new n.AgentApiError("authentication_unavailable","No authenticator is configured for the agent conversation API.");try{t=await a(e)}catch{t=null}if(!t||!(0,n.isPrincipalKind)(t.kind)||"string"!=typeof t.id||!t.id.trim())throw new n.AgentApiError("unauthenticated","Authentication failed.");return{kind:t.kind,id:t.id}}async function s(e,t){return i(async(r,a)=>{var i;let s,l=await o(e);r(l);try{let t=await e.json();if(!t||"object"!=typeof t||Array.isArray(t))throw Error("not an object");s=t}catch{throw new n.AgentApiError("invalid_request","The request body must be a JSON object.")}let u=null==(i=s.principal)?null:{kind:i.kind,id:String(i.id??"")};if(u&&!(0,n.samePrincipal)(u,l))throw new n.AgentApiError("principal_mismatch","The declared principal does not match the authenticated principal.");let c=e.headers.get("idempotency-key"),d="string"==typeof s.idempotencyKey?s.idempotencyKey:null;if(c&&d&&c!==d)throw new n.AgentApiError("invalid_request","Idempotency-Key header and body idempotencyKey differ.");let p=c??d??"";if(p.toLowerCase().startsWith(n.MCP_IDEMPOTENCY_PREFIX))throw new n.AgentApiError("invalid_request",`Idempotency keys starting with "${n.MCP_IDEMPOTENCY_PREFIX}" are reserved for the MCP bridge.`);let{accepted:h,dispatched:g}=(0,n.acceptAgentMessage)(l,{agentId:t,content:"string"==typeof s.content?s.content:"",idempotencyKey:p,conversationId:"string"==typeof s.conversationId?s.conversationId:null==s.conversationId?null:""},a);return!0===s.wait?(await g,Response.json({...(0,n.getAgentRequest)(l,h.requestId),replayed:h.replayed})):Response.json(h,{status:h.replayed?200:202})},{operation:"agents.message",targetKind:"agent",targetRef:t})}async function l(e,t){return i(async r=>{let a=await o(e);return r(a),Response.json((0,n.getConversation)(a,t))},{operation:"conversations.read",targetKind:"conversation",targetRef:t})}async function u(e,t){return i(async r=>{let a=await o(e);return r(a),Response.json((0,n.getAgentRequest)(a,t))},{operation:"requests.read",targetKind:"request",targetRef:t})}e.s(["authenticate",0,o,"handleGetAgentRequest",0,u,"handleGetConversation",0,l,"handleSendAgentMessage",0,s])},26571,e=>{"use strict";var t=e.i(54799);let r="BOTMANCERS_SERVICE_TOKENS",n=["botmancers-exchanges","botmancers-engine","botmancers-session-share","botmancers-session-context"],a=/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/,i=/^sha256:([0-9a-f]{64})$/;class o extends Error{constructor(e){super(e),this.name="ServiceTokenConfigError"}}e.s(["RESERVED_SERVICE_IDS",0,n,"ServiceTokenConfigError",0,o,"serviceTokenAuthenticatorFromEnv",0,function(e=process.env){let s=function(e){if(!e||!e.trim())return[];let t=[],s=new Set;for(let l of e.split(/[,\s]+/).filter(Boolean)){let e=l.indexOf("="),u=e>0?l.slice(0,e):"",c=i.exec(e>0?l.slice(e+1).toLowerCase():"");if(!a.test(u)||!c)throw new o(`${r} entries must be <service-id>=sha256:<64 hex digits>.`);if(s.has(u))throw new o(`${r} lists service ${u} twice.`);if(n.includes(u))throw new o(`${r} names the reserved engine principal ${u}.`);s.add(u),t.push({serviceId:u,digest:Buffer.from(c[1],"hex")})}return t}(e[r]);return s.length?e=>{let r,n,a=(n=(r=e.headers.get("authorization"))?/^Bearer[ \t]+(\S+)[ \t]*$/i.exec(r):null)?n[1]:null;if(!a||a.length>4096)return null;let i=(0,t.createHash)("sha256").update(a,"utf8").digest(),o=null;for(let e of s)(0,t.timingSafeEqual)(i,e.digest)&&null===o&&(o=e.serviceId);return o?{kind:"service",id:o}:null}:null}])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_0bl1uw-._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[48683,e=>{"use strict";var t=e.i(69936);async function r(e,{params:n}){let{ref:a}=await n;return(0,t.handleSendSessionMessage)(e,a)}e.s(["POST",0,r])},78219,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),a=e.i(59756),i=e.i(61916),o=e.i(74677),s=e.i(69741),l=e.i(16795),u=e.i(87718),c=e.i(95169),d=e.i(47587),p=e.i(66012),h=e.i(70101),g=e.i(26937),f=e.i(10372),v=e.i(93695),R=e.i(9580);e.i(52474);var m=e.i(220);let w=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/v0/sessions/[ref]/messages/route",pathname:"/api/v0/sessions/[ref]/messages",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/v0/sessions/[ref]/messages/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(48683),...{}}),{workAsyncStorage:E,workUnitAsyncStorage:y,serverHooks:A}=w;async function C(e,t,n){n.requestMeta&&(0,a.setRequestMeta)(e,n.requestMeta),w.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let E="/api/v0/sessions/[ref]/messages/route";E=E.replace(/\/index$/,"")||"/";let y=await w.prepare(e,t,{srcPage:E,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:A,deploymentId:C,params:_,nextConfig:S,parsedUrl:T,isDraftMode:b,prerenderManifest:x,routerServerContext:P,isOnDemandRevalidate:I,revalidateOnlyGenerated:q,resolvedPathname:N,clientReferenceManifest:O,serverActionsManifest:k}=y,M=(0,s.normalizeAppPath)(E),K=!!x.routes[N]&&(w.isDev||(0,R.isRouteCacheOwner)(N,w.cacheOwner,x.routes[N])),H=!!(x.dynamicRoutes[M]||K),j=async()=>((null==P?void 0:P.render404)?await P.render404(e,t,T,!1):t.end("This page could not be found"),null);if(H&&!b){let e=x.dynamicRoutes[M];if(e&&!1===e.fallback&&!K){if(S.adapterPath)return await j();throw new v.NoFallbackError}}let D=null;!H||w.isDev||b||(D="/index"===(D=N)?"/":D);let $=!0===w.isDev||!H,U=H&&!$;k&&O&&(0,o.setManifestsSingleton)({page:E,clientReferenceManifest:O,serverActionsManifest:k});let F=e.method||"GET",B=(0,i.getTracer)(),L=B.getActiveScopeSpan(),G=!!(null==P?void 0:P.isWrappedByNextServer),V=!!(0,a.getRequestMeta)(e,"minimalMode"),X=(0,a.getRequestMeta)(e,"incrementalCache")||await w.getIncrementalCache(e,S,x,V);null==X||X.resetRequestCache(),globalThis.__incrementalCache=X;let z={params:_,previewProps:x.preview,renderOpts:{experimental:{authInterrupts:!!S.experimental.authInterrupts,useCacheTimeout:S.experimental.useCacheTimeout},cacheComponents:!!S.cacheComponents,validationLevel:S.experimental.instantInsights.validationLevel,isDraftMode:b,supportsDynamicResponse:$,incrementalCache:X,hmrRefreshHash:(0,a.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:S.cacheLife,staticPageGenerationTimeout:S.staticPageGenerationTimeout,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>w.onRequestError(e,t,n,a,P)},sharedContext:{buildId:A,deploymentId:C}},W=new l.NodeNextRequest(e),Z=new l.NodeNextResponse(t),Y=u.NextRequestAdapter.fromNodeNextRequest(W,(0,u.signalFromNodeResponse)(t)),J=async({previousCacheEntry:r})=>{try{if(!V&&I&&q&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await w.handle(Y,z);e.fetchMetrics=z.renderOpts.fetchMetrics;let i=z.renderOpts.pendingWaitUntil;i&&n.waitUntil&&(n.waitUntil(i),i=void 0);let o=z.renderOpts.collectedTags;if(!H)return await (0,p.sendResponse)(W,Z,a,i),null;{let e=await a.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(a.headers);o&&(t[f.NEXT_CACHE_TAGS_HEADER]=o),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,n=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=f.INFINITE_CACHE?!1!==r&&r>0?S.expireTime:void 0:z.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await w.onRequestError(e,t,{routerKind:"App Router",routePath:E,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:I})},!1,P),t}},Q=async(a,o)=>{try{var s,l;let a=await w.handleResponse({req:e,nextConfig:S,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:x,isRoutePPREnabled:!1,isOnDemandRevalidate:I,revalidateOnlyGenerated:q,responseGenerator:J,waitUntil:n.waitUntil,isMinimalMode:V});if(!H)return;if((null==a||null==(s=a.value)?void 0:s.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==a||null==(l=a.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});V||t.setHeader("x-nextjs-cache",I?"REVALIDATED":a.isMiss?"MISS":a.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let i=(0,h.fromNodeOutgoingHttpHeaders)(a.value.headers);V&&H||i.delete(f.NEXT_CACHE_TAGS_HEADER),!a.cacheControl||t.getHeader("Cache-Control")||i.get("Cache-Control")||i.set("Cache-Control",(0,g.getCacheControlHeader)(a.cacheControl)),await (0,p.sendResponse)(W,Z,new Response(a.value.body,{headers:i,status:a.value.status||200}));return}catch(t){if(t instanceof v.NoFallbackError||await w.onRequestError(e,t,{routerKind:"App Router",routePath:M,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:I})},!1,P),H)throw t;await (0,p.sendResponse)(W,Z,new Response(null,{status:500}));return}finally{(()=>{if(!a)return;let e=t.statusCode;a.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(a.setStatus({code:i.SpanStatusCode.ERROR}),a.setAttribute("error.type",e.toString()));let r=B.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==c.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route")||M,s=`${F} ${n}`;a.setAttributes({"next.route":n,"http.route":n,"next.span_name":s}),a.updateName(s),o&&o!==a&&(o.setAttribute("http.route",n),o.updateName(s))})()}};if(G&&L)await Q(L,void 0);else{let t=B.getActiveScopeSpan();await B.withPropagatedContext(e.headers,()=>B.trace(c.BaseServerSpan.handleRequest,{spanName:`${F} ${E}`,kind:i.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},e=>Q(e,t)),void 0,!G)}}e.s(["handler",0,C,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:y})},"routeModule",0,w,"serverHooks",0,A,"workAsyncStorage",0,E,"workUnitAsyncStorage",0,y])},43345,e=>{"use strict";var t=e.i(62294),r=e.i(26571),n=e.i(45383);let a=["authentication_unavailable","unauthenticated","principal_mismatch","agent_not_found","conversation_not_found","request_not_found"];async function i(e,r){let i,o=null,s=!1,l=null;try{i=await e(e=>{o=e},()=>{let e=o;r&&e&&"service"===e.kind&&t.serviceAudit.append({principal:e,operation:r.operation,capability:"participant",targetKind:r.targetKind,targetRef:r.targetRef,outcome:"allowed",code:null}),s=!0})}catch(e){if(e instanceof n.AgentApiError)l=e.code,i=Response.json({error:{code:e.code,message:e.message}},{status:e.status});else console.error("Agent conversation API error:",e),l="internal_error",i=Response.json({error:{code:"internal_error",message:"The request could not be processed."}},{status:500})}let u=o;if(s&&null===l)return i;if(r&&u&&"service"===u.kind)try{t.serviceAudit.append({principal:u,operation:r.operation,capability:"participant",targetKind:r.targetKind,targetRef:r.targetRef,outcome:null===l?"allowed":"internal_error"===l?"error":a.includes(l)?"denied":"rejected",code:l})}catch(e){return console.error("Service audit append failed:",e instanceof Error?e.message:"unknown error"),Response.json({error:{code:"internal_error",message:"The request could not be processed."}},{status:500})}return i}async function o(e){let t,a=function(){try{return(0,r.serviceTokenAuthenticatorFromEnv)()}catch(e){if(e instanceof r.ServiceTokenConfigError)return console.error(`Agent API authentication disabled: ${e.message}`),null;throw e}}();if(!a)throw new n.AgentApiError("authentication_unavailable","No authenticator is configured for the agent conversation API.");try{t=await a(e)}catch{t=null}if(!t||!(0,n.isPrincipalKind)(t.kind)||"string"!=typeof t.id||!t.id.trim())throw new n.AgentApiError("unauthenticated","Authentication failed.");return{kind:t.kind,id:t.id}}async function s(e,t){return i(async(r,a)=>{var i;let s,l=await o(e);r(l);try{let t=await e.json();if(!t||"object"!=typeof t||Array.isArray(t))throw Error("not an object");s=t}catch{throw new n.AgentApiError("invalid_request","The request body must be a JSON object.")}let u=null==(i=s.principal)?null:{kind:i.kind,id:String(i.id??"")};if(u&&!(0,n.samePrincipal)(u,l))throw new n.AgentApiError("principal_mismatch","The declared principal does not match the authenticated principal.");let c=e.headers.get("idempotency-key"),d="string"==typeof s.idempotencyKey?s.idempotencyKey:null;if(c&&d&&c!==d)throw new n.AgentApiError("invalid_request","Idempotency-Key header and body idempotencyKey differ.");let p=c??d??"";if(p.toLowerCase().startsWith(n.MCP_IDEMPOTENCY_PREFIX))throw new n.AgentApiError("invalid_request",`Idempotency keys starting with "${n.MCP_IDEMPOTENCY_PREFIX}" are reserved for the MCP bridge.`);let{accepted:h,dispatched:g}=(0,n.acceptAgentMessage)(l,{agentId:t,content:"string"==typeof s.content?s.content:"",idempotencyKey:p,conversationId:"string"==typeof s.conversationId?s.conversationId:null==s.conversationId?null:""},a);return!0===s.wait?(await g,Response.json({...(0,n.getAgentRequest)(l,h.requestId),replayed:h.replayed})):Response.json(h,{status:h.replayed?200:202})},{operation:"agents.message",targetKind:"agent",targetRef:t})}async function l(e,t){return i(async r=>{let a=await o(e);return r(a),Response.json((0,n.getConversation)(a,t))},{operation:"conversations.read",targetKind:"conversation",targetRef:t})}async function u(e,t){return i(async r=>{let a=await o(e);return r(a),Response.json((0,n.getAgentRequest)(a,t))},{operation:"requests.read",targetKind:"request",targetRef:t})}e.s(["authenticate",0,o,"handleGetAgentRequest",0,u,"handleGetConversation",0,l,"handleSendAgentMessage",0,s])},26571,e=>{"use strict";var t=e.i(54799);let r="BOTMANCERS_SERVICE_TOKENS",n=["botmancers-exchanges","botmancers-engine","botmancers-session-share","botmancers-session-context"],a=/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/,i=/^sha256:([0-9a-f]{64})$/;class o extends Error{constructor(e){super(e),this.name="ServiceTokenConfigError"}}e.s(["RESERVED_SERVICE_IDS",0,n,"ServiceTokenConfigError",0,o,"serviceTokenAuthenticatorFromEnv",0,function(e=process.env){let s=function(e){if(!e||!e.trim())return[];let t=[],s=new Set;for(let l of e.split(/[,\s]+/).filter(Boolean)){let e=l.indexOf("="),u=e>0?l.slice(0,e):"",c=i.exec(e>0?l.slice(e+1).toLowerCase():"");if(!a.test(u)||!c)throw new o(`${r} entries must be <service-id>=sha256:<64 hex digits>.`);if(s.has(u))throw new o(`${r} lists service ${u} twice.`);if(n.includes(u))throw new o(`${r} names the reserved engine principal ${u}.`);s.add(u),t.push({serviceId:u,digest:Buffer.from(c[1],"hex")})}return t}(e[r]);return s.length?e=>{let r,n,a=(n=(r=e.headers.get("authorization"))?/^Bearer[ \t]+(\S+)[ \t]*$/i.exec(r):null)?n[1]:null;if(!a||a.length>4096)return null;let i=(0,t.createHash)("sha256").update(a,"utf8").digest(),o=null;for(let e of s)(0,t.timingSafeEqual)(i,e.digest)&&null===o&&(o=e.serviceId);return o?{kind:"service",id:o}:null}:null}])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_0gh03eo._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[67794,e=>{"use strict";var t=e.i(69936);async function r(e,{params:n}){let{agentId:a,ref:i}=await n;return(0,t.handleGetSession)(e,a,i)}e.s(["GET",0,r])},25932,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),a=e.i(59756),i=e.i(61916),o=e.i(74677),s=e.i(69741),l=e.i(16795),u=e.i(87718),c=e.i(95169),d=e.i(47587),p=e.i(66012),h=e.i(70101),g=e.i(26937),f=e.i(10372),v=e.i(93695),R=e.i(9580);e.i(52474);var m=e.i(220);let w=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/v0/agents/[agentId]/sessions/[ref]/route",pathname:"/api/v0/agents/[agentId]/sessions/[ref]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/v0/agents/[agentId]/sessions/[ref]/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(67794),...{}}),{workAsyncStorage:E,workUnitAsyncStorage:y,serverHooks:A}=w;async function C(e,t,n){n.requestMeta&&(0,a.setRequestMeta)(e,n.requestMeta),w.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let E="/api/v0/agents/[agentId]/sessions/[ref]/route";E=E.replace(/\/index$/,"")||"/";let y=await w.prepare(e,t,{srcPage:E,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:A,deploymentId:C,params:_,nextConfig:T,parsedUrl:b,isDraftMode:S,prerenderManifest:x,routerServerContext:I,isOnDemandRevalidate:P,revalidateOnlyGenerated:q,resolvedPathname:N,clientReferenceManifest:k,serverActionsManifest:O}=y,M=(0,s.normalizeAppPath)(E),K=!!x.routes[N]&&(w.isDev||(0,R.isRouteCacheOwner)(N,w.cacheOwner,x.routes[N])),H=!!(x.dynamicRoutes[M]||K),j=async()=>((null==I?void 0:I.render404)?await I.render404(e,t,b,!1):t.end("This page could not be found"),null);if(H&&!S){let e=x.dynamicRoutes[M];if(e&&!1===e.fallback&&!K){if(T.adapterPath)return await j();throw new v.NoFallbackError}}let D=null;!H||w.isDev||S||(D="/index"===(D=N)?"/":D);let $=!0===w.isDev||!H,U=H&&!$;O&&k&&(0,o.setManifestsSingleton)({page:E,clientReferenceManifest:k,serverActionsManifest:O});let F=e.method||"GET",B=(0,i.getTracer)(),G=B.getActiveScopeSpan(),L=!!(null==I?void 0:I.isWrappedByNextServer),V=!!(0,a.getRequestMeta)(e,"minimalMode"),X=(0,a.getRequestMeta)(e,"incrementalCache")||await w.getIncrementalCache(e,T,x,V);null==X||X.resetRequestCache(),globalThis.__incrementalCache=X;let z={params:_,previewProps:x.preview,renderOpts:{experimental:{authInterrupts:!!T.experimental.authInterrupts,useCacheTimeout:T.experimental.useCacheTimeout},cacheComponents:!!T.cacheComponents,validationLevel:T.experimental.instantInsights.validationLevel,isDraftMode:S,supportsDynamicResponse:$,incrementalCache:X,hmrRefreshHash:(0,a.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:T.cacheLife,staticPageGenerationTimeout:T.staticPageGenerationTimeout,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>w.onRequestError(e,t,n,a,I)},sharedContext:{buildId:A,deploymentId:C}},W=new l.NodeNextRequest(e),Z=new l.NodeNextResponse(t),Y=u.NextRequestAdapter.fromNodeNextRequest(W,(0,u.signalFromNodeResponse)(t)),J=async({previousCacheEntry:r})=>{try{if(!V&&P&&q&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await w.handle(Y,z);e.fetchMetrics=z.renderOpts.fetchMetrics;let i=z.renderOpts.pendingWaitUntil;i&&n.waitUntil&&(n.waitUntil(i),i=void 0);let o=z.renderOpts.collectedTags;if(!H)return await (0,p.sendResponse)(W,Z,a,i),null;{let e=await a.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(a.headers);o&&(t[f.NEXT_CACHE_TAGS_HEADER]=o),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,n=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=f.INFINITE_CACHE?!1!==r&&r>0?T.expireTime:void 0:z.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await w.onRequestError(e,t,{routerKind:"App Router",routePath:E,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:P})},!1,I),t}},Q=async(a,o)=>{try{var s,l;let a=await w.handleResponse({req:e,nextConfig:T,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:x,isRoutePPREnabled:!1,isOnDemandRevalidate:P,revalidateOnlyGenerated:q,responseGenerator:J,waitUntil:n.waitUntil,isMinimalMode:V});if(!H)return;if((null==a||null==(s=a.value)?void 0:s.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==a||null==(l=a.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});V||t.setHeader("x-nextjs-cache",P?"REVALIDATED":a.isMiss?"MISS":a.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let i=(0,h.fromNodeOutgoingHttpHeaders)(a.value.headers);V&&H||i.delete(f.NEXT_CACHE_TAGS_HEADER),!a.cacheControl||t.getHeader("Cache-Control")||i.get("Cache-Control")||i.set("Cache-Control",(0,g.getCacheControlHeader)(a.cacheControl)),await (0,p.sendResponse)(W,Z,new Response(a.value.body,{headers:i,status:a.value.status||200}));return}catch(t){if(t instanceof v.NoFallbackError||await w.onRequestError(e,t,{routerKind:"App Router",routePath:M,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:P})},!1,I),H)throw t;await (0,p.sendResponse)(W,Z,new Response(null,{status:500}));return}finally{(()=>{if(!a)return;let e=t.statusCode;a.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(a.setStatus({code:i.SpanStatusCode.ERROR}),a.setAttribute("error.type",e.toString()));let r=B.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==c.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route")||M,s=`${F} ${n}`;a.setAttributes({"next.route":n,"http.route":n,"next.span_name":s}),a.updateName(s),o&&o!==a&&(o.setAttribute("http.route",n),o.updateName(s))})()}};if(L&&G)await Q(G,void 0);else{let t=B.getActiveScopeSpan();await B.withPropagatedContext(e.headers,()=>B.trace(c.BaseServerSpan.handleRequest,{spanName:`${F} ${E}`,kind:i.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},e=>Q(e,t)),void 0,!L)}}e.s(["handler",0,C,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:y})},"routeModule",0,w,"serverHooks",0,A,"workAsyncStorage",0,E,"workUnitAsyncStorage",0,y])},43345,e=>{"use strict";var t=e.i(62294),r=e.i(26571),n=e.i(45383);let a=["authentication_unavailable","unauthenticated","principal_mismatch","agent_not_found","conversation_not_found","request_not_found"];async function i(e,r){let i,o=null,s=!1,l=null;try{i=await e(e=>{o=e},()=>{let e=o;r&&e&&"service"===e.kind&&t.serviceAudit.append({principal:e,operation:r.operation,capability:"participant",targetKind:r.targetKind,targetRef:r.targetRef,outcome:"allowed",code:null}),s=!0})}catch(e){if(e instanceof n.AgentApiError)l=e.code,i=Response.json({error:{code:e.code,message:e.message}},{status:e.status});else console.error("Agent conversation API error:",e),l="internal_error",i=Response.json({error:{code:"internal_error",message:"The request could not be processed."}},{status:500})}let u=o;if(s&&null===l)return i;if(r&&u&&"service"===u.kind)try{t.serviceAudit.append({principal:u,operation:r.operation,capability:"participant",targetKind:r.targetKind,targetRef:r.targetRef,outcome:null===l?"allowed":"internal_error"===l?"error":a.includes(l)?"denied":"rejected",code:l})}catch(e){return console.error("Service audit append failed:",e instanceof Error?e.message:"unknown error"),Response.json({error:{code:"internal_error",message:"The request could not be processed."}},{status:500})}return i}async function o(e){let t,a=function(){try{return(0,r.serviceTokenAuthenticatorFromEnv)()}catch(e){if(e instanceof r.ServiceTokenConfigError)return console.error(`Agent API authentication disabled: ${e.message}`),null;throw e}}();if(!a)throw new n.AgentApiError("authentication_unavailable","No authenticator is configured for the agent conversation API.");try{t=await a(e)}catch{t=null}if(!t||!(0,n.isPrincipalKind)(t.kind)||"string"!=typeof t.id||!t.id.trim())throw new n.AgentApiError("unauthenticated","Authentication failed.");return{kind:t.kind,id:t.id}}async function s(e,t){return i(async(r,a)=>{var i;let s,l=await o(e);r(l);try{let t=await e.json();if(!t||"object"!=typeof t||Array.isArray(t))throw Error("not an object");s=t}catch{throw new n.AgentApiError("invalid_request","The request body must be a JSON object.")}let u=null==(i=s.principal)?null:{kind:i.kind,id:String(i.id??"")};if(u&&!(0,n.samePrincipal)(u,l))throw new n.AgentApiError("principal_mismatch","The declared principal does not match the authenticated principal.");let c=e.headers.get("idempotency-key"),d="string"==typeof s.idempotencyKey?s.idempotencyKey:null;if(c&&d&&c!==d)throw new n.AgentApiError("invalid_request","Idempotency-Key header and body idempotencyKey differ.");let p=c??d??"";if(p.toLowerCase().startsWith(n.MCP_IDEMPOTENCY_PREFIX))throw new n.AgentApiError("invalid_request",`Idempotency keys starting with "${n.MCP_IDEMPOTENCY_PREFIX}" are reserved for the MCP bridge.`);let{accepted:h,dispatched:g}=(0,n.acceptAgentMessage)(l,{agentId:t,content:"string"==typeof s.content?s.content:"",idempotencyKey:p,conversationId:"string"==typeof s.conversationId?s.conversationId:null==s.conversationId?null:""},a);return!0===s.wait?(await g,Response.json({...(0,n.getAgentRequest)(l,h.requestId),replayed:h.replayed})):Response.json(h,{status:h.replayed?200:202})},{operation:"agents.message",targetKind:"agent",targetRef:t})}async function l(e,t){return i(async r=>{let a=await o(e);return r(a),Response.json((0,n.getConversation)(a,t))},{operation:"conversations.read",targetKind:"conversation",targetRef:t})}async function u(e,t){return i(async r=>{let a=await o(e);return r(a),Response.json((0,n.getAgentRequest)(a,t))},{operation:"requests.read",targetKind:"request",targetRef:t})}e.s(["authenticate",0,o,"handleGetAgentRequest",0,u,"handleGetConversation",0,l,"handleSendAgentMessage",0,s])},26571,e=>{"use strict";var t=e.i(54799);let r="BOTMANCERS_SERVICE_TOKENS",n=["botmancers-exchanges","botmancers-engine","botmancers-session-share","botmancers-session-context"],a=/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/,i=/^sha256:([0-9a-f]{64})$/;class o extends Error{constructor(e){super(e),this.name="ServiceTokenConfigError"}}e.s(["RESERVED_SERVICE_IDS",0,n,"ServiceTokenConfigError",0,o,"serviceTokenAuthenticatorFromEnv",0,function(e=process.env){let s=function(e){if(!e||!e.trim())return[];let t=[],s=new Set;for(let l of e.split(/[,\s]+/).filter(Boolean)){let e=l.indexOf("="),u=e>0?l.slice(0,e):"",c=i.exec(e>0?l.slice(e+1).toLowerCase():"");if(!a.test(u)||!c)throw new o(`${r} entries must be <service-id>=sha256:<64 hex digits>.`);if(s.has(u))throw new o(`${r} lists service ${u} twice.`);if(n.includes(u))throw new o(`${r} names the reserved engine principal ${u}.`);s.add(u),t.push({serviceId:u,digest:Buffer.from(c[1],"hex")})}return t}(e[r]);return s.length?e=>{let r,n,a=(n=(r=e.headers.get("authorization"))?/^Bearer[ \t]+(\S+)[ \t]*$/i.exec(r):null)?n[1]:null;if(!a||a.length>4096)return null;let i=(0,t.createHash)("sha256").update(a,"utf8").digest(),o=null;for(let e of s)(0,t.timingSafeEqual)(i,e.digest)&&null===o&&(o=e.serviceId);return o?{kind:"service",id:o}:null}:null}])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_0h0j5ta._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[74546,e=>{"use strict";var t=e.i(69936);async function r(e,{params:n}){let{pinRef:a}=await n;return(0,t.handleReadPin)(e,a)}e.s(["GET",0,r])},70074,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),a=e.i(59756),i=e.i(61916),o=e.i(74677),s=e.i(69741),l=e.i(16795),u=e.i(87718),c=e.i(95169),d=e.i(47587),p=e.i(66012),h=e.i(70101),g=e.i(26937),f=e.i(10372),v=e.i(93695),R=e.i(9580);e.i(52474);var m=e.i(220);let w=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/v0/pins/[pinRef]/route",pathname:"/api/v0/pins/[pinRef]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/v0/pins/[pinRef]/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(74546),...{}}),{workAsyncStorage:E,workUnitAsyncStorage:y,serverHooks:A}=w;async function C(e,t,n){n.requestMeta&&(0,a.setRequestMeta)(e,n.requestMeta),w.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let E="/api/v0/pins/[pinRef]/route";E=E.replace(/\/index$/,"")||"/";let y=await w.prepare(e,t,{srcPage:E,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:A,deploymentId:C,params:_,nextConfig:T,parsedUrl:b,isDraftMode:x,prerenderManifest:S,routerServerContext:P,isOnDemandRevalidate:I,revalidateOnlyGenerated:q,resolvedPathname:N,clientReferenceManifest:k,serverActionsManifest:O}=y,M=(0,s.normalizeAppPath)(E),K=!!S.routes[N]&&(w.isDev||(0,R.isRouteCacheOwner)(N,w.cacheOwner,S.routes[N])),H=!!(S.dynamicRoutes[M]||K),j=async()=>((null==P?void 0:P.render404)?await P.render404(e,t,b,!1):t.end("This page could not be found"),null);if(H&&!x){let e=S.dynamicRoutes[M];if(e&&!1===e.fallback&&!K){if(T.adapterPath)return await j();throw new v.NoFallbackError}}let D=null;!H||w.isDev||x||(D="/index"===(D=N)?"/":D);let $=!0===w.isDev||!H,U=H&&!$;O&&k&&(0,o.setManifestsSingleton)({page:E,clientReferenceManifest:k,serverActionsManifest:O});let F=e.method||"GET",B=(0,i.getTracer)(),L=B.getActiveScopeSpan(),G=!!(null==P?void 0:P.isWrappedByNextServer),V=!!(0,a.getRequestMeta)(e,"minimalMode"),X=(0,a.getRequestMeta)(e,"incrementalCache")||await w.getIncrementalCache(e,T,S,V);null==X||X.resetRequestCache(),globalThis.__incrementalCache=X;let z={params:_,previewProps:S.preview,renderOpts:{experimental:{authInterrupts:!!T.experimental.authInterrupts,useCacheTimeout:T.experimental.useCacheTimeout},cacheComponents:!!T.cacheComponents,validationLevel:T.experimental.instantInsights.validationLevel,isDraftMode:x,supportsDynamicResponse:$,incrementalCache:X,hmrRefreshHash:(0,a.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:T.cacheLife,staticPageGenerationTimeout:T.staticPageGenerationTimeout,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>w.onRequestError(e,t,n,a,P)},sharedContext:{buildId:A,deploymentId:C}},W=new l.NodeNextRequest(e),Z=new l.NodeNextResponse(t),Y=u.NextRequestAdapter.fromNodeNextRequest(W,(0,u.signalFromNodeResponse)(t)),J=async({previousCacheEntry:r})=>{try{if(!V&&I&&q&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await w.handle(Y,z);e.fetchMetrics=z.renderOpts.fetchMetrics;let i=z.renderOpts.pendingWaitUntil;i&&n.waitUntil&&(n.waitUntil(i),i=void 0);let o=z.renderOpts.collectedTags;if(!H)return await (0,p.sendResponse)(W,Z,a,i),null;{let e=await a.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(a.headers);o&&(t[f.NEXT_CACHE_TAGS_HEADER]=o),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,n=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=f.INFINITE_CACHE?!1!==r&&r>0?T.expireTime:void 0:z.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await w.onRequestError(e,t,{routerKind:"App Router",routePath:E,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:I})},!1,P),t}},Q=async(a,o)=>{try{var s,l;let a=await w.handleResponse({req:e,nextConfig:T,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:I,revalidateOnlyGenerated:q,responseGenerator:J,waitUntil:n.waitUntil,isMinimalMode:V});if(!H)return;if((null==a||null==(s=a.value)?void 0:s.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==a||null==(l=a.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});V||t.setHeader("x-nextjs-cache",I?"REVALIDATED":a.isMiss?"MISS":a.isStale?"STALE":"HIT"),x&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let i=(0,h.fromNodeOutgoingHttpHeaders)(a.value.headers);V&&H||i.delete(f.NEXT_CACHE_TAGS_HEADER),!a.cacheControl||t.getHeader("Cache-Control")||i.get("Cache-Control")||i.set("Cache-Control",(0,g.getCacheControlHeader)(a.cacheControl)),await (0,p.sendResponse)(W,Z,new Response(a.value.body,{headers:i,status:a.value.status||200}));return}catch(t){if(t instanceof v.NoFallbackError||await w.onRequestError(e,t,{routerKind:"App Router",routePath:M,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:I})},!1,P),H)throw t;await (0,p.sendResponse)(W,Z,new Response(null,{status:500}));return}finally{(()=>{if(!a)return;let e=t.statusCode;a.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(a.setStatus({code:i.SpanStatusCode.ERROR}),a.setAttribute("error.type",e.toString()));let r=B.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==c.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route")||M,s=`${F} ${n}`;a.setAttributes({"next.route":n,"http.route":n,"next.span_name":s}),a.updateName(s),o&&o!==a&&(o.setAttribute("http.route",n),o.updateName(s))})()}};if(G&&L)await Q(L,void 0);else{let t=B.getActiveScopeSpan();await B.withPropagatedContext(e.headers,()=>B.trace(c.BaseServerSpan.handleRequest,{spanName:`${F} ${E}`,kind:i.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},e=>Q(e,t)),void 0,!G)}}e.s(["handler",0,C,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:y})},"routeModule",0,w,"serverHooks",0,A,"workAsyncStorage",0,E,"workUnitAsyncStorage",0,y])},43345,e=>{"use strict";var t=e.i(62294),r=e.i(26571),n=e.i(45383);let a=["authentication_unavailable","unauthenticated","principal_mismatch","agent_not_found","conversation_not_found","request_not_found"];async function i(e,r){let i,o=null,s=!1,l=null;try{i=await e(e=>{o=e},()=>{let e=o;r&&e&&"service"===e.kind&&t.serviceAudit.append({principal:e,operation:r.operation,capability:"participant",targetKind:r.targetKind,targetRef:r.targetRef,outcome:"allowed",code:null}),s=!0})}catch(e){if(e instanceof n.AgentApiError)l=e.code,i=Response.json({error:{code:e.code,message:e.message}},{status:e.status});else console.error("Agent conversation API error:",e),l="internal_error",i=Response.json({error:{code:"internal_error",message:"The request could not be processed."}},{status:500})}let u=o;if(s&&null===l)return i;if(r&&u&&"service"===u.kind)try{t.serviceAudit.append({principal:u,operation:r.operation,capability:"participant",targetKind:r.targetKind,targetRef:r.targetRef,outcome:null===l?"allowed":"internal_error"===l?"error":a.includes(l)?"denied":"rejected",code:l})}catch(e){return console.error("Service audit append failed:",e instanceof Error?e.message:"unknown error"),Response.json({error:{code:"internal_error",message:"The request could not be processed."}},{status:500})}return i}async function o(e){let t,a=function(){try{return(0,r.serviceTokenAuthenticatorFromEnv)()}catch(e){if(e instanceof r.ServiceTokenConfigError)return console.error(`Agent API authentication disabled: ${e.message}`),null;throw e}}();if(!a)throw new n.AgentApiError("authentication_unavailable","No authenticator is configured for the agent conversation API.");try{t=await a(e)}catch{t=null}if(!t||!(0,n.isPrincipalKind)(t.kind)||"string"!=typeof t.id||!t.id.trim())throw new n.AgentApiError("unauthenticated","Authentication failed.");return{kind:t.kind,id:t.id}}async function s(e,t){return i(async(r,a)=>{var i;let s,l=await o(e);r(l);try{let t=await e.json();if(!t||"object"!=typeof t||Array.isArray(t))throw Error("not an object");s=t}catch{throw new n.AgentApiError("invalid_request","The request body must be a JSON object.")}let u=null==(i=s.principal)?null:{kind:i.kind,id:String(i.id??"")};if(u&&!(0,n.samePrincipal)(u,l))throw new n.AgentApiError("principal_mismatch","The declared principal does not match the authenticated principal.");let c=e.headers.get("idempotency-key"),d="string"==typeof s.idempotencyKey?s.idempotencyKey:null;if(c&&d&&c!==d)throw new n.AgentApiError("invalid_request","Idempotency-Key header and body idempotencyKey differ.");let p=c??d??"";if(p.toLowerCase().startsWith(n.MCP_IDEMPOTENCY_PREFIX))throw new n.AgentApiError("invalid_request",`Idempotency keys starting with "${n.MCP_IDEMPOTENCY_PREFIX}" are reserved for the MCP bridge.`);let{accepted:h,dispatched:g}=(0,n.acceptAgentMessage)(l,{agentId:t,content:"string"==typeof s.content?s.content:"",idempotencyKey:p,conversationId:"string"==typeof s.conversationId?s.conversationId:null==s.conversationId?null:""},a);return!0===s.wait?(await g,Response.json({...(0,n.getAgentRequest)(l,h.requestId),replayed:h.replayed})):Response.json(h,{status:h.replayed?200:202})},{operation:"agents.message",targetKind:"agent",targetRef:t})}async function l(e,t){return i(async r=>{let a=await o(e);return r(a),Response.json((0,n.getConversation)(a,t))},{operation:"conversations.read",targetKind:"conversation",targetRef:t})}async function u(e,t){return i(async r=>{let a=await o(e);return r(a),Response.json((0,n.getAgentRequest)(a,t))},{operation:"requests.read",targetKind:"request",targetRef:t})}e.s(["authenticate",0,o,"handleGetAgentRequest",0,u,"handleGetConversation",0,l,"handleSendAgentMessage",0,s])},26571,e=>{"use strict";var t=e.i(54799);let r="BOTMANCERS_SERVICE_TOKENS",n=["botmancers-exchanges","botmancers-engine","botmancers-session-share","botmancers-session-context"],a=/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/,i=/^sha256:([0-9a-f]{64})$/;class o extends Error{constructor(e){super(e),this.name="ServiceTokenConfigError"}}e.s(["RESERVED_SERVICE_IDS",0,n,"ServiceTokenConfigError",0,o,"serviceTokenAuthenticatorFromEnv",0,function(e=process.env){let s=function(e){if(!e||!e.trim())return[];let t=[],s=new Set;for(let l of e.split(/[,\s]+/).filter(Boolean)){let e=l.indexOf("="),u=e>0?l.slice(0,e):"",c=i.exec(e>0?l.slice(e+1).toLowerCase():"");if(!a.test(u)||!c)throw new o(`${r} entries must be <service-id>=sha256:<64 hex digits>.`);if(s.has(u))throw new o(`${r} lists service ${u} twice.`);if(n.includes(u))throw new o(`${r} names the reserved engine principal ${u}.`);s.add(u),t.push({serviceId:u,digest:Buffer.from(c[1],"hex")})}return t}(e[r]);return s.length?e=>{let r,n,a=(n=(r=e.headers.get("authorization"))?/^Bearer[ \t]+(\S+)[ \t]*$/i.exec(r):null)?n[1]:null;if(!a||a.length>4096)return null;let i=(0,t.createHash)("sha256").update(a,"utf8").digest(),o=null;for(let e of s)(0,t.timingSafeEqual)(i,e.digest)&&null===o&&(o=e.serviceId);return o?{kind:"service",id:o}:null}:null}])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_0hzb8hh._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[34535,e=>{"use strict";var t=e.i(69936);async function r(e){return(0,t.handleListExchanges)(e)}async function n(e){return(0,t.handleCreateExchange)(e)}e.s(["GET",0,r,"POST",0,n])},52197,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),a=e.i(59756),i=e.i(61916),o=e.i(74677),s=e.i(69741),l=e.i(16795),c=e.i(87718),u=e.i(95169),d=e.i(47587),p=e.i(66012),h=e.i(70101),g=e.i(26937),f=e.i(10372),v=e.i(93695),R=e.i(9580);e.i(52474);var m=e.i(220);let w=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/v0/exchanges/route",pathname:"/api/v0/exchanges",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/v0/exchanges/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(34535),...{}}),{workAsyncStorage:E,workUnitAsyncStorage:y,serverHooks:A}=w;async function C(e,t,n){n.requestMeta&&(0,a.setRequestMeta)(e,n.requestMeta),w.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let E="/api/v0/exchanges/route";E=E.replace(/\/index$/,"")||"/";let y=await w.prepare(e,t,{srcPage:E,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:A,deploymentId:C,params:x,nextConfig:_,parsedUrl:T,isDraftMode:b,prerenderManifest:S,routerServerContext:P,isOnDemandRevalidate:I,revalidateOnlyGenerated:q,resolvedPathname:N,clientReferenceManifest:O,serverActionsManifest:k}=y,M=(0,s.normalizeAppPath)(E),K=!!S.routes[N]&&(w.isDev||(0,R.isRouteCacheOwner)(N,w.cacheOwner,S.routes[N])),H=!!(S.dynamicRoutes[M]||K),j=async()=>((null==P?void 0:P.render404)?await P.render404(e,t,T,!1):t.end("This page could not be found"),null);if(H&&!b){let e=S.dynamicRoutes[M];if(e&&!1===e.fallback&&!K){if(_.adapterPath)return await j();throw new v.NoFallbackError}}let D=null;!H||w.isDev||b||(D="/index"===(D=N)?"/":D);let $=!0===w.isDev||!H,U=H&&!$;k&&O&&(0,o.setManifestsSingleton)({page:E,clientReferenceManifest:O,serverActionsManifest:k});let F=e.method||"GET",B=(0,i.getTracer)(),L=B.getActiveScopeSpan(),G=!!(null==P?void 0:P.isWrappedByNextServer),V=!!(0,a.getRequestMeta)(e,"minimalMode"),X=(0,a.getRequestMeta)(e,"incrementalCache")||await w.getIncrementalCache(e,_,S,V);null==X||X.resetRequestCache(),globalThis.__incrementalCache=X;let z={params:x,previewProps:S.preview,renderOpts:{experimental:{authInterrupts:!!_.experimental.authInterrupts,useCacheTimeout:_.experimental.useCacheTimeout},cacheComponents:!!_.cacheComponents,validationLevel:_.experimental.instantInsights.validationLevel,isDraftMode:b,supportsDynamicResponse:$,incrementalCache:X,hmrRefreshHash:(0,a.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:_.cacheLife,staticPageGenerationTimeout:_.staticPageGenerationTimeout,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>w.onRequestError(e,t,n,a,P)},sharedContext:{buildId:A,deploymentId:C}},W=new l.NodeNextRequest(e),Z=new l.NodeNextResponse(t),Y=c.NextRequestAdapter.fromNodeNextRequest(W,(0,c.signalFromNodeResponse)(t)),J=async({previousCacheEntry:r})=>{try{if(!V&&I&&q&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await w.handle(Y,z);e.fetchMetrics=z.renderOpts.fetchMetrics;let i=z.renderOpts.pendingWaitUntil;i&&n.waitUntil&&(n.waitUntil(i),i=void 0);let o=z.renderOpts.collectedTags;if(!H)return await (0,p.sendResponse)(W,Z,a,i),null;{let e=await a.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(a.headers);o&&(t[f.NEXT_CACHE_TAGS_HEADER]=o),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,n=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=f.INFINITE_CACHE?!1!==r&&r>0?_.expireTime:void 0:z.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await w.onRequestError(e,t,{routerKind:"App Router",routePath:E,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:I})},!1,P),t}},Q=async(a,o)=>{try{var s,l;let a=await w.handleResponse({req:e,nextConfig:_,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:I,revalidateOnlyGenerated:q,responseGenerator:J,waitUntil:n.waitUntil,isMinimalMode:V});if(!H)return;if((null==a||null==(s=a.value)?void 0:s.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==a||null==(l=a.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});V||t.setHeader("x-nextjs-cache",I?"REVALIDATED":a.isMiss?"MISS":a.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let i=(0,h.fromNodeOutgoingHttpHeaders)(a.value.headers);V&&H||i.delete(f.NEXT_CACHE_TAGS_HEADER),!a.cacheControl||t.getHeader("Cache-Control")||i.get("Cache-Control")||i.set("Cache-Control",(0,g.getCacheControlHeader)(a.cacheControl)),await (0,p.sendResponse)(W,Z,new Response(a.value.body,{headers:i,status:a.value.status||200}));return}catch(t){if(t instanceof v.NoFallbackError||await w.onRequestError(e,t,{routerKind:"App Router",routePath:M,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:I})},!1,P),H)throw t;await (0,p.sendResponse)(W,Z,new Response(null,{status:500}));return}finally{(()=>{if(!a)return;let e=t.statusCode;a.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(a.setStatus({code:i.SpanStatusCode.ERROR}),a.setAttribute("error.type",e.toString()));let r=B.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route")||M,s=`${F} ${n}`;a.setAttributes({"next.route":n,"http.route":n,"next.span_name":s}),a.updateName(s),o&&o!==a&&(o.setAttribute("http.route",n),o.updateName(s))})()}};if(G&&L)await Q(L,void 0);else{let t=B.getActiveScopeSpan();await B.withPropagatedContext(e.headers,()=>B.trace(u.BaseServerSpan.handleRequest,{spanName:`${F} ${E}`,kind:i.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},e=>Q(e,t)),void 0,!G)}}e.s(["handler",0,C,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:y})},"routeModule",0,w,"serverHooks",0,A,"workAsyncStorage",0,E,"workUnitAsyncStorage",0,y])},43345,e=>{"use strict";var t=e.i(62294),r=e.i(26571),n=e.i(45383);let a=["authentication_unavailable","unauthenticated","principal_mismatch","agent_not_found","conversation_not_found","request_not_found"];async function i(e,r){let i,o=null,s=!1,l=null;try{i=await e(e=>{o=e},()=>{let e=o;r&&e&&"service"===e.kind&&t.serviceAudit.append({principal:e,operation:r.operation,capability:"participant",targetKind:r.targetKind,targetRef:r.targetRef,outcome:"allowed",code:null}),s=!0})}catch(e){if(e instanceof n.AgentApiError)l=e.code,i=Response.json({error:{code:e.code,message:e.message}},{status:e.status});else console.error("Agent conversation API error:",e),l="internal_error",i=Response.json({error:{code:"internal_error",message:"The request could not be processed."}},{status:500})}let c=o;if(s&&null===l)return i;if(r&&c&&"service"===c.kind)try{t.serviceAudit.append({principal:c,operation:r.operation,capability:"participant",targetKind:r.targetKind,targetRef:r.targetRef,outcome:null===l?"allowed":"internal_error"===l?"error":a.includes(l)?"denied":"rejected",code:l})}catch(e){return console.error("Service audit append failed:",e instanceof Error?e.message:"unknown error"),Response.json({error:{code:"internal_error",message:"The request could not be processed."}},{status:500})}return i}async function o(e){let t,a=function(){try{return(0,r.serviceTokenAuthenticatorFromEnv)()}catch(e){if(e instanceof r.ServiceTokenConfigError)return console.error(`Agent API authentication disabled: ${e.message}`),null;throw e}}();if(!a)throw new n.AgentApiError("authentication_unavailable","No authenticator is configured for the agent conversation API.");try{t=await a(e)}catch{t=null}if(!t||!(0,n.isPrincipalKind)(t.kind)||"string"!=typeof t.id||!t.id.trim())throw new n.AgentApiError("unauthenticated","Authentication failed.");return{kind:t.kind,id:t.id}}async function s(e,t){return i(async(r,a)=>{var i;let s,l=await o(e);r(l);try{let t=await e.json();if(!t||"object"!=typeof t||Array.isArray(t))throw Error("not an object");s=t}catch{throw new n.AgentApiError("invalid_request","The request body must be a JSON object.")}let c=null==(i=s.principal)?null:{kind:i.kind,id:String(i.id??"")};if(c&&!(0,n.samePrincipal)(c,l))throw new n.AgentApiError("principal_mismatch","The declared principal does not match the authenticated principal.");let u=e.headers.get("idempotency-key"),d="string"==typeof s.idempotencyKey?s.idempotencyKey:null;if(u&&d&&u!==d)throw new n.AgentApiError("invalid_request","Idempotency-Key header and body idempotencyKey differ.");let p=u??d??"";if(p.toLowerCase().startsWith(n.MCP_IDEMPOTENCY_PREFIX))throw new n.AgentApiError("invalid_request",`Idempotency keys starting with "${n.MCP_IDEMPOTENCY_PREFIX}" are reserved for the MCP bridge.`);let{accepted:h,dispatched:g}=(0,n.acceptAgentMessage)(l,{agentId:t,content:"string"==typeof s.content?s.content:"",idempotencyKey:p,conversationId:"string"==typeof s.conversationId?s.conversationId:null==s.conversationId?null:""},a);return!0===s.wait?(await g,Response.json({...(0,n.getAgentRequest)(l,h.requestId),replayed:h.replayed})):Response.json(h,{status:h.replayed?200:202})},{operation:"agents.message",targetKind:"agent",targetRef:t})}async function l(e,t){return i(async r=>{let a=await o(e);return r(a),Response.json((0,n.getConversation)(a,t))},{operation:"conversations.read",targetKind:"conversation",targetRef:t})}async function c(e,t){return i(async r=>{let a=await o(e);return r(a),Response.json((0,n.getAgentRequest)(a,t))},{operation:"requests.read",targetKind:"request",targetRef:t})}e.s(["authenticate",0,o,"handleGetAgentRequest",0,c,"handleGetConversation",0,l,"handleSendAgentMessage",0,s])},26571,e=>{"use strict";var t=e.i(54799);let r="BOTMANCERS_SERVICE_TOKENS",n=["botmancers-exchanges","botmancers-engine","botmancers-session-share","botmancers-session-context"],a=/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/,i=/^sha256:([0-9a-f]{64})$/;class o extends Error{constructor(e){super(e),this.name="ServiceTokenConfigError"}}e.s(["RESERVED_SERVICE_IDS",0,n,"ServiceTokenConfigError",0,o,"serviceTokenAuthenticatorFromEnv",0,function(e=process.env){let s=function(e){if(!e||!e.trim())return[];let t=[],s=new Set;for(let l of e.split(/[,\s]+/).filter(Boolean)){let e=l.indexOf("="),c=e>0?l.slice(0,e):"",u=i.exec(e>0?l.slice(e+1).toLowerCase():"");if(!a.test(c)||!u)throw new o(`${r} entries must be <service-id>=sha256:<64 hex digits>.`);if(s.has(c))throw new o(`${r} lists service ${c} twice.`);if(n.includes(c))throw new o(`${r} names the reserved engine principal ${c}.`);s.add(c),t.push({serviceId:c,digest:Buffer.from(u[1],"hex")})}return t}(e[r]);return s.length?e=>{let r,n,a=(n=(r=e.headers.get("authorization"))?/^Bearer[ \t]+(\S+)[ \t]*$/i.exec(r):null)?n[1]:null;if(!a||a.length>4096)return null;let i=(0,t.createHash)("sha256").update(a,"utf8").digest(),o=null;for(let e of s)(0,t.timingSafeEqual)(i,e.digest)&&null===o&&(o=e.serviceId);return o?{kind:"service",id:o}:null}:null}])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_0oodw7g._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[21232,e=>{"use strict";var t=e.i(43345);async function r(e,{params:n}){let{id:a}=await n;return(0,t.handleGetAgentRequest)(e,a)}e.s(["GET",0,r])},26808,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),a=e.i(59756),i=e.i(61916),o=e.i(74677),s=e.i(69741),l=e.i(16795),u=e.i(87718),c=e.i(95169),d=e.i(47587),p=e.i(66012),h=e.i(70101),g=e.i(26937),f=e.i(10372),v=e.i(93695),R=e.i(9580);e.i(52474);var m=e.i(220);let w=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/v0/requests/[id]/route",pathname:"/api/v0/requests/[id]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/v0/requests/[id]/route.ts",nextConfigOutput:"standalone",userland:()=>e.r(21232),...{}}),{workAsyncStorage:E,workUnitAsyncStorage:y,serverHooks:A}=w;async function C(e,t,n){n.requestMeta&&(0,a.setRequestMeta)(e,n.requestMeta),w.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let E="/api/v0/requests/[id]/route";E=E.replace(/\/index$/,"")||"/";let y=await w.prepare(e,t,{srcPage:E,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:A,deploymentId:C,params:_,nextConfig:T,parsedUrl:b,isDraftMode:x,prerenderManifest:S,routerServerContext:q,isOnDemandRevalidate:P,revalidateOnlyGenerated:I,resolvedPathname:N,clientReferenceManifest:k,serverActionsManifest:O}=y,M=(0,s.normalizeAppPath)(E),K=!!S.routes[N]&&(w.isDev||(0,R.isRouteCacheOwner)(N,w.cacheOwner,S.routes[N])),H=!!(S.dynamicRoutes[M]||K),j=async()=>((null==q?void 0:q.render404)?await q.render404(e,t,b,!1):t.end("This page could not be found"),null);if(H&&!x){let e=S.dynamicRoutes[M];if(e&&!1===e.fallback&&!K){if(T.adapterPath)return await j();throw new v.NoFallbackError}}let D=null;!H||w.isDev||x||(D="/index"===(D=N)?"/":D);let $=!0===w.isDev||!H,U=H&&!$;O&&k&&(0,o.setManifestsSingleton)({page:E,clientReferenceManifest:k,serverActionsManifest:O});let F=e.method||"GET",B=(0,i.getTracer)(),G=B.getActiveScopeSpan(),L=!!(null==q?void 0:q.isWrappedByNextServer),V=!!(0,a.getRequestMeta)(e,"minimalMode"),X=(0,a.getRequestMeta)(e,"incrementalCache")||await w.getIncrementalCache(e,T,S,V);null==X||X.resetRequestCache(),globalThis.__incrementalCache=X;let z={params:_,previewProps:S.preview,renderOpts:{experimental:{authInterrupts:!!T.experimental.authInterrupts,useCacheTimeout:T.experimental.useCacheTimeout},cacheComponents:!!T.cacheComponents,validationLevel:T.experimental.instantInsights.validationLevel,isDraftMode:x,supportsDynamicResponse:$,incrementalCache:X,hmrRefreshHash:(0,a.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:T.cacheLife,staticPageGenerationTimeout:T.staticPageGenerationTimeout,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>w.onRequestError(e,t,n,a,q)},sharedContext:{buildId:A,deploymentId:C}},W=new l.NodeNextRequest(e),Z=new l.NodeNextResponse(t),Y=u.NextRequestAdapter.fromNodeNextRequest(W,(0,u.signalFromNodeResponse)(t)),J=async({previousCacheEntry:r})=>{try{if(!V&&P&&I&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await w.handle(Y,z);e.fetchMetrics=z.renderOpts.fetchMetrics;let i=z.renderOpts.pendingWaitUntil;i&&n.waitUntil&&(n.waitUntil(i),i=void 0);let o=z.renderOpts.collectedTags;if(!H)return await (0,p.sendResponse)(W,Z,a,i),null;{let e=await a.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(a.headers);o&&(t[f.NEXT_CACHE_TAGS_HEADER]=o),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,n=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=f.INFINITE_CACHE?!1!==r&&r>0?T.expireTime:void 0:z.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await w.onRequestError(e,t,{routerKind:"App Router",routePath:E,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:P})},!1,q),t}},Q=async(a,o)=>{try{var s,l;let a=await w.handleResponse({req:e,nextConfig:T,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:P,revalidateOnlyGenerated:I,responseGenerator:J,waitUntil:n.waitUntil,isMinimalMode:V});if(!H)return;if((null==a||null==(s=a.value)?void 0:s.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==a||null==(l=a.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});V||t.setHeader("x-nextjs-cache",P?"REVALIDATED":a.isMiss?"MISS":a.isStale?"STALE":"HIT"),x&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let i=(0,h.fromNodeOutgoingHttpHeaders)(a.value.headers);V&&H||i.delete(f.NEXT_CACHE_TAGS_HEADER),!a.cacheControl||t.getHeader("Cache-Control")||i.get("Cache-Control")||i.set("Cache-Control",(0,g.getCacheControlHeader)(a.cacheControl)),await (0,p.sendResponse)(W,Z,new Response(a.value.body,{headers:i,status:a.value.status||200}));return}catch(t){if(t instanceof v.NoFallbackError||await w.onRequestError(e,t,{routerKind:"App Router",routePath:M,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:P})},!1,q),H)throw t;await (0,p.sendResponse)(W,Z,new Response(null,{status:500}));return}finally{(()=>{if(!a)return;let e=t.statusCode;a.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(a.setStatus({code:i.SpanStatusCode.ERROR}),a.setAttribute("error.type",e.toString()));let r=B.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==c.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route")||M,s=`${F} ${n}`;a.setAttributes({"next.route":n,"http.route":n,"next.span_name":s}),a.updateName(s),o&&o!==a&&(o.setAttribute("http.route",n),o.updateName(s))})()}};if(L&&G)await Q(G,void 0);else{let t=B.getActiveScopeSpan();await B.withPropagatedContext(e.headers,()=>B.trace(c.BaseServerSpan.handleRequest,{spanName:`${F} ${E}`,kind:i.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},e=>Q(e,t)),void 0,!L)}}e.s(["handler",0,C,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:y})},"routeModule",0,w,"serverHooks",0,A,"workAsyncStorage",0,E,"workUnitAsyncStorage",0,y])},43345,e=>{"use strict";var t=e.i(62294),r=e.i(26571),n=e.i(45383);let a=["authentication_unavailable","unauthenticated","principal_mismatch","agent_not_found","conversation_not_found","request_not_found"];async function i(e,r){let i,o=null,s=!1,l=null;try{i=await e(e=>{o=e},()=>{let e=o;r&&e&&"service"===e.kind&&t.serviceAudit.append({principal:e,operation:r.operation,capability:"participant",targetKind:r.targetKind,targetRef:r.targetRef,outcome:"allowed",code:null}),s=!0})}catch(e){if(e instanceof n.AgentApiError)l=e.code,i=Response.json({error:{code:e.code,message:e.message}},{status:e.status});else console.error("Agent conversation API error:",e),l="internal_error",i=Response.json({error:{code:"internal_error",message:"The request could not be processed."}},{status:500})}let u=o;if(s&&null===l)return i;if(r&&u&&"service"===u.kind)try{t.serviceAudit.append({principal:u,operation:r.operation,capability:"participant",targetKind:r.targetKind,targetRef:r.targetRef,outcome:null===l?"allowed":"internal_error"===l?"error":a.includes(l)?"denied":"rejected",code:l})}catch(e){return console.error("Service audit append failed:",e instanceof Error?e.message:"unknown error"),Response.json({error:{code:"internal_error",message:"The request could not be processed."}},{status:500})}return i}async function o(e){let t,a=function(){try{return(0,r.serviceTokenAuthenticatorFromEnv)()}catch(e){if(e instanceof r.ServiceTokenConfigError)return console.error(`Agent API authentication disabled: ${e.message}`),null;throw e}}();if(!a)throw new n.AgentApiError("authentication_unavailable","No authenticator is configured for the agent conversation API.");try{t=await a(e)}catch{t=null}if(!t||!(0,n.isPrincipalKind)(t.kind)||"string"!=typeof t.id||!t.id.trim())throw new n.AgentApiError("unauthenticated","Authentication failed.");return{kind:t.kind,id:t.id}}async function s(e,t){return i(async(r,a)=>{var i;let s,l=await o(e);r(l);try{let t=await e.json();if(!t||"object"!=typeof t||Array.isArray(t))throw Error("not an object");s=t}catch{throw new n.AgentApiError("invalid_request","The request body must be a JSON object.")}let u=null==(i=s.principal)?null:{kind:i.kind,id:String(i.id??"")};if(u&&!(0,n.samePrincipal)(u,l))throw new n.AgentApiError("principal_mismatch","The declared principal does not match the authenticated principal.");let c=e.headers.get("idempotency-key"),d="string"==typeof s.idempotencyKey?s.idempotencyKey:null;if(c&&d&&c!==d)throw new n.AgentApiError("invalid_request","Idempotency-Key header and body idempotencyKey differ.");let p=c??d??"";if(p.toLowerCase().startsWith(n.MCP_IDEMPOTENCY_PREFIX))throw new n.AgentApiError("invalid_request",`Idempotency keys starting with "${n.MCP_IDEMPOTENCY_PREFIX}" are reserved for the MCP bridge.`);let{accepted:h,dispatched:g}=(0,n.acceptAgentMessage)(l,{agentId:t,content:"string"==typeof s.content?s.content:"",idempotencyKey:p,conversationId:"string"==typeof s.conversationId?s.conversationId:null==s.conversationId?null:""},a);return!0===s.wait?(await g,Response.json({...(0,n.getAgentRequest)(l,h.requestId),replayed:h.replayed})):Response.json(h,{status:h.replayed?200:202})},{operation:"agents.message",targetKind:"agent",targetRef:t})}async function l(e,t){return i(async r=>{let a=await o(e);return r(a),Response.json((0,n.getConversation)(a,t))},{operation:"conversations.read",targetKind:"conversation",targetRef:t})}async function u(e,t){return i(async r=>{let a=await o(e);return r(a),Response.json((0,n.getAgentRequest)(a,t))},{operation:"requests.read",targetKind:"request",targetRef:t})}e.s(["authenticate",0,o,"handleGetAgentRequest",0,u,"handleGetConversation",0,l,"handleSendAgentMessage",0,s])},26571,e=>{"use strict";var t=e.i(54799);let r="BOTMANCERS_SERVICE_TOKENS",n=["botmancers-exchanges","botmancers-engine","botmancers-session-share","botmancers-session-context"],a=/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/,i=/^sha256:([0-9a-f]{64})$/;class o extends Error{constructor(e){super(e),this.name="ServiceTokenConfigError"}}e.s(["RESERVED_SERVICE_IDS",0,n,"ServiceTokenConfigError",0,o,"serviceTokenAuthenticatorFromEnv",0,function(e=process.env){let s=function(e){if(!e||!e.trim())return[];let t=[],s=new Set;for(let l of e.split(/[,\s]+/).filter(Boolean)){let e=l.indexOf("="),u=e>0?l.slice(0,e):"",c=i.exec(e>0?l.slice(e+1).toLowerCase():"");if(!a.test(u)||!c)throw new o(`${r} entries must be <service-id>=sha256:<64 hex digits>.`);if(s.has(u))throw new o(`${r} lists service ${u} twice.`);if(n.includes(u))throw new o(`${r} names the reserved engine principal ${u}.`);s.add(u),t.push({serviceId:u,digest:Buffer.from(c[1],"hex")})}return t}(e[r]);return s.length?e=>{let r,n,a=(n=(r=e.headers.get("authorization"))?/^Bearer[ \t]+(\S+)[ \t]*$/i.exec(r):null)?n[1]:null;if(!a||a.length>4096)return null;let i=(0,t.createHash)("sha256").update(a,"utf8").digest(),o=null;for(let e of s)(0,t.timingSafeEqual)(i,e.digest)&&null===o&&(o=e.serviceId);return o?{kind:"service",id:o}:null}:null}])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_0owd_4q._.js.map
|