@mndrk/agx 2.0.32 → 2.0.33
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/cloud-runtime/standalone/.next/BUILD_ID +1 -1
- package/cloud-runtime/standalone/.next/app-path-routes-manifest.json +1 -0
- package/cloud-runtime/standalone/.next/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/prerender-manifest.json +3 -3
- package/cloud-runtime/standalone/.next/routes-manifest.json +6 -0
- package/cloud-runtime/standalone/.next/server/app/_global-error.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/_global-error.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/_not-found.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents/[id]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents.segments/agents.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/automations/create/route.js +3 -4
- package/cloud-runtime/standalone/.next/server/app/api/automations/create/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/automations/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/automations/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/chat/route.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/chat/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/daemon/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/daemon/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/file-search/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/health/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/health/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js +8 -0
- package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js.map +5 -0
- package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/memories/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/memories/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/messages/[id]/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/messages/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/migrate/teams-to-projects/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/migrate/teams-to-projects/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/migrate/workspaces-to-projects/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/migrate/workspaces-to-projects/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js +3 -2
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/processes/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/processes/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/memory/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/memory/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js +4 -3
- package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/queue/route.js +6 -6
- package/cloud-runtime/standalone/.next/server/app/api/queue/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/repos/[id]/knowledge/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/repos/[id]/knowledge/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js +2 -3
- package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js +2 -3
- package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/schedules/route.js +3 -4
- package/cloud-runtime/standalone/.next/server/app/api/schedules/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js +4 -4
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js +5 -5
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/pause/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/pause/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/stop/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/stop/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/heartbeat/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/heartbeat/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js +6 -6
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js +4 -4
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js +6 -6
- package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/threads/route.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/threads/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/automations.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/automations.segments/automations.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/board/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/board.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/board.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/board.segments/board.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/execution-graph.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/index.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/index.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects.segments/projects.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings.segments/settings.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/status/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/status.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/status.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.segments/status/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/status.segments/status.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/thread/[id]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/thread/[id]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/welcome.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app-paths-manifest.json +1 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__06634853._.js +80 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__0b3b6a47._.js +51 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__86f7d27b._.js → [root-of-the-server]__18423486._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__dede3dcd._.js → [root-of-the-server]__19520d85._.js} +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__399b2ca9._.js → [root-of-the-server]__1c18c0d1._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1cc2fe7f._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__29419d66._.js +42 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__6e59b27c._.js → [root-of-the-server]__32b13ba9._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__1dd062c1._.js → [root-of-the-server]__3c1567b6._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__29ce9c60._.js → [root-of-the-server]__3c37453e._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__507a4363._.js → [root-of-the-server]__3faa64cd._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__42497c7b._.js +80 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__e446cb39._.js → [root-of-the-server]__4837d72a._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__10940c29._.js → [root-of-the-server]__49c03d66._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__b40c7aab._.js → [root-of-the-server]__4a8d14c1._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__75bff965._.js → [root-of-the-server]__4c861686._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4d8c6e3d._.js +58 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__543ba6c4._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__94fa1edc._.js → [root-of-the-server]__588b6ab0._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__ccfcbcd5._.js → [root-of-the-server]__5a348fba._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__9dfaaf72._.js → [root-of-the-server]__61c99680._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__c08bef05._.js → [root-of-the-server]__6acb940d._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__98535eb3._.js → [root-of-the-server]__7e79d86a._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__6c187704._.js → [root-of-the-server]__7ffcc20c._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__c5634f17._.js → [root-of-the-server]__875279cb._.js} +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__13677d96._.js → [root-of-the-server]__8b0ab82f._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__f5b93200._.js → [root-of-the-server]__8b461158._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__918f0106._.js +80 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__922eb7cd._.js +80 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__e6ad07c3._.js → [root-of-the-server]__a67cd108._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__d8cedc8a._.js → [root-of-the-server]__abb032c1._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__b3ed0a00._.js +46 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__b63cb741._.js +63 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__2388b2b3._.js → [root-of-the-server]__b9b3fde6._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__f4b70b67._.js → [root-of-the-server]__be4ad4b5._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c0a18648._.js +80 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__5ca87ba0._.js → [root-of-the-server]__c480c9c2._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c8b49077._.js +79 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c99509c2._.js +101 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ceb02db8._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__d6e1ee6e._.js +32 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__80655727._.js → [root-of-the-server]__e069c0a3._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__f5a2358a._.js → [root-of-the-server]__e1e51c02._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__12afd8a3._.js → [root-of-the-server]__ef82dda1._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f168c6dc._.js +25 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f1b7932f._.js +36 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__4d318eb0._.js → [root-of-the-server]__f701b208._.js} +24 -24
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__2e596cc8._.js → [root-of-the-server]__fee58db1._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ffffceac._.js +6 -0
- package/cloud-runtime/standalone/.next/server/chunks/_5462a047._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_5fd6af5d._.js +57 -0
- package/cloud-runtime/standalone/.next/server/chunks/_c965f7b3._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_d225c04f._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/{_3e0d34cc._.js → _d22934ab._.js} +24 -24
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_knowledge-notes_route_actions_0ddf6109.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/lib_7cad5c77._.js +64 -0
- package/cloud-runtime/standalone/.next/server/chunks/lib_87c06aeb._.js +25 -0
- package/cloud-runtime/standalone/.next/server/chunks/lib_db_ts_e06c6085._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/lib_ea45fe73._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/lib_history-store_ts_2e721df2._.js +45 -37
- package/cloud-runtime/standalone/.next/server/chunks/lib_history-store_ts_74d1c060._.js +45 -37
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_371d0bff.js +12 -12
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__a8a8afdc._.js → [root-of-the-server]__04d1aa70._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__9166c1d6._.js → [root-of-the-server]__2d80540b._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__5ffa2883._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__8973b16a._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__1322ced8._.js → [root-of-the-server]__a416df95._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__783669c3._.js → [root-of-the-server]__c108f06c._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_064370bc._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_0f4e70b1._.js → _41f60c52._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_6b14826d._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_6fc3736e._.js → _84879a01._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_85ca101b._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_ff5799d6._.js → _9eeb2fa0._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_68ac991e._.js → _a1d30b20._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_5b2b8a85._.js → _c87c359c._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_fb292eed._.js → _dd31b6e0._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_6de3f1de._.js → _f0ce6183._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/app_projects_[slug]_knowledge_page_tsx_e2a55cbd._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/components_chat-ui_bfeda794._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/components_thread_WorkspaceSidebar_tsx_e660301b._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_bf855424._.js +3 -0
- package/cloud-runtime/standalone/.next/server/functions-config-manifest.json +1 -0
- package/cloud-runtime/standalone/.next/server/middleware-manifest.json +5 -5
- package/cloud-runtime/standalone/.next/server/pages/404.html +2 -2
- package/cloud-runtime/standalone/.next/server/pages/500.html +2 -2
- package/cloud-runtime/standalone/.next/server/server-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/server-reference-manifest.json +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/{a66e1891e808a664.js → 012e3e9699415997.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/031d99fbe758545a.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/{87f099ea02aa419d.js → 116985039c24f1f8.js} +9 -9
- package/cloud-runtime/standalone/.next/static/chunks/2ee8d24314eec47c.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/3a55441b018d52e4.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/{cd308f61797939cd.js → 43f6157bc3db9c52.js} +2 -2
- package/cloud-runtime/standalone/.next/static/chunks/{58025a80caa3629d.js → 56a01238098d495d.js} +9 -9
- package/cloud-runtime/standalone/.next/static/chunks/{6fbe08eab578c7d3.js → 601996727991149e.js} +9 -9
- package/cloud-runtime/standalone/.next/static/chunks/851b1d97179bd39b.css +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/90b581e9631d8cea.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/b22947e6df238fd5.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/{4200b512bdc226bc.js → b2dcd19ebe3af3f6.js} +9 -9
- package/cloud-runtime/standalone/.next/static/chunks/{e62d5fa120fdf21f.js → bc06988336ffd261.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/{1f415d0ce7ebbd08.js → c93b9643c81c134e.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/{88e24940a5d5d386.js → d78cc7d749043fef.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/ebaf4e8f04bae7b6.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/f4909e7ae8229b1c.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/fd221a50082e5128.js +1 -0
- package/cloud-runtime/standalone/app/api/chat/route.ts +36 -0
- package/cloud-runtime/standalone/app/api/knowledge-notes/route.ts +53 -0
- package/cloud-runtime/standalone/app/projects/[slug]/knowledge/page.tsx +210 -26
- package/cloud-runtime/standalone/components/chat-ui/ChatContainer.tsx +62 -41
- package/cloud-runtime/standalone/components/chat-ui/Markdown.tsx +19 -9
- package/cloud-runtime/standalone/components/thread/WorkspaceSidebar.tsx +33 -28
- package/cloud-runtime/standalone/hooks/useGroupChat.ts +4 -0
- package/cloud-runtime/standalone/hooks/useProcessPolling.ts +4 -3
- package/cloud-runtime/standalone/hooks/useThreadState.ts +10 -2
- package/cloud-runtime/standalone/lib/cli-runner.ts +212 -14
- package/cloud-runtime/standalone/lib/db.ts +1 -1
- package/cloud-runtime/standalone/lib/debug-log.ts +48 -0
- package/cloud-runtime/standalone/lib/history-store.ts +78 -2
- package/cloud-runtime/standalone/lib/orchestrator/chat-processor.ts +51 -0
- package/cloud-runtime/standalone/lib/orchestrator/runtime.ts +6 -0
- package/cloud-runtime/standalone/lib/queue/sqlite-adapter.ts +117 -2
- package/cloud-runtime/standalone/transcri +0 -0
- package/cloud-runtime/standalone/worker/index.js +604 -165
- package/lib/cli/runCli.js +0 -97
- package/lib/commands/update.js +159 -17
- package/package.json +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__0925dd01._.js +0 -46
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__12c7e188._.js +0 -29
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__17c2d68f._.js +0 -52
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__20b3baea._.js +0 -55
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__254e942f._.js +0 -20
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3198c5c8._.js +0 -52
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__36d9edbd._.js +0 -67
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4761dc17._.js +0 -8
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4b1a512c._.js +0 -52
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4dc25d71._.js +0 -18
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7be8f159._.js +0 -52
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ac3c2f7f._.js +0 -52
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__bfcedb7c._.js +0 -52
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e1e7dd1e._.js +0 -25
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e45a2a1d._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fcd3e3b8._.js +0 -15
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ff9c61da._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/_66e1ddec._.js +0 -57
- package/cloud-runtime/standalone/.next/server/chunks/lib_09aac4e7._.js +0 -57
- package/cloud-runtime/standalone/.next/server/chunks/lib_cli-runner_ts_dfcf3fda._.js +0 -18
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_69b6b2e1.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_16c45024._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_678fa868._.js +0 -3
- package/cloud-runtime/standalone/.next/static/chunks/24a6ee21f430da93.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/27129bea5b512ce8.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/463edf3533d27a56.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/5cb0c885b085ea6c.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/60c054bb8b2cffa6.css +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/7e2edf97bd6c0874.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/8249f202d33d0d95.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/9f8f719c4aa25e3d.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/bc727d3d9993e9be.js +0 -1
- /package/cloud-runtime/standalone/.next/static/{i_9nSHyb52FGkCbRgv7EJ → 68nLQxEpwR_feFvB8T4tR}/_buildManifest.js +0 -0
- /package/cloud-runtime/standalone/.next/static/{i_9nSHyb52FGkCbRgv7EJ → 68nLQxEpwR_feFvB8T4tR}/_clientMiddlewareManifest.json +0 -0
- /package/cloud-runtime/standalone/.next/static/{i_9nSHyb52FGkCbRgv7EJ → 68nLQxEpwR_feFvB8T4tR}/_ssgManifest.js +0 -0
|
@@ -9,7 +9,9 @@ import {
|
|
|
9
9
|
MessageSquare,
|
|
10
10
|
Plus,
|
|
11
11
|
Search,
|
|
12
|
+
SquarePen,
|
|
12
13
|
Trash2,
|
|
14
|
+
X,
|
|
13
15
|
} from "lucide-react";
|
|
14
16
|
import { useProjects } from "@/hooks/useProjects";
|
|
15
17
|
import { useProjectMemory, useProjectSkills } from "@/hooks/useProjectResources";
|
|
@@ -24,6 +26,23 @@ type SystemNote = {
|
|
|
24
26
|
source?: string;
|
|
25
27
|
};
|
|
26
28
|
|
|
29
|
+
function mapKnowledgeNoteToSystemNote(note: {
|
|
30
|
+
id: string;
|
|
31
|
+
content: string;
|
|
32
|
+
createdAt?: string;
|
|
33
|
+
updatedAt?: string;
|
|
34
|
+
sourceType?: string;
|
|
35
|
+
} | null | undefined): SystemNote | null {
|
|
36
|
+
if (!note) return null;
|
|
37
|
+
return {
|
|
38
|
+
id: note.id,
|
|
39
|
+
content: note.content,
|
|
40
|
+
created_at: note.createdAt,
|
|
41
|
+
updated_at: note.updatedAt,
|
|
42
|
+
source: note.sourceType,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
|
|
27
46
|
export default function ProjectKnowledgePage({ params }: { params: Promise<{ slug: string }> }) {
|
|
28
47
|
const { slug } = use(params);
|
|
29
48
|
|
|
@@ -99,10 +118,10 @@ export default function ProjectKnowledgePage({ params }: { params: Promise<{ slu
|
|
|
99
118
|
return;
|
|
100
119
|
}
|
|
101
120
|
try {
|
|
102
|
-
const res = await fetch(`/api/
|
|
103
|
-
const data = res.ok ? await res.json() : {
|
|
121
|
+
const res = await fetch(`/api/knowledge-notes?scope=project&subjectId=${encodeURIComponent(projectId)}`);
|
|
122
|
+
const data = res.ok ? await res.json() : { note: null };
|
|
104
123
|
if (!cancelled) {
|
|
105
|
-
setProjectSystemNote((data.
|
|
124
|
+
setProjectSystemNote(mapKnowledgeNoteToSystemNote(data.note));
|
|
106
125
|
}
|
|
107
126
|
} catch {
|
|
108
127
|
if (!cancelled) setProjectSystemNote(null);
|
|
@@ -125,9 +144,9 @@ export default function ProjectKnowledgePage({ params }: { params: Promise<{ slu
|
|
|
125
144
|
try {
|
|
126
145
|
const entries = await Promise.all(
|
|
127
146
|
repos.map(async (repo) => {
|
|
128
|
-
const res = await fetch(`/api/
|
|
129
|
-
const data = res.ok ? await res.json() : {
|
|
130
|
-
return [repo.id, (data.
|
|
147
|
+
const res = await fetch(`/api/knowledge-notes?scope=repo&subjectId=${encodeURIComponent(repo.id)}`);
|
|
148
|
+
const data = res.ok ? await res.json() : { note: null };
|
|
149
|
+
return [repo.id, mapKnowledgeNoteToSystemNote(data.note)] as const;
|
|
131
150
|
})
|
|
132
151
|
);
|
|
133
152
|
if (!cancelled) {
|
|
@@ -244,10 +263,17 @@ export default function ProjectKnowledgePage({ params }: { params: Promise<{ slu
|
|
|
244
263
|
</p>
|
|
245
264
|
</div>
|
|
246
265
|
<SystemNoteCard
|
|
247
|
-
|
|
266
|
+
note={
|
|
267
|
+
projectNoteMatches
|
|
268
|
+
? projectSystemNote
|
|
269
|
+
: projectSystemNote?.content
|
|
270
|
+
? { ...projectSystemNote, content: "" }
|
|
271
|
+
: null
|
|
272
|
+
}
|
|
248
273
|
emptyLabel={searchQuery ? "No matching project note content." : "No project note yet."}
|
|
249
|
-
|
|
250
|
-
|
|
274
|
+
scope="project"
|
|
275
|
+
subjectId={projectId ?? ""}
|
|
276
|
+
onSaved={setProjectSystemNote}
|
|
251
277
|
/>
|
|
252
278
|
</section>
|
|
253
279
|
|
|
@@ -419,6 +445,7 @@ export default function ProjectKnowledgePage({ params }: { params: Promise<{ slu
|
|
|
419
445
|
repo={repo}
|
|
420
446
|
draft={repoDrafts[repo.id] ?? ""}
|
|
421
447
|
systemNote={repoSystemNotes[repo.id] ?? null}
|
|
448
|
+
systemNoteMatches={!searchQuery || (repoSystemNotes[repo.id]?.content ?? "").toLowerCase().includes(searchQuery.toLowerCase())}
|
|
422
449
|
onDraftChange={(value) => setRepoDrafts((prev) => ({ ...prev, [repo.id]: value }))}
|
|
423
450
|
onSave={async () => {
|
|
424
451
|
await fetch(`/api/repos/${repo.id}/knowledge`, {
|
|
@@ -435,6 +462,7 @@ export default function ProjectKnowledgePage({ params }: { params: Promise<{ slu
|
|
|
435
462
|
}
|
|
436
463
|
});
|
|
437
464
|
}}
|
|
465
|
+
onSystemNoteSaved={(note) => setRepoSystemNotes((prev) => ({ ...prev, [repo.id]: note }))}
|
|
438
466
|
/>
|
|
439
467
|
))}
|
|
440
468
|
</div>
|
|
@@ -485,33 +513,178 @@ function StatCard({ label, value, sub }: { label: string; value: number; sub: st
|
|
|
485
513
|
}
|
|
486
514
|
|
|
487
515
|
function SystemNoteCard({
|
|
488
|
-
|
|
516
|
+
note,
|
|
489
517
|
emptyLabel,
|
|
490
|
-
|
|
491
|
-
|
|
518
|
+
scope,
|
|
519
|
+
subjectId,
|
|
520
|
+
onSaved,
|
|
492
521
|
}: {
|
|
493
|
-
|
|
522
|
+
note: SystemNote | null;
|
|
494
523
|
emptyLabel: string;
|
|
495
|
-
|
|
496
|
-
|
|
524
|
+
scope: "project" | "repo";
|
|
525
|
+
subjectId: string;
|
|
526
|
+
onSaved: (note: SystemNote | null) => void;
|
|
497
527
|
}) {
|
|
498
|
-
|
|
528
|
+
const [isEditing, setIsEditing] = useState(false);
|
|
529
|
+
const [draft, setDraft] = useState(note?.content ?? "");
|
|
530
|
+
const [isSaving, setIsSaving] = useState(false);
|
|
531
|
+
const [error, setError] = useState<string | null>(null);
|
|
532
|
+
|
|
533
|
+
useEffect(() => {
|
|
534
|
+
setDraft(note?.content ?? "");
|
|
535
|
+
}, [note?.id, note?.content]);
|
|
536
|
+
|
|
537
|
+
const hasContent = Boolean(note?.content.trim());
|
|
538
|
+
const updatedAt = note?.updated_at ?? note?.created_at;
|
|
539
|
+
const summary = note?.source;
|
|
540
|
+
|
|
541
|
+
async function handleSave() {
|
|
542
|
+
if (!subjectId) return;
|
|
543
|
+
setIsSaving(true);
|
|
544
|
+
setError(null);
|
|
545
|
+
try {
|
|
546
|
+
const res = await fetch("/api/knowledge-notes", {
|
|
547
|
+
method: "PUT",
|
|
548
|
+
headers: { "Content-Type": "application/json" },
|
|
549
|
+
body: JSON.stringify({
|
|
550
|
+
scope,
|
|
551
|
+
subjectId,
|
|
552
|
+
content: draft,
|
|
553
|
+
}),
|
|
554
|
+
});
|
|
555
|
+
const data = await res.json().catch(() => ({}));
|
|
556
|
+
if (!res.ok) {
|
|
557
|
+
throw new Error(data.error || "Failed to save knowledge note");
|
|
558
|
+
}
|
|
559
|
+
const nextNote = mapKnowledgeNoteToSystemNote(data.note);
|
|
560
|
+
onSaved(nextNote);
|
|
561
|
+
setDraft(nextNote?.content ?? "");
|
|
562
|
+
setIsEditing(false);
|
|
563
|
+
} catch (err) {
|
|
564
|
+
setError(err instanceof Error ? err.message : "Failed to save knowledge note");
|
|
565
|
+
} finally {
|
|
566
|
+
setIsSaving(false);
|
|
567
|
+
}
|
|
568
|
+
}
|
|
569
|
+
|
|
570
|
+
if (!hasContent) {
|
|
499
571
|
return (
|
|
500
572
|
<div className="rounded-xl border border-dashed border-[var(--border)] px-4 py-6 text-sm text-[var(--muted-foreground)]">
|
|
501
|
-
|
|
573
|
+
<div className="flex items-center justify-between gap-3">
|
|
574
|
+
<span>{emptyLabel}</span>
|
|
575
|
+
<button
|
|
576
|
+
type="button"
|
|
577
|
+
onClick={() => {
|
|
578
|
+
setDraft(note?.content ?? "");
|
|
579
|
+
setError(null);
|
|
580
|
+
setIsEditing(true);
|
|
581
|
+
}}
|
|
582
|
+
className="inline-flex items-center gap-1.5 rounded-lg border border-[var(--border)] bg-[var(--secondary)] px-3 py-1.5 text-xs font-medium text-[var(--foreground)]"
|
|
583
|
+
>
|
|
584
|
+
<SquarePen className="h-3.5 w-3.5" />
|
|
585
|
+
Edit
|
|
586
|
+
</button>
|
|
587
|
+
</div>
|
|
588
|
+
{isEditing ? (
|
|
589
|
+
<div className="mt-4 space-y-3">
|
|
590
|
+
<textarea
|
|
591
|
+
value={draft}
|
|
592
|
+
onChange={(event) => setDraft(event.target.value)}
|
|
593
|
+
rows={10}
|
|
594
|
+
className="w-full resize-y rounded-xl border border-[var(--border)] bg-[var(--secondary)] px-4 py-3 text-sm text-[var(--foreground)] focus:border-[var(--primary)] focus:outline-none focus:ring-2 focus:ring-[var(--ring)]"
|
|
595
|
+
placeholder="Write the living knowledge note in markdown..."
|
|
596
|
+
/>
|
|
597
|
+
{error ? <p className="text-xs text-red-500">{error}</p> : null}
|
|
598
|
+
<div className="flex items-center justify-end gap-2">
|
|
599
|
+
<button
|
|
600
|
+
type="button"
|
|
601
|
+
onClick={() => {
|
|
602
|
+
setDraft(note?.content ?? "");
|
|
603
|
+
setError(null);
|
|
604
|
+
setIsEditing(false);
|
|
605
|
+
}}
|
|
606
|
+
className="inline-flex items-center gap-1.5 rounded-lg px-3 py-1.5 text-xs font-medium text-[var(--muted-foreground)]"
|
|
607
|
+
disabled={isSaving}
|
|
608
|
+
>
|
|
609
|
+
<X className="h-3.5 w-3.5" />
|
|
610
|
+
Cancel
|
|
611
|
+
</button>
|
|
612
|
+
<button
|
|
613
|
+
type="button"
|
|
614
|
+
onClick={() => void handleSave()}
|
|
615
|
+
disabled={isSaving}
|
|
616
|
+
className="inline-flex items-center gap-1.5 rounded-lg bg-[var(--primary)] px-3 py-1.5 text-xs font-medium text-[var(--primary-foreground)] disabled:opacity-60"
|
|
617
|
+
>
|
|
618
|
+
{isSaving ? "Saving..." : "Save"}
|
|
619
|
+
</button>
|
|
620
|
+
</div>
|
|
621
|
+
</div>
|
|
622
|
+
) : null}
|
|
502
623
|
</div>
|
|
503
624
|
);
|
|
504
625
|
}
|
|
505
626
|
|
|
506
627
|
return (
|
|
507
628
|
<div className="rounded-xl border border-[var(--border)] bg-[var(--secondary)] p-4">
|
|
508
|
-
<div className="mb-3 flex
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
629
|
+
<div className="mb-3 flex items-start justify-between gap-3">
|
|
630
|
+
<div className="flex flex-wrap items-center gap-2 text-[11px] text-[var(--app-shell-soft-text)]">
|
|
631
|
+
{updatedAt ? <span>Updated {new Date(updatedAt).toLocaleString()}</span> : null}
|
|
632
|
+
{summary ? <span>{summary}</span> : null}
|
|
633
|
+
</div>
|
|
634
|
+
{!isEditing ? (
|
|
635
|
+
<button
|
|
636
|
+
type="button"
|
|
637
|
+
onClick={() => {
|
|
638
|
+
setDraft(note?.content ?? "");
|
|
639
|
+
setError(null);
|
|
640
|
+
setIsEditing(true);
|
|
641
|
+
}}
|
|
642
|
+
className="inline-flex items-center gap-1.5 rounded-lg border border-[var(--border)] bg-[var(--card-bg)] px-3 py-1.5 text-xs font-medium text-[var(--foreground)]"
|
|
643
|
+
>
|
|
644
|
+
<SquarePen className="h-3.5 w-3.5" />
|
|
645
|
+
Edit
|
|
646
|
+
</button>
|
|
647
|
+
) : null}
|
|
514
648
|
</div>
|
|
649
|
+
{isEditing ? (
|
|
650
|
+
<div className="space-y-3">
|
|
651
|
+
<textarea
|
|
652
|
+
value={draft}
|
|
653
|
+
onChange={(event) => setDraft(event.target.value)}
|
|
654
|
+
rows={12}
|
|
655
|
+
className="w-full resize-y rounded-xl border border-[var(--border)] bg-[var(--card-bg)] px-4 py-3 text-sm text-[var(--foreground)] focus:border-[var(--primary)] focus:outline-none focus:ring-2 focus:ring-[var(--ring)]"
|
|
656
|
+
placeholder="Write the living knowledge note in markdown..."
|
|
657
|
+
/>
|
|
658
|
+
{error ? <p className="text-xs text-red-500">{error}</p> : null}
|
|
659
|
+
<div className="flex items-center justify-end gap-2">
|
|
660
|
+
<button
|
|
661
|
+
type="button"
|
|
662
|
+
onClick={() => {
|
|
663
|
+
setDraft(note?.content ?? "");
|
|
664
|
+
setError(null);
|
|
665
|
+
setIsEditing(false);
|
|
666
|
+
}}
|
|
667
|
+
className="inline-flex items-center gap-1.5 rounded-lg px-3 py-1.5 text-xs font-medium text-[var(--muted-foreground)]"
|
|
668
|
+
disabled={isSaving}
|
|
669
|
+
>
|
|
670
|
+
<X className="h-3.5 w-3.5" />
|
|
671
|
+
Cancel
|
|
672
|
+
</button>
|
|
673
|
+
<button
|
|
674
|
+
type="button"
|
|
675
|
+
onClick={() => void handleSave()}
|
|
676
|
+
disabled={isSaving}
|
|
677
|
+
className="inline-flex items-center gap-1.5 rounded-lg bg-[var(--primary)] px-3 py-1.5 text-xs font-medium text-[var(--primary-foreground)] disabled:opacity-60"
|
|
678
|
+
>
|
|
679
|
+
{isSaving ? "Saving..." : "Save"}
|
|
680
|
+
</button>
|
|
681
|
+
</div>
|
|
682
|
+
</div>
|
|
683
|
+
) : (
|
|
684
|
+
<div className="text-sm leading-relaxed text-[var(--secondary-foreground)]">
|
|
685
|
+
<Markdown content={note?.content ?? ""} />
|
|
686
|
+
</div>
|
|
687
|
+
)}
|
|
515
688
|
</div>
|
|
516
689
|
);
|
|
517
690
|
}
|
|
@@ -551,14 +724,18 @@ function RepoCard({
|
|
|
551
724
|
repo,
|
|
552
725
|
draft,
|
|
553
726
|
systemNote,
|
|
727
|
+
systemNoteMatches,
|
|
554
728
|
onDraftChange,
|
|
555
729
|
onSave,
|
|
730
|
+
onSystemNoteSaved,
|
|
556
731
|
}: {
|
|
557
732
|
repo: { id: string; name: string; path?: string; notes?: string };
|
|
558
733
|
draft: string;
|
|
559
734
|
systemNote: SystemNote | null;
|
|
735
|
+
systemNoteMatches: boolean;
|
|
560
736
|
onDraftChange: (value: string) => void;
|
|
561
737
|
onSave: () => Promise<void>;
|
|
738
|
+
onSystemNoteSaved: (note: SystemNote | null) => void;
|
|
562
739
|
}) {
|
|
563
740
|
return (
|
|
564
741
|
<div className="group flex flex-col rounded-2xl border border-[var(--border)] bg-[var(--card-bg)] p-5 shadow-[var(--shadow-sm)] transition-colors hover:border-[var(--card-hover-border)]">
|
|
@@ -586,10 +763,17 @@ function RepoCard({
|
|
|
586
763
|
Living Repo Note
|
|
587
764
|
</p>
|
|
588
765
|
<SystemNoteCard
|
|
589
|
-
|
|
766
|
+
note={
|
|
767
|
+
systemNoteMatches
|
|
768
|
+
? systemNote
|
|
769
|
+
: systemNote?.content
|
|
770
|
+
? { ...systemNote, content: "" }
|
|
771
|
+
: null
|
|
772
|
+
}
|
|
590
773
|
emptyLabel="No repo note yet."
|
|
591
|
-
|
|
592
|
-
|
|
774
|
+
scope="repo"
|
|
775
|
+
subjectId={repo.id}
|
|
776
|
+
onSaved={onSystemNoteSaved}
|
|
593
777
|
/>
|
|
594
778
|
</div>
|
|
595
779
|
|
|
@@ -240,9 +240,20 @@ export function ChatContainer({
|
|
|
240
240
|
activeThreadId ? { workspaceId: activeThreadId } : null,
|
|
241
241
|
{ messages, setMessages }
|
|
242
242
|
);
|
|
243
|
-
const activeChatRuns = (
|
|
244
|
-
|
|
245
|
-
|
|
243
|
+
const activeChatRuns = useMemo(() => {
|
|
244
|
+
const now = Date.now();
|
|
245
|
+
const byId = new Map(polledChatRuns.map((run) => [run.chatRunId, run]));
|
|
246
|
+
|
|
247
|
+
for (const run of chatRuns) {
|
|
248
|
+
if (!run.optimistic || byId.has(run.chatRunId)) continue;
|
|
249
|
+
if (now - (run.enqueuedAt ?? 0) > 5000) continue;
|
|
250
|
+
byId.set(run.chatRunId, run);
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
return Array.from(byId.values()).filter(
|
|
254
|
+
(run) => run.status === "queued" || run.status === "running"
|
|
255
|
+
);
|
|
256
|
+
}, [chatRuns, polledChatRuns]);
|
|
246
257
|
const composerActivityStatus =
|
|
247
258
|
polledActiveAgents.size > 0 || activeChatRuns.some((run) => run.status === "running")
|
|
248
259
|
? "working"
|
|
@@ -252,18 +263,26 @@ export function ChatContainer({
|
|
|
252
263
|
const loading = composerActivityStatus !== "ready";
|
|
253
264
|
|
|
254
265
|
useEffect(() => {
|
|
255
|
-
if (polledChatRuns.length === 0) return;
|
|
256
266
|
setChatRuns((prev) => {
|
|
267
|
+
const now = Date.now();
|
|
257
268
|
const byId = new Map(
|
|
258
269
|
prev
|
|
259
270
|
.filter((run) => typeof run.chatRunId === "string" && run.chatRunId.length > 0)
|
|
260
271
|
.map((run) => [run.chatRunId, run])
|
|
261
272
|
);
|
|
273
|
+
|
|
262
274
|
for (const run of polledChatRuns) {
|
|
263
275
|
if (!run?.chatRunId) continue;
|
|
264
276
|
byId.set(run.chatRunId, run);
|
|
265
277
|
}
|
|
266
|
-
|
|
278
|
+
|
|
279
|
+
const next = Array.from(byId.values()).filter((run) => {
|
|
280
|
+
if (!run.optimistic) return true;
|
|
281
|
+
if (polledChatRuns.some((polledRun) => polledRun.chatRunId === run.chatRunId)) return true;
|
|
282
|
+
return now - (run.enqueuedAt ?? 0) <= 5000;
|
|
283
|
+
});
|
|
284
|
+
|
|
285
|
+
return next.sort((a, b) =>
|
|
267
286
|
String(a.chatRunId || "").localeCompare(String(b.chatRunId || ""))
|
|
268
287
|
);
|
|
269
288
|
});
|
|
@@ -546,7 +565,7 @@ export function ChatContainer({
|
|
|
546
565
|
const activeThreadTitle = useMemo(() => {
|
|
547
566
|
if (!openThreadId) return "";
|
|
548
567
|
const rootMsg = messages.find((m) => m.id === openThreadId);
|
|
549
|
-
if (!rootMsg) return "
|
|
568
|
+
if (!rootMsg) return "Discussion";
|
|
550
569
|
const text = rootMsg.content.trim();
|
|
551
570
|
return text.length > 60 ? text.slice(0, 60) + "..." : text;
|
|
552
571
|
}, [openThreadId, messages]);
|
|
@@ -1580,7 +1599,9 @@ export function ChatContainer({
|
|
|
1580
1599
|
);
|
|
1581
1600
|
|
|
1582
1601
|
const mainToolbar = (
|
|
1583
|
-
<div
|
|
1602
|
+
<div
|
|
1603
|
+
className="border-b border-[var(--app-shell-border)] bg-[var(--app-shell-surface)] px-4 py-2.5 backdrop-blur-xl md:px-6"
|
|
1604
|
+
>
|
|
1584
1605
|
<div className="mx-auto flex max-w-5xl items-center gap-3">
|
|
1585
1606
|
<div className="flex min-w-0 items-center flex-shrink-0">
|
|
1586
1607
|
{showSidebar && !workspaceSidebarVisible && (
|
|
@@ -1657,36 +1678,36 @@ export function ChatContainer({
|
|
|
1657
1678
|
|
|
1658
1679
|
return (
|
|
1659
1680
|
<div className="flex h-screen bg-[var(--app-shell-bg)] text-[var(--foreground)]">
|
|
1660
|
-
|
|
1661
|
-
|
|
1662
|
-
|
|
1663
|
-
|
|
1664
|
-
|
|
1665
|
-
|
|
1666
|
-
|
|
1667
|
-
|
|
1668
|
-
|
|
1669
|
-
|
|
1670
|
-
|
|
1671
|
-
|
|
1672
|
-
|
|
1673
|
-
|
|
1674
|
-
|
|
1675
|
-
|
|
1676
|
-
|
|
1677
|
-
|
|
1678
|
-
|
|
1679
|
-
|
|
1680
|
-
|
|
1681
|
-
|
|
1682
|
-
|
|
1683
|
-
|
|
1684
|
-
|
|
1685
|
-
|
|
1686
|
-
|
|
1687
|
-
|
|
1688
|
-
|
|
1689
|
-
|
|
1681
|
+
{showSidebar ? (
|
|
1682
|
+
<WorkspaceSidebar
|
|
1683
|
+
threads={threads}
|
|
1684
|
+
participants={participants}
|
|
1685
|
+
activeThreadId={activeThreadId}
|
|
1686
|
+
isLoading={threadsLoading}
|
|
1687
|
+
isRestoringActiveThread={isRestoringActiveThread}
|
|
1688
|
+
isCreating={isCreating}
|
|
1689
|
+
deletingThreadId={deletingThreadId}
|
|
1690
|
+
renamingThreadId={renamingThreadId}
|
|
1691
|
+
onSelectThread={selectThread}
|
|
1692
|
+
onCreateThread={createThread}
|
|
1693
|
+
onRenameThread={renameThread}
|
|
1694
|
+
onDeleteThread={handleDeleteThread}
|
|
1695
|
+
activeParticipantIds={activeParticipantIds}
|
|
1696
|
+
onToggleParticipantActive={handleToggleParticipantActive}
|
|
1697
|
+
visible={workspaceSidebarVisible}
|
|
1698
|
+
onToggle={toggleWorkspaceSidebar}
|
|
1699
|
+
projects={projects}
|
|
1700
|
+
onCreateProject={createProject}
|
|
1701
|
+
onUpdateProject={updateProject}
|
|
1702
|
+
onDeleteProject={deleteProject}
|
|
1703
|
+
onAddAgentToProject={addAgentToProject}
|
|
1704
|
+
onRemoveAgentFromProject={removeAgentFromProject}
|
|
1705
|
+
onReorderProjectAgents={reorderProjectAgents}
|
|
1706
|
+
onUpdateParticipant={handleUpdate}
|
|
1707
|
+
onSelectProject={handleSelectProject}
|
|
1708
|
+
/>
|
|
1709
|
+
) : null}
|
|
1710
|
+
<div className="flex flex-col flex-1 min-w-0 relative">
|
|
1690
1711
|
{
|
|
1691
1712
|
isRestoringActiveThread ? (
|
|
1692
1713
|
<div className="flex-1 flex items-center justify-center px-4 text-sm text-[var(--muted-foreground)]">
|
|
@@ -1862,16 +1883,16 @@ export function ChatContainer({
|
|
|
1862
1883
|
</div>
|
|
1863
1884
|
)
|
|
1864
1885
|
}
|
|
1865
|
-
</div
|
|
1886
|
+
</div>
|
|
1866
1887
|
{initialRootMessageId && (
|
|
1867
1888
|
<LogPanel logs={logs} participants={participants} onClear={() => void clearLogs(activeThreadId)} open={logsOpen} onToggle={() => setLogsOpen(false)} />
|
|
1868
1889
|
)}
|
|
1869
1890
|
<ConfirmDialog
|
|
1870
1891
|
isOpen={pendingDelete !== null}
|
|
1871
|
-
title={pendingDelete?.type === "thread" ? "Delete
|
|
1892
|
+
title={pendingDelete?.type === "thread" ? "Delete Discussion" : "Delete Message"}
|
|
1872
1893
|
message={
|
|
1873
1894
|
pendingDelete?.type === "thread"
|
|
1874
|
-
? "This will permanently delete this
|
|
1895
|
+
? "This will permanently delete this discussion and all of its replies. This action cannot be undone."
|
|
1875
1896
|
: "This will permanently delete this message. This action cannot be undone."
|
|
1876
1897
|
}
|
|
1877
1898
|
preview={pendingDelete?.preview}
|
|
@@ -1881,6 +1902,6 @@ export function ChatContainer({
|
|
|
1881
1902
|
onConfirm={handleConfirmDelete}
|
|
1882
1903
|
onCancel={handleCancelDelete}
|
|
1883
1904
|
/>
|
|
1884
|
-
</div
|
|
1905
|
+
</div>
|
|
1885
1906
|
);
|
|
1886
1907
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
+
import React from "react";
|
|
3
4
|
import ReactMarkdown from "react-markdown";
|
|
4
5
|
import remarkGfm from "remark-gfm";
|
|
5
6
|
import type { Components } from "react-markdown";
|
|
@@ -9,6 +10,18 @@ interface Props {
|
|
|
9
10
|
isUser?: boolean;
|
|
10
11
|
}
|
|
11
12
|
|
|
13
|
+
function isBlockCode(className?: string, children?: React.ReactNode) {
|
|
14
|
+
if (className?.includes("language-")) return true;
|
|
15
|
+
const text = React.Children.toArray(children).join("");
|
|
16
|
+
return text.includes("\n");
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
function codeBlockClasses(isUser?: boolean) {
|
|
20
|
+
return isUser
|
|
21
|
+
? "bg-[var(--card-bg)]/[0.12] rounded-lg p-3 my-3 overflow-x-auto border border-white/[0.08]"
|
|
22
|
+
: "bg-black/[0.06] rounded-lg p-3 my-3 overflow-x-auto border border-black/[0.06]";
|
|
23
|
+
}
|
|
24
|
+
|
|
12
25
|
const components: Components = {
|
|
13
26
|
p: ({ children }) => <p className="mb-3 last:mb-0 leading-relaxed">{children}</p>,
|
|
14
27
|
strong: ({ children }) => <strong className="font-semibold">{children}</strong>,
|
|
@@ -30,12 +43,10 @@ const components: Components = {
|
|
|
30
43
|
<h3 className="text-sm font-semibold mb-1.5 mt-2.5 first:mt-0">{children}</h3>
|
|
31
44
|
),
|
|
32
45
|
code: ({ children, className }) => {
|
|
33
|
-
const isBlock = className
|
|
46
|
+
const isBlock = isBlockCode(className, children);
|
|
34
47
|
if (isBlock) {
|
|
35
48
|
return (
|
|
36
|
-
<
|
|
37
|
-
<code className="text-[13px] leading-relaxed font-mono">{children}</code>
|
|
38
|
-
</pre>
|
|
49
|
+
<code className={`text-[13px] leading-relaxed font-mono whitespace-pre ${className ?? ""}`.trim()}>{children}</code>
|
|
39
50
|
);
|
|
40
51
|
}
|
|
41
52
|
return (
|
|
@@ -44,7 +55,7 @@ const components: Components = {
|
|
|
44
55
|
</code>
|
|
45
56
|
);
|
|
46
57
|
},
|
|
47
|
-
pre: ({ children }) =>
|
|
58
|
+
pre: ({ children }) => <pre className={codeBlockClasses(false)}>{children}</pre>,
|
|
48
59
|
blockquote: ({ children }) => (
|
|
49
60
|
<blockquote className="border-l-[3px] border-[var(--border)] pl-3 my-3 text-[var(--muted-foreground)]">
|
|
50
61
|
{children}
|
|
@@ -80,12 +91,10 @@ const userComponents: Components = {
|
|
|
80
91
|
<ol className="list-decimal pl-5 mb-3 last:mb-0 space-y-1.5 marker:text-white/60">{children}</ol>
|
|
81
92
|
),
|
|
82
93
|
code: ({ children, className }) => {
|
|
83
|
-
const isBlock = className
|
|
94
|
+
const isBlock = isBlockCode(className, children);
|
|
84
95
|
if (isBlock) {
|
|
85
96
|
return (
|
|
86
|
-
<
|
|
87
|
-
<code className="text-[13px] leading-relaxed font-mono">{children}</code>
|
|
88
|
-
</pre>
|
|
97
|
+
<code className={`text-[13px] leading-relaxed font-mono whitespace-pre ${className ?? ""}`.trim()}>{children}</code>
|
|
89
98
|
);
|
|
90
99
|
}
|
|
91
100
|
return (
|
|
@@ -94,6 +103,7 @@ const userComponents: Components = {
|
|
|
94
103
|
</code>
|
|
95
104
|
);
|
|
96
105
|
},
|
|
106
|
+
pre: ({ children }) => <pre className={codeBlockClasses(true)}>{children}</pre>,
|
|
97
107
|
blockquote: ({ children }) => (
|
|
98
108
|
<blockquote className="border-l-[3px] border-white/30 pl-3 my-3 text-white/80">
|
|
99
109
|
{children}
|