botmancers 0.9.3 → 0.10.1
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 +30 -0
- package/README.md +5 -5
- package/app/.next/BUILD_ID +1 -1
- package/app/.next/app-path-routes-manifest.json +1 -0
- 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/routes-manifest.json +6 -0
- 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/page.js.nft.json +1 -1
- package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/_not-found.html +1 -1
- package/app/.next/server/app/_not-found.rsc +2 -2
- package/app/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/app/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/app/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/agents/[id]/activity/page.js.nft.json +1 -1
- package/app/.next/server/app/agents/[id]/activity/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/agents/[id]/config/page.js.nft.json +1 -1
- package/app/.next/server/app/agents/[id]/config/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/agents/[id]/conversations/[conversationId]/page.js.nft.json +1 -1
- package/app/.next/server/app/agents/[id]/conversations/[conversationId]/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/agents/[id]/conversations/page.js.nft.json +1 -1
- package/app/.next/server/app/agents/[id]/conversations/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/agents/[id]/page.js.nft.json +1 -1
- package/app/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/agents/[id]/sessions/page.js.nft.json +1 -1
- package/app/.next/server/app/agents/[id]/sessions/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/agents/[id]/slack/page.js.nft.json +1 -1
- package/app/.next/server/app/agents/[id]/slack/page_client-reference-manifest.js +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.nft.json +1 -1
- 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.nft.json +1 -1
- 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.nft.json +1 -1
- 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.nft.json +1 -1
- 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.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.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.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.nft.json +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.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.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/app-paths-manifest.json +3 -0
- package/app/.next/server/app/api/runtime-capacity/route/build-manifest.json +12 -0
- package/app/.next/server/app/api/runtime-capacity/route/server-reference-manifest.json +4 -0
- package/app/.next/server/app/api/runtime-capacity/route.js +10 -0
- package/app/.next/server/app/api/runtime-capacity/route.js.nft.json +1 -0
- package/app/.next/server/app/api/runtime-capacity/route_client-reference-manifest.js +3 -0
- package/app/.next/server/app/api/runtime-connections/route.js.nft.json +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.nft.json +1 -1
- 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.nft.json +1 -1
- 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.nft.json +1 -1
- 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.nft.json +1 -1
- 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.nft.json +1 -1
- package/app/.next/server/app/api/v0/agents/route.js.nft.json +1 -1
- 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.nft.json +1 -1
- 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.nft.json +1 -1
- package/app/.next/server/app/api/v0/exchanges/route.js.nft.json +1 -1
- 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.nft.json +1 -1
- 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.nft.json +1 -1
- 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.nft.json +1 -1
- 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.nft.json +1 -1
- 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.nft.json +1 -1
- 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.nft.json +1 -1
- 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.nft.json +1 -1
- package/app/.next/server/app/api/wakes/[id]/retry/route.js.nft.json +1 -1
- package/app/.next/server/app/bots/[id]/config/page.js.nft.json +1 -1
- package/app/.next/server/app/bots/[id]/config/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/exchanges/page.js.nft.json +1 -1
- package/app/.next/server/app/exchanges/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/exchanges.html +1 -1
- package/app/.next/server/app/exchanges.rsc +3 -3
- package/app/.next/server/app/exchanges.segments/_full.segment.rsc +3 -3
- package/app/.next/server/app/exchanges.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/exchanges.segments/exchanges/__PAGE__.segment.rsc +3 -3
- package/app/.next/server/app/index.html +1 -1
- package/app/.next/server/app/index.rsc +3 -3
- package/app/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -3
- package/app/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/app/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/page.js.nft.json +1 -1
- package/app/.next/server/app/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/settings/page.js.nft.json +1 -1
- package/app/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/settings.html +1 -1
- package/app/.next/server/app/settings.rsc +3 -3
- package/app/.next/server/app/settings.segments/_full.segment.rsc +3 -3
- package/app/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/app/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +3 -3
- package/app/.next/server/app/threads/[id]/route.js.nft.json +1 -1
- package/app/.next/server/app-paths-manifest.json +1 -0
- package/app/.next/server/chunks/[externals]__06_ygwr._.js +3 -0
- package/app/.next/server/chunks/{[externals]__1eaoma8._.js → [externals]__0z3qnkl._.js} +2 -2
- package/app/.next/server/chunks/[root-of-the-server]__0aincj4._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0anfwiu._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__0fku-bw._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__1280ke1._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__13wghn3._.js +4 -4
- package/app/.next/server/chunks/[root-of-the-server]__1jxwu9_._.js +2 -2
- package/app/.next/server/chunks/{[root-of-the-server]__00ntari._.js → [root-of-the-server]__1nf6z4s._.js} +10 -10
- package/app/.next/server/chunks/[root-of-the-server]__1qbadul._.js +5 -0
- package/app/.next/server/chunks/_0061c2q._.js +1 -1
- package/app/.next/server/chunks/_1-5mthb._.js +1 -1
- package/app/.next/server/chunks/_1a0er16._.js +3 -3
- package/app/.next/server/chunks/_1uxmsh3._.js +3 -3
- package/app/.next/server/chunks/_next-internal_server_app_api_runtime-capacity_route_actions_1dzvg7f.js +3 -0
- package/app/.next/server/chunks/lib_service-api_ts_18eok4w._.js +3 -3
- package/app/.next/server/chunks/ssr/_00qrupp._.js +3 -0
- package/app/.next/server/chunks/ssr/_01ngpwj._.js +1 -1
- package/app/.next/server/chunks/ssr/_0d7gv3q._.js +3 -0
- package/app/.next/server/chunks/ssr/_0iywd5g._.js +1 -1
- package/app/.next/server/chunks/ssr/_0mxifu3._.js +1 -1
- package/app/.next/server/chunks/ssr/_0u7urta._.js +1 -1
- package/app/.next/server/chunks/ssr/app_agents_[id]_0sr4fdg._.js +1 -1
- package/app/.next/server/chunks/ssr/app_agents_[id]_activity_AgentActivityPage_tsx_042-590._.js +1 -1
- package/app/.next/server/chunks/ssr/app_agents_[id]_config_page_tsx_1f_gu1l._.js +1 -1
- package/app/.next/server/chunks/ssr/app_agents_[id]_sessions_page_tsx_0tfup-2._.js +3 -3
- package/app/.next/server/chunks/ssr/app_agents_[id]_slack_AgentSlackPage_tsx_20njhs1._.js +1 -1
- package/app/.next/server/chunks/ssr/app_page_tsx_0pxmutw._.js +1 -1
- package/app/.next/server/chunks/ssr/lib_0pfn9gs._.js +1 -1
- package/app/.next/server/chunks/ssr/lib_agent-registration-ui_ts_1z582mm._.js +1 -1
- package/app/.next/server/chunks/ssr/lib_exchange-view_ts_1a4q9ju._.js +1 -1
- package/app/.next/server/chunks/ssr/lib_share-view_ts_08psw5o._.js +1 -1
- package/app/.next/server/middleware-build-manifest.js +3 -3
- package/app/.next/server/middleware.js +2 -2
- 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/.next/static/chunks/{2dtkykrnob8wk.js → 00pca1oa16xc5.js} +1 -1
- package/app/.next/static/chunks/{3x56k5qa012au.js → 0apccyvpyjlo7.js} +1 -1
- package/app/.next/static/chunks/{04nfr73lkk7pz.js → 0l9r-x310007w.js} +1 -1
- package/app/.next/static/chunks/{0eqgs3167zj2j.js → 0xo3nwo_nscvf.js} +1 -1
- package/app/.next/static/chunks/{326jto9l-m8vj.js → 0z_bq7h1mwcf3.js} +4 -4
- package/app/.next/static/chunks/18btj4qlun8o7.js +1 -0
- package/app/.next/static/chunks/{2cc4uzbhs_v23.js → 1k8e6j67zksws.js} +1 -1
- package/app/.next/static/chunks/1y9hc8qm0hqds.js +1 -0
- package/app/.next/static/chunks/{2ebpfmg4vni8e.js → 2wbcr5n_vcynr.js} +1 -1
- package/app/.next/static/chunks/3_lwv2zgy_-bw.css +3 -0
- package/app/.next/static/chunks/3a_ffnuma49te.js +1 -0
- package/app/.next/static/chunks/{3whw2-l4a2sli.js → 3fm68xa8a4-es.js} +1 -1
- package/app/.next/static/chunks/{0cjh4u-f7mlwd.js → 3gw1ytgjq4pxu.js} +1 -1
- package/app/.next/static/chunks/3wlqn3gd_jv_r.js +1 -0
- package/app/.next/static/chunks/3xjoca0z2onuc.js +1 -0
- package/app/BUILD_INFO.json +2 -2
- package/app/package.json +1 -1
- package/app/public/brand/harness/claude.svg +3 -0
- package/app/public/brand/harness/codex.png +0 -0
- package/app/public/brand/harness/cursor.svg +3 -0
- package/app/public/brand/harness/muse.svg +33 -0
- package/app/server.js +1 -1
- package/package.json +1 -1
- package/schemas/botmancers.mcp.v2.tools.json +46 -46
- package/app/.next/server/chunks/ssr/_0g3y1u9._.js +0 -3
- package/app/.next/server/chunks/ssr/app_agents_[id]_conversations_page_tsx_15zl_c8._.js +0 -3
- package/app/.next/static/chunks/10i-rrea371m2.js +0 -1
- package/app/.next/static/chunks/1ob-de9xo9m2e.css +0 -3
- package/app/.next/static/chunks/1ypwptc0fsn4w.js +0 -1
- package/app/.next/static/chunks/1zryovio86f1z.js +0 -1
- package/app/.next/static/chunks/34v8aumua0x5n.js +0 -1
- package/app/.next/static/chunks/3m-2-98qud-hf.js +0 -1
- /package/app/.next/static/{0BJMiZPkEfFOd56nhl62e → eBmHBBldHWytVvYPu0zHc}/_buildManifest.js +0 -0
- /package/app/.next/static/{0BJMiZPkEfFOd56nhl62e → eBmHBBldHWytVvYPu0zHc}/_clientMiddlewareManifest.js +0 -0
- /package/app/.next/static/{0BJMiZPkEfFOd56nhl62e → eBmHBBldHWytVvYPu0zHc}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,66464,e=>{"use strict";var t=e.i(43476),s=e.i(22016),a=e.i(71645),n=e.i(70925);let i=[{value:"all",label:"All"},{value:"sessions",label:"Sessions"},{value:"conversations",label:"Conversations & exchanges"},{value:"slack",label:"Slack"},{value:"errors",label:"Errors"}],r={filter:"all",requestKey:"",activity:{state:"loading"},nextCursor:null,loadingMore:!1};function l(e,t){return"select_filter"===t.type?{...e,filter:t.filter,requestKey:"",activity:{state:"loading"},nextCursor:null,loadingMore:!1}:"request_started"===t.type?{...e,requestKey:t.key,activity:{state:"loading"},nextCursor:null,loadingMore:!1}:"request_succeeded"===t.type?t.key===e.requestKey?{...e,activity:{state:"ready",items:t.items},nextCursor:t.nextCursor}:e:"request_failed"===t.type?t.key===e.requestKey?{...e,activity:{state:"error"},nextCursor:null}:e:"load_started"===t.type?t.key===e.requestKey?{...e,loadingMore:!0}:e:"load_succeeded"===t.type&&t.key===e.requestKey&&"ready"===e.activity.state?{...e,activity:{state:"ready",items:[...e.activity.items,...t.items]},nextCursor:t.nextCursor,loadingMore:!1}:"load_failed"===t.type&&t.key===e.requestKey?{...e,activity:{state:"error"},nextCursor:null,loadingMore:!1}:e}function c(e,t,s=null){let a=new URLSearchParams({filter:t,limit:String(20)});return s&&a.set("cursor",s),`/api/bots/${encodeURIComponent(e)}/activity?${a.toString()}`}function o({items:e,compact:a=!1}){return(0,t.jsx)("ol",{className:a?"agent-activity-list is-compact":"agent-activity-list","aria-label":"Agent activity, newest first",children:e.map(e=>(0,t.jsxs)("li",{className:`agent-activity-item is-${e.severity}`,"data-activity-kind":e.kind,children:[(0,t.jsx)("span",{className:"agent-activity-marker","aria-hidden":"true"}),(0,t.jsxs)("div",{className:"agent-activity-card",children:[(0,t.jsxs)("div",{className:"agent-activity-summary",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"agent-activity-category",children:"conversations"===e.category?"Conversations & exchanges":e.category}),(0,t.jsx)("strong",{children:e.summary}),(0,t.jsx)("time",{dateTime:new Date(e.occurred_at).toISOString(),children:new Date(e.occurred_at).toLocaleString()})]}),e.attention?(0,t.jsx)("span",{className:"agent-activity-attention",children:"Needs attention"}):null]}),(0,t.jsx)("div",{className:"agent-activity-actions",children:(0,t.jsx)(s.default,{href:e.target.href,children:e.target.label})}),!a&&Object.keys(e.details).length?(0,t.jsxs)("details",{className:"agent-activity-details",children:[(0,t.jsx)("summary",{children:"Raw details"}),(0,t.jsx)("dl",{children:Object.entries(e.details).map(([e,s])=>(0,t.jsxs)("div",{children:[(0,t.jsx)("dt",{children:e.replaceAll("_"," ")}),(0,t.jsx)("dd",{children:(0,t.jsx)("code",{children:String(s)})})]},e))}),(0,t.jsx)("p",{children:"Safe structured fields only. Provider transcripts and identifiers are excluded."})]}):null]})]},e.id))})}function d({activity:e,filter:s,nextCursor:a,loadingMore:n,onLoadMore:r}){return(0,t.jsxs)(t.Fragment,{children:["loading"===e.state?(0,t.jsx)("p",{className:"agent-activity-state",role:"status",children:"Loading activity…"}):null,"error"===e.state?(0,t.jsxs)("div",{className:"agent-activity-state is-error",role:"alert",children:[(0,t.jsx)("strong",{children:"Activity unavailable"}),(0,t.jsx)("p",{children:"No partial or stale timeline is shown. Refresh to try again."})]}):null,"ready"!==e.state||e.items.length?null:(0,t.jsx)("p",{className:"agent-activity-state",children:"all"===s?"No operational activity has been recorded for this agent yet.":`No ${i.find(e=>e.value===s)?.label.toLowerCase()} activity matches this filter.`}),"ready"===e.state&&e.items.length?(0,t.jsx)(o,{items:e.items}):null,"ready"===e.state&&a?(0,t.jsx)("button",{type:"button",className:"agent-activity-more",onClick:r,disabled:n,children:n?"Loading…":"Load older activity"}):null]})}e.s(["ActivityList",0,o,"ActivityResults",0,d,"activityPageReducer",0,l,"agentActivityUrl",0,c,"default",0,function(){let{id:e,overview:o,loading:h,error:u,notFound:g}=(0,n.useAgentOverview)(),[m,x]=(0,a.useReducer)(l,r),{filter:y,activity:p,nextCursor:v,loadingMore:j}=m,f=(0,a.useRef)(0),N=(0,a.useCallback)((t=null)=>c(e,y,t),[y,e]);(0,a.useEffect)(()=>{let t=!1,s=++f.current,a=`${e}:${y}:${s}`;return x({type:"request_started",key:a}),fetch(N(),{cache:"no-store"}).then(async e=>{let n=await e.json().catch(()=>null);if(!e.ok||!Array.isArray(n?.activity))throw Error("activity");t||s!==f.current||x({type:"request_succeeded",key:a,items:n.activity,nextCursor:"string"==typeof n.next_cursor?n.next_cursor:null})}).catch(()=>{t||s!==f.current||x({type:"request_failed",key:a})}),()=>{t=!0}},[y,e,N]);let w=async()=>{if(!v||"ready"!==p.state||j)return;let e=m.requestKey;x({type:"load_started",key:e});try{let t=await fetch(N(v),{cache:"no-store"}),s=await t.json().catch(()=>null);if(!t.ok||!Array.isArray(s?.activity))throw Error("activity");x({type:"load_succeeded",key:e,items:s.activity,nextCursor:"string"==typeof s.next_cursor?s.next_cursor:null})}catch{x({type:"load_failed",key:e})}};return h?(0,t.jsx)("div",{className:"agent-state",role:"status",children:"Loading agent activity…"}):g?(0,t.jsxs)("div",{className:"agent-state",children:[(0,t.jsx)("h2",{children:"Agent not found"}),(0,t.jsx)(s.default,{href:"/",children:"Choose an agent"})]}):u||!o?(0,t.jsxs)("div",{className:"agent-state",role:"alert",children:[(0,t.jsx)("h2",{children:"Activity unavailable"}),(0,t.jsx)("p",{children:"Botmancers could not load this agent."})]}):(0,t.jsxs)("div",{className:"agent-activity","data-agent-activity-page":!0,children:[(0,t.jsxs)("header",{className:"agent-activity-intro",children:[(0,t.jsx)("p",{className:"agent-eyebrow",children:"Activity"}),(0,t.jsxs)("h2",{children:["What changed for ",o.agent.name]}),(0,t.jsx)("p",{children:"Operational history from Botmancers records. Open the owning page for actions and complete detail."})]}),(0,t.jsx)("div",{className:"agent-activity-filters",role:"group","aria-label":"Filter Agent activity",children:i.map(e=>(0,t.jsx)("button",{type:"button","aria-pressed":y===e.value,onClick:()=>x({type:"select_filter",filter:e.value}),children:e.label},e.value))}),(0,t.jsx)(d,{activity:p,filter:y,nextCursor:v,loadingMore:j,onLoadMore:()=>{w()}})]})},"initialActivityPageState",0,r],66464)},65143,e=>{"use strict";var t=e.i(43476),s=e.i(71645),a=e.i(22016),n=e.i(70925),i=e.i(3136),r=e.i(8880),l=e.i(66464);let c=[{id:"cursor",label:"Cursor"},{id:"codex",label:"Codex"},{id:"claude",label:"Claude Code"}];function o(e){return`botmancers setup --client ${e}`}async function d(e,t){try{let s=t??navigator.clipboard;return await s.writeText(e),!0}catch{return!1}}function h(){let[e,a]=(0,s.useState)("cursor"),[n,i]=(0,s.useState)(null),l=o(e);async function h(e){a(e),await d(o(e))?(i(e),window.setTimeout(()=>i(t=>t===e?null:t),1600)):i(null)}return(0,t.jsxs)("div",{className:"agent-setup-clients",children:[(0,t.jsx)("div",{className:"agent-setup-client-row",role:"group","aria-label":"Copy setup command for a coding client",children:c.map(s=>{let a=e===s.id,i=n===s.id;return(0,t.jsxs)("button",{type:"button",className:`agent-setup-client${a?" is-active":""}${i?" is-copied":""}`,"aria-pressed":a,"aria-label":i?`Copied setup command for ${s.label}`:`Copy setup command for ${s.label}`,onClick:()=>void h(s.id),children:[(0,t.jsx)(r.HarnessIcon,{agent:s.id,size:14,className:"agent-setup-client-mark"}),(0,t.jsx)("span",{children:i?"Copied":s.label})]},s.id)})}),(0,t.jsx)("pre",{className:"agent-setup-command",children:(0,t.jsx)("code",{children:l})})]})}function u({agentName:e}){let[a,n]=(0,s.useState)(!1),i=`Use Botmancers to ask ${e}: <your question>`;async function r(){await d(i)?(n(!0),window.setTimeout(()=>n(!1),1600)):n(!1)}return(0,t.jsxs)("div",{className:"agent-setup-prompt",children:[(0,t.jsx)("pre",{className:"agent-setup-command",children:(0,t.jsx)("code",{children:i})}),(0,t.jsx)("button",{type:"button",className:`agent-setup-client agent-setup-copy${a?" is-copied":""}`,"aria-label":a?`Copied prompt to ask ${e}`:`Copy prompt to ask ${e}`,onClick:()=>void r(),children:a?"Copied":"Copy"})]})}function g({rows:e,empty:s}){return e.length?(0,t.jsx)("ul",{className:"agent-work-list",children:e.map(e=>(0,t.jsx)("li",{children:(0,t.jsxs)("span",{children:[(0,t.jsx)("strong",{children:e.title}),(0,t.jsxs)("small",{children:["active"===e.status?"Active now":"Recent"," · ",new Date(e.last_activity_at).toLocaleString()]})]})},e.ref))}):(0,t.jsx)("p",{className:"agent-empty",children:s})}e.s(["default",0,function(){let{id:e,overview:s,loading:r,error:c,notFound:o}=(0,n.useAgentOverview)();if(r)return(0,t.jsx)("div",{className:"agent-state",role:"status",children:"Loading agent overview…"});if(o)return(0,t.jsxs)("div",{className:"agent-state",children:[(0,t.jsx)("h2",{children:"Agent not found"}),(0,t.jsx)("p",{children:"This agent does not exist or was removed."}),(0,t.jsx)(a.default,{href:"/",children:"Choose an agent"})]});if(c||!s)return(0,t.jsxs)("div",{className:"agent-state",role:"alert",children:[(0,t.jsx)("h2",{children:"Overview unavailable"}),(0,t.jsx)("p",{children:"Botmancers could not load this agent. Refresh to try again."})]});let d=`/agents/${encodeURIComponent(e)}/config`,m=s.conversation?`/agents/${encodeURIComponent(e)}/conversations/${encodeURIComponent(s.conversation.id)}`:`/agents/${encodeURIComponent(e)}/conversations`,x=s.messaging.home_session_ref?"Home session configured":s.messaging.new_sessions_allowed&&s.messaging.default_workspace_set?"Can start a configured session":s.current_work.length>0?"Uses an eligible existing session":"No ready session is known";return(0,t.jsxs)("div",{className:"agent-overview","data-agent-overview":!0,children:[(0,t.jsxs)("div",{className:"agent-overview-grid",children:[(0,t.jsxs)("section",{className:"agent-panel agent-instructions",children:[(0,t.jsxs)("div",{className:"agent-panel-head",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"agent-eyebrow",children:"Standing instructions"}),(0,t.jsx)("h2",{children:"How this agent works"})]}),(0,t.jsx)(a.default,{href:d,children:"Config"})]}),(0,t.jsxs)("dl",{children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("dt",{children:"Rules"}),(0,t.jsx)("dd",{children:s.instructions.rules})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("dt",{children:"Skill"}),(0,t.jsx)("dd",{children:s.instructions.skill})]})]})]}),(0,t.jsxs)("section",{className:"agent-panel",children:[(0,t.jsxs)("div",{className:"agent-panel-head",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"agent-eyebrow",children:"Runtime"}),(0,t.jsx)("h2",{children:s.runtime.available?"Ready to work":"Setup required"})]}),(0,t.jsx)(a.default,{href:d,children:"Config"})]}),(0,t.jsx)("p",{children:s.runtime.available?`${(0,i.agentLabel)(s.runtime.agent)} is connected through ${s.runtime.connection||"the configured runtime"}.`:"This agent cannot launch with its current registration. Open Config to resolve the connection or session scope."}),(0,t.jsxs)("dl",{className:"agent-runtime-facts",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("dt",{children:"Heartbeat"}),(0,t.jsx)("dd",{children:s.runtime.last_seen?new Date(s.runtime.last_seen).toLocaleString():"Not reported"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("dt",{children:"Messaging"}),(0,t.jsx)("dd",{children:x})]})]}),(0,t.jsx)("p",{className:"agent-muted",children:"Messages use the agent’s configured home session or launch policy. Callers do not choose its runtime, model, or provider session."})]})]}),(0,t.jsxs)("section",{className:"agent-use","aria-labelledby":"open-this-agent",children:[(0,t.jsx)("p",{className:"agent-eyebrow",children:"Open this agent"}),(0,t.jsx)("h2",{id:"open-this-agent",children:"Make it reachable"}),(0,t.jsxs)("div",{className:"agent-use-grid",children:[(0,t.jsxs)("article",{children:[(0,t.jsx)("span",{className:"agent-use-number",children:"01"}),(0,t.jsx)("h3",{children:"Use from a coding agent"}),(0,t.jsxs)("p",{children:["Let another coding agent discover ",s.agent.name," and ask its sessions — so work learned here can travel between agents."]}),(0,t.jsxs)("ol",{className:"agent-setup-steps",children:[(0,t.jsxs)("li",{children:[(0,t.jsxs)("h4",{children:[(0,t.jsx)("span",{className:"agent-setup-step-label",children:"Step 1"})," Install in your coding agent"]}),(0,t.jsxs)("p",{className:"agent-muted",children:["Run this where your coding agent runs (the one that will ask ",s.agent.name,"), not on this registered agent. Click your client to copy it:"]}),(0,t.jsx)(h,{})]}),(0,t.jsxs)("li",{children:[(0,t.jsxs)("h4",{children:[(0,t.jsx)("span",{className:"agent-setup-step-label",children:"Step 2"})," Ask it to talk to ",s.agent.name]}),(0,t.jsx)(u,{agentName:s.agent.name}),(0,t.jsxs)("p",{className:"agent-muted",children:["Your coding agent sends the question to ",s.agent.name,", waits for the answer, and can read the conversation."]})]})]})]}),(0,t.jsxs)("article",{children:[(0,t.jsx)("span",{className:"agent-use-number",children:"02"}),(0,t.jsx)("h3",{children:"Share a session to Slack"}),(0,t.jsx)("p",{children:"Open one of this agent’s sessions to people in Slack — a time-limited, read-only share so others can ask what the session already knows."}),(0,t.jsx)(a.default,{href:`/agents/${encodeURIComponent(e)}/slack`,children:"Share through Slack"})]}),(0,t.jsxs)("article",{children:[(0,t.jsx)("span",{className:"agent-use-number",children:"03"}),(0,t.jsx)("h3",{children:"Message in Botmancers"}),(0,t.jsxs)("p",{children:["Talk directly with ",s.agent.name," in a focused conversation when you are the one asking."]}),(0,t.jsx)(a.default,{href:m,children:"Open conversation"})]})]})]}),(0,t.jsxs)("div",{className:"agent-overview-grid agent-work-grid",children:[(0,t.jsxs)("section",{className:"agent-panel",children:[(0,t.jsxs)("div",{className:"agent-panel-head",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"agent-eyebrow",children:"Current work"}),(0,t.jsx)("h2",{children:"Active sessions"})]}),(0,t.jsx)(a.default,{href:`/agents/${encodeURIComponent(e)}/sessions`,children:"All sessions"})]}),(0,t.jsx)(g,{rows:s.current_work,empty:"No active work right now."})]}),(0,t.jsxs)("section",{className:"agent-panel",children:[(0,t.jsxs)("div",{className:"agent-panel-head",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"agent-eyebrow",children:"Recent activity"}),(0,t.jsx)("h2",{children:"Latest work"})]}),(0,t.jsx)(a.default,{href:`/agents/${encodeURIComponent(e)}/activity`,children:"View activity"})]}),s.recent_activity.length?(0,t.jsx)(l.ActivityList,{items:s.recent_activity,compact:!0}):(0,t.jsx)("p",{className:"agent-empty",children:"No operational activity yet."})]})]})]})}])}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,91267,e=>{"use strict";var t=e.i(43476),n=e.i(22016),a=e.i(71645),s=e.i(70925);let r=["disabled","misconfigured","connecting","connected","reconnecting","failed","stopped"],i=["slack_tokens_absent","app_token_missing","bot_token_missing","app_token_invalid","bot_token_invalid","share_config_absent","share_config_invalid","share_config_no_audience","workspace_not_allowlisted","slack_auth_failed","slack_connect_failed"],o={app_token_missing:"Add the Socket Mode app token to the Botmancers core environment, then restart Botmancers.",bot_token_missing:"Add the bot token to the Botmancers core environment, then restart Botmancers.",app_token_invalid:"Replace the Socket Mode app token with a valid value, then restart Botmancers.",bot_token_invalid:"Replace the bot token with a valid value, then restart Botmancers.",share_config_absent:"Add an allowlisted Slack channel in Agent Config, then restart Botmancers.",share_config_invalid:"Repair the session sharing policy in Agent Config, then restart Botmancers.",share_config_no_audience:"Add an allowlisted Slack channel in Agent Config, then restart Botmancers.",workspace_not_allowlisted:"Allowlist a channel from the workspace connected to the Botmancers Slack app, then restart Botmancers."};function l(e){switch(e.state){case"disabled":return{label:"Disabled",summary:"The optional Botmancers Slack relay is off.",guidance:"To use Slack sharing, configure both Slack relay credentials and at least one allowlisted channel, then restart Botmancers.",tone:"quiet"};case"misconfigured":return{label:"Needs configuration",summary:"The Botmancers Slack relay cannot start with its current configuration.",guidance:o[e.reason??"share_config_invalid"]??"Review the Slack relay credentials and sharing allowlist, then restart Botmancers.",tone:"warning"};case"connecting":return{label:"Connecting",summary:"The Botmancers Slack relay is opening its Socket Mode connection.",guidance:"Wait a moment, then refresh. Existing shares remain bounded to their exact sessions.",tone:"working"};case"connected":return{label:"Connected",summary:"The single Botmancers Slack relay is connected.",guidance:"It can post and answer eligible shared-session threads for all agents on this Botmancers instance.",tone:"good"};case"reconnecting":return{label:"Reconnecting",summary:"The Botmancers Slack relay lost its connection and is reconnecting.",guidance:"Wait and refresh. Pending work is recovered after the connection returns; do not recreate shares just for a reconnect.",tone:"working"};case"failed":return{label:"Failed",summary:"The Botmancers Slack relay could not authenticate or connect.",guidance:"slack_auth_failed"===e.reason?"Check the configured Slack app and bot credentials, then restart Botmancers.":"Check Slack connectivity and the Socket Mode app configuration, then restart Botmancers.",tone:"warning"};case"stopped":return{label:"Stopped",summary:"The Botmancers Slack relay is not running.",guidance:"Start or restart Botmancers. Existing share records remain available for review.",tone:"quiet"}}}let c=[{value:"all",label:"All states"},{value:"active",label:"Live"},{value:"expired",label:"Expired"},{value:"revoked",label:"Revoked"}];var d=e.i(24204);function u({agentId:e,agentName:a,relay:s,policy:r,shares:i,filter:o,nextCursor:l,refreshing:d,loadingMore:p,onFilter:v,onRefresh:k,onLoadMore:_,onSharesChanged:b}){let x=`/agents/${encodeURIComponent(e)}/sessions`,y=`/agents/${encodeURIComponent(e)}/config#session-sharing`;return(0,t.jsxs)("div",{className:"agent-slack","data-agent-slack-page":!0,children:[(0,t.jsxs)("header",{className:"agent-slack-intro",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"agent-eyebrow",children:"Slack"}),(0,t.jsx)("h2",{children:"Relay health and shared sessions"}),(0,t.jsxs)("p",{children:["Botmancers runs one optional Slack relay. ",a," does not have a separate Slack app; below are only the session threads shared for this agent."]})]}),(0,t.jsx)("button",{type:"button",className:"agent-slack-refresh",onClick:k,disabled:d,children:d?"Refreshing…":"Refresh"})]}),(0,t.jsxs)("section",{className:"agent-slack-relay","aria-labelledby":"relay-heading",children:[(0,t.jsxs)("div",{className:"agent-slack-section-head",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"agent-eyebrow",children:"Botmancers-wide connection"}),(0,t.jsx)("h3",{id:"relay-heading",children:"Slack relay"})]}),"ready"===s.state?(0,t.jsx)(h,{health:s.value}):null]}),"loading"===s.state?(0,t.jsx)("p",{role:"status",children:"Checking the relay…"}):null,"error"===s.state?(0,t.jsxs)("div",{className:"agent-slack-error",role:"alert",children:[(0,t.jsx)("strong",{children:"Relay health unavailable"}),(0,t.jsx)("p",{children:"Botmancers could not read the redacted health status. Refresh to try again."})]}):null,"ready"===s.state?(0,t.jsx)(g,{health:s.value}):null]}),(0,t.jsxs)("section",{className:"agent-slack-policy","aria-labelledby":"policy-heading",children:[(0,t.jsxs)("div",{className:"agent-slack-section-head",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"agent-eyebrow",children:"This agent"}),(0,t.jsx)("h3",{id:"policy-heading",children:"Sharing readiness"})]}),(0,t.jsx)(n.default,{href:y,children:"Edit in Config"})]}),"loading"===r.state?(0,t.jsx)("p",{role:"status",children:"Checking sharing policy…"}):null,"error"===r.state?(0,t.jsxs)("div",{className:"agent-slack-error",role:"alert",children:[(0,t.jsx)("strong",{children:"Sharing policy unavailable"}),(0,t.jsx)("p",{children:"Refresh, or open Config to review this agent’s stored policy."})]}):null,"ready"===r.state?(0,t.jsx)(f,{policy:r.value}):null]}),(0,t.jsxs)("section",{className:"agent-slack-shares","aria-labelledby":"shares-heading",children:[(0,t.jsxs)("div",{className:"agent-slack-section-head agent-slack-shares-head",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"agent-eyebrow",children:"This agent"}),(0,t.jsx)("h3",{id:"shares-heading",children:"Shared session threads"}),(0,t.jsx)("p",{children:"Each share is ask-only and can reach exactly one owning session."})]}),(0,t.jsx)(n.default,{className:"agent-primary-action",href:x,children:"Share a session"})]}),(0,t.jsx)("div",{className:"agent-slack-filters",role:"group","aria-label":"Filter shares by state",children:c.map(e=>(0,t.jsx)("button",{type:"button","aria-pressed":o===e.value,onClick:()=>v(e.value),children:e.label},e.value))}),"loading"===i.state?(0,t.jsx)("p",{className:"agent-slack-empty",role:"status",children:"Loading shared sessions…"}):null,"error"===i.state?(0,t.jsxs)("div",{className:"agent-slack-error",role:"alert",children:[(0,t.jsx)("strong",{children:"Shared sessions unavailable"}),(0,t.jsx)("p",{children:"No partial or stale list is shown. Refresh to try again."})]}):null,"ready"===i.state&&0===i.value.length?(0,t.jsx)("p",{className:"agent-slack-empty",children:"all"===o?`No sessions from ${a} have been shared to Slack yet.`:`No ${c.find(e=>e.value===o)?.label.toLowerCase()} shares for ${a}.`}):null,"ready"===i.state&&i.value.length>0?(0,t.jsx)("ul",{className:"agent-slack-share-list","aria-label":`Slack shares for ${a}`,children:i.value.map(n=>(0,t.jsx)(m,{share:n,agentId:e,onChanged:b},n.share_ref))}):null,"ready"===i.state&&l?(0,t.jsx)("button",{type:"button",className:"agent-slack-more",onClick:_,disabled:p,children:p?"Loading…":"Load more shares"}):null]})]})}function h({health:e}){let n=l(e);return(0,t.jsx)("span",{className:`agent-slack-status is-${n.tone}`,"data-relay-state":e.state,children:n.label})}function g({health:e}){let n=l(e);return(0,t.jsxs)("div",{className:"agent-slack-relay-copy",children:[(0,t.jsx)("p",{children:(0,t.jsx)("strong",{children:n.summary})}),(0,t.jsx)("p",{children:n.guidance}),"connected"===e.state&&e.connections>0?(0,t.jsxs)("p",{className:"agent-muted",children:["Connections opened this run: ",e.connections]}):null]})}function f({policy:e}){let n="loaded"===e.state&&e.audiences.length>0;return(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{children:(0,t.jsx)("strong",{children:n?"Ready to create session shares.":"invalid"===e.state?"The sharing policy needs repair.":"No Slack audience is allowlisted yet."})}),(0,t.jsxs)("p",{className:"agent-muted",children:["Share from a running agent turn: ",e.agent.share_from_turn?"On":"Off",". Session owners can still share eligible sessions from Sessions."]}),e.audiences.length?(0,t.jsx)("ul",{className:"agent-slack-audiences","aria-label":"Allowed Slack audiences",children:e.audiences.map(e=>(0,t.jsx)("li",{children:(0,d.audienceLabel)(e)},`${e.team_id}:${e.channel_id}`))}):(0,t.jsx)("p",{className:"agent-slack-empty",children:"No allowlisted Slack channels."})]})}function m({share:e,agentId:s,onChanged:r}){let[i,o]=(0,a.useState)(!1),[l,c]=(0,a.useState)(!1),[u,h]=(0,a.useState)(""),g=(0,a.useRef)(null),f=(0,d.shareIsLive)(e),p=`/agents/${encodeURIComponent(s)}/sessions?session=${encodeURIComponent(e.session_ref)}`,v=async()=>{c(!0),h("");try{let t=await fetch(`/api/shares/${encodeURIComponent(e.share_ref)}/revoke`,{method:"POST"}),n=await t.json().catch(()=>null);if(!t.ok)throw Error("string"==typeof n?.error?.message?n.error.message:"The share could not be revoked.");o(!1),r()}catch(e){h(e instanceof Error?e.message:"The share could not be revoked.")}finally{c(!1)}};return(0,t.jsxs)("li",{className:`agent-slack-share is-${e.status}`,"data-share-ref":e.share_ref,"data-share-status":e.status,children:[(0,t.jsxs)("div",{className:"agent-slack-share-summary",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:`agent-slack-status is-share-${e.status}`,children:d.SHARE_STATUS_LABELS[e.status]}),(0,t.jsx)("strong",{children:(0,d.audienceLabel)(e.audience)}),(0,t.jsxs)("small",{children:[(0,d.turnsLabel)(e)," · ",(0,d.expiryLabel)(e)]})]}),(0,t.jsx)("span",{className:"agent-slack-detail-hint",children:"Open for details"})]}),(0,t.jsx)("p",{className:"agent-slack-state-note",children:(0,d.shareStatusNote)(e)}),(0,t.jsxs)("details",{className:"agent-slack-details",children:[(0,t.jsx)("summary",{children:"Details"}),(0,t.jsxs)("dl",{className:"agent-slack-share-details",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("dt",{children:"Owning session"}),(0,t.jsx)("dd",{children:(0,t.jsx)(n.default,{href:p,children:e.session_ref})})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("dt",{children:"Posted thread"}),(0,t.jsx)("dd",{children:(0,d.threadLabel)(e)})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("dt",{children:"Creation path"}),(0,t.jsx)("dd",{children:"current_session"===e.created_via?"Running agent turn":"owner"===e.created_by?"Sessions":"Session share API"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("dt",{children:"Created by"}),(0,t.jsx)("dd",{children:(0,d.createdByLabel)(e)})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("dt",{children:"Authority"}),(0,t.jsx)("dd",{children:"Ask only · exact session"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("dt",{children:"Share reference"}),(0,t.jsx)("dd",{children:(0,t.jsx)("code",{children:e.share_ref})})]})]})]}),(0,t.jsxs)("div",{className:"agent-slack-share-actions",children:[(0,t.jsx)(n.default,{href:p,children:"Open owning session"}),f&&!i?(0,t.jsx)("button",{ref:g,type:"button",className:"agent-slack-revoke","data-share-action":"revoke",onClick:()=>o(!0),children:"Revoke"}):null]}),i?(0,t.jsxs)("div",{className:"agent-slack-confirm",role:"group","aria-label":"Confirm revoke",children:[(0,t.jsx)("p",{children:"Revoke this share? The next Slack question in its thread gets the revoked notice. This can’t be undone."}),(0,t.jsxs)("div",{children:[(0,t.jsx)("button",{type:"button",className:"agent-slack-revoke","data-share-action":"confirm-revoke",disabled:l,onClick:()=>{v()},children:l?"Revoking…":"Revoke share"}),(0,t.jsx)("button",{type:"button",disabled:l,onClick:()=>{o(!1),requestAnimationFrame(()=>g.current?.focus())},children:"Keep it"})]})]}):null,u?(0,t.jsx)("p",{className:"delete-error",role:"alert",children:u}):null]})}e.s(["AgentSlackView",0,u,"default",0,function(){let{id:e,overview:o,loading:l,error:c,notFound:d}=(0,s.useAgentOverview)(),[h,g]=(0,a.useState)({state:"loading"}),[f,m]=(0,a.useState)({state:"loading"}),[p,v]=(0,a.useState)({state:"loading"}),[k,_]=(0,a.useState)("all"),[b,x]=(0,a.useState)(null),[y,S]=(0,a.useState)(!1),[$,w]=(0,a.useState)(!1),[j,C]=(0,a.useState)(0),[A,R]=(0,a.useState)(""),N=(0,a.useRef)(0),T=(0,a.useCallback)((t=null)=>{let n=new URLSearchParams({agent_id:e,limit:String(12)});return"all"!==k&&n.set("state",k),t&&n.set("cursor",t),`/api/shares?${n.toString()}`},[k,e]);(0,a.useEffect)(()=>{let t=!1,n=++N.current;return Promise.allSettled([fetch("/api/health",{cache:"no-store"}).then(async e=>(function(e){if(!e||"object"!=typeof e||!r.includes(e.state))return null;let t=null===e.reason?null:i.includes(e.reason)?e.reason:null;return{state:e.state,reason:t,since:Number.isFinite(e.since)?Number(e.since):0,connections:Number.isInteger(e.connections)&&Number(e.connections)>=0?Number(e.connections):0}})((await e.json().catch(()=>null))?.slack)),fetch(`/api/bots/${encodeURIComponent(e)}/share-policy`,{cache:"no-store"}).then(async e=>{let t=await e.json().catch(()=>null);if(!e.ok||!t?.policy)throw Error("policy");return t.policy}),fetch(T(),{cache:"no-store"}).then(async t=>{let n=await t.json().catch(()=>null);if(!t.ok||!Array.isArray(n?.shares))throw Error("shares");return{shares:n.shares.filter(t=>t.agent.id===e),cursor:"string"==typeof n.next_cursor?n.next_cursor:null}})]).then(([a,s,r])=>{t||n!==N.current||(g("fulfilled"===a.status&&a.value?{state:"ready",value:a.value}:{state:"error"}),m("fulfilled"===s.status?{state:"ready",value:s.value}:{state:"error"}),"fulfilled"===r.status?(v({state:"ready",value:r.value.shares}),x(r.value.cursor)):v({state:"error"}),R(e))}).finally(()=>{t||n!==N.current||w(!1)}),()=>{t=!0}},[e,j,T]);let I=()=>{w(!0),g({state:"loading"}),m({state:"loading"}),v({state:"loading"}),x(null),C(e=>e+1)},L=async()=>{if(b&&!y&&"ready"===p.state){S(!0);try{let t=await fetch(T(b),{cache:"no-store"}),n=await t.json().catch(()=>null);if(!t.ok||!Array.isArray(n?.shares))throw Error("shares");let a=n.shares.filter(t=>t.agent.id===e);v({state:"ready",value:[...p.value,...a]}),x("string"==typeof n.next_cursor?n.next_cursor:null)}catch{v({state:"error"})}finally{S(!1)}}};if(l)return(0,t.jsx)("div",{className:"agent-state",role:"status",children:"Loading Slack operations…"});if(d)return(0,t.jsxs)("div",{className:"agent-state",children:[(0,t.jsx)("h2",{children:"Agent not found"}),(0,t.jsx)(n.default,{href:"/",children:"Choose an agent"})]});if(c||!o)return(0,t.jsxs)("div",{className:"agent-state",role:"alert",children:[(0,t.jsx)("h2",{children:"Slack page unavailable"}),(0,t.jsx)("p",{children:"Botmancers could not load this agent."})]});let B=A!==e;return(0,t.jsx)(u,{agentId:e,agentName:o.agent.name,relay:B?{state:"loading"}:h,policy:B?{state:"loading"}:f,shares:B?{state:"loading"}:p,filter:k,nextCursor:b,refreshing:$,loadingMore:y,onFilter:e=>{e!==k&&(v({state:"loading"}),x(null),_(e))},onRefresh:I,onLoadMore:()=>{L()},onSharesChanged:I})}],91267)},50814,63352,e=>{"use strict";function t(e){return`${new Date(e).toISOString().slice(0,16).replace("T"," ")} UTC`}function n(e){return e?e.split("/").filter(e=>e.length>0).pop()??null:null}function a(e,t){let n=function(e){if(!e)return null;let t=e.toLowerCase();return"muse code"===t?"muse":(["codex","claude","cursor","hermes","muse"].includes(t),t)}(t);switch(e){case"provider_unavailable":return n?{reason:`${n} is not installed or did not start`,fix:`Install ${n} and Retry.`}:{reason:"the runtime is not installed or did not start",fix:"Install the runtime and Retry."};case"auth_required":return{reason:"not signed in",fix:"Sign in and Retry."};case"permission_denied":return{reason:"permission denied",fix:"Check permissions and Retry."};case"incompatible_version":return{reason:"incompatible version",fix:"Update the runtime and Retry."};case"usage_limit":return{reason:"usage limit reached",fix:"Wait or upgrade and Retry."};case"scope_missing":return{reason:"no session scope is set",fix:"Choose a scope in Config."};case"provider_failed":return{reason:"the listing failed",fix:"Retry."};default:return{reason:e,fix:"Retry."}}}let s="Not reported";function r(e){return e.toFixed(1).replace(/\.0$/,"")}function i(e){return e.toLocaleString("en-US")}function o(e){return 0===e?"$0.00":e>=.01?`$${e.toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})}`:e<1e-4?"<$0.0001":`$${e.toFixed(4)}`}let l={input_tokens:"Input tokens",output_tokens:"Output tokens",cost_usd:"Cost"};function c(e,t,n){return"cost_usd"===e?o(t):n?i(t):t<1e3?String(t):t<999950?`${r(t/1e3)}k`:t<99995e4?`${r(t/1e6)}M`:`${r(t/1e9)}B`}function d(e){return`${e} ${1===e?"run":"runs"}`}function u(e,t,n=!1){let a=l[e];if(!t||"unavailable"===t.quality||null===t.sum)return{name:a,text:s,quality:"unavailable",coverage:t&&t.total>0?`0 of ${d(t.total)} reported`:"No runs recorded",label:`${a}: not reported`};let r=c(e,t.sum,n),i=c(e,t.sum,!0);return"partial"===t.quality?{name:a,text:r,quality:"partial",coverage:`Partial: ${t.known} of ${d(t.total)} reported`,label:`${a}: at least ${i}, partial, reported by ${t.known} of ${d(t.total)}`}:{name:a,text:r,quality:"complete",coverage:`All ${d(t.total)} reported`,label:`${a}: ${i}, reported by all ${d(t.total)}`}}e.s(["SESSION_FILTER_OPTIONS",0,[{value:"all",label:"All"},{value:"active",label:"Active"},{value:"ended",label:"Ended"}],"attemptLabel",0,function(e){let t="source"===e.role?"Started the session":"Resumed the session";return`${t} \xb7 ${e.outcome??"running"}`},"emptySessionsCopy",0,function(e,t,n,s){if("active"===e)return`${t} has no active sessions.`;if("ended"===e)return`${t} has no ended sessions.`;if(n?.last_error_code){let{reason:e,fix:t}=a(n.last_error_code,s),r=s?`${s} sessions`:"sessions";return`Could not read ${r}: ${e}. ${t}`}if(n&&null===n.synced_at)return`${t} has not synced sessions yet. Refresh to load past sessions.`;let r=n?.out_of_scope_count??0;return r>0?`${r} ${1===r?"session exists":"sessions exist"} outside ${t}'s scope. Widen the scope to see them.`:`${t} has no sessions yet. One appears after a coding run keeps its runtime context.`},"formatSessionDate",0,t,"formatSyncRelativeTime",0,function(e,t=Date.now()){if(null===e)return"never";let n=Math.max(0,t-e);if(n<6e4)return"just now";let a=Math.floor(n/6e4);if(a<60)return`${a} minute${1===a?"":"s"} ago`;let s=Math.floor(a/60);if(s<24)return`${s} hour${1===s?"":"s"} ago`;let r=Math.floor(s/24);return`${r} day${1===r?"":"s"} ago`},"noMatchingSessionsCopy",0,function(e,t){let a=e.trim();if(a)return`No sessions match “${a}”.`;let s=n(t);return s?`No sessions in ${s}.`:"No sessions match the current filters."},"registrationSessionSyncCopy",0,function(e,t){if("failed"===e.outcome){let{reason:n,fix:s}=a(e.error_code??"provider_failed",t);return`Could not read ${t} sessions: ${n}. ${s}`}if("unsupported"===e.outcome)return`Past sessions are not available for ${t}.`;let n=1===e.imported?"session":"sessions",s=`Loaded ${e.imported} ${n}`;return e.rejected_out_of_scope>0&&(s+=`, ${e.rejected_out_of_scope} outside the scope`),e.complete||(s+=", more remain"),`${s}.`},"runtimeLabel",0,function(e){return e.agent.transport?`${e.agent.adapter} \xb7 ${e.agent.transport}`:e.agent.adapter},"sessionConversationHref",0,function(e){return e.thread_agent_id?`/agents/${encodeURIComponent(e.thread_agent_id)}/conversations`:"group"===e.kind?`/threads/${encodeURIComponent(e.id)}`:null},"sessionOriginChips",0,function(e){let t=[],n=e.origin.work_request?.requester;return n?.kind==="person"?t.push("Human origin"):n?.kind==="bot"?t.push(n.name?`${n.name} Agent`:"Agent origin"):n?.kind==="service"&&t.push("Service origin"),e.origin.conversation&&t.push(e.origin.conversation.label),[...new Set(t)]},"sessionStateTags",0,function(e){let t=[];return(e.home&&t.push("Home"),e.state?.availability==="missing")?[...t,"Missing"]:(e.state?.lifecycle==="archived"&&t.push("Archived"),e.state?.busy&&t.push("Busy"),(e.resumable||e.state?.resumable===!0)&&t.push("Resumable"),t)},"sessionUsageLine",0,function(e){let t=u("input_tokens",e?.input_tokens),n=u("output_tokens",e?.output_tokens),a=u("cost_usd",e?.cost_usd),r=[t,n,a];if(r.every(e=>"unavailable"===e.quality))return{text:s,label:"Usage: not reported",quality:"unavailable",partial:!1};let i=["unavailable"===t.quality?"input not reported":`${t.text} in`,"unavailable"===n.quality?"output not reported":`${n.text} out`,"unavailable"===a.quality?"cost not reported":a.text].join(" · "),o=r.some(e=>"partial"===e.quality),l=o||r.some(e=>"unavailable"===e.quality)?"partial":"complete";return{text:i,label:`Reported usage: ${r.map(e=>e.label).join("; ")}`,quality:l,partial:o}},"statusLabel",0,function(e){return"active"===e.status?"Active":"Ended"},"usageMetricView",0,u,"usageSampleLabel",0,function(e,t){let n="turn"===e.kind?"start"===e.turn_kind?"provider turn, started":"provider turn":"resume"===e.turn_kind?"resumed":"started";return`Run ${t+1} \xb7 ${n}`},"usageSampleValues",0,function(e){return{input:null===e.input_tokens?s:i(e.input_tokens),output:null===e.output_tokens?s:i(e.output_tokens),cost:null===e.cost_usd?s:o(e.cost_usd)}},"workRequestLabel",0,function(e){var t;let n=e.origin.work_request;return n?`${(t=n.execution_kind)?t[0].toUpperCase()+t.slice(1):t} \xb7 ${n.state}`:null},"workspaceFolderName",0,n,"workspaceOptions",0,function(e){let t=[...new Set(e.filter(e=>"string"==typeof e&&e.length>0))],a=t.map(e=>n(e)??e);return t.map((e,t)=>({value:e,label:a.filter(e=>e===a[t]).length>1?e:a[t]})).sort((e,t)=>e.label<t.label?-1:+(e.label>t.label))}],63352);let h={ask:"Ask from this context",resume:"Resume work here",handoff:"Hand off to…"},g=["queued","extracting","delivering","completed","failed","cancelled"],f=["completed","failed","cancelled"];function m(e,t){switch(t){case"queued":return"Queued";case"extracting":return"ask"===e?"Asking the session":"Extracting handoff";case"delivering":return"Delivering handoff";case"completed":return"ask"===e?"Answered":"Handed off";case"failed":return"Failed";case"cancelled":return"Cancelled"}}function p(e,t=140){let n=String(e??"").split("\n").map(e=>e.trim()).filter(e=>e.length>0).join(" ");return n.length>t?`${n.slice(0,t-1).trimEnd()}…`:n}function v(e,t){return t.updated_at-e.updated_at||t.created_at-e.created_at||(e.id<t.id?-1:+(e.id>t.id))}e.s(["DEFAULT_LEDGER_FILTER",0,{mode:"all",state:"all",agentId:""},"INSTRUCTION_LIMIT",0,4e3,"MODE_FILTER_OPTIONS",0,[{value:"all",label:"All"},{value:"ask",label:"Ask"},{value:"continue",label:"Continue"}],"STATE_FILTER_OPTIONS",0,[{value:"all",label:"Any status"},{value:"active",label:"In progress"},{value:"queued",label:"Queued"},{value:"extracting",label:"Asking / extracting"},{value:"delivering",label:"Delivering"},{value:"completed",label:"Completed"},{value:"failed",label:"Failed"},{value:"cancelled",label:"Cancelled"}],"detailsHref",0,function(e){return`/exchanges?id=${encodeURIComponent(e)}`},"eventLabel",0,function(e,t){let n=e.data??{},a=t.source.agent_name,s=t.destination?.agent_name??"the destination Agent",r="string"==typeof n.hop?n.hop:null;switch(e.type){case"created":return"ask"===t.mode?`You asked ${a}'s session a question`:`You handed ${a}'s session to ${s}`;case"hop_queued":if("deliver"===r)return`Handoff queued for ${s}'s new session`;return"extract"===r?`Handoff extraction queued in ${a}'s session`:`Question queued for ${a}'s session`;case"hop_started":if("deliver"===r)return`${s} started a new session`;return"extract"===r?`${a}'s session started extracting the handoff`:`${a}'s session started answering`;case"state_changed":{let e="string"==typeof n.to&&g.includes(n.to)?n.to:null;return e?`Now ${m(t.mode,e).toLowerCase()}`:"State changed"}case"answer_returned":return`Answer returned to ${t.origin?.label??"the origin thread"}${n.truncated?" (shortened)":""}`;case"packet_extracted":return"Handoff packet extracted";case"packet_rejected":return`Handoff packet refused${"string"==typeof n.reason?`: ${n.reason}`:""}`;case"destination_replied":return`${s} replied in ${t.destination?.conversation?.label??"its thread"}`;case"destination_session_rejected":return`${s}'s session was not new; the handoff stopped`;case"cancel_requested":return"You asked to cancel";case"hop_result_discarded":return"A late result was discarded";default:return e.type.replace(/_/g," ")}},"excerpt",0,p,"exchangeRequestBody",0,function(e,t,n){let a={mode:e.mode,idempotency_key:n,origin_conversation_id:e.originConversationId,source:{agent_id:t.agentId,session_ref:t.sessionRef},instruction:e.instruction.trim()};return"continue"===e.mode&&(a.destination={agent_id:e.destinationAgentId}),a},"failureAdvice",0,function(e){if("failed"!==e.state)return null;switch(e.failure?.code){case"packet_invalid":case"packet_missing":return"The source session did not return a usable handoff. Start a new Continue with a clearer objective.";case"destination_session_invalid":return"The destination did not start a fresh session. Check its runtime, then start a new Continue.";case"destination_turn_failed":return"Check the destination Agent’s runtime, then start a new Continue from the source session.";case"source_turn_failed":return"Check the source Agent’s runtime, then start a new exchange from its Sessions.";default:return"Start a new exchange from the session to try again."}},"formatExchangeTime",0,function(e){return t(e)},"instructionHeading",0,function(e){return"ask"===e?"Question":"Objective"},"ledgerAgents",0,function(e){let t=new Map;for(let n of e)t.set(n.source.agent_id,n.source.agent_name),n.destination&&t.set(n.destination.agent_id,n.destination.agent_name);return[...t.entries()].map(([e,t])=>({id:e,name:t})).sort((e,t)=>e.name.localeCompare(t.name)||e.id.localeCompare(t.id))},"ledgerRows",0,function(e,t){return e.filter(e=>("all"===t.mode||e.mode===t.mode)&&("active"!==t.state||!e.terminal)&&("all"===t.state||"active"===t.state||e.state===t.state)&&(!t.agentId||e.source.agent_id===t.agentId||e.destination?.agent_id===t.agentId)).sort(v)},"ledgerView",0,function(e,t,n){return null===e?t?"error":"loading":0===e.length?"empty":0===n.length?"filtered-out":"rows"},"linkRoleLabel",0,function(e){let t={origin:"Started here",source:"Source session",destination:"Destination"};return e.map(e=>t[e]).join(" · ")},"liveStateLabel",0,function(e){var t;return e.cancel_requested&&(t=e.state,!f.includes(t))?"Cancelling…":m(e.mode,e.state)},"modeLabel",0,function(e){return"ask"===e?"Ask":"Continue"},"outcomeLine",0,function(e){if("completed"===e.state){if("ask"===e.mode){let t=e.origin?.label??"the origin thread";return e.outcome.answer?`Answer in ${t}: ${p(e.outcome.answer,200)}`:`Answered in ${t}.`}let t=e.destination?.agent_name??"The destination Agent";return e.outcome.reply?`${t} picked it up in a new session: ${p(e.outcome.reply,200)}`:`${t} picked it up in a new session.`}return"failed"===e.state?e.failure?.message||"The exchange failed.":"cancelled"===e.state?"Cancelled before it finished. Nothing more will run.":null},"participantsLabel",0,function(e){return"ask"===e.mode?`You → ${e.source.agent_name}`:`${e.source.agent_name} → ${e.destination?.agent_name??"another Agent"}`},"pinRequestBody",0,function(e,t,n,a,s){return{action:e,content:t.trim(),conversation_id:n,idempotency_key:s,..."resume"===e?{approve_write:a}:{}}},"sessionDialogMode",0,function(e){return"handoff"===e?"continue":e},"sessionDialogTitle",0,function(e){return h["continue"===e?"handoff":e]},"sessionDialogUsesPin",0,function(e,t){return"resume"===e||"ask"===e&&"provider"===t},"sessionLabel",0,function(e){return`${e.source.agent_name}'s session “${e.source.session_title}”`},"sessionRowActions",0,function(e){let t;if(e.actions)t=e.actions;else{let n="ended"===e.status?{available:!1,reason:"Ask from this context and Hand off to… are unavailable: this session has ended. Its history stays here."}:e.resumable?{available:!0}:{available:!1,reason:`Ask from this context and Hand off to… are unavailable: Botmancers can’t resume this session under ${e.agent.name}’s current runtime.`},a=n.available?{available:!0}:{available:!1,code:"ended"===e.status?"session_ended":"session_not_resumable",reason:n.reason,recovery:"choose_session"};t={ask:a,resume:{available:!1,code:"action_unavailable",reason:`${h.resume} is unavailable: this runtime can’t resume a session with edits.`,recovery:"choose_action"},handoff:a}}return["ask","resume","handoff"].map(e=>({action:e,label:h[e],availability:t[e]}))},"stateTone",0,function(e){return"completed"===e?"done":"failed"===e||"cancelled"===e?"stopped":"active"},"submitErrorMessage",0,function(e,t){switch(e){case"session_ended":return"This session has ended and can’t be resumed.";case"session_not_resumable":return"Botmancers can’t resume this session under the agent’s current runtime.";case"source_session_busy":return"This session already has an exchange in progress. Wait for it or cancel it from its card.";case"agent_unavailable":return t||"That Agent can’t launch yet. Choose its runtime connection and session scope in Config.";case"idempotency_conflict":return"This request changed while it was being sent. Send again.";case"session_missing":return"The runtime no longer has this session. Its history stays here; choose another session.";case"approval_required":return"Resume work here needs your approval of edits. Tick the approval, then send again.";case"authority_not_allowed":return t||"This agent’s policy doesn’t allow edits in a resumed session. Change it in Config.";case"action_unavailable":return t||"This runtime can’t do that in this session. Choose another action.";case"provider_failed":return"The runtime failed this turn. Nothing moved to another session; try again later.";default:return t||"The exchange could not be started. Your draft is kept; try again."}},"threadHref",0,function(e,t){let n=new URLSearchParams;if(e.thread_agent_id){t&&n.set("exchange",t);let a=n.toString();return`/agents/${encodeURIComponent(e.thread_agent_id)}/conversations/${encodeURIComponent(e.id)}${a?`?${a}`:""}`}if("group"!==e.kind)return null;t&&n.set("exchange",t);let a=n.toString();return`/threads/${encodeURIComponent(e.id)}${a?`?${a}`:""}`},"validateDraft",0,function(e){let t={},n=e.instruction.trim(),a="ask"===e.mode?"a question":"an objective";return n?e.instruction.length>4e3&&(t.instruction="Keep it under 4000 characters."):t.instruction=`Enter ${a}.`,e.originConversationId||(t.origin="Choose the thread that follows this exchange."),"continue"!==e.mode||e.destinationAgentId||(t.destination="Choose the agent who continues the work."),t},"validateResumeDraft",0,function(e,t){let n={};return e.trim()?e.length>4e3&&(n.instruction="Keep it under 4000 characters."):n.instruction="Enter what to work on.",t||(n.approval="Approve edits in this session to resume work here."),n}],50814)},24204,e=>{"use strict";var t=e.i(63352),n=e.i(50814);function a(e){return"active"===e.state}let s=/^T[A-Z0-9]{2,20}$/,r=/^[CG][A-Z0-9]{2,20}$/;e.s(["SHARE_DURATIONS",0,[{label:"5 minutes",seconds:300},{label:"1 hour",seconds:3600},{label:"8 hours",seconds:28800},{label:"24 hours",seconds:86400}],"SHARE_STATUS_LABELS",0,{active:"Active",exhausted:"Questions used",answering:"Answering",recovering:"Recovering",expired:"Expired",revoked:"Revoked"},"audienceInputError",0,function(e,t,n){let a=e.trim(),i=t.trim();return s.test(a)?r.test(i)?n.some(e=>e.team_id===a&&e.channel_id===i)?"That channel is already on the allowlist.":null:"Channel ID must look like C0123ABCD (a public or private channel ID; no wildcards).":"Workspace ID must look like T0123ABCD (a Slack team ID; no wildcards)."},"audienceLabel",0,function(e){return`Slack channel ${e.channel_id} \xb7 workspace ${e.team_id}`},"createdByLabel",0,function(e){return"owner"===e.created_by?"Shared by you":"current_session"===e.created_by?"Shared from a turn of this session":"Shared by a service"},"expiryLabel",0,function(e,n=Date.now()){return"revoked"===e.state?`Revoked ${(0,t.formatSessionDate)(e.revoked_at??e.expires_at)}`:"expired"===e.state||e.expires_at<=n?`Expired ${(0,t.formatSessionDate)(e.expires_at)}`:`Expires ${(0,t.formatSessionDate)(e.expires_at)} (in ${function(e){let t=Math.max(1,Math.round(e/6e4));if(t<60)return`${t} min`;let n=Math.floor(t/60),a=t%60;return a?`${n} h ${a} min`:`${n} h`}(e.expires_at-n)})`},"sessionShares",0,function(e,t){let n=e.filter(e=>e.session_ref===t);return[...n.filter(a).sort((e,t)=>t.created_at-e.created_at),...n.filter(e=>!a(e)).sort((e,t)=>(t.revoked_at??t.expires_at)-(e.revoked_at??e.expires_at))]},"shareCreateAvailability",0,function(e,t){let a=`/agents/${encodeURIComponent(e.agent.id)}/config#session-sharing`;if(!t)return{available:!1,reason:"Share to Slack is unavailable: the share policy could not be loaded.",configHref:null};let s=(0,n.sessionRowActions)(e).find(e=>"ask"===e.action);return s&&!s.availability.available?{available:!1,reason:s.availability.reason.replace(/^Ask from this context is unavailable:/,"Share to Slack is unavailable:"),configHref:null}:"invalid"===t.state?{available:!1,reason:"Share to Slack is unavailable: the share policy file is invalid. Fix it in Config.",configHref:a}:0===t.audiences.length?{available:!1,reason:"Share to Slack needs a Slack channel on the share allowlist. Add one in Config.",configHref:a}:{available:!0}},"shareCreateBody",0,function(e,t,n,a){return{audience:{team_id:e.team_id,channel_id:e.channel_id},ttl_seconds:t,max_turns:n,idempotency_key:a}},"shareFromTurnNote",0,function(e){return e.agent.share_current.supported?e.agent.share_from_turn?"On: a turn Botmancers launches for this agent can share its own session to an allowlisted channel. Turning it off revokes every live turn context at once.":"Off: no turn of this agent can share its own session. Sessions can still be shared from the Sessions page.":e.agent.share_current.reason??"This runtime cannot share its own session from a turn."},"shareIsLive",0,a,"shareStatusNote",0,function(e){switch(e.status){case"active":return"Slack replies in its thread ask this session (read-only).";case"answering":return"A Slack question is being answered now. The next one waits until it finishes.";case"recovering":return"A question was interrupted by a Botmancers restart. The next Slack question clears it.";case"exhausted":return`All ${e.max_turns} questions are used. Slack questions get the limit notice; create a new share to keep going.`;case"expired":return"Expired: Slack questions get the expired notice. Its history stays here.";case"revoked":return"Revoked: Slack questions get the revoked notice. Its history stays here."}},"threadLabel",0,function(e){return e.thread.posted?`Slack thread posted ${(0,t.formatSessionDate)(e.thread.posted_at??0)}`:"active"===e.state?"Waiting for the Slack relay to post the thread":"No Slack thread was posted"},"turnsLabel",0,function(e){return`${e.turns_used} of ${e.max_turns} question${1===e.max_turns?"":"s"} used`}])}]);
|
package/app/BUILD_INFO.json
CHANGED
package/app/package.json
CHANGED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg viewBox="0 0 248 248" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
|
|
2
|
+
<path d="M52.4285 162.873L98.7844 136.879L99.5485 134.602L98.7844 133.334H96.4921L88.7237 132.862L62.2346 132.153L39.3113 131.207L17.0249 130.026L11.4214 128.844L6.2 121.873L6.7094 118.447L11.4214 115.257L18.171 115.847L33.0711 116.911L55.485 118.447L71.6586 119.392L95.728 121.873H99.5485L100.058 120.337L98.7844 119.392L97.7656 118.447L74.5877 102.732L49.4995 86.1905L36.3823 76.62L29.3779 71.7757L25.8121 67.2858L24.2839 57.3608L30.6515 50.2716L39.3113 50.8623L41.4763 51.4531L50.2636 58.1879L68.9842 72.7209L93.4357 90.6804L97.0015 93.6343L98.4374 92.6652L98.6571 91.9801L97.0015 89.2625L83.757 65.2772L69.621 40.8192L63.2534 30.6579L61.5978 24.632C60.9565 22.1032 60.579 20.0111 60.579 17.4246L67.8381 7.49965L71.9133 6.19995L81.7193 7.49965L85.7946 11.0443L91.9074 24.9865L101.714 46.8451L116.996 76.62L121.453 85.4816L123.873 93.6343L124.764 96.1155H126.292V94.6976L127.566 77.9197L129.858 57.3608L132.15 30.8942L132.915 23.4505L136.608 14.4708L143.994 9.62643L149.725 12.344L154.437 19.0788L153.8 23.4505L150.998 41.6463L145.522 70.1215L141.957 89.2625H143.994L146.414 86.7813L156.093 74.0206L172.266 53.698L179.398 45.6635L187.803 36.802L193.152 32.5484H203.34L210.726 43.6549L207.415 55.1159L196.972 68.3492L188.312 79.5739L175.896 96.2095L168.191 109.585L168.882 110.689L170.738 110.53L198.755 104.504L213.91 101.787L231.994 98.7149L240.144 102.496L241.036 106.395L237.852 114.311L218.495 119.037L195.826 123.645L162.07 131.592L161.696 131.893L162.137 132.547L177.36 133.925L183.855 134.279H199.774L229.447 136.524L237.215 141.605L241.8 147.867L241.036 152.711L229.065 158.737L213.019 154.956L175.45 145.977L162.587 142.787H160.805V143.85L171.502 154.366L191.242 172.089L215.82 195.011L217.094 200.682L213.91 205.172L210.599 204.699L188.949 188.394L180.544 181.069L161.696 165.118H160.422V166.772L164.752 173.152L187.803 207.771L188.949 218.405L187.294 221.832L181.308 223.959L174.813 222.777L161.187 203.754L147.305 182.486L136.098 163.345L134.745 164.2L128.075 235.42L125.019 239.082L117.887 241.8L111.902 237.31L108.718 229.984L111.902 215.452L115.722 196.547L118.779 181.541L121.58 162.873L123.291 156.636L123.14 156.219L121.773 156.449L107.699 175.752L86.304 204.699L69.3663 222.777L65.291 224.431L58.2867 220.768L58.9235 214.27L62.8713 208.48L86.304 178.705L100.44 160.155L109.551 149.507L109.462 147.967L108.959 147.924L46.6977 188.512L35.6182 189.93L30.7788 185.44L31.4156 178.115L33.7079 175.752L52.4285 162.873Z" fill="#D97757"/>
|
|
3
|
+
</svg>
|
|
Binary file
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
|
|
2
|
+
<path fill="#EDEDED" d="M11.503.131 1.891 5.678a.84.84 0 0 0-.42.726v11.188c0 .3.162.575.42.724l9.609 5.55a1 1 0 0 0 .998 0l9.61-5.55a.84.84 0 0 0 .42-.724V6.404a.84.84 0 0 0-.42-.726L12.497.131a1.01 1.01 0 0 0-.996 0M2.657 6.338h18.55c.263 0 .43.287.297.515L12.23 22.918c-.062.107-.229.064-.229-.06V12.335a.59.59 0 0 0-.295-.51l-9.11-5.257c-.109-.063-.064-.23.061-.23"/>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
<svg viewBox="0 0 15.184 10.109" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
|
|
2
|
+
<!-- Exact Meta infinity-mark paths extracted from Meta's first-party wordmark SVG. -->
|
|
3
|
+
<path d="M4.40165 0.0546875C4.39678 0.0546875 4.39194 0.0547047 4.38708 0.0547298L4.36719 1.69809C4.37174 1.69804 4.37629 1.698 4.38085 1.698H4.38086C5.46253 1.698 6.30154 2.55086 8.12513 5.62254L8.2363 5.80954L8.24357 5.82178L9.2644 4.29012L9.25733 4.27829C9.01709 3.88756 8.78629 3.52806 8.56494 3.1998C8.30824 2.81945 8.06274 2.47967 7.8245 2.17631C6.61813 0.640297 5.60899 0.0546875 4.40165 0.0546875Z" fill="url(#meta-0)"/>
|
|
4
|
+
<path d="M4.38698 0.0547298C3.17378 0.0609714 2.10123 0.845474 1.32675 2.04593C1.32448 2.04944 1.32221 2.05296 1.31995 2.05649L2.74159 2.83027C2.7439 2.82677 2.74621 2.82327 2.74853 2.81978C3.20078 2.13886 3.76359 1.70456 4.36709 1.69809C4.37164 1.69804 4.37619 1.698 4.38075 1.698L4.40155 0.0546875C4.39668 0.0546875 4.39184 0.0547047 4.38698 0.0547298Z" fill="url(#meta-1)"/>
|
|
5
|
+
<path d="M1.32666 2.04688C1.3244 2.05039 1.32213 2.05391 1.31986 2.05744C0.810944 2.84965 0.431562 3.8218 0.226532 4.87056C0.225644 4.8751 0.224759 4.87964 0.223877 4.88419L1.82103 5.26104C1.82187 5.25649 1.82271 5.25193 1.82355 5.24738C1.99427 4.32569 2.31929 3.47086 2.7415 2.83122C2.7438 2.82772 2.74612 2.82422 2.74844 2.82073L1.32666 2.04688Z" fill="url(#meta-2)"/>
|
|
6
|
+
<path d="M1.82364 5.24791L0.226615 4.87109C0.225727 4.87563 0.224842 4.88018 0.22396 4.88472C0.11216 5.4615 0.0552821 6.04757 0.0540887 6.63508C0.0540793 6.63983 0.0540757 6.64458 0.0540777 6.64932L1.69203 6.79586C1.6919 6.79109 1.69176 6.78638 1.69165 6.7816C1.69084 6.74752 1.69043 6.71299 1.69042 6.67799C1.69124 6.20287 1.73498 5.72881 1.82112 5.26157C1.82195 5.25702 1.82279 5.25247 1.82364 5.24791Z" fill="url(#meta-3)"/>
|
|
7
|
+
<path d="M1.74184 7.30462C1.71246 7.13577 1.69581 6.96494 1.69203 6.79359C1.6919 6.78883 1.69176 6.78412 1.69165 6.77933L0.0540887 6.63281C0.0540793 6.63756 0.0540757 6.64231 0.0540777 6.64706V6.64798C0.0540777 7.01363 0.0845699 7.35598 0.143831 7.67225C0.144688 7.67682 0.145531 7.68131 0.1464 7.68588L1.74432 7.3183C1.74348 7.31376 1.74266 7.30919 1.74184 7.30462Z" fill="url(#meta-4)"/>
|
|
8
|
+
<path d="M2.11498 8.1544C1.93675 7.95985 1.81061 7.67922 1.74429 7.32032C1.74345 7.31578 1.74264 7.31121 1.74182 7.30664L0.143799 7.67426C0.144655 7.67884 0.145498 7.68333 0.146368 7.6879C0.267152 8.32205 0.504031 8.85057 0.843261 9.2504C0.846277 9.25395 0.849304 9.2575 0.852342 9.26105L2.12451 8.16464C2.12133 8.16125 2.11813 8.15783 2.11498 8.1544Z" fill="url(#meta-5)"/>
|
|
9
|
+
<path d="M6.84924 3.60742C5.88628 5.08446 5.30292 6.01088 5.30292 6.01088C4.02016 8.02169 3.57639 8.47237 2.86221 8.47237C2.5642 8.47237 2.31524 8.36626 2.12451 8.16343C2.12133 8.16005 2.11814 8.15662 2.11499 8.15319L0.843262 9.24919C0.846278 9.25274 0.849305 9.25629 0.852343 9.25984C1.32074 9.80583 1.98189 10.1088 2.79981 10.1088C4.03726 10.1088 4.92725 9.52537 6.5094 6.75973C6.5094 6.75973 7.16894 5.59504 7.62266 4.79276C7.34161 4.33898 7.08584 3.94614 6.84924 3.60742Z" fill="#0082FB"/>
|
|
10
|
+
<path d="M8.56569 1.27734C8.56244 1.28079 8.55913 1.28431 8.55589 1.28777C8.30301 1.55719 8.06032 1.85807 7.82422 2.1773C8.06247 2.48067 8.30842 2.82111 8.56513 3.20145C8.86769 2.73447 9.15011 2.35626 9.42691 2.06637C9.4302 2.06294 9.43341 2.0596 9.43669 2.05618L8.56569 1.27734Z" fill="url(#meta-6)"/>
|
|
11
|
+
<path d="M13.2408 1.13125C12.5692 0.452783 11.7685 0.0546875 10.9125 0.0546875C10.0098 0.0546875 9.25054 0.549336 8.56571 1.27604C8.56246 1.27948 8.55915 1.283 8.55591 1.28646L9.42694 2.06506C9.43022 2.06163 9.43343 2.05829 9.43672 2.05488C9.88786 1.58561 10.3245 1.35131 10.8085 1.35131H10.8084C11.3294 1.35131 11.8171 1.59654 12.2394 2.02645C12.2427 2.02982 12.246 2.03316 12.2493 2.03655L13.2508 1.14135C13.2475 1.13796 13.2441 1.13462 13.2408 1.13125Z" fill="#0082FB"/>
|
|
12
|
+
<path d="M15.1822 6.41693C15.1446 4.23851 14.3823 2.29103 13.2508 1.14096C13.2474 1.13757 13.2441 1.13423 13.2407 1.13086L12.2394 2.02606C12.2427 2.02943 12.246 2.03277 12.2493 2.03616C13.1005 2.91055 13.6844 4.53694 13.7375 6.41646C13.7376 6.42119 13.7377 6.42592 13.7379 6.43065L15.1824 6.43111C15.1824 6.42639 15.1823 6.42166 15.1822 6.41693Z" fill="url(#meta-7)"/>
|
|
13
|
+
<path d="M15.1824 6.43263C15.1824 6.4279 15.1823 6.42317 15.1822 6.41843L13.7375 6.41797C13.7376 6.4227 13.7377 6.42743 13.7379 6.43216C13.7402 6.52038 13.7414 6.60913 13.7414 6.69841C13.7414 7.21086 13.6649 7.6251 13.5092 7.92417C13.5069 7.92861 13.5045 7.93306 13.5022 7.93744L14.5793 9.05771C14.582 9.05364 14.5846 9.0496 14.5873 9.04551C14.9783 8.44213 15.1836 7.60392 15.1836 6.58747C15.1836 6.53573 15.1832 6.48411 15.1824 6.43263Z" fill="url(#meta-8)"/>
|
|
14
|
+
<path d="M13.5093 7.92188C13.507 7.92631 13.5046 7.93076 13.5023 7.93515C13.3676 8.18724 13.1753 8.35538 12.924 8.4289L13.415 9.97644C13.48 9.95436 13.5433 9.92957 13.6049 9.90207C13.6233 9.89388 13.6416 9.88545 13.6597 9.87678C13.6701 9.87178 13.6805 9.86671 13.6908 9.86157C14.0155 9.69974 14.2899 9.46106 14.5118 9.15354C14.5254 9.13476 14.5388 9.11582 14.5519 9.09654C14.5612 9.08295 14.5704 9.06925 14.5794 9.05541C14.5821 9.05135 14.5847 9.0473 14.5874 9.04322L13.5093 7.92188Z" fill="url(#meta-9)"/>
|
|
15
|
+
<path d="M12.6111 8.47085C12.4465 8.47085 12.3012 8.44634 12.159 8.38281L11.6562 9.96718C11.9388 10.0637 12.2403 10.1072 12.5765 10.1072C12.8862 10.1072 13.1705 10.0609 13.4283 9.97153L12.9374 8.42452C12.8316 8.45623 12.7216 8.47184 12.6111 8.47085Z" fill="url(#meta-10)"/>
|
|
16
|
+
<path d="M11.6051 7.93071C11.602 7.92714 11.5989 7.92355 11.5957 7.91992L10.4388 9.12313C10.4421 9.12659 10.4453 9.13004 10.4485 9.13348C10.8505 9.56188 11.2344 9.82762 11.6697 9.97347L12.1721 8.39027C11.9887 8.31148 11.8112 8.16864 11.6051 7.93071Z" fill="url(#meta-11)"/>
|
|
17
|
+
<path d="M11.5958 7.91873C11.2488 7.51518 10.8195 6.84328 10.1443 5.75677L9.26431 4.28917L9.25724 4.27734L8.23621 5.80859L8.24348 5.82083L8.86699 6.86972C9.47138 7.88111 9.96376 8.61279 10.4389 9.12193C10.4422 9.1254 10.4454 9.12885 10.4486 9.13229L11.6051 7.92952C11.602 7.92596 11.5989 7.92236 11.5958 7.91873Z" fill="url(#meta-12)"/>
|
|
18
|
+
<defs>
|
|
19
|
+
<linearGradient id="meta-0" x1="8.58586" y1="5.1989" x2="5.19669" y2="0.757905" gradientUnits="userSpaceOnUse"><stop offset="0.0006" stop-color="#0867DF"/><stop offset="0.4539" stop-color="#0668E1"/><stop offset="0.8591" stop-color="#0064E0"/></linearGradient>
|
|
20
|
+
<linearGradient id="meta-1" x1="1.98772" y1="2.32206" x2="4.31121" y2="0.558086" gradientUnits="userSpaceOnUse"><stop offset="0.1323" stop-color="#0064DF"/><stop offset="0.9988" stop-color="#0064E0"/></linearGradient>
|
|
21
|
+
<linearGradient id="meta-2" x1="1.0028" y1="4.91157" x2="1.93484" y2="2.56535" gradientUnits="userSpaceOnUse"><stop offset="0.0147" stop-color="#0072EC"/><stop offset="0.6881" stop-color="#0064DF"/></linearGradient>
|
|
22
|
+
<linearGradient id="meta-3" x1="0.876315" y1="6.60704" x2="0.984158" y2="5.17414" gradientUnits="userSpaceOnUse"><stop offset="0.0731" stop-color="#007CF6"/><stop offset="0.9943" stop-color="#0072EC"/></linearGradient>
|
|
23
|
+
<linearGradient id="meta-4" x1="0.935623" y1="7.38311" x2="0.858481" y2="6.80902" gradientUnits="userSpaceOnUse"><stop offset="0.0731" stop-color="#007FF9"/><stop offset="1" stop-color="#007CF6"/></linearGradient>
|
|
24
|
+
<linearGradient id="meta-5" x1="0.89031" y1="7.53593" x2="1.37106" y2="8.55559" gradientUnits="userSpaceOnUse"><stop offset="0.0731" stop-color="#007FF9"/><stop offset="1" stop-color="#0082FB"/></linearGradient>
|
|
25
|
+
<linearGradient id="meta-6" x1="8.27941" y1="2.60226" x2="8.91497" y2="1.72324" gradientUnits="userSpaceOnUse"><stop offset="0.2799" stop-color="#007FF8"/><stop offset="0.9141" stop-color="#0082FB"/></linearGradient>
|
|
26
|
+
<linearGradient id="meta-7" x1="13.1116" y1="1.46132" x2="14.4412" y2="6.35237" gradientUnits="userSpaceOnUse"><stop stop-color="#0082FB"/><stop offset="0.9995" stop-color="#0081FA"/></linearGradient>
|
|
27
|
+
<linearGradient id="meta-8" x1="14.7623" y1="6.541" x2="13.9208" y2="8.24143" gradientUnits="userSpaceOnUse"><stop offset="0.0619" stop-color="#0081FA"/><stop offset="1" stop-color="#0080F9"/></linearGradient>
|
|
28
|
+
<linearGradient id="meta-9" x1="13.2521" y1="9.14064" x2="14.0387" y2="8.6049" gradientUnits="userSpaceOnUse"><stop stop-color="#027AF3"/><stop offset="1" stop-color="#0080F9"/></linearGradient>
|
|
29
|
+
<linearGradient id="meta-10" x1="12.0183" y1="9.24502" x2="13.1113" y2="9.24502" gradientUnits="userSpaceOnUse"><stop stop-color="#0377EF"/><stop offset="0.9994" stop-color="#0279F1"/></linearGradient>
|
|
30
|
+
<linearGradient id="meta-11" x1="11.068" y1="8.64479" x2="11.8538" y2="9.1071" gradientUnits="userSpaceOnUse"><stop offset="0.0019" stop-color="#0471E9"/><stop offset="1" stop-color="#0377EF"/></linearGradient>
|
|
31
|
+
<linearGradient id="meta-12" x1="8.67106" y1="5.23467" x2="11.1883" y2="8.3996" gradientUnits="userSpaceOnUse"><stop offset="0.2765" stop-color="#0867DF"/><stop offset="1" stop-color="#0471E9"/></linearGradient>
|
|
32
|
+
</defs>
|
|
33
|
+
</svg>
|
package/app/server.js
CHANGED
|
@@ -9,7 +9,7 @@ const currentPort = parseInt(process.env.PORT, 10) || 3000
|
|
|
9
9
|
const hostname = process.env.HOSTNAME || '0.0.0.0'
|
|
10
10
|
|
|
11
11
|
let keepAliveTimeout = parseInt(process.env.KEEP_ALIVE_TIMEOUT, 10)
|
|
12
|
-
const nextConfig = {"env":{"BOTMANCERS_BUILD_VERSION":"0.
|
|
12
|
+
const nextConfig = {"env":{"BOTMANCERS_BUILD_VERSION":"0.10.1","BOTMANCERS_BUILD_COMMIT":"287186d73c4e39c7dbd7fbe91077dcb318e28f4d"},"webpack":null,"typescript":{"ignoreBuildErrors":false},"typedRoutes":false,"distDir":"./.next","cleanDistDir":true,"assetPrefix":"","cacheMaxMemorySize":52428800,"configOrigin":"next.config.ts","useFileSystemPublicRoutes":true,"generateEtags":true,"pageExtensions":["tsx","ts","jsx","js"],"instrumentationClientInject":[],"poweredByHeader":true,"compress":true,"images":{"deviceSizes":[640,750,828,1080,1200,1920,2048,3840],"imageSizes":[32,48,64,96,128,256,384],"path":"/_next/image","loader":"default","loaderFile":"","domains":[],"disableStaticImages":false,"minimumCacheTTL":14400,"formats":["image/webp"],"maximumRedirects":3,"maximumResponseBody":50000000,"dangerouslyAllowLocalIP":false,"dangerouslyAllowSVG":false,"contentSecurityPolicy":"script-src 'none'; frame-src 'none'; sandbox;","contentDispositionType":"attachment","localPatterns":[{"pathname":"**","search":""}],"remotePatterns":[],"qualities":[75],"unoptimized":true,"customCacheHandler":false},"devIndicators":{"position":"bottom-left"},"onDemandEntries":{"maxInactiveAge":60000,"pagesBufferLength":5},"basePath":"","sassOptions":{},"trailingSlash":false,"i18n":null,"productionBrowserSourceMaps":false,"excludeDefaultMomentLocales":true,"reactProductionProfiling":false,"reactStrictMode":null,"reactMaxHeadersLength":6000,"httpAgentOptions":{"keepAlive":true},"logging":{"serverFunctions":true,"browserToTerminal":"warn"},"compiler":{},"expireTime":31536000,"staticPageGenerationTimeout":60,"output":"standalone","modularizeImports":{"@mui/icons-material":{"transform":"@mui/icons-material/{{member}}"},"lodash":{"transform":"lodash/{{member}}"}},"outputFileTracingRoot":__dirname,"enablePrerenderSourceMaps":true,"cacheComponents":false,"cacheLife":{"default":{"stale":300,"revalidate":900,"expire":4294967294},"seconds":{"stale":30,"revalidate":1,"expire":60},"minutes":{"stale":300,"revalidate":60,"expire":3600},"hours":{"stale":300,"revalidate":3600,"expire":86400},"days":{"stale":300,"revalidate":86400,"expire":604800},"weeks":{"stale":300,"revalidate":604800,"expire":2592000},"max":{"stale":300,"revalidate":2592000,"expire":31536000}},"cacheHandlers":{},"experimental":{"appNewScrollHandler":true,"coldCacheBadge":false,"devValidationWorker":true,"useSkewCookie":false,"cssChunking":true,"multiZoneDraftMode":false,"appNavFailHandling":false,"prerenderEarlyExit":true,"serverMinification":true,"linkNoTouchStart":false,"caseSensitiveRoutes":false,"cachedNavigations":false,"dynamicOnHover":false,"useOffline":false,"varyParams":true,"optimisticRouting":true,"instrumentationClientRouterTransitionEvents":false,"prefetchInlining":{"maxSize":2048,"maxBundleSize":10240},"preloadEntriesOnStart":true,"clientRouterFilter":true,"clientRouterFilterRedirects":false,"fetchCacheKeyPrefix":"","proxyPrefetch":"flexible","optimisticClientCache":true,"manualClientBasePath":false,"cpus":9,"memoryBasedWorkersCount":false,"imgOptConcurrency":null,"imgOptOperationCache":null,"imgOptTimeoutInSeconds":7,"imgOptMaxInputPixels":268402689,"imgOptSequentialRead":null,"isrFlushToDisk":true,"workerThreads":false,"optimizeCss":false,"nextScriptWorkers":false,"scrollRestoration":false,"externalDir":false,"devMemoryThresholdRestart":true,"disableOptimizedLoading":false,"gzipSize":true,"craCompat":false,"esmExternals":true,"fullySpecified":false,"swcTraceProfiling":false,"forceSwcTransforms":false,"requestInsights":false,"largePageDataBytes":128000,"typedEnv":false,"parallelServerCompiles":false,"parallelServerBuildTraces":false,"ppr":false,"authInterrupts":false,"webpackMemoryOptimizations":false,"optimizeServerReact":true,"strictRouteTypes":false,"useTypeScriptCli":true,"removeUncaughtErrorAndRejectionListeners":false,"validateRSCRequestHeaders":true,"staleTimes":{"dynamic":0,"static":300},"reactDebugChannel":true,"serverComponentsHmrCache":true,"serverComponentsHmrCancellation":false,"staticGenerationMaxConcurrency":8,"staticGenerationMinPagesPerWorker":25,"transitionIndicator":false,"gestureTransition":false,"inlineCss":false,"useCache":false,"globalNotFound":false,"browserDebugInfoInTerminal":"warn","lockDistDir":true,"proxyClientMaxBodySize":10485760,"hideLogsAfterAbort":false,"mcpServer":true,"turbopackFileSystemCacheForDev":true,"turbopackFileSystemCacheForBuild":true,"turbopackInferModuleSideEffects":true,"turbopackPluginRuntimeStrategy":"childProcesses","turbopackMemoryEvictionMode":"auto","optimizePackageImports":["lucide-react","date-fns","lodash-es","ramda","antd","react-bootstrap","ahooks","@ant-design/icons","@headlessui/react","@headlessui-float/react","@heroicons/react/20/solid","@heroicons/react/24/solid","@heroicons/react/24/outline","@visx/visx","@tremor/react","rxjs","@mui/material","@mui/icons-material","recharts","react-use","effect","@effect/schema","@effect/platform","@effect/platform-node","@effect/platform-browser","@effect/platform-bun","@effect/sql","@effect/sql-mssql","@effect/sql-mysql2","@effect/sql-pg","@effect/sql-sqlite-node","@effect/sql-sqlite-bun","@effect/sql-sqlite-wasm","@effect/sql-sqlite-react-native","@effect/rpc","@effect/rpc-http","@effect/typeclass","@effect/experimental","@effect/opentelemetry","@material-ui/core","@material-ui/icons","@tabler/icons-react","mui-core","react-icons/ai","react-icons/bi","react-icons/bs","react-icons/cg","react-icons/ci","react-icons/di","react-icons/fa","react-icons/fa6","react-icons/fc","react-icons/fi","react-icons/gi","react-icons/go","react-icons/gr","react-icons/hi","react-icons/hi2","react-icons/im","react-icons/io","react-icons/io5","react-icons/lia","react-icons/lib","react-icons/lu","react-icons/md","react-icons/pi","react-icons/ri","react-icons/rx","react-icons/si","react-icons/sl","react-icons/tb","react-icons/tfi","react-icons/ti","react-icons/vsc","react-icons/wi"],"useCacheTimeout":54,"instantInsights":{"validationLevel":"warning"},"trustHostHeader":false,"isExperimentalCompile":false},"htmlLimitedBots":"[\\w-]+-Google|Google-[\\w-]+|Chrome-Lighthouse|Slurp|DuckDuckBot|baiduspider|yandex|sogou|bitlybot|tumblr|vkShare|quora link preview|redditbot|ia_archiver|Bingbot|BingPreview|applebot|facebookexternalhit|facebookcatalog|Twitterbot|LinkedInBot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|Yeti|googleweblight","bundlePagesRouterDependencies":false,"configFileName":"next.config.ts","serverExternalPackages":["@slack/socket-mode","@slack/web-api"],"repoRoot":__dirname,"turbopack":{"root":__dirname},"distDirRoot":".next","_originalRewrites":{"beforeFiles":[],"afterFiles":[{"source":"/favicon.ico","destination":"/brand/botmancers-logo-filled-64.png"}],"fallback":[]}}
|
|
13
13
|
|
|
14
14
|
process.env.__NEXT_PRIVATE_STANDALONE_CONFIG = JSON.stringify(nextConfig)
|
|
15
15
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "botmancers",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.1",
|
|
4
4
|
"description": "Botmancers: the UI, core engine, and authenticated MCP bridge (contracts botmancers.mcp.v1 and botmancers.mcp.v2) as one CLI-managed product. `botmancers start` runs it all; bare `botmancers` runs the bridge only.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"botmancers",
|