nodal-agents 0.9.2 → 0.9.3
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/cli.js +629 -426
- package/docs-index.json +21 -14
- package/migrations/0123_chat_messages_stopped.sql +10 -0
- package/migrations/0124_chat_messages_cut_reason.sql +12 -0
- package/migrations/0125_shell_checklist.sql +31 -0
- package/migrations/0126_run_budget.sql +57 -0
- package/migrations/0127_agent_budget.sql +86 -0
- package/migrations/0128_shell_policy_retired_kinds.sql +52 -0
- package/migrations/meta/_journal.json +42 -0
- package/package.json +1 -1
- package/runner.js +4373 -2761
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/app-path-routes-manifest.json +6 -2
- package/web/.next/build-manifest.json +2 -2
- package/web/.next/prerender-manifest.json +5 -5
- package/web/.next/routes-manifest.json +28 -0
- package/web/.next/server/app/(dashboard)/agents/[id]/channels/page.js +1 -1
- package/web/.next/server/app/(dashboard)/agents/[id]/channels/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/agents/[id]/edit/page.js +4 -4
- package/web/.next/server/app/(dashboard)/agents/[id]/edit/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/agents/[id]/telegram/page.js +1 -1
- package/web/.next/server/app/(dashboard)/agents/[id]/telegram/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/agents/page.js +1 -1
- package/web/.next/server/app/(dashboard)/agents/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/approvals/page.js +1 -1
- package/web/.next/server/app/(dashboard)/approvals/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/automations/[id]/page.js +1 -1
- package/web/.next/server/app/(dashboard)/automations/[id]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/automations/page.js +1 -1
- package/web/.next/server/app/(dashboard)/automations/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/chat/[id]/page.js +1 -1
- package/web/.next/server/app/(dashboard)/chat/[id]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/chat/page.js +1 -1
- package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/chat/runs/[id]/page.js +1 -0
- package/web/.next/server/app/(dashboard)/chat/runs/[id]/page_client-reference-manifest.js +1 -0
- package/web/.next/server/app/(dashboard)/code/[id]/page.js +1 -1
- package/web/.next/server/app/(dashboard)/code/[id]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/code/page.js +1 -1
- package/web/.next/server/app/(dashboard)/code/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/connectors/page.js +1 -1
- package/web/.next/server/app/(dashboard)/connectors/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/credentials/page.js +1 -1
- package/web/.next/server/app/(dashboard)/credentials/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/dashboard/page.js +1 -1
- package/web/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/jobs/[id]/page.js +1 -1
- package/web/.next/server/app/(dashboard)/jobs/[id]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/jobs/page.js +1 -1
- package/web/.next/server/app/(dashboard)/jobs/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/learned-skills/page.js +1 -1
- package/web/.next/server/app/(dashboard)/learned-skills/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/llm-providers/page.js +1 -1
- package/web/.next/server/app/(dashboard)/llm-providers/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/logs/page.js +1 -1
- package/web/.next/server/app/(dashboard)/logs/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/mcp/page.js +1 -1
- package/web/.next/server/app/(dashboard)/mcp/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/memories/page.js +1 -1
- package/web/.next/server/app/(dashboard)/memories/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/page.js +1 -1
- package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/scheduled/[id]/page.js +1 -1
- package/web/.next/server/app/(dashboard)/scheduled/[id]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/scheduled/page.js +1 -1
- package/web/.next/server/app/(dashboard)/scheduled/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/settings/page.js +1 -1
- package/web/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/settings/root-context/page.js +1 -1
- package/web/.next/server/app/(dashboard)/settings/root-context/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/skills/[id]/edit/page.js +1 -1
- package/web/.next/server/app/(dashboard)/skills/[id]/edit/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/skills/new/page.js +1 -1
- package/web/.next/server/app/(dashboard)/skills/new/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/skills/page.js +1 -1
- package/web/.next/server/app/(dashboard)/skills/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/spaces/[id]/files/page.js +1 -1
- package/web/.next/server/app/(dashboard)/spaces/[id]/files/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/spaces/[id]/page.js +1 -1
- package/web/.next/server/app/(dashboard)/spaces/[id]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/spaces/page.js +1 -1
- package/web/.next/server/app/(dashboard)/spaces/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/_global-error/page.js +2 -2
- package/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/_global-error.html +1 -1
- package/web/.next/server/app/_global-error.rsc +2 -2
- package/web/.next/server/app/_global-error.segments/_full.segment.rsc +2 -2
- package/web/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +2 -2
- package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/server/app/_not-found/page.js +1 -1
- package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/_not-found.html +1 -1
- package/web/.next/server/app/_not-found.rsc +3 -3
- package/web/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
- package/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
- package/web/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/web/.next/server/app/api/auth/[...all]/route.js +1 -1
- package/web/.next/server/app/api/chat/live/route.js +4 -0
- package/web/.next/server/app/api/chat/live/route_client-reference-manifest.js +1 -0
- package/web/.next/server/app/api/chat/stop/route.js +1 -0
- package/web/.next/server/app/api/chat/stop/route_client-reference-manifest.js +1 -0
- package/web/.next/server/app/api/chat/stream/route.js +3 -3
- package/web/.next/server/app/api/health/route.js +1 -1
- package/web/.next/server/app/api/oauth/[provider]/callback/route.js +1 -1
- package/web/.next/server/app/api/oauth/[provider]/start/route.js +1 -1
- package/web/.next/server/app/api/runs/[jobId]/media/route.js +1 -0
- package/web/.next/server/app/api/runs/[jobId]/media/route_client-reference-manifest.js +1 -0
- package/web/.next/server/app/auth/callback/route.js +1 -1
- package/web/.next/server/app/login/page.js +1 -1
- package/web/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/onboarding/page.js +2 -2
- package/web/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app-paths-manifest.json +6 -2
- package/web/.next/server/chunks/1326.js +136 -0
- package/web/.next/server/chunks/1406.js +1773 -0
- package/web/.next/server/chunks/1615.js +1 -0
- package/web/.next/server/chunks/1873.js +1 -0
- package/web/.next/server/chunks/2443.js +3 -0
- package/web/.next/server/chunks/3483.js +1 -0
- package/web/.next/server/chunks/3675.js +1 -1
- package/web/.next/server/chunks/3920.js +1 -0
- package/web/.next/server/chunks/42.js +3 -3
- package/web/.next/server/chunks/4546.js +1 -0
- package/web/.next/server/chunks/494.js +1 -1
- package/web/.next/server/chunks/5648.js +1 -0
- package/web/.next/server/chunks/5804.js +1 -1
- package/web/.next/server/chunks/592.js +1 -1
- package/web/.next/server/chunks/5976.js +1 -0
- package/web/.next/server/chunks/6915.js +1 -0
- package/web/.next/server/chunks/692.js +15 -15
- package/web/.next/server/chunks/7465.js +1 -0
- package/web/.next/server/chunks/7651.js +812 -0
- package/web/.next/server/chunks/7663.js +22 -22
- package/web/.next/server/chunks/7876.js +1 -0
- package/web/.next/server/chunks/7915.js +1 -1
- package/web/.next/server/chunks/796.js +1 -1
- package/web/.next/server/chunks/8030.js +1 -0
- package/web/.next/server/chunks/8104.js +1 -0
- package/web/.next/server/chunks/8697.js +1 -1
- package/web/.next/server/chunks/8794.js +1 -0
- package/web/.next/server/chunks/8830.js +1 -0
- package/web/.next/server/chunks/9009.js +1 -0
- package/web/.next/server/chunks/{2096.js → 9066.js} +1 -1
- package/web/.next/server/chunks/965.js +1 -1
- package/web/.next/server/chunks/{6213.js → 9844.js} +2 -2
- package/web/.next/server/chunks/9882.js +36 -0
- package/web/.next/server/middleware-build-manifest.js +1 -1
- package/web/.next/server/middleware.js +27 -27
- package/web/.next/server/pages/404.html +1 -1
- package/web/.next/server/pages/500.html +1 -1
- package/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/server/server-reference-manifest.json +1 -1
- package/web/.next/static/chunks/{1091-6d0af9f18ddf99f6.js → 1091-9485133bd943918f.js} +1 -1
- package/web/.next/static/chunks/{1332-c8bed6b750598652.js → 1409-fe80b5952e1f40cb.js} +1 -1
- package/web/.next/static/chunks/1789-2566ac18a25fb387.js +1 -0
- package/web/.next/static/chunks/3844-36a00411beee6253.js +1 -0
- package/web/.next/static/chunks/4020-ec67a80b0e0b651e.js +1 -0
- package/web/.next/static/chunks/4666-5fd532303d09a950.js +1 -0
- package/web/.next/static/chunks/4771-47261da3c38b4746.js +1 -0
- package/web/.next/static/chunks/494-a34a6a0b36862877.js +1 -0
- package/web/.next/static/chunks/5034-9aff8cbeb288ac20.js +1 -0
- package/web/.next/static/chunks/5216-528f63f54d56b47a.js +1 -0
- package/web/.next/static/chunks/5575-444e6f49e2d2a328.js +1 -0
- package/web/.next/static/chunks/560-59e02268ee5fe11e.js +1 -0
- package/web/.next/static/chunks/5954-7c92f3e7812dce11.js +1 -0
- package/web/.next/static/chunks/{5925-76337eacde3c3bc8.js → 6724-8a6d2dc777961105.js} +11 -11
- package/web/.next/static/chunks/6861-5edebd867f40e3a6.js +3 -0
- package/web/.next/static/chunks/764-a883257e15345ae8.js +1 -0
- package/web/.next/static/chunks/825-c876657b507df9d8.js +1 -0
- package/web/.next/static/chunks/9052-33a3c725444cb518.js +1 -0
- package/web/.next/static/chunks/9287-41590f18e747f14c.js +1 -0
- package/web/.next/static/chunks/9484-f972307c1c78a8e8.js +1 -0
- package/web/.next/static/chunks/9643-03e18abc622d33f5.js +1 -0
- package/web/.next/static/chunks/app/(dashboard)/agents/[id]/channels/page-7b6e8b91210cb2ee.js +1 -0
- package/web/.next/static/chunks/app/(dashboard)/agents/[id]/edit/page-16e26ece80055943.js +6 -0
- package/web/.next/static/chunks/app/(dashboard)/agents/[id]/telegram/page-7b6e8b91210cb2ee.js +1 -0
- package/web/.next/static/chunks/app/(dashboard)/agents/page-ca54871a8009f0aa.js +1 -0
- package/web/.next/static/chunks/app/(dashboard)/approvals/page-a5d31137ad6c86c0.js +1 -0
- package/web/.next/static/chunks/app/(dashboard)/automations/[id]/{page-9ef1d76121b6030d.js → page-2ea773c99f54f674.js} +1 -1
- package/web/.next/static/chunks/app/(dashboard)/automations/page-095be3edd6287d73.js +1 -0
- package/web/.next/static/chunks/app/(dashboard)/chat/[id]/page-00acae0653281839.js +1 -0
- package/web/.next/static/chunks/app/(dashboard)/chat/page-056975f6c9d5625b.js +1 -0
- package/web/.next/static/chunks/app/(dashboard)/chat/runs/[id]/page-899772b15670d3de.js +1 -0
- package/web/.next/static/chunks/app/(dashboard)/code/[id]/page-83535784a61e8e36.js +1 -0
- package/web/.next/static/chunks/app/(dashboard)/code/page-7b6e8b91210cb2ee.js +1 -0
- package/web/.next/static/chunks/app/(dashboard)/connectors/page-af5150e89038a92b.js +1 -0
- package/web/.next/static/chunks/app/(dashboard)/dashboard/{page-7473d1190864cbd4.js → page-241109c80363cab1.js} +1 -1
- package/web/.next/static/chunks/app/(dashboard)/jobs/[id]/page-899772b15670d3de.js +1 -0
- package/web/.next/static/chunks/app/(dashboard)/jobs/page-7b6e8b91210cb2ee.js +1 -0
- package/web/.next/static/chunks/app/(dashboard)/layout-2b492fe5d87e7a8c.js +1 -0
- package/web/.next/static/chunks/app/(dashboard)/learned-skills/page-d3d0521187a02e31.js +1 -0
- package/web/.next/static/chunks/app/(dashboard)/llm-providers/page-1b5aef6848173842.js +1 -0
- package/web/.next/static/chunks/app/(dashboard)/logs/page-fd939bac9a74004e.js +1 -0
- package/web/.next/static/chunks/app/(dashboard)/mcp/page-11decdc1d91b079d.js +1 -0
- package/web/.next/static/chunks/app/(dashboard)/memories/{page-593161bc7c2a25d7.js → page-2dda98de596fe53c.js} +1 -1
- package/web/.next/static/chunks/app/(dashboard)/page-40b43271735f5935.js +1 -0
- package/web/.next/static/chunks/app/(dashboard)/scheduled/[id]/page-899772b15670d3de.js +1 -0
- package/web/.next/static/chunks/app/(dashboard)/scheduled/page-7b6e8b91210cb2ee.js +1 -0
- package/web/.next/static/chunks/app/(dashboard)/settings/page-420c62b3fbec2901.js +1 -0
- package/web/.next/static/chunks/app/(dashboard)/settings/root-context/page-7840e0f90ad51fd3.js +1 -0
- package/web/.next/static/chunks/app/(dashboard)/skills/page-497d3e268b76b0eb.js +1 -0
- package/web/.next/static/chunks/app/(dashboard)/spaces/[id]/files/page-d13f877dfd34c6c0.js +1 -0
- package/web/.next/static/chunks/app/(dashboard)/spaces/[id]/page-bf466093877ab1c5.js +1 -0
- package/web/.next/static/chunks/app/(dashboard)/spaces/page-1d264307964cfdfe.js +1 -0
- package/web/.next/static/chunks/app/_global-error/page-7b6e8b91210cb2ee.js +1 -0
- package/web/.next/static/chunks/app/_not-found/page-7b6e8b91210cb2ee.js +1 -0
- package/web/.next/static/chunks/app/api/auth/[...all]/route-7b6e8b91210cb2ee.js +1 -0
- package/web/.next/static/chunks/app/api/chat/live/route-7b6e8b91210cb2ee.js +1 -0
- package/web/.next/static/chunks/app/api/chat/stop/route-7b6e8b91210cb2ee.js +1 -0
- package/web/.next/static/chunks/app/api/chat/stream/route-7b6e8b91210cb2ee.js +1 -0
- package/web/.next/static/chunks/app/api/health/route-7b6e8b91210cb2ee.js +1 -0
- package/web/.next/static/chunks/app/api/oauth/[provider]/callback/route-7b6e8b91210cb2ee.js +1 -0
- package/web/.next/static/chunks/app/api/oauth/[provider]/start/route-7b6e8b91210cb2ee.js +1 -0
- package/web/.next/static/chunks/app/api/runs/[jobId]/media/route-7b6e8b91210cb2ee.js +1 -0
- package/web/.next/static/chunks/app/auth/callback/route-7b6e8b91210cb2ee.js +1 -0
- package/web/.next/static/chunks/app/login/{page-5357f030e5018563.js → page-d260a3be0b6857ef.js} +1 -1
- package/web/.next/static/chunks/app/onboarding/{page-9b6955cdd3033584.js → page-07908ee9b2b6d6b5.js} +2 -2
- package/web/.next/static/chunks/next/dist/client/components/builtin/app-error-7b6e8b91210cb2ee.js +1 -0
- package/web/.next/static/chunks/next/dist/client/components/builtin/forbidden-7b6e8b91210cb2ee.js +1 -0
- package/web/.next/static/chunks/next/dist/client/components/builtin/unauthorized-7b6e8b91210cb2ee.js +1 -0
- package/web/.next/static/css/55c009e1dd52d5a7.css +1 -0
- package/web/.next/static/uWxfL1NbU-xFtwNtkF4Wb/_buildManifest.js +1 -0
- package/web/.next/server/chunks/1960.js +0 -1
- package/web/.next/server/chunks/292.js +0 -1
- package/web/.next/server/chunks/3592.js +0 -1
- package/web/.next/server/chunks/409.js +0 -1
- package/web/.next/server/chunks/4357.js +0 -1
- package/web/.next/server/chunks/5547.js +0 -1
- package/web/.next/server/chunks/570.js +0 -1
- package/web/.next/server/chunks/5974.js +0 -1
- package/web/.next/server/chunks/6106.js +0 -1
- package/web/.next/server/chunks/7134.js +0 -947
- package/web/.next/server/chunks/7431.js +0 -1
- package/web/.next/server/chunks/7533.js +0 -1
- package/web/.next/server/chunks/7709.js +0 -1
- package/web/.next/server/chunks/8022.js +0 -1
- package/web/.next/server/chunks/8536.js +0 -3
- package/web/.next/server/chunks/8974.js +0 -1808
- package/web/.next/server/chunks/9200.js +0 -1
- package/web/.next/static/chunks/1054-08930540869affcc.js +0 -1
- package/web/.next/static/chunks/1577-09f4d5183fb172de.js +0 -1
- package/web/.next/static/chunks/1789-b436bca079b82fcc.js +0 -1
- package/web/.next/static/chunks/296-1b50dd61ac3198f4.js +0 -1
- package/web/.next/static/chunks/3159-f25525771781f5aa.js +0 -1
- package/web/.next/static/chunks/3775-3a5a749d63c785a1.js +0 -3
- package/web/.next/static/chunks/390-d6132d3a117487df.js +0 -1
- package/web/.next/static/chunks/4020-9778230f3cc2164a.js +0 -1
- package/web/.next/static/chunks/4771-a0aadf337f224b72.js +0 -1
- package/web/.next/static/chunks/494-ed02d105fa0ac132.js +0 -1
- package/web/.next/static/chunks/5034-fc9997ff33a114aa.js +0 -1
- package/web/.next/static/chunks/7879-67ac5a52d74c20d2.js +0 -1
- package/web/.next/static/chunks/7920-40dc6aa63e653d6b.js +0 -1
- package/web/.next/static/chunks/870-b7151716d04a13c3.js +0 -1
- package/web/.next/static/chunks/8794-2a616d1f9c210117.js +0 -1
- package/web/.next/static/chunks/8861-a108ed6178a56b21.js +0 -1
- package/web/.next/static/chunks/9643-e9c8a744dd98813d.js +0 -1
- package/web/.next/static/chunks/9952-992cabfb077d287c.js +0 -1
- package/web/.next/static/chunks/app/(dashboard)/agents/[id]/channels/page-523c5d229e8520bf.js +0 -1
- package/web/.next/static/chunks/app/(dashboard)/agents/[id]/edit/page-5ca9c1eef4d0f837.js +0 -6
- package/web/.next/static/chunks/app/(dashboard)/agents/[id]/telegram/page-523c5d229e8520bf.js +0 -1
- package/web/.next/static/chunks/app/(dashboard)/agents/page-5ffa4a2468c1f95a.js +0 -1
- package/web/.next/static/chunks/app/(dashboard)/approvals/page-cd46d5e439a20d3e.js +0 -1
- package/web/.next/static/chunks/app/(dashboard)/automations/page-46eeaa40df9e58f8.js +0 -1
- package/web/.next/static/chunks/app/(dashboard)/chat/[id]/page-25e095bf0cdd1c40.js +0 -1
- package/web/.next/static/chunks/app/(dashboard)/chat/page-e2df1a328e18da7a.js +0 -1
- package/web/.next/static/chunks/app/(dashboard)/code/[id]/page-f5f7624cfbb32ee2.js +0 -1
- package/web/.next/static/chunks/app/(dashboard)/code/page-523c5d229e8520bf.js +0 -1
- package/web/.next/static/chunks/app/(dashboard)/connectors/page-2ecbfc5836577888.js +0 -1
- package/web/.next/static/chunks/app/(dashboard)/jobs/[id]/page-47e177ab46926fd7.js +0 -1
- package/web/.next/static/chunks/app/(dashboard)/jobs/page-523c5d229e8520bf.js +0 -1
- package/web/.next/static/chunks/app/(dashboard)/layout-0b429859260736b2.js +0 -1
- package/web/.next/static/chunks/app/(dashboard)/learned-skills/page-596d973a31e774db.js +0 -1
- package/web/.next/static/chunks/app/(dashboard)/llm-providers/page-ba1968c9430c4dd4.js +0 -1
- package/web/.next/static/chunks/app/(dashboard)/logs/page-f74da6f66116c7e7.js +0 -1
- package/web/.next/static/chunks/app/(dashboard)/mcp/page-07bdc6780b13cfca.js +0 -1
- package/web/.next/static/chunks/app/(dashboard)/page-889d6e89a8f679f8.js +0 -1
- package/web/.next/static/chunks/app/(dashboard)/scheduled/[id]/page-47e177ab46926fd7.js +0 -1
- package/web/.next/static/chunks/app/(dashboard)/scheduled/page-523c5d229e8520bf.js +0 -1
- package/web/.next/static/chunks/app/(dashboard)/settings/page-1b40e127c38affda.js +0 -1
- package/web/.next/static/chunks/app/(dashboard)/settings/root-context/page-6b7e1cffcad40a6a.js +0 -1
- package/web/.next/static/chunks/app/(dashboard)/skills/page-3ad87d1a3fbb4f05.js +0 -1
- package/web/.next/static/chunks/app/(dashboard)/spaces/[id]/files/page-4e2d27f80456a1ba.js +0 -1
- package/web/.next/static/chunks/app/(dashboard)/spaces/[id]/page-c81023eaa26c2c7a.js +0 -1
- package/web/.next/static/chunks/app/(dashboard)/spaces/page-9dbb35822503481b.js +0 -1
- package/web/.next/static/chunks/app/_global-error/page-523c5d229e8520bf.js +0 -1
- package/web/.next/static/chunks/app/_not-found/page-523c5d229e8520bf.js +0 -1
- package/web/.next/static/chunks/app/api/auth/[...all]/route-523c5d229e8520bf.js +0 -1
- package/web/.next/static/chunks/app/api/chat/stream/route-523c5d229e8520bf.js +0 -1
- package/web/.next/static/chunks/app/api/health/route-523c5d229e8520bf.js +0 -1
- package/web/.next/static/chunks/app/api/oauth/[provider]/callback/route-523c5d229e8520bf.js +0 -1
- package/web/.next/static/chunks/app/api/oauth/[provider]/start/route-523c5d229e8520bf.js +0 -1
- package/web/.next/static/chunks/app/auth/callback/route-523c5d229e8520bf.js +0 -1
- package/web/.next/static/chunks/next/dist/client/components/builtin/app-error-523c5d229e8520bf.js +0 -1
- package/web/.next/static/chunks/next/dist/client/components/builtin/forbidden-523c5d229e8520bf.js +0 -1
- package/web/.next/static/chunks/next/dist/client/components/builtin/unauthorized-523c5d229e8520bf.js +0 -1
- package/web/.next/static/css/099c0b54fc41e5b0.css +0 -1
- package/web/.next/static/x5fvzE6AeZGASlemQTLwd/_buildManifest.js +0 -1
- /package/web/.next/static/{x5fvzE6AeZGASlemQTLwd → uWxfL1NbU-xFtwNtkF4Wb}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9305],{9245:(e,t,a)=>{"use strict";a.d(t,{A:()=>s,S:()=>r});var n=a(48503);let r=["\uD83D\uDDC2️","\uD83C\uDFE0","\uD83D\uDCBC","\uD83D\uDE80","\uD83E\uDDEA","\uD83C\uDFA8","\uD83D\uDCCA","\uD83D\uDEE0️","\uD83C\uDF10","⚡","\uD83E\uDD16","\uD83D\uDCE6"];function s({value:e,onChange:t,disabled:a}){return(0,n.jsx)("div",{className:"flex flex-wrap gap-1",children:r.map(r=>{let s=e===r;return(0,n.jsx)("button",{type:"button",disabled:a,"aria-pressed":s,onClick:()=>t(r),className:`flex h-8 w-8 items-center justify-center rounded-md border text-legacy-16 leading-none! transition-colors disabled:opacity-50 ${s?"border-ink bg-hover-2":"border-rule-2 hover:bg-hover"}`,children:r},r)})})}},9594:(e,t,a)=>{"use strict";a.d(t,{A:()=>l});var n=a(48503),r=a(80351),s=a(5829);let l=(0,r.forwardRef)(function({label:e,error:t,id:a,className:l="",containerClassName:i="",...o},c){let d=(0,r.useId)(),u=a??d;return(0,n.jsxs)("div",{className:i,children:[e&&(0,n.jsx)(s.A,{htmlFor:u,children:e}),(0,n.jsx)("input",{id:u,ref:c,"aria-invalid":!!t||void 0,className:`w-full rounded-md border bg-hover py-1.5 pr-2 pl-3 text-body-14 leading-5! text-ink placeholder:text-ink-4 transition-colors focus:outline-none disabled:cursor-not-allowed disabled:opacity-50 ${t?"border-err focus:border-err":"border-rule focus:border-ink-3"} ${l}`,...o}),t&&(0,n.jsx)("p",{className:"mt-1 text-xs text-err",children:t})]})})},22015:(e,t,a)=>{"use strict";a.d(t,{x:()=>r});var n=a(2439);let r=(0,n.createServerReference)("401f0ae4b0af60dc621e839ce340f95b2ea5c4895e",n.callServer,void 0,n.findSourceMapURL,"setCodeProjectHiddenAction")},29209:(e,t,a)=>{"use strict";a.d(t,{X:()=>r});var n=a(2439);let r=(0,n.createServerReference)("402f0aec866b8fcbc614f2ece0e41834a031867e24",n.callServer,void 0,n.findSourceMapURL,"deleteScheduleAction")},31093:(e,t,a)=>{"use strict";a.d(t,{A:()=>r});var n=a(48503);function r({icon:e,title:t,subtitle:a,titleClassName:s="text-medium-12 leading-tight! text-ink",subtitleClassName:l="font-mono text-legacy-10 leading-tight! text-ink-3",className:i="",type:o="button",...c}){return(0,n.jsxs)("button",{type:o,className:`flex w-full items-center text-left transition-colors ${i}`,...c,children:[(0,n.jsx)("span",{className:"shrink-0",children:e}),(0,n.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,n.jsx)("span",{className:`block truncate ${s}`,children:t}),a&&(0,n.jsx)("span",{className:`block truncate ${l}`,children:a})]})]})}},34214:(e,t,a)=>{"use strict";a.d(t,{default:()=>tp});var n=a(48503),r=a(80351),s=a(73573),l=a(86045),i=a(35799),o=a(5797),c=a(88088),d=a(22208),u=a.n(d),h=a(4573),x=a(65010),m=a(17915);let f={tint:"bg-err/12 px-2 py-0.5 text-medium-13 text-err lg:px-1.5 lg:py-0 lg:text-micro-11",solid:"bg-err px-1.5 py-px text-micro-10 text-paper"};function p({count:e,max:t=99,variant:a="tint",className:r=""}){return(0,n.jsx)("span",{className:`shrink-0 rounded-full ${f[a]} ${r}`,children:e>t?`${t}+`:e})}var g=a(90566);function v({href:e,external:t=!1,onClick:a,expanded:r,label:s,icon:l,active:i=!1,pill:o,running:c,testId:d}){let h=function(e,t,a){let n=[];if(void 0!==t&&t>0&&n.push(`${t} pending`),void 0!==a&&a.count>0){let e=1===a.count?a.noun:`${a.noun}s`;n.push(`${a.count} ${e} in progress`)}if(0!==n.length)return`${e}, ${n.join(", ")}`}(s,o,c),x=void 0!==o&&o>0?o:null,m=void 0!==c&&c.count>0,f=(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(l,{size:18,className:"h-[18px] w-[18px]"}),(0,n.jsx)("span",{className:"text-micro-10 leading-none",children:s}),(null!==x||m)&&(0,n.jsxs)("span",{className:"absolute top-1 right-1 flex flex-col items-end gap-1",children:[null!==x&&(0,n.jsx)(p,{count:x,variant:"solid"}),m&&(0,n.jsx)("span",{"aria-hidden":"true","data-testid":`${d}-running`,className:"flex h-2 w-2 items-center justify-center",children:(0,n.jsx)(g.A,{variant:"lime",size:"sm"})})]})]}),b={title:s,"data-testid":d,...void 0!==h?{"aria-label":h}:{},className:`relative ${function(e=!1){return`flex h-[52px] w-16 shrink-0 flex-col items-center justify-center gap-1 rounded-[4px] transition-colors ${e?"bg-paper text-ink":"text-ink-3 hover:bg-hover hover:text-ink-2"}`}(i)}`};return void 0===e?(0,n.jsx)("button",{type:"button",onClick:a,"aria-expanded":r,"aria-haspopup":"dialog","data-rail-trigger":"",...b,children:f}):t?(0,n.jsx)("a",{href:e,target:"_blank",rel:"noopener noreferrer",...b,children:f}):(0,n.jsx)(u(),{href:e,...i?{"aria-current":"page"}:{},...b,children:f})}function b({onClick:e,expanded:t,children:a}){return(0,n.jsx)("button",{type:"button",onClick:e,title:"Account","aria-label":"Account","aria-expanded":t,"aria-haspopup":"dialog","data-rail-trigger":"","data-testid":"rail-account",className:`flex h-7 w-7 items-center justify-center rounded-full border border-rule-2 bg-paper transition-colors ${t?"text-ink":"text-ink-3 hover:text-ink"}`,children:a})}function j(e,t,a){return{width:t,height:t,viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":!0,"data-testid":`icon-${e}`,...void 0!==a?{className:a}:{}}}function k({size:e=18,className:t}){return(0,n.jsx)("svg",{...j("runs",e,t),children:(0,n.jsx)("path",{d:"M2.25 4.5C2.25 4.35082 2.30926 4.20774 2.41475 4.10225C2.52024 3.99676 2.66332 3.9375 2.8125 3.9375H15.1875C15.3367 3.9375 15.4798 3.99676 15.5852 4.10225C15.6907 4.20774 15.75 4.35082 15.75 4.5C15.75 4.64918 15.6907 4.79226 15.5852 4.89775C15.4798 5.00324 15.3367 5.0625 15.1875 5.0625H2.8125C2.66332 5.0625 2.52024 5.00324 2.41475 4.89775C2.30926 4.79226 2.25 4.64918 2.25 4.5ZM2.8125 9.5625H7.875C8.02418 9.5625 8.16726 9.50324 8.27275 9.39775C8.37824 9.29226 8.4375 9.14918 8.4375 9C8.4375 8.85082 8.37824 8.70774 8.27275 8.60225C8.16726 8.49676 8.02418 8.4375 7.875 8.4375H2.8125C2.66332 8.4375 2.52024 8.49676 2.41475 8.60225C2.30926 8.70774 2.25 8.85082 2.25 9C2.25 9.14918 2.30926 9.29226 2.41475 9.39775C2.52024 9.50324 2.66332 9.5625 2.8125 9.5625ZM9 12.9375H2.8125C2.66332 12.9375 2.52024 12.9968 2.41475 13.1023C2.30926 13.2077 2.25 13.3508 2.25 13.5C2.25 13.6492 2.30926 13.7923 2.41475 13.8977C2.52024 14.0032 2.66332 14.0625 2.8125 14.0625H9C9.14919 14.0625 9.29226 14.0032 9.39775 13.8977C9.50324 13.7923 9.5625 13.6492 9.5625 13.5C9.5625 13.3508 9.50324 13.2077 9.39775 13.1023C9.29226 12.9968 9.14919 12.9375 9 12.9375ZM16.7105 13.898C16.6582 13.9503 16.5962 13.9918 16.5279 14.0201C16.4596 14.0484 16.3864 14.0629 16.3125 14.0629C16.2386 14.0629 16.1654 14.0484 16.0971 14.0201C16.0288 13.9918 15.9668 13.9503 15.9145 13.898L14.4844 12.4706C13.9028 12.8543 13.1994 13.0085 12.5107 12.9032C11.8219 12.798 11.1967 12.4408 10.7562 11.9009C10.3158 11.361 10.0914 10.6768 10.1266 9.98092C10.1618 9.28503 10.4541 8.62698 10.9468 8.13429C11.4395 7.64159 12.0975 7.34932 12.7934 7.31412C13.4893 7.27891 14.1735 7.50327 14.7134 7.94373C15.2533 8.38419 15.6105 9.00938 15.7158 9.69816C15.821 10.3869 15.6668 11.0903 15.2831 11.6719L16.7105 13.0992C16.7632 13.1515 16.805 13.2137 16.8336 13.2823C16.8622 13.3508 16.8769 13.4243 16.8769 13.4986C16.8769 13.5729 16.8622 13.6464 16.8336 13.7149C16.805 13.7835 16.7632 13.8457 16.7105 13.898ZM12.9375 11.8125C13.2713 11.8125 13.5975 11.7135 13.875 11.5281C14.1525 11.3427 14.3688 11.0791 14.4965 10.7708C14.6243 10.4624 14.6577 10.1231 14.5926 9.79578C14.5275 9.46844 14.3667 9.16776 14.1307 8.93176C13.8947 8.69576 13.5941 8.53504 13.2667 8.46992C12.9394 8.40481 12.6001 8.43823 12.2917 8.56595C11.9834 8.69368 11.7198 8.90997 11.5344 9.18748C11.349 9.46498 11.25 9.79124 11.25 10.125C11.25 10.5726 11.4278 11.0018 11.7443 11.3182C12.0607 11.6347 12.4899 11.8125 12.9375 11.8125Z",fill:"currentColor"})})}var C=a(87989);function w({label:e,onClose:t,children:a}){let s=(0,r.useRef)(null);return(0,r.useEffect)(()=>{function e(e){let a=e.target;s.current?.contains(a??null)===!0||(a?.closest("[data-rail-trigger]")===null||null===a)&&t()}return document.addEventListener("pointerdown",e),()=>document.removeEventListener("pointerdown",e)},[t]),(0,l.Z4)(!0,t),(0,n.jsx)("div",{ref:s,role:"dialog","aria-label":e,"data-testid":"rail-popover",className:"absolute bottom-0 left-full z-50 ml-2 w-[248px] rounded-xl border border-rule-2 bg-paper p-1.5 shadow-lg",children:a})}var y=a(61151),N=a(45070),S=a(12871),$=a(31093),A=a(69160),R=a(2439);let L=(0,R.createServerReference)("007f992cef0aeb937b603b848462cc53a51ed26cf5",R.callServer,void 0,R.findSourceMapURL,"getVersionInfoAction"),M="nodal-agents update";function P({variant:e="panel"}={}){let[t,a]=(0,r.useState)(null),[s,l]=(0,r.useState)(!1);if((0,r.useEffect)(()=>{let e=!0;return L().then(t=>{e&&t.ok&&a(t.data)}).catch(()=>{}),()=>{e=!1}},[]),!t?.current)return null;let{current:i,latest:o,updateAvailable:c}=t,d="rail"===e;return(0,n.jsxs)("div",{className:d?"mt-1.5 shrink-0":"mt-1",children:[d?c?(0,n.jsx)($.A,{onClick:()=>l(!0),className:"gap-1 rounded border border-agent-vivid/40 bg-agent-vivid/10 px-1.5 py-0.5 hover:bg-agent-vivid/20",icon:(0,n.jsx)(y.S,{size:10,weight:"bold",className:"text-ink-2"}),titleClassName:"font-mono text-legacy-10 leading-tight! text-ink-2",title:`v${i}`,"aria-label":`Update available, v${i} to v${o}`}):(0,n.jsxs)("div",{"data-testid":"rail-version",className:"font-mono text-legacy-10 text-ink-4",children:["v",i]}):c?(0,n.jsx)($.A,{onClick:()=>l(!0),className:"gap-2 rounded-lg border border-agent-vivid/40 bg-agent-vivid/10 px-2.5 py-1.5 hover:bg-agent-vivid/20",icon:(0,n.jsx)(y.S,{size:14,weight:"bold",className:"text-ink-2"}),title:"Update available",subtitle:`v${i} → v${o}`}):(0,n.jsxs)("div",{className:"px-2 py-1 font-mono text-legacy-10 text-ink-4",children:["Nodal v",i]}),(0,n.jsx)(N.A,{open:s,onClose:()=>l(!1),title:"Update Nodal-Agents",footer:(0,n.jsx)(N.j,{children:(0,n.jsx)(S.A,{variant:"neutral",onClick:()=>l(!1),children:"Close"})}),children:(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsxs)("p",{className:"text-body-13 leading-relaxed! text-ink-2",children:["A new version is available - ",(0,n.jsxs)("span",{className:"font-mono text-ink-3",children:["v",i]})," →"," ",(0,n.jsxs)("span",{className:"font-mono font-medium text-ink",children:["v",o]}),". Run this in your terminal, then restart Nodal-Agents:"]}),(0,n.jsxs)("div",{className:"flex items-center gap-2 rounded-lg border border-rule-2 bg-hover px-3 py-2.5",children:[(0,n.jsx)("code",{className:"flex-1 text-mono-13 text-ink",children:M}),(0,n.jsx)(A.default,{value:M,successMessage:"Command copied"})]}),(0,n.jsxs)("p",{className:"text-body-12 leading-relaxed! text-ink-4",children:["On macOS/Linux, prefix with ",(0,n.jsx)("span",{className:"font-mono",children:"sudo"})," if the global install needs elevated permissions."]})]})})]})}var z=a(10103),_=a(58492),I=a(91977),Z=a(73467),E=a(28718),H=a(8584),U=a(9481),V=a(52839),W=a(16403),T=a(81714),D=a(56542),F=a(81824),O=a(82448);let K=[{section:"Agents",dynamic:"agents",items:[{href:"/skills",label:"Skills",icon:z.f,tone:"skill"},{href:"/learned-skills",label:"Learned Skills",icon:_.g,tone:"skill"},{href:"/memories",label:"Memory",icon:I.j}]},{section:"Connect",items:[{href:"/connectors",label:"API Connectors",icon:Z.F,tone:"conn"},{href:"/mcp",label:"MCP Connectors",icon:E.X,tone:"conn"},{href:"/credentials",label:"Credentials",icon:H.U}]}],q=[{section:"Settings",items:[{href:"/settings?page=access",label:"Access",icon:H.U},{href:"/settings?page=safety",label:"Safety",icon:U.o},{href:"/settings?page=workspace",label:"Workspace",icon:V.I},{href:"/llm-providers",label:"LLM Providers",icon:W.R},{href:"/settings?page=install",label:"Install",icon:E.X}]}],X=[{key:"work",label:"Work",icon:function({size:e=18,className:t}){return(0,n.jsx)("svg",{...j("briefcase",e,t),children:(0,n.jsx)("path",{d:"M15.9374 10.751C13.8236 11.9374 11.4354 12.5649 9.00009 12.5649C6.56469 12.5649 4.17635 11.9374 2.0625 10.751V13.5001C2.06255 14.0178 2.48221 14.4375 2.99991 14.4375H15C15.5177 14.4375 15.9374 14.0178 15.9374 13.5001V10.751ZM9.00751 8.43759C9.31816 8.4376 9.57001 8.68943 9.57001 9.00009C9.56996 9.31071 9.31813 9.56259 9.00751 9.56259H9.00009C8.68946 9.56259 8.43764 9.31071 8.43759 9.00009C8.43759 8.68943 8.68943 8.43759 9.00009 8.43759H9.00751ZM15.9374 6C15.9374 5.48223 15.5178 5.06259 15 5.06259H2.99991C2.48218 5.06264 2.0625 5.48226 2.0625 6V9.44257C4.13954 10.7463 6.54373 11.4399 9.00009 11.4399C11.4564 11.4399 13.8604 10.7463 15.9374 9.44257V6ZM11.4374 2.99991C11.4374 2.75134 11.3388 2.51294 11.163 2.33716C10.9872 2.16134 10.7486 2.0625 10.5 2.0625H7.49991C7.2513 2.06252 7.01295 2.16136 6.83716 2.33716C6.66136 2.51295 6.56252 2.7513 6.5625 2.99991V3.93759H11.4374V2.99991ZM12.5624 3.93759H15C16.1391 3.93759 17.0624 4.86091 17.0624 6V13.5001C17.0624 14.6391 16.1391 15.5625 15 15.5625H2.99991C1.86089 15.5625 0.937549 14.6391 0.9375 13.5001V6C0.9375 4.86094 1.86086 3.93764 2.99991 3.93759H5.4375V2.99991C5.43752 2.45293 5.6547 1.92825 6.04147 1.54147C6.42825 1.1547 6.95293 0.937524 7.49991 0.9375H10.5C11.047 0.9375 11.5716 1.15471 11.9584 1.54147C12.3452 1.92824 12.5624 2.45293 12.5624 2.99991V3.93759Z",fill:"currentColor"})})},href:"/",routes:["/","/chat","/spaces"],groups:[{section:"Projects",dynamic:"workspaces",items:[],add:{href:"/spaces",label:"New project"}},{section:"Channels",dynamic:"channels",items:[]}]},{key:"agents",label:"Agents",icon:function({size:e=18,className:t}){return(0,n.jsx)("svg",{...j("user-lock",e,t),children:(0,n.jsx)("path",{d:"M1.6875 15.75V14.2501C1.6875 13.3053 2.06283 12.399 2.73093 11.7309C3.39902 11.0628 4.30526 10.6875 5.25009 10.6875H7.12491C7.43557 10.6875 7.68741 10.9393 7.68741 11.25C7.68741 11.5607 7.43557 11.8125 7.12491 11.8125H5.25009C4.60363 11.8125 3.98346 12.0692 3.52634 12.5263C3.06922 12.9835 2.8125 13.6036 2.8125 14.2501V15.75C2.8125 16.0607 2.56066 16.3125 2.25 16.3125C1.93934 16.3125 1.6875 16.0607 1.6875 15.75ZM15.1875 12.6744C15.1875 12.6127 15.1374 12.5626 15.0757 12.5626H10.4244C10.3627 12.5626 10.3126 12.6127 10.3126 12.6744V15.0757C10.3126 15.1374 10.3627 15.1875 10.4244 15.1875H15.0757C15.1374 15.1875 15.1875 15.1374 15.1875 15.0757V12.6744ZM9.93741 5.25009C9.93741 3.90393 8.84624 2.81255 7.50009 2.8125C6.1539 2.8125 5.0625 3.9039 5.0625 5.25009C5.06255 6.59624 6.15393 7.68741 7.50009 7.68741C8.84621 7.68736 9.93736 6.59621 9.93741 5.25009ZM13.6876 10.4999C13.6876 10.2513 13.5887 10.0129 13.4129 9.83716C13.2371 9.66134 12.9985 9.5625 12.7499 9.5625C12.5013 9.56252 12.263 9.66136 12.0872 9.83716C11.9114 10.013 11.8125 10.2513 11.8125 10.4999V11.4376H13.6876V10.4999ZM14.8126 11.4376H15.0757C15.7588 11.4376 16.3125 11.9913 16.3125 12.6744V15.0757C16.3125 15.7588 15.7588 16.3125 15.0757 16.3125H10.4244C9.74134 16.3125 9.18759 15.7588 9.18759 15.0757V12.6744C9.18759 11.9913 9.74134 11.4376 10.4244 11.4376H10.6875V10.4999C10.6875 9.95293 10.9047 9.42824 11.2915 9.04147C11.6782 8.6547 12.2029 8.43752 12.7499 8.4375C13.2969 8.4375 13.8216 8.65474 14.2083 9.04147C14.5951 9.42824 14.8126 9.95293 14.8126 10.4999V11.4376ZM11.0624 5.25009C11.0624 7.21753 9.46753 8.81236 7.50009 8.81241C5.53261 8.81241 3.93755 7.21756 3.9375 5.25009C3.9375 3.28258 5.53258 1.6875 7.50009 1.6875C9.46756 1.68755 11.0624 3.28261 11.0624 5.25009Z",fill:"currentColor"})})},href:"/agents",routes:["/agents","/skills","/learned-skills","/memories","/connectors","/mcp","/credentials"],groups:K},{key:"run",label:"Scheduled",icon:function({size:e=18,className:t}){return(0,n.jsx)("svg",{...j("alarm-clock-check",e,t),children:(0,n.jsx)("path",{d:"M14.4375 9.75009C14.4375 6.74707 12.0031 4.31246 9.00009 4.31241C5.99704 4.31241 3.56241 6.74704 3.56241 9.75009C3.56246 12.7531 5.99707 15.1875 9.00009 15.1875C10.4863 15.1875 11.8328 14.5906 12.8143 13.6241C12.8194 13.6186 12.8243 13.6128 12.8297 13.6074C12.8382 13.5987 12.8476 13.5907 12.8566 13.5827C13.8335 12.5997 14.4375 11.2455 14.4375 9.75009ZM10.8524 7.8522C11.0721 7.63263 11.4282 7.63256 11.6478 7.8522C11.8674 8.07184 11.8674 8.42794 11.6478 8.64761L8.6477 11.6477C8.54222 11.7532 8.39918 11.8125 8.25 11.8125C8.10082 11.8125 7.95778 11.7532 7.85229 11.6477L6.35239 10.1478C6.13272 9.92813 6.13272 9.57206 6.35239 9.35239C6.57206 9.13272 6.92813 9.13272 7.1478 9.35239L8.25 10.4546L10.8524 7.8522ZM3.35229 1.85229C3.57196 1.63262 3.92804 1.63262 4.1477 1.85229C4.36737 2.07196 4.36737 2.42803 4.1477 2.6477L1.8977 4.8977C1.67803 5.11737 1.32196 5.11737 1.10229 4.8977C0.882625 4.67804 0.882625 4.32196 1.10229 4.10229L3.35229 1.85229ZM13.8522 1.85229C14.0719 1.63264 14.4279 1.63267 14.6476 1.85229L16.8976 4.10229C17.1173 4.32196 17.1173 4.67804 16.8976 4.8977C16.6779 5.11733 16.3219 5.11736 16.1022 4.8977L13.8522 2.6477C13.6326 2.42805 13.6326 2.07195 13.8522 1.85229ZM15.5625 9.75009C15.5625 11.3642 14.9792 12.8418 14.0126 13.9848L15.3952 15.3498C15.6162 15.5681 15.6184 15.9242 15.4002 16.1452C15.1819 16.3662 14.8258 16.3684 14.6048 16.1502L13.2158 14.7788C12.0755 15.7358 10.6052 16.3125 9.00009 16.3125C7.40243 16.3125 5.9381 15.7415 4.80002 14.7925L3.39102 16.1546C3.16764 16.3704 2.8115 16.3642 2.59561 16.1408C2.37973 15.9174 2.38568 15.5613 2.60907 15.3454L4.00049 14.0007C3.02592 12.8556 2.43743 11.3716 2.43741 9.75009C2.43741 6.12572 5.37572 3.18741 9.00009 3.18741C12.6244 3.18746 15.5625 6.12575 15.5625 9.75009Z",fill:"currentColor"})})},href:"/automations",routes:["/dashboard","/automations","/jobs","/runs","/code"],groups:[{section:"Cron",dynamic:"cron",items:[],add:{href:"/automations?new=schedule",label:"New automation"}},{section:"Webhooks",dynamic:"webhooks",items:[],add:{href:"/automations?new=webhook",label:"New webhook"}}]},{key:"approvals",label:"Approvals",icon:function({size:e=18,className:t}){return(0,n.jsx)("svg",{...j("shield-check",e,t),children:(0,n.jsx)("path",{d:"M14.4376 4.50003C14.4376 4.45031 14.4178 4.40253 14.3827 4.36737C14.3475 4.33221 14.2997 4.31244 14.25 4.31244C12.5703 4.31244 10.579 3.33739 9.20453 2.13742C9.14752 2.08878 9.07485 2.06216 8.99991 2.06216C8.92492 2.06218 8.8523 2.08898 8.79529 2.13769L8.79501 2.13742C7.42856 3.32934 5.43016 4.3124 3.75009 4.31244C3.70038 4.31244 3.65259 4.33223 3.61743 4.36737C3.58227 4.40253 3.5625 4.4503 3.5625 4.50003V9.75012C3.56253 11.4765 4.16011 12.7421 5.1058 13.7107C6.00684 14.6335 7.24635 15.3084 8.65274 15.8225L8.93619 15.9233L8.94882 15.928C8.9892 15.943 9.03353 15.9435 9.07434 15.9297C10.5922 15.4001 11.935 14.6965 12.8946 13.7121C13.8397 12.7423 14.4376 11.4765 14.4376 9.75012V4.50003ZM10.8522 7.10214C11.0718 6.88254 11.4279 6.8826 11.6476 7.10214C11.8673 7.32181 11.8673 7.67816 11.6476 7.89783L8.6478 10.8976C8.42813 11.1173 8.07206 11.1173 7.85239 10.8976L6.3522 9.39773C6.13258 9.17808 6.1326 8.82199 6.3522 8.60232C6.57186 8.38266 6.92794 8.38268 7.14761 8.60232L8.24982 9.70453L10.8522 7.10214ZM15.5626 9.75012C15.5626 11.7736 14.8477 13.3202 13.7004 14.4973C12.5684 15.6587 11.0404 16.4359 9.44019 16.9937C9.43865 16.9942 9.43706 16.9948 9.43552 16.9953C9.1539 17.0908 8.84842 17.0874 8.56897 16.9865V16.9868C6.96457 16.4328 5.43433 15.6574 4.30106 14.4968C3.15248 13.3204 2.43753 11.7736 2.4375 9.75012V4.50003C2.4375 4.15193 2.57588 3.8181 2.82202 3.57196C3.06816 3.32584 3.40201 3.18744 3.75009 3.18744C5.06805 3.1874 6.81665 2.37242 8.06003 1.28625L8.0647 1.28241C8.32542 1.05966 8.657 0.937184 8.99991 0.937163C9.32143 0.937163 9.63314 1.04475 9.88568 1.24176L9.93539 1.28241L9.94034 1.28653C11.1907 2.37967 12.9317 3.18744 14.25 3.18744C14.5981 3.18744 14.9319 3.32582 15.1781 3.57196C15.4242 3.8181 15.5626 4.15194 15.5626 4.50003V9.75012Z",fill:"currentColor"})})},href:"/approvals",routes:["/approvals"],groups:[{section:"Approvals",dynamic:"approvals",items:[]},{section:"Recents",dynamic:"recents",items:[]}]},{key:"settings",label:"Settings",icon:T._,href:"/llm-providers",routes:["/settings","/llm-providers"],groups:q}],Y={logs:{href:"/logs",label:"Runs"},help:[{href:"https://kwintspiracy.github.io/nodal-agents/",label:"Docs",icon:D.G},{href:"https://discord.gg/7UZsvZPgU",label:"Discord",icon:F.q},{href:"https://kwintspiracy.github.io/nodal-agents/qa/",label:"Quality portal",icon:O.wJ}]};function B(e){let t=null,a=-1;for(let n of X)for(let r of n.routes)("/"===r?"/"===e:J(e,r))&&!(r.length<=a)&&(t=n,a=r.length);return t}function J(e,t){return e===t||e.startsWith(t+"/")}function Q({href:e,label:t,icon:a}){return(0,n.jsxs)("a",{href:e,target:"_blank",rel:"noopener noreferrer",className:"flex h-9 items-center gap-2.5 rounded-lg px-2.5 text-body-13 text-ink-2 hover:bg-hover",children:[(0,n.jsx)(a,{size:14,className:"h-3.5 w-3.5 shrink-0 text-ink-3"}),(0,n.jsx)("span",{className:"flex-1 truncate",children:t}),(0,n.jsx)(h.B,{size:12,weight:"bold","data-testid":"external-arrow",className:"h-3 w-3 shrink-0 text-ink-4"})]})}function G({activeKey:e,approvalsCount:t,workConversationsInProgress:a,logsActive:s,userMenu:l,initiale:i=null}){let[o,c]=(0,r.useState)(null),d=e=>c(t=>t===e?null:e),h=()=>c(null),f=X.filter(e=>!0!==e.foot),p=X.filter(e=>!0===e.foot);return(0,n.jsxs)("nav",{"aria-label":"Sections","data-testid":"sidebar-rail",className:"flex h-full w-[var(--rail-w)] shrink-0 flex-col items-center gap-1 bg-rail px-1 pt-3.5 pb-3",children:[(0,n.jsx)(u(),{href:"/",title:C.KR,"aria-label":C.KR,className:"flex h-8 w-8 shrink-0 items-center justify-center",children:(0,n.jsx)(C.wi,{size:32,priority:!0})}),(0,n.jsx)("div",{className:"h-2 shrink-0"}),f.map(r=>(0,n.jsx)(v,{href:r.href,label:r.label,icon:r.icon,active:r.key===e,pill:"approvals"===r.key?t:void 0,running:"work"===r.key?{count:a,noun:"conversation"}:void 0,testId:`rail-${r.key}`},r.key)),(0,n.jsx)("div",{className:"flex-1"}),(0,n.jsx)(v,{href:Y.logs.href,label:Y.logs.label,icon:k,active:s,testId:"rail-logs"}),p.map(t=>(0,n.jsx)(v,{href:t.href,label:t.label,icon:t.icon,active:t.key===e,testId:`rail-${t.key}`},t.key)),(0,n.jsxs)("div",{className:"relative shrink-0",children:[(0,n.jsx)(v,{label:"Help",icon:x.v,onClick:()=>d("help"),expanded:"help"===o,active:"help"===o,testId:"rail-help"}),"help"===o&&(0,n.jsx)(w,{label:"Help",onClose:h,children:Y.help.map(e=>(0,n.jsx)(Q,{href:e.href,label:e.label,icon:e.icon},e.href))})]}),void 0!==l&&(0,n.jsxs)("div",{className:"relative mt-1 shrink-0",children:[(0,n.jsx)(b,{onClick:()=>d("account"),expanded:"account"===o,children:null===i?(0,n.jsx)(m.K,{weight:"fill",className:"h-3.5 w-3.5"}):(0,n.jsx)("span",{className:"font-mono text-legacy-11 font-bold text-ink","data-testid":"rail-initial",children:i})}),"account"===o&&(0,n.jsx)(w,{label:"Account",onClose:h,children:(0,n.jsx)("div",{"data-testid":"user-menu",children:l})})]}),(0,n.jsx)(P,{variant:"rail"})]})}var ee=a(68007);function et({add:e,children:t}){return(0,n.jsxs)("div",{className:"flex items-center gap-2 px-3 pt-4 pb-1.5 lg:pt-3.5 lg:pb-1.5",children:[(0,n.jsx)("div",{className:"min-w-0 flex-1 truncate text-mono-11 tracking-[0.14em] text-ink-4 uppercase",children:t}),void 0!==e&&(0,n.jsx)(u(),{href:e.href,"aria-label":e.label,title:e.label,"data-testid":"section-add",className:"flex h-4 w-4 shrink-0 items-center justify-center rounded text-ink-4 transition-colors hover:text-ink-2",children:(0,n.jsx)(ee.F,{size:16,className:"h-4 w-4"})})]})}let ea="group flex w-full items-center rounded-xl transition-colors lg:rounded-lg",en={nav:"h-12 lg:h-[30px]",folder:"h-12 lg:h-[30px]",thread:"h-12 lg:h-7",recent:"h-12 lg:h-7"},er=`${ea} ${en.nav}`,es=`${er} pr-2.5 pl-7 text-body-13 text-ink-4`,el={nav:"gap-3 pr-2.5 pl-3 text-legacy-16 lg:gap-2.5 lg:text-medium-13 lg:leading-none!",folder:"gap-2 pr-2.5 pl-3 text-body-13 lg:text-medium-13",thread:"gap-2 pr-2.5 pl-7 text-body-13 lg:text-body-12",recent:"gap-2.5 pr-2.5 pl-3 text-body-13 lg:text-body-12"};function ei({href:e,onToggle:t,expanded:a,title:r,active:s=!1,markCurrent:l=!1,depth:i="nav",external:o=!1,caret:c,menu:d,tint:h,testId:x,children:m}){let f={title:r,"data-testid":x,className:`flex h-full min-w-0 flex-1 items-center text-left ${el[i]}`,...l&&s?{"aria-current":"page"}:{}};return(0,n.jsxs)("div",{"data-sidebar-row":"",className:void 0===h?function(e=!1,t="nav"){return`${ea} ${en[t]} ${e?"bg-paper text-ink shadow-[0_1px_2px_rgba(0,0,0,0.04)]":"thread"===t||"recent"===t?"text-ink-3 hover:bg-hover hover:text-ink-2":"text-ink-2 hover:bg-hover"}`}(s,i):`${ea} ${en[i]} ${h}`,children:[void 0===e?(0,n.jsx)("button",{type:"button",onClick:t,"aria-expanded":a,...f,children:m}):o?(0,n.jsx)("a",{href:e,target:"_blank",rel:"noopener noreferrer",...f,children:m}):(0,n.jsx)(u(),{href:e,...f,children:m}),d,c]})}let eo={agent:"bg-agent-vivid",skill:"bg-skill-vivid",conn:"bg-conn-vivid"},ec={agent:"text-agent-vivid",skill:"text-skill-vivid",conn:"text-conn-vivid"};function ed({href:e,label:t,icon:a,dot:r,tone:l,count:i,pill:o,isActive:c,external:d=!1,trailing:u,tint:h,caret:x}){let m=(0,s.usePathname)(),f=c??(m===e||m.startsWith(e+"/"));return(0,n.jsxs)(ei,{href:e,title:t,active:f,external:d,tint:h,caret:x,children:[r?(0,n.jsxs)("span",{className:"relative flex h-5 w-5 shrink-0 items-center justify-center lg:h-3.5 lg:w-3.5",children:[(0,n.jsx)("span",{className:`lg:hidden ${f?"text-ink":"text-ink-3 group-hover:text-ink-2"}`,children:a}),(0,n.jsx)("span",{className:`absolute -top-0.5 -right-0.5 h-2.5 w-2.5 rounded-full ring-2 ring-sidebar lg:static lg:h-2 lg:w-2 lg:ring-0 ${eo[r]}`})]}):(0,n.jsx)("span",{"data-testid":"nav-leading-icon",className:`flex h-5 w-5 shrink-0 items-center justify-center lg:h-3.5 lg:w-3.5 ${void 0!==h?"":void 0!==l?ec[l]:f?"text-ink":"text-ink-3 group-hover:text-ink-2"}`,children:a}),(0,n.jsx)("span",{className:`flex-1 truncate leading-5 ${f?"font-medium!":""}`,children:t}),void 0!==o?(0,n.jsx)(p,{count:o}):void 0!==i&&(0,n.jsx)("span",{className:"text-mono-13 tracking-[0.02em] text-ink-4 lg:text-mono-11",children:i}),u]})}var eu=a(17809),eh=a(22363),ex=a(18034),em=a(82391),ef=a(629),ep=a(14750);function eg({folderKey:e,label:t,icon:a,waiting:r,running:s,active:l,expanded:i,onToggle:o,caret:c}){return(0,n.jsxs)(ei,{onToggle:o,expanded:i,title:t,active:l,markCurrent:!0,depth:"folder",testId:`inbox-folder-${e}`,caret:c,children:[(0,n.jsx)("span",{className:`flex h-3.5 w-3.5 shrink-0 items-center justify-center ${l?"text-ink":"text-ink-3 group-hover:text-ink-2"}`,children:a}),(0,n.jsx)("span",{className:`flex-1 truncate leading-5 ${l?"text-ink font-medium!":""}`,children:t}),s&&(0,n.jsx)(g.A,{variant:"ok",size:"sm"}),r>0&&(0,n.jsx)(p,{count:r,max:9,variant:"solid"})]})}var ev=a(41716),eb=a(9618);function ej({open:e,onToggle:t,label:a,testId:r,className:s=""}){let l=e?`Collapse ${a}`:`Expand ${a}`;return(0,n.jsx)(c.A,{ghost:!0,onClick:t,"aria-expanded":e,"aria-label":l,title:l,"data-testid":r,className:`mr-1 h-9 w-9 rounded-lg text-ink-4 hover:text-ink-2 lg:h-6 lg:w-6 ${s}`,children:e?(0,n.jsx)(ev.a,{size:12}):(0,n.jsx)(eb.K,{size:12})})}var ek=a(68861);let eC={attention:"bg-attention",activite:"bg-agent-vivid",repos:"bg-rule-2"};function ew({thread:e}){let t=(0,ek.Ru)(e),a=(0,ek.ic)(e);return(0,n.jsx)("span",{className:"flex h-3.5 w-3.5 shrink-0 items-center justify-center",children:(0,n.jsx)("span",{"data-testid":"thread-dot","data-calls":t?"yes":"no","data-tone":a,className:`h-2 w-2 rounded-full ${eC[a]}`})})}var ey=a(68926),eN=a(12119);function eS({label:e,items:t,testId:a}){let[s,i]=(0,r.useState)(!1),o=(0,r.useRef)(null);return(0,r.useEffect)(()=>{if(s)return document.addEventListener("pointerdown",e),()=>document.removeEventListener("pointerdown",e);function e(e){o.current?.contains(e.target)!==!0&&i(!1)}},[s]),(0,l.Z4)(s,()=>i(!1)),(0,n.jsxs)("div",{ref:o,className:"relative shrink-0 self-center",children:[(0,n.jsx)("button",{type:"button","aria-label":`Actions for ${e}`,"aria-haspopup":"menu","aria-expanded":s,"data-testid":a,onClick:e=>{e.preventDefault(),e.stopPropagation(),i(e=>!e)},className:`flex h-6 w-6 items-center justify-center rounded-md text-ink-3 transition-opacity hover:bg-hover-2 hover:text-ink focus-visible:opacity-100 ${s?"opacity-100":"opacity-0 group-hover:opacity-100"}`,children:(0,n.jsx)(eN.H,{size:16,weight:"bold",className:"h-4 w-4"})}),s&&(0,n.jsx)("div",{role:"menu","aria-label":`Actions for ${e}`,"data-testid":void 0!==a?`${a}-menu`:void 0,className:"absolute top-full right-0 z-30 mt-1 min-w-[150px] rounded-lg border border-rule-2 bg-paper p-1 shadow-[0_8px_24px_rgba(0,0,0,0.25)]",children:t.map(e=>(0,n.jsx)("button",{type:"button",role:"menuitem",onClick:t=>{t.preventDefault(),t.stopPropagation(),i(!1),e.onSelect()},className:`flex h-8 w-full items-center rounded-md px-2.5 text-left text-body-13 hover:bg-hover ${!0===e.destructive?"text-err":"text-ink-2 hover:text-ink"}`,children:e.label},e.label))})]})}var e$=a(9594);function eA({open:e,title:t,currentName:a,hint:s,pending:l=!1,onSave:i,onCancel:o,testId:c="rename"}){let[d,u]=(0,r.useState)(a);return(0,n.jsxs)(N.A,{open:e,dismissable:!1,onClose:o,title:t,testId:c,footer:(0,n.jsxs)(N.j,{children:[(0,n.jsx)(S.A,{variant:"neutral",onClick:o,disabled:l,children:"Cancel"}),(0,n.jsx)(S.A,{onClick:()=>i(d.trim()),disabled:l,children:l?"Saving…":"Save"})]}),children:[(0,n.jsx)(e$.A,{label:"Name",id:`${c}-name`,value:d,onChange:e=>u(e.target.value),placeholder:a,maxLength:120,onKeyDown:e=>{"Enter"!==e.key||l||(e.preventDefault(),i(d.trim()))}}),void 0!==s&&(0,n.jsx)("p",{className:"mt-2 text-body-12 text-ink-3",children:s})]})}var eR=a(45678);let eL=(0,R.createServerReference)("40e873cb76ac59192acc68bcd26abd50c93e061720",R.callServer,void 0,R.findSourceMapURL,"deleteConversationAction");var eM=a(83267),eP=a(22015),ez=a(42485),e_=a(29209),eI=a(42078);let eZ=(0,R.createServerReference)("4049f2a1bb350e93f7631ab4e84189e1ad83c6ecc5",R.callServer,void 0,R.findSourceMapURL,"renameConversationAction"),eE=(0,R.createServerReference)("40a295c19727b838501244c5fdd3755658fab3db51",R.callServer,void 0,R.findSourceMapURL,"renameAgentAction"),eH=(0,R.createServerReference)("4079b0c191a63419311f22f9da79f5782ff52146fe",R.callServer,void 0,R.findSourceMapURL,"renameScheduleAction"),eU=(0,R.createServerReference)("4069326f867fb98ac631b7afeff956d8f17c3f5354",R.callServer,void 0,R.findSourceMapURL,"renameWebhookTriggerAction"),eV={conversation:{chose:"this conversation",retirer:"Delete",section:"/chat",rename:(e,t)=>eZ({id:e,name:t}),remove:e=>eL(e)},project:{chose:"this project",retirer:"Remove from list",section:"/spaces",rename:(e,t,a)=>void 0===a?Promise.resolve({ok:!1,message:"This project has no path"}):(0,eM.N)({projectPath:a,displayName:t}),remove:(e,t)=>void 0===t?Promise.resolve({ok:!1,message:"This project has no path"}):(0,eP.x)({projectPath:t,hidden:!0}),hint:"Your agents use this name too. Leave it empty to go back to the folder name."},agent:{chose:"this agent",retirer:"Delete",section:"/agents",rename:(e,t)=>eE({id:e,name:t}),remove:e=>(0,ez.r)(e)},cron:{chose:"this automation",retirer:"Delete",section:"/automations",rename:(e,t)=>eH({id:e,name:t}),remove:e=>(0,e_.X)(e)},webhook:{chose:"this webhook",retirer:"Delete",section:"/automations",rename:(e,t)=>eU({id:e,name:t}),remove:e=>(0,eI.t)(e)}};function eW({kind:e,id:t,name:a,href:l,path:i,onDone:o}){let c=eV[e],d=(0,s.useRouter)(),u=(0,s.usePathname)(),[h,x]=(0,r.useState)(!1),[m,f]=(0,r.useState)(!1),[p,g]=(0,r.useTransition)(),v=u===l||u.startsWith(`${l}/`);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(eS,{label:a,testId:`row-menu-${e}`,items:[{label:"Rename",onSelect:()=>x(!0)},{label:c.retirer,onSelect:()=>f(!0),destructive:!0}]}),(0,n.jsx)(eA,{open:h,title:`Rename ${c.chose}`,currentName:a,hint:c.hint,pending:p,onSave:function(a){""===a&&"project"!==e?ey.oR.error("A name is required"):g(async()=>{let e=await c.rename(t,a,i);e.ok?(x(!1),await o(),d.refresh()):ey.oR.error(e.message)})},onCancel:()=>x(!1),testId:`rename-${e}`},h?"open":"closed"),(0,n.jsx)(eR.A,{open:m,title:`${c.retirer} ${c.chose}?`,message:"project"===e?`"${a}" leaves the sidebar and the Projects page. Its folder stays on disk. You can show it again from the Projects page.`:`"${a}" is deleted. This cannot be undone.`,confirmLabel:c.retirer,destructive:!0,onConfirm:function(){g(async()=>{let e=await c.remove(t,i);e.ok?(f(!1),await o(),v&&d.push(c.section),d.refresh()):ey.oR.error(e.message)})},onCancel:()=>f(!1)})]})}var eT=a(18377),eD=a(53596);let eF=(0,R.createServerReference)("009da2e78d920f04780360ea76263a23237165f799",R.callServer,void 0,R.findSourceMapURL,"listFolderThreadsAction");var eO=a(3816),eK=a(48480);let eq={telegram:eu.h,slack:eh.m,discord:F.q,whatsapp:ex._,[ek.wZ]:em.c,[ek.Ab]:E.X};function eX(){let e=(0,s.usePathname)(),t=(0,s.useSearchParams)(),{pending:a}=(0,eT.e)(),{channels:l,running:i,externalRuns:o,deliverablesToCheck:c}=(0,eD.H)(),[d,u]=(0,r.useState)({[ek.wZ]:!0}),[h,x]=(0,r.useState)(null),[m,f]=(0,r.useState)(null),p=Object.values(d).some(e=>e),g=(0,r.useRef)(0);(0,r.useEffect)(()=>()=>{g.current+=1},[]);let v=(0,r.useCallback)(async()=>{let e=g.current+=1,t=await eF();if(e===g.current){if(t.ok){x(t.data),f(null);return}f(t.message)}},[]),b=(0,r.useCallback)(async()=>{p&&await v()},[p,v,e]);(0,eO.n)(b,eO.S,!0);let j=e=>{u(t=>({...t,[e]:!0!==t[e]}))},k=(0,ek.Ev)({channels:l,waiting:[...a,...c],running:i,externalRuns:o,pathname:e,folderParam:t.get("folder")});return(0,n.jsx)("div",{className:"flex flex-col gap-0","data-testid":"chat-folders",children:k.map(t=>{let a=eq[t.key]??ef.M,r=!0===d[t.key],s=null===h?null:h[t.key]??[],{rows:l,hasMore:i}=null===s?{rows:null,hasMore:!1}:(0,ek.hu)(s);return(0,n.jsxs)("div",{children:[(0,n.jsx)(eg,{folderKey:t.key,label:t.label,icon:(0,n.jsx)(a,{size:14,className:"h-3.5 w-3.5"}),waiting:t.key===ek.wZ?t.waiting:0,running:t.running,active:t.active,expanded:r,onToggle:()=>j(t.key),caret:(0,n.jsx)(ej,{open:r,onToggle:()=>j(t.key),label:t.label,testId:`folder-caret-${t.key}`})}),r&&(0,n.jsxs)("div",{className:"flex flex-col gap-0 pt-0","data-testid":`folder-threads-${t.key}`,children:[null!==m?(0,n.jsx)("p",{className:es,children:m}):null===l?(0,n.jsx)("p",{className:es,children:"Loading"}):0===l.length?(0,n.jsx)("p",{className:es,children:"Nothing here yet"}):l.map(a=>{let r=(0,eK.tD)(a.href);return(0,n.jsxs)(ei,{href:a.href,title:a.title,depth:"thread",active:e===a.href||e.startsWith(`${a.href}/`),markCurrent:!0,menu:null!==r?(0,n.jsx)(eW,{kind:"conversation",id:r,name:a.title,href:a.href,onDone:v}):void 0,testId:`folder-thread-${t.key}`,children:[(0,n.jsx)(ew,{thread:a}),(0,n.jsx)("span",{className:"flex-1 truncate leading-5",children:a.title})]},a.key)}),i&&(0,n.jsxs)(ei,{href:t.href,title:"See all",depth:"thread",testId:`folder-see-all-${t.key}`,children:[(0,n.jsx)("span",{className:"h-3.5 w-3.5 shrink-0"}),(0,n.jsx)("span",{className:"flex-1 truncate leading-5 font-medium!",children:"See all"}),(0,n.jsx)(ep.Q,{size:14,weight:"bold","data-testid":"see-all-arrow",className:"h-3.5 w-3.5 shrink-0 text-ink-4"})]})]})]},t.key)})})}let eY=(0,R.createServerReference)("402022959bb4b79f9f0c8e964c704a48a1d00bc07c",R.callServer,void 0,R.findSourceMapURL,"listSidebarProjectsAction");function eB({children:e}){return(0,n.jsx)("div",{"data-testid":"sidebar-empty",className:"mx-3 flex h-[39px] items-center justify-center rounded-lg border border-dashed border-rule-2 px-3",children:(0,n.jsx)("span",{className:"truncate text-body-12 text-ink-4 italic",children:e})})}function eJ({testId:e,read:t,hrefOf:a,empty:l,seeAll:i,seeAllAlways:o=!1,dot:c=!1,active:d=!0,menu:u,isActive:h}){let{rows:x,erreur:m,relire:f}=function(e,t=!0){let a=(0,s.usePathname)(),[n,l]=(0,r.useState)(null),[i,o]=(0,r.useState)(null),c=(0,r.useRef)(0);(0,r.useEffect)(()=>()=>{c.current+=1},[]);let d=(0,r.useCallback)(async()=>{if(!t)return;let a=c.current+=1,n=await e();if(a===c.current){if(n.ok){l(n.data),o(null);return}o(n.message)}},[t,e,a]);return(0,eO.n)(d,eO.S,!0),{rows:n,erreur:i,relire:d}}((0,r.useCallback)(()=>t(ek.qJ),[t]),d),p=(0,s.usePathname)(),{rows:v,hasMore:b}=null===x?{rows:null,hasMore:!1}:(0,ek.hu)(x),j=null!==v&&0===v.length,k=void 0!==i&&!j&&(b||o)&&(0,n.jsxs)(ei,{href:i,title:"See all",depth:"thread",testId:`see-all-${e}`,children:[(0,n.jsx)("span",{className:"h-3.5 w-3.5 shrink-0"}),(0,n.jsx)("span",{className:"flex-1 truncate leading-5 italic",children:"See all"}),(0,n.jsx)(ep.Q,{size:12,"data-testid":"see-all-arrow",className:"h-3 w-3 shrink-0 text-ink-3"})]});return(0,n.jsxs)("div",{className:"flex flex-col gap-0","data-testid":`sidebar-list-${e}`,children:[null!==m?(0,n.jsx)("p",{className:es,children:m}):null===v?(0,n.jsx)("p",{className:es,children:"Loading"}):0===v.length?(0,n.jsx)(eB,{children:l}):v.map(t=>(0,n.jsxs)(ei,{href:a(t),title:t.title??t.name,depth:"thread",active:void 0!==h?h(t):p===a(t)||p.startsWith(`${a(t)}/`),markCurrent:!0,menu:u?.(t,f),testId:`sidebar-row-${e}`,children:[c&&!0===t.running?(0,n.jsx)("span",{className:"flex h-3.5 w-3.5 shrink-0 items-center justify-center","data-testid":"running-dot",children:(0,n.jsx)(g.A,{variant:"lime",size:"md"})}):c?(0,n.jsx)(ew,{thread:{waiting:t.calls??!1,running:!1,unread:!1}}):(0,n.jsx)("span",{className:"h-3.5 w-3.5 shrink-0"}),(0,n.jsx)("span",{className:"flex-1 truncate leading-5",children:t.name})]},t.id)),k]})}function eQ(){let e=(0,r.useCallback)(async e=>{let t=await eY(e);return t.ok?{ok:!0,data:t.data.map(e=>({id:e.id,name:e.name,path:e.path,calls:e.unread}))}:t},[]);return(0,n.jsx)(eJ,{testId:"workspaces",read:e,hrefOf:e=>`/spaces/${e.id}`,dot:!0,empty:"No Project Yet",seeAll:"/spaces",seeAllAlways:!0,menu:(e,t)=>(0,n.jsx)(eW,{kind:"project",id:e.id,name:e.name,href:`/spaces/${e.id}`,path:e.path,onDone:t})})}var eG=a(14397);let e1=(0,R.createServerReference)("40bb408ec389a7a605fc9758cfb4b4dd25d7fb6c26",R.callServer,void 0,R.findSourceMapURL,"listSidebarAgentsAction"),e0="/agents";function e2(){let e=(0,s.usePathname)(),[t,a]=(0,r.useState)(!0);return(0,n.jsxs)("div",{children:[(0,n.jsx)(eg,{folderKey:"agents",label:"Agents",icon:(0,n.jsx)(eG.n,{size:14,className:"h-3.5 w-3.5 text-agent-vivid"}),waiting:0,running:!1,active:e===e0||e.startsWith(`${e0}/`),expanded:t,onToggle:()=>a(e=>!e),caret:(0,n.jsx)(ej,{open:t,onToggle:()=>a(e=>!e),label:"Agents",testId:"folder-caret-agents"})}),t&&(0,n.jsx)("div",{"data-testid":"folder-threads-agents",children:(0,n.jsx)(eJ,{testId:"agents",read:e1,hrefOf:e=>`${e0}/${e.id}/edit`,dot:!0,empty:"No Agent Yet",seeAll:e0,menu:(e,t)=>(0,n.jsx)(eW,{kind:"agent",id:e.id,name:e.name,href:`${e0}/${e.id}`,onDone:t})})})]})}let e5=(0,R.createServerReference)("40a3faf2e9a8347480ae956505565c62193af0b418",R.callServer,void 0,R.findSourceMapURL,"listSidebarCronAction");function e3(){return(0,n.jsx)(eJ,{testId:"cron",read:e5,hrefOf:e=>`/automations/${e.id}`,empty:"No Existing Automation",seeAll:"/automations",menu:(e,t)=>(0,n.jsx)(eW,{kind:"cron",id:e.id,name:e.name,href:`/automations/${e.id}`,onDone:t})})}let e4=(0,R.createServerReference)("408adabacc8a0605757d5983f1bec860265f4c9a9a",R.callServer,void 0,R.findSourceMapURL,"listSidebarWebhooksAction");function e9(){return(0,n.jsx)(eJ,{testId:"webhooks",read:e4,hrefOf:e=>`/automations/${e.id}`,empty:"No Existing Webhook",seeAll:"/automations",menu:(e,t)=>(0,n.jsx)(eW,{kind:"webhook",id:e.id,name:e.name,href:`/automations/${e.id}`,onDone:t})})}function e6(){let{pending:e}=(0,eT.e)();if(0===e.length)return(0,n.jsx)(eB,{children:"No Approval Requests"});let t=e.slice(0,ek.Yw);return(0,n.jsx)("div",{className:"flex flex-col gap-0","data-testid":"sidebar-list-approvals",children:t.map(e=>(0,n.jsxs)(ei,{href:"/approvals",title:e.toolName,depth:"thread",testId:"sidebar-row-approvals",children:[(0,n.jsx)(ew,{thread:{waiting:!0,running:!1,unread:!1}}),(0,n.jsx)("span",{className:"flex-1 truncate leading-5",children:e.agentName??e.toolName})]},e.id))})}let e7=(0,R.createServerReference)("400665a0d87b3323be0fc2971604d236827a13fa98",R.callServer,void 0,R.findSourceMapURL,"listSidebarRecentApprovalsAction");function e8(){let e=(0,s.usePathname)(),t=(0,s.useSearchParams)().get("show"),a=(0,r.useCallback)(async e=>{let t=await e7(e);return t.ok?{ok:!0,data:t.data.map(e=>({id:e.id,name:e.what,title:`${e.name} \xb7 ${e.toolName}`}))}:t},[]);return(0,n.jsx)(eJ,{testId:"recents",read:a,hrefOf:e=>`/approvals?show=${encodeURIComponent(e.id)}`,isActive:a=>"/approvals"===e&&t===a.id,dot:!0,empty:"No Recent Decision",seeAll:"/approvals?status=all"})}function te({runningAgents:e,throughput:t,fill:a=.36}){if(void 0===e)return null;let r=100*Math.max(0,Math.min(1,a));return(0,n.jsxs)("div",{className:"mx-3 mt-2.5 rounded-[10px] border border-rule-2 bg-paper px-3 pt-2.5 pb-3",children:[(0,n.jsxs)("div",{className:"flex items-center gap-1.5 text-mono-11 uppercase leading-none! tracking-[0.14em] text-ink-3",children:[(0,n.jsx)(g.A,{variant:"lime"}),"Live"]}),(0,n.jsxs)("div",{className:"mt-1.5 text-body-13 leading-[1.35]! text-ink-2",children:[(0,n.jsxs)("b",{className:"font-semibold text-ink",children:[e," agents"]}),t?` running \xb7 ${t}`:" running"]}),(0,n.jsx)("div",{className:"mt-2.5 h-[3px] overflow-hidden rounded-[2px] bg-black/[0.06] dark:bg-white/[0.06]",children:(0,n.jsx)("i",{className:"block h-full bg-agent-vivid",style:{width:`${r}%`}})})]})}var tt=a(73741);function ta({fleets:e,activeId:t,disabled:a,onChange:s,onNewWorkspace:l,compact:i=!1}){let[o,c]=(0,r.useState)(!1),d=(0,r.useRef)(null),u=e.find(e=>e.id===t)??e[0];return((0,r.useEffect)(()=>{if(!o)return;let e=e=>{d.current&&!d.current.contains(e.target)&&c(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[o]),u)?(0,n.jsxs)("div",{ref:d,className:i?"relative min-w-0":"relative mx-3.5 mt-3.5 mb-1",children:[(0,n.jsxs)("button",{type:"button",onClick:()=>!a&&c(e=>!e),"aria-haspopup":"listbox","aria-expanded":o,"aria-disabled":a||void 0,"data-testid":i?"workspace-pill":void 0,className:i?`flex max-w-full items-center gap-1.5 rounded-lg border border-rule-2 bg-paper py-1 pr-1.5 pl-2 text-medium-12 text-ink-2 ${a?"cursor-default":"cursor-pointer hover:bg-hover-2/40"}`:`flex h-12 w-full items-center gap-3 rounded-xl border border-rule-2 bg-paper px-3 text-body-15 leading-none! text-ink lg:h-[38px] lg:gap-2.5 lg:rounded-[9px] lg:px-2.5 lg:text-body-13 ${a?"cursor-default":"cursor-pointer hover:bg-hover-2/40"}`,children:[i?(0,n.jsx)("span",{className:"shrink-0 text-legacy-12 leading-none!","data-testid":"workspace-pill-icon","aria-hidden":"true",children:u.icon??u.tag.slice(0,2)}):(0,n.jsx)("span",{className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-md font-mono text-legacy-12 font-semibold leading-none! tracking-[0.04em] text-[#0a0a0a] lg:h-[22px] lg:w-[22px] lg:rounded-[5px] lg:text-micro-10",style:{background:u.color},children:u.icon??u.tag.slice(0,2)}),(0,n.jsx)("span",{className:i?"min-w-0 truncate text-left":"min-w-0 flex-1 truncate text-left text-medium-15 text-ink lg:text-medium-13",children:u.name}),!a&&(0,n.jsx)(ev.a,{size:12,className:i?"h-3 w-3 shrink-0 text-ink-3":"h-4 w-4 shrink-0 text-ink-3 lg:h-3 lg:w-3"})]}),o&&!a&&(0,n.jsxs)("div",{role:"listbox",className:`absolute top-[calc(100%+6px)] z-30 rounded-[9px] border border-rule-2 bg-paper p-1.5 shadow-[0_12px_32px_rgba(0,0,0,0.10)] ${i?"right-0 w-[220px] max-w-[80vw]":"inset-x-0"}`,children:[e.map(e=>{let a=e.id===t;return(0,n.jsxs)("div",{role:"option","aria-selected":a,onClick:()=>{s?.(e.id),c(!1)},className:`flex cursor-pointer items-center gap-3 rounded-lg px-2.5 py-2.5 text-body-15 leading-[1.2]! text-ink-2 hover:bg-hover lg:gap-2.5 lg:rounded-md lg:px-2 lg:py-1.5 lg:text-body-13 ${a?"bg-hover-2":""}`,children:[(0,n.jsx)("span",{className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-md font-mono text-legacy-12 font-semibold leading-none! tracking-[0.04em] text-[#0a0a0a] lg:h-5 lg:w-5 lg:rounded-[5px] lg:text-micro-10",style:{background:e.color},children:e.icon??e.tag.slice(0,2)}),(0,n.jsx)("span",{className:"min-w-0 flex-1 truncate font-medium text-ink",children:e.name}),(0,n.jsx)(tt.J,{size:12,weight:"bold",className:`h-4 w-4 text-ink lg:h-3 lg:w-3 ${a?"opacity-100":"opacity-0"}`})]},e.id)}),l&&(0,n.jsxs)("button",{type:"button",onClick:()=>{c(!1),l()},className:"mt-1 flex w-full items-center gap-3 rounded-lg border-t border-rule px-2.5 py-2.5 text-medium-15 text-ink-3 transition-colors hover:bg-hover hover:text-ink-2 lg:gap-2 lg:rounded-md lg:px-2 lg:py-1.5 lg:text-medium-12",children:[(0,n.jsx)("span",{className:"flex h-5 w-5 items-center justify-center rounded text-legacy-16 leading-none! lg:h-4 lg:w-4 lg:text-body-12",children:"+"}),"New workspace"]})]})]}):null}var tn=a(9245),tr=a(75551),ts=a(93756),tl=a(48547);let ti=["#d4ff2e","#74b9ff","#a29bfe","#fd79a8","#55efc4","#fdcb6e","#e17055","#6c5ce7"];function to(e){return{id:e.id,name:e.name,tag:e.name.replace(/[^a-zA-Z0-9]/g,"").slice(0,3).toUpperCase()||"WS",color:function(e){let t=0;for(let a=0;a<e.length;a+=1)t=31*t+e.charCodeAt(a)>>>0;return ti[t%ti.length]??ti[0]}(e.slug),icon:e.icon??void 0}}function tc({workspaces:e,compact:t=!1}){let a=(0,s.useRouter)(),[l,i]=(0,r.useTransition)(),[c,d]=(0,r.useTransition)(),[u,h]=(0,r.useState)(!1),[x,m]=(0,r.useState)(""),[f,p]=(0,r.useState)(tn.S[0]),g=(0,r.useRef)(null),v=e.map(to),b=e.find(e=>e.active),j=b?.id??v[0]?.id??"";return(0,n.jsxs)("div",{className:t?"relative min-w-0 shrink":void 0,children:[(0,n.jsx)(ta,{fleets:v,activeId:j,onChange:function(e){e===j||l||i(async()=>{let t=await (0,ts.W)({id:e});t.ok?a.refresh():ey.oR.error(t.message)})},disabled:l||0===v.length,onNewWorkspace:function(){h(!0),m(""),p(tn.S[0]),requestAnimationFrame(()=>g.current?.focus())},compact:t}),u&&(0,n.jsxs)("form",{onSubmit:function(e){e.preventDefault();let t=x.trim();t&&d(async()=>{let e=await (0,tl.O)({name:t,icon:f});if(!e.ok)return void ey.oR.error(e.message);let n=await (0,ts.W)({id:e.data.id});n.ok?(h(!1),m(""),ey.oR.success(`Workspace "${t}" created`),a.refresh()):ey.oR.error(n.message)})},className:`mt-1 rounded-[9px] border border-rule-2 bg-paper p-2.5 ${t?"absolute top-full right-0 z-30 w-[220px] max-w-[80vw]":"mx-3.5"}`,children:[(0,n.jsx)("p",{className:"mb-1.5 text-mono-11 uppercase tracking-[0.1em] text-ink-4",children:"New workspace"}),(0,n.jsx)("div",{className:"mb-2",children:(0,n.jsx)(tn.A,{value:f,onChange:p,disabled:c})}),(0,n.jsxs)("div",{className:"flex gap-1.5",children:[(0,n.jsx)(e$.A,{ref:g,type:"text",value:x,onChange:e=>m(e.target.value),placeholder:"Name…",maxLength:60,disabled:c,containerClassName:"min-w-0 flex-1",className:"bg-canvas py-1.5 text-body-13"}),(0,n.jsx)(S.A,{variant:"ink",size:"sm",type:"submit",disabled:c||!x.trim(),className:"shrink-0",children:c?"…":"Create"}),(0,n.jsx)(tr.A,{square:!0,title:"Cancel",icon:(0,n.jsx)(o.X,{size:13}),disabled:c,onClick:()=>h(!1)})]})]})]})}let td={workspaces:()=>(0,n.jsx)(eQ,{}),channels:()=>(0,n.jsx)(r.Suspense,{fallback:null,children:(0,n.jsx)(eX,{})}),agents:()=>(0,n.jsx)(e2,{}),cron:()=>(0,n.jsx)(e3,{}),webhooks:()=>(0,n.jsx)(e9,{}),approvals:()=>(0,n.jsx)(e6,{}),recents:()=>(0,n.jsx)(r.Suspense,{fallback:null,children:(0,n.jsx)(e8,{})})};function tu({group:e,pathname:t,search:a}){return(0,n.jsx)(n.Fragment,{children:e.items.map(e=>(0,n.jsx)(ed,{href:e.href,label:e.label,icon:(0,n.jsx)(e.icon,{size:20,className:"h-5 w-5 lg:h-3.5 lg:w-3.5"}),tone:e.tone,isActive:function(e,t,a=""){let[n=e,r]=e.split("?");if(void 0===r||""===r)return"/"===n?"/"===t:J(t,n);if(t!==n)return!1;let s=new URLSearchParams(a);for(let[e,t]of new URLSearchParams(r))if(s.get(e)!==t)return!1;return!0}(e.href,t,a)},e.href))})}function th({group:e,pathname:t}){let a=(0,s.useSearchParams)().toString();return(0,n.jsx)(tu,{group:e,pathname:t,search:a})}function tx({destination:e,pathname:t,workspaces:a}){return(0,n.jsxs)("nav",{"aria-label":e.label,"data-testid":"sidebar-panel",className:"flex h-full min-w-0 flex-1 flex-col gap-0.5 bg-sidebar px-2 pt-4 pb-3 lg:w-[var(--panel-w)] lg:flex-none",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2 pb-1 pl-1.5",children:[(0,n.jsx)("h2",{className:"min-w-0 flex-1 truncate text-title-16 text-ink",children:e.label}),(0,n.jsx)(tc,{workspaces:[...a],compact:!0})]}),(0,n.jsx)("div",{className:"flex flex-1 flex-col gap-0.5 overflow-y-auto",children:e.groups.map((e,a)=>(0,n.jsxs)("div",{"data-testid":`nav-group-${e.section??a}`,children:[void 0!==e.section&&(0,n.jsx)(et,{add:e.add,children:e.section}),void 0!==e.dynamic&&td[e.dynamic](),(0,n.jsx)(r.Suspense,{fallback:(0,n.jsx)(tu,{group:e,pathname:t,search:""}),children:(0,n.jsx)(th,{group:e,pathname:t})})]},e.section??`group-${a}`))}),(0,n.jsx)(te,{runningAgents:void 0})]})}var tm=a(81098),tf=a(2193);function tp({workspaces:e,userMenu:t,initiale:a}){let d=(0,s.usePathname)(),[u,h]=(0,r.useState)(!1),{pending:x}=(0,eT.e)(),{workConversationsInProgress:m}=(0,eD.H)(),f=B(d),p=B(d)??function(){let e=X.find(e=>"work"===e.key);if(void 0===e)throw Error('sidebar-nav: no "work" destination');return e}(),g="/logs"===d||d.startsWith("/logs/");return(0,r.useEffect)(()=>{queueMicrotask(()=>h(!1))},[d]),(0,l.Z4)(u,()=>h(!1)),(0,r.useEffect)(()=>{if(!u)return;let e=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=e}},[u]),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("header",{className:"fixed top-0 right-0 left-0 z-40 flex h-16 items-center gap-1 border-b border-rule-2 bg-sidebar px-2 lg:hidden",children:[(0,n.jsx)(c.A,{ghost:!0,onClick:()=>h(!0),className:"h-12 w-12 rounded-xl hover:bg-hover active:bg-hover","aria-label":"Open menu","aria-controls":"primary-nav","aria-expanded":u,children:(0,n.jsx)(i.B,{size:26})}),(0,n.jsxs)("div",{className:"flex min-w-0 items-center gap-2 pl-1 text-medium-15 tracking-[-0.005em] text-ink",children:[(0,n.jsx)(C.wi,{size:22}),(0,n.jsx)("span",{className:"truncate",children:C.KR})]}),(0,n.jsx)("div",{className:"flex-1"}),(0,n.jsxs)("div",{className:"flex items-center gap-1",children:[(0,n.jsx)(tf.default,{}),(0,n.jsx)(tm.default,{})]})]}),(0,n.jsxs)("aside",{id:"primary-nav","aria-label":"Main navigation",className:`fixed inset-y-0 left-0 z-50 flex w-full transition-transform duration-200 ease-out lg:z-40 lg:w-[var(--sidebar-w)] lg:translate-x-0 ${u?"translate-x-0":"-translate-x-full"}`,children:[(0,n.jsx)(G,{activeKey:f?.key??null,approvalsCount:x.length,workConversationsInProgress:m,logsActive:g,userMenu:t,initiale:a??null}),(0,n.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col border-r border-rule-2 bg-sidebar",children:[(0,n.jsx)("div",{className:"flex justify-end px-2 pt-2 lg:hidden",children:(0,n.jsx)(c.A,{ghost:!0,onClick:()=>h(!1),className:"h-10 w-10 rounded-xl hover:bg-hover active:bg-hover","aria-label":"Close menu",children:(0,n.jsx)(o.X,{size:24})})}),(0,n.jsx)(tx,{destination:p,pathname:d,workspaces:e??[]})]})]})]})}},42078:(e,t,a)=>{"use strict";a.d(t,{t:()=>r});var n=a(2439);let r=(0,n.createServerReference)("40ba0f5cc7cb94702b4d87594aa509e41c1ce43624",n.callServer,void 0,n.findSourceMapURL,"deleteWebhookTriggerAction")},42485:(e,t,a)=>{"use strict";a.d(t,{r:()=>r});var n=a(2439);let r=(0,n.createServerReference)("4009c187e644bcf27058792b24d5391810f9e90261",n.callServer,void 0,n.findSourceMapURL,"deleteAgentAction")},45070:(e,t,a)=>{"use strict";a.d(t,{A:()=>o,j:()=>d});var n=a(48503),r=a(80351),s=a(88142),l=a(86045),i=a(12871);function o({open:e,onClose:t,title:a,children:i,footer:c,className:d="",dismissable:u=!0,testId:h}){let[x,m]=(0,r.useState)(!1);return((0,r.useEffect)(()=>{m(!0)},[]),(0,l.Z4)(e,u?t:l.C5),(0,r.useEffect)(()=>{if(!e)return;let t=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=t}},[e]),e&&x)?(0,s.createPortal)((0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"fixed inset-0 z-40 bg-black/60 animate-[fadeIn_150ms_ease]",onClick:u?t:void 0,"aria-hidden":"true"}),(0,n.jsx)("div",{role:"dialog","aria-modal":"true","data-testid":h,className:"fixed inset-0 z-50 flex items-center justify-center p-4 pointer-events-none",children:(0,n.jsxs)("div",{className:`pointer-events-auto w-full max-w-lg max-h-[90vh] overflow-y-auto bg-paper border border-rule-2 rounded-xl shadow-2xl animate-[scaleIn_150ms_ease] ${d}`,children:[void 0!==a&&(0,n.jsxs)("div",{className:"flex items-center justify-between gap-2 px-6 pt-5 pb-4 border-b border-rule-2",children:[(0,n.jsx)("h3",{className:"text-sm font-semibold text-ink",children:a}),u&&(0,n.jsx)("button",{type:"button",onClick:t,"aria-label":"Close",className:"text-ink-3 hover:text-ink transition-colors",children:"✕"})]}),(0,n.jsx)("div",{className:"p-6 pt-5",children:i}),c]})})]}),document.body):null}function c(e){return r.Children.map(e,e=>(0,r.isValidElement)(e)&&e.type===i.A?(0,r.cloneElement)(e,{size:"md"}):e)}function d({children:e,danger:t,className:a=""}){return(0,n.jsxs)("div",{className:`flex items-center gap-2 border-t border-rule-2 px-6 py-4 ${t?"justify-between":"justify-end"} ${a}`,children:[c(t),(0,n.jsx)("div",{className:"flex items-center gap-2",children:c(e)})]})}},45678:(e,t,a)=>{"use strict";a.d(t,{A:()=>d});var n=a(48503),r=a(80351),s=a(88142),l=a(86045),i=a(12871),o=a(9594),c=a(45070);function d({open:e,title:t,message:a,confirmLabel:u="Confirm",cancelLabel:h="Cancel",destructive:x=!0,typeToConfirm:m,extra:f,onConfirm:p,onCancel:g}){let v=(0,r.useRef)(null),[b,j]=(0,r.useState)(!1),[k,C]=(0,r.useState)(""),[w,y]=(0,r.useState)(e);w!==e&&(y(e),e&&C(""));let N=!!m&&k!==m;return((0,r.useEffect)(()=>{j(!0)},[]),(0,l.Z4)(e,g),(0,r.useEffect)(()=>{e&&v.current?.focus()},[e]),e&&b)?(0,s.createPortal)((0,n.jsxs)("div",{role:"dialog","aria-modal":"true","aria-labelledby":"confirm-dialog-title",className:"fixed inset-0 z-50 flex items-center justify-center px-4 text-left",children:[(0,n.jsx)("div",{className:"absolute inset-0 bg-black/60 backdrop-blur-sm",onClick:g,"aria-hidden":"true"}),(0,n.jsxs)("div",{className:"relative bg-paper border border-rule-2 rounded-xl max-w-md w-full shadow-2xl",children:[(0,n.jsxs)("div",{className:"p-6",children:[(0,n.jsx)("h2",{id:"confirm-dialog-title",className:"text-base font-semibold text-ink",children:t}),a&&(0,n.jsx)("p",{className:"mt-2 text-sm text-ink-3 leading-relaxed",children:a}),f&&(0,n.jsx)("div",{className:"mt-3",children:f}),m&&(0,n.jsxs)("div",{className:"mt-4",children:[(0,n.jsxs)("p",{className:"text-body-13 text-ink-3",children:["Type ",(0,n.jsx)("span",{className:"font-mono font-semibold text-ink",children:m})," to confirm."]}),(0,n.jsx)(o.A,{type:"text",value:k,onChange:e=>C(e.target.value),placeholder:m,autoComplete:"off",spellCheck:!1,className:"mt-2"})]})]}),(0,n.jsxs)(c.j,{className:"rounded-b-xl",children:[(0,n.jsx)(i.A,{variant:"neutral",onClick:g,ref:v,children:h}),(0,n.jsx)(i.A,{variant:x?"danger":"ink",onClick:p,disabled:N,className:N?"cursor-not-allowed opacity-40":"",children:u})]})]})]}),document.body):null}},48547:(e,t,a)=>{"use strict";a.d(t,{O:()=>r});var n=a(2439);let r=(0,n.createServerReference)("40e11beec36898a22ff0292015be52075cb06aec02",n.callServer,void 0,n.findSourceMapURL,"createWorkspaceAction")},53596:(e,t,a)=>{"use strict";a.d(t,{ChatFoldersProvider:()=>c,H:()=>u});var n=a(48503),r=a(80351),s=a(2439);let l=(0,s.createServerReference)("0016df9dd57ec876ad0912c0f11a6f159bb76261f7",s.callServer,void 0,s.findSourceMapURL,"getChatFoldersAction");var i=a(3816);let o=(0,r.createContext)(null);function c({initial:e,children:t}){let[a,s]=(0,r.useState)(e),d=(0,r.useCallback)(async()=>{let e=await l();e.ok&&s(e.data)},[]);return(0,i.n)(d,15e3),(0,n.jsx)(o.Provider,{value:a,children:t})}let d={channels:[],running:{},runningConversationIds:[],externalRuns:0,deliverablesToCheck:[],deliverableCheckJobIds:[],deliverableCheckConversationIds:[],workConversationsInProgress:0};function u(){let e=(0,r.useContext)(o);return e||(console.warn("[useChatFolders] called outside <ChatFoldersProvider> — returning empty state."),d)}},69160:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>l});var n=a(48503),r=a(68926),s=a(89466);function l({value:e,label:t="Copy",successMessage:a="Copied",errorMessage:i="Could not copy",className:o=""}){async function c(){try{await navigator.clipboard.writeText(e),r.oR.success(a)}catch{r.oR.error(i)}}return(0,n.jsxs)("button",{type:"button",onClick:c,className:`inline-flex h-[28px] shrink-0 items-center gap-1.5 rounded-md border border-rule-2 bg-paper px-2.5 text-medium-12 text-ink-3 transition-colors hover:text-ink ${o}`,children:[(0,n.jsx)(s.Q,{size:13})," ",t]})}},80171:(e,t,a)=>{"use strict";a.d(t,{default:()=>i});var n=a(48503),r=a(80351),s=a(10158),l=a(88088);function i(){let[e,t]=(0,r.useState)(!1);async function a(){t(!0);try{let e=await fetch("/api/auth/sign-out",{method:"POST",headers:{"Content-Type":"application/json"},body:"{}",credentials:"same-origin"});e.ok||console.error("sign-out failed",e.status,await e.text().catch(()=>""))}catch(e){console.error("sign-out network error",e)}window.location.replace("/login")}return(0,n.jsx)(l.A,{ghost:!0,onClick:a,disabled:e,"data-testid":"user-menu-sign-out","aria-label":"Sign out",title:"Sign out",className:"h-10 w-10 rounded-lg hover:bg-hover disabled:cursor-not-allowed disabled:opacity-40 lg:h-8 lg:w-8 lg:rounded-md",children:(0,n.jsx)(s.M,{size:15,className:"h-[18px] w-[18px] lg:h-[15px] lg:w-[15px]"})})}},82238:(e,t,a)=>{"use strict";a.d(t,{default:()=>i});var n=a(48503),r=a(80351),s=a(68926);function l(){return"u"<typeof document?"light":"dark"===document.documentElement.getAttribute("data-theme")?"dark":"light"}function i(){let[e,t]=(0,r.useState)("light");return(0,r.useEffect)(()=>{t(l());let e=new MutationObserver(()=>t(l()));return e.observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]}),()=>e.disconnect()},[]),(0,n.jsx)(s.l$,{theme:e,position:"bottom-right",richColors:!0,closeButton:!0})}},83267:(e,t,a)=>{"use strict";a.d(t,{N:()=>r});var n=a(2439);let r=(0,n.createServerReference)("40b219345b966608004de438b03b7798950d735c48",n.callServer,void 0,n.findSourceMapURL,"renameCodeProjectAction")},87989:(e,t,a)=>{"use strict";a.d(t,{KR:()=>s,wi:()=>l});var n=a(48503),r=a(19176);let s="Nodal-Agents";function l({size:e=32,priority:t=!1,className:a=""}){return(0,n.jsx)(r.default,{src:"/logo-128.png",alt:"",width:e,height:e,priority:t,style:{width:e,height:e},className:`shrink-0 ${a}`})}},90566:(e,t,a)=>{"use strict";a.d(t,{A:()=>l});var n=a(48503);let r={ok:"bg-ok",lime:"bg-agent-vivid",coral:"bg-skill-vivid",blue:"bg-conn-vivid",warn:"bg-warn"},s={ok:"animate-[blip_1.4s_ease-out_infinite]",lime:"animate-[blip-lime_1.5s_ease-out_infinite]",coral:"animate-[blip-coral_1.4s_ease-out_infinite]",blue:"animate-[blip-blue_1.4s_ease-out_infinite]",warn:"animate-[blip-coral_1.4s_ease-out_infinite]"};function l({variant:e="ok",size:t="sm",animate:a=!0,className:i=""}){return(0,n.jsx)("span",{className:`inline-block shrink-0 rounded-full ${"sm"===t?"h-[7px] w-[7px]":"h-2 w-2"} ${r[e]} ${a?s[e]:""} ${i}`})}},92563:(e,t,a)=>{Promise.resolve().then(a.bind(a,18377)),Promise.resolve().then(a.bind(a,53596)),Promise.resolve().then(a.bind(a,34214)),Promise.resolve().then(a.bind(a,80171)),Promise.resolve().then(a.bind(a,41512)),Promise.resolve().then(a.bind(a,69160)),Promise.resolve().then(a.bind(a,82238))},93756:(e,t,a)=>{"use strict";a.d(t,{W:()=>r});var n=a(2439);let r=(0,n.createServerReference)("400ffc8836b6db1f4b92490198602596ada96bef71",n.callServer,void 0,n.findSourceMapURL,"switchWorkspaceAction")}},e=>{e.O(0,[2208,3969,8153,6937,7999,825,5034,4666,9052,4811,9706,7358],()=>e(e.s=92563)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3703],{2038:(e,n,a)=>{"use strict";a.d(n,{default:()=>L});var t=a(48503),s=a(80351),i=a(68926),r=a(40255),l=a(72821),d=a(99793),o=a(90368),c=a(45678),u=a(47585),b=a(41694),x=a(23370),g=a(85933),m=a(75551),h=a(91701),v=a(90423),p=a(60128),f=a(88937),k=a(2439);let j=(0,k.createServerReference)("401b8c08802bc2d287db63cdb22f42a3919868740d",k.callServer,void 0,k.findSourceMapURL,"setReflectionEnabledAction"),y=(0,k.createServerReference)("60990e5bff068d28dd7266ac1354b5a7864590cb9d",k.callServer,void 0,k.findSourceMapURL,"setAgentLearningAction"),N=(0,k.createServerReference)("40a67a3ac9cf134f5f908cba65c45309d416ffb7a7",k.callServer,void 0,k.findSourceMapURL,"setSkillAssignmentModeAction"),w=(0,k.createServerReference)("402437367a6233dbf79eb6cf09fbe358d5ec2a0542",k.callServer,void 0,k.findSourceMapURL,"archiveLearnedSkillAction"),A=(0,k.createServerReference)("40dc8393ca84097ba9640cd0d83ec2a1153d458b64",k.callServer,void 0,k.findSourceMapURL,"deleteLearnedSkillAction"),S=(0,k.createServerReference)("409af7bee3ab2e475be1b2c0e1d2b27009997af6cd",k.callServer,void 0,k.findSourceMapURL,"restoreLearnedSkillAction"),R=(0,k.createServerReference)("60c5f6aed17dc3c7c497e77a408e414ae14b2fa3a9",k.callServer,void 0,k.findSourceMapURL,"assignLearnedSkillAction"),$=(0,k.createServerReference)("605ad82ba1f03fe2f9fa789b1ac2490975a9dc4d91",k.callServer,void 0,k.findSourceMapURL,"unassignLearnedSkillAction");function C({state:e}){return"active"===e?(0,t.jsx)(p.A,{variant:"lvl-ok",label:"active"}):"stale"===e?(0,t.jsx)(p.A,{variant:"lvl-warn",label:"stale"}):(0,t.jsx)(p.A,{variant:"idle",label:"archived"})}function L({skills:e,reflectionEnabled:n,assignmentMode:a,assignableAgents:p}){let[k,_]=(0,s.useState)(n),[M,z]=(0,s.useState)(a),[T,D]=(0,s.useTransition)(),[I,U]=(0,s.useState)(null),[E,q]=(0,s.useState)(null),[O,P]=(0,s.useState)(e),[B,K]=(0,s.useState)(null),[W,Y]=(0,s.useState)(""),[F,G]=(0,s.useState)(p),H=B?O.find(e=>e.id===B):void 0,J=(0,s.useMemo)(()=>{let e=W.trim().toLowerCase();return e?O.filter(n=>n.name.toLowerCase().includes(e)||(n.description??"").toLowerCase().includes(e)):O},[O,W]);function Q(e){e===M||(z(e),D(async()=>{let n=await N(e);n.ok?i.oR.success("auto"===e?"Skills auto-assigned to authoring agent":"Skills require your approval before assignment"):(z(M),i.oR.error(n.message))}))}return(0,t.jsxs)(u.A,{title:"Learned Skills",subtitle:"Skills your agents discovered automatically.",toolbar:(0,t.jsx)(b.A,{search:(0,t.jsx)(x.A,{value:W,onChange:Y,placeholder:"Search skill…"})}),children:[(0,t.jsxs)("div",{className:"mb-4 rounded-2xl border border-rule-2 bg-paper p-5",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{id:"agent-learning-label",className:"text-medium-14 text-ink",children:"Agent learning"}),(0,t.jsx)("p",{id:"agent-learning-desc",className:"mt-0.5 text-body-13 leading-[1.5]! text-ink-3",children:"When on, your agents save reusable techniques as skills after substantial tasks. You can review and undo everything here."})]}),(0,t.jsx)(v.A,{checked:k,onChange:function(){let e=!k;_(e),D(async()=>{let n=await j(e);n.ok?i.oR.success(e?"Agent learning enabled":"Agent learning disabled"):(_(!e),i.oR.error(n.message))})},disabled:T,size:"sm",ariaLabelledBy:"agent-learning-label",ariaDescribedBy:"agent-learning-desc"})]}),k&&F.length>0&&(0,t.jsxs)("div",{className:"mt-4 border-t border-rule-2 pt-4",children:[(0,t.jsx)("p",{className:"mb-3 text-body-13 text-ink-3",children:"Turn it off for agents that review or judge. They rarely learn anything reusable, and each pass costs a model call."}),(0,t.jsx)("ul",{className:"flex flex-col gap-2",children:F.map(e=>(0,t.jsxs)("li",{className:"flex items-center justify-between gap-4",children:[(0,t.jsx)("span",{id:`agent-learns-${e.id}`,className:`text-body-13 ${e.learns?"text-ink":"text-ink-3"}`,children:e.name}),(0,t.jsx)(v.A,{checked:e.learns,onChange:()=>(function(e){let n=F.find(n=>n.id===e);if(!n)return;let a=!n.learns;G(n=>n.map(n=>n.id===e?{...n,learns:a}:n)),D(async()=>{let t=await y(e,a);t.ok?i.oR.success(a?`${n.name} learns again`:`${n.name} stops learning`):(G(n=>n.map(n=>n.id===e?{...n,learns:!a}:n)),i.oR.error(t.message))})})(e.id),disabled:T,size:"sm",ariaLabelledBy:`agent-learns-${e.id}`})]},e.id))})]})]}),(0,t.jsxs)("div",{className:"mb-6 rounded-2xl border border-rule-2 bg-paper p-5",children:[(0,t.jsx)("p",{id:"assign-mode-label",className:"mb-1 text-medium-14 text-ink",children:"When an agent learns a new skill"}),(0,t.jsx)("p",{id:"assign-mode-desc",className:"mb-4 text-body-13 leading-[1.5]! text-ink-3",children:"Control whether new agent-authored skills are instantly assigned back to the agent, or held for your review first."}),(0,t.jsxs)("div",{role:"radiogroup","aria-labelledby":"assign-mode-label","aria-describedby":"assign-mode-desc",children:[(0,t.jsx)(h.t,{active:"auto"===M,onClick:()=>Q("auto"),name:"Auto-assign to the agent",description:"The skill is immediately available to the agent that authored it.",testId:"assign-mode-auto"}),(0,t.jsx)(h.t,{active:"approval"===M,onClick:()=>Q("approval"),name:"Require my approval",description:"New skills are created unassigned - you assign them manually from this page.",testId:"assign-mode-approval"})]})]}),0===O.length?(0,t.jsx)(g.A,{title:"Your agents haven't learned anything yet. Enable agent learning above to get started."}):0===J.length?(0,t.jsx)(g.A,{title:`No learned skills match "${W}".`}):(0,t.jsx)("div",{className:"space-y-2",children:J.map(e=>(0,t.jsxs)("div",{className:"rounded-2xl border border-rule-2 bg-paper overflow-hidden",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3 px-5 py-3.5",children:[(0,t.jsxs)("div",{role:"button",tabIndex:0,onClick:()=>q(E===e.id?null:e.id),onKeyDown:n=>{("Enter"===n.key||" "===n.key)&&(n.preventDefault(),q(E===e.id?null:e.id))},className:"min-w-0 flex-1 cursor-pointer text-left",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-medium-14 text-ink truncate",children:e.name}),(0,t.jsx)(C,{state:e.state}),e.patchCount>0&&(0,t.jsxs)("span",{className:"text-body-12 text-ink-3",children:[e.patchCount," patch",1!==e.patchCount?"es":""]})]}),e.description&&(0,t.jsx)("p",{className:"mt-0.5 text-body-13 text-ink-3 truncate",children:e.description}),(0,t.jsx)("p",{className:"mt-0.5 text-body-12 text-ink-3",children:e.assignedAgents.length>0?`Assigned to ${e.assignedAgents.map(e=>e.name).join(", ")}`:"Not assigned"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2 shrink-0",children:[p.length>0&&(0,t.jsx)(m.A,{square:!0,icon:(0,t.jsx)(r.y,{size:16}),title:"Assign to agents",disabled:T,onClick:()=>K(e.id)}),"archived"===e.state?(0,t.jsx)(m.A,{square:!0,icon:(0,t.jsx)(l.o,{size:16}),title:"Restore",disabled:T,onClick:()=>{var n,a;return n=e.id,a=e.name,void D(async()=>{let e=await S(n);e.ok?(i.oR.success(`"${a}" restored`),P(e=>e.map(e=>e.id===n?{...e,state:"active",archivedAt:null}:e))):i.oR.error(e.message)})}}):(0,t.jsx)(m.A,{square:!0,icon:(0,t.jsx)(d.T,{size:16}),title:"Archive",disabled:T,onClick:()=>U({type:"archive",skillId:e.id,skillName:e.name})}),(0,t.jsx)(m.A,{square:!0,icon:(0,t.jsx)(o.l,{size:16}),title:"Delete",tone:"danger",disabled:T,onClick:()=>U({type:"delete",skillId:e.id,skillName:e.name})})]})]}),E===e.id&&(0,t.jsx)("div",{className:"border-t border-rule-2 bg-canvas/50 px-5 py-4",children:(0,t.jsx)("pre",{className:"whitespace-pre-wrap text-mono-13 text-ink-2 leading-relaxed!",children:e.content})})]},e.id))}),(0,t.jsx)(c.A,{open:null!==I,title:I?.type==="archive"?`Archive "${I.skillName}"?`:`Delete "${I?.skillName}"?`,message:I?.type==="archive"?"The skill will be archived and hidden from agents. You can restore it later.":"This will permanently delete the skill. This action cannot be undone.",confirmLabel:I?.type==="archive"?"Archive":"Delete",destructive:!0,onConfirm:function(){if(!I)return;let{type:e,skillId:n,skillName:a}=I;U(null),D(async()=>{if("archive"===e){let e=await w(n);e.ok?(i.oR.success(`"${a}" archived`),P(e=>e.map(e=>e.id===n?{...e,state:"archived",archivedAt:new Date}:e))):i.oR.error(e.message)}else if("delete"===e){let e=await A(n);e.ok?(i.oR.success(`"${a}" deleted`),P(e=>e.filter(e=>e.id!==n))):i.oR.error(e.message)}})},onCancel:()=>U(null)}),H&&(0,t.jsx)(f.A,{open:!0,onClose:()=>K(null),skill:H,agents:p,assign:({skillId:e,agentId:n})=>R(e,n),unassign:({skillId:e,agentId:n})=>$(e,n),onToggled:function(e,n){let a=p.find(n=>n.id===e);P(t=>t.map(t=>t.id!==B?t:n?!a||t.assignedAgents.some(n=>n.id===e)?t:{...t,assignedAgents:[...t.assignedAgents,{id:e,name:a.name}]}:{...t,assignedAgents:t.assignedAgents.filter(n=>n.id!==e)}))}})]})}},5829:(e,n,a)=>{"use strict";a.d(n,{A:()=>s});var t=a(48503);function s({children:e,className:n="",...a}){return(0,t.jsx)("label",{className:`block text-xs text-ink-3 mb-1 ${n}`,...a,children:e})}},7576:(e,n,a)=>{"use strict";a.d(n,{A:()=>r});var t=a(48503),s=a(80351);let i={ink:"accent-ink",agent:"accent-agent-vivid",skill:"accent-skill-vivid",connector:"accent-conn-vivid"};function r({label:e,tone:n="ink",id:a,className:l="",containerClassName:d="",...o}){let c=(0,s.useId)(),u=a??c,b=(0,t.jsx)("input",{id:u,type:"checkbox",className:`h-4 w-4 shrink-0 cursor-pointer rounded border-rule disabled:cursor-not-allowed disabled:opacity-50 ${i[n]} ${l}`,...o});return e?(0,t.jsxs)("label",{htmlFor:u,className:`flex cursor-pointer items-center gap-2 text-sm text-ink ${d}`,children:[b,e]}):(0,t.jsx)("div",{className:d,children:b})}},12871:(e,n,a)=>{"use strict";a.d(n,{A:()=>d});var t=a(48503),s=a(22208),i=a.n(s),r=a(80351);let l={ink:"bg-ink text-canvas border-0 hover:brightness-[0.92]",agent:"bg-agent-vivid text-[#1a2200] border-0 hover:brightness-[0.96]",coral:"bg-skill-vivid text-white border-0 hover:brightness-[0.94]",blue:"bg-conn-vivid text-white border-0 hover:brightness-[0.94]",neutral:"border border-rule-2 bg-paper text-ink hover:bg-hover",danger:"border border-err/30 bg-paper text-err hover:border-err hover:bg-warn-bg"},d=(0,r.forwardRef)(function(e,n){let{children:a,variant:s="ink",size:r="md",className:d=""}=e,o=`inline-flex cursor-pointer items-center justify-center gap-1.5 rounded-md leading-none! transition-[filter,background-color] disabled:pointer-events-none disabled:opacity-40 ${"md"===r?"h-[34px] px-3.5 text-medium-14":"h-[30px] px-3 text-medium-13"} ${l[s]} ${d}`;if("href"in e&&e.href){let{href:s,variant:r,size:l,className:d,children:c,...u}=e;return(0,t.jsx)(i(),{href:s,className:o,ref:n,...u,children:a})}let{variant:c,size:u,className:b,children:x,...g}=e;return(0,t.jsx)("button",{type:"button",className:o,ref:n,...g,children:a})})},23370:(e,n,a)=>{"use strict";a.d(n,{A:()=>i});var t=a(48503),s=a(78936);function i({value:e,onChange:n,placeholder:a="Search…",minWidth:r=300,ariaLabel:l,testId:d,className:o=""}){return(0,t.jsxs)("div",{className:`flex h-[34px] items-center gap-2 rounded-[9px] border border-rule-2 bg-paper px-3 text-body-13 text-ink-4 ${o}`,style:{minWidth:r},children:[(0,t.jsx)(s.e,{size:13,className:"shrink-0"}),(0,t.jsx)("input",{type:"search",value:e,onChange:e=>n(e.target.value),placeholder:a,"aria-label":l,"data-testid":d,className:"flex-1 border-0 bg-transparent text-body-14 leading-none! text-ink outline-none placeholder:text-ink-4"})]})}},25701:(e,n,a)=>{"use strict";a.d(n,{_:()=>s});var t=a(2439);let s=(0,t.createServerReference)("4081fef1f0443e864c623896e80f122e86d413eb5e",t.callServer,void 0,t.findSourceMapURL,"unassignSkillAction")},49097:(e,n,a)=>{Promise.resolve().then(a.bind(a,2038)),Promise.resolve().then(a.bind(a,2193)),Promise.resolve().then(a.bind(a,68534)),Promise.resolve().then(a.bind(a,81098))},54057:(e,n,a)=>{"use strict";a.d(n,{f:()=>s});var t=a(2439);let s=(0,t.createServerReference)("4033eaddfca411a2a279917fac675c2f109db5d965",t.callServer,void 0,t.findSourceMapURL,"assignSkillAction")},60128:(e,n,a)=>{"use strict";a.d(n,{A:()=>o});var t=a(48503),s=a(64178),i=a(68269),r=a(90566);let l={done:"Done",warn:"Attention",run:"Running",idle:"Idle","lvl-info":"INFO","lvl-ok":"OK","lvl-warn":"WARN","lvl-err":"ERR"},d={done:"bg-ok-bg text-ok",warn:"bg-warn-bg text-warn",run:"bg-run-bg text-run",idle:"bg-black/5 text-ink-3 dark:bg-white/5","lvl-info":"bg-black/5 text-ink-3 dark:bg-white/5","lvl-ok":"bg-ok-bg text-ok","lvl-warn":"bg-warn-bg text-warn","lvl-err":"bg-warn-bg text-err"};function o({variant:e,label:n,icon:a,className:c=""}){let u=n??l[e],b=null;return void 0!==a?b=a:"done"===e?b=(0,t.jsx)(s.r,{size:11,weight:"regular"}):"warn"===e?b=(0,t.jsx)(i.N,{size:11,weight:"regular"}):"run"===e&&(b=(0,t.jsx)(r.A,{variant:"blue",size:"sm"})),(0,t.jsxs)("span",{className:`inline-flex h-[22px] items-center gap-1.5 rounded-[5px] px-2.5 text-medium-12 leading-none! ${d[e]} ${c}`,children:[b,u]})}},88937:(e,n,a)=>{"use strict";a.d(n,{A:()=>x});var t=a(48503),s=a(80351),i=a(68926),r=a(22208),l=a.n(r),d=a(54057),o=a(25701),c=a(45070),u=a(12871),b=a(7576);function x({open:e,onClose:n,skill:a,agents:s,assign:i=d.f,unassign:r=o._,onToggled:l}){return(0,t.jsx)(c.A,{open:e,onClose:n,title:`Assign "${a.name}"`,footer:(0,t.jsx)(c.j,{children:(0,t.jsx)(u.A,{variant:"neutral",onClick:n,children:"Close"})}),children:(0,t.jsx)(g,{skill:a,agents:s,onClose:n,assign:i,unassign:r,onToggled:l})})}function g({skill:e,agents:n,onClose:a,assign:r,unassign:d,onToggled:o}){let[c,u]=(0,s.useState)(()=>new Set(e.assignedAgents.map(e=>e.id))),[x,m]=(0,s.useTransition)();return 0===n.length?(0,t.jsxs)("div",{className:"space-y-3 py-6 text-center",children:[(0,t.jsx)("p",{className:"text-sm text-ink-3",children:"No agents yet, create one first."}),(0,t.jsx)(l(),{href:"/agents",onClick:a,className:"inline-flex items-center gap-1 text-sm font-medium text-blue-400 underline underline-offset-2 hover:text-blue-300",children:"Go to Agents"})]}):(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("p",{className:"mb-3 text-xs text-ink-3",children:"Toggle to assign or unassign this skill from each agent."}),(0,t.jsx)("div",{className:"divide-y divide-rule-2 overflow-hidden rounded-lg border border-rule-2 bg-canvas/30",children:n.map(n=>{let a=c.has(n.id);return(0,t.jsxs)("label",{className:"flex cursor-pointer items-center gap-3 px-3 py-2.5 transition-colors hover:bg-hover",children:[(0,t.jsx)(b.A,{tone:"skill",checked:a,disabled:x,onChange:()=>{var a;let t;return a=n.id,t=c.has(a),void(u(e=>{let n=new Set(e);return t?n.delete(a):n.add(a),n}),m(async()=>{let n={skillId:e.id,agentId:a},s=t?await d(n):await r(n);if(!s.ok){u(e=>{let n=new Set(e);return t?n.add(a):n.delete(a),n}),i.oR.error(s.message);return}i.oR.success(t?"Skill unassigned":"Skill assigned"),o?.(a,!t)}))}}),(0,t.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,t.jsx)("span",{className:"block truncate text-sm text-ink",children:n.name}),(0,t.jsx)("span",{className:"block truncate text-mono-12 text-ink-3",children:n.slug})]}),(0,t.jsx)("span",{className:`shrink-0 text-medium-12 ${a?"text-ok":"text-ink-4"}`,children:a?"Assigned":"Not assigned"})]},n.id)})})]})}},90423:(e,n,a)=>{"use strict";a.d(n,{A:()=>r});var t=a(48503);let s={sm:"h-5 w-9",md:"h-[22px] w-[38px]"},i={sm:"h-3.5 w-3.5",md:"h-4 w-4"};function r({checked:e,onChange:n,disabled:a,size:l="md",ariaLabel:d,ariaLabelledBy:o,ariaDescribedBy:c,readOnly:u=!1}){let b=`relative inline-flex shrink-0 items-center rounded-full ${s[l]} ${e?"bg-ok":"bg-ink-4"}`,x=(0,t.jsx)("span",{className:`pointer-events-none inline-block rounded-full bg-paper ${u?"":"transition-transform duration-200"} ${i[l]} ${e?"translate-x-[19px]":"translate-x-[3px]"}`});return u?(0,t.jsx)("span",{role:"img","aria-label":d??(e?"On":"Off"),"data-state":e?"on":"off",className:`${b} ${a?"opacity-50":""}`,children:x}):(0,t.jsx)("button",{type:"button",role:"switch","aria-checked":e,"aria-label":d,"aria-labelledby":o,"aria-describedby":c,disabled:a,onClick:n,className:`${b} cursor-pointer transition-colors duration-200 focus-visible:outline-none focus-visible:ring-[3px] focus-visible:ring-conn-vivid/50 disabled:cursor-not-allowed disabled:opacity-50`,children:x})}},90566:(e,n,a)=>{"use strict";a.d(n,{A:()=>r});var t=a(48503);let s={ok:"bg-ok",lime:"bg-agent-vivid",coral:"bg-skill-vivid",blue:"bg-conn-vivid",warn:"bg-warn"},i={ok:"animate-[blip_1.4s_ease-out_infinite]",lime:"animate-[blip-lime_1.5s_ease-out_infinite]",coral:"animate-[blip-coral_1.4s_ease-out_infinite]",blue:"animate-[blip-blue_1.4s_ease-out_infinite]",warn:"animate-[blip-coral_1.4s_ease-out_infinite]"};function r({variant:e="ok",size:n="sm",animate:a=!0,className:l=""}){return(0,t.jsx)("span",{className:`inline-block shrink-0 rounded-full ${"sm"===n?"h-[7px] w-[7px]":"h-2 w-2"} ${s[e]} ${a?i[e]:""} ${l}`})}},91701:(e,n,a)=>{"use strict";a.d(n,{t:()=>s});var t=a(48503);function s({active:e,onClick:n,name:a,description:i,children:r,testId:l}){return(0,t.jsxs)("div",{role:"radio","aria-checked":e,"data-testid":l,tabIndex:0,onClick:n,onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),n())},className:["flex items-start gap-3.5 px-4 py-3.5 rounded-[10px] border cursor-pointer mb-2 transition-[border-color,background-color] duration-[120ms]",e?"border-conn-vivid bg-conn-vivid/[0.06]":"border-rule-2 bg-paper hover:border-rule"].join(" "),children:[(0,t.jsx)("span",{className:["mt-0.5 flex-shrink-0 w-[18px] h-[18px] rounded-full border-[1.6px] flex items-center justify-center",e?"border-conn-vivid":"border-rule"].join(" "),children:e&&(0,t.jsx)("span",{className:"w-2 h-2 rounded-full bg-conn-vivid"})}),(0,t.jsxs)("span",{className:"flex-1 min-w-0",children:[(0,t.jsx)("span",{className:"block text-medium-14 leading-[1.3]! text-ink",children:a}),(0,t.jsx)("span",{className:"block text-body-13 leading-[1.4]! text-ink-3 mt-0.5",children:i}),r]})]})}}},e=>{e.O(0,[2208,3969,1657,5034,341,4811,9706,7358],()=>e(e.s=49097)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[173],{5079:(e,t,a)=>{"use strict";a.d(t,{A:()=>s});var r=a(48503),n=a(80351),l=a(63428),i=a(5829);let s=(0,n.forwardRef)(function({label:e,error:t,id:a,className:s="",containerClassName:o="",children:c,...d},m){let u=(0,n.useId)(),p=a??u,h=(0,n.useRef)(null);return(0,n.useImperativeHandle)(m,()=>h.current,[]),(0,n.useEffect)(()=>{h.current&&function(e){if(CSS.supports("appearance","base-select"))for(let t of e.querySelectorAll("optgroup")){let e=t.getAttribute("label")??"",a=t.querySelector(":scope > legend");if(!a){if(e){let a=document.createElement("legend");a.textContent=e,t.prepend(a)}continue}a.textContent!==e&&(a.textContent=e),t.firstElementChild!==a&&t.prepend(a)}}(h.current)}),(0,r.jsxs)("div",{className:o,children:[e&&(0,r.jsx)(i.A,{htmlFor:p,children:e}),(0,r.jsxs)("div",{className:"relative",children:[(0,r.jsx)("select",{id:p,ref:h,"aria-invalid":!!t||void 0,className:`peer h-8.5 w-full rounded-md border bg-hover py-1.5 pr-8 pl-3 text-body-14 leading-5! text-ink transition-colors required:invalid:text-ink-4 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50 ${t?"border-err focus:border-err":"border-rule focus:border-ink-3"} ${s}`,...d,children:c}),(0,r.jsx)(l.a,{size:16,"aria-hidden":!0,className:"pointer-events-none absolute top-4.25 right-2 -translate-y-1/2 text-ink-3 peer-disabled:opacity-50"})]}),t&&(0,r.jsx)("p",{className:"mt-1 text-xs text-err",children:t})]})})},5829:(e,t,a)=>{"use strict";a.d(t,{A:()=>n});var r=a(48503);function n({children:e,className:t="",...a}){return(0,r.jsx)("label",{className:`block text-xs text-ink-3 mb-1 ${t}`,...a,children:e})}},7576:(e,t,a)=>{"use strict";a.d(t,{A:()=>i});var r=a(48503),n=a(80351);let l={ink:"accent-ink",agent:"accent-agent-vivid",skill:"accent-skill-vivid",connector:"accent-conn-vivid"};function i({label:e,tone:t="ink",id:a,className:s="",containerClassName:o="",...c}){let d=(0,n.useId)(),m=a??d,u=(0,r.jsx)("input",{id:m,type:"checkbox",className:`h-4 w-4 shrink-0 cursor-pointer rounded border-rule disabled:cursor-not-allowed disabled:opacity-50 ${l[t]} ${s}`,...c});return e?(0,r.jsxs)("label",{htmlFor:m,className:`flex cursor-pointer items-center gap-2 text-sm text-ink ${o}`,children:[u,e]}):(0,r.jsx)("div",{className:o,children:u})}},12871:(e,t,a)=>{"use strict";a.d(t,{A:()=>o});var r=a(48503),n=a(22208),l=a.n(n),i=a(80351);let s={ink:"bg-ink text-canvas border-0 hover:brightness-[0.92]",agent:"bg-agent-vivid text-[#1a2200] border-0 hover:brightness-[0.96]",coral:"bg-skill-vivid text-white border-0 hover:brightness-[0.94]",blue:"bg-conn-vivid text-white border-0 hover:brightness-[0.94]",neutral:"border border-rule-2 bg-paper text-ink hover:bg-hover",danger:"border border-err/30 bg-paper text-err hover:border-err hover:bg-warn-bg"},o=(0,i.forwardRef)(function(e,t){let{children:a,variant:n="ink",size:i="md",className:o=""}=e,c=`inline-flex cursor-pointer items-center justify-center gap-1.5 rounded-md leading-none! transition-[filter,background-color] disabled:pointer-events-none disabled:opacity-40 ${"md"===i?"h-[34px] px-3.5 text-medium-14":"h-[30px] px-3 text-medium-13"} ${s[n]} ${o}`;if("href"in e&&e.href){let{href:n,variant:i,size:s,className:o,children:d,...m}=e;return(0,r.jsx)(l(),{href:n,className:c,ref:t,...m,children:a})}let{variant:d,size:m,className:u,children:p,...h}=e;return(0,r.jsx)("button",{type:"button",className:c,ref:t,...h,children:a})})},16763:(e,t,a)=>{"use strict";a.d(t,{A:()=>n});var r=a(80351);let n=r.forwardRef((e,t)=>{let{alt:a,color:n="currentColor",size:l="1em",weight:i="regular",mirrored:s=!1,children:o,weights:c,...d}=e;return r.createElement("svg",{ref:t,xmlns:"http://www.w3.org/2000/svg",width:l,height:l,fill:n,viewBox:"0 0 256 256",transform:s?"scale(-1, 1)":void 0,...d},!!a&&r.createElement("title",null,a),o,c.get(i))});n.displayName="SSRBase"},27078:(e,t,a)=>{"use strict";a.d(t,{A:()=>n});var r=a(80351);let n=new Map([["bold",r.createElement(r.Fragment,null,r.createElement("path",{d:"M230.14,70.54,185.46,25.85a20,20,0,0,0-28.29,0L33.86,149.17A19.85,19.85,0,0,0,28,163.31V208a20,20,0,0,0,20,20H92.69a19.86,19.86,0,0,0,14.14-5.86L230.14,98.82a20,20,0,0,0,0-28.28ZM91,204H52V165l84-84,39,39ZM192,103,153,64l18.34-18.34,39,39Z"}))],["duotone",r.createElement(r.Fragment,null,r.createElement("path",{d:"M221.66,90.34,192,120,136,64l29.66-29.66a8,8,0,0,1,11.31,0L221.66,79A8,8,0,0,1,221.66,90.34Z",opacity:"0.2"}),r.createElement("path",{d:"M227.31,73.37,182.63,28.68a16,16,0,0,0-22.63,0L36.69,152A15.86,15.86,0,0,0,32,163.31V208a16,16,0,0,0,16,16H92.69A15.86,15.86,0,0,0,104,219.31L227.31,96a16,16,0,0,0,0-22.63ZM92.69,208H48V163.31l88-88L180.69,120ZM192,108.68,147.31,64l24-24L216,84.68Z"}))],["fill",r.createElement(r.Fragment,null,r.createElement("path",{d:"M227.31,73.37,182.63,28.68a16,16,0,0,0-22.63,0L36.69,152A15.86,15.86,0,0,0,32,163.31V208a16,16,0,0,0,16,16H92.69A15.86,15.86,0,0,0,104,219.31L227.31,96a16,16,0,0,0,0-22.63ZM192,108.68,147.31,64l24-24L216,84.68Z"}))],["light",r.createElement(r.Fragment,null,r.createElement("path",{d:"M225.9,74.78,181.21,30.09a14,14,0,0,0-19.8,0L38.1,153.41a13.94,13.94,0,0,0-4.1,9.9V208a14,14,0,0,0,14,14H92.69a13.94,13.94,0,0,0,9.9-4.1L225.9,94.58a14,14,0,0,0,0-19.8ZM94.1,209.41a2,2,0,0,1-1.41.59H48a2,2,0,0,1-2-2V163.31a2,2,0,0,1,.59-1.41L136,72.48,183.51,120ZM217.41,86.1,192,111.51,144.49,64,169.9,38.58a2,2,0,0,1,2.83,0l44.68,44.69a2,2,0,0,1,0,2.83Z"}))],["regular",r.createElement(r.Fragment,null,r.createElement("path",{d:"M227.31,73.37,182.63,28.68a16,16,0,0,0-22.63,0L36.69,152A15.86,15.86,0,0,0,32,163.31V208a16,16,0,0,0,16,16H92.69A15.86,15.86,0,0,0,104,219.31L227.31,96a16,16,0,0,0,0-22.63ZM92.69,208H48V163.31l88-88L180.69,120ZM192,108.68,147.31,64l24-24L216,84.68Z"}))],["thin",r.createElement(r.Fragment,null,r.createElement("path",{d:"M224.49,76.2,179.8,31.51a12,12,0,0,0-17,0L133.17,61.17h0L39.52,154.83A11.9,11.9,0,0,0,36,163.31V208a12,12,0,0,0,12,12H92.69a12,12,0,0,0,8.48-3.51L224.48,93.17a12,12,0,0,0,0-17Zm-129,134.63A4,4,0,0,1,92.69,212H48a4,4,0,0,1-4-4V163.31a4,4,0,0,1,1.17-2.83L136,69.65,186.34,120ZM218.83,87.51,192,114.34,141.66,64l26.82-26.83a4,4,0,0,1,5.66,0l44.69,44.68a4,4,0,0,1,0,5.66Z"}))]])},42641:(e,t,a)=>{"use strict";a.d(t,{L:()=>n});var r=a(2439);let n=(0,r.createServerReference)("4077b1737387c0dbc83878df4b05473e2d1f5826fc",r.callServer,void 0,r.findSourceMapURL,"createLlmKeyAction")},46184:(e,t,a)=>{"use strict";a.d(t,{default:()=>F});var r=a(48503),n=a(80351),l=a(73573),i=a(47585),s=a(41694),o=a(12871),c=a(85933),d=a(45070),m=a(22208),u=a.n(m),p=a(68926),h=a(78750),g=a(90368),f=a(45678),v=a(75551),x=a(90423),b=a(2439);let k=(0,b.createServerReference)("4012fa56a1193a99b64661a3101dd9b3271bdffb6e",b.callServer,void 0,b.findSourceMapURL,"deleteLlmKeyAction"),A=(0,b.createServerReference)("6051962a0e651ef7bc794e1c98f36302f8b0fd7f4d",b.callServer,void 0,b.findSourceMapURL,"setLlmKeyActiveAction");var y=a(64119);function j({row:e,onEdit:t,onDeleted:a}){let i=(0,l.useRouter)(),[s,o]=(0,n.useTransition)(),[c,d]=(0,n.useState)(!1),[m,u]=(0,n.useTransition)(),{bg:b,fg:w,initials:N}=function(e){switch(e){case"anthropic":return{bg:"#c96442",fg:"#fff",initials:"AN"};case"openai":return{bg:"#0fa47c",fg:"#fff",initials:"OA"};case"openai-compatible":return{bg:"#7c5cbf",fg:"#fff",initials:"LC"};case"ollama":return{bg:"#3b5a8a",fg:"#fff",initials:"OL"};case"openrouter":return{bg:"#b5455a",fg:"#fff",initials:"OR"};case"google":return{bg:"#1a73c8",fg:"#fff",initials:"GG"};case"mistral":return{bg:"#c47a1a",fg:"#fff",initials:"MI"};case"groq":return{bg:"#a33b50",fg:"#fff",initials:"GQ"};default:return{bg:"#4a4a50",fg:"#fff",initials:e.slice(0,2).toUpperCase()}}}(e.provider);return(0,r.jsxs)("div",{className:"flex flex-col gap-3 rounded-2xl border border-rule-2 bg-paper p-[18px]",children:[(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsx)("div",{className:"flex h-[42px] w-[42px] shrink-0 items-center justify-center rounded-xl font-mono text-legacy-14 font-semibold tracking-[0.04em]",style:{background:b,color:w},children:N}),(0,r.jsx)("div",{className:"min-w-0 flex-1",children:(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("span",{className:"text-title-16 leading-[1.2]! tracking-[-0.005em] text-ink",children:e.nickname??(0,y.R)(e.provider)}),e.nickname&&(0,r.jsx)("span",{className:"text-mono-11 uppercase tracking-[0.06em] text-ink-4",children:(0,y.R)(e.provider)})]})}),(0,r.jsx)(x.A,{checked:e.isActive,onChange:function(){u(async()=>{let t=await A(e.id,!e.isActive);t.ok?i.refresh():p.oR.error(t.message)})},disabled:m||s,ariaLabel:e.isActive?"Deactivate provider":"Activate provider"})]}),(0,r.jsxs)("div",{className:"flex flex-col gap-1",children:[e.baseUrl&&(0,r.jsx)("div",{className:"flex items-center gap-2 rounded-lg bg-canvas px-[10px] py-[7px]",children:(0,r.jsx)("code",{className:"flex-1 truncate text-mono-13 leading-none! text-ink",children:e.baseUrl})}),(0,r.jsx)("div",{className:"flex items-center gap-2 rounded-lg bg-canvas px-[10px] py-[7px]",children:e.hasApiKey?(0,r.jsxs)("code",{className:"text-mono-13 leading-none! tracking-widest text-ink-3",children:["••••••••",e.apiKeyLast4??""]}):(0,r.jsx)("span",{className:"text-body-13 leading-none! text-warn",children:"No API key"})})]}),(0,r.jsxs)("div",{className:"flex items-center justify-between border-t border-rule-2 pt-[10px]",children:[(0,r.jsx)(M,{count:e.agentCount,keyId:e.id}),(0,r.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,r.jsx)(v.A,{square:!0,icon:(0,r.jsx)(h.I,{size:16}),title:"Edit",onClick:t}),(0,r.jsx)(v.A,{square:!0,icon:(0,r.jsx)(g.l,{size:16}),title:"Delete",tone:"danger",onClick:()=>d(!0),disabled:s})]})]}),(0,r.jsx)(f.A,{open:c,title:"Remove LLM provider?",message:`"${e.nickname??(0,y.R)(e.provider)}" will be removed. Agents using it will fall back to the default env-configured provider until reassigned.`,confirmLabel:"Remove",onConfirm:function(){d(!1),o(async()=>{let t=await k(e.id);t.ok?(p.oR.success("LLM provider removed"),a()):p.oR.error(t.message)})},onCancel:()=>d(!1)})]})}function M({count:e,keyId:t}){return 0===e?(0,r.jsx)("span",{className:"font-sans text-body-13 leading-none! text-ink-3",children:"Not in use"}):(0,r.jsxs)(u(),{href:`/agents?llmKeyId=${t}`,className:"font-sans text-body-13 leading-none! text-ink-3 transition-colors hover:text-ink",title:`${e} agent${1===e?"":"s"} use this key`,children:[(0,r.jsx)("span",{className:"font-mono tabular-nums",children:e})," agent",1===e?"":"s"," using"]})}var w=a(68918),N=a(65595),Z=a(42641),E=a(9594),L=a(5079),H=a(7576);let V={anthropic:"https://api.anthropic.com/v1",openai:"https://api.openai.com/v1","openai-compatible":"http://localhost:1234/v1",ollama:"http://localhost:11434",openrouter:"https://openrouter.ai/api/v1",google:"https://generativelanguage.googleapis.com/v1beta",mistral:"https://api.mistral.ai/v1",groq:"https://api.groq.com/openai/v1",deepseek:"https://api.deepseek.com/v1",minimax:"https://api.minimax.io/anthropic",moonshot:"https://api.moonshot.ai/v1"},R=["anthropic","openai","openai-compatible","ollama","openrouter","google","mistral","groq","deepseek","minimax","moonshot"],S="block text-mono-11 uppercase tracking-[0.12em] text-ink-4 mb-1.5";function C(e){let t="edit"===e.mode,a=t?e.initial:null,l=a?.provider??"anthropic",i="create"===e.mode?R.filter(t=>!e.configuredProviders.includes(t)):R,s="create"===e.mode?i[0]??"anthropic":l,[c,d]=(0,n.useState)(s),[m,u]=(0,n.useState)(a?.baseUrl??""),[h,g]=(0,n.useState)(a?.contextWindow!=null?String(a.contextWindow):""),[f,x]=(0,n.useState)(""),[b,k]=(0,n.useState)(a?.isActive??!0),[A,j]=(0,n.useState)({state:"idle"}),[M,C]=(0,n.useTransition)(),[F,$]=(0,n.useState)(!1),P=t&&0===f.length,I=t&&a?.apiKeyLast4!=null&&!F&&0===f.length;function K(){"idle"!==A.state&&j({state:"idle"})}async function U(){j({state:"testing"});let e=t&&0===f.length&&a?.id,r=await (0,w.f)({provider:c,baseUrl:m||void 0,apiKey:f||void 0,...e?{keyId:a.id}:{}});r.ok?j({state:"pass",message:r.data.message}):j({state:"fail",message:r.message})}let q=V[c]||"https://...";return(0,r.jsxs)("form",{onSubmit:function(r){(r.preventDefault(),"pass"===A.state||P)?C(async()=>{let r=h.trim(),n=r.length>0?Number(r):void 0;if(t&&a){let t=await (0,N.Q)({id:a.id,provider:c,baseUrl:m||void 0,apiKey:f||void 0,contextWindow:n,isActive:b});if(!t.ok)return void p.oR.error(t.message);p.oR.success("LLM provider updated"),e.onDone("saved")}else{let t=await (0,Z.L)({provider:c,baseUrl:m||void 0,apiKey:f||void 0,contextWindow:n,isActive:b});if(!t.ok)return void p.oR.error(t.message);p.oR.success("LLM provider added"),e.onDone("saved")}}):p.oR.error("Test the connection before saving")},className:"space-y-4 rounded-2xl border border-rule-2 bg-paper p-5",children:[(0,r.jsx)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:S,htmlFor:"llm-provider",children:"Provider"}),t?(0,r.jsx)("div",{className:"w-full rounded-lg border border-rule bg-canvas px-3 py-2 text-body-14 text-ink placeholder-ink-4 transition-colors focus:border-ink-3 focus:outline-none cursor-not-allowed bg-hover text-ink-3",children:(0,y.R)(c)}):0===i.length?(0,r.jsx)("p",{className:"text-body-13 text-warn",children:"All providers already configured. Edit an existing key instead."}):(0,r.jsx)(L.A,{id:"llm-provider",value:c,onChange:e=>{var t;d(t=e.target.value),!m&&V[t]&&u(V[t]),K()},children:i.map(e=>(0,r.jsx)("option",{value:e,children:(0,y.R)(e)},e))})]})}),(0,r.jsxs)("div",{children:[(0,r.jsxs)("label",{className:S,htmlFor:"llm-base-url",children:["Base URL","openai-compatible"===c||"ollama"===c?(0,r.jsx)("span",{className:"ml-2 normal-case font-sans text-body-12 tracking-normal text-warn",children:"required"}):(0,r.jsx)("span",{className:"ml-2 normal-case font-sans text-body-12 tracking-normal text-ink-4",children:"optional"})]}),(0,r.jsx)(E.A,{id:"llm-base-url",type:"text",required:"openai-compatible"===c||"ollama"===c,value:m,onChange:e=>{u(e.target.value),K()},placeholder:q||"leave blank to use the provider default",className:"font-mono"})]}),("openai-compatible"===c||"ollama"===c)&&(0,r.jsxs)("div",{children:[(0,r.jsxs)("label",{className:S,htmlFor:"llm-context-window",children:["Context window",(0,r.jsx)("span",{className:"ml-2 normal-case font-sans text-body-12 tracking-normal text-ink-4",children:"optional"})]}),(0,r.jsx)(E.A,{id:"llm-context-window",type:"number",min:1,step:1,value:h,onChange:e=>g(e.target.value),placeholder:"auto-detected — e.g. 8192",className:"font-mono"}),(0,r.jsx)("p",{className:"mt-1.5 text-body-12 text-ink-4",children:"The model’s maximum context in tokens. Leave blank to auto-detect it from the endpoint (LM Studio); set it by hand if detection fails. Used to compact long conversations before the model overflows."})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:S,htmlFor:"llm-api-key",children:"API key"}),I?(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsxs)("div",{className:"flex-1 rounded-lg border border-rule bg-canvas px-3 py-2 font-mono text-legacy-14 tracking-widest text-ink-3 select-none",children:["••••••••",a.apiKeyLast4]}),(0,r.jsx)(v.A,{onClick:()=>{$(!0),K()},children:"Replace"})]}):(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(E.A,{id:"llm-api-key",type:"password",autoComplete:"new-password",value:f,onChange:e=>{x(e.target.value),K()},placeholder:t&&!F?"Leave blank to keep current":"",containerClassName:"flex-1",className:"font-mono"}),t&&F&&(0,r.jsx)(v.A,{onClick:()=>{$(!1),x(""),K()},children:"Cancel"})]})]}),(0,r.jsx)(H.A,{tone:"connector",checked:b,onChange:e=>k(e.target.checked),label:"Active — agents may select this provider"}),"pass"===A.state&&(0,r.jsx)("div",{"data-testid":"llm-test-result","data-state":"pass",className:"rounded-md border border-ok/30 bg-ok-bg px-3 py-2 text-body-13 text-ok",children:A.message}),"fail"===A.state&&(0,r.jsx)("div",{"data-testid":"llm-test-result","data-state":"fail",className:"rounded-md border border-err/30 bg-warn-bg px-3 py-2 text-body-13 text-err break-all",children:A.message}),(0,r.jsxs)("div",{className:"flex items-center gap-2 pt-1",children:[(0,r.jsx)(o.A,{variant:"neutral",type:"button",onClick:U,disabled:"testing"===A.state||M,children:"testing"===A.state?"Testing…":"Test connection"}),(0,r.jsx)(o.A,{variant:"ink",type:"submit",disabled:M||"testing"===A.state||"pass"!==A.state&&!P,title:"pass"===A.state||P?void 0:"Test the connection before saving",children:M?"Saving…":t?"Save changes":"Add provider"}),(0,r.jsx)(o.A,{variant:"neutral",type:"button",onClick:()=>e.onDone("cancelled"),children:"Cancel"})]})]})}function F({initialRows:e}){let t=(0,l.useRouter)(),[,a]=(0,n.useTransition)(),[m,u]=(0,n.useState)({kind:"closed"}),p=e.map(e=>e.provider);function h(){a(()=>{t.refresh()})}return(0,r.jsx)(i.A,{title:"LLM Providers",subtitle:"API keys for your model providers.",toolbar:(0,r.jsx)(s.A,{cta:(0,r.jsx)(o.A,{variant:"neutral",onClick:()=>u({kind:"create"}),disabled:"create"===m.kind,children:"+ New provider"})}),children:(0,r.jsxs)("div",{className:"space-y-3",children:[0===e.length?(0,r.jsx)(c.A,{title:"No LLM providers yet. Add one with the “New provider” button above."}):(0,r.jsx)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3",children:e.map(e=>(0,r.jsx)(j,{row:e,onEdit:()=>u({kind:"edit",row:e}),onDeleted:h},e.id))}),"create"===m.kind&&(0,r.jsx)(C,{mode:"create",configuredProviders:p,onDone:e=>{u({kind:"closed"}),"saved"===e&&h()}}),(0,r.jsx)(d.A,{open:"edit"===m.kind,onClose:()=>u({kind:"closed"}),title:"Edit LLM provider",dismissable:!1,children:"edit"===m.kind&&(0,r.jsx)(C,{mode:"edit",initial:m.row,onDone:e=>{u({kind:"closed"}),"saved"===e&&h()}})})]})})}},63428:(e,t,a)=>{"use strict";a.d(t,{a:()=>s});var r=a(80351),n=a(16763),l=a(91692);let i=r.forwardRef((e,t)=>r.createElement(n.A,{ref:t,...e,weights:l.A}));i.displayName="CaretDownIcon";let s=i},64119:(e,t,a)=>{"use strict";function r(e){switch(e){case"openai-compatible":return"Local LLM";case"anthropic":return"Anthropic";case"openai":return"OpenAI";case"ollama":return"Ollama";case"openrouter":return"OpenRouter";case"google":return"Google";case"mistral":return"Mistral";case"groq":return"Groq";case"deepseek":return"DeepSeek";case"minimax":return"MiniMax";case"moonshot":return"Moonshot (Kimi)";default:return e}}a.d(t,{R:()=>r})},65595:(e,t,a)=>{"use strict";a.d(t,{Q:()=>n});var r=a(2439);let n=(0,r.createServerReference)("40accefc83fcc6e6c59e407b6d2d60eeefc51f6f0b",r.callServer,void 0,r.findSourceMapURL,"updateLlmKeyAction")},68918:(e,t,a)=>{"use strict";a.d(t,{f:()=>n});var r=a(2439);let n=(0,r.createServerReference)("4080365831f169ef98e7ac17f212a539bdbd283897",r.callServer,void 0,r.findSourceMapURL,"testLlmKeyAction")},72389:(e,t,a)=>{Promise.resolve().then(a.bind(a,46184)),Promise.resolve().then(a.bind(a,2193)),Promise.resolve().then(a.bind(a,68534)),Promise.resolve().then(a.bind(a,81098))},73573:(e,t,a)=>{"use strict";var r=a(51441);a.o(r,"usePathname")&&a.d(t,{usePathname:function(){return r.usePathname}}),a.o(r,"useRouter")&&a.d(t,{useRouter:function(){return r.useRouter}}),a.o(r,"useSearchParams")&&a.d(t,{useSearchParams:function(){return r.useSearchParams}})},78750:(e,t,a)=>{"use strict";a.d(t,{I:()=>s});var r=a(80351),n=a(3674),l=a(27078);let i=r.forwardRef((e,t)=>r.createElement(n.A,{ref:t,...e,weights:l.A}));i.displayName="PencilSimpleIcon";let s=i},78936:(e,t,a)=>{"use strict";a.d(t,{e:()=>s});var r=a(80351),n=a(3674);let l=new Map([["bold",r.createElement(r.Fragment,null,r.createElement("path",{d:"M232.49,215.51,185,168a92.12,92.12,0,1,0-17,17l47.53,47.54a12,12,0,0,0,17-17ZM44,112a68,68,0,1,1,68,68A68.07,68.07,0,0,1,44,112Z"}))],["duotone",r.createElement(r.Fragment,null,r.createElement("path",{d:"M192,112a80,80,0,1,1-80-80A80,80,0,0,1,192,112Z",opacity:"0.2"}),r.createElement("path",{d:"M229.66,218.34,179.6,168.28a88.21,88.21,0,1,0-11.32,11.31l50.06,50.07a8,8,0,0,0,11.32-11.32ZM40,112a72,72,0,1,1,72,72A72.08,72.08,0,0,1,40,112Z"}))],["fill",r.createElement(r.Fragment,null,r.createElement("path",{d:"M168,112a56,56,0,1,1-56-56A56,56,0,0,1,168,112Zm61.66,117.66a8,8,0,0,1-11.32,0l-50.06-50.07a88,88,0,1,1,11.32-11.31l50.06,50.06A8,8,0,0,1,229.66,229.66ZM112,184a72,72,0,1,0-72-72A72.08,72.08,0,0,0,112,184Z"}))],["light",r.createElement(r.Fragment,null,r.createElement("path",{d:"M228.24,219.76l-51.38-51.38a86.15,86.15,0,1,0-8.48,8.48l51.38,51.38a6,6,0,0,0,8.48-8.48ZM38,112a74,74,0,1,1,74,74A74.09,74.09,0,0,1,38,112Z"}))],["regular",r.createElement(r.Fragment,null,r.createElement("path",{d:"M229.66,218.34l-50.07-50.06a88.11,88.11,0,1,0-11.31,11.31l50.06,50.07a8,8,0,0,0,11.32-11.32ZM40,112a72,72,0,1,1,72,72A72.08,72.08,0,0,1,40,112Z"}))],["thin",r.createElement(r.Fragment,null,r.createElement("path",{d:"M226.83,221.17l-52.7-52.7a84.1,84.1,0,1,0-5.66,5.66l52.7,52.7a4,4,0,0,0,5.66-5.66ZM36,112a76,76,0,1,1,76,76A76.08,76.08,0,0,1,36,112Z"}))]]),i=r.forwardRef((e,t)=>r.createElement(n.A,{ref:t,...e,weights:l}));i.displayName="MagnifyingGlassIcon";let s=i},90368:(e,t,a)=>{"use strict";a.d(t,{l:()=>s});var r=a(80351),n=a(3674);let l=new Map([["bold",r.createElement(r.Fragment,null,r.createElement("path",{d:"M216,48H180V36A28,28,0,0,0,152,8H104A28,28,0,0,0,76,36V48H40a12,12,0,0,0,0,24h4V208a20,20,0,0,0,20,20H192a20,20,0,0,0,20-20V72h4a12,12,0,0,0,0-24ZM100,36a4,4,0,0,1,4-4h48a4,4,0,0,1,4,4V48H100Zm88,168H68V72H188ZM116,104v64a12,12,0,0,1-24,0V104a12,12,0,0,1,24,0Zm48,0v64a12,12,0,0,1-24,0V104a12,12,0,0,1,24,0Z"}))],["duotone",r.createElement(r.Fragment,null,r.createElement("path",{d:"M200,56V208a8,8,0,0,1-8,8H64a8,8,0,0,1-8-8V56Z",opacity:"0.2"}),r.createElement("path",{d:"M216,48H176V40a24,24,0,0,0-24-24H104A24,24,0,0,0,80,40v8H40a8,8,0,0,0,0,16h8V208a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V64h8a8,8,0,0,0,0-16ZM96,40a8,8,0,0,1,8-8h48a8,8,0,0,1,8,8v8H96Zm96,168H64V64H192ZM112,104v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Zm48,0v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Z"}))],["fill",r.createElement(r.Fragment,null,r.createElement("path",{d:"M216,48H176V40a24,24,0,0,0-24-24H104A24,24,0,0,0,80,40v8H40a8,8,0,0,0,0,16h8V208a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V64h8a8,8,0,0,0,0-16ZM112,168a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Zm48,0a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Zm0-120H96V40a8,8,0,0,1,8-8h48a8,8,0,0,1,8,8Z"}))],["light",r.createElement(r.Fragment,null,r.createElement("path",{d:"M216,50H174V40a22,22,0,0,0-22-22H104A22,22,0,0,0,82,40V50H40a6,6,0,0,0,0,12H50V208a14,14,0,0,0,14,14H192a14,14,0,0,0,14-14V62h10a6,6,0,0,0,0-12ZM94,40a10,10,0,0,1,10-10h48a10,10,0,0,1,10,10V50H94ZM194,208a2,2,0,0,1-2,2H64a2,2,0,0,1-2-2V62H194ZM110,104v64a6,6,0,0,1-12,0V104a6,6,0,0,1,12,0Zm48,0v64a6,6,0,0,1-12,0V104a6,6,0,0,1,12,0Z"}))],["regular",r.createElement(r.Fragment,null,r.createElement("path",{d:"M216,48H176V40a24,24,0,0,0-24-24H104A24,24,0,0,0,80,40v8H40a8,8,0,0,0,0,16h8V208a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V64h8a8,8,0,0,0,0-16ZM96,40a8,8,0,0,1,8-8h48a8,8,0,0,1,8,8v8H96Zm96,168H64V64H192ZM112,104v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Zm48,0v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Z"}))],["thin",r.createElement(r.Fragment,null,r.createElement("path",{d:"M216,52H172V40a20,20,0,0,0-20-20H104A20,20,0,0,0,84,40V52H40a4,4,0,0,0,0,8H52V208a12,12,0,0,0,12,12H192a12,12,0,0,0,12-12V60h12a4,4,0,0,0,0-8ZM92,40a12,12,0,0,1,12-12h48a12,12,0,0,1,12,12V52H92ZM196,208a4,4,0,0,1-4,4H64a4,4,0,0,1-4-4V60H196ZM108,104v64a4,4,0,0,1-8,0V104a4,4,0,0,1,8,0Zm48,0v64a4,4,0,0,1-8,0V104a4,4,0,0,1,8,0Z"}))]]),i=r.forwardRef((e,t)=>r.createElement(n.A,{ref:t,...e,weights:l}));i.displayName="TrashIcon";let s=i},90423:(e,t,a)=>{"use strict";a.d(t,{A:()=>i});var r=a(48503);let n={sm:"h-5 w-9",md:"h-[22px] w-[38px]"},l={sm:"h-3.5 w-3.5",md:"h-4 w-4"};function i({checked:e,onChange:t,disabled:a,size:s="md",ariaLabel:o,ariaLabelledBy:c,ariaDescribedBy:d,readOnly:m=!1}){let u=`relative inline-flex shrink-0 items-center rounded-full ${n[s]} ${e?"bg-ok":"bg-ink-4"}`,p=(0,r.jsx)("span",{className:`pointer-events-none inline-block rounded-full bg-paper ${m?"":"transition-transform duration-200"} ${l[s]} ${e?"translate-x-[19px]":"translate-x-[3px]"}`});return m?(0,r.jsx)("span",{role:"img","aria-label":o??(e?"On":"Off"),"data-state":e?"on":"off",className:`${u} ${a?"opacity-50":""}`,children:p}):(0,r.jsx)("button",{type:"button",role:"switch","aria-checked":e,"aria-label":o,"aria-labelledby":c,"aria-describedby":d,disabled:a,onClick:t,className:`${u} cursor-pointer transition-colors duration-200 focus-visible:outline-none focus-visible:ring-[3px] focus-visible:ring-conn-vivid/50 disabled:cursor-not-allowed disabled:opacity-50`,children:p})}},91692:(e,t,a)=>{"use strict";a.d(t,{A:()=>n});var r=a(80351);let n=new Map([["bold",r.createElement(r.Fragment,null,r.createElement("path",{d:"M216.49,104.49l-80,80a12,12,0,0,1-17,0l-80-80a12,12,0,0,1,17-17L128,159l71.51-71.52a12,12,0,0,1,17,17Z"}))],["duotone",r.createElement(r.Fragment,null,r.createElement("path",{d:"M208,96l-80,80L48,96Z",opacity:"0.2"}),r.createElement("path",{d:"M215.39,92.94A8,8,0,0,0,208,88H48a8,8,0,0,0-5.66,13.66l80,80a8,8,0,0,0,11.32,0l80-80A8,8,0,0,0,215.39,92.94ZM128,164.69,67.31,104H188.69Z"}))],["fill",r.createElement(r.Fragment,null,r.createElement("path",{d:"M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,48,88H208a8,8,0,0,1,5.66,13.66Z"}))],["light",r.createElement(r.Fragment,null,r.createElement("path",{d:"M212.24,100.24l-80,80a6,6,0,0,1-8.48,0l-80-80a6,6,0,0,1,8.48-8.48L128,167.51l75.76-75.75a6,6,0,0,1,8.48,8.48Z"}))],["regular",r.createElement(r.Fragment,null,r.createElement("path",{d:"M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,90.34L128,164.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z"}))],["thin",r.createElement(r.Fragment,null,r.createElement("path",{d:"M210.83,98.83l-80,80a4,4,0,0,1-5.66,0l-80-80a4,4,0,0,1,5.66-5.66L128,170.34l77.17-77.17a4,4,0,1,1,5.66,5.66Z"}))]])}},e=>{e.O(0,[2208,3969,5034,341,4811,9706,7358],()=>e(e.s=72389)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6996],{5079:(e,t,s)=>{"use strict";s.d(t,{A:()=>i});var a=s(48503),n=s(80351),l=s(63428),r=s(5829);let i=(0,n.forwardRef)(function({label:e,error:t,id:s,className:i="",containerClassName:d="",children:o,...c},u){let x=(0,n.useId)(),m=s??x,h=(0,n.useRef)(null);return(0,n.useImperativeHandle)(u,()=>h.current,[]),(0,n.useEffect)(()=>{h.current&&function(e){if(CSS.supports("appearance","base-select"))for(let t of e.querySelectorAll("optgroup")){let e=t.getAttribute("label")??"",s=t.querySelector(":scope > legend");if(!s){if(e){let s=document.createElement("legend");s.textContent=e,t.prepend(s)}continue}s.textContent!==e&&(s.textContent=e),t.firstElementChild!==s&&t.prepend(s)}}(h.current)}),(0,a.jsxs)("div",{className:d,children:[e&&(0,a.jsx)(r.A,{htmlFor:m,children:e}),(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsx)("select",{id:m,ref:h,"aria-invalid":!!t||void 0,className:`peer h-8.5 w-full rounded-md border bg-hover py-1.5 pr-8 pl-3 text-body-14 leading-5! text-ink transition-colors required:invalid:text-ink-4 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50 ${t?"border-err focus:border-err":"border-rule focus:border-ink-3"} ${i}`,...c,children:o}),(0,a.jsx)(l.a,{size:16,"aria-hidden":!0,className:"pointer-events-none absolute top-4.25 right-2 -translate-y-1/2 text-ink-3 peer-disabled:opacity-50"})]}),t&&(0,a.jsx)("p",{className:"mt-1 text-xs text-err",children:t})]})})},7576:(e,t,s)=>{"use strict";s.d(t,{A:()=>r});var a=s(48503),n=s(80351);let l={ink:"accent-ink",agent:"accent-agent-vivid",skill:"accent-skill-vivid",connector:"accent-conn-vivid"};function r({label:e,tone:t="ink",id:s,className:i="",containerClassName:d="",...o}){let c=(0,n.useId)(),u=s??c,x=(0,a.jsx)("input",{id:u,type:"checkbox",className:`h-4 w-4 shrink-0 cursor-pointer rounded border-rule disabled:cursor-not-allowed disabled:opacity-50 ${l[t]} ${i}`,...o});return e?(0,a.jsxs)("label",{htmlFor:u,className:`flex cursor-pointer items-center gap-2 text-sm text-ink ${d}`,children:[x,e]}):(0,a.jsx)("div",{className:d,children:x})}},10227:(e,t,s)=>{"use strict";s.d(t,{E6:()=>n,Os:()=>l});var a=s(13316);let n={telegram:"Telegram",slack:"Slack",discord:"Discord",whatsapp:"WhatsApp",mcp:"MCP",api:"API",internal:"Agent","task-board":"Task board"};function l(e){return null===e||a.KvV.includes(e)}},16966:(e,t,s)=>{"use strict";s.d(t,{A:()=>l});var a=s(48503),n=s(80351);function l({tabs:e,value:t,defaultValue:s,onChange:r,variant:i="inset",fullWidth:d=!1,className:o=""}){let[c,u]=(0,n.useState)(t??s??e[0].value),x=t??c,m="inset"===i?"bg-paper text-ink shadow-[0_1px_2px_rgba(0,0,0,0.06)]":"bg-ink text-canvas";return(0,a.jsx)("div",{className:`${d?"flex":"inline-flex"} gap-0.5 rounded-md p-[3px] ${"inset"===i?"bg-black/[0.05]":"bg-black/[0.04]"} ${o}`,role:"tablist",children:e.map(e=>{let s=e.value===x;return(0,a.jsxs)("button",{type:"button",role:"tab","aria-selected":s,onClick:()=>{void 0===t&&u(e.value),r?.(e.value)},className:`inline-flex h-[26px] items-center justify-center gap-1.5 rounded-[6px] border-0 px-3 text-medium-12 leading-none! transition-colors ${d?"flex-1":""} ${s?m:"bg-transparent text-ink-3 hover:text-ink-2"}`,children:[e.label,void 0!==e.count&&(0,a.jsx)("span",{className:`text-mono-11 ${s?"opacity-85":"opacity-65"}`,children:e.count})]},e.value)})})}},17903:(e,t,s)=>{"use strict";s.d(t,{default:()=>y});var a=s(48503),n=s(18781),l=s(80351),r=s(22208),i=s.n(r),d=s(9618),o=s(2439);let c=(0,o.createServerReference)("400ea7773b889669ae36b7904ef6a0d0bd69a3263d",o.callServer,void 0,o.findSourceMapURL,"listRunCallsAction");var u=s(10227),x=s(4978),m=s(60128),h=s(25297),p=s(75551),b=s(45846),v=s(1678),f=s(85347),g=s(48572),j=s(23138);function k({call:e}){let t=null!==e.error&&""!==e.error,s=null===e.inputTokens&&null===e.outputTokens?null:`${(0,v._y)(e.inputTokens??0)} in / ${(0,v._y)(e.outputTokens??0)} out`;return(0,a.jsxs)("div",{className:"overflow-hidden rounded-md border border-rule-2 bg-canvas",children:[(0,a.jsxs)("div",{className:"flex h-[31px] items-center gap-2 px-3",children:[(0,a.jsx)(f.R,{size:14,className:"shrink-0 text-ink-3","aria-hidden":!0}),(0,a.jsx)("span",{className:"shrink-0 text-mono-12 text-ink",title:e.model,children:e.model}),(0,a.jsxs)("span",{className:"min-w-0 flex-1 truncate text-mono-12 text-ink-3",children:[null!==s&&s,null!==s&&null!==e.costUsd&&" \xb7 ",null!==e.costUsd&&(0,v.BD)(e.costUsd)]}),e.failover&&(0,a.jsx)(j.s,{tone:"warn",children:"failover"}),(0,a.jsx)("span",{className:`ml-auto h-1.5 w-1.5 shrink-0 rounded-full ${t?"bg-err":"bg-ok"}`,"aria-hidden":!0}),null!==e.durationMs&&(0,a.jsx)("span",{className:"shrink-0 text-mono-12 text-ink-4",children:(0,v._V)(e.durationMs)})]}),t&&(0,a.jsxs)("div",{className:"flex h-[31px] items-center gap-2 border-t border-rule-2 px-3",children:[(0,a.jsx)(g.L,{size:12,className:"shrink-0 text-ink-4","aria-hidden":!0}),(0,a.jsx)("span",{className:"min-w-0 flex-1 truncate text-mono-12 text-err",children:e.error})]})]})}function N(e){return e<3e5?3e3:3e4}function w({run:e,columns:t,defaultExpanded:s=!1}){var r,o;let[f,g]=(0,l.useState)(s),[j,y]=(0,l.useState)([]),[S,A]=(0,l.useState)(!1),[T,C]=(0,l.useState)(null),[$,R]=(0,l.useState)(!1),[P,U]=(0,l.useState)(null),[M,_]=(0,l.useState)(!1),F=(0,l.useRef)(0),L=(0,l.useCallback)(async t=>{R(!0);let s=await c({jobId:e.id,page:t,pageSize:50});(R(!1),s.ok)?(U(null),A(s.data.hasMore),C(s.data.total),y(e=>{let a=e.slice(0,t-1);return a[t-1]=s.data.items,F.current=a.length,a})):U(s.message)},[e.id]);(0,l.useEffect)(()=>{f&&!(F.current>0)&&L(1)},[f,L]),(0,l.useEffect)(()=>{let t;if(!f||!(0,u.Os)(e.status)||M)return;let s=Date.now(),a=()=>{Date.now()-s>=18e5?_(!0):(("u"<typeof document||"hidden"!==document.visibilityState)&&L(Math.max(1,F.current)),t=setTimeout(a,N(Date.now()-s)))};return t=setTimeout(a,N(0)),()=>clearTimeout(t)},[f,e.status,M,L]);let E=j.flat(),B=T??e.callCount;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(n.Tr,{interactive:!0,hover:!f,className:f?"bg-hover":"",onClick:()=>g(e=>!e),"aria-expanded":f,"data-testid":`run-row-${e.id}`,children:[(0,a.jsx)(n.Td,{top:!0,className:"w-8",children:(0,a.jsx)(d.K,{size:12,className:`text-ink-4 transition-transform ${f?"rotate-90":""}`,"aria-hidden":!0})}),(0,a.jsx)(n.Td,{top:!0,"data-testid":"run-agent",children:(0,a.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,a.jsx)(h.A,{name:e.agentName??"Unknown",imageUrl:e.agentAvatarUrl,size:"md",shape:"round"}),(0,a.jsx)("span",{className:"truncate text-medium-14 text-ink",children:e.agentName??"Unknown"})]})}),(0,a.jsxs)(n.Td,{top:!0,className:"hidden md:table-cell","data-testid":"run-origin",children:[(0,a.jsx)("span",{className:"text-body-13 text-ink-2",children:e.origin.label}),null!==e.origin.detail&&(0,a.jsx)("div",{className:"truncate text-mono-11 text-ink-4",children:e.origin.detail})]}),(0,a.jsx)(n.Td,{top:!0,className:"max-w-[320px]","data-testid":"run-task",children:(0,a.jsx)("span",{className:"line-clamp-1 text-body-14 text-ink-2",title:e.task,children:(0,x.xv)(e.task,72)})}),(0,a.jsx)(n.Td,{top:!0,"data-testid":"run-status",children:(0,a.jsx)(m.A,{variant:"completed"===(r=e.status)?"done":"failed"===r||"cancelled"===r?"warn":(0,u.Os)(r)?"run":"idle",label:null===(o=e.status)?"Pending":({pending:"Pending",processing:"Running",completed:"Done",failed:"Failed",awaiting_approval:"Awaiting",awaiting_delegation:"Awaiting",cancelled:"Cancelled"})[o]??o})}),(0,a.jsx)(n.Td,{top:!0,className:"hidden font-mono text-xs text-ink-3 lg:table-cell","data-testid":"run-duration",children:null===e.durationMs||0===e.durationMs&&(0,u.Os)(e.status)?"n/a":(0,v._V)(e.durationMs)}),(0,a.jsx)(n.Td,{top:!0,className:"hidden font-mono text-xs text-ink-3 lg:table-cell","data-testid":"run-cost",children:(0,v.BD)(e.costUsd)}),(0,a.jsxs)(n.Td,{top:!0,align:"right",className:"font-mono text-xs text-ink-3","data-testid":"run-calls",children:[B," ",1===B?"call":"calls"]})]}),f&&(0,a.jsx)(n.Tr,{hover:!1,className:"bg-canvas","data-testid":`run-calls-${e.id}`,children:(0,a.jsxs)(n.Td,{colSpan:t,className:"py-4",children:[(0,a.jsxs)("div",{className:"mb-3 flex items-center justify-between",children:[(0,a.jsx)("span",{className:"text-legacy-10 uppercase tracking-wider text-ink-3",children:"Calls"}),(0,a.jsx)(i(),{href:`/jobs/${e.id}`,className:"text-medium-13 text-ink-3 transition-colors hover:text-ink",children:"Open run"})]}),null!==P&&(0,a.jsx)("div",{className:"rounded-md border border-err/25 bg-paper px-3 py-2 text-mono-12 text-err",children:P}),null===P&&0===E.length&&!$&&(0,a.jsx)("div",{className:"text-body-13 text-ink-4",children:"No call recorded for this run."}),$&&0===E.length&&(0,a.jsx)("div",{className:"text-body-13 text-ink-4",children:"Loading calls…"}),(0,a.jsx)("div",{className:"space-y-1.5",children:E.map(e=>"tool"===e.kind?(0,a.jsx)(b.default,{step:e.step},e.id):(0,a.jsx)(k,{call:e},e.id))}),M&&(0,u.Os)(e.status)&&(0,a.jsx)("div",{className:"mt-3 text-body-13 text-ink-4","data-testid":"run-follow-stopped",children:"Stopped following, reload to resume."}),S&&(0,a.jsx)("div",{className:"mt-3",children:(0,a.jsxs)(p.A,{onClick:()=>void L(F.current+1),disabled:$,children:["Show ",50," more"]})})]})})]})}function y({runs:e,expandedRunId:t=null}){return(0,a.jsxs)(n.Ay,{children:[(0,a.jsxs)(n.D1,{children:[(0,a.jsx)(n.Th,{}),(0,a.jsx)(n.Th,{children:"Agent"}),(0,a.jsx)(n.Th,{className:"hidden md:table-cell",children:"From"}),(0,a.jsx)(n.Th,{children:"Task"}),(0,a.jsx)(n.Th,{children:"Status"}),(0,a.jsx)(n.Th,{className:"hidden lg:table-cell",children:"Duration"}),(0,a.jsx)(n.Th,{className:"hidden lg:table-cell",children:"Cost"}),(0,a.jsx)(n.Th,{align:"right",children:"Calls"})]}),(0,a.jsx)("tbody",{children:e.map(e=>(0,a.jsx)(w,{run:e,columns:8,defaultExpanded:e.id===t},e.id))})]})}},20986:(e,t,s)=>{"use strict";s.d(t,{default:()=>p});var a=s(48503),n=s(80351),l=s(73573),r=s(68926),i=s(68007),d=s(2439);let o=(0,d.createServerReference)("40716ec708bf1e496747ebbb6a4be908ff9ff8d0ff",d.callServer,void 0,d.findSourceMapURL,"sendTaskAction");var c=s(12871),u=s(45070),x=s(76381),m=s(5079),h=s(7576);function p({agents:e}){let[t,s]=(0,n.useState)(!1),[d,b]=(0,n.useTransition)(),[v,f]=(0,n.useState)(""),g=(0,l.useRouter)(),j=e.find(e=>e.id===v);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(c.A,{variant:"neutral",onClick:()=>s(!0),children:[(0,a.jsx)(i.F,{size:13,weight:"bold"}),"New task"]}),(0,a.jsx)(u.A,{open:t,onClose:()=>s(!1),title:"New task",dismissable:!1,children:(0,a.jsxs)("form",{onSubmit:function(e){e.preventDefault();let t=Object.fromEntries(new FormData(e.currentTarget));b(async()=>{let e=await o(t);e.ok?(r.oR.success("Task sent, job created"),s(!1),g.push(`/jobs/${e.data.jobId}`)):r.oR.error(e.message)})},className:"space-y-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"mb-1 block text-xs text-ink-3",htmlFor:"task-prompt",children:"Task description"}),(0,a.jsx)(x.A,{id:"task-prompt",name:"prompt",required:!0,rows:6,placeholder:"Summarise the last 10 emails from my inbox…",className:"min-h-[80px] rounded-lg"})]}),(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"mb-1 block text-xs text-ink-3",htmlFor:"task-agent",children:"Assign to"}),(0,a.jsxs)(m.A,{id:"task-agent",name:"agentId",required:!0,value:v,onChange:e=>f(e.target.value),className:"rounded-lg",children:[(0,a.jsx)("option",{value:"",disabled:!0,children:"Select agent"}),e.map(e=>(0,a.jsxs)("option",{value:e.id,children:[e.name," (",e.slug,")"]},e.id))]})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"mb-1 block text-xs text-ink-3",htmlFor:"task-priority",children:"Priority"}),(0,a.jsxs)(m.A,{id:"task-priority",name:"priority",defaultValue:"medium",className:"rounded-lg",children:[(0,a.jsx)("option",{value:"low",children:"Low"}),(0,a.jsx)("option",{value:"medium",children:"Medium"}),(0,a.jsx)("option",{value:"high",children:"High"})]})]})]}),j?.telegramBotToken&&(0,a.jsx)(h.A,{name:"sendViaTelegram",value:"true",label:"Send result via Telegram",className:"bg-hover"}),(0,a.jsxs)(u.j,{className:"-mx-6 -mb-6 mt-2 rounded-b-xl",children:[(0,a.jsx)(c.A,{variant:"neutral",type:"button",onClick:()=>s(!1),children:"Cancel"}),(0,a.jsx)(c.A,{variant:"ink",type:"submit",disabled:d,children:d?"Sending…":"New task"})]})]})})]})}},25297:(e,t,s)=>{"use strict";s.d(t,{A:()=>r});var a=s(48503),n=s(19176);let l={sm:{box:"h-6 w-6",text:"text-label-11",px:24},md:{box:"h-[30px] w-[30px]",text:"text-label-11",px:30},lg:{box:"h-[42px] w-[42px]",text:"text-title-15",px:42}};function r({name:e,imageUrl:t,size:s="md",shape:i="round",className:d=""}){let o=l[s],c=`inline-flex shrink-0 items-center justify-center overflow-hidden bg-hover font-mono font-semibold tracking-[0.04em] text-ink-2 ${o.box} ${o.text} ${"round"===i?"rounded-full":"rounded-[8px]"} ${d}`;return t?(0,a.jsx)("span",{className:c,children:(0,a.jsx)(n.default,{src:t,alt:e,width:o.px,height:o.px,className:"h-full w-full object-cover"})}):(0,a.jsx)("span",{className:c,children:function(e){let t=e.trim();if(!t)return"?";let s=t.split(/\s+/);return s.length>=2?((s[0][0]??"")+(s[1][0]??"")).toUpperCase():t.slice(0,2).toUpperCase()}(e)})}},76298:(e,t,s)=>{"use strict";s.d(t,{default:()=>i});var a=s(48503),n=s(73573),l=s(80351),r=s(5079);function i({agents:e,toolNames:t}){let s=(0,n.useRouter)(),d=(0,n.useSearchParams)(),[o,c]=(0,l.useTransition)(),u=d.get("agent")??"",x=d.get("tool")??"";function m(e){let t=new URLSearchParams(d.toString());for(let[s,a]of Object.entries(e))a?t.set(s,a):t.delete(s);t.delete("page"),c(()=>{s.replace(`/logs?${t.toString()}`)})}return(0,a.jsxs)("div",{className:"flex flex-wrap items-end gap-3 rounded-xl border border-rule-2 bg-paper px-4 py-3",children:[(0,a.jsxs)("div",{className:"min-w-[180px] flex-1",children:[(0,a.jsx)("label",{className:"mb-1 block text-legacy-11 uppercase tracking-wider text-ink-3",children:"Agent"}),(0,a.jsxs)(r.A,{value:u,onChange:e=>m({agent:e.target.value||null}),disabled:o,className:"bg-canvas",children:[(0,a.jsx)("option",{value:"",children:"All agents"}),e.map(e=>(0,a.jsx)("option",{value:e.id,children:e.name},e.id))]})]}),(0,a.jsxs)("div",{className:"min-w-[200px] flex-1",children:[(0,a.jsx)("label",{className:"mb-1 block text-legacy-11 uppercase tracking-wider text-ink-3",children:"Tool name"}),(0,a.jsxs)(r.A,{value:x,onChange:e=>m({tool:e.target.value||null}),disabled:o,className:"bg-canvas font-mono",children:[(0,a.jsx)("option",{value:"",children:"All tools"}),t.map(e=>(0,a.jsx)("option",{value:e,children:e},e))]})]})]})}},76381:(e,t,s)=>{"use strict";s.d(t,{A:()=>r});var a=s(48503),n=s(80351),l=s(5829);let r=(0,n.forwardRef)(function({label:e,error:t,showCount:s,id:r,className:i="",containerClassName:d="",maxLength:o,value:c,bare:u=!1,...x},m){let h=(0,n.useId)(),p=r??h;return(0,a.jsxs)("div",{className:d,children:[e&&(0,a.jsx)(l.A,{htmlFor:p,children:e}),(0,a.jsx)("textarea",{id:p,ref:m,maxLength:o,value:c,"aria-invalid":!!t||void 0,className:u?`w-full text-ink placeholder:text-ink-4 transition-colors focus:outline-none disabled:cursor-not-allowed disabled:opacity-50 ${i}`:`w-full resize-y rounded-md border bg-hover px-2 py-1.5 text-body-14 leading-[1.5]! text-ink placeholder:text-ink-4 transition-colors focus:outline-none disabled:cursor-not-allowed disabled:opacity-50 ${t?"border-err focus:border-err":"border-rule focus:border-ink-3"} ${i}`,...x}),s&&void 0!==o&&"string"==typeof c&&(0,a.jsxs)("div",{className:"mt-1 text-right text-legacy-11 text-ink-4",children:[c.length," / ",o]}),t&&(0,a.jsx)("p",{className:"mt-1 text-xs text-err",children:t})]})})},82801:(e,t,s)=>{"use strict";s.d(t,{default:()=>p});var a=s(48503),n=s(80351),l=s(68926),r=s(16966),i=s(12871),d=s(45678),o=s(23138),c=s(2439);let u=(0,c.createServerReference)("40bb9efa3cdb5f86e8394b9795faeb7512a6645b2a",c.callServer,void 0,c.findSourceMapURL,"readServiceLogTailAction"),x=(0,c.createServerReference)("405aa7d71345b523a8cba9251e7835c5c8f5945c96",c.callServer,void 0,c.findSourceMapURL,"clearServiceLogAction"),m=(0,c.createServerReference)("008b7266c0434d4c4650fd8c2df14ba819bdf4f13c",c.callServer,void 0,c.findSourceMapURL,"listServiceLogsAction");function h(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(0)} KB`:`${(e/1024/1024).toFixed(1)} MB`}function p({initial:e}){let[t,s]=(0,n.useState)(e),[c,b]=(0,n.useState)("runner"),[v,f]=(0,n.useState)("current"),[g,j]=(0,n.useState)(""),[k,N]=(0,n.useState)(0),[w,y]=(0,n.useState)(!1),[S,A]=(0,n.useState)(!0),[T,C]=(0,n.useState)(!1),[$,R]=(0,n.useState)(!1),P=(0,n.useRef)(null),U=(0,n.useRef)(!0),M=t.find(e=>e.service===c),_=M?.isOwner??!1,F=(M?.archiveBytes??null)!==null,L=(0,n.useCallback)(e=>{e.ok&&(j(e.data.tail),N(e.data.sizeBytes),y(e.data.truncated),A(e.data.exists))},[]);async function E(){R(!0);let e=await x({service:c});if(R(!1),!e.ok)return void l.oR.error(e.message);l.oR.success(`Cleared ${c} logs (${h(e.data.freedBytes)} freed).`),f("current");let[t,a]=await Promise.all([m(),u({service:c,generation:"current"})]);t.ok&&s(t.data),L(a)}return(0,n.useEffect)(()=>{U.current=!0;let e=!1,t=()=>u({service:c,generation:v}).then(t=>{e||L(t)});t();let s="current"===v?setInterval(()=>void t(),5e3):null;return()=>{e=!0,null!==s&&clearInterval(s)}},[c,v,L]),(0,n.useEffect)(()=>{let e=P.current;e&&U.current&&(e.scrollTop=e.scrollHeight)},[g]),(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,a.jsx)(r.A,{tabs:[{value:"runner",label:"Runner"},{value:"web",label:"Web"}],value:c,onChange:e=>{b(e),f("current")},variant:"inset"}),(0,a.jsx)(r.A,{tabs:[{value:"current",label:`Current \xb7 ${h(M?.currentBytes??0)}`},...F?[{value:"archive",label:`Previous \xb7 ${h(M?.archiveBytes??0)}`}]:[]],value:v,onChange:e=>f(e),variant:"inset"}),"current"===v&&(0,a.jsx)(o.s,{tone:"agent",children:"live"}),(0,a.jsx)("div",{className:"ml-auto",children:_&&(0,a.jsx)(i.A,{variant:"danger",size:"sm",onClick:()=>C(!0),disabled:$||!S&&!F,children:$?"Clearing…":"Clear logs"})})]}),w&&(0,a.jsxs)("p",{className:"text-body-12 text-ink-4",children:["Showing the last 64 KB of ",h(k),". Use"," ",(0,a.jsxs)("code",{className:"text-mono-12",children:["nodal-agents logs ",c]})," for the full file."]}),S?(0,a.jsx)("pre",{ref:P,onScroll:function(){let e=P.current;e&&(U.current=e.scrollHeight-e.scrollTop-e.clientHeight<40)},"data-testid":"service-log-tail",className:"text-mono-12 h-[60vh] overflow-auto rounded-xl border border-rule-2 bg-canvas/60 p-4 leading-[1.5]! whitespace-pre-wrap text-ink-2",children:g||"(empty)"}):(0,a.jsxs)("div",{className:"rounded-xl border border-rule-2 bg-paper px-6 py-10 text-center text-body-13 text-ink-4",children:["No ","archive"===v?"archived ":"","log file yet for this service."]}),(0,a.jsx)(d.A,{open:T,title:`Clear ${c} logs?`,message:"This empties the current log file and deletes its archive. Useful for a fresh capture before reproducing a bug — the history is gone for good.",confirmLabel:"Clear",destructive:!0,onConfirm:()=>{C(!1),E()},onCancel:()=>C(!1)})]})}},90492:(e,t,s)=>{Promise.resolve().then(s.bind(s,76298)),Promise.resolve().then(s.bind(s,17903)),Promise.resolve().then(s.bind(s,82801)),Promise.resolve().then(s.bind(s,8444)),Promise.resolve().then(s.bind(s,2193)),Promise.resolve().then(s.bind(s,20986)),Promise.resolve().then(s.bind(s,68534)),Promise.resolve().then(s.bind(s,81098)),Promise.resolve().then(s.t.bind(s,22208,23))}},e=>{e.O(0,[2208,3969,8153,6937,494,5034,4666,8698,1409,4811,9706,7358],()=>e(e.s=90492)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7513],{18379:(e,t,s)=>{"use strict";s.d(t,{A:()=>n});var a=s(48503);function n({items:e,value:t,onChange:s,className:r=""}){return(0,a.jsx)("div",{className:`flex flex-wrap items-center gap-2 ${r}`,children:e.map(e=>{let n=e.value===t;return(0,a.jsxs)("button",{type:"button",onClick:()=>s(e.value),className:`inline-flex h-8 items-center gap-1.5 rounded-[9px] border px-3.5 text-medium-13 leading-none! transition-colors ${n?"border-ink bg-ink text-canvas":"border-rule-2 bg-paper text-ink-2 hover:bg-hover"}`,children:[e.label,void 0!==e.count&&(0,a.jsx)("span",{className:`text-mono-12 leading-none! ${n?"opacity-65":"opacity-55"}`,children:e.count})]},e.value)})})}},18781:(e,t,s)=>{"use strict";s.d(t,{Ay:()=>n,D1:()=>r,Td:()=>o,Th:()=>l,Tr:()=>i,mi:()=>c});var a=s(48503);function n({children:e,frame:t=!0,className:s=""}){let r=(0,a.jsx)("table",{className:`w-full border-collapse text-sm ${s}`,children:e});return t?(0,a.jsx)("div",{className:"overflow-hidden rounded-2xl border border-rule-2 bg-paper",children:(0,a.jsx)("div",{className:"overflow-x-auto",children:r})}):r}function r({children:e}){return(0,a.jsx)("thead",{children:(0,a.jsx)("tr",{children:e})})}function l({children:e,align:t="left",className:s=""}){return(0,a.jsx)("th",{scope:"col",className:`border-b border-rule-2 px-5 py-3 text-label-11 uppercase tracking-wider whitespace-nowrap text-ink-4 ${"right"===t?"text-right":"text-left"} ${s}`,children:e})}function i({children:e,interactive:t=!1,hover:s=!0,className:n="",onClick:r,title:l,style:o,"aria-expanded":c,"data-testid":d}){return(0,a.jsx)("tr",{onClick:r,title:l,style:o,"aria-expanded":c,"data-testid":d,className:`border-b border-rule-2 transition-colors last:border-0 ${s?"hover:bg-hover":""} ${t?"cursor-pointer":""} ${n}`,children:e})}function o({children:e,align:t="left",top:s=!1,colSpan:n,className:r="",onClick:l,style:i,"data-testid":c}){return(0,a.jsx)("td",{colSpan:n,onClick:l,style:i,"data-testid":c,className:`px-5 py-3.5 ${s?"align-top":"align-middle"} ${"right"===t?"text-right":""} ${r}`,children:e})}function c({label:e,count:t,dot:s,colSpan:n}){return(0,a.jsx)("tr",{className:"border-b border-rule-2 bg-canvas/40",children:(0,a.jsx)("td",{colSpan:n,className:"px-5 py-2.5",children:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:`h-1.5 w-1.5 rounded-full ${s}`,"aria-hidden":!0}),(0,a.jsx)("span",{className:"text-medium-13 text-ink",children:e}),(0,a.jsx)("span",{className:"text-mono-11 text-ink-4",children:t})]})})})}},23370:(e,t,s)=>{"use strict";s.d(t,{A:()=>r});var a=s(48503),n=s(78936);function r({value:e,onChange:t,placeholder:s="Search…",minWidth:l=300,ariaLabel:i,testId:o,className:c=""}){return(0,a.jsxs)("div",{className:`flex h-[34px] items-center gap-2 rounded-[9px] border border-rule-2 bg-paper px-3 text-body-13 text-ink-4 ${c}`,style:{minWidth:l},children:[(0,a.jsx)(n.e,{size:13,className:"shrink-0"}),(0,a.jsx)("input",{type:"search",value:e,onChange:e=>t(e.target.value),placeholder:s,"aria-label":i,"data-testid":o,className:"flex-1 border-0 bg-transparent text-body-14 leading-none! text-ink outline-none placeholder:text-ink-4"})]})}},38032:(e,t,s)=>{"use strict";s.d(t,{A:()=>i});var a=s(48503);let n={agent:"bg-agent-vivid text-[#0a0a0a]",skill:"bg-skill-vivid text-white",conn:"bg-conn-vivid text-white",ink:"bg-ink text-canvas",neutral:"bg-hover text-ink-3"},r={sm:"h-[30px] w-[30px]",md:"h-[34px] w-[34px]",lg:"h-[38px] w-[38px]",xl:"h-[42px] w-[42px]"},l={sm:"[&_svg]:h-[13px] [&_svg]:w-[13px]",md:"[&_svg]:h-[14px] [&_svg]:w-[14px]",lg:"[&_svg]:h-[16px] [&_svg]:w-[16px]",xl:"[&_svg]:h-[18px] [&_svg]:w-[18px]"};function i({variant:e,size:t="md",shape:s="round",background:o,children:c,className:d=""}){let u=o?"":n[e];return(0,a.jsx)("span",{style:o?{background:o}:void 0,className:`inline-flex shrink-0 items-center justify-center ${r[t]} ${l[t]} ${"round"===s?"rounded-full":"rounded-[9px]"} ${u} ${o?"text-white":""} ${d}`,children:c})}},45072:(e,t,s)=>{"use strict";s.d(t,{A:()=>r});var a=s(48503),n=s(80351);function r({tabs:e,value:t,defaultValue:s,onChange:l}){let[i,o]=(0,n.useState)(t??s??e[0].value),c=t??i;return(0,a.jsx)("div",{className:"inline-flex gap-1 rounded-[11px] border border-rule-2 bg-paper p-1",role:"tablist",children:e.map(e=>{let s=e.value===c;return(0,a.jsxs)("button",{type:"button",role:"tab","aria-selected":s,onClick:()=>{void 0===t&&o(e.value),l?.(e.value)},className:`inline-flex h-[30px] items-center gap-2 rounded-lg border-0 px-3.5 text-medium-13 leading-none! transition-colors ${s?"bg-ink text-canvas":"bg-transparent text-ink-3 hover:text-ink-2"}`,children:[e.label,void 0!==e.count&&(0,a.jsxs)("span",{className:`text-mono-12 leading-none! ${s?"opacity-65":"opacity-60"}`,children:["\xb7 ",e.count]})]},e.value)})})}},50236:(e,t,s)=>{"use strict";s.d(t,{A:()=>n});var a=s(48503);function n({options:e,value:t,onChange:s,disabled:r,ariaLabel:l,className:i=""}){return(0,a.jsx)("div",{className:`flex w-fit shrink-0 overflow-hidden rounded-lg border border-rule-2 ${i}`,role:"group","aria-label":l,children:e.map((e,n)=>{let l=e.value===t;return(0,a.jsx)("button",{type:"button",disabled:r,onClick:()=>s(e.value),"data-testid":e.testId,"aria-pressed":l,className:["relative h-[32px] px-3 text-medium-13 transition-colors",n>0?"border-l border-rule-2":"",l?e.activeClassName??"bg-ink text-canvas border-ink":"bg-canvas text-ink-3 hover:bg-hover hover:text-ink-2",r?"cursor-wait opacity-60":""].join(" "),children:e.label},e.value)})})}},56751:(e,t,s)=>{"use strict";s.d(t,{CT:()=>i,Zr:()=>o,ah:()=>a,d3:()=>r});let a={gmail:"#ea4335","google-drive":"#4285f4","google-sheets":"#0f9d58","google-docs":"#4285f4","google-calendar":"#4285f4",notion:"#000000","notion-oauth":"#000000",airtable:"#f82b60","airtable-oauth":"#f82b60",github:"#24292f",linear:"#5e6ad2",hubspot:"#ff7a59",slack:"#4a154b",intercom:"#1f8ced",stripe:"#635bff",postgres:"#336791",apify:"#00aeff",firecrawl:"#f97316",tavily:"#6366f1",composio:"#000000",poyo:"#7c3aed","outlook-mail":"#0f6cbd"},n={gmail:"Gm","google-drive":"GD","google-sheets":"GS","google-docs":"GD","google-calendar":"GC",notion:"No","notion-oauth":"No",airtable:"At","airtable-oauth":"At",github:"Gh",linear:"Li",hubspot:"HS",slack:"Sl",intercom:"IC",stripe:"St",postgres:"PG",apify:"Ap",firecrawl:"FC",tavily:"Tv",composio:"Co","custom-http-mcp":"+","custom-stdio-mcp":"+","cogni-cortex":"CX",keyshot:"KS",photoshop:"Ps",poyo:"Po","outlook-mail":"Ol"};function r(e,t){return n[e]??t.slice(0,2).toUpperCase()}let l={notion:"/connector-icons/notion.svg","notion-oauth":"/connector-icons/notion.svg","google-drive":"/connector-icons/google-drive.svg",gmail:"/connector-icons/gmail.svg","google-sheets":"/connector-icons/google-sheets.svg","google-docs":"/connector-icons/google-docs.svg","google-calendar":"/connector-icons/google-calendar.svg",airtable:"/connector-icons/airtable.svg","airtable-oauth":"/connector-icons/airtable.svg","outlook-mail":"/connector-icons/outlook-mail.svg",stripe:"/connector-icons/stripe.svg",sentry:"/connector-icons/sentry.svg","mcp-github":"/connector-icons/github.svg","mcp-postgres":"/connector-icons/postgresql.svg","mcp-git":"/connector-icons/git.svg",blender:"/connector-icons/blender.svg",unity:"/connector-icons/unity.svg","unreal-engine":"/connector-icons/unreal-engine.svg",photoshop:"/connector-icons/photoshop.svg","mcp-playwright":"/connector-icons/playwright.svg",supabase:"/connector-icons/supabase.svg",perplexity:"/connector-icons/perplexity.svg",linear:"/connector-icons/linear.svg",n8n:"/connector-icons/n8n.svg",firecrawl:"/connector-icons/firecrawl.svg",apify:"/connector-icons/apify.svg",tavily:"/connector-icons/tavily.svg",cloudflare:"/connector-icons/cloudflare.svg","mcp-fetch":"/connector-icons/fetch.svg",keyshot:"/connector-icons/keyshot.svg",composio:"/connector-icons/composio.png"};function i(e){return l[e]??null}function o(e){return"mcp-filesystem"===e?"\uD83D\uDCC1":null}},60128:(e,t,s)=>{"use strict";s.d(t,{A:()=>c});var a=s(48503),n=s(64178),r=s(68269),l=s(90566);let i={done:"Done",warn:"Attention",run:"Running",idle:"Idle","lvl-info":"INFO","lvl-ok":"OK","lvl-warn":"WARN","lvl-err":"ERR"},o={done:"bg-ok-bg text-ok",warn:"bg-warn-bg text-warn",run:"bg-run-bg text-run",idle:"bg-black/5 text-ink-3 dark:bg-white/5","lvl-info":"bg-black/5 text-ink-3 dark:bg-white/5","lvl-ok":"bg-ok-bg text-ok","lvl-warn":"bg-warn-bg text-warn","lvl-err":"bg-warn-bg text-err"};function c({variant:e,label:t,icon:s,className:d=""}){let u=t??i[e],m=null;return void 0!==s?m=s:"done"===e?m=(0,a.jsx)(n.r,{size:11,weight:"regular"}):"warn"===e?m=(0,a.jsx)(r.N,{size:11,weight:"regular"}):"run"===e&&(m=(0,a.jsx)(l.A,{variant:"blue",size:"sm"})),(0,a.jsxs)("span",{className:`inline-flex h-[22px] items-center gap-1.5 rounded-[5px] px-2.5 text-medium-12 leading-none! ${o[e]} ${d}`,children:[m,u]})}},64633:(e,t,s)=>{"use strict";s.d(t,{A:()=>n});var a=s(48503);function n({children:e,className:t=""}){return(0,a.jsx)("code",{className:`inline-flex items-center rounded-[5px] bg-hover px-1.5 py-1 text-mono-12 leading-none! tracking-[0.02em] text-ink-2 ${t}`,children:e})}},65548:(e,t,s)=>{"use strict";s.d(t,{e:()=>r,j:()=>n});var a=s(74540);let n=[{value:"All",label:"All"},{value:"CRM",label:"CRM"},{value:"Productivity",label:"Productivity"},{value:"Data",label:"Data"},{value:"DevTools",label:"DevTools"},{value:"Comms",label:"Comms"},{value:"Creative",label:"Creative"},{value:"Other",label:"Other"}];function r(e){let t=a.Y.find(t=>t.slug===e);if(!t)throw Error(`catalogCategory: no catalog entry for slug "${e}".`);return t.category}},73230:(e,t,s)=>{"use strict";s.d(t,{A:()=>r});var a=s(48503),n=s(38032);function r({glyph:e,glyphVariant:t="skill",glyphBackground:s,name:l,description:i,category:o,topRight:c,foot:d,className:u=""}){return(0,a.jsxs)("div",{"data-testid":`marketplace-card-${String(l).toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")}`,"data-marketplace-card":"",className:`relative flex h-full min-h-[200px] flex-col gap-1.5 rounded-2xl border border-rule-2 bg-paper p-[18px] ${u}`,children:[c&&(0,a.jsx)("div",{className:"absolute top-3.5 right-3.5 flex items-center gap-1.5",children:c}),e&&(0,a.jsx)("div",{className:"mb-1.5",children:(0,a.jsx)(n.A,{variant:t,background:s,size:"lg",shape:"square",children:e})}),(0,a.jsx)("h3",{className:"text-title-16 leading-[1.2]! tracking-[-0.005em] text-ink",children:l}),i&&(0,a.jsx)("div",{className:"line-clamp-3 text-body-14 leading-[1.4]! text-ink-3",title:"string"==typeof i?i:void 0,children:i}),o&&(0,a.jsx)("div",{className:"mt-2",children:(0,a.jsx)("span",{className:"inline-flex items-center rounded-full bg-hover px-2.5 py-1 font-mono text-legacy-10 font-medium tracking-[0.1em] text-ink-2 uppercase",children:o})}),d&&(0,a.jsx)("div",{className:"-mx-[18px] mt-auto flex items-center gap-2 border-t border-rule-2 px-[18px] pt-3.5",children:d})]})}},74540:(e,t,s)=>{"use strict";s.d(t,{Y:()=>a.YTi});var a=s(13316)},76381:(e,t,s)=>{"use strict";s.d(t,{A:()=>l});var a=s(48503),n=s(80351),r=s(5829);let l=(0,n.forwardRef)(function({label:e,error:t,showCount:s,id:l,className:i="",containerClassName:o="",maxLength:c,value:d,bare:u=!1,...m},x){let p=(0,n.useId)(),h=l??p;return(0,a.jsxs)("div",{className:o,children:[e&&(0,a.jsx)(r.A,{htmlFor:h,children:e}),(0,a.jsx)("textarea",{id:h,ref:x,maxLength:c,value:d,"aria-invalid":!!t||void 0,className:u?`w-full text-ink placeholder:text-ink-4 transition-colors focus:outline-none disabled:cursor-not-allowed disabled:opacity-50 ${i}`:`w-full resize-y rounded-md border bg-hover px-2 py-1.5 text-body-14 leading-[1.5]! text-ink placeholder:text-ink-4 transition-colors focus:outline-none disabled:cursor-not-allowed disabled:opacity-50 ${t?"border-err focus:border-err":"border-rule focus:border-ink-3"} ${i}`,...m}),s&&void 0!==c&&"string"==typeof d&&(0,a.jsxs)("div",{className:"mt-1 text-right text-legacy-11 text-ink-4",children:[d.length," / ",c]}),t&&(0,a.jsx)("p",{className:"mt-1 text-xs text-err",children:t})]})})},78061:(e,t,s)=>{Promise.resolve().then(s.bind(s,99161)),Promise.resolve().then(s.bind(s,2193)),Promise.resolve().then(s.bind(s,68534)),Promise.resolve().then(s.bind(s,81098))},82899:(e,t,s)=>{"use strict";s.d(t,{A:()=>l});var a=s(48503),n=s(68007),r=s(12871);function l({status:e,ctaLabel:t,ctaVariant:s="blue",onCta:i,ctaHref:o,secondary:c,icon:d}){let u=d??(0,a.jsx)(n.F,{size:12,weight:"bold"});return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"min-w-0 flex-1 truncate text-body-13 whitespace-nowrap text-ink-3",children:e}),c,o?(0,a.jsxs)(r.A,{variant:s,size:"sm",href:o,className:"shrink-0",children:[u,t]}):(0,a.jsxs)(r.A,{variant:s,size:"sm",onClick:i,className:"shrink-0",children:[u,t]})]})}},90566:(e,t,s)=>{"use strict";s.d(t,{A:()=>l});var a=s(48503);let n={ok:"bg-ok",lime:"bg-agent-vivid",coral:"bg-skill-vivid",blue:"bg-conn-vivid",warn:"bg-warn"},r={ok:"animate-[blip_1.4s_ease-out_infinite]",lime:"animate-[blip-lime_1.5s_ease-out_infinite]",coral:"animate-[blip-coral_1.4s_ease-out_infinite]",blue:"animate-[blip-blue_1.4s_ease-out_infinite]",warn:"animate-[blip-coral_1.4s_ease-out_infinite]"};function l({variant:e="ok",size:t="sm",animate:s=!0,className:i=""}){return(0,a.jsx)("span",{className:`inline-block shrink-0 rounded-full ${"sm"===t?"h-[7px] w-[7px]":"h-2 w-2"} ${n[e]} ${s?r[e]:""} ${i}`})}},99161:(e,t,s)=>{"use strict";s.d(t,{default:()=>W});var a=s(48503),n=s(80351),r=s(73573),l=s(47585),i=s(41694),o=s(45072),c=s(18379),d=s(23370),u=s(12871),m=s(50236),x=s(85933),p=s(68007),h=s(45070),g=s(78750),v=s(38032),f=s(56751),b=s(64633),j=s(18781),k=s(60128),y=s(75551),N=s(68926),C=s(2439);let A=(0,C.createServerReference)("4001e59ee6738fd5357787c0c606c192b2a142e643",C.callServer,void 0,C.findSourceMapURL,"deleteMcpServerAction"),w=(0,C.createServerReference)("60123f1b8e80a58fd694e5678581e3325d3b9d7578",C.callServer,void 0,C.findSourceMapURL,"updateMcpServerApiKeyAction");var S=s(45678),$=s(9594),R=s(5829),_=s(90368);let P=(0,C.createServerReference)("406384acb66d602709c78e738e237b04a872134d3f",C.callServer,void 0,C.findSourceMapURL,"getMcpServerConfigAction"),T=(0,C.createServerReference)("60dfa54d61b9650d317134c6fe54d98f0e2e9f944e",C.callServer,void 0,C.findSourceMapURL,"updateMcpServerConfigAction");var q=s(76381);let L={header:"Header",query:"Query param",bearer:"Bearer"};function M({name:e,value:t,onChange:s}){return(0,a.jsx)("div",{className:"flex flex-wrap gap-2",children:["header","query","bearer"].map(n=>(0,a.jsxs)("label",{className:`flex items-center gap-1.5 px-3 py-1.5 rounded-md text-xs cursor-pointer border ${t===n?"bg-hover border-ink-3 text-ink":"bg-paper border-rule text-ink-3 hover:border-rule"}`,children:[(0,a.jsx)("input",{type:"radio",name:e,value:n,checked:t===n,onChange:()=>s(n),className:"sr-only"}),L[n]]},n))})}function F({mcpServerId:e,onDone:t,onCancel:s}){let[r,l]=(0,n.useState)(null),[i,o]=(0,n.useState)(null),[c,d]=(0,n.useTransition)(),[m,x]=(0,n.useState)(""),[p,g]=(0,n.useState)(""),[v,f]=(0,n.useState)("header"),[b,j]=(0,n.useState)(""),[k,C]=(0,n.useState)(""),[A,w]=(0,n.useState)(""),[S,L]=(0,n.useState)(""),[z,I]=(0,n.useState)([]);if((0,n.useEffect)(()=>{let t=!1;return(async()=>{let s=await P(e);if(t)return;if(!s.ok)return o(s.message);let a=s.data;l(a),x(a.name),g(a.url??""),f(a.authScheme??"header"),j(a.authParamName??""),w(a.command??""),L(a.args.join("\n")),I(a.envKeys.length>0?a.envKeys.map(e=>({key:e,value:""})):[{key:"",value:""}])})(),()=>{t=!0}},[e]),i)return(0,a.jsx)("div",{className:"bg-paper border border-rule-2 rounded-xl px-5 py-4",children:(0,a.jsx)("p",{className:"text-xs text-err",children:i})});if(!r)return(0,a.jsx)("div",{className:"bg-paper border border-rule-2 rounded-xl px-5 py-4",children:(0,a.jsx)("p",{className:"text-xs text-ink-4",children:"Loading configuration…"})});let D="stdio"===r.transport;function E(e,t){I(s=>s.map((s,a)=>a===e?{...s,...t}:s))}return(0,a.jsxs)("form",{onSubmit:function(e){if(e.preventDefault(),!r)return;let s=m.trim();if(!s)return void N.oR.error("Name is required");let a={name:s};if("http"===r.transport){let e=p.trim();if(!e)return void N.oR.error("Server URL is required");if(a.url=e,a.authScheme=v,"bearer"!==v){let e=b.trim();if(!e)return void N.oR.error("Auth param name is required for this scheme");a.authParamName=e}let t=k.trim();t&&(a.apiKey=t)}else{let e=A.trim();if(!e)return void N.oR.error("Command is required");a.command=e,a.args=S.split("\n").map(e=>e.trim()).filter(Boolean);let t={};for(let e of z){let s=e.key.trim();s&&(t[s]=e.value)}a.env=t}d(async()=>{let e=await T(r.id,a);e.ok?(N.oR.success("Configuration updated"),t?.()):N.oR.error(e.message)})},className:"bg-paper border border-rule-2 rounded-xl px-5 py-4 space-y-3",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 text-label-11 uppercase tracking-wider text-ink-4 font-mono",children:[(0,a.jsx)("span",{children:r.slug}),(0,a.jsx)("span",{children:"\xb7"}),(0,a.jsx)("span",{children:r.transport})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)(R.A,{htmlFor:`edit-name-${r.id}`,children:"Name"}),(0,a.jsx)($.A,{id:`edit-name-${r.id}`,type:"text",required:!0,value:m,onChange:e=>x(e.target.value)})]}),!D&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{children:[(0,a.jsx)(R.A,{htmlFor:`edit-url-${r.id}`,children:"Server URL"}),(0,a.jsx)($.A,{id:`edit-url-${r.id}`,type:"url",required:!0,value:p,onChange:e=>g(e.target.value),placeholder:"https://…",className:"font-mono"})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)("p",{className:"block text-xs text-ink-3",children:"Auth scheme"}),(0,a.jsx)(M,{name:`edit-scheme-${r.id}`,value:v,onChange:f}),"bearer"!==v&&(0,a.jsxs)("div",{children:[(0,a.jsx)(R.A,{htmlFor:`edit-auth-param-${r.id}`,children:"header"===v?"Header name":"Query param name"}),(0,a.jsx)($.A,{id:`edit-auth-param-${r.id}`,type:"text",required:!0,value:b,onChange:e=>j(e.target.value),placeholder:"header"===v?"x-api-key":"api_key",className:"font-mono"})]})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)(R.A,{htmlFor:`edit-key-${r.id}`,children:"API key"}),(0,a.jsx)($.A,{id:`edit-key-${r.id}`,type:"password",autoComplete:"off",value:k,onChange:e=>C(e.target.value),placeholder:r.apiKeyLast4?`•••• ${r.apiKeyLast4} - leave blank to keep`:"Paste a key",className:"font-mono"}),(0,a.jsx)("p",{className:"text-body-12 text-ink-4 mt-1",children:"Leave blank to keep the current key. The new config is verified against the live server before saving."})]})]}),D&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{children:[(0,a.jsx)(R.A,{htmlFor:`edit-command-${r.id}`,children:"Command"}),(0,a.jsx)($.A,{id:`edit-command-${r.id}`,type:"text",required:!0,value:A,onChange:e=>w(e.target.value),placeholder:"npx",className:"font-mono"})]}),(0,a.jsxs)("div",{children:[(0,a.jsxs)(R.A,{htmlFor:`edit-args-${r.id}`,children:["Arguments ",(0,a.jsx)("span",{className:"text-ink-4",children:"(one per line)"})]}),(0,a.jsx)(q.A,{id:`edit-args-${r.id}`,rows:Math.max(3,S.split("\n").length),value:S,onChange:e=>L(e.target.value),className:"font-mono resize-none"})]}),(0,a.jsxs)("div",{children:[(0,a.jsxs)("p",{className:"block text-xs text-ink-3 mb-1",children:["Environment variables"," ",(0,a.jsx)("span",{className:"text-ink-4",children:"(encrypted, leave value blank to keep)"})]}),(0,a.jsx)("div",{className:"space-y-2",children:z.map((e,t)=>(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)($.A,{type:"text",value:e.key,onChange:e=>E(t,{key:e.target.value}),placeholder:"VAR_NAME",containerClassName:"flex-1",className:"font-mono"}),(0,a.jsx)($.A,{type:"password",autoComplete:"off",value:e.value,onChange:e=>E(t,{value:e.target.value}),placeholder:r.envKeys.includes(e.key)?"leave blank to keep":"value",containerClassName:"flex-1",className:"font-mono"}),(0,a.jsx)(y.A,{square:!0,tone:"danger",onClick:()=>{I(e=>e.filter((e,s)=>s!==t))},title:"Remove variable",icon:(0,a.jsx)(_.l,{size:14})})]},t))}),(0,a.jsx)(y.A,{onClick:function(){I(e=>[...e,{key:"",value:""}])},className:"mt-2",children:"+ Add variable"})]})]}),(0,a.jsxs)(h.j,{className:"-mx-5 -mb-4 mt-1 rounded-b-xl",children:[s&&(0,a.jsx)(u.A,{variant:"neutral",type:"button",onClick:s,children:"Cancel"}),(0,a.jsx)(u.A,{variant:"ink",type:"submit",disabled:c||!m.trim(),children:c?"Verifying…":"Save changes"})]})]})}function z({instance:e,catalogLabel:t,description:s,onClose:r}){let[l,i]=(0,n.useTransition)(),[o,c]=(0,n.useState)(!1),[d,m]=(0,n.useState)(!1),[x,p]=(0,n.useState)("");function h(){let t=x.trim();t?i(async()=>{let s=await w(e.id,t);s.ok?(N.oR.success(`${e.name} key rotated`),m(!1),p("")):N.oR.error(s.message)}):N.oR.error("New API key is required")}return(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("p",{className:"font-mono text-label-11 uppercase tracking-wider text-ink-3",children:t}),s&&(0,a.jsx)("p",{className:"mt-0.5 text-xs text-ink-3",children:s}),(0,a.jsxs)("p",{className:"mt-1 text-xs text-ink-4",children:[e.toolCount," tool",1===e.toolCount?"":"s"," discovered",e.apiKeyLast4?` \xb7 key …${e.apiKeyLast4}`:""]})]}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,a.jsx)(u.A,{variant:"neutral",size:"sm",onClick:()=>m(e=>!e),disabled:l,children:d?"Cancel rotate":"Rotate secret"}),(0,a.jsx)(u.A,{variant:"danger",size:"sm",onClick:()=>c(!0),disabled:l,children:"Disconnect"})]}),d&&(0,a.jsxs)("div",{className:"space-y-3 border-t border-rule-2 pt-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)(R.A,{htmlFor:`mcp-rotate-${e.id}`,children:"New API key"}),(0,a.jsx)($.A,{id:`mcp-rotate-${e.id}`,type:"password",autoComplete:"off",autoFocus:!0,value:x,onChange:e=>p(e.target.value),onKeyDown:e=>{"Enter"===e.key&&h(),"Escape"===e.key&&(p(""),m(!1))},placeholder:"Paste the new key",className:"font-mono"}),(0,a.jsx)("p",{className:"mt-1 text-body-12 text-ink-4",children:"Agent assignments stay intact - the key is verified against the server before being saved."})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(u.A,{variant:"ink",size:"sm",onClick:h,disabled:l||!x.trim(),children:l?"Verifying…":"Save new key"}),(0,a.jsx)(u.A,{variant:"neutral",size:"sm",onClick:()=>{p(""),m(!1)},children:"Cancel"})]})]}),(0,a.jsx)("div",{className:"border-t border-rule-2 pt-3",children:(0,a.jsx)(F,{mcpServerId:e.id,onDone:r,onCancel:r})}),(0,a.jsx)(S.A,{open:o,title:`Disconnect "${e.name}"?`,message:"The MCP connector and all its agent assignments will be removed. Re-connecting later requires the API key again.",confirmLabel:"Disconnect",onConfirm:function(){c(!1),i(async()=>{let t=await A(e.id);t.ok?(N.oR.success(`${e.name} disconnected`),r()):N.oR.error(t.message)})},onCancel:()=>c(!1)})]})}function I({instances:e,catalog:t}){return(0,a.jsxs)(j.Ay,{children:[(0,a.jsxs)(j.D1,{children:[(0,a.jsx)(j.Th,{children:"Server"}),(0,a.jsx)(j.Th,{children:"Tools"}),(0,a.jsx)(j.Th,{children:"Transport"}),(0,a.jsx)(j.Th,{children:"Status"}),(0,a.jsx)(j.Th,{align:"right",children:"Actions"})]}),(0,a.jsx)("tbody",{children:e.map(e=>{let s=t.find(t=>t.slug===e.slug);return(0,a.jsx)(D,{instance:e,catalogLabel:s?.label??e.name,description:s?.description??"",transport:s?.transport??"http"},e.id)})})]})}function D({instance:e,catalogLabel:t,description:s,transport:r}){let[l,i]=(0,n.useState)(!1),o=t.slice(0,2).toUpperCase(),c=(0,f.CT)(e.slug),d=(0,f.Zr)(e.slug);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(j.Tr,{children:[(0,a.jsx)(j.Td,{children:(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)(v.A,{variant:"conn",size:"sm",shape:"square",background:c||d?"#ffffff":"#3565ff",children:c?(0,a.jsx)("img",{src:c,alt:"",className:"h-4 w-4 object-contain"}):d?(0,a.jsx)("span",{className:"text-body-15 leading-none!",children:d}):(0,a.jsx)("span",{className:"font-mono text-micro-10 tracking-[0.04em]",children:o})}),(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("div",{className:"text-medium-13 leading-[1.2]! text-ink",children:e.name}),(0,a.jsx)("div",{className:"mt-0.5 text-mono-11 uppercase tracking-[0.12em] text-ink-4",children:t})]})]})}),(0,a.jsxs)(j.Td,{children:[(0,a.jsx)("span",{className:"text-mono-13 text-ink-2",children:e.toolCount}),0===e.toolCount&&(0,a.jsx)("span",{className:"ml-1 text-mono-11 text-ink-4",children:"none"})]}),(0,a.jsx)(j.Td,{children:(0,a.jsx)(b.A,{children:r})}),(0,a.jsx)(j.Td,{children:(0,a.jsx)(k.A,{variant:e.active?"done":"warn",label:e.active?"Connected":"Inactive"})}),(0,a.jsx)(j.Td,{children:(0,a.jsx)("div",{className:"flex items-center justify-end gap-2",children:(0,a.jsx)(y.A,{square:!0,icon:(0,a.jsx)(g.I,{size:16}),title:"Edit",onClick:()=>i(!0)})})})]}),(0,a.jsx)(h.A,{open:l,onClose:()=>i(!1),title:e.name,dismissable:!1,className:"max-w-xl",children:(0,a.jsx)(z,{instance:e,catalogLabel:t,description:s,onClose:()=>i(!1)})})]})}var E=s(27253),U=s(73230),H=s(82899);let K=(0,C.createServerReference)("409bf38b1f152c6341490c6a97be9c163fd066b996",C.callServer,void 0,C.findSourceMapURL,"createMcpServerFromCatalogAction");function O({catalogItem:e,onDone:t,onCancel:s}){let[r,l]=(0,n.useTransition)(),[i,o]=(0,n.useState)(""),[c,d]=(0,n.useState)(""),[m,x]=(0,n.useState)(""),[p,g]=(0,n.useState)(""),[v,f]=(0,n.useState)("header"),[b,j]=(0,n.useState)(""),[k,C]=(0,n.useState)(""),[A,w]=(0,n.useState)(""),[S,P]=(0,n.useState)(()=>(e.args??[]).join("\n")),[T,L]=(0,n.useState)(()=>{let t=e.envVarNames??[];return t.length>0?t.map(e=>({key:e,value:""})):[{key:"",value:""}]}),F="custom-http-mcp"===e.slug,z="custom-stdio-mcp"===e.slug,I="stdio"===e.transport,D=I&&!z,E=!I&&null===e.serverUrl;function U(){o(""),d(""),x(""),g(""),f("header"),j(""),C(""),w(""),P((e.args??[]).join("\n"));let t=e.envVarNames??[];L(t.length>0?t.map(e=>({key:e,value:""})):[{key:"",value:""}])}function H(){L(e=>[...e,{key:"",value:""}])}function V(e){L(t=>t.filter((t,s)=>s!==e))}function B(e,t){L(s=>s.map((s,a)=>a===e?{...s,...t}:s))}let G=p.trim()?`${p.trim().replace(/-/g,"_")}__list_things`:"my_slug__list_things";return(0,a.jsxs)("form",{onSubmit:function(s){s.preventDefault();let a=i.trim();if(!a)return void N.oR.error("Name is required");if(D){let s=S.split("\n").map(e=>e.trim()).filter(Boolean),n={};for(let e of T){let t=e.key.trim();t&&(n[t]=e.value)}l(async()=>{let r=await K({slug:e.slug,name:a,customArgs:s,customEnv:Object.keys(n).length>0?n:void 0});r.ok?(N.oR.success(`${a} connected`),U(),t?.()):N.oR.error(r.message)});return}if(z){let s=p.trim(),n=k.trim();if(!s)return N.oR.error("Server slug is required");if(!/^[a-z0-9-]+$/.test(s))return N.oR.error("Slug must be lowercase letters, digits, dashes");if(!n)return N.oR.error("Command is required");let r=A.split("\n").map(e=>e.trim()).filter(Boolean),i={};for(let e of T){let t=e.key.trim();t&&(i[t]=e.value)}return void l(async()=>{let l=await K({slug:e.slug,name:a,customSlug:s,customCommand:n,customArgs:r,customEnv:i});l.ok?(N.oR.success(`${a} connected`),U(),t?.()):N.oR.error(l.message)})}let n=c.trim(),r=m.trim();if(!n)return void N.oR.error("API key is required");if(E&&!r)return void N.oR.error("Server URL is required");if(F){let e=p.trim();if(!e)return N.oR.error("Server slug is required");if(!/^[a-z0-9-]+$/.test(e))return N.oR.error("Slug must be lowercase letters, digits, dashes");if("bearer"!==v&&!b.trim())return N.oR.error("Auth param name is required for this scheme")}l(async()=>{let s={slug:e.slug,name:a,apiKey:n};E&&(s.url=r),F&&(s.customSlug=p.trim(),s.customAuthScheme=v,"bearer"!==v&&(s.customAuthParamName=b.trim()));let l=await K(s);l.ok?(N.oR.success(`${a} connected`),U(),t?.()):N.oR.error(l.message)})},className:"space-y-3",children:[e.description&&(0,a.jsx)("p",{className:"text-xs text-ink-4",children:e.description}),(0,a.jsxs)("div",{children:[(0,a.jsxs)(R.A,{htmlFor:`mcp-name-${e.slug}`,children:["Name ",(0,a.jsx)("span",{className:"text-ink-4",children:'(e.g. "Cortex perso")'})]}),(0,a.jsx)($.A,{id:`mcp-name-${e.slug}`,type:"text",required:!0,value:i,onChange:e=>o(e.target.value),placeholder:e.label})]}),(F||z)&&(0,a.jsxs)("div",{children:[(0,a.jsxs)(R.A,{htmlFor:`mcp-slug-${e.slug}`,children:["Server slug ",(0,a.jsx)("span",{className:"text-ink-4",children:"(tool name prefix)"})]}),(0,a.jsx)($.A,{id:`mcp-slug-${e.slug}`,type:"text",required:!0,value:p,onChange:e=>g(e.target.value),placeholder:"my-server",pattern:"[a-z0-9-]+",className:"font-mono"}),(0,a.jsxs)("p",{className:"text-body-12 text-ink-4 mt-1",children:["Tools will be named like ",(0,a.jsx)("span",{className:"font-mono text-ink-3",children:G}),". Lowercase letters, digits, dashes."]})]}),E&&(0,a.jsxs)("div",{children:[(0,a.jsx)(R.A,{htmlFor:`mcp-url-${e.slug}`,children:"Server URL"}),(0,a.jsx)($.A,{id:`mcp-url-${e.slug}`,type:"url",required:!0,value:m,onChange:e=>x(e.target.value),placeholder:"https://…",className:"font-mono"})]}),F&&(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)("p",{className:"block text-xs text-ink-3",children:"Auth scheme"}),(0,a.jsx)(M,{name:`mcp-scheme-${e.slug}`,value:v,onChange:f}),"bearer"!==v&&(0,a.jsxs)("div",{children:[(0,a.jsx)(R.A,{htmlFor:`mcp-auth-param-${e.slug}`,children:"header"===v?"Header name":"Query param name"}),(0,a.jsx)($.A,{id:`mcp-auth-param-${e.slug}`,type:"text",required:!0,value:b,onChange:e=>j(e.target.value),placeholder:"header"===v?"x-api-key":"api_key",className:"font-mono"})]})]}),!I&&(0,a.jsxs)("div",{children:[(0,a.jsx)(R.A,{htmlFor:`mcp-key-${e.slug}`,children:"API key"}),(0,a.jsx)($.A,{id:`mcp-key-${e.slug}`,type:"password",required:!0,autoComplete:"off",value:c,onChange:e=>d(e.target.value),placeholder:e.keyPrefix[0]?`${e.keyPrefix[0]}…`:"",className:"font-mono"}),e.docsHint&&(0,a.jsx)("p",{className:"text-body-12 text-ink-4 mt-1",children:e.docsHint})]}),D&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{children:[(0,a.jsxs)(R.A,{htmlFor:`mcp-prefilled-args-${e.slug}`,children:["Arguments"," ",(0,a.jsx)("span",{className:"text-ink-4",children:"(one per line, edit placeholders like <root-directory>)"})]}),(0,a.jsx)(q.A,{id:`mcp-prefilled-args-${e.slug}`,rows:Math.max(3,(e.args??[]).length+1),value:S,onChange:e=>P(e.target.value),className:"font-mono resize-none"}),(0,a.jsxs)("p",{className:"text-body-12 text-ink-4 mt-1",children:["Command: ",(0,a.jsx)("span",{className:"font-mono text-ink-3",children:e.command??"npx"})]})]}),(e.envVarNames??[]).length>0&&(0,a.jsxs)("div",{children:[(0,a.jsxs)("p",{className:"block text-xs text-ink-3 mb-1",children:["Environment variables ",(0,a.jsx)("span",{className:"text-ink-4",children:"(encrypted at rest)"})]}),(0,a.jsx)("div",{className:"space-y-2",children:T.map((e,t)=>(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)($.A,{type:"text",value:e.key,onChange:e=>B(t,{key:e.target.value}),placeholder:"VAR_NAME",containerClassName:"flex-1",className:"font-mono"}),(0,a.jsx)($.A,{type:"password",autoComplete:"off",value:e.value,onChange:e=>B(t,{value:e.target.value}),placeholder:"value",containerClassName:"flex-1",className:"font-mono"}),(0,a.jsx)(y.A,{square:!0,tone:"danger",onClick:()=>V(t),disabled:1===T.length,title:"Remove variable",icon:(0,a.jsx)(_.l,{size:14})})]},t))}),(0,a.jsx)(y.A,{onClick:H,className:"mt-2",children:"+ Add variable"})]}),e.docsHint&&(0,a.jsx)("p",{className:"text-body-12 text-ink-4",children:e.docsHint})]}),z&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{children:[(0,a.jsx)(R.A,{htmlFor:`mcp-command-${e.slug}`,children:"Command"}),(0,a.jsx)($.A,{id:`mcp-command-${e.slug}`,type:"text",required:!0,value:k,onChange:e=>C(e.target.value),placeholder:"npx",className:"font-mono"}),(0,a.jsx)("p",{className:"text-body-12 text-ink-4 mt-1",children:"Executable name (resolved via PATH) or absolute path."})]}),(0,a.jsxs)("div",{children:[(0,a.jsxs)(R.A,{htmlFor:`mcp-args-${e.slug}`,children:["Arguments ",(0,a.jsx)("span",{className:"text-ink-4",children:"(one per line)"})]}),(0,a.jsx)(q.A,{id:`mcp-args-${e.slug}`,rows:3,value:A,onChange:e=>w(e.target.value),placeholder:"-y\n@modelcontextprotocol/server-filesystem\n/path/to/folder",className:"font-mono resize-none"})]}),(0,a.jsxs)("div",{children:[(0,a.jsxs)("p",{className:"block text-xs text-ink-3 mb-1",children:["Environment variables ",(0,a.jsx)("span",{className:"text-ink-4",children:"(encrypted at rest)"})]}),(0,a.jsx)("div",{className:"space-y-2",children:T.map((e,t)=>(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)($.A,{type:"text",value:e.key,onChange:e=>B(t,{key:e.target.value}),placeholder:"GITHUB_TOKEN",containerClassName:"flex-1",className:"font-mono"}),(0,a.jsx)($.A,{type:"password",autoComplete:"off",value:e.value,onChange:e=>B(t,{value:e.target.value}),placeholder:"value",containerClassName:"flex-1",className:"font-mono"}),(0,a.jsx)(y.A,{square:!0,tone:"danger",onClick:()=>V(t),disabled:1===T.length,title:"Remove variable",icon:(0,a.jsx)(_.l,{size:14})})]},t))}),(0,a.jsx)(y.A,{onClick:H,className:"mt-2",children:"+ Add variable"}),e.docsHint&&(0,a.jsx)("p",{className:"text-body-12 text-ink-4 mt-2",children:e.docsHint})]})]}),(0,a.jsxs)(h.j,{className:"-mx-6 -mb-6 mt-2 rounded-b-xl",children:[s&&(0,a.jsx)(u.A,{variant:"neutral",type:"button",onClick:s,children:"Cancel"}),(0,a.jsx)(u.A,{variant:"ink",type:"submit",disabled:r||!i.trim(),children:r?"Connecting…":"Connect"})]})]})}function V(e){return"cogni-cortex"===e?"Comms":"stripe"===e||"mcp-postgres"===e||"supabase"===e||"airtable"===e||"mcp-fetch"===e||"mcp-playwright"===e||"apify"===e?"Data":"mcp-filesystem"===e||"mcp-git"===e||"mcp-github"===e||"sentry"===e?"DevTools":"composio"===e||"linear"===e||"n8n"===e||"notion"===e?"Productivity":"comfyui"===e||"blender"===e||"unity"===e||"unreal-engine"===e||"keyshot"===e||"photoshop"===e||"vidiq"===e?"Creative":"Other"}function B({catalog:e,instances:t}){let s=[...e].sort((e,t)=>{let s=e.slug.startsWith("custom-");return s!==t.slug.startsWith("custom-")?s?1:-1:e.label.localeCompare(t.label)});return 0===e.length?(0,a.jsx)(x.A,{title:"No servers in this category."}):(0,a.jsx)("div",{className:"grid auto-rows-fr grid-cols-1 gap-3.5 md:grid-cols-2 lg:grid-cols-4",children:s.map(e=>{let s=t.filter(t=>t.slug===e.slug),n=s.length>0;return(0,a.jsx)(G,{catalogItem:e,isInstalled:n,installedCount:s.length},e.slug)})})}function G({catalogItem:e,isInstalled:t,installedCount:s}){let[l,i]=(0,n.useState)(!1),o=(0,r.useRouter)(),c=e.label.slice(0,2).toUpperCase(),d=(0,f.CT)(e.slug),u=(0,f.Zr)(e.slug),m=V(e.slug),x="pending"===e.status;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(U.A,{glyph:d?(0,a.jsx)("img",{src:d,alt:"",className:"h-6 w-6 object-contain"}):u?(0,a.jsx)("span",{className:"text-legacy-20 leading-none!",children:u}):(0,a.jsx)("span",{className:"font-mono text-label-11 tracking-[0.04em]",children:c}),glyphVariant:"conn",glyphBackground:d||u?"#ffffff":"#3565ff",name:e.label,description:e.description,category:m,topRight:t||x?(0,a.jsxs)("span",{className:"flex items-center gap-1.5",children:[x&&(0,a.jsx)("span",{className:"inline-flex items-center rounded-[6px] bg-warn-bg px-2 py-1 font-sans text-medium-12 text-warn",title:"Not yet verified end-to-end, connection params may need adjusting.",children:"Test pending"}),t&&(0,a.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-[6px] bg-ok-bg px-2 py-1 font-sans text-medium-12 text-ok",children:[(0,a.jsx)(E.r,{size:11,weight:"regular"}),s," installed"]})]}):void 0,foot:(0,a.jsx)(H.A,{ctaLabel:t?"Add account":"Install",ctaVariant:"blue",onCta:()=>i(!0)})}),(0,a.jsx)(h.A,{open:l,onClose:()=>i(!1),title:t?`Add account - ${e.label}`:`Install ${e.label}`,dismissable:!1,children:(0,a.jsx)(O,{catalogItem:e,onDone:function(){i(!1),o.refresh()},onCancel:()=>i(!1)})})]})}var Q=s(65548);function W({instances:e,catalog:t}){let s=(0,r.useRouter)(),[x,g]=(0,n.useState)(e.length>0?"installed":"marketplace"),[v,f]=(0,n.useState)(""),[b,j]=(0,n.useState)("All"),[k,y]=(0,n.useState)(!1),[N,C]=(0,n.useState)("stdio"),A=t.find(e=>"custom-http-mcp"===e.slug),w=t.find(e=>"custom-stdio-mcp"===e.slug),S="http"===N?A:w,$=(0,n.useMemo)(()=>{let t=e;if("All"!==b&&(t=t.filter(e=>V(e.slug)===b)),v.trim()){let e=v.toLowerCase();t=t.filter(t=>t.name.toLowerCase().includes(e)||t.slug.toLowerCase().includes(e))}return t},[e,v,b]),R=(0,n.useMemo)(()=>{let e=t;if("All"!==b&&(e=e.filter(e=>V(e.slug)===b)),v.trim()){let t=v.toLowerCase();e=e.filter(e=>e.label.toLowerCase().includes(t)||e.description.toLowerCase().includes(t))}return e},[t,b,v]);return(0,a.jsxs)(l.A,{title:"MCP Connectors",subtitle:"MCP servers your agents can call.",toolbar:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(i.A,{tabs:(0,a.jsx)(o.A,{value:x,onChange:e=>{g(e),f("")},tabs:[{value:"installed",label:"Installed",count:e.length},{value:"marketplace",label:"Library",count:t.length}]}),search:(0,a.jsx)(d.A,{value:v,onChange:f,placeholder:"installed"===x?"Search MCP servers…":"Search catalog…"}),cta:(0,a.jsxs)(u.A,{variant:"blue",onClick:()=>y(!0),children:[(0,a.jsx)(p.F,{size:13,weight:"bold"}),"New MCP"]})}),(0,a.jsx)(c.A,{className:"mt-3",items:Q.j,value:b,onChange:j})]}),children:["installed"===x?0===e.length?(0,a.jsx)(Y,{onBrowse:()=>g("marketplace")}):0===$.length?(0,a.jsx)(Z,{}):(0,a.jsx)(I,{instances:$,catalog:t}):(0,a.jsx)(B,{catalog:R,instances:e}),(0,a.jsx)(h.A,{open:k,onClose:()=>y(!1),title:"Add a custom MCP server",dismissable:!1,children:(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsx)(m.A,{value:N,onChange:C,ariaLabel:"Custom MCP server type",options:[{value:"stdio",label:"Local subprocess (stdio)"},{value:"http",label:"Remote server (HTTP)"}]}),(0,a.jsx)("p",{className:"text-body-12 text-ink-4",children:"stdio"===N?"Run any MCP package locally (npx, python, a binary…). Provide the command, args, and env vars.":"Connect any Streamable-HTTP MCP server. Provide the URL, auth scheme, and API key."}),S?(0,a.jsx)(O,{catalogItem:S,onDone:()=>{y(!1),s.refresh()},onCancel:()=>y(!1)},N):(0,a.jsx)("p",{className:"text-xs text-err",children:"Custom MCP option is unavailable."})]})})]})}function Y({onBrowse:e}){return(0,a.jsx)(x.A,{title:"No MCP servers installed yet.",description:"Pick one from the Marketplace, its tools become available to any agent you assign it to.",action:(0,a.jsx)(u.A,{variant:"blue",onClick:e,children:"Browse Marketplace"})})}function Z(){return(0,a.jsx)(x.A,{title:"No servers match your search."})}}},e=>{e.O(0,[2208,3969,8153,6942,5034,4666,341,4811,9706,7358],()=>e(e.s=78061)),_N_E=e.O()}]);
|