agent-insight 0.4.1 → 0.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/app-path-routes-manifest.json +13 -0
- package/.next/standalone/.next/build-manifest.json +2 -2
- package/.next/standalone/.next/prerender-manifest.json +51 -3
- package/.next/standalone/.next/routes-manifest.json +82 -0
- package/.next/standalone/.next/server/app/(main)/accessconfig/channels/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/accessconfig/health/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/accessconfig/install/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(main)/accessconfig/install/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/accessconfig/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/accessconfig/webhooks/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/agents/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(main)/agents/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/dashboard/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(main)/dashboard/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/dataset/[id]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/dataset/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(main)/dataset/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/eval/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(main)/eval/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/eval/run/[runId]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(main)/eval/run/[runId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/eval/trajectory/[taskId]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(main)/eval/trajectory/[taskId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/eval/trajectory/[taskId]/trace/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(main)/eval/trajectory/[taskId]/trace/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/eval/trajectory/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(main)/eval/trajectory/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/evaluation/[id]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/fault/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(main)/fault/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/infra/page/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/(main)/infra/page/build-manifest.json +17 -0
- package/.next/standalone/.next/server/app/(main)/infra/page/next-font-manifest.json +6 -0
- package/.next/standalone/.next/server/app/(main)/infra/page/react-loadable-manifest.json +1 -0
- package/.next/standalone/.next/server/app/(main)/infra/page/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/(main)/infra/page.js +17 -0
- package/.next/standalone/.next/server/app/(main)/infra/page.js.map +5 -0
- package/.next/standalone/.next/server/app/(main)/infra/page.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/(main)/infra/page_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/(main)/infra/source/[id]/page/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/(main)/infra/source/[id]/page/build-manifest.json +17 -0
- package/.next/standalone/.next/server/app/(main)/infra/source/[id]/page/next-font-manifest.json +6 -0
- package/.next/standalone/.next/server/app/(main)/infra/source/[id]/page/react-loadable-manifest.json +1 -0
- package/.next/standalone/.next/server/app/(main)/infra/source/[id]/page/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/(main)/infra/source/[id]/page.js +17 -0
- package/.next/standalone/.next/server/app/(main)/infra/source/[id]/page.js.map +5 -0
- package/.next/standalone/.next/server/app/(main)/infra/source/[id]/page.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/(main)/infra/source/[id]/page_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/(main)/infra/sources/page/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/(main)/infra/sources/page/build-manifest.json +17 -0
- package/.next/standalone/.next/server/app/(main)/infra/sources/page/next-font-manifest.json +6 -0
- package/.next/standalone/.next/server/app/(main)/infra/sources/page/react-loadable-manifest.json +1 -0
- package/.next/standalone/.next/server/app/(main)/infra/sources/page/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/(main)/infra/sources/page.js +17 -0
- package/.next/standalone/.next/server/app/(main)/infra/sources/page.js.map +5 -0
- package/.next/standalone/.next/server/app/(main)/infra/sources/page.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/(main)/infra/sources/page_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/(main)/memory/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/metrics/evaluators/[id]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(main)/metrics/evaluators/[id]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/metrics/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(main)/metrics/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/modelconfig/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/modelconfig/registry/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(main)/modelconfig/registry/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/modelconfig/web-search/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(main)/modelconfig/web-search/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/optapi/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/quality/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(main)/quality/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/security/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/skill-eval/grayscale/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(main)/skill-eval/grayscale/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/skill-eval/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(main)/skill-eval/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/skill-eval/trigger/[skillName]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/skill-generator/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(main)/skill-generator/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/skill-history/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(main)/skill-history/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/skill-opt/[name]/[version]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(main)/skill-opt/[name]/[version]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/skill-opt/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(main)/skill-opt/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/skill-release/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/skills/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(main)/skills/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(main)/trace/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(main)/trace/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_global-error.html +2 -2
- package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +3 -3
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/accessconfig/channels.html +1 -1
- package/.next/standalone/.next/server/app/accessconfig/channels.rsc +5 -5
- package/.next/standalone/.next/server/app/accessconfig/channels.segments/!KG1haW4p/accessconfig/channels/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/accessconfig/channels.segments/!KG1haW4p/accessconfig/channels.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig/channels.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig/channels.segments/!KG1haW4p.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/accessconfig/channels.segments/_full.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/accessconfig/channels.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig/channels.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/accessconfig/channels.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/accessconfig/health.html +1 -1
- package/.next/standalone/.next/server/app/accessconfig/health.rsc +5 -5
- package/.next/standalone/.next/server/app/accessconfig/health.segments/!KG1haW4p/accessconfig/health/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/accessconfig/health.segments/!KG1haW4p/accessconfig/health.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig/health.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig/health.segments/!KG1haW4p.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/accessconfig/health.segments/_full.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/accessconfig/health.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig/health.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/accessconfig/health.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/accessconfig/install.html +3 -1
- package/.next/standalone/.next/server/app/accessconfig/install.rsc +5 -5
- package/.next/standalone/.next/server/app/accessconfig/install.segments/!KG1haW4p/accessconfig/install/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/accessconfig/install.segments/!KG1haW4p/accessconfig/install.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig/install.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig/install.segments/!KG1haW4p.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/accessconfig/install.segments/_full.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/accessconfig/install.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig/install.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/accessconfig/install.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/accessconfig/webhooks.html +1 -1
- package/.next/standalone/.next/server/app/accessconfig/webhooks.rsc +5 -5
- package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/!KG1haW4p/accessconfig/webhooks/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/!KG1haW4p/accessconfig/webhooks.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/!KG1haW4p.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/_full.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/accessconfig.html +1 -1
- package/.next/standalone/.next/server/app/accessconfig.rsc +4 -4
- package/.next/standalone/.next/server/app/accessconfig.segments/!KG1haW4p/accessconfig/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig.segments/!KG1haW4p.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/accessconfig.segments/_full.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/accessconfig.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/accessconfig.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/accessconfig.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/agents.html +1 -1
- package/.next/standalone/.next/server/app/agents.rsc +5 -5
- package/.next/standalone/.next/server/app/agents.segments/!KG1haW4p/agents/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/agents.segments/!KG1haW4p/agents.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/agents.segments/!KG1haW4p.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/agents.segments/_full.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/agents.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/agents.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/api/agent/run/route.js +5 -4
- package/.next/standalone/.next/server/app/api/agent/run/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent/stream/route.js +5 -4
- package/.next/standalone/.next/server/app/api/agent/stream/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent-datasets/[id]/route.js +5 -4
- package/.next/standalone/.next/server/app/api/agent-datasets/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agent-datasets/route.js +6 -5
- package/.next/standalone/.next/server/app/api/agent-datasets/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agents/[id]/route.js +3 -3
- package/.next/standalone/.next/server/app/api/agents/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/agents/route.js +2 -2
- package/.next/standalone/.next/server/app/api/agents/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/auth/apikey/route.js +5 -5
- package/.next/standalone/.next/server/app/api/auth/apikey/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/auth/organization/route.js +3 -3
- package/.next/standalone/.next/server/app/api/auth/organization/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/dashboard/stats/route.js +3 -3
- package/.next/standalone/.next/server/app/api/dashboard/stats/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/debug/batch-tasks/[taskId]/route.js +6 -5
- package/.next/standalone/.next/server/app/api/debug/batch-tasks/[taskId]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/debug/batch-tasks/route.js +2 -2
- package/.next/standalone/.next/server/app/api/debug/batch-tasks/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/debug/execute/[jobId]/route.js +2 -2
- package/.next/standalone/.next/server/app/api/debug/execute/[jobId]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/debug/execute/route.js +5 -4
- package/.next/standalone/.next/server/app/api/debug/execute/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/debug/grayscale-tasks/[taskId]/route.js +14 -13
- package/.next/standalone/.next/server/app/api/debug/grayscale-tasks/[taskId]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/debug/grayscale-tasks/route.js +2 -2
- package/.next/standalone/.next/server/app/api/debug/grayscale-tasks/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/debug/history/[id]/route.js +2 -2
- package/.next/standalone/.next/server/app/api/debug/history/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/debug/history/route.js +2 -2
- package/.next/standalone/.next/server/app/api/debug/history/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/eval/config/backfill-routing/route.js +7 -6
- package/.next/standalone/.next/server/app/api/eval/config/backfill-routing/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/eval/config/create/route.js +6 -5
- package/.next/standalone/.next/server/app/api/eval/config/create/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/eval/config/reparse/route.js +5 -4
- package/.next/standalone/.next/server/app/api/eval/config/reparse/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/eval/config/route.js +9 -8
- package/.next/standalone/.next/server/app/api/eval/config/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/eval/config/status/route.js +3 -3
- package/.next/standalone/.next/server/app/api/eval/config/status/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/eval/evaluation/route.js +1 -1
- package/.next/standalone/.next/server/app/api/eval/evaluation/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/eval/rejudge/route.js +9 -8
- package/.next/standalone/.next/server/app/api/eval/rejudge/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/eval/settings/route.js +4 -3
- package/.next/standalone/.next/server/app/api/eval/settings/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/eval/settings/test/route.js +5 -4
- package/.next/standalone/.next/server/app/api/eval/settings/test/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/eval/terminate-all/route.js +6 -5
- package/.next/standalone/.next/server/app/api/eval/terminate-all/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/eval/trajectory/results/[id]/route.js +3 -3
- package/.next/standalone/.next/server/app/api/eval/trajectory/results/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/eval/trajectory/results/route.js +6 -5
- package/.next/standalone/.next/server/app/api/eval/trajectory/results/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/eval/trajectory/run/route.js +17 -16
- package/.next/standalone/.next/server/app/api/eval/trajectory/run/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/eval/trajectory/runs/route.js +2 -2
- package/.next/standalone/.next/server/app/api/eval/trajectory/runs/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/evaluation/[id]/route.js +6 -5
- package/.next/standalone/.next/server/app/api/evaluation/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/evaluation/cancel/route.js +3 -3
- package/.next/standalone/.next/server/app/api/evaluation/cancel/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/fault/diagnosis/session/route.js +2 -2
- package/.next/standalone/.next/server/app/api/fault/diagnosis/session/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/fault/diagnosis/stream/route.js +6 -5
- package/.next/standalone/.next/server/app/api/fault/diagnosis/stream/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/guide/route.js +3 -3
- package/.next/standalone/.next/server/app/api/guide/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ingest/opencode/session-complete/route.js +7 -6
- package/.next/standalone/.next/server/app/api/ingest/opencode/session-complete/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ingest/otel/v1/logs/route.js +2 -2
- package/.next/standalone/.next/server/app/api/ingest/otel/v1/logs/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ingest/otel/v1/metrics/route.js +5 -2
- package/.next/standalone/.next/server/app/api/ingest/otel/v1/metrics/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ingest/otel/v1/traces/route.js +9 -8
- package/.next/standalone/.next/server/app/api/ingest/otel/v1/traces/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ingest/proxy/[taskId]/[...path]/route.js +4 -3
- package/.next/standalone/.next/server/app/api/ingest/proxy/[taskId]/[...path]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ingest/proxy/[taskId]/end/route.js +12 -11
- package/.next/standalone/.next/server/app/api/ingest/proxy/[taskId]/end/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ingest/proxy/[taskId]/start/route.js +3 -3
- package/.next/standalone/.next/server/app/api/ingest/proxy/[taskId]/start/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ingest/sync/manifest/route.js +3 -3
- package/.next/standalone/.next/server/app/api/ingest/sync/manifest/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ingest/sync/opencode/route.js +3 -3
- package/.next/standalone/.next/server/app/api/ingest/sync/opencode/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ingest/upload/route.js +14 -13
- package/.next/standalone/.next/server/app/api/ingest/upload/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/observe/data/route.js +9 -8
- package/.next/standalone/.next/server/app/api/observe/data/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/agent-debug/route.js +10 -9
- package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/agent-debug/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/agent-debug/skills-analysis/route.js +12 -11
- package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/agent-debug/skills-analysis/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/analyze-match/route.js +7 -6
- package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/analyze-match/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/infra/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/infra/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/infra/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/infra/route.js +9 -0
- package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/infra/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/infra/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/infra/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/observe/infra/diagnose/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/observe/infra/diagnose/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/observe/infra/diagnose/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/observe/infra/diagnose/route.js +7 -0
- package/.next/standalone/.next/server/app/api/observe/infra/diagnose/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/observe/infra/diagnose/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/observe/infra/diagnose/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/observe/infra/history/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/observe/infra/history/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/observe/infra/history/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/observe/infra/history/route.js +8 -0
- package/.next/standalone/.next/server/app/api/observe/infra/history/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/observe/infra/history/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/observe/infra/history/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/observe/infra/poll/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/observe/infra/poll/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/observe/infra/poll/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/observe/infra/poll/route.js +8 -0
- package/.next/standalone/.next/server/app/api/observe/infra/poll/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/observe/infra/poll/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/observe/infra/poll/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/observe/infra/sources/derive/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/observe/infra/sources/derive/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/observe/infra/sources/derive/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/observe/infra/sources/derive/route.js +8 -0
- package/.next/standalone/.next/server/app/api/observe/infra/sources/derive/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/observe/infra/sources/derive/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/observe/infra/sources/derive/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/observe/infra/sources/overview/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/observe/infra/sources/overview/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/observe/infra/sources/overview/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/observe/infra/sources/overview/route.js +8 -0
- package/.next/standalone/.next/server/app/api/observe/infra/sources/overview/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/observe/infra/sources/overview/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/observe/infra/sources/overview/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/observe/infra/sources/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/observe/infra/sources/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/observe/infra/sources/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/observe/infra/sources/route.js +8 -0
- package/.next/standalone/.next/server/app/api/observe/infra/sources/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/observe/infra/sources/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/observe/infra/sources/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/observe/infra/sources/sessions/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/observe/infra/sources/sessions/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/observe/infra/sources/sessions/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/observe/infra/sources/sessions/route.js +8 -0
- package/.next/standalone/.next/server/app/api/observe/infra/sources/sessions/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/observe/infra/sources/sessions/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/observe/infra/sources/sessions/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/observe/infra/sources/test/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/observe/infra/sources/test/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/observe/infra/sources/test/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/observe/infra/sources/test/route.js +8 -0
- package/.next/standalone/.next/server/app/api/observe/infra/sources/test/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/observe/infra/sources/test/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/observe/infra/sources/test/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/observe/session/route.js +5 -4
- package/.next/standalone/.next/server/app/api/observe/session/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/observe/task-stats/route.js +8 -7
- package/.next/standalone/.next/server/app/api/observe/task-stats/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/public/otel/v1/traces/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/public/otel/v1/traces/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/public/otel/v1/traces/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/public/otel/v1/traces/route.js +17 -0
- package/.next/standalone/.next/server/app/api/public/otel/v1/traces/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/public/otel/v1/traces/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/public/otel/v1/traces/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/quality/agents/route.js +9 -8
- package/.next/standalone/.next/server/app/api/quality/agents/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/quality/backfill/route.js +11 -10
- package/.next/standalone/.next/server/app/api/quality/backfill/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/quality/executions/route.js +9 -8
- package/.next/standalone/.next/server/app/api/quality/executions/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/quality/report/route.js +3 -3
- package/.next/standalone/.next/server/app/api/quality/report/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/draft/route.js +7 -6
- package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/draft/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/route.js +3 -3
- package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/run/[runId]/cancel/route.js +2 -2
- package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/run/[runId]/cancel/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/run/route.js +8 -7
- package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/run/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/runs/route.js +3 -3
- package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/runs/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/upload/route.js +3 -3
- package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/upload/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skill-generator/attachments/route.js +1 -1
- package/.next/standalone/.next/server/app/api/skill-generator/attachments/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skill-generator/chat/route.js +7 -6
- package/.next/standalone/.next/server/app/api/skill-generator/chat/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skill-generator/download/[sessionId]/route.js +3 -3
- package/.next/standalone/.next/server/app/api/skill-generator/download/[sessionId]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skill-generator/files/content/route.js +1 -1
- package/.next/standalone/.next/server/app/api/skill-generator/files/content/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skill-generator/files/download/route.js +1 -1
- package/.next/standalone/.next/server/app/api/skill-generator/files/download/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skill-generator/files/info/route.js +1 -1
- package/.next/standalone/.next/server/app/api/skill-generator/files/info/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skill-generator/files/list/route.js +1 -1
- package/.next/standalone/.next/server/app/api/skill-generator/files/list/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skill-generator/sessions/[id]/route.js +2 -2
- package/.next/standalone/.next/server/app/api/skill-generator/sessions/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skill-generator/sessions/route.js +2 -2
- package/.next/standalone/.next/server/app/api/skill-generator/sessions/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skill-opt/chat/route.js +11 -10
- package/.next/standalone/.next/server/app/api/skill-opt/chat/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skill-opt/plan/items/[id]/route.js +3 -3
- package/.next/standalone/.next/server/app/api/skill-opt/plan/items/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skill-opt/plan/route.js +6 -5
- package/.next/standalone/.next/server/app/api/skill-opt/plan/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skill-opt/sessions/[id]/iterations/[draftNumber]/apply/route.js +8 -7
- package/.next/standalone/.next/server/app/api/skill-opt/sessions/[id]/iterations/[draftNumber]/apply/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skill-opt/sessions/[id]/iterations/route.js +2 -2
- package/.next/standalone/.next/server/app/api/skill-opt/sessions/[id]/iterations/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skill-opt/sessions/[id]/route.js +2 -2
- package/.next/standalone/.next/server/app/api/skill-opt/sessions/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skill-opt/sessions/route.js +2 -2
- package/.next/standalone/.next/server/app/api/skill-opt/sessions/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/[id]/activate/route.js +3 -3
- package/.next/standalone/.next/server/app/api/skills/[id]/activate/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/[id]/benchmark-generate/route.js +10 -9
- package/.next/standalone/.next/server/app/api/skills/[id]/benchmark-generate/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/[id]/runs/route.js +7 -6
- package/.next/standalone/.next/server/app/api/skills/[id]/runs/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/[id]/toggle/route.js +3 -3
- package/.next/standalone/.next/server/app/api/skills/[id]/toggle/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/download/route.js +3 -3
- package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/download/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/evaluate/route.js +6 -5
- package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/evaluate/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/evaluation-summary/route.js +6 -5
- package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/evaluation-summary/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/files/[...path]/route.js +3 -3
- package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/files/[...path]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/parse-flow/route.js +6 -5
- package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/parse-flow/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/route.js +3 -3
- package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/[id]/versions/route.js +7 -6
- package/.next/standalone/.next/server/app/api/skills/[id]/versions/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/automation/import/route.js +6 -5
- package/.next/standalone/.next/server/app/api/skills/automation/import/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/automation/push/route.js +3 -3
- package/.next/standalone/.next/server/app/api/skills/automation/push/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/by-name/[name]/analysis-diagnosis/route.js +5 -4
- package/.next/standalone/.next/server/app/api/skills/by-name/[name]/analysis-diagnosis/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/by-name/[name]/optimization-points/resolve/route.js +2 -2
- package/.next/standalone/.next/server/app/api/skills/by-name/[name]/optimization-points/resolve/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/by-name/[name]/optimization-points/route.js +2 -2
- package/.next/standalone/.next/server/app/api/skills/by-name/[name]/optimization-points/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/by-name/route.js +3 -3
- package/.next/standalone/.next/server/app/api/skills/by-name/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/logs/route.js +7 -6
- package/.next/standalone/.next/server/app/api/skills/logs/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/publish/route.js +6 -5
- package/.next/standalone/.next/server/app/api/skills/publish/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/route.js +4 -4
- package/.next/standalone/.next/server/app/api/skills/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/sync-enterprise/route.js +3 -3
- package/.next/standalone/.next/server/app/api/skills/sync-enterprise/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/upload/route.js +7 -6
- package/.next/standalone/.next/server/app/api/skills/upload/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/user-evaluators/route.js +3 -2
- package/.next/standalone/.next/server/app/api/user-evaluators/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/dashboard.html +1 -1
- package/.next/standalone/.next/server/app/dashboard.rsc +5 -5
- package/.next/standalone/.next/server/app/dashboard.segments/!KG1haW4p/dashboard/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/dashboard.segments/!KG1haW4p/dashboard.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/dashboard.segments/!KG1haW4p.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/dashboard.segments/_full.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/dashboard.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/dashboard.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/dataset.html +1 -1
- package/.next/standalone/.next/server/app/dataset.rsc +5 -5
- package/.next/standalone/.next/server/app/dataset.segments/!KG1haW4p/dataset/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/dataset.segments/!KG1haW4p/dataset.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/dataset.segments/!KG1haW4p.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/dataset.segments/_full.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/dataset.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/dataset.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dataset.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/eval/trajectory.html +1 -1
- package/.next/standalone/.next/server/app/eval/trajectory.rsc +5 -5
- package/.next/standalone/.next/server/app/eval/trajectory.segments/!KG1haW4p/eval/trajectory/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/eval/trajectory.segments/!KG1haW4p/eval/trajectory.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/eval/trajectory.segments/!KG1haW4p/eval.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/eval/trajectory.segments/!KG1haW4p.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/eval/trajectory.segments/_full.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/eval/trajectory.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/eval/trajectory.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/eval/trajectory.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/eval.html +1 -1
- package/.next/standalone/.next/server/app/eval.rsc +5 -5
- package/.next/standalone/.next/server/app/eval.segments/!KG1haW4p/eval/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/eval.segments/!KG1haW4p/eval.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/eval.segments/!KG1haW4p.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/eval.segments/_full.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/eval.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/eval.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/eval.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/fault.html +1 -1
- package/.next/standalone/.next/server/app/fault.rsc +5 -5
- package/.next/standalone/.next/server/app/fault.segments/!KG1haW4p/fault/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/fault.segments/!KG1haW4p/fault.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/fault.segments/!KG1haW4p.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/fault.segments/_full.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/fault.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/fault.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/fault.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +3 -3
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/infra/sources.html +1 -0
- package/.next/standalone/.next/server/app/infra/sources.meta +17 -0
- package/.next/standalone/.next/server/app/infra/sources.rsc +22 -0
- package/.next/standalone/.next/server/app/infra/sources.segments/!KG1haW4p/infra/sources/__PAGE__.segment.rsc +9 -0
- package/.next/standalone/.next/server/app/infra/sources.segments/!KG1haW4p/infra/sources.segment.rsc +4 -0
- package/.next/standalone/.next/server/app/infra/sources.segments/!KG1haW4p/infra.segment.rsc +4 -0
- package/.next/standalone/.next/server/app/infra/sources.segments/!KG1haW4p.segment.rsc +7 -0
- package/.next/standalone/.next/server/app/infra/sources.segments/_full.segment.rsc +22 -0
- package/.next/standalone/.next/server/app/infra/sources.segments/_head.segment.rsc +6 -0
- package/.next/standalone/.next/server/app/infra/sources.segments/_index.segment.rsc +6 -0
- package/.next/standalone/.next/server/app/infra/sources.segments/_tree.segment.rsc +2 -0
- package/.next/standalone/.next/server/app/infra.html +1 -0
- package/.next/standalone/.next/server/app/infra.meta +16 -0
- package/.next/standalone/.next/server/app/infra.rsc +22 -0
- package/.next/standalone/.next/server/app/infra.segments/!KG1haW4p/infra/__PAGE__.segment.rsc +9 -0
- package/.next/standalone/.next/server/app/infra.segments/!KG1haW4p/infra.segment.rsc +4 -0
- package/.next/standalone/.next/server/app/infra.segments/!KG1haW4p.segment.rsc +7 -0
- package/.next/standalone/.next/server/app/infra.segments/_full.segment.rsc +22 -0
- package/.next/standalone/.next/server/app/infra.segments/_head.segment.rsc +6 -0
- package/.next/standalone/.next/server/app/infra.segments/_index.segment.rsc +6 -0
- package/.next/standalone/.next/server/app/infra.segments/_tree.segment.rsc +2 -0
- package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login.html +1 -1
- package/.next/standalone/.next/server/app/login.rsc +4 -4
- package/.next/standalone/.next/server/app/login.segments/_full.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/login.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/login.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/login.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/login.segments/login.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/memory.html +1 -1
- package/.next/standalone/.next/server/app/memory.rsc +5 -5
- package/.next/standalone/.next/server/app/memory.segments/!KG1haW4p/memory/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/memory.segments/!KG1haW4p/memory.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/memory.segments/!KG1haW4p.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/memory.segments/_full.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/memory.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/memory.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/memory.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/metrics.html +1 -1
- package/.next/standalone/.next/server/app/metrics.rsc +5 -5
- package/.next/standalone/.next/server/app/metrics.segments/!KG1haW4p/metrics/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/metrics.segments/!KG1haW4p/metrics.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/metrics.segments/!KG1haW4p.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/metrics.segments/_full.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/metrics.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/metrics.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/metrics.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/modelconfig/registry.html +1 -1
- package/.next/standalone/.next/server/app/modelconfig/registry.rsc +5 -5
- package/.next/standalone/.next/server/app/modelconfig/registry.segments/!KG1haW4p/modelconfig/registry/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/modelconfig/registry.segments/!KG1haW4p/modelconfig/registry.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/modelconfig/registry.segments/!KG1haW4p/modelconfig.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/modelconfig/registry.segments/!KG1haW4p.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/modelconfig/registry.segments/_full.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/modelconfig/registry.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/modelconfig/registry.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/modelconfig/registry.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/modelconfig/web-search.html +1 -1
- package/.next/standalone/.next/server/app/modelconfig/web-search.rsc +5 -5
- package/.next/standalone/.next/server/app/modelconfig/web-search.segments/!KG1haW4p/modelconfig/web-search/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/modelconfig/web-search.segments/!KG1haW4p/modelconfig/web-search.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/modelconfig/web-search.segments/!KG1haW4p/modelconfig.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/modelconfig/web-search.segments/!KG1haW4p.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/modelconfig/web-search.segments/_full.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/modelconfig/web-search.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/modelconfig/web-search.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/modelconfig/web-search.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/modelconfig.html +1 -1
- package/.next/standalone/.next/server/app/modelconfig.rsc +4 -4
- package/.next/standalone/.next/server/app/modelconfig.segments/!KG1haW4p/modelconfig/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/modelconfig.segments/!KG1haW4p/modelconfig.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/modelconfig.segments/!KG1haW4p.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/modelconfig.segments/_full.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/modelconfig.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/modelconfig.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/modelconfig.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/optapi.html +1 -1
- package/.next/standalone/.next/server/app/optapi.rsc +5 -5
- package/.next/standalone/.next/server/app/optapi.segments/!KG1haW4p/optapi/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/optapi.segments/!KG1haW4p/optapi.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/optapi.segments/!KG1haW4p.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/optapi.segments/_full.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/optapi.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/optapi.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/optapi.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/quality.html +1 -1
- package/.next/standalone/.next/server/app/quality.rsc +10 -9
- package/.next/standalone/.next/server/app/quality.segments/!KG1haW4p/quality/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/quality.segments/!KG1haW4p/quality.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/quality.segments/!KG1haW4p.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/quality.segments/_full.segment.rsc +10 -9
- package/.next/standalone/.next/server/app/quality.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/quality.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/quality.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/security.html +1 -1
- package/.next/standalone/.next/server/app/security.rsc +5 -5
- package/.next/standalone/.next/server/app/security.segments/!KG1haW4p/security/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/security.segments/!KG1haW4p/security.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/security.segments/!KG1haW4p.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/security.segments/_full.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/security.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/security.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/security.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/skill-detail/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/skill-detail.html +1 -1
- package/.next/standalone/.next/server/app/skill-detail.rsc +4 -4
- package/.next/standalone/.next/server/app/skill-detail.segments/_full.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/skill-detail.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-detail.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/skill-detail.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/skill-detail.segments/skill-detail/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/skill-detail.segments/skill-detail.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-eval/grayscale.html +2 -2
- package/.next/standalone/.next/server/app/skill-eval/grayscale.rsc +7 -7
- package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/!KG1haW4p/skill-eval/grayscale/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/!KG1haW4p/skill-eval/grayscale.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/!KG1haW4p/skill-eval.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/!KG1haW4p.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/_full.segment.rsc +7 -7
- package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/skill-eval.html +1 -1
- package/.next/standalone/.next/server/app/skill-eval.rsc +7 -7
- package/.next/standalone/.next/server/app/skill-eval.segments/!KG1haW4p/skill-eval/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/skill-eval.segments/!KG1haW4p/skill-eval.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-eval.segments/!KG1haW4p.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/skill-eval.segments/_full.segment.rsc +7 -7
- package/.next/standalone/.next/server/app/skill-eval.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-eval.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/skill-eval.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/skill-generator.html +1 -1
- package/.next/standalone/.next/server/app/skill-generator.rsc +6 -6
- package/.next/standalone/.next/server/app/skill-generator.segments/!KG1haW4p/skill-generator/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/skill-generator.segments/!KG1haW4p/skill-generator.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-generator.segments/!KG1haW4p.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/skill-generator.segments/_full.segment.rsc +6 -6
- package/.next/standalone/.next/server/app/skill-generator.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-generator.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/skill-generator.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/skill-history.html +1 -1
- package/.next/standalone/.next/server/app/skill-history.rsc +18 -14
- package/.next/standalone/.next/server/app/skill-history.segments/!KG1haW4p/skill-history/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/skill-history.segments/!KG1haW4p/skill-history.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-history.segments/!KG1haW4p.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/skill-history.segments/_full.segment.rsc +18 -14
- package/.next/standalone/.next/server/app/skill-history.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-history.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/skill-history.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/skill-opt.html +1 -1
- package/.next/standalone/.next/server/app/skill-opt.rsc +5 -5
- package/.next/standalone/.next/server/app/skill-opt.segments/!KG1haW4p/skill-opt/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/skill-opt.segments/!KG1haW4p/skill-opt.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-opt.segments/!KG1haW4p.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/skill-opt.segments/_full.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/skill-opt.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-opt.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/skill-opt.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/skill-release.html +1 -1
- package/.next/standalone/.next/server/app/skill-release.rsc +5 -5
- package/.next/standalone/.next/server/app/skill-release.segments/!KG1haW4p/skill-release/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/skill-release.segments/!KG1haW4p/skill-release.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-release.segments/!KG1haW4p.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/skill-release.segments/_full.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/skill-release.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skill-release.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/skill-release.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/skills.html +1 -1
- package/.next/standalone/.next/server/app/skills.rsc +5 -5
- package/.next/standalone/.next/server/app/skills.segments/!KG1haW4p/skills/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/skills.segments/!KG1haW4p/skills.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skills.segments/!KG1haW4p.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/skills.segments/_full.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/skills.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skills.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/skills.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/trace.html +1 -1
- package/.next/standalone/.next/server/app/trace.rsc +20 -17
- package/.next/standalone/.next/server/app/trace.segments/!KG1haW4p/trace/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/trace.segments/!KG1haW4p/trace.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/trace.segments/!KG1haW4p.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/trace.segments/_full.segment.rsc +20 -17
- package/.next/standalone/.next/server/app/trace.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/trace.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/trace.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app-paths-manifest.json +13 -0
- package/.next/standalone/.next/server/chunks/[externals]__9fdb9c7d._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__006f015e._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0267beef._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__02c8a296._.js +3 -0
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__fe35f136._.js → [root-of-the-server]__040c0eb8._.js} +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0984a1fa._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0e446f5e._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__10150e61._.js +5 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__10dc192b._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__12f2f819._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1307c1ad._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__13eb0d25._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__146d0997._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__14f6c06c._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1596a789._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__170fbfb7._.js +5 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1917f41f._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__19f66254._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1dac3981._.js +3 -0
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__46adf712._.js → [root-of-the-server]__1e4ede06._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__32ce67c7._.js → [root-of-the-server]__1eb9a6ee._.js} +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__27ca3a21._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__2b6716cd._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__2b7f3823._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__2d398403._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__2dd8ff54._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__2ec78f3e._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__31f85657._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__379129ab._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__39dd5a92._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__3a70614f._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__3d91ff40._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__4299e672._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__43edd917._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__44e72985._.js +5 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__49fe2c7e._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__4a0ac677._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__4ce39c11._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__4fa7606a._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__528e2fde._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__592b8090._.js +3 -0
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__19ede63b._.js → [root-of-the-server]__626d0308._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__b74d3160._.js → [root-of-the-server]__65c43993._.js} +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__67c69839._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__682d0ba0._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__6b22780d._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__6c350697._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__6d948bdc._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__6ecfaae0._.js +5 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__6fafd86f._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__6fe0c73e._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__70f19ec4._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__7582bf4c._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__79ada3fa._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__85a7678b._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__85c943bd._.js +6 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__87677b37._.js +3 -0
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__8af85028._.js → [root-of-the-server]__892e3377._.js} +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__8ab933cd._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__930e22bb._.js +7 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__93970ae1._.js +3 -3
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__1fb9a578._.js → [root-of-the-server]__968974bd._.js} +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__97045cfa._.js +3 -0
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__d62326e3._.js → [root-of-the-server]__970b099f._.js} +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__99ad309a._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__99c6aa2d._.js +13 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__9f278f61._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__9fd05c54._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__a1182ad1._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__a51b64ae._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__a6900486._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__a7a740bb._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__ad4b402b._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__ad9bbfad._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__b238a277._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__b4b7e8ef._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__b7f142c3._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__bac6c232._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__bb4f4492._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__bc21598f._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__beb32ef1._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__c10b74c1._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__c12d7aad._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__c16c84b6._.js +5 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__c8611482._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__ceb630e2._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__ced5e5ca._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__cedc21b1._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__d178c81c._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__d80a36e0._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__d8e819a1._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__e0e69916._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__e84bc7ce._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__edf01394._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__fd09870b._.js +3 -0
- package/.next/standalone/.next/server/chunks/_048f2013._.js +1 -1
- package/.next/standalone/.next/server/chunks/_05c80664._.js +1 -1
- package/.next/standalone/.next/server/chunks/_08c6dd4c._.js +3 -3
- package/.next/standalone/.next/server/chunks/{_5041b697._.js → _1a32fa23._.js} +2 -2
- package/.next/standalone/.next/server/chunks/_28b9b733._.js +32 -0
- package/.next/standalone/.next/server/chunks/_2ac292b0._.js +1 -1
- package/.next/standalone/.next/server/chunks/_3f71c366._.js +4 -4
- package/.next/standalone/.next/server/chunks/_40f80932._.js +3 -0
- package/.next/standalone/.next/server/chunks/{_0ea4c12b._.js → _45a619b0._.js} +1 -1
- package/.next/standalone/.next/server/chunks/_49e36e44._.js +1 -1
- package/.next/standalone/.next/server/chunks/_4ec439ea._.js +3 -3
- package/.next/standalone/.next/server/chunks/_4ffe9f62._.js +3 -0
- package/.next/standalone/.next/server/chunks/{_19441465._.js → _547fcde4._.js} +2 -2
- package/.next/standalone/.next/server/chunks/_5936e19d._.js +3 -0
- package/.next/standalone/.next/server/chunks/_6842a9ba._.js +1 -1
- package/.next/standalone/.next/server/chunks/{_bc01feba._.js → _68685b8c._.js} +7 -7
- package/.next/standalone/.next/server/chunks/_694f4232._.js +3 -0
- package/.next/standalone/.next/server/chunks/_6ed9d796._.js +4 -4
- package/.next/standalone/.next/server/chunks/_78078171._.js +3 -0
- package/.next/standalone/.next/server/chunks/_78c6471e._.js +1 -1
- package/.next/standalone/.next/server/chunks/_8603f9ca._.js +1 -1
- package/.next/standalone/.next/server/chunks/_89a3536c._.js +1 -1
- package/.next/standalone/.next/server/chunks/_a2ff108d._.js +1 -1
- package/.next/standalone/.next/server/chunks/_a305d8b8._.js +3 -3
- package/.next/standalone/.next/server/chunks/_adf9e9c5._.js +1 -1
- package/.next/standalone/.next/server/chunks/_b30c2ca8._.js +1 -1
- package/.next/standalone/.next/server/chunks/{_cdaee29d._.js → _c707acf8._.js} +2 -2
- package/.next/standalone/.next/server/chunks/_d0e3dc8c._.js +1 -1
- package/.next/standalone/.next/server/chunks/_d4d51026._.js +1 -1
- package/.next/standalone/.next/server/chunks/_d5fd7ab4._.js +3 -0
- package/.next/standalone/.next/server/chunks/_d8e04766._.js +1 -1
- package/.next/standalone/.next/server/chunks/_e0cf0d37._.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_observe_infra_diagnose_route_actions_31275b71.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_observe_infra_history_route_actions_2e62a90f.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_observe_infra_poll_route_actions_e79f2641.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_observe_infra_sources_route_actions_0b142b73.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_observe_infra_sources_test_route_actions_1d51e227.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_public_otel_v1_traces_route_actions_c13e2c65.js +3 -0
- package/.next/standalone/.next/server/chunks/ce889_server_app_api_observe_executions_[executionId]_infra_route_actions_0e9e320e.js +3 -0
- package/.next/standalone/.next/server/chunks/ce889_server_app_api_observe_infra_sources_derive_route_actions_4888b1cf.js +3 -0
- package/.next/standalone/.next/server/chunks/ce889_server_app_api_observe_infra_sources_overview_route_actions_e027c8e7.js +3 -0
- package/.next/standalone/.next/server/chunks/ce889_server_app_api_observe_infra_sources_sessions_route_actions_9005a00a.js +3 -0
- package/.next/standalone/.next/server/chunks/{src_49f0d71c._.js → src_08719fbb._.js} +2 -2
- package/.next/standalone/.next/server/chunks/src_34fb142e._.js +4 -4
- package/.next/standalone/.next/server/chunks/src_4fe54147._.js +1 -1
- package/.next/standalone/.next/server/chunks/src_9c08bd78._.js +1 -1
- package/.next/standalone/.next/server/chunks/src_lib_7bae418f._.js +1 -1
- package/.next/standalone/.next/server/chunks/src_lib_84cf46e8._.js +3 -0
- package/.next/standalone/.next/server/chunks/src_lib_9cf1dab3._.js +29 -0
- package/.next/standalone/.next/server/chunks/src_lib_a2a34aa6._.js +7 -7
- package/.next/standalone/.next/server/chunks/src_lib_engine_general-agent_970b1dfe._.js +2 -2
- package/.next/standalone/.next/server/chunks/src_lib_engine_skill-generation_opencode-agent-cli_opencode-manager_ts_94c7d385._.js +3 -3
- package/.next/standalone/.next/server/chunks/src_lib_engine_skill-issues_static-evaluator_5e9f2d8a._.js +4 -4
- package/.next/standalone/.next/server/chunks/src_lib_f12f8b56._.js +32 -0
- package/.next/standalone/.next/server/chunks/{src_lib_bc5e5c04._.js → src_lib_fca90805._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__15099475._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__15600e29._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__2505addc._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__30536471._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__ad69e0c0._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__920fa087._.js → [root-of-the-server]__c9cf8076._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_0141e5c7._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0acdaaae._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_0d3145ea._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_1568477b._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_1f67a52d._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/_231821bd._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_23385550._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_2534caac._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_3b019a38._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_44e49071._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/_4796bd79._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_4b46054f._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_5d1986bf._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_5d1f8671._.js +12 -0
- package/.next/standalone/.next/server/chunks/ssr/_5e0dfc4e._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_5ea9f29c._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_640e1d24._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_70e4bd42._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_8bba8b8d._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_96725836._.js +12 -0
- package/.next/standalone/.next/server/chunks/ssr/_a8c793c2._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_aab048d0._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_aab6dc4c._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_aea60571._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_c16d64b3._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_cebf2190._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_cfe5178e._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_fc22c215._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_(main)_infra_page_actions_df5e07da.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_(main)_infra_source_[id]_page_actions_3d61ac95.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_(main)_infra_sources_page_actions_135a5ab7.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_1d12ce21._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_23404e09._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_6d029f8e._.js → node_modules_278cdc27._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/node_modules_285bde65._.js +17 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_32b85991._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_35a4a3d2._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_37be0399._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_55cbf86b._.js +17 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_5f7174a8._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_778a153f._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_7e6a708b._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_855a50c1._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_878c20b4._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_9b301091._.js +24 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_b3078440._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_b3fd4e7e._.js +17 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_c0554e87._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_cfcb6a3a._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_da0a7049._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_e0cd63d9._.js +17 -0
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_lucide-react_dist_esm_icons_f712a172._.js → node_modules_lucide-react_dist_esm_icons_f1e06ad8._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_client_components_9774470f._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_45780354.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_15817684.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_app_(main)_accessconfig_install_page_tsx_6f4ef3fc._.js +3 -1
- package/.next/standalone/.next/server/chunks/ssr/src_app_(main)_infra_source_[id]_page_tsx_b48521fc._.js +19 -0
- package/.next/standalone/.next/server/chunks/ssr/src_app_(main)_modelconfig_registry_page_tsx_1ead2fd4._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_app_(main)_quality_page_tsx_26bb8e80._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_app_(main)_trace_page_tsx_41e7865d._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_lib_client_locale-context_tsx_7184d9aa._.js +1 -1
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +2 -2
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/static/chunks/012f27d0d790dc0f.js +1 -0
- package/.next/standalone/.next/static/chunks/07b2d7e6b58603c1.js +1 -0
- package/.next/standalone/.next/static/chunks/1626d47d4b84fc8b.js +1 -0
- package/.next/standalone/.next/static/chunks/175e0609137d7eed.js +1 -0
- package/.next/standalone/.next/static/chunks/1aa5156b12972154.js +1 -0
- package/.next/standalone/.next/static/chunks/2dc7fabb2f12bf39.js +1 -0
- package/.next/{static/chunks/819be4f6dc602b73.js → standalone/.next/static/chunks/3d040755d3686976.js} +1 -1
- package/.next/standalone/.next/static/chunks/466edc01ad624a7e.js +1 -0
- package/.next/standalone/.next/static/chunks/48fba91726a41a66.js +1 -0
- package/.next/standalone/.next/static/chunks/5c301dcc3995f72c.js +1 -0
- package/.next/standalone/.next/static/chunks/60f3a73e9fa6c625.js +1 -0
- package/.next/standalone/.next/static/chunks/61003f0aededf3d6.js +1 -0
- package/.next/{static/chunks/f08011a9c5cd16a6.js → standalone/.next/static/chunks/6238734a2f04b1f9.js} +1 -1
- package/.next/standalone/.next/static/chunks/{314eea8ce9b18ba1.js → 66de628824ded594.js} +1 -1
- package/.next/standalone/.next/static/chunks/6f6e529cc8a0535d.js +1 -0
- package/.next/standalone/.next/static/chunks/747a8d06793299fa.js +1 -0
- package/.next/standalone/.next/static/chunks/755c604ba44e0e9b.js +1 -0
- package/.next/standalone/.next/static/chunks/76a6d562e6507740.js +1 -0
- package/.next/standalone/.next/static/chunks/77a10bcb350555d9.js +1 -0
- package/.next/standalone/.next/static/chunks/7837bb465385ecd8.js +1 -0
- package/.next/standalone/.next/static/chunks/7dc8bfae4aed86c2.js +1 -0
- package/.next/{static/chunks/264991644d73270c.js → standalone/.next/static/chunks/80f28b2193bf35d3.js} +1 -1
- package/.next/standalone/.next/static/chunks/85f356e3e23b09ab.js +1 -0
- package/.next/standalone/.next/static/chunks/{3e55642a8eb5ba23.js → 8754e0cf40813330.js} +1 -1
- package/.next/{static/chunks/5d0423a5cf33f34e.js → standalone/.next/static/chunks/8dff7ffbfcc5cc39.js} +1 -1
- package/.next/standalone/.next/static/chunks/{f2228519196f8f44.js → 9155a6c07dc0502d.js} +2 -2
- package/.next/standalone/.next/static/chunks/96823b122a037ed1.js +1 -0
- package/.next/standalone/.next/static/chunks/96c7e2e47438553a.js +1 -0
- package/.next/standalone/.next/static/chunks/9adb155358e88cb2.js +1 -0
- package/.next/standalone/.next/static/chunks/a31bf4e176b5e90c.js +3 -0
- package/.next/standalone/.next/static/chunks/a534005e8a8ec626.js +1 -0
- package/.next/standalone/.next/static/chunks/aa2b0b8c9ed6b185.js +2 -0
- package/.next/standalone/.next/static/chunks/b0fb37ef626a34a0.js +1 -0
- package/.next/standalone/.next/static/chunks/c1a9ea80807777b8.js +10 -0
- package/.next/standalone/.next/static/chunks/c7e8296357638830.js +1 -0
- package/.next/standalone/.next/static/chunks/cc6c6efcf6de727b.js +17 -0
- package/.next/standalone/.next/static/chunks/d6af33336f13dd65.js +1 -0
- package/.next/standalone/.next/static/chunks/d7ff390550d8ae02.js +1 -0
- package/.next/standalone/.next/static/chunks/d91c2c0bbe0b59ab.js +1 -0
- package/.next/standalone/.next/static/chunks/daad76cdc09960bb.js +10 -0
- package/.next/{static/chunks/e396958d5e8ecaf8.js → standalone/.next/static/chunks/dc22f906bd43e9a3.js} +3 -3
- package/.next/standalone/.next/static/chunks/e159d293fc72e91b.css +1 -0
- package/.next/standalone/.next/static/chunks/e6bdd7840d3e35e8.js +1 -0
- package/.next/standalone/.next/static/chunks/e8b69a66912006d0.js +1 -0
- package/.next/standalone/.next/static/chunks/eb6a581f1851670e.js +1 -0
- package/.next/standalone/.next/static/chunks/fc00d1dd80dd9357.js +1 -0
- package/.next/standalone/.opencode/bun.lock +18 -0
- package/.next/standalone/.opencode/package.json +5 -0
- package/.next/standalone/Dockerfile +1 -0
- package/.next/standalone/RELEASE.md +6 -0
- package/.next/standalone/node_modules/.prisma/client/edge.js +43 -4
- package/.next/standalone/node_modules/.prisma/client/index-browser.js +40 -1
- package/.next/standalone/node_modules/.prisma/client/index.js +43 -4
- package/.next/standalone/node_modules/.prisma/client/package.json +1 -1
- package/.next/standalone/node_modules/.prisma/client/schema.prisma +53 -0
- package/.next/standalone/node_modules/.prisma/client/wasm.js +40 -1
- package/.next/standalone/package.json +1 -1
- package/.next/standalone/prisma/schema.prisma +53 -0
- package/.next/standalone/scripts/__pycache__/hermes_agent_insight_plugin.cpython-312.pyc +0 -0
- package/.next/standalone/scripts/dryrun_readrecords_batched.ts +3 -2
- package/.next/standalone/scripts/infra-vllm-loadcheck.ts +84 -0
- package/.next/standalone/scripts/infra-vllm-probe.ts +57 -0
- package/.next/standalone/scripts/ping_monitor.ts +2 -1
- package/.next/standalone/scripts/start.sh +23 -3
- package/.next/standalone/skills/agent-debug-diagnosis/scripts/__pycache__/agentdebug_common.cpython-312.pyc +0 -0
- package/.next/static/chunks/012f27d0d790dc0f.js +1 -0
- package/.next/static/chunks/07b2d7e6b58603c1.js +1 -0
- package/.next/static/chunks/1626d47d4b84fc8b.js +1 -0
- package/.next/static/chunks/175e0609137d7eed.js +1 -0
- package/.next/static/chunks/1aa5156b12972154.js +1 -0
- package/.next/static/chunks/2dc7fabb2f12bf39.js +1 -0
- package/.next/{standalone/.next/static/chunks/819be4f6dc602b73.js → static/chunks/3d040755d3686976.js} +1 -1
- package/.next/static/chunks/466edc01ad624a7e.js +1 -0
- package/.next/static/chunks/48fba91726a41a66.js +1 -0
- package/.next/static/chunks/5c301dcc3995f72c.js +1 -0
- package/.next/static/chunks/60f3a73e9fa6c625.js +1 -0
- package/.next/static/chunks/61003f0aededf3d6.js +1 -0
- package/.next/{standalone/.next/static/chunks/f08011a9c5cd16a6.js → static/chunks/6238734a2f04b1f9.js} +1 -1
- package/.next/static/chunks/{314eea8ce9b18ba1.js → 66de628824ded594.js} +1 -1
- package/.next/static/chunks/6f6e529cc8a0535d.js +1 -0
- package/.next/static/chunks/747a8d06793299fa.js +1 -0
- package/.next/static/chunks/755c604ba44e0e9b.js +1 -0
- package/.next/static/chunks/76a6d562e6507740.js +1 -0
- package/.next/static/chunks/77a10bcb350555d9.js +1 -0
- package/.next/static/chunks/7837bb465385ecd8.js +1 -0
- package/.next/static/chunks/7dc8bfae4aed86c2.js +1 -0
- package/.next/{standalone/.next/static/chunks/264991644d73270c.js → static/chunks/80f28b2193bf35d3.js} +1 -1
- package/.next/static/chunks/85f356e3e23b09ab.js +1 -0
- package/.next/static/chunks/{3e55642a8eb5ba23.js → 8754e0cf40813330.js} +1 -1
- package/.next/{standalone/.next/static/chunks/5d0423a5cf33f34e.js → static/chunks/8dff7ffbfcc5cc39.js} +1 -1
- package/.next/static/chunks/{f2228519196f8f44.js → 9155a6c07dc0502d.js} +2 -2
- package/.next/static/chunks/96823b122a037ed1.js +1 -0
- package/.next/static/chunks/96c7e2e47438553a.js +1 -0
- package/.next/static/chunks/9adb155358e88cb2.js +1 -0
- package/.next/static/chunks/a31bf4e176b5e90c.js +3 -0
- package/.next/static/chunks/a534005e8a8ec626.js +1 -0
- package/.next/static/chunks/aa2b0b8c9ed6b185.js +2 -0
- package/.next/static/chunks/b0fb37ef626a34a0.js +1 -0
- package/.next/static/chunks/c1a9ea80807777b8.js +10 -0
- package/.next/static/chunks/c7e8296357638830.js +1 -0
- package/.next/static/chunks/cc6c6efcf6de727b.js +17 -0
- package/.next/static/chunks/d6af33336f13dd65.js +1 -0
- package/.next/static/chunks/d7ff390550d8ae02.js +1 -0
- package/.next/static/chunks/d91c2c0bbe0b59ab.js +1 -0
- package/.next/static/chunks/daad76cdc09960bb.js +10 -0
- package/.next/{standalone/.next/static/chunks/e396958d5e8ecaf8.js → static/chunks/dc22f906bd43e9a3.js} +3 -3
- package/.next/static/chunks/e159d293fc72e91b.css +1 -0
- package/.next/static/chunks/e6bdd7840d3e35e8.js +1 -0
- package/.next/static/chunks/e8b69a66912006d0.js +1 -0
- package/.next/static/chunks/eb6a581f1851670e.js +1 -0
- package/.next/static/chunks/fc00d1dd80dd9357.js +1 -0
- package/package.json +1 -1
- package/prisma/schema.prisma +53 -0
- package/scripts/__pycache__/hermes_agent_insight_plugin.cpython-312.pyc +0 -0
- package/scripts/dryrun_readrecords_batched.ts +3 -2
- package/scripts/infra-vllm-loadcheck.ts +84 -0
- package/scripts/infra-vllm-probe.ts +57 -0
- package/scripts/ping_monitor.ts +2 -1
- package/scripts/start.sh +23 -3
- package/.next/standalone/.next/server/chunks/[externals]__f458ab79._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0068c1fc._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__040b569f._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__045587bf._.js +0 -6
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0644629d._.js +0 -5
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0805dbf7._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__08ae7361._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0aa7083b._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0c3644ff._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0e81c059._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__10970a34._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__151a437e._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__15f53674._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1b7feef9._.js +0 -5
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1b902b9e._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1dd8d4fe._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1def0351._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1e033f42._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1ffaeedd._.js +0 -5
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__25a767e5._.js +0 -7
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__2d337f2e._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__326abfd9._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__35b27244._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__363f8caf._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__39374c1f._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__3943f2d4._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__39b0a6a8._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__3a23ad34._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__45f15a40._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__4d9694c3._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__5231c174._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__549af36b._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__57e6d2a2._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__59ad7214._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__5c39010e._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__60643e13._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__67c90eea._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__6bd638de._.js +0 -5
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__6f67398a._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__72038149._.js +0 -13
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__79874fb4._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__79918828._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__872ecf84._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__8a8c1c09._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__8b738c2a._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__9a4686fd._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__9e377fa0._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__a01fde2c._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__a0a8a394._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__a1fdf600._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__a60f0985._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__a62c8374._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__a9d5005d._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__ac03d782._.js +0 -5
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__b63dd7b6._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__b853df47._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__b9ba9fe9._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__b9ea78fe._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__bb26d00a._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__bd6a35b1._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__c139b60a._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__c15e98e6._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__ca706dfb._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__cb09a0f9._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__cc3948c5._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__cca882cf._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__d03fa951._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__d9c98a95._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__dc598d38._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__de3c01d3._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__e8b45be8._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__eb9c84fc._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__f43a6132._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__fef5bbd7._.js +0 -3
- package/.next/standalone/.next/server/chunks/_098d414d._.js +0 -3
- package/.next/standalone/.next/server/chunks/_f53757b9._.js +0 -3
- package/.next/standalone/.next/server/chunks/src_lib_1466262d._.js +0 -29
- package/.next/standalone/.next/server/chunks/src_lib_beee2d37._.js +0 -32
- package/.next/standalone/.next/server/chunks/src_lib_c6d9db51._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__c0f4a8e3._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_338db557._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_434d90cf._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_54f7cd42._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_715ced03._.js +0 -12
- package/.next/standalone/.next/server/chunks/ssr/_86e4a207._.js +0 -12
- package/.next/standalone/.next/server/chunks/ssr/_9adbeadd._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_9e56acbd._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_ad052dd8._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_d4c77173._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_f778c2ae._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/node_modules_0446465d._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/node_modules_14fdec98._.js +0 -17
- package/.next/standalone/.next/server/chunks/ssr/node_modules_39b590d2._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/node_modules_5765f642._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/node_modules_5a7ce65f._.js +0 -17
- package/.next/standalone/.next/server/chunks/ssr/node_modules_67a600ea._.js +0 -24
- package/.next/standalone/.next/server/chunks/ssr/node_modules_73b73ed2._.js +0 -17
- package/.next/standalone/.next/server/chunks/ssr/node_modules_88623ea5._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/node_modules_9a06f164._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/node_modules_9ad38d6b._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/node_modules_c5bc32c0._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/node_modules_c8b340b1._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/node_modules_c93bc0d4._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/node_modules_d492394b._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/node_modules_e9abd531._.js +0 -17
- package/.next/standalone/.next/server/chunks/ssr/node_modules_f69e47e0._.js +0 -3
- package/.next/standalone/.next/static/chunks/130e114057a9ebcd.js +0 -1
- package/.next/standalone/.next/static/chunks/1e5b3e371cbf00f5.js +0 -1
- package/.next/standalone/.next/static/chunks/34a7894eb476b8eb.js +0 -1
- package/.next/standalone/.next/static/chunks/373d7e41b5d2192a.js +0 -1
- package/.next/standalone/.next/static/chunks/43df5d7cd8ec46ff.js +0 -1
- package/.next/standalone/.next/static/chunks/463b43ecde7acc6b.js +0 -1
- package/.next/standalone/.next/static/chunks/4b3b11e28e77c3fe.js +0 -1
- package/.next/standalone/.next/static/chunks/53af8dcc7be02445.js +0 -1
- package/.next/standalone/.next/static/chunks/558b2944268322c0.js +0 -1
- package/.next/standalone/.next/static/chunks/5f48fb5ff13515f9.js +0 -10
- package/.next/standalone/.next/static/chunks/662ee72c2b3f282f.js +0 -1
- package/.next/standalone/.next/static/chunks/72fce1376de53ff1.js +0 -1
- package/.next/standalone/.next/static/chunks/7aff5373689149f6.css +0 -1
- package/.next/standalone/.next/static/chunks/83910a2aebec21cd.js +0 -1
- package/.next/standalone/.next/static/chunks/85dc1714d62ff17c.js +0 -1
- package/.next/standalone/.next/static/chunks/880f54e2ee46369a.js +0 -1
- package/.next/standalone/.next/static/chunks/90356ff82a1a4b7b.js +0 -1
- package/.next/standalone/.next/static/chunks/91118d4316b25490.js +0 -2
- package/.next/standalone/.next/static/chunks/9190bb5077c01f1d.js +0 -1
- package/.next/standalone/.next/static/chunks/ac4d824ecef761ad.js +0 -1
- package/.next/standalone/.next/static/chunks/b7afe26e3f5150a6.js +0 -1
- package/.next/standalone/.next/static/chunks/c6fc32540074c5d9.js +0 -1
- package/.next/standalone/.next/static/chunks/ca321802d5bec89a.js +0 -1
- package/.next/standalone/.next/static/chunks/d3d4e0d0251fae88.js +0 -1
- package/.next/standalone/.next/static/chunks/d4b8cecb3e0e7d14.js +0 -1
- package/.next/standalone/.next/static/chunks/e1ca3a6b74761a34.js +0 -1
- package/.next/standalone/.next/static/chunks/f078268d4167c317.js +0 -1
- package/.next/standalone/.next/static/chunks/f3601c4fe7c72e05.js +0 -1
- package/.next/standalone/.next/static/chunks/f6bada18c43a7d59.js +0 -1
- package/.next/standalone/.next/static/chunks/f73f243ebf49bd78.js +0 -10
- package/.next/standalone/.next/static/chunks/fff45888c8c81b7a.js +0 -1
- package/.next/static/chunks/130e114057a9ebcd.js +0 -1
- package/.next/static/chunks/1e5b3e371cbf00f5.js +0 -1
- package/.next/static/chunks/34a7894eb476b8eb.js +0 -1
- package/.next/static/chunks/373d7e41b5d2192a.js +0 -1
- package/.next/static/chunks/43df5d7cd8ec46ff.js +0 -1
- package/.next/static/chunks/463b43ecde7acc6b.js +0 -1
- package/.next/static/chunks/4b3b11e28e77c3fe.js +0 -1
- package/.next/static/chunks/53af8dcc7be02445.js +0 -1
- package/.next/static/chunks/558b2944268322c0.js +0 -1
- package/.next/static/chunks/5f48fb5ff13515f9.js +0 -10
- package/.next/static/chunks/662ee72c2b3f282f.js +0 -1
- package/.next/static/chunks/72fce1376de53ff1.js +0 -1
- package/.next/static/chunks/7aff5373689149f6.css +0 -1
- package/.next/static/chunks/83910a2aebec21cd.js +0 -1
- package/.next/static/chunks/85dc1714d62ff17c.js +0 -1
- package/.next/static/chunks/880f54e2ee46369a.js +0 -1
- package/.next/static/chunks/90356ff82a1a4b7b.js +0 -1
- package/.next/static/chunks/91118d4316b25490.js +0 -2
- package/.next/static/chunks/9190bb5077c01f1d.js +0 -1
- package/.next/static/chunks/ac4d824ecef761ad.js +0 -1
- package/.next/static/chunks/b7afe26e3f5150a6.js +0 -1
- package/.next/static/chunks/c6fc32540074c5d9.js +0 -1
- package/.next/static/chunks/ca321802d5bec89a.js +0 -1
- package/.next/static/chunks/d3d4e0d0251fae88.js +0 -1
- package/.next/static/chunks/d4b8cecb3e0e7d14.js +0 -1
- package/.next/static/chunks/e1ca3a6b74761a34.js +0 -1
- package/.next/static/chunks/f078268d4167c317.js +0 -1
- package/.next/static/chunks/f3601c4fe7c72e05.js +0 -1
- package/.next/static/chunks/f6bada18c43a7d59.js +0 -1
- package/.next/static/chunks/f73f243ebf49bd78.js +0 -10
- package/.next/static/chunks/fff45888c8c81b7a.js +0 -1
- /package/.next/standalone/.next/static/{OsR67Q2lFVMHMaAqxt_js → w5kcVDBsBKgqTtNX9-Kqj}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{OsR67Q2lFVMHMaAqxt_js → w5kcVDBsBKgqTtNX9-Kqj}/_clientMiddlewareManifest.json +0 -0
- /package/.next/standalone/.next/static/{OsR67Q2lFVMHMaAqxt_js → w5kcVDBsBKgqTtNX9-Kqj}/_ssgManifest.js +0 -0
- /package/.next/static/{OsR67Q2lFVMHMaAqxt_js → w5kcVDBsBKgqTtNX9-Kqj}/_buildManifest.js +0 -0
- /package/.next/static/{OsR67Q2lFVMHMaAqxt_js → w5kcVDBsBKgqTtNX9-Kqj}/_clientMiddlewareManifest.json +0 -0
- /package/.next/static/{OsR67Q2lFVMHMaAqxt_js → w5kcVDBsBKgqTtNX9-Kqj}/_ssgManifest.js +0 -0
|
@@ -75,6 +75,6 @@ Rules:
|
|
|
75
75
|
- The sourceScenario is optional metadata. It is not the scoring key.
|
|
76
76
|
- Do not invent capabilities outside the skill definition.
|
|
77
77
|
- Use the same primary language as the skill definition.
|
|
78
|
-
`.trim()}e.s(["generateOutcomeBenchmarkPrompt",()=>r,"generateRoutingBenchmarkPrompt",()=>t])},613866,e=>e.a(async(t,r)=>{try{var n=e.i(522734),i=e.i(814747);e.i(889228);var a=e.i(88045),o=e.i(2316),s=e.i(899778),l=e.i(384660),u=e.i(262197),c=e.i(948594),d=e.i(854763),p=e.i(637351),h=e.i(274149),g=e.i(106411),m=t([c,d,h,g]);function f(e){let t=e.trim(),r=t.match(/```(?:json)?\s*([\s\S]*?)\s*```/i);if(r)t=r[1];else{let e=t.indexOf("{"),r=t.indexOf("["),n=-1;if(n=-1===e?r:-1===r?e:Math.min(e,r),-1!==n){let e=t.lastIndexOf("}"),r=t.lastIndexOf("]"),i=Math.max(e,r);i>=n&&(t=t.slice(n,i+1))}}return JSON.parse(t)}function k(e){if(!e)return[];let t=i.default.join(process.cwd(),e,"AUXILIARY_META.json");if(!n.default.existsSync(t))return[];try{let e=n.default.readFileSync(t,"utf-8"),r=JSON.parse(e);return Object.entries(r).filter(e=>"string"==typeof e[0]&&"string"==typeof e[1]).map(([e,t])=>`${e}: ${t}`)}catch(e){return console.warn("[SkillBenchmarkGenerator] Failed to read AUXILIARY_META.json:",e),[]}}async function y(e){let t=await (0,g.getActiveConfig)(e);if(!t)throw Error("No active evaluation model configured for this user");let{customFetch:r}=(0,p.getProxyConfig)();return{client:new a.OpenAI({apiKey:t.apiKey||"no-api-key-required",baseURL:t.baseUrl||"https://api.deepseek.com",fetch:r}),model:t.model||"deepseek-chat"}}async function v(e,t,r){let n=await e.chat.completions.create({model:t,temperature:.2,messages:[{role:"user",content:r}]}),i=n.choices[0]?.message?.content;if(!i)throw Error("Model returned empty content for benchmark generation");return i}async function w(e,t,r,n,i,a){let o=(0,s.generateRoutingBenchmarkPrompt)({skillName:r.name,skillVersion:n.version,skillDescription:r.description,skillCategory:r.category,changeLog:n.changeLog,auxiliarySummaries:k(n.assetPath),skillContent:n.content,count:i,existingQueries:a}),l=await v(e,t,o),c=f(l),d=Array.isArray(c.benchmarks)?c.benchmarks:[];return(function(e){let t=new Set,r=[];for(let n of e){let e=(0,u.normalizeConfigQuery)(n.query);!e||t.has(e)||(t.add(e),r.push({query:e,coverage:"string"==typeof n.coverage?n.coverage.trim():""}))}return r})(d).slice(0,i)}async function S(e,t,r,n){let i=(0,s.generateOutcomeBenchmarkPrompt)({skillName:r.name,skillVersion:n.version,skillDescription:r.description,skillCategory:r.category,changeLog:n.changeLog,auxiliarySummaries:k(n.assetPath),skillContent:n.content}),a=await v(e,t,i),o=f(a).benchmark;if(!o||"string"!=typeof o.standardAnswer||!o.standardAnswer.trim())throw Error("Outcome benchmark generation returned an empty standard answer");return{sourceScenario:(0,u.normalizeConfigQuery)(o.sourceScenario),standardAnswer:o.standardAnswer.trim()}}async function R(e,t,r,n,i,a,s){let l=(0,u.getConfigSubjectLabel)({query:r,skill:n,skillVersion:i}),c=(0,o.generateRootCauseExtractionPrompt)(l,s),d=await v(e,t,c),p=f(d),h=`${n}${null!=i?` v${i}`:""}`,g=(0,o.generateKeyActionExtractionPrompt)(h,a),m=await v(e,t,g),k=f(m),y=e=>Array.isArray(e)?e.filter(e=>"string"==typeof e?.content&&e.content.trim()).map(e=>({content:e.content.trim(),weight:"number"==typeof e.weight?e.weight:1})):[];return{rootCauses:y(p.root_causes),keyActions:y(k.key_actions)}}function A(e,t,r){return!!(0,l.configSupportsDatasetType)(e.dataset_type,"routing")&&(e.expectedSkills||[]).some(e=>(0,u.normalizeConfigSkillName)(e.skill)===t&&(null==r||null==e.version||e.version===r))}function C(e,t,r){return!!(0,l.configSupportsDatasetType)(e.dataset_type,"outcome")&&(0,u.normalizeConfigSkillName)(e.skill)===t&&(0,u.normalizeOptionalSkillVersion)(e.skillVersion)===r}async function x(e,t,r){let n=await (0,c.readConfig)(e);return{routingCount:n.filter(e=>A(e,t,r)).length,outcomeCount:n.filter(e=>C(e,t,r)).length}}function b(e){return{id:e.id,query:e.query??null,dataset_type:e.datasetType,skill:e.skill||"",skillVersion:e.skillVersion??null,routing_intent:e.routingIntent||void 0,routing_anchors:e.routingAnchors?JSON.parse(e.routingAnchors):void 0,expectedSkills:e.expectedSkills?JSON.parse(e.expectedSkills):void 0,standard_answer:e.standardAnswer||"",root_causes:e.rootCauses?JSON.parse(e.rootCauses):void 0,key_actions:e.keyActions?JSON.parse(e.keyActions):void 0,parse_status:e.parseStatus||"completed"}}async function N(e){let t=!1!==e.includeRouting,r=!1!==e.includeOutcome,n=Math.min(Math.max(e.routingCount??4,1),8),i=(0,u.normalizeConfigSkillName)(e.skill.name),a=(0,u.normalizeOptionalSkillVersion)(e.version);if(!i)throw Error("Target skill name is empty");if(null==a)throw Error("Target skill version is invalid");let o=function(e,t){let r=e.versions?.find(e=>e.version===t);if(!r||!r.content?.trim())throw Error(`Skill version v${t} is missing or empty`);return r}(e.skill,a),{client:s,model:p}=await y(e.user),g=await (0,c.readConfig)(e.user),m=new Set(g.filter(e=>(0,l.configSupportsDatasetType)(e.dataset_type,"routing")).map(e=>(0,u.normalizeConfigQuery)(e.query)).filter(e=>!!e)),f=g.filter(e=>A(e,i,a)).map(e=>(0,u.normalizeConfigQuery)(e.query)).filter(e=>!!e),k=g.find(e=>C(e,i,a)),v=[],N=[],E=[];if(t)for(let t of(await w(s,p,e.skill,o,n,f))){let r=(0,u.normalizeConfigQuery)(t.query);if(!r)continue;if(m.has(r)){E.push(r);continue}let n=await (0,h.deriveRoutingSignature)(r,e.user);if(!n)throw Error(`Failed to derive routing signature for generated query: ${r}`);let o=await d.db.createConfig({query:r,skill:"",skillVersion:null,datasetType:"routing",routingIntent:n.intent,routingAnchors:JSON.stringify(n.anchors),expectedSkills:JSON.stringify([{skill:i,version:a}]),standardAnswer:"",rootCauses:null,keyActions:null,user:e.user,parseStatus:"completed"});v.push(b(o)),m.add(r)}if(r&&!k){let t=await S(s,p,e.skill,o),r=await R(s,p,t.sourceScenario,i,a,o.content,t.standardAnswer),n=await d.db.createConfig({query:t.sourceScenario,skill:i,skillVersion:a,datasetType:"outcome",routingIntent:null,routingAnchors:null,expectedSkills:null,standardAnswer:t.standardAnswer,rootCauses:JSON.stringify(r.rootCauses),keyActions:JSON.stringify(r.keyActions),user:e.user,parseStatus:"completed"});N.push(b(n))}return{generator_skills:["skill-benchmark-generator","routing-benchmark-generator","outcome-benchmark-generator"],skill:{id:e.skill.id,name:i,version:a},created:{routing:v,outcome:N},skipped:{routingDuplicates:E,outcomeAlreadyExists:!!k},inventory:await x(e.user,i,a)}}[c,d,h,g]=m.then?(await m)():m,e.s(["generateBenchmarksForSkill",()=>N]),r()}catch(e){r(e)}},!1),215825,e=>e.a(async(t,r)=>{try{var n=e.i(613866),i=t([n]);[n]=i.then?(await i)():i,e.s([]),r()}catch(e){r(e)}},!1),965237,e=>e.a(async(t,r)=>{try{var n=e.i(907366),i=e.i(262197),a=e.i(215825),o=e.i(613866),s=e.i(89171),l=t([n,a,o]);async function u(e,{params:t}){try{let{id:r}=await t,a=await e.json().catch(()=>({})),l="string"==typeof a?.user?a.user:null,u=a?.includeRouting!==!1,c=a?.includeOutcome!==!1,d="number"==typeof a?.routingCount?a.routingCount:void 0,{username:p}=await (0,n.resolveUser)(e,l);if(!p)return s.NextResponse.json({error:"A scoped user with an active evaluation model is required to generate benchmarks"},{status:400});let{allowed:h,skill:g}=await (0,n.canAccessSkill)(r,p);if(!g)return s.NextResponse.json({error:"Skill not found"},{status:404});if(!h)return s.NextResponse.json({error:"Unauthorized: Access denied"},{status:403});let m=(0,i.normalizeOptionalSkillVersion)(a?.version)??(0,i.normalizeOptionalSkillVersion)(g.activeVersion)??g.versions?.[0]?.version??null;if(null==m)return s.NextResponse.json({error:"Unable to resolve target skill version"},{status:400});let f=await (0,o.generateBenchmarksForSkill)({skill:g,version:m,user:p,includeRouting:u,includeOutcome:c,routingCount:d});return s.NextResponse.json(f)}catch(e){return console.error("[BenchmarkGenerate] Failed to generate benchmarks:",e),s.NextResponse.json({error:e.message||"Failed to generate benchmarks"},{status:500})}}[n,a,o]=l.then?(await l)():l,e.s(["POST",()=>u,"dynamic",0,"force-dynamic"]),r()}catch(e){r(e)}},!1),678136,e=>e.a(async(t,r)=>{try{var n=e.i(747909),i=e.i(174017),a=e.i(996250),o=e.i(759756),s=e.i(561916),l=e.i(174677),u=e.i(869741),c=e.i(316795),d=e.i(487718),p=e.i(995169),h=e.i(47587),g=e.i(666012),m=e.i(570101),f=e.i(626937),k=e.i(10372),y=e.i(193695);e.i(52474);var v=e.i(600220),w=e.i(965237),S=t([w]);[w]=S.then?(await S)():S;let C=new n.AppRouteRouteModule({definition:{kind:i.RouteKind.APP_ROUTE,page:"/api/skills/[id]/benchmark-generate/route",pathname:"/api/skills/[id]/benchmark-generate",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/skills/[id]/benchmark-generate/route.ts",nextConfigOutput:"standalone",userland:w}),{workAsyncStorage:x,workUnitAsyncStorage:b,serverHooks:N}=C;function R(){return(0,a.patchFetch)({workAsyncStorage:x,workUnitAsyncStorage:b})}async function A(e,t,r){C.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let n="/api/skills/[id]/benchmark-generate/route";n=n.replace(/\/index$/,"")||"/";let a=await C.prepare(e,t,{srcPage:n,multiZoneDraftMode:!1});if(!a)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:w,params:S,nextConfig:R,parsedUrl:A,isDraftMode:x,prerenderManifest:b,routerServerContext:N,isOnDemandRevalidate:E,revalidateOnlyGenerated:O,resolvedPathname:T,clientReferenceManifest:q,serverActionsManifest:$}=a,_=(0,u.normalizeAppPath)(n),P=!!(b.dynamicRoutes[_]||b.routes[T]),I=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,A,!1):t.end("This page could not be found"),null);if(P&&!x){let e=!!b.routes[T],t=b.dynamicRoutes[_];if(t&&!1===t.fallback&&!e){if(R.experimental.adapterPath)return await I();throw new y.NoFallbackError}}let U=null;!P||C.isDev||x||(U=T,U="/index"===U?"/":U);let D=!0===C.isDev||!P,j=P&&!D;$&&q&&(0,l.setManifestsSingleton)({page:n,clientReferenceManifest:q,serverActionsManifest:$});let L=e.method||"GET",M=(0,s.getTracer)(),H=M.getActiveScopeSpan(),F={params:S,prerenderManifest:b,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:D,incrementalCache:(0,o.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:R.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,i)=>C.onRequestError(e,t,n,i,N)},sharedContext:{buildId:w}},V=new c.NodeNextRequest(e),z=new c.NodeNextResponse(t),B=d.NextRequestAdapter.fromNodeNextRequest(V,(0,d.signalFromNodeResponse)(t));try{let a=async e=>C.handle(B,F).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=M.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let i=r.get("next.route");if(i){let t=`${L} ${i}`;e.setAttributes({"next.route":i,"http.route":i,"next.span_name":t}),e.updateName(t)}else e.updateName(`${L} ${n}`)}),l=!!(0,o.getRequestMeta)(e,"minimalMode"),u=async o=>{var s,u;let c=async({previousCacheEntry:i})=>{try{if(!l&&E&&O&&!i)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await a(o);e.fetchMetrics=F.renderOpts.fetchMetrics;let s=F.renderOpts.pendingWaitUntil;s&&r.waitUntil&&(r.waitUntil(s),s=void 0);let u=F.renderOpts.collectedTags;if(!P)return await (0,g.sendResponse)(V,z,n,F.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(n.headers);u&&(t[k.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==F.renderOpts.collectedRevalidate&&!(F.renderOpts.collectedRevalidate>=k.INFINITE_CACHE)&&F.renderOpts.collectedRevalidate,i=void 0===F.renderOpts.collectedExpire||F.renderOpts.collectedExpire>=k.INFINITE_CACHE?void 0:F.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:i}}}}catch(t){throw(null==i?void 0:i.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:n,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:E})},!1,N),t}},d=await C.handleResponse({req:e,nextConfig:R,cacheKey:U,routeKind:i.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:O,responseGenerator:c,waitUntil:r.waitUntil,isMinimalMode:l});if(!P)return null;if((null==d||null==(s=d.value)?void 0:s.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(u=d.value)?void 0:u.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),x&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,m.fromNodeOutgoingHttpHeaders)(d.value.headers);return l&&P||p.delete(k.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,f.getCacheControlHeader)(d.cacheControl)),await (0,g.sendResponse)(V,z,new Response(d.value.body,{headers:p,status:d.value.status||200})),null};H?await u(H):await M.withPropagatedContext(e.headers,()=>M.trace(p.BaseServerSpan.handleRequest,{spanName:`${L} ${n}`,kind:s.SpanKind.SERVER,attributes:{"http.method":L,"http.target":e.url}},u))}catch(t){if(t instanceof y.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:E})},!1,N),P)throw t;return await (0,g.sendResponse)(V,z,new Response(null,{status:500})),null}}e.s(["handler",()=>A,"patchFetch",()=>R,"routeModule",()=>C,"serverHooks",()=>N,"workAsyncStorage",()=>x,"workUnitAsyncStorage",()=>b]),r()}catch(e){r(e)}},!1)];
|
|
78
|
+
`.trim()}e.s(["generateOutcomeBenchmarkPrompt",()=>r,"generateRoutingBenchmarkPrompt",()=>t])},613866,e=>e.a(async(t,r)=>{try{var n=e.i(522734),i=e.i(814747);e.i(889228);var a=e.i(88045),o=e.i(2316),s=e.i(899778),l=e.i(384660),u=e.i(262197),c=e.i(948594),d=e.i(854763),p=e.i(637351),h=e.i(274149),g=e.i(106411),m=e.i(547499),f=t([c,d,h,g]);function k(e){let t=e.trim(),r=t.match(/```(?:json)?\s*([\s\S]*?)\s*```/i);if(r)t=r[1];else{let e=t.indexOf("{"),r=t.indexOf("["),n=-1;if(n=-1===e?r:-1===r?e:Math.min(e,r),-1!==n){let e=t.lastIndexOf("}"),r=t.lastIndexOf("]"),i=Math.max(e,r);i>=n&&(t=t.slice(n,i+1))}}return JSON.parse(t)}function y(e){if(!e)return[];let t=i.default.join((0,m.resolveRuntimeAssetPath)(e),"AUXILIARY_META.json");if(!n.default.existsSync(t))return[];try{let e=n.default.readFileSync(t,"utf-8"),r=JSON.parse(e);return Object.entries(r).filter(e=>"string"==typeof e[0]&&"string"==typeof e[1]).map(([e,t])=>`${e}: ${t}`)}catch(e){return console.warn("[SkillBenchmarkGenerator] Failed to read AUXILIARY_META.json:",e),[]}}async function v(e){let t=await (0,g.getActiveConfig)(e);if(!t)throw Error("No active evaluation model configured for this user");let{customFetch:r}=(0,p.getProxyConfig)();return{client:new a.OpenAI({apiKey:t.apiKey||"no-api-key-required",baseURL:t.baseUrl||"https://api.deepseek.com",fetch:r}),model:t.model||"deepseek-chat"}}async function w(e,t,r){let n=await e.chat.completions.create({model:t,temperature:.2,messages:[{role:"user",content:r}]}),i=n.choices[0]?.message?.content;if(!i)throw Error("Model returned empty content for benchmark generation");return i}async function S(e,t,r,n,i,a){let o=(0,s.generateRoutingBenchmarkPrompt)({skillName:r.name,skillVersion:n.version,skillDescription:r.description,skillCategory:r.category,changeLog:n.changeLog,auxiliarySummaries:y(n.assetPath),skillContent:n.content,count:i,existingQueries:a}),l=await w(e,t,o),c=k(l),d=Array.isArray(c.benchmarks)?c.benchmarks:[];return(function(e){let t=new Set,r=[];for(let n of e){let e=(0,u.normalizeConfigQuery)(n.query);!e||t.has(e)||(t.add(e),r.push({query:e,coverage:"string"==typeof n.coverage?n.coverage.trim():""}))}return r})(d).slice(0,i)}async function R(e,t,r,n){let i=(0,s.generateOutcomeBenchmarkPrompt)({skillName:r.name,skillVersion:n.version,skillDescription:r.description,skillCategory:r.category,changeLog:n.changeLog,auxiliarySummaries:y(n.assetPath),skillContent:n.content}),a=await w(e,t,i),o=k(a).benchmark;if(!o||"string"!=typeof o.standardAnswer||!o.standardAnswer.trim())throw Error("Outcome benchmark generation returned an empty standard answer");return{sourceScenario:(0,u.normalizeConfigQuery)(o.sourceScenario),standardAnswer:o.standardAnswer.trim()}}async function A(e,t,r,n,i,a,s){let l=(0,u.getConfigSubjectLabel)({query:r,skill:n,skillVersion:i}),c=(0,o.generateRootCauseExtractionPrompt)(l,s),d=await w(e,t,c),p=k(d),h=`${n}${null!=i?` v${i}`:""}`,g=(0,o.generateKeyActionExtractionPrompt)(h,a),m=await w(e,t,g),f=k(m),y=e=>Array.isArray(e)?e.filter(e=>"string"==typeof e?.content&&e.content.trim()).map(e=>({content:e.content.trim(),weight:"number"==typeof e.weight?e.weight:1})):[];return{rootCauses:y(p.root_causes),keyActions:y(f.key_actions)}}function C(e,t,r){return!!(0,l.configSupportsDatasetType)(e.dataset_type,"routing")&&(e.expectedSkills||[]).some(e=>(0,u.normalizeConfigSkillName)(e.skill)===t&&(null==r||null==e.version||e.version===r))}function x(e,t,r){return!!(0,l.configSupportsDatasetType)(e.dataset_type,"outcome")&&(0,u.normalizeConfigSkillName)(e.skill)===t&&(0,u.normalizeOptionalSkillVersion)(e.skillVersion)===r}async function b(e,t,r){let n=await (0,c.readConfig)(e);return{routingCount:n.filter(e=>C(e,t,r)).length,outcomeCount:n.filter(e=>x(e,t,r)).length}}function N(e){return{id:e.id,query:e.query??null,dataset_type:e.datasetType,skill:e.skill||"",skillVersion:e.skillVersion??null,routing_intent:e.routingIntent||void 0,routing_anchors:e.routingAnchors?JSON.parse(e.routingAnchors):void 0,expectedSkills:e.expectedSkills?JSON.parse(e.expectedSkills):void 0,standard_answer:e.standardAnswer||"",root_causes:e.rootCauses?JSON.parse(e.rootCauses):void 0,key_actions:e.keyActions?JSON.parse(e.keyActions):void 0,parse_status:e.parseStatus||"completed"}}async function E(e){let t=!1!==e.includeRouting,r=!1!==e.includeOutcome,n=Math.min(Math.max(e.routingCount??4,1),8),i=(0,u.normalizeConfigSkillName)(e.skill.name),a=(0,u.normalizeOptionalSkillVersion)(e.version);if(!i)throw Error("Target skill name is empty");if(null==a)throw Error("Target skill version is invalid");let o=function(e,t){let r=e.versions?.find(e=>e.version===t);if(!r||!r.content?.trim())throw Error(`Skill version v${t} is missing or empty`);return r}(e.skill,a),{client:s,model:p}=await v(e.user),g=await (0,c.readConfig)(e.user),m=new Set(g.filter(e=>(0,l.configSupportsDatasetType)(e.dataset_type,"routing")).map(e=>(0,u.normalizeConfigQuery)(e.query)).filter(e=>!!e)),f=g.filter(e=>C(e,i,a)).map(e=>(0,u.normalizeConfigQuery)(e.query)).filter(e=>!!e),k=g.find(e=>x(e,i,a)),y=[],w=[],E=[];if(t)for(let t of(await S(s,p,e.skill,o,n,f))){let r=(0,u.normalizeConfigQuery)(t.query);if(!r)continue;if(m.has(r)){E.push(r);continue}let n=await (0,h.deriveRoutingSignature)(r,e.user);if(!n)throw Error(`Failed to derive routing signature for generated query: ${r}`);let o=await d.db.createConfig({query:r,skill:"",skillVersion:null,datasetType:"routing",routingIntent:n.intent,routingAnchors:JSON.stringify(n.anchors),expectedSkills:JSON.stringify([{skill:i,version:a}]),standardAnswer:"",rootCauses:null,keyActions:null,user:e.user,parseStatus:"completed"});y.push(N(o)),m.add(r)}if(r&&!k){let t=await R(s,p,e.skill,o),r=await A(s,p,t.sourceScenario,i,a,o.content,t.standardAnswer),n=await d.db.createConfig({query:t.sourceScenario,skill:i,skillVersion:a,datasetType:"outcome",routingIntent:null,routingAnchors:null,expectedSkills:null,standardAnswer:t.standardAnswer,rootCauses:JSON.stringify(r.rootCauses),keyActions:JSON.stringify(r.keyActions),user:e.user,parseStatus:"completed"});w.push(N(n))}return{generator_skills:["skill-benchmark-generator","routing-benchmark-generator","outcome-benchmark-generator"],skill:{id:e.skill.id,name:i,version:a},created:{routing:y,outcome:w},skipped:{routingDuplicates:E,outcomeAlreadyExists:!!k},inventory:await b(e.user,i,a)}}[c,d,h,g]=f.then?(await f)():f,e.s(["generateBenchmarksForSkill",()=>E]),r()}catch(e){r(e)}},!1),215825,e=>e.a(async(t,r)=>{try{var n=e.i(613866),i=t([n]);[n]=i.then?(await i)():i,e.s([]),r()}catch(e){r(e)}},!1),965237,e=>e.a(async(t,r)=>{try{var n=e.i(907366),i=e.i(262197),a=e.i(215825),o=e.i(613866),s=e.i(89171),l=t([n,a,o]);async function u(e,{params:t}){try{let{id:r}=await t,a=await e.json().catch(()=>({})),l="string"==typeof a?.user?a.user:null,u=a?.includeRouting!==!1,c=a?.includeOutcome!==!1,d="number"==typeof a?.routingCount?a.routingCount:void 0,{username:p}=await (0,n.resolveUser)(e,l);if(!p)return s.NextResponse.json({error:"A scoped user with an active evaluation model is required to generate benchmarks"},{status:400});let{allowed:h,skill:g}=await (0,n.canAccessSkill)(r,p);if(!g)return s.NextResponse.json({error:"Skill not found"},{status:404});if(!h)return s.NextResponse.json({error:"Unauthorized: Access denied"},{status:403});let m=(0,i.normalizeOptionalSkillVersion)(a?.version)??(0,i.normalizeOptionalSkillVersion)(g.activeVersion)??g.versions?.[0]?.version??null;if(null==m)return s.NextResponse.json({error:"Unable to resolve target skill version"},{status:400});let f=await (0,o.generateBenchmarksForSkill)({skill:g,version:m,user:p,includeRouting:u,includeOutcome:c,routingCount:d});return s.NextResponse.json(f)}catch(e){return console.error("[BenchmarkGenerate] Failed to generate benchmarks:",e),s.NextResponse.json({error:e.message||"Failed to generate benchmarks"},{status:500})}}[n,a,o]=l.then?(await l)():l,e.s(["POST",()=>u,"dynamic",0,"force-dynamic"]),r()}catch(e){r(e)}},!1),678136,e=>e.a(async(t,r)=>{try{var n=e.i(747909),i=e.i(174017),a=e.i(996250),o=e.i(759756),s=e.i(561916),l=e.i(174677),u=e.i(869741),c=e.i(316795),d=e.i(487718),p=e.i(995169),h=e.i(47587),g=e.i(666012),m=e.i(570101),f=e.i(626937),k=e.i(10372),y=e.i(193695);e.i(52474);var v=e.i(600220),w=e.i(965237),S=t([w]);[w]=S.then?(await S)():S;let C=new n.AppRouteRouteModule({definition:{kind:i.RouteKind.APP_ROUTE,page:"/api/skills/[id]/benchmark-generate/route",pathname:"/api/skills/[id]/benchmark-generate",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/skills/[id]/benchmark-generate/route.ts",nextConfigOutput:"standalone",userland:w}),{workAsyncStorage:x,workUnitAsyncStorage:b,serverHooks:N}=C;function R(){return(0,a.patchFetch)({workAsyncStorage:x,workUnitAsyncStorage:b})}async function A(e,t,r){C.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let n="/api/skills/[id]/benchmark-generate/route";n=n.replace(/\/index$/,"")||"/";let a=await C.prepare(e,t,{srcPage:n,multiZoneDraftMode:!1});if(!a)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:w,params:S,nextConfig:R,parsedUrl:A,isDraftMode:x,prerenderManifest:b,routerServerContext:N,isOnDemandRevalidate:E,revalidateOnlyGenerated:O,resolvedPathname:T,clientReferenceManifest:q,serverActionsManifest:$}=a,P=(0,u.normalizeAppPath)(n),_=!!(b.dynamicRoutes[P]||b.routes[T]),I=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,A,!1):t.end("This page could not be found"),null);if(_&&!x){let e=!!b.routes[T],t=b.dynamicRoutes[P];if(t&&!1===t.fallback&&!e){if(R.experimental.adapterPath)return await I();throw new y.NoFallbackError}}let U=null;!_||C.isDev||x||(U=T,U="/index"===U?"/":U);let D=!0===C.isDev||!_,j=_&&!D;$&&q&&(0,l.setManifestsSingleton)({page:n,clientReferenceManifest:q,serverActionsManifest:$});let L=e.method||"GET",M=(0,s.getTracer)(),H=M.getActiveScopeSpan(),F={params:S,prerenderManifest:b,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:D,incrementalCache:(0,o.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:R.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,i)=>C.onRequestError(e,t,n,i,N)},sharedContext:{buildId:w}},V=new c.NodeNextRequest(e),z=new c.NodeNextResponse(t),B=d.NextRequestAdapter.fromNodeNextRequest(V,(0,d.signalFromNodeResponse)(t));try{let a=async e=>C.handle(B,F).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=M.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let i=r.get("next.route");if(i){let t=`${L} ${i}`;e.setAttributes({"next.route":i,"http.route":i,"next.span_name":t}),e.updateName(t)}else e.updateName(`${L} ${n}`)}),l=!!(0,o.getRequestMeta)(e,"minimalMode"),u=async o=>{var s,u;let c=async({previousCacheEntry:i})=>{try{if(!l&&E&&O&&!i)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await a(o);e.fetchMetrics=F.renderOpts.fetchMetrics;let s=F.renderOpts.pendingWaitUntil;s&&r.waitUntil&&(r.waitUntil(s),s=void 0);let u=F.renderOpts.collectedTags;if(!_)return await (0,g.sendResponse)(V,z,n,F.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(n.headers);u&&(t[k.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==F.renderOpts.collectedRevalidate&&!(F.renderOpts.collectedRevalidate>=k.INFINITE_CACHE)&&F.renderOpts.collectedRevalidate,i=void 0===F.renderOpts.collectedExpire||F.renderOpts.collectedExpire>=k.INFINITE_CACHE?void 0:F.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:i}}}}catch(t){throw(null==i?void 0:i.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:n,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:E})},!1,N),t}},d=await C.handleResponse({req:e,nextConfig:R,cacheKey:U,routeKind:i.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:O,responseGenerator:c,waitUntil:r.waitUntil,isMinimalMode:l});if(!_)return null;if((null==d||null==(s=d.value)?void 0:s.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(u=d.value)?void 0:u.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),x&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,m.fromNodeOutgoingHttpHeaders)(d.value.headers);return l&&_||p.delete(k.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,f.getCacheControlHeader)(d.cacheControl)),await (0,g.sendResponse)(V,z,new Response(d.value.body,{headers:p,status:d.value.status||200})),null};H?await u(H):await M.withPropagatedContext(e.headers,()=>M.trace(p.BaseServerSpan.handleRequest,{spanName:`${L} ${n}`,kind:s.SpanKind.SERVER,attributes:{"http.method":L,"http.target":e.url}},u))}catch(t){if(t instanceof y.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:E})},!1,N),_)throw t;return await (0,g.sendResponse)(V,z,new Response(null,{status:500})),null}}e.s(["handler",()=>A,"patchFetch",()=>R,"routeModule",()=>C,"serverHooks",()=>N,"workAsyncStorage",()=>x,"workUnitAsyncStorage",()=>b]),r()}catch(e){r(e)}},!1)];
|
|
79
79
|
|
|
80
80
|
//# sourceMappingURL=_8603f9ca._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[856042,e=>e.a(async(t,r)=>{try{var a=e.i(907366),i=e.i(854763),s=e.i(522734),n=e.i(89171),l=e.i(814747),o=e.i(529647),d=t([a,i,o]);async function c(e){try{let t=e.nextUrl.searchParams,r=t.get("query"),s=t.get("category"),l=t.get("user"),{username:o}=await (0,a.resolveUser)(e,l),d={};if(o&&(d.OR=[{user:o},{user:null},{visibility:"public"}]),r){let e={OR:[{name:{contains:r}},{description:{contains:r}}]};d.OR?(d.AND=[{OR:d.OR},e],delete d.OR):d.OR=e.OR}s&&"全部"!==s&&(d.category=s);let c=await i.db.findSkills(d);c.sort((e,t)=>{let r=e.versions?.find(e=>0===e.version),a=t.versions?.find(e=>0===e.version),i=r?new Date(r.createdAt).getTime():0;return(a?new Date(a.createdAt).getTime():0)-i});let u=c.map(e=>e.name).filter(Boolean),p=new Date(Date.now()-6048e5),h=new Map,g=new Map,f=new Set;if(u.length>0){try{for(let e of(await i.prismaRaw.execution.findMany({where:{skill:{in:u},timestamp:{gte:p}},select:{skill:!0,agentName:!0,isAnswerCorrect:!0,failures:!0}}))){if(!e.skill)continue;let t=h.get(e.skill);t||(t={calls:0,agents:new Set,success:0,total:0},h.set(e.skill,t)),t.calls+=1,t.total+=1,e.agentName&&t.agents.add(e.agentName),!1===e.isAnswerCorrect||e.failures&&"[]"!==e.failures&&"null"!==e.failures&&(()=>{try{let t=JSON.parse(e.failures);return Array.isArray(t)&&t.length>0}catch{return!1}})()||(t.success+=1)}}catch(e){console.warn("[Skills List] failed to aggregate executions:",e?.message)}try{let e=c.map(e=>e.id),t=await i.prismaRaw.evaluation.findMany({where:{skillId:{in:e},type:"static"},orderBy:{ranAt:"desc"},include:{issues:{select:{severity:!0}}}});for(let e of c){let r=e.activeVersion||0,a=t.find(t=>t.skillId===e.id&&t.version===r);if(!a)continue;f.add(e.id);let i={high:0,medium:0,low:0};for(let e of a.issues)"high"===e.severity?i.high+=1:"medium"===e.severity?i.medium+=1:i.low+=1;g.set(e.id,i)}}catch(e){console.warn("[Skills List] failed to aggregate skill issues:",e?.message)}}let m=c.map(e=>{let t=e.versions?.find(t=>t.version===(e.activeVersion||0)),r=t?.changeLog||e.description,a=t?.createdAt?new Date(t.createdAt).toISOString():e.updatedAt.toISOString(),i=h.get(e.name),s=i?.calls||0,n=i?i.agents.size:0,l=i&&i.total>0?Number((i.success/i.total*100).toFixed(1)):null,o=g.get(e.id)||{high:0,medium:0,low:0},d=f.has(e.id)?o.high>1?1:1===o.high||o.medium>3?2:o.medium>=2?3:4:0;return{id:e.id,name:e.name,description:r,category:e.category,tags:e.tags?JSON.parse(e.tags):[],author:e.author,updatedAt:a,version:e.activeVersion||0,activeVersion:e.activeVersion||0,visibility:e.visibility,qualityScore:d,qualityIssues:o,usageCount:s,calls7d:s,agentsUsing:n,successRate:l,isUploaded:e.isUploaded,versions:e.versions?.map(e=>({id:e.id,version:e.version,createdAt:e.createdAt?new Date(e.createdAt).toISOString():"",changeLog:e.changeLog}))||[]}});return n.NextResponse.json(m)}catch(e){return console.error("Fetch Skills Error:",e),n.NextResponse.json({error:"Failed to fetch skills"},{status:500})}}async function u(e){let t=e.nextUrl.searchParams,r=t.get("id"),d=t.get("user");if(!r)return n.NextResponse.json({error:"ID required"},{status:400});try{let{username:t}=await (0,a.resolveUser)(e,d),c=await i.db.findSkillById(r);if(!c)return n.NextResponse.json({error:"Skill not found"},{status:404});if(t&&c.user&&c.user!==t)return n.NextResponse.json({error:"Unauthorized delete"},{status:403});if("true"===process.env.ORGANIZATION_MODE)try{let t=e.headers.get("cookie")||void 0;for(let e of(console.log("[Delete-Skill] 企业模式,开始删除企业skill"),c.versions||[]))if(e.enterpriseSkillId){console.log("[Delete-Skill] 检查企业skill ID:",e.enterpriseSkillId);let r=await (0,o.fetchEnterpriseSkillInfo)(e.enterpriseSkillId,t),a=e.semanticVersion;console.log("[Delete-Skill] 本地版本:",a,"企业版本:",r),a===r?(console.log("[Delete-Skill] 版本一致,删除企业skill"),await (0,o.deleteEnterpriseSkill)(e.enterpriseSkillId,t)):console.log("[Delete-Skill] 版本不一致,跳过删除(企业已有新版本)")}}catch(e){console.error("[Delete-Skill] 企业删除失败,继续删除本地skill:",e),console.error("[Delete-Skill] 错误信息:",e.message)}let u=l.default.join(process.cwd(),"data","storage","skills",r);return s.default.existsSync(u)&&s.default.rmSync(u,{recursive:!0,force:!0}),await i.db.deleteSkill(r),n.NextResponse.json({success:!0})}catch(e){return console.error("Delete Skill Error:",e),n.NextResponse.json({error:e.message},{status:500})}}[a,i,o]=d.then?(await d)():d,e.s(["DELETE",()=>u,"GET",()=>c,"dynamic",0,"force-dynamic"]),r()}catch(e){r(e)}},!1),987542,e=>e.a(async(t,r)=>{try{var a=e.i(747909),i=e.i(174017),s=e.i(996250),n=e.i(759756),l=e.i(561916),o=e.i(174677),d=e.i(869741),c=e.i(316795),u=e.i(487718),p=e.i(995169),h=e.i(47587),g=e.i(666012),f=e.i(570101),m=e.i(626937),v=e.i(10372),R=e.i(193695);e.i(52474);var w=e.i(600220),y=e.i(856042),k=t([y]);[y]=k.then?(await k)():k;let A=new a.AppRouteRouteModule({definition:{kind:i.RouteKind.APP_ROUTE,page:"/api/skills/route",pathname:"/api/skills",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/skills/route.ts",nextConfigOutput:"standalone",userland:y}),{workAsyncStorage:x,workUnitAsyncStorage:N,serverHooks:C}=A;function S(){return(0,s.patchFetch)({workAsyncStorage:x,workUnitAsyncStorage:N})}async function E(e,t,r){A.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/skills/route";a=a.replace(/\/index$/,"")||"/";let s=await A.prepare(e,t,{srcPage:a,multiZoneDraftMode:!1});if(!s)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:y,params:k,nextConfig:S,parsedUrl:E,isDraftMode:x,prerenderManifest:N,routerServerContext:C,isOnDemandRevalidate:O,revalidateOnlyGenerated:D,resolvedPathname:I,clientReferenceManifest:b,serverActionsManifest:T}=s,P=(0,d.normalizeAppPath)(a),U=!!(N.dynamicRoutes[P]||N.routes[I]),_=async()=>((null==C?void 0:C.render404)?await C.render404(e,t,E,!1):t.end("This page could not be found"),null);if(U&&!x){let e=!!N.routes[I],t=N.dynamicRoutes[P];if(t&&!1===t.fallback&&!e){if(S.experimental.adapterPath)return await _();throw new R.NoFallbackError}}let q=null;!U||A.isDev||x||(q=I,q="/index"===q?"/":q);let H=!0===A.isDev||!U,M=U&&!H;T&&b&&(0,o.setManifestsSingleton)({page:a,clientReferenceManifest:b,serverActionsManifest:T});let j=e.method||"GET",F=(0,l.getTracer)(),L=F.getActiveScopeSpan(),V={params:k,prerenderManifest:N,renderOpts:{experimental:{authInterrupts:!!S.experimental.authInterrupts},cacheComponents:!!S.cacheComponents,supportsDynamicResponse:H,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:S.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,i)=>A.onRequestError(e,t,a,i,C)},sharedContext:{buildId:y}},$=new c.NodeNextRequest(e),B=new c.NodeNextResponse(t),K=u.NextRequestAdapter.fromNodeNextRequest($,(0,u.signalFromNodeResponse)(t));try{let s=async e=>A.handle(K,V).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let i=r.get("next.route");if(i){let t=`${j} ${i}`;e.setAttributes({"next.route":i,"http.route":i,"next.span_name":t}),e.updateName(t)}else e.updateName(`${j} ${a}`)}),o=!!(0,n.getRequestMeta)(e,"minimalMode"),d=async n=>{var l,d;let c=async({previousCacheEntry:i})=>{try{if(!o&&O&&D&&!i)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await s(n);e.fetchMetrics=V.renderOpts.fetchMetrics;let l=V.renderOpts.pendingWaitUntil;l&&r.waitUntil&&(r.waitUntil(l),l=void 0);let d=V.renderOpts.collectedTags;if(!U)return await (0,g.sendResponse)($,B,a,V.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(a.headers);d&&(t[v.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,i=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=v.INFINITE_CACHE?void 0:V.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:i}}}}catch(t){throw(null==i?void 0:i.isStale)&&await A.onRequestError(e,t,{routerKind:"App Router",routePath:a,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:O})},!1,C),t}},u=await A.handleResponse({req:e,nextConfig:S,cacheKey:q,routeKind:i.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:N,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:D,responseGenerator:c,waitUntil:r.waitUntil,isMinimalMode:o});if(!U)return null;if((null==u||null==(l=u.value)?void 0:l.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(d=u.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",O?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),x&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return o&&U||p.delete(v.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,m.getCacheControlHeader)(u.cacheControl)),await (0,g.sendResponse)($,B,new Response(u.value.body,{headers:p,status:u.value.status||200})),null};L?await d(L):await F.withPropagatedContext(e.headers,()=>F.trace(p.BaseServerSpan.handleRequest,{spanName:`${j} ${a}`,kind:l.SpanKind.SERVER,attributes:{"http.method":j,"http.target":e.url}},d))}catch(t){if(t instanceof R.NoFallbackError||await A.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:O})},!1,C),U)throw t;return await (0,g.sendResponse)($,B,new Response(null,{status:500})),null}}e.s(["handler",()=>E,"patchFetch",()=>S,"routeModule",()=>A,"serverHooks",()=>C,"workAsyncStorage",()=>x,"workUnitAsyncStorage",()=>N]),r()}catch(e){r(e)}},!1)];
|
|
1
|
+
module.exports=[856042,e=>e.a(async(t,r)=>{try{var a=e.i(907366),i=e.i(854763),n=e.i(547499),s=e.i(522734),l=e.i(89171),o=e.i(814747),d=e.i(529647),u=t([a,i,d]);async function c(e){try{let t=e.nextUrl.searchParams,r=t.get("query"),n=t.get("category"),s=t.get("user"),{username:o}=await (0,a.resolveUser)(e,s),d={};if(o&&(d.OR=[{user:o},{user:null},{visibility:"public"}]),r){let e={OR:[{name:{contains:r}},{description:{contains:r}}]};d.OR?(d.AND=[{OR:d.OR},e],delete d.OR):d.OR=e.OR}n&&"全部"!==n&&(d.category=n);let u=await i.db.findSkills(d);u.sort((e,t)=>{let r=e.versions?.find(e=>0===e.version),a=t.versions?.find(e=>0===e.version),i=r?new Date(r.createdAt).getTime():0;return(a?new Date(a.createdAt).getTime():0)-i});let c=u.map(e=>e.name).filter(Boolean),p=new Date(Date.now()-6048e5),h=new Map,g=new Map,f=new Set;if(c.length>0){try{for(let e of(await i.prismaRaw.execution.findMany({where:{skill:{in:c},timestamp:{gte:p}},select:{skill:!0,agentName:!0,isAnswerCorrect:!0,failures:!0}}))){if(!e.skill)continue;let t=h.get(e.skill);t||(t={calls:0,agents:new Set,success:0,total:0},h.set(e.skill,t)),t.calls+=1,t.total+=1,e.agentName&&t.agents.add(e.agentName),!1===e.isAnswerCorrect||e.failures&&"[]"!==e.failures&&"null"!==e.failures&&(()=>{try{let t=JSON.parse(e.failures);return Array.isArray(t)&&t.length>0}catch{return!1}})()||(t.success+=1)}}catch(e){console.warn("[Skills List] failed to aggregate executions:",e?.message)}try{let e=u.map(e=>e.id),t=await i.prismaRaw.evaluation.findMany({where:{skillId:{in:e},type:"static"},orderBy:{ranAt:"desc"},include:{issues:{select:{severity:!0}}}});for(let e of u){let r=e.activeVersion||0,a=t.find(t=>t.skillId===e.id&&t.version===r);if(!a)continue;f.add(e.id);let i={high:0,medium:0,low:0};for(let e of a.issues)"high"===e.severity?i.high+=1:"medium"===e.severity?i.medium+=1:i.low+=1;g.set(e.id,i)}}catch(e){console.warn("[Skills List] failed to aggregate skill issues:",e?.message)}}let m=u.map(e=>{let t=e.versions?.find(t=>t.version===(e.activeVersion||0)),r=t?.changeLog||e.description,a=t?.createdAt?new Date(t.createdAt).toISOString():e.updatedAt.toISOString(),i=h.get(e.name),n=i?.calls||0,s=i?i.agents.size:0,l=i&&i.total>0?Number((i.success/i.total*100).toFixed(1)):null,o=g.get(e.id)||{high:0,medium:0,low:0},d=f.has(e.id)?o.high>1?1:1===o.high||o.medium>3?2:o.medium>=2?3:4:0;return{id:e.id,name:e.name,description:r,category:e.category,tags:e.tags?JSON.parse(e.tags):[],author:e.author,updatedAt:a,version:e.activeVersion||0,activeVersion:e.activeVersion||0,visibility:e.visibility,qualityScore:d,qualityIssues:o,usageCount:n,calls7d:n,agentsUsing:s,successRate:l,isUploaded:e.isUploaded,versions:e.versions?.map(e=>({id:e.id,version:e.version,createdAt:e.createdAt?new Date(e.createdAt).toISOString():"",changeLog:e.changeLog}))||[]}});return l.NextResponse.json(m)}catch(e){return console.error("Fetch Skills Error:",e),l.NextResponse.json({error:"Failed to fetch skills"},{status:500})}}async function p(e){let t=e.nextUrl.searchParams,r=t.get("id"),u=t.get("user");if(!r)return l.NextResponse.json({error:"ID required"},{status:400});try{let{username:t}=await (0,a.resolveUser)(e,u),c=await i.db.findSkillById(r);if(!c)return l.NextResponse.json({error:"Skill not found"},{status:404});if(t&&c.user&&c.user!==t)return l.NextResponse.json({error:"Unauthorized delete"},{status:403});if("true"===process.env.ORGANIZATION_MODE)try{let t=e.headers.get("cookie")||void 0;for(let e of(console.log("[Delete-Skill] 企业模式,开始删除企业skill"),c.versions||[]))if(e.enterpriseSkillId){console.log("[Delete-Skill] 检查企业skill ID:",e.enterpriseSkillId);let r=await (0,d.fetchEnterpriseSkillInfo)(e.enterpriseSkillId,t),a=e.semanticVersion;console.log("[Delete-Skill] 本地版本:",a,"企业版本:",r),a===r?(console.log("[Delete-Skill] 版本一致,删除企业skill"),await (0,d.deleteEnterpriseSkill)(e.enterpriseSkillId,t)):console.log("[Delete-Skill] 版本不一致,跳过删除(企业已有新版本)")}}catch(e){console.error("[Delete-Skill] 企业删除失败,继续删除本地skill:",e),console.error("[Delete-Skill] 错误信息:",e.message)}let p=o.default.join((0,n.getSkillStorageRoot)(),r);return s.default.existsSync(p)&&s.default.rmSync(p,{recursive:!0,force:!0}),await i.db.deleteSkill(r),l.NextResponse.json({success:!0})}catch(e){return console.error("Delete Skill Error:",e),l.NextResponse.json({error:e.message},{status:500})}}[a,i,d]=u.then?(await u)():u,e.s(["DELETE",()=>p,"GET",()=>c,"dynamic",0,"force-dynamic"]),r()}catch(e){r(e)}},!1),987542,e=>e.a(async(t,r)=>{try{var a=e.i(747909),i=e.i(174017),n=e.i(996250),s=e.i(759756),l=e.i(561916),o=e.i(174677),d=e.i(869741),u=e.i(316795),c=e.i(487718),p=e.i(995169),h=e.i(47587),g=e.i(666012),f=e.i(570101),m=e.i(626937),R=e.i(10372),v=e.i(193695);e.i(52474);var w=e.i(600220),y=e.i(856042),S=t([y]);[y]=S.then?(await S)():S;let A=new a.AppRouteRouteModule({definition:{kind:i.RouteKind.APP_ROUTE,page:"/api/skills/route",pathname:"/api/skills",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/skills/route.ts",nextConfigOutput:"standalone",userland:y}),{workAsyncStorage:x,workUnitAsyncStorage:N,serverHooks:C}=A;function k(){return(0,n.patchFetch)({workAsyncStorage:x,workUnitAsyncStorage:N})}async function E(e,t,r){A.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/skills/route";a=a.replace(/\/index$/,"")||"/";let n=await A.prepare(e,t,{srcPage:a,multiZoneDraftMode:!1});if(!n)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:y,params:S,nextConfig:k,parsedUrl:E,isDraftMode:x,prerenderManifest:N,routerServerContext:C,isOnDemandRevalidate:O,revalidateOnlyGenerated:D,resolvedPathname:I,clientReferenceManifest:b,serverActionsManifest:T}=n,P=(0,d.normalizeAppPath)(a),U=!!(N.dynamicRoutes[P]||N.routes[I]),_=async()=>((null==C?void 0:C.render404)?await C.render404(e,t,E,!1):t.end("This page could not be found"),null);if(U&&!x){let e=!!N.routes[I],t=N.dynamicRoutes[P];if(t&&!1===t.fallback&&!e){if(k.experimental.adapterPath)return await _();throw new v.NoFallbackError}}let q=null;!U||A.isDev||x||(q=I,q="/index"===q?"/":q);let H=!0===A.isDev||!U,M=U&&!H;T&&b&&(0,o.setManifestsSingleton)({page:a,clientReferenceManifest:b,serverActionsManifest:T});let j=e.method||"GET",F=(0,l.getTracer)(),L=F.getActiveScopeSpan(),V={params:S,prerenderManifest:N,renderOpts:{experimental:{authInterrupts:!!k.experimental.authInterrupts},cacheComponents:!!k.cacheComponents,supportsDynamicResponse:H,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:k.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,i)=>A.onRequestError(e,t,a,i,C)},sharedContext:{buildId:y}},$=new u.NodeNextRequest(e),B=new u.NodeNextResponse(t),K=c.NextRequestAdapter.fromNodeNextRequest($,(0,c.signalFromNodeResponse)(t));try{let n=async e=>A.handle(K,V).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let i=r.get("next.route");if(i){let t=`${j} ${i}`;e.setAttributes({"next.route":i,"http.route":i,"next.span_name":t}),e.updateName(t)}else e.updateName(`${j} ${a}`)}),o=!!(0,s.getRequestMeta)(e,"minimalMode"),d=async s=>{var l,d;let u=async({previousCacheEntry:i})=>{try{if(!o&&O&&D&&!i)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await n(s);e.fetchMetrics=V.renderOpts.fetchMetrics;let l=V.renderOpts.pendingWaitUntil;l&&r.waitUntil&&(r.waitUntil(l),l=void 0);let d=V.renderOpts.collectedTags;if(!U)return await (0,g.sendResponse)($,B,a,V.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(a.headers);d&&(t[R.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=R.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,i=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=R.INFINITE_CACHE?void 0:V.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:i}}}}catch(t){throw(null==i?void 0:i.isStale)&&await A.onRequestError(e,t,{routerKind:"App Router",routePath:a,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:O})},!1,C),t}},c=await A.handleResponse({req:e,nextConfig:k,cacheKey:q,routeKind:i.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:N,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:D,responseGenerator:u,waitUntil:r.waitUntil,isMinimalMode:o});if(!U)return null;if((null==c||null==(l=c.value)?void 0:l.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(d=c.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",O?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),x&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,f.fromNodeOutgoingHttpHeaders)(c.value.headers);return o&&U||p.delete(R.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,m.getCacheControlHeader)(c.cacheControl)),await (0,g.sendResponse)($,B,new Response(c.value.body,{headers:p,status:c.value.status||200})),null};L?await d(L):await F.withPropagatedContext(e.headers,()=>F.trace(p.BaseServerSpan.handleRequest,{spanName:`${j} ${a}`,kind:l.SpanKind.SERVER,attributes:{"http.method":j,"http.target":e.url}},d))}catch(t){if(t instanceof v.NoFallbackError||await A.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:O})},!1,C),U)throw t;return await (0,g.sendResponse)($,B,new Response(null,{status:500})),null}}e.s(["handler",()=>E,"patchFetch",()=>k,"routeModule",()=>A,"serverHooks",()=>C,"workAsyncStorage",()=>x,"workUnitAsyncStorage",()=>N]),r()}catch(e){r(e)}},!1)];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_89a3536c._.js.map
|
|
@@ -133,6 +133,6 @@ Guidelines:
|
|
|
133
133
|
- Only extract points that are explicitly present or clearly implied by the standard answer.
|
|
134
134
|
- Do not turn generic workflow steps into key points unless they are business conclusions required in the final answer.
|
|
135
135
|
- The "content" field must follow the same language as the query or standard answer.
|
|
136
|
-
`])},511284,t=>{"use strict";var e=t.i(254799);function a(t){return(0,e.createHash)("sha256").update(String(t||"").trim()).digest("hex").slice(0,16)}function r(t){return Array.isArray(t)?t.map(t=>t&&"object"==typeof t?t:null).filter(t=>!!t).map(t=>({content:String(t.content||"").trim(),weight:"number"==typeof t.weight&&Number.isFinite(t.weight)?t.weight:1})).filter(t=>!!t.content):[]}function n(t){if(!t||"object"!=typeof t)return;let e="ready"===t.status||"failed"===t.status||"empty"===t.status?t.status:null,a=String(t.expectedOutputHash||"").trim(),r=String(t.updatedAt||"").trim();if(!e||!a||!r)return;let n=String(t.error||"").trim();return{status:e,expectedOutputHash:a,updatedAt:r,...n?{error:n}:{}}}function i(t,e){return!!e&&e.expectedOutputHash===a(t)}t.s(["canReuseRootCauseCache",()=>i,"hashExpectedOutput",()=>a,"normalizeRootCauseItems",()=>r,"normalizeRootCauseMeta",()=>n])},794538,t=>{"use strict";function e(t){try{let e=JSON.parse(t);return e&&"object"==typeof e&&!Array.isArray(e)?e:null}catch{return null}}function a(t){let a=e(t);if(a)return a;let r=t.indexOf("{"),n=t.lastIndexOf("}");if(-1!==r&&-1!==n&&n>r){let a=t.slice(r,n+1),i=e(a);if(i)return i;let s=e(function(t){let e="",a=!1,r=!1;for(let n=0;n<t.length;n+=1){let i=t[n];if(!a){'"'===i&&(a=!0),e+=i;continue}if(r){e+=i,r=!1;continue}if("\\"===i){e+=i,r=!0;continue}if('"'===i){let r=n+1;for(;r<t.length&&/\s/.test(t[r]);)r+=1;let s=t[r]||"";":"===s||","===s||"}"===s||"]"===s?(a=!1,e+=i):e+='\\"';continue}if("\n"===i){e+="\\n";continue}if("\r"===i){e+="\\r";continue}if(" "===i){e+="\\t";continue}e+=i}return e}(a));if(s)return{...s,_json_repaired:!0}}return null}function r(t){let e=t.trim(),r=a(e);if(r)return r;for(let t of Array.from(e.matchAll(/```json\s*([\s\S]*?)\s*```/gi))){let e=a(t[1]||"");if(e)return e}for(let t of Array.from(e.matchAll(/```(?:[^\n`]*)\n([\s\S]*?)\s*```/g))){let e=a(t[1]||"");if(e)return e}return null}let n=new Set(["incorrect_fact","extra_content","verbosity","format","other"]),i=new Set(["low","medium","high"]);function s(t,e){if(!Array.isArray(t))return[];let a=[];for(let r of t){if(!r||"object"!=typeof r)continue;let t=String(r.summary??"").trim();if(!t)continue;let s=String(r.kind??"other").toLowerCase().trim(),o=n.has(s)?s:"other",u=String(r.severity??"medium").toLowerCase().trim(),c=i.has(u)?u:"medium",l="no-skill"!==e&&(!0===r.is_skill_attributable||!0===r.isSkillAttributable);a.push({kind:o,summary:t,severity:c,is_skill_attributable:l,attribution_reason:l?String(r.attribution_reason??r.attributionReason??"").trim():"",improvement_suggestion:l?String(r.improvement_suggestion??r.improvementSuggestion??"").trim():""})}return a}t.s(["normalizeResultIssues",()=>s,"parseLooseJson",()=>r])},456140,t=>t.a(async(e,a)=>{try{t.i(637253);var r=t.i(60427);t.i(810880);var n=t.i(163014),i=t.i(106411),s=t.i(2316),o=t.i(794538),u=t.i(511284),c=e([i]);async function l(t){let e=await (0,i.getActiveConfig)(t);return e?new n.ChatOpenAI({apiKey:e.apiKey||"no-api-key",model:e.model||"deepseek-chat",configuration:{baseURL:e.baseUrl||"https://api.deepseek.com"},temperature:0,topP:1,modelKwargs:{seed:42}}):null}async function d(t,e,a){if(!String(e||"").trim())return[];let n=await l(a);if(!n)throw Error("未配置评测模型,无法提取关键观点");let i=await n.invoke([new r.HumanMessage((0,s.generateRootCauseExtractionPrompt)(t||"Task completion",e))]),c="string"==typeof i.content?i.content:JSON.stringify(i.content),d=(0,o.parseLooseJson)(c),f=Array.isArray(d?.root_causes)?d.root_causes:[];return(0,u.normalizeRootCauseItems)(f)}[i]=c.then?(await c)():c,t.s(["extractRootCausesFromExpected",()=>d]),a()}catch(t){a(t)}},!1),833821,t=>t.a(async(e,a)=>{try{var r=t.i(522734),n=t.i(814747),i=t.i(254799),s=t.i(463021),o=t.i(854763),u=t.i(511284),c=t.i(456140),l=e([o,c]);[o,c]=l.then?(await l)():l;let N=n.default.join(process.cwd(),"data"),R=n.default.join(N,"agent_datasets.json"),_=!1;function d(){_||(_=!0,o.db.getClient()instanceof s.PrismaClient||console.warn("[agent-datasets] 使用 JSON 文件存储(非 Prisma 数据库客户端)。评测集数据在 data/agent_datasets.json。"))}function f(){let t=o.db.getClient();return t instanceof s.PrismaClient?t:null}function p(){r.default.existsSync(N)||r.default.mkdirSync(N,{recursive:!0}),r.default.existsSync(R)||r.default.writeFileSync(R,JSON.stringify([],null,2))}function g(t){return"trajectory"===t?"trajectory":"ideal_output"}function h(t){return Array.isArray(t)?t.map(t=>String(t||"").trim()).filter(Boolean):[]}function m(t){var e;let a=t||{},r=a.trajectory,n=null==r?"":"string"==typeof r?r.trim():JSON.stringify(r);return{id:a.id&&String(a.id).trim()?String(a.id).trim():(0,i.randomUUID)(),input:String(a.input||"").trim(),expectedOutput:String(a.expectedOutput||"").trim(),evaluationFocus:String(a.evaluationFocus||"").trim(),tags:h(a.tags),trajectory:n,source:(e=a.source,"skill-gen-draft"===e?"skill-gen-draft":"user"),rootCauses:(0,u.normalizeRootCauseItems)(a.rootCauses),rootCauseMeta:(0,u.normalizeRootCauseMeta)(a.rootCauseMeta)}}function y(t){return Array.isArray(t)?t.map(m).filter(t=>t.input||t.expectedOutput||t.evaluationFocus||t.trajectory||t.tags.length>0):[]}function A(t,e){let a=[];return t.forEach((t,r)=>{let n=`第 ${r+1} 行`;t.input||a.push({caseIndex:r,caseId:t.id,field:"input",code:"required",message:`${n}:input(输入)不能为空`}),"ideal_output"!==e||t.expectedOutput||a.push({caseIndex:r,caseId:t.id,field:"expectedOutput",code:"required",message:`${n}:expectedOutput(理想输出)不能为空(理想输出评测集要求)`})}),a}function w(t){return{id:String(t.id||""),user:String(t.user||""),name:String(t.name||""),description:String(t.description||""),targetAgent:String(t.targetAgent||""),targetSkill:String(t.targetSkill||""),tags:h(t.tags),cases:Array.isArray(t.cases)?t.cases.map(m):[],datasetKind:g(t.datasetKind),createdAt:String(t.createdAt||""),updatedAt:String(t.updatedAt||"")}}function S(t){let e=[],a=[];try{e=JSON.parse(t.tagsJson||"[]")}catch{e=[]}try{a=JSON.parse(t.casesJson||"[]")}catch{a=[]}return{id:t.id,user:t.user,name:t.name,description:t.description,targetAgent:t.targetAgent,targetSkill:t.targetSkill??"",tags:h(e),cases:y(a),datasetKind:g(t.datasetKind),createdAt:t.createdAt.toISOString(),updatedAt:t.updatedAt.toISOString()}}function x(){p();try{let t=r.default.readFileSync(R,"utf-8"),e=JSON.parse(t);if(!Array.isArray(e))return[];return e.map(t=>t&&"object"==typeof t?w(t):null).filter(t=>null!==t&&!!t.id&&!!t.user)}catch{return[]}}function C(t){p(),r.default.writeFileSync(R,JSON.stringify(t,null,2))}let j=null;async function O(t){return j||(j=(async()=>{let e;if(await t.agentEvalDataset.count()>0){if(r.default.existsSync(R))try{r.default.renameSync(R,`${R}.bak.${Date.now()}`)}catch{}return}if(r.default.existsSync(R)){try{let t=r.default.readFileSync(R,"utf-8"),a=JSON.parse(t);if(!Array.isArray(a))return;e=a.map(t=>t&&"object"==typeof t?w(t):null).filter(t=>null!==t&&!!t.id&&!!t.user)}catch{return}if(0!==e.length){for(let a of e)await t.agentEvalDataset.create({data:{id:a.id,user:a.user,name:a.name,description:a.description,targetAgent:a.targetAgent,targetSkill:a.targetSkill??"",tagsJson:JSON.stringify(a.tags),casesJson:JSON.stringify(a.cases),datasetKind:a.datasetKind,createdAt:a.createdAt?new Date(a.createdAt):new Date,updatedAt:a.updatedAt?new Date(a.updatedAt):new Date}});try{r.default.renameSync(R,`${R}.migrated.${Date.now()}`)}catch{}}}})())}async function k(){let t=f();return t?(await O(t),(await t.agentEvalDataset.findMany({orderBy:{updatedAt:"desc"}})).map(S)):(d(),x())}async function v(t,e){let a=f();if(a){await O(a);let r=await a.agentEvalDataset.findFirst({where:{id:e,user:t}});return r?S(r):null}return d(),x().find(a=>a.id===e&&a.user===t)??null}async function b(t){let e=f();if(e){await O(e),await e.agentEvalDataset.create({data:{id:t.id,user:t.user,name:t.name,description:t.description,targetAgent:t.targetAgent,targetSkill:t.targetSkill??"",tagsJson:JSON.stringify(t.tags),casesJson:JSON.stringify(t.cases),datasetKind:t.datasetKind,createdAt:new Date(t.createdAt),updatedAt:new Date(t.updatedAt)}});return}d();let a=x();a.push(t),C(a)}async function D(t){let e=f();if(e)return await O(e),(await e.agentEvalDataset.updateMany({where:{id:t.id,user:t.user},data:{name:t.name,description:t.description,targetAgent:t.targetAgent,targetSkill:t.targetSkill??"",tagsJson:JSON.stringify(t.tags),casesJson:JSON.stringify(t.cases),datasetKind:t.datasetKind,updatedAt:new Date(t.updatedAt)}})).count>0;d();let a=x(),r=a.findIndex(e=>e.id===t.id&&e.user===t.user);return -1!==r&&(a[r]=t,C(a),!0)}async function J(t){let{nextCases:e,previousCases:a=[],user:r,now:n=new Date,forceRefresh:i=!1,retryFailed:s=!1,extractor:o=c.extractRootCausesFromExpected}=t,l=n.toISOString(),d=new Map(a.map(t=>[t.id,m(t)])),f=[],p=[];for(let t of e){var g,h;let e=m(t),a=d.get(e.id);if(!e.expectedOutput){p.push({...e,rootCauses:[],rootCauseMeta:{status:"empty",expectedOutputHash:(0,u.hashExpectedOutput)(""),updatedAt:l}});continue}let n=!a||a.expectedOutput!==e.expectedOutput,c=s&&a?.rootCauseMeta?.status==="failed";if(!i&&!n&&!c&&a&&(0,u.canReuseRootCauseCache)(a.expectedOutput,a.rootCauseMeta)){p.push({...e,rootCauses:(0,u.normalizeRootCauseItems)(a.rootCauses),rootCauseMeta:a.rootCauseMeta});continue}try{let t=(0,u.normalizeRootCauseItems)(await o(e.input,e.expectedOutput,r));p.push({...e,rootCauses:t,rootCauseMeta:(g=e.expectedOutput,{status:"ready",expectedOutputHash:(0,u.hashExpectedOutput)(g),updatedAt:l})})}catch(a){let t=a instanceof Error?a.message:"关键观点提取失败";f.push({caseId:e.id,message:t}),p.push({...e,rootCauses:[],rootCauseMeta:(h=e.expectedOutput,{status:"failed",expectedOutputHash:(0,u.hashExpectedOutput)(h),updatedAt:l,error:t})})}}return{cases:p,warnings:f}}async function E(t,e){let a=f();return a?(await O(a),(await a.agentEvalDataset.findMany({where:{user:t,targetSkill:e},orderBy:{updatedAt:"desc"}})).map(S)):(d(),x().filter(a=>a.user===t&&(a.targetSkill??"")===e))}async function I(t,e){let a=f();if(a)return await O(a),(await a.agentEvalDataset.deleteMany({where:{id:e,user:t}})).count>0;d();let r=x(),n=r.filter(a=>a.id!==e||a.user!==t);return n.length!==r.length&&(C(n),!0)}t.s(["createAgentDatasetRecord",()=>b,"deleteAgentDataset",()=>I,"findAgentDataset",()=>v,"findAgentDatasetsByTargetSkill",()=>E,"normalizeCases",()=>y,"normalizeDatasetKind",()=>g,"normalizeTags",()=>h,"prepareDatasetCasesForPersistence",()=>J,"readAllAgentDatasets",()=>k,"updateAgentDatasetRecord",()=>D,"validateCasesForKind",()=>A]),a()}catch(t){a(t)}},!1)];
|
|
136
|
+
`])},511284,t=>{"use strict";var e=t.i(254799);function a(t){return(0,e.createHash)("sha256").update(String(t||"").trim()).digest("hex").slice(0,16)}function r(t){return Array.isArray(t)?t.map(t=>t&&"object"==typeof t?t:null).filter(t=>!!t).map(t=>({content:String(t.content||"").trim(),weight:"number"==typeof t.weight&&Number.isFinite(t.weight)?t.weight:1})).filter(t=>!!t.content):[]}function n(t){if(!t||"object"!=typeof t)return;let e="ready"===t.status||"failed"===t.status||"empty"===t.status?t.status:null,a=String(t.expectedOutputHash||"").trim(),r=String(t.updatedAt||"").trim();if(!e||!a||!r)return;let n=String(t.error||"").trim();return{status:e,expectedOutputHash:a,updatedAt:r,...n?{error:n}:{}}}function i(t,e){return!!e&&e.expectedOutputHash===a(t)}t.s(["canReuseRootCauseCache",()=>i,"hashExpectedOutput",()=>a,"normalizeRootCauseItems",()=>r,"normalizeRootCauseMeta",()=>n])},794538,t=>{"use strict";function e(t){try{let e=JSON.parse(t);return e&&"object"==typeof e&&!Array.isArray(e)?e:null}catch{return null}}function a(t){let a=e(t);if(a)return a;let r=t.indexOf("{"),n=t.lastIndexOf("}");if(-1!==r&&-1!==n&&n>r){let a=t.slice(r,n+1),i=e(a);if(i)return i;let s=e(function(t){let e="",a=!1,r=!1;for(let n=0;n<t.length;n+=1){let i=t[n];if(!a){'"'===i&&(a=!0),e+=i;continue}if(r){e+=i,r=!1;continue}if("\\"===i){e+=i,r=!0;continue}if('"'===i){let r=n+1;for(;r<t.length&&/\s/.test(t[r]);)r+=1;let s=t[r]||"";":"===s||","===s||"}"===s||"]"===s?(a=!1,e+=i):e+='\\"';continue}if("\n"===i){e+="\\n";continue}if("\r"===i){e+="\\r";continue}if(" "===i){e+="\\t";continue}e+=i}return e}(a));if(s)return{...s,_json_repaired:!0}}return null}function r(t){let e=t.trim(),r=a(e);if(r)return r;for(let t of Array.from(e.matchAll(/```json\s*([\s\S]*?)\s*```/gi))){let e=a(t[1]||"");if(e)return e}for(let t of Array.from(e.matchAll(/```(?:[^\n`]*)\n([\s\S]*?)\s*```/g))){let e=a(t[1]||"");if(e)return e}return null}let n=new Set(["incorrect_fact","extra_content","verbosity","format","other"]),i=new Set(["low","medium","high"]);function s(t,e){if(!Array.isArray(t))return[];let a=[];for(let r of t){if(!r||"object"!=typeof r)continue;let t=String(r.summary??"").trim();if(!t)continue;let s=String(r.kind??"other").toLowerCase().trim(),o=n.has(s)?s:"other",u=String(r.severity??"medium").toLowerCase().trim(),c=i.has(u)?u:"medium",l="no-skill"!==e&&(!0===r.is_skill_attributable||!0===r.isSkillAttributable);a.push({kind:o,summary:t,severity:c,is_skill_attributable:l,attribution_reason:l?String(r.attribution_reason??r.attributionReason??"").trim():"",improvement_suggestion:l?String(r.improvement_suggestion??r.improvementSuggestion??"").trim():""})}return a}t.s(["normalizeResultIssues",()=>s,"parseLooseJson",()=>r])},456140,t=>t.a(async(e,a)=>{try{t.i(637253);var r=t.i(60427);t.i(810880);var n=t.i(163014),i=t.i(106411),s=t.i(2316),o=t.i(794538),u=t.i(511284),c=e([i]);async function l(t){let e=await (0,i.getActiveConfig)(t);return e?new n.ChatOpenAI({apiKey:e.apiKey||"no-api-key",model:e.model||"deepseek-chat",configuration:{baseURL:e.baseUrl||"https://api.deepseek.com"},temperature:0,topP:1,modelKwargs:{seed:42}}):null}async function d(t,e,a){if(!String(e||"").trim())return[];let n=await l(a);if(!n)throw Error("未配置评测模型,无法提取关键观点");let i=await n.invoke([new r.HumanMessage((0,s.generateRootCauseExtractionPrompt)(t||"Task completion",e))]),c="string"==typeof i.content?i.content:JSON.stringify(i.content),d=(0,o.parseLooseJson)(c),f=Array.isArray(d?.root_causes)?d.root_causes:[];return(0,u.normalizeRootCauseItems)(f)}[i]=c.then?(await c)():c,t.s(["extractRootCausesFromExpected",()=>d]),a()}catch(t){a(t)}},!1),833821,t=>t.a(async(e,a)=>{try{var r=t.i(522734),n=t.i(814747),i=t.i(254799),s=t.i(463021),o=t.i(854763),u=t.i(511284),c=t.i(456140),l=t.i(547499),d=e([o,c]);[o,c]=d.then?(await d)():d;let R=(0,l.resolveAgentInsightDataPath)(),_=n.default.join(R,"agent_datasets.json"),j=!1;function f(){j||(j=!0,o.db.getClient()instanceof s.PrismaClient||console.warn("[agent-datasets] 使用 JSON 文件存储(非 Prisma 数据库客户端)。评测集数据在 data/agent_datasets.json。"))}function p(){let t=o.db.getClient();return t instanceof s.PrismaClient?t:null}function g(){r.default.existsSync(R)||r.default.mkdirSync(R,{recursive:!0}),r.default.existsSync(_)||r.default.writeFileSync(_,JSON.stringify([],null,2))}function h(t){return"trajectory"===t?"trajectory":"ideal_output"}function m(t){return Array.isArray(t)?t.map(t=>String(t||"").trim()).filter(Boolean):[]}function y(t){var e;let a=t||{},r=a.trajectory,n=null==r?"":"string"==typeof r?r.trim():JSON.stringify(r);return{id:a.id&&String(a.id).trim()?String(a.id).trim():(0,i.randomUUID)(),input:String(a.input||"").trim(),expectedOutput:String(a.expectedOutput||"").trim(),evaluationFocus:String(a.evaluationFocus||"").trim(),tags:m(a.tags),trajectory:n,source:(e=a.source,"skill-gen-draft"===e?"skill-gen-draft":"user"),rootCauses:(0,u.normalizeRootCauseItems)(a.rootCauses),rootCauseMeta:(0,u.normalizeRootCauseMeta)(a.rootCauseMeta)}}function A(t){return Array.isArray(t)?t.map(y).filter(t=>t.input||t.expectedOutput||t.evaluationFocus||t.trajectory||t.tags.length>0):[]}function w(t,e){let a=[];return t.forEach((t,r)=>{let n=`第 ${r+1} 行`;t.input||a.push({caseIndex:r,caseId:t.id,field:"input",code:"required",message:`${n}:input(输入)不能为空`}),"ideal_output"!==e||t.expectedOutput||a.push({caseIndex:r,caseId:t.id,field:"expectedOutput",code:"required",message:`${n}:expectedOutput(理想输出)不能为空(理想输出评测集要求)`})}),a}function S(t){return{id:String(t.id||""),user:String(t.user||""),name:String(t.name||""),description:String(t.description||""),targetAgent:String(t.targetAgent||""),targetSkill:String(t.targetSkill||""),tags:m(t.tags),cases:Array.isArray(t.cases)?t.cases.map(y):[],datasetKind:h(t.datasetKind),createdAt:String(t.createdAt||""),updatedAt:String(t.updatedAt||"")}}function x(t){let e=[],a=[];try{e=JSON.parse(t.tagsJson||"[]")}catch{e=[]}try{a=JSON.parse(t.casesJson||"[]")}catch{a=[]}return{id:t.id,user:t.user,name:t.name,description:t.description,targetAgent:t.targetAgent,targetSkill:t.targetSkill??"",tags:m(e),cases:A(a),datasetKind:h(t.datasetKind),createdAt:t.createdAt.toISOString(),updatedAt:t.updatedAt.toISOString()}}function C(){g();try{let t=r.default.readFileSync(_,"utf-8"),e=JSON.parse(t);if(!Array.isArray(e))return[];return e.map(t=>t&&"object"==typeof t?S(t):null).filter(t=>null!==t&&!!t.id&&!!t.user)}catch{return[]}}function O(t){g(),r.default.writeFileSync(_,JSON.stringify(t,null,2))}let M=null;async function k(t){return M||(M=(async()=>{let e;if(await t.agentEvalDataset.count()>0){if(r.default.existsSync(_))try{r.default.renameSync(_,`${_}.bak.${Date.now()}`)}catch{}return}if(r.default.existsSync(_)){try{let t=r.default.readFileSync(_,"utf-8"),a=JSON.parse(t);if(!Array.isArray(a))return;e=a.map(t=>t&&"object"==typeof t?S(t):null).filter(t=>null!==t&&!!t.id&&!!t.user)}catch{return}if(0!==e.length){for(let a of e)await t.agentEvalDataset.create({data:{id:a.id,user:a.user,name:a.name,description:a.description,targetAgent:a.targetAgent,targetSkill:a.targetSkill??"",tagsJson:JSON.stringify(a.tags),casesJson:JSON.stringify(a.cases),datasetKind:a.datasetKind,createdAt:a.createdAt?new Date(a.createdAt):new Date,updatedAt:a.updatedAt?new Date(a.updatedAt):new Date}});try{r.default.renameSync(_,`${_}.migrated.${Date.now()}`)}catch{}}}})())}async function v(){let t=p();return t?(await k(t),(await t.agentEvalDataset.findMany({orderBy:{updatedAt:"desc"}})).map(x)):(f(),C())}async function b(t,e){let a=p();if(a){await k(a);let r=await a.agentEvalDataset.findFirst({where:{id:e,user:t}});return r?x(r):null}return f(),C().find(a=>a.id===e&&a.user===t)??null}async function D(t){let e=p();if(e){await k(e),await e.agentEvalDataset.create({data:{id:t.id,user:t.user,name:t.name,description:t.description,targetAgent:t.targetAgent,targetSkill:t.targetSkill??"",tagsJson:JSON.stringify(t.tags),casesJson:JSON.stringify(t.cases),datasetKind:t.datasetKind,createdAt:new Date(t.createdAt),updatedAt:new Date(t.updatedAt)}});return}f();let a=C();a.push(t),O(a)}async function J(t){let e=p();if(e)return await k(e),(await e.agentEvalDataset.updateMany({where:{id:t.id,user:t.user},data:{name:t.name,description:t.description,targetAgent:t.targetAgent,targetSkill:t.targetSkill??"",tagsJson:JSON.stringify(t.tags),casesJson:JSON.stringify(t.cases),datasetKind:t.datasetKind,updatedAt:new Date(t.updatedAt)}})).count>0;f();let a=C(),r=a.findIndex(e=>e.id===t.id&&e.user===t.user);return -1!==r&&(a[r]=t,O(a),!0)}async function I(t){let{nextCases:e,previousCases:a=[],user:r,now:n=new Date,forceRefresh:i=!1,retryFailed:s=!1,extractor:o=c.extractRootCausesFromExpected}=t,l=n.toISOString(),d=new Map(a.map(t=>[t.id,y(t)])),f=[],p=[];for(let t of e){var g,h;let e=y(t),a=d.get(e.id);if(!e.expectedOutput){p.push({...e,rootCauses:[],rootCauseMeta:{status:"empty",expectedOutputHash:(0,u.hashExpectedOutput)(""),updatedAt:l}});continue}let n=!a||a.expectedOutput!==e.expectedOutput,c=s&&a?.rootCauseMeta?.status==="failed";if(!i&&!n&&!c&&a&&(0,u.canReuseRootCauseCache)(a.expectedOutput,a.rootCauseMeta)){p.push({...e,rootCauses:(0,u.normalizeRootCauseItems)(a.rootCauses),rootCauseMeta:a.rootCauseMeta});continue}try{let t=(0,u.normalizeRootCauseItems)(await o(e.input,e.expectedOutput,r));p.push({...e,rootCauses:t,rootCauseMeta:(g=e.expectedOutput,{status:"ready",expectedOutputHash:(0,u.hashExpectedOutput)(g),updatedAt:l})})}catch(a){let t=a instanceof Error?a.message:"关键观点提取失败";f.push({caseId:e.id,message:t}),p.push({...e,rootCauses:[],rootCauseMeta:(h=e.expectedOutput,{status:"failed",expectedOutputHash:(0,u.hashExpectedOutput)(h),updatedAt:l,error:t})})}}return{cases:p,warnings:f}}async function E(t,e){let a=p();return a?(await k(a),(await a.agentEvalDataset.findMany({where:{user:t,targetSkill:e},orderBy:{updatedAt:"desc"}})).map(x)):(f(),C().filter(a=>a.user===t&&(a.targetSkill??"")===e))}async function N(t,e){let a=p();if(a)return await k(a),(await a.agentEvalDataset.deleteMany({where:{id:e,user:t}})).count>0;f();let r=C(),n=r.filter(a=>a.id!==e||a.user!==t);return n.length!==r.length&&(O(n),!0)}t.s(["createAgentDatasetRecord",()=>D,"deleteAgentDataset",()=>N,"findAgentDataset",()=>b,"findAgentDatasetsByTargetSkill",()=>E,"normalizeCases",()=>A,"normalizeDatasetKind",()=>h,"normalizeTags",()=>m,"prepareDatasetCasesForPersistence",()=>I,"readAllAgentDatasets",()=>v,"updateAgentDatasetRecord",()=>J,"validateCasesForKind",()=>w]),a()}catch(t){a(t)}},!1)];
|
|
137
137
|
|
|
138
138
|
//# sourceMappingURL=_a2ff108d._.js.map
|
|
@@ -23,11 +23,11 @@ module.exports=[202058,(e,t,s)=>{t.exports=n,n.sync=function(e,t){return i(r.sta
|
|
|
23
23
|
|
|
24
24
|
[done] messageId=${n.messageId??"unknown"} events=${n.stats.eventCount} text=${n.stats.textDeltaCount} tools=${n.stats.toolCallCount} subagents=${n.stats.subagentCount}
|
|
25
25
|
`)}process.argv[1]===(0,B.fileURLToPath)({get url(){return`file://${e.P("src/lib/engine/skill-generation/opencode-agent-cli/opencode-client.ts")}`}}.url)&&es().catch(e=>{process.stderr.write(`Failed: ${e.message}
|
|
26
|
-
`),process.exit(1)}),e.s(["AgentInsight",()=>et],469240)},151223,e=>e.a(async(t,s)=>{try{var r=e.i(874533),n=e.i(902157),i=e.i(347299),o=e.i(761095),a=e.i(660526),l=e.i(750227),c=e.i(
|
|
26
|
+
`),process.exit(1)}),e.s(["AgentInsight",()=>et],469240)},151223,e=>e.a(async(t,s)=>{try{var r=e.i(874533),n=e.i(902157),i=e.i(347299),o=e.i(761095),a=e.i(660526),l=e.i(750227),c=e.i(547499),p=e.i(854763),d=t([p]);[p]=d.then?(await d)():d;let j=Symbol.for("@witty-insight/opencode-manager-state"),C=globalThis;C[j]||(C[j]={servers:new Map,startingServers:new Map,generations:new Map,liveProcs:new Set});let P=C[j];function u(e){return P.generations.get(e||A)??0}P.liveProcs||(P.liveProcs=new Set);let A="__anonymous__";function h(e){return e&&e!==A&&e.replace(/[^a-zA-Z0-9_-]+/g,"_").slice(0,80)||"_anonymous"}async function f(){return new Promise((e,t)=>{let s=o.default.createServer();s.unref(),s.on("error",t),s.listen(0,()=>{let r=s.address();if(null===r||"string"==typeof r){s.close(),t(Error("failed to obtain port"));return}let n=r.port;s.close(()=>e(n))})})}async function g(e,t=300){let s=`http://127.0.0.1:${e}/api/health`;for(let e=0;e<t;e++){try{if((await function(e){return new Promise((t,s)=>{let r=i.default.request(e,{method:"GET",headers:{connection:"close"}},e=>{e.resume(),e.on("end",()=>t({status:e.statusCode||0}))});r.on("error",s),r.end()})}(s)).status<500)return}catch{}await new Promise(e=>setTimeout(e,100))}throw Error(`opencode server did not become ready within ${100*t/1e3}s`)}let N=new Set(["deepseek","deepseek-official","openai","anthropic","google","qwen","moonshot"]);function y(e){let t=5381;for(let s=0;s<e.length;s++)t=(t<<5)+t+e.charCodeAt(s)|0;return(t>>>0).toString(16)}async function m(t){if(!t||t===A)return null;let s=null,r=[];try{let n=await e.A(484695);s=await n.loadServerModelForUser(t);let i=await e.A(419781);r=((await i.getUserSettings(t)).configs??[]).filter(e=>e.apiKey)}catch(e){return console.warn("[opencode] loadServerModelForUser failed, will fall back to global config:",e?.message),null}if(!s||!s.apiKey)return null;let{inferProviderFromBaseUrl:n,normalizeProviderID:i}=await e.A(484695),o=new Set([s.modelID]);for(let e of r){let t=e.provider;i(t||n(e.baseUrl))===s.providerID&&e.model&&o.add(e.model)}let a=N.has(s.providerID),l={};for(let e of o)l[e]={name:e,...e.includes("reasoner")?{limit:{context:65536,output:32768}}:{}};let c={options:{apiKey:s.apiKey,...s.baseURL?{baseURL:s.baseURL}:{}},models:l};return a||(c.npm="@ai-sdk/openai-compatible",c.name=s.providerID),o.size>1&&console.log(`[opencode:${t}] registering ${o.size} models under ${s.providerID}: ${[...o].join(", ")}`),{providerID:s.providerID,entry:c,modelID:s.modelID,raw:{apiKey:s.apiKey,baseURL:s.baseURL}}}async function w(t){let s="";try{let r=await e.A(419781),n=await r.getUserSettings(t);"tavily"===n.searchProvider&&n.searchApiKey&&(s=n.searchApiKey)}catch(e){return console.warn("[opencode] getUserSettings for mcp failed, web-search MCP will be disabled:",e?.message),null}if(!s)return null;let r=process.cwd(),n=l.default.join(r,"tools","mcp-web-search","index.ts"),i=l.default.join(r,"node_modules",".bin","tsx");return{mcp:{"web-search":{type:"local",command:[i,n],environment:{TAVILY_API_KEY:s},enabled:!0,timeout:1e4}},hashSeed:`mcp:web-search:tavily:${s}`}}let R={tool:{read:"allow",webfetch:"allow",bash:"allow"}};async function I(e){let t=await w(e),s=JSON.stringify(R),r=await m(e);if(r){let n={$schema:"https://opencode.ai/config.json",provider:{[r.providerID]:r.entry},plugin:[],permission:R};t&&(n.mcp=t.mcp);let i=y(`${r.providerID}|${r.modelID}|${r.raw.apiKey}|${r.raw.baseURL??""}|${t?.hashSeed??""}|${s}`);return console.log(`[opencode:${e}] using apiKey from DB UserSettings (provider=${r.providerID}, model=${r.modelID}, mcp=${t?"web-search":"none"})`),{config:n,configHash:i}}let i=function(){for(let e of[l.default.join(a.default.homedir(),".config","opencode","opencode.json"),l.default.join(a.default.homedir(),".config","opencode","opencode.jsonc")])if(n.default.existsSync(e))try{let t=n.default.readFileSync(e,"utf-8"),s=JSON.parse(t);delete s.plugin,delete s.plugins,delete s.mcp;let r=s.provider,i=r?.deepseek?.models?.["deepseek-reasoner"];return i&&"object"==typeof i&&(i.limit={context:65536,output:32768}),s}catch(e){console.warn("[opencode] failed to parse global opencode config, fallback to minimal:",e?.message);break}return null}();if(i){t&&(i.mcp=t.mcp),i.permission=R;let r=y("global:"+JSON.stringify(i.provider??{})+"|"+(t?.hashSeed??"")+"|"+s);return console.log(`[opencode:${e}] using apiKey from global ~/.config/opencode/opencode.json (no DB UserSettings found for this user, mcp=${t?"web-search":"none"})`),{config:i,configHash:r}}console.warn(`[opencode:${e}] ⚠️ no apiKey found anywhere — opencode will start but every LLM call will 401.
|
|
27
27
|
Fix: open the web UI Settings page, configure an API key for an active model config.
|
|
28
28
|
Or: set DEEPSEEK_API_KEY / OPENCODE_API_KEY env on dev server.
|
|
29
29
|
Or: run \`opencode auth login\` to populate ~/.config/opencode/opencode.json.
|
|
30
|
-
Symptom if not fixed: skill-generator reply shows up as an empty bubble.`);let o={$schema:"https://opencode.ai/config.json",provider:{deepseek:{options:{},models:{"deepseek-reasoner":{},"deepseek-chat":{}}}},plugin:[],permission:
|
|
31
|
-
[opencode:${e}] server exited (code=${t}, signal=${s})`),
|
|
30
|
+
Symptom if not fixed: skill-generator reply shows up as an empty bubble.`);let o={$schema:"https://opencode.ai/config.json",provider:{deepseek:{options:{},models:{"deepseek-reasoner":{},"deepseek-chat":{}}}},plugin:[],permission:R};return t&&(o.mcp=t.mcp),{config:o,configHash:"minimal"+(t?":"+t.hashSeed:"")+"|"+s}}async function D(e,t){let s=h(e),r=t?.key||`eph-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,i=(0,c.resolveAgentInsightDataPath)(".opencode-runtime",s,`isolated-home-${r}`);n.default.mkdirSync(l.default.join(i,".opencode","plugins"),{recursive:!0}),n.default.mkdirSync(l.default.join(i,".opencode","skills"),{recursive:!0}),n.default.mkdirSync(l.default.join(i,".claude","skills"),{recursive:!0}),n.default.mkdirSync(l.default.join(i,".agents","skills"),{recursive:!0});let o=l.default.join(a.default.homedir(),".opencode","plugins","Witty-Skill-Insight.ts");if(n.default.existsSync(o)){let e=l.default.join(i,".opencode","plugins","Witty-Skill-Insight.ts");try{try{n.default.unlinkSync(e)}catch{}n.default.symlinkSync(o,e)}catch(t){try{n.default.copyFileSync(o,e)}catch(e){console.warn(`[isolated-home] attach plugin failed (symlink+copy 都失败): ${e?.message}`)}}}else console.log(`[isolated-home] real plugin not at ${o}, evaluator session 不会被 trace 上报 (符合预期)`);return{isolatedHome:i,cleanup:async()=>{try{n.default.rmSync(i,{recursive:!0,force:!0})}catch(e){console.warn(`[isolated-home] cleanup failed for ${i}: ${e?.message}`)}}}}async function b(e){let t=h(e),s=(0,c.resolveAgentInsightDataPath)(".opencode-runtime",t),r=l.default.join(s,"opencode");n.default.mkdirSync(r,{recursive:!0});let i=l.default.join(r,"opencode.json"),{config:o,configHash:a}=await I(e);return n.default.writeFileSync(i,JSON.stringify(o,null,2)),{xdgRoot:s,configHash:a}}function v(e,t){if(null===e.exitCode&&"number"==typeof e.pid)try{process.kill(-e.pid,t)}catch(r){let s=r?.code;if("ESRCH"===s)return;try{e.kill(t)}catch{}}}function _(e){try{return process.kill(-e,0),!0}catch(t){let e=t?.code;return"ESRCH"!==e}}let L=l.default.join(process.env.AGENT_INSIGHT_DATA_DIR||l.default.join(a.default.homedir(),".agent-insight"),"opencode-pgids");function S(e){try{n.default.rmSync(l.default.join(L,String(e)),{force:!0})}catch{}}function $(e){let t;if(!e)return 0;let s=P.servers.get(e)?.process?.pid;try{t=n.default.readdirSync(L)}catch{return 0}let r=0;for(let i of t){let t,o=l.default.join(L,i);try{t=JSON.parse(n.default.readFileSync(o,"utf8"))}catch{continue}if(!t||t.user!==e||t.ownerPid!==process.pid)continue;let a=Number(t.pgid);if(Number.isFinite(a)&&(!s||a!==s)){if(_(a))try{process.kill(-a,"SIGKILL"),r++}catch{}try{n.default.rmSync(o,{force:!0})}catch{}}}return r>0&&console.warn(`[opencode] 终止全部: SIGKILL ${r} 个 ${e} 的后台 opencode 进程组。`),r}let U=Math.max(2e3,Number(process.env.OPENCODE_KILL_HARD_TIMEOUT_MS)||3e4);async function E(e,t){let s=e.pid;if("number"!=typeof s)return;if(null!==e.exitCode&&!_(s))return void S(s);v(e,"SIGTERM");let r=Date.now()+3e3;for(;Date.now()<r;){if(!_(s))return void S(s);await new Promise(e=>setTimeout(e,50))}console.warn(`[opencode] ${t}: 进程组 SIGTERM 3s 仍未退场,发 SIGKILL 兜底(pgid=${s})`),v(e,"SIGKILL");let n=Date.now()+U,i=Date.now();for(;Date.now()<n;){if(!_(s))return void S(s);await new Promise(e=>setTimeout(e,50)),Date.now()-i>=2e3&&(v(e,"SIGKILL"),i=Date.now())}console.error(`[opencode] ${t}: SIGKILL ${Math.round(U/1e3)}s 后进程组仍存在(pgid=${s})—— 可能是真\xb7僵死(D 状态)或权限问题; slot 已等满硬上限放行以免整批卡死,请人工检查 ps 并酌情清理`)}async function x(e){let t={},s=process.env.PORT||process.env.NEXT_PORT||"3000";t.AGENT_INSIGHT_HOST=`http://127.0.0.1:${s}`;try{let s=await p.db.findUserByUsername(e);s?.apiKey?t.AGENT_INSIGHT_API_KEY=s.apiKey:console.warn(`[opencode:${e}] user not in DB or has no apiKey — plugin 数据将仍按 process.env / ~/.agent-insight/.env 走, 可能归属错误`)}catch(t){console.warn(`[opencode:${e}] failed to look up user apiKey for plugin upload override:`,t?.message||t)}return t}async function O(e,t){let{verbose:s=!1,homeOverride:i,telemetryEnabled:o=!0}=t,c=await f(),p=function(){if(process.env.OPENCODE_BIN&&n.default.existsSync(process.env.OPENCODE_BIN))return process.env.OPENCODE_BIN;let e=l.default.join(process.cwd(),"node_modules",".bin","opencode");return n.default.existsSync(e)?e:"opencode"}(),{xdgRoot:d,configHash:u}=await b(e),h=await x(e),y=u+"|upload:"+(h.AGENT_INSIGHT_API_KEY||"no-key"),m=(0,r.spawn)(p,["serve","--port",String(c),"--print-logs","--log-level","WARN"],{stdio:["ignore","pipe","pipe"],cwd:a.default.homedir(),detached:!0,env:{...process.env,OPENCODE_PORT:String(c),XDG_CONFIG_HOME:d,...i?{HOME:i}:{},...h,...!1===o?{AGENT_INSIGHT_OPENCODE_OTEL_ENABLE:"false"}:{}}});P.liveProcs.add(m),"number"==typeof m.pid&&function(e,t){try{n.default.mkdirSync(L,{recursive:!0}),n.default.writeFileSync(l.default.join(L,String(e)),JSON.stringify({pgid:e,ownerPid:process.pid,user:t,startedAt:Date.now()}))}catch{}}(m.pid,e),s?(m.stdout?.on("data",t=>process.stderr.write(`[opencode:${e}] ${t.toString()}`)),m.stderr?.on("data",t=>process.stderr.write(`[opencode:${e}] ${t.toString()}`))):(m.stdout?.resume(),m.stderr?.resume()),m.on("exit",(t,s)=>{P.liveProcs.delete(m),"number"!=typeof m.pid||_(m.pid)||S(m.pid);let r=P.servers.get(e);r?.process===m&&(console.error(`
|
|
31
|
+
[opencode:${e}] server exited (code=${t}, signal=${s})`),P.servers.delete(e))}),m.on("error",t=>{console.error(`[opencode:${e}] failed to spawn server:`,t.message)});try{await g(c)}catch(e){throw m.kill("SIGTERM"),e}return{process:m,port:c,baseUrl:`http://127.0.0.1:${c}`,user:e,configHash:y,startedAt:Date.now()}}async function k(e={}){let t=e.user||A,s=P.servers.get(t);if(s&&null===s.process.exitCode){let e=null;try{let{configHash:s}=await I(t);e=s}catch{}if(null===e||e===s.configHash)return s.baseUrl;console.log(`[opencode:${t}] config changed (hash ${s.configHash} → ${e}), restarting instance`),P.servers.delete(t),await E(s.process,`config-change restart for ${t}`)}let r=P.startingServers.get(t);if(r)return(await r).baseUrl;let n=O(t,e);P.startingServers.set(t,n);try{let e=await n;return P.servers.set(t,e),P.generations.set(t,(P.generations.get(t)??0)+1),e.baseUrl}finally{P.startingServers.get(t)===n&&P.startingServers.delete(t)}}async function T(e,t){let s,r=e.user||A,n=e.verbose??!1,i=e.telemetryEnabled??!e.isolateHome,o=null;if(e.isolateHome){let{isolatedHome:e,cleanup:t}=await D(r);s=e,o=t}let a=await O(r,{verbose:n,homeOverride:s,telemetryEnabled:i});try{return await t(a.baseUrl)}finally{try{await E(a.process,`ephemeral cleanup for ${r}`)}catch(e){console.warn(`[opencode] ephemeral cleanup for ${r} failed:`,e instanceof Error?e.message:String(e))}o&&await o()}}e.s(["ensureOpencodeServer",()=>k,"getOpencodeServerGeneration",()=>u,"killOpencodeForUser",()=>$,"runWithEphemeralOpencodeServer",()=>T]),s()}catch(e){s(e)}},!1)];
|
|
32
32
|
|
|
33
33
|
//# sourceMappingURL=_a305d8b8._.js.map
|
|
@@ -37,7 +37,7 @@ ${t}`))}function L(){let e=new AbortController;return e.abort(Object.definePrope
|
|
|
37
37
|
|
|
38
38
|
[done] messageId=${s.messageId??"unknown"} events=${s.stats.eventCount} text=${s.stats.textDeltaCount} tools=${s.stats.toolCallCount} subagents=${s.stats.subagentCount}
|
|
39
39
|
`)}process.argv[1]===(0,W.fileURLToPath)({get url(){return`file://${e.P("src/lib/engine/skill-generation/opencode-agent-cli/opencode-client.ts")}`}}.url)&&er().catch(e=>{process.stderr.write(`Failed: ${e.message}
|
|
40
|
-
`),process.exit(1)}),e.s(["AgentInsight",()=>et],309759)},526005,e=>e.a(async(t,r)=>{try{var n=e.i(309418),s=t([n]);async function a(e,t,r){if(!e)return null;let s=[],a=await n.db.findSkill(e,t);if(a&&s.push({source:"user",record:a}),!a){let t=await n.db.findSkill(e,null);t&&s.push({source:"global",record:t})}if(0===s.length)return null;let{source:i,record:o}=s[0],l=Array.isArray(o.versions)?o.versions:[];if(0===l.length)return null;let u=null;return("number"==typeof r&&(u=l.find(e=>e.version===r)||null),u||null==o.activeVersion||(u=l.find(e=>e.version===o.activeVersion)||null),u||(u=l[0]),u&&u.content)?{name:o.name,version:"number"==typeof u.version?u.version:null,semanticVersion:u.semanticVersion??null,content:String(u.content),source:i,assetPath:u.assetPath??null}:null}[n]=s.then?(await s)():s,e.s(["resolveSkill",()=>a]),r()}catch(e){r(e)}},!1),196865,e=>{"use strict";var t=e.i(660526);let r=/(^|[\s::'"((=])~(?=\/)/g;function n(e,s=t.default.homedir()){return e&&s&&e.includes("~")?e.replace(r,(e,t)=>`${t}${s}`):e}e.s(["expandHomePathsInText",()=>n])},991819,e=>{"use strict";var t=e.i(902157),r=e.i(660526),n=e.i(750227);let s=n.default.join(r.default.homedir(),".agent_insight","agent_workspaces");function a(e){let r=function(e){let t=String(e||"").trim();if(!t)throw Error("user is required");let r=t.replace(/[^A-Za-z0-9._-]/g,"_").slice(0,64),n=0;for(let e=0;e<t.length;e++)n=31*n+t.charCodeAt(e)|0;let s=(n>>>0).toString(16).padStart(8,"0");return`${s}_${r}`}(e),a=n.default.join(process.env.GENERAL_AGENT_WORKSPACE_ROOT||s,r);return t.default.existsSync(a)||t.default.mkdirSync(a,{recursive:!0}),a}function i(e,r){let s=a(e),i=String(r||"").replace(/[^A-Za-z0-9._-]/g,"_").slice(0,64)||"task",o=n.default.join(s,i);return t.default.existsSync(o)||t.default.mkdirSync(o,{recursive:!0}),function(e){let r=n.default.join(e,".git");if(!t.default.existsSync(r))try{t.default.mkdirSync(r,{recursive:!0})}catch{}}(o),o}function o(e){return[{permission:"external_directory",pattern:e,action:"allow"},{permission:"external_directory",pattern:`${e}/*`,action:"allow"},{permission:"external_directory",pattern:"/tmp/*",action:"allow"},{permission:"read",pattern:"*",action:"allow"},{permission:"webfetch",pattern:"*",action:"allow"},{permission:"bash",pattern:"*",action:"allow"},{permission:"external_directory",pattern:"*",action:"allow"},{permission:"question",pattern:"*",action:"deny"},{permission:"plan_enter",pattern:"*",action:"deny"},{permission:"plan_exit",pattern:"*",action:"deny"}]}e.s(["buildPermissionsForWorkspace",()=>o,"ensureSessionWorkspace",()=>i,"ensureUserWorkspace",()=>a])},239482,e=>{"use strict";var t=e.i(902157),r=e.i(750227);function
|
|
40
|
+
`),process.exit(1)}),e.s(["AgentInsight",()=>et],309759)},526005,e=>e.a(async(t,r)=>{try{var n=e.i(309418),s=t([n]);async function a(e,t,r){if(!e)return null;let s=[],a=await n.db.findSkill(e,t);if(a&&s.push({source:"user",record:a}),!a){let t=await n.db.findSkill(e,null);t&&s.push({source:"global",record:t})}if(0===s.length)return null;let{source:i,record:o}=s[0],l=Array.isArray(o.versions)?o.versions:[];if(0===l.length)return null;let u=null;return("number"==typeof r&&(u=l.find(e=>e.version===r)||null),u||null==o.activeVersion||(u=l.find(e=>e.version===o.activeVersion)||null),u||(u=l[0]),u&&u.content)?{name:o.name,version:"number"==typeof u.version?u.version:null,semanticVersion:u.semanticVersion??null,content:String(u.content),source:i,assetPath:u.assetPath??null}:null}[n]=s.then?(await s)():s,e.s(["resolveSkill",()=>a]),r()}catch(e){r(e)}},!1),196865,e=>{"use strict";var t=e.i(660526);let r=/(^|[\s::'"((=])~(?=\/)/g;function n(e,s=t.default.homedir()){return e&&s&&e.includes("~")?e.replace(r,(e,t)=>`${t}${s}`):e}e.s(["expandHomePathsInText",()=>n])},991819,e=>{"use strict";var t=e.i(902157),r=e.i(660526),n=e.i(750227);let s=n.default.join(r.default.homedir(),".agent_insight","agent_workspaces");function a(e){let r=function(e){let t=String(e||"").trim();if(!t)throw Error("user is required");let r=t.replace(/[^A-Za-z0-9._-]/g,"_").slice(0,64),n=0;for(let e=0;e<t.length;e++)n=31*n+t.charCodeAt(e)|0;let s=(n>>>0).toString(16).padStart(8,"0");return`${s}_${r}`}(e),a=n.default.join(process.env.GENERAL_AGENT_WORKSPACE_ROOT||s,r);return t.default.existsSync(a)||t.default.mkdirSync(a,{recursive:!0}),a}function i(e,r){let s=a(e),i=String(r||"").replace(/[^A-Za-z0-9._-]/g,"_").slice(0,64)||"task",o=n.default.join(s,i);return t.default.existsSync(o)||t.default.mkdirSync(o,{recursive:!0}),function(e){let r=n.default.join(e,".git");if(!t.default.existsSync(r))try{t.default.mkdirSync(r,{recursive:!0})}catch{}}(o),o}function o(e){return[{permission:"external_directory",pattern:e,action:"allow"},{permission:"external_directory",pattern:`${e}/*`,action:"allow"},{permission:"external_directory",pattern:"/tmp/*",action:"allow"},{permission:"read",pattern:"*",action:"allow"},{permission:"webfetch",pattern:"*",action:"allow"},{permission:"bash",pattern:"*",action:"allow"},{permission:"external_directory",pattern:"*",action:"allow"},{permission:"question",pattern:"*",action:"deny"},{permission:"plan_enter",pattern:"*",action:"deny"},{permission:"plan_exit",pattern:"*",action:"deny"}]}e.s(["buildPermissionsForWorkspace",()=>o,"ensureSessionWorkspace",()=>i,"ensureUserWorkspace",()=>a])},239482,e=>{"use strict";var t=e.i(902157),r=e.i(750227),n=e.i(93387);function s(e,s){let a=r.default.join(s,".opencode","skills",e.name),i=r.default.join(a,"SKILL.md");if(t.default.existsSync(i))try{if(t.default.readFileSync(i,"utf-8")===e.content)return{targetDir:a,deployed:!1}}catch{}if(t.default.mkdirSync(a,{recursive:!0}),t.default.writeFileSync(i,e.content,"utf-8"),e.assetPath){let s=(0,n.resolveRuntimeAssetPath)(e.assetPath);if(t.default.existsSync(s))for(let e of t.default.readdirSync(s))"SKILL.md"!==e&&function e(n,s){if(t.default.existsSync(n))if(t.default.statSync(n).isDirectory())for(let a of(t.default.mkdirSync(s,{recursive:!0}),t.default.readdirSync(n)))e(r.default.join(n,a),r.default.join(s,a));else t.default.mkdirSync(r.default.dirname(s),{recursive:!0}),t.default.copyFileSync(n,s)}(r.default.join(s,e),r.default.join(a,e))}return{targetDir:a,deployed:!0}}e.s(["deploySkillToWorkspace",()=>s])},855375,e=>{"use strict";let t=Symbol.for("@witty-insight/internal-agent-tag-map"),r=globalThis;r[t]||(r[t]=new Map);let n=r[t],s=Number(process.env.INTERNAL_AGENT_TAG_TTL_MS)||36e5;function a(e,t){if(e){let r=Date.now()-s;for(let[e,t]of n)t.createdAt<r&&n.delete(e);n.set(e,{agentName:t.agentName,agentId:t.agentId??null,skill:t.skill,displayQuery:t.displayQuery,user:t.user,createdAt:Date.now()})}}e.s(["tagOpencodeSession",()=>a])},718139,e=>e.a(async(t,r)=>{try{var n=e.i(666680),s=e.i(724055),a=e.i(309759),i=e.i(923190),o=e.i(526005),l=e.i(196865),u=e.i(910541),c=e.i(991819),d=e.i(239482),p=e.i(855375),f=e.i(548045),h=e.i(864778),g=t([i,o,u,f]);[i,o,u,f]=g.then?(await g)():g;let I=!1;function m(){if(I)return;I=!0;let e=Number(process.env.GENERAL_AGENT_FETCH_TIMEOUT_MS)||18e5;(0,s.setGlobalDispatcher)(new s.Agent({connections:64,headersTimeout:e,bodyTimeout:e}))}let _=new Map;async function y(e){m();let t=await (0,i.ensureOpencodeServer)({user:e}),r=_.get(e);if(r&&r.baseURL===t)return r.client;let n=new a.AgentInsight({baseURL:t,timeout:18e4,maxRetries:2,logLevel:process.env.OPENCODE_LOG_LEVEL||"warn"});return _.set(e,{baseURL:t,client:n}),n}async function b(e){let t=await (0,u.loadServerModelForUser)(e).catch(e=>(console.warn("[general-agent] loadServerModelForUser failed, falling back to env:",e?.message||e),null));if(t)return t;let r=process.env.GENERAL_AGENT_PROVIDER_ID||process.env.OPENCODE_PROVIDER_ID||"deepseek-official";return{providerID:r,modelID:process.env.GENERAL_AGENT_MODEL_ID||process.env.OPENCODE_MODEL_ID||"deepseek-chat",apiKey:process.env.GENERAL_AGENT_API_KEY||process.env.OPENCODE_API_KEY||process.env.DEEPSEEK_API_KEY,baseURL:process.env.GENERAL_AGENT_PROVIDER_BASE_URL||process.env.OPENCODE_PROVIDER_BASE_URL||("deepseek"===r||"deepseek-official"===r?"https://api.deepseek.com":void 0),headers:process.env.OPENCODE_PROVIDER_HEADERS?JSON.parse(process.env.OPENCODE_PROVIDER_HEADERS):void 0}}async function v(e){let t=String(e.user||"").trim();if(!t)throw Error("user is required");let r=(0,l.expandHomePathsInText)(String(e.query||"").trim());if(!r)throw Error("query is required");if(e.ephemeralServer)return m(),(0,i.runWithEphemeralOpencodeServer)({user:t,verbose:!1,isolateHome:!0,telemetryEnabled:!e.recordTraceAs},async n=>{let s=new a.AgentInsight({baseURL:n,timeout:18e4,maxRetries:2,logLevel:process.env.OPENCODE_LOG_LEVEL||"warn"});return w(e,t,r,s)});let n=await y(t);return w(e,t,r,n)}async function w(t,r,s,a){let i,l;(0,c.ensureUserWorkspace)(r);let u=t.workspaceTag||t.sessionId||`task-${Date.now()}-${(0,n.randomUUID)().slice(0,8)}`,g=(0,c.ensureSessionWorkspace)(r,u),m=t.system?.trim()||void 0,y=m,v=null;if(t.skill){var w,I,_;let e,n,s=await (0,o.resolveSkill)(t.skill,r,t.skillVersion);if(!s)throw Error(`skill not found: ${t.skill}`);let a=(0,d.deploySkillToWorkspace)(s,g);console.log(`[general-agent] skill deployed: ${s.name}@v${s.version} → ${a.targetDir} (deployed=${a.deployed})`),w=s.name,I=s.version,_=m,e=null!==I?`(版本 v${I})`:"",n=`[SKILL 加载约束 - 强制执行]
|
|
41
41
|
你当前的运行环境已预置了技能(Skill)文件。在处理任何用户请求之前,你必须遵守以下规则:
|
|
42
42
|
|
|
43
43
|
1. **必须**首先调用 load_skill 工具,加载技能名称为 "${w}" 的 Skill${e}。
|
|
@@ -246,6 +246,6 @@ Guidelines:
|
|
|
246
246
|
- Only extract points that are explicitly present or clearly implied by the standard answer.
|
|
247
247
|
- Do not turn generic workflow steps into key points unless they are business conclusions required in the final answer.
|
|
248
248
|
- The "content" field must follow the same language as the query or standard answer.
|
|
249
|
-
`])},365371,e=>{"use strict";function t(e){try{let t=JSON.parse(e);return t&&"object"==typeof t&&!Array.isArray(t)?t:null}catch{return null}}function r(e){let r=t(e);if(r)return r;let i=e.indexOf("{"),n=e.lastIndexOf("}");if(-1!==i&&-1!==n&&n>i){let r=e.slice(i,n+1),a=t(r);if(a)return a;let s=t(function(e){let t="",r=!1,i=!1;for(let n=0;n<e.length;n+=1){let a=e[n];if(!r){'"'===a&&(r=!0),t+=a;continue}if(i){t+=a,i=!1;continue}if("\\"===a){t+=a,i=!0;continue}if('"'===a){let i=n+1;for(;i<e.length&&/\s/.test(e[i]);)i+=1;let s=e[i]||"";":"===s||","===s||"}"===s||"]"===s?(r=!1,t+=a):t+='\\"';continue}if("\n"===a){t+="\\n";continue}if("\r"===a){t+="\\r";continue}if(" "===a){t+="\\t";continue}t+=a}return t}(r));if(s)return{...s,_json_repaired:!0}}return null}function i(e){let t=e.trim(),i=r(t);if(i)return i;for(let e of Array.from(t.matchAll(/```json\s*([\s\S]*?)\s*```/gi))){let t=r(e[1]||"");if(t)return t}for(let e of Array.from(t.matchAll(/```(?:[^\n`]*)\n([\s\S]*?)\s*```/g))){let t=r(e[1]||"");if(t)return t}return null}e.s(["parseLooseJson",()=>i])},579503,e=>e.a(async(t,r)=>{try{e.i(186054);var i=e.i(491183);e.i(575475);var n=e.i(265947),a=e.i(401682),s=e.i(684842),o=e.i(365371),l=e.i(469465),u=t([a]);async function c(e){let t=await (0,a.getActiveConfig)(e);return t?new n.ChatOpenAI({apiKey:t.apiKey||"no-api-key",model:t.model||"deepseek-chat",configuration:{baseURL:t.baseUrl||"https://api.deepseek.com"},temperature:0,topP:1,modelKwargs:{seed:42}}):null}async function d(e,t,r){if(!String(t||"").trim())return[];let n=await c(r);if(!n)throw Error("未配置评测模型,无法提取关键观点");let a=await n.invoke([new i.HumanMessage((0,s.generateRootCauseExtractionPrompt)(e||"Task completion",t))]),u="string"==typeof a.content?a.content:JSON.stringify(a.content),d=(0,o.parseLooseJson)(u),h=Array.isArray(d?.root_causes)?d.root_causes:[];return(0,l.normalizeRootCauseItems)(h)}[a]=u.then?(await u)():u,e.s(["extractRootCausesFromExpected",()=>d]),r()}catch(e){r(e)}},!1),567169,e=>e.a(async(t,r)=>{try{var i=e.i(522734),n=e.i(814747),a=e.i(254799),s=e.i(463021),o=e.i(309418),l=e.i(469465),u=e.i(579503),c=t([o,u]);[o,u]=
|
|
249
|
+
`])},365371,e=>{"use strict";function t(e){try{let t=JSON.parse(e);return t&&"object"==typeof t&&!Array.isArray(t)?t:null}catch{return null}}function r(e){let r=t(e);if(r)return r;let i=e.indexOf("{"),n=e.lastIndexOf("}");if(-1!==i&&-1!==n&&n>i){let r=e.slice(i,n+1),a=t(r);if(a)return a;let s=t(function(e){let t="",r=!1,i=!1;for(let n=0;n<e.length;n+=1){let a=e[n];if(!r){'"'===a&&(r=!0),t+=a;continue}if(i){t+=a,i=!1;continue}if("\\"===a){t+=a,i=!0;continue}if('"'===a){let i=n+1;for(;i<e.length&&/\s/.test(e[i]);)i+=1;let s=e[i]||"";":"===s||","===s||"}"===s||"]"===s?(r=!1,t+=a):t+='\\"';continue}if("\n"===a){t+="\\n";continue}if("\r"===a){t+="\\r";continue}if(" "===a){t+="\\t";continue}t+=a}return t}(r));if(s)return{...s,_json_repaired:!0}}return null}function i(e){let t=e.trim(),i=r(t);if(i)return i;for(let e of Array.from(t.matchAll(/```json\s*([\s\S]*?)\s*```/gi))){let t=r(e[1]||"");if(t)return t}for(let e of Array.from(t.matchAll(/```(?:[^\n`]*)\n([\s\S]*?)\s*```/g))){let t=r(e[1]||"");if(t)return t}return null}e.s(["parseLooseJson",()=>i])},579503,e=>e.a(async(t,r)=>{try{e.i(186054);var i=e.i(491183);e.i(575475);var n=e.i(265947),a=e.i(401682),s=e.i(684842),o=e.i(365371),l=e.i(469465),u=t([a]);async function c(e){let t=await (0,a.getActiveConfig)(e);return t?new n.ChatOpenAI({apiKey:t.apiKey||"no-api-key",model:t.model||"deepseek-chat",configuration:{baseURL:t.baseUrl||"https://api.deepseek.com"},temperature:0,topP:1,modelKwargs:{seed:42}}):null}async function d(e,t,r){if(!String(t||"").trim())return[];let n=await c(r);if(!n)throw Error("未配置评测模型,无法提取关键观点");let a=await n.invoke([new i.HumanMessage((0,s.generateRootCauseExtractionPrompt)(e||"Task completion",t))]),u="string"==typeof a.content?a.content:JSON.stringify(a.content),d=(0,o.parseLooseJson)(u),h=Array.isArray(d?.root_causes)?d.root_causes:[];return(0,l.normalizeRootCauseItems)(h)}[a]=u.then?(await u)():u,e.s(["extractRootCausesFromExpected",()=>d]),r()}catch(e){r(e)}},!1),567169,e=>e.a(async(t,r)=>{try{var i=e.i(522734),n=e.i(814747),a=e.i(254799),s=e.i(463021),o=e.i(309418),l=e.i(469465),u=e.i(579503),c=e.i(93387),d=t([o,u]);[o,u]=d.then?(await d)():d;let x=(0,c.resolveAgentInsightDataPath)(),k=n.default.join(x,"agent_datasets.json"),I=!1;function h(){I||(I=!0,o.db.getClient()instanceof s.PrismaClient||console.warn("[agent-datasets] 使用 JSON 文件存储(非 Prisma 数据库客户端)。评测集数据在 data/agent_datasets.json。"))}function p(){let e=o.db.getClient();return e instanceof s.PrismaClient?e:null}function f(e){return"trajectory"===e?"trajectory":"ideal_output"}function m(e){return Array.isArray(e)?e.map(e=>String(e||"").trim()).filter(Boolean):[]}function g(e){var t;let r=e||{},i=r.trajectory,n=null==i?"":"string"==typeof i?i.trim():JSON.stringify(i);return{id:r.id&&String(r.id).trim()?String(r.id).trim():(0,a.randomUUID)(),input:String(r.input||"").trim(),expectedOutput:String(r.expectedOutput||"").trim(),evaluationFocus:String(r.evaluationFocus||"").trim(),tags:m(r.tags),trajectory:n,source:(t=r.source,"skill-gen-draft"===t?"skill-gen-draft":"user"),rootCauses:(0,l.normalizeRootCauseItems)(r.rootCauses),rootCauseMeta:(0,l.normalizeRootCauseMeta)(r.rootCauseMeta)}}function y(e){return{id:String(e.id||""),user:String(e.user||""),name:String(e.name||""),description:String(e.description||""),targetAgent:String(e.targetAgent||""),targetSkill:String(e.targetSkill||""),tags:m(e.tags),cases:Array.isArray(e.cases)?e.cases.map(g):[],datasetKind:f(e.datasetKind),createdAt:String(e.createdAt||""),updatedAt:String(e.updatedAt||"")}}function _(e){var t;let r=[],i=[];try{r=JSON.parse(e.tagsJson||"[]")}catch{r=[]}try{i=JSON.parse(e.casesJson||"[]")}catch{i=[]}return{id:e.id,user:e.user,name:e.name,description:e.description,targetAgent:e.targetAgent,targetSkill:e.targetSkill??"",tags:m(r),cases:(t=i,Array.isArray(t)?t.map(g).filter(e=>e.input||e.expectedOutput||e.evaluationFocus||e.trajectory||e.tags.length>0):[]),datasetKind:f(e.datasetKind),createdAt:e.createdAt.toISOString(),updatedAt:e.updatedAt.toISOString()}}function v(){i.default.existsSync(x)||i.default.mkdirSync(x,{recursive:!0}),i.default.existsSync(k)||i.default.writeFileSync(k,JSON.stringify([],null,2));try{let e=i.default.readFileSync(k,"utf-8"),t=JSON.parse(e);if(!Array.isArray(t))return[];return t.map(e=>e&&"object"==typeof e?y(e):null).filter(e=>null!==e&&!!e.id&&!!e.user)}catch{return[]}}let S=null;async function b(e){return S||(S=(async()=>{let t;if(await e.agentEvalDataset.count()>0){if(i.default.existsSync(k))try{i.default.renameSync(k,`${k}.bak.${Date.now()}`)}catch{}return}if(i.default.existsSync(k)){try{let e=i.default.readFileSync(k,"utf-8"),r=JSON.parse(e);if(!Array.isArray(r))return;t=r.map(e=>e&&"object"==typeof e?y(e):null).filter(e=>null!==e&&!!e.id&&!!e.user)}catch{return}if(0!==t.length){for(let r of t)await e.agentEvalDataset.create({data:{id:r.id,user:r.user,name:r.name,description:r.description,targetAgent:r.targetAgent,targetSkill:r.targetSkill??"",tagsJson:JSON.stringify(r.tags),casesJson:JSON.stringify(r.cases),datasetKind:r.datasetKind,createdAt:r.createdAt?new Date(r.createdAt):new Date,updatedAt:r.updatedAt?new Date(r.updatedAt):new Date}});try{i.default.renameSync(k,`${k}.migrated.${Date.now()}`)}catch{}}}})())}async function w(){let e=p();return e?(await b(e),(await e.agentEvalDataset.findMany({orderBy:{updatedAt:"desc"}})).map(_)):(h(),v())}async function $(e,t){let r=p();if(r){await b(r);let i=await r.agentEvalDataset.findFirst({where:{id:t,user:e}});return i?_(i):null}return h(),v().find(r=>r.id===t&&r.user===e)??null}e.s(["findAgentDataset",()=>$,"readAllAgentDatasets",()=>w]),r()}catch(e){r(e)}},!1)];
|
|
250
250
|
|
|
251
251
|
//# sourceMappingURL=_b30c2ca8._.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
module.exports=[68987,e=>{"use strict";function t(e){if(null==e)return null;if("number"==typeof e&&Number.isFinite(e))return e;if("string"==typeof e){let t=e.trim();if(!t)return null;if(/^\d+$/.test(t)){let e=Number(t);return Number.isFinite(e)?e:null}let n=Date.parse(t);return Number.isFinite(n)?n:null}return null}function n(e){let n=0,r=0,i="",a="",l="",s=0,o=0,u=0,d=0,c=0,f=0,m=0,p=0,h=0,g=Number.MAX_SAFE_INTEGER,y=0;for(let r of e||[]){if(!r)continue;let e=r.role,k="assistant"===e||"subagent"===e;if("assistant"===e){let e="string"==typeof r.content?r.content:"";e&&e.trim()&&(a=e),"string"==typeof r.model&&r.model?i=r.model:"string"==typeof r.modelID&&r.modelID&&(i=r.modelID)}r.agent&&"string"==typeof r.agent&&!l&&(l=r.agent);let _=t(r.timeInfo?.created),x=t(r.timeInfo?.completed),$=t(r.timestamp);if(_&&(g=Math.min(g,_),y=Math.max(y,_)),x&&(y=Math.max(y,x)),$&&(g=Math.min(g,$),y=Math.max(y,$)),!k)continue;f++;let b=r.usage;if(b){let e=function(e){let t=Number(e?.input_tokens??e?.input??0)||0,n=Number(e?.output_tokens??e?.output??0)||0,r=Number(e?.cache?.read??e?.cache_read_input_tokens??0)||0,i=Number(e?.cache?.write??e?.cache_creation_input_tokens??0)||0,a=Number(e?.reasoning??e?.reasoning_tokens??e?.completion_tokens_details?.reasoning_tokens??0)||0,l=e?.reasoning!==void 0&&a>0&&n<a?n+a:n;return{total:e?.total!==void 0?Number(e.total)||0:t+l+r+i,input:t,output:l,cacheRead:r,cacheWrite:i,reasoning:a,maxSingleCallTokens:t+l+r+i}}(b);n+=e.total,s+=e.input,o+=e.output,u+=e.cacheRead,d+=e.cacheWrite,c+=e.reasoning,e.maxSingleCallTokens>h&&(h=e.maxSingleCallTokens)}if(Array.isArray(r.tool_calls))for(let e of(m+=r.tool_calls.length,r.tool_calls))(e?.state==="error"||e?.state==="failed")&&p++}return g!==Number.MAX_SAFE_INTEGER&&y>g&&(r=y-g),{model:i||void 0,agentName:l||void 0,final_result:a||void 0,tokens:Math.round(n),latency:r/1e3,input_tokens:Math.round(s),output_tokens:Math.round(o),tool_call_count:m,tool_call_error_count:p,llm_call_count:f,cache_read_input_tokens:Math.round(u),cache_creation_input_tokens:Math.round(d),max_single_call_tokens:Math.round(h),reasoning_tokens:Math.round(c)}}e.s(["deriveOpencodeExecutionFields",()=>n])},596767,e=>{"use strict";var t=e.i(286372);function n(e,r="zh"){let i=function(e){if(!Array.isArray(e))return[];let t=[];for(let n of e)if(n){if(Array.isArray(n.requestMessages)||n.responseMessage){for(let e of n.requestMessages||[])e&&t.push(e);n.responseMessage&&t.push(n.responseMessage);continue}t.push(n)}return t}(e),a=[],o=e=>{a.push({...e,stepIndex:a.length+1})},c=i.find(e=>e?.role==="user"&&String(e.content||"").trim());c&&o({id:"input:root",name:"zh"===r?"用户输入":"User input",meta:c.usage?.input?`req ${c.usage.input} tok`:d(String(c.content||""),110),kind:"user",status:"ok",depth:0,interactionIndex:i.indexOf(c),startedAt:s(c.timeInfo?.created)??s(c.timestamp),completedAt:s(c.timeInfo?.completed),rawText:String(c.content||""),rawInput:String(c.content||"")});let f=(0,t.buildAgentCallTree)(i);return f&&(0,t.walkTree)(f,e=>{let t=e.events.find(e=>"user"===e.kind),n=[...e.events].reverse().find(e=>"llm"===e.kind),a=t&&(t.summary||t.interaction?.content)||void 0,s=n&&(n.interaction?.content||n.summary)||void 0;o({id:`agent:${e.id}`,name:0===e.depth?"zh"===r?"控制器路由":"Controller routing":"zh"===r?"子任务执行":"Subtask execution",meta:l(e,r),kind:"agent",status:"ok",depth:e.depth,startedAt:e.startedAt,completedAt:e.endedAt,rawText:[e.agentName,e.subagentType,l(e,r)].filter(Boolean).join(" "),rawInput:a,rawOutput:s}),e.events.forEach((t,n)=>{let a,l,s=function(e,t){var n,r,i;let a="zh"===t;if("user"===e.kind)return{name:a?"用户输入":"User input",meta:e.usage?.input?`req ${e.usage.input} tok`:d(e.summary||"",96)};if("llm"===e.kind){let t;return{name:a?"模型调用":"Model call",meta:[(t=[(n=e).name,n.interaction?.providerID,n.interaction?.modelID,n.summary].filter(Boolean).join(" ").toLowerCase()).includes("openai")||t.includes("gpt")||t.includes("chat.completions")?"OpenAI":t.includes("deepseek")?"DeepSeek":t.includes("anthropic")||t.includes("claude")?"Anthropic":"LLM Provider",e.usage?.input?`req ${e.usage.input} tok`:"",e.usage?.output?`out ${e.usage.output} tok`:""].filter(Boolean).join(" · ")||d(e.summary||"assistant response",96)}}if("skill"===e.kind){let t=e.args?.name||e.args?.skill||e.name||"skill";return{name:a?"执行 Skill":"Run skill",meta:`skill ${t}`}}if("task"===e.kind){let t=e.args?.subagent_type||e.args?.subagentType||"subagent";return{name:a?"调度子任务":"Dispatch subtask",meta:`spawn ${t}`}}return{name:a?"工具调用":"Tool call",meta:(r=e.name||"tool",i=e.args,"bash"===r?`bash ${d(i?.command||"",72)}`:"read"===r?`read ${i?.path||i?.file_path||""}`.trim():"write"===r?`write ${i?.path||i?.file_path||""}`.trim():"glob"===r?`glob ${i?.pattern||""}`.trim():"grep"===r?`grep ${i?.pattern||""}`.trim():`${r}${i?` ${d(u(i,90),90)}`:""}`)}}(t,r),c=t.completedAt||t.startedAt?"ok":"skipped";if("user"===t.kind)a=t.summary||t.interaction?.content||"";else if("llm"===t.kind){let n=t.interactionIndex??-1,s=new Set(e.interactionIndices.filter(e=>e<n)),o=[];for(let t of e.systemPrompts||[])t.text?.trim()&&o.push(`[System]
|
|
2
2
|
${d(t.text,1500)}`);for(let e of Array.from(s).sort((e,t)=>e-t)){let t=i[e];if(!t||"system"===t.role)continue;let n="string"==typeof t.content?t.content:u(t.content,2e3);n.trim()&&("user"===t.role||"opencode"===t.role?o.push(`[User]
|
|
3
3
|
${d(n,2e3)}`):("assistant"===t.role||"subagent"===t.role)&&o.push(`[Assistant]
|
|
4
|
-
${d(n,2e3)}`))}a=o.length>0?o.join("\n\n---\n\n"):void 0;let c=function(e,t){if(!Array.isArray(e)||0===e.length)return"";let n=e.map(e=>e?.function?.name||e?.name||"tool").slice(0,3),r=e.length>n.length?", ...":"";return"zh"===t?`${e.length} 个工具调用: ${n.join(", ")}${r}`:`${e.length} tool call${e.length>1?"s":""}: ${n.join(", ")}${r}`}(t.interaction?.tool_calls,r);l=[t.interaction?.content,c].filter(Boolean).join("\n")||t.summary||""}else("tool"===t.kind||"skill"===t.kind||"task"===t.kind)&&(void 0!==t.args&&(a=u(t.args,2e3)),("tool"===t.kind||"skill"===t.kind)&&void 0!==t.output&&null!==t.output&&(l=u(t.output,2e3)));o({id:`event:${e.id}:${n}`,name:s.name,meta:s.meta,kind:t.kind,status:c,depth:e.depth+1,interactionIndex:t.interactionIndex,eventIndex:n,toolCallId:t._toolCallId,startedAt:t.startedAt,completedAt:t.completedAt,rawText:[s.name,s.meta,t.name,t.summary,u(t.args,500),u(t.output,500)].filter(Boolean).join(" "),rawInput:a||void 0,rawOutput:l||void 0})})}),0===a.length&&o({id:"system:missing-trace",name:"zh"===r?"链路详情缺失":"Trace unavailable",meta:"zh"===r?"未找到可还原的 interactions。":"No interactions were available.",kind:"system",status:"skipped",depth:0,rawText:""}),a}function r(e,t,n="zh"){return Array.isArray(e)&&0!==e.length?e.map(e=>{if(e.trace_anchor?.step_id&&t.some(t=>t.id===e.trace_anchor?.step_id))return e;let r=function(e,t,n="zh"){if(!t.length)return null;let r=String(e.anchor_step_id||e.trace_anchor?.step_id||"").trim();if(r){let e=t.find(e=>e.id===r);if(e)return a(e,"step_id",.98,"zh"===n?"LLM 返回了候选步骤 ID,且后端校验存在":"The model returned a valid step id")}let i=/推理判断|时间窗口匹配/i.test(e.step||"")?null:String(e.step||"").match(/第\s*(\d+)\s*步/i);if(i){let e=Number(i[1]),r=t.find(t=>t.stepIndex===e);if(r)return a(r,"step_index",.9,"zh"===n?"来自故障记录的步骤编号":"Matched by failure step index")}let l=function(e,t,n){let r=u(e,2e3),i=r.match(/(?:tool_call_id|toolCallId|call_)[\"':\s-]*([A-Za-z0-9_.:-]{6,})/)?.[1];if(i){let e=t.find(e=>e.toolCallId===i);if(e)return a(e,"tool_call_id",.99,"zh"===n?"根据 tool_call_id 精确匹配":"Matched exactly by tool_call_id")}let l=r.match(/(?:interaction_index|interactionIndex)[\"':\s-]*(\d+)/)?.[1];if(l){let e=Number(l),r=t.find(t=>t.interactionIndex===e);if(r)return a(r,"interaction_index",.94,"zh"===n?"根据 interaction_index 精确匹配":"Matched by interaction_index")}return null}(e,t,n);if(l)return l;let s=o([e.failure_type,e.description,e.context,e.recovery,e.step].filter(Boolean).join(" ")),d=t.map(e=>{let t=0,n=o(e.rawText||`${e.name} ${e.meta}`);for(let e of Array.from(new Set(s.split(/[^a-z0-9_\-.]+/i).map(e=>e.trim().toLowerCase()).filter(e=>e.length>=3))).slice(0,12))n.includes(e)&&(t+=e.length>4?2:1);return/401|authentication|unauthori[sz]ed|api[_\s-]?key|认证|鉴权|权限/.test(s)&&"llm"===e.kind&&(t+=8),/tool|工具|bash|command|exit code|stderr|非零/.test(s)&&"tool"===e.kind&&(t+=7),/skill|技能|SKILL\.md/i.test(s)&&"skill"===e.kind&&(t+=7),/timeout|超时|卡住/.test(s)&&(t+=3),{step:e,score:t}}).sort((e,t)=>t.score-e.score);if(d[0]?.score>0){let e=d[0].score>=7?"type_rule":"text_match",t=d[0].score>=7?.78:.58;return a(d[0].step,e,t,d[0].score>=7?"zh"===n?"根据错误内容和节点类型匹配":"Matched by error content and step type":"zh"===n?"根据错误上下文文本匹配":"Matched by error context text")}let c=[...t].reverse().find(e=>"llm"===e.kind||"tool"===e.kind||"skill"===e.kind)||[...t].reverse().find(e=>"skipped"!==e.status);return c?a(c,"fallback",.35,"zh"===n?"未找到精确锚点,回退到最后一个已执行关键节点":"Fell back to the latest meaningful executed step"):null}(e,t,n);return r?{...e,trace_anchor:r}:e}):e}function i(e){return[`- step_id: ${e.id}`,` step_index: ${e.stepIndex}`,` name: ${e.name}`,` kind: ${e.kind}`,` meta: ${e.meta||"-"}`,null!=e.interactionIndex?` interaction_index: ${e.interactionIndex}`:"",e.toolCallId?` tool_call_id: ${e.toolCallId}`:"",null!=e.startedAt?` started_at: ${e.startedAt}`:"",null!=e.completedAt?` completed_at: ${e.completedAt}`:"",e.rawText?` evidence_text: ${d(e.rawText,220)}`:""].filter(Boolean).join("\n")}function a(e,t,n,r){return{step_id:e.id,step_index:e.stepIndex,display_name:e.name,kind:e.kind,interaction_index:e.interactionIndex,event_index:e.eventIndex,tool_call_id:e.toolCallId,started_at:e.startedAt,completed_at:e.completedAt,match_method:t,confidence:n,evidence:r}}function l(e,t){let n=[];e.agentName&&n.push(e.agentName),e.subagentType&&n.push(`type ${e.subagentType}`);let r=[e.stats.llmCalls?`${e.stats.llmCalls} LLM`:"",e.stats.toolCalls?`${e.stats.toolCalls} tool`:"",e.stats.skillCalls?`${e.stats.skillCalls} skill`:"",e.stats.taskCalls?`${e.stats.taskCalls} task`:""].filter(Boolean).join(" · ");return r&&n.push(r),n.join(" · ")||("zh"===t?"执行 Agent":"Agent")}function s(e){if(null!=e){if("number"==typeof e&&Number.isFinite(e))return e>0&&e<1e10?1e3*e:e;if("string"==typeof e){let t=e.trim();if(!t)return;if(/^\d+(\.\d+)?$/.test(t)){let e=Number(t);if(!Number.isFinite(e))return;return e>0&&e<1e10?1e3*e:e}let n=Date.parse(t);return Number.isFinite(n)?n:void 0}}}function o(e){return e.toLowerCase().replace(/\s+/g," ").trim()}function u(e,t=300){if(null==e)return"";if("string"==typeof e)return d(e,t);try{return d(JSON.stringify(e),t)}catch{return d(String(e),t)}}function d(e,t){let n=String(e||"");return n.length>t?`${n.slice(0,t)}...`:n}e.s(["attachFailureAnchors",()=>r,"buildFaultPathSteps",()=>n,"formatFaultPathStepForPrompt",()=>i])},864609,e=>{"use strict";let t=globalThis,n=t.__wittyPendingMap??(t.__wittyPendingMap=new Map);function r(e){if(n.has(e.requestId))return Promise.reject(Error(`duplicate requestId: ${e.requestId}`));let t=e.ttlMs??3e5;return new Promise((r,i)=>{let a=setTimeout(()=>{let r=n.get(e.requestId);r&&(n.delete(e.requestId),r.reject(Error(`interaction ${e.kind}/${e.requestId} timed out after ${t}ms`)))},t);n.set(e.requestId,{requestId:e.requestId,kind:e.kind,user:e.user,streamId:e.streamId,resolve:r,reject:i,expiresAt:Date.now()+t,timer:a})})}function i(e,t,r){let i=n.get(e);if(!i)return!1;if(i.user!==t)throw Error("user mismatch on interaction reply");return n.delete(e),clearTimeout(i.timer),i.resolve(r),!0}function a(e,t="stream closed"){let r=0;for(let[i,a]of n)a.streamId===e&&(n.delete(i),clearTimeout(a.timer),a.reject(Error(t)),r++);return r}e.s(["awaitInteraction",()=>r,"cancelStream",()=>a,"resolveInteraction",()=>i])},403577,e=>{"use strict";let t="/workspace/";function n(e){if(!e)return"";let t=e.content;return Array.isArray(t)?t.join("\n"):"string"==typeof t?t:""}let r=/^---\s*([\s\S]*?)\s*---/,i=/^name:\s*(.+)$/m,a=/^description:\s*(.+)$/m;function l(e){let l,s,o=function(e){if(!e)return null;let n=null;for(let r of Object.keys(e)){if(r===t+"SKILL.md")return r;if(!r.startsWith(t)||!r.endsWith("/SKILL.md"))continue;let e=r.slice(t.length).split("/").length;(!n||e<n.depth)&&(n={path:r,depth:e})}return n?.path??null}(e);if(!o||!e)return null;let u=n(e[o]),d=u.match(r)?.[1];return d&&(l=d.match(i)?.[1]?.trim(),s=d.match(a)?.[1]?.trim()),{path:o,content:u,name:l,description:s,folder:function(e){if(!e||!e.startsWith(t))return null;let n=e.slice(t.length).split("/");return n.length<=1?null:n[0]}(o)}}function s(e){return e.replace(/[^\w.-]+/g,"_")}e.s(["fileContentToString",()=>n,"findSkillMd",()=>l,"sanitizeForFilename",()=>s])},773528,e=>{"use strict";var t=e.i(902157),n=e.i(750227),r=e.i(134526);let i=[{key:"documents",exts:[".md",".markdown",".txt",".pdf",".docx",".html",".htm",".xml"]},{key:"data",exts:[".json",".csv",".tsv"]},{key:"code",exts:[".py",".ts",".tsx",".js",".jsx",".mjs",".cjs",".sh",".bash",".zsh",".fish",".go",".rs",".java",".kt",".swift",".rb",".php",".c",".cc",".cpp",".h",".hpp"]},{key:"config",exts:[".yaml",".yml",".toml",".ini",".conf"]},{key:"logs",exts:[".log"]}].flatMap(e=>e.exts),a=new Set(i);i.join(",");let l="uploads";function s(e,i){let a=(0,r.ensureSessionWorkspace)(e,i),s=n.default.join(a,l);return t.default.existsSync(s)||t.default.mkdirSync(s,{recursive:!0}),s}function o(e){return n.default.basename(e).replace(/[^A-Za-z0-9._-]/g,"_").replace(/^\.+/,"").slice(0,80)||"unnamed"}async function u(r){let i=n.default.extname(r).toLowerCase();try{if(".pdf"===i){let n=await e.A(314443),i=n.default||n,a=t.default.readFileSync(r),l=await i(a);return(l?.text||"").trim()||null}if(".docx"===i){let n=await e.A(221312),i=t.default.readFileSync(r);return((await n.extractRawText({buffer:i})).value||"").trim()||null}}catch(e){console.warn("[attachments] text extract failed for",r,e?.message)}return null}async function d(e,r,i){if(i.length>10)return{saved:[],errors:[{name:"(request)",reason:`一次最多上传 10 个文件`}]};let l=s(e,r),u=t.default.readdirSync(l).filter(e=>!e.startsWith(".")).length;if(u+i.length>50)return{saved:[],errors:[{name:"(quota)",reason:`当前会话已有 ${u} 个附件,加上本次将超过上限 50`}]};let d=[],c=[];for(let e of i){let r=e.name||"unnamed",i=n.default.extname(r).toLowerCase();if(!a.has(i)){c.push({name:r,reason:`不支持的文件类型: ${i||"(无扩展名)"}`});continue}if(e.size>0xa00000){c.push({name:r,reason:`文件超过 10MB 上限`});continue}let s=function(e,r){if(!t.default.existsSync(n.default.join(e,r)))return r;let i=n.default.extname(r),a=r.slice(0,r.length-i.length);for(let r=1;r<1e3;r++){let l=`${a}-${r}${i}`;if(!t.default.existsSync(n.default.join(e,l)))return l}return`${a}-${Date.now()}${i}`}(l,o(r)),u=n.default.join(l,s);try{let n=Buffer.from(await e.arrayBuffer());t.default.writeFileSync(u,n),d.push({name:s,absPath:u,bytes:n.length})}catch(e){c.push({name:r,reason:e?.message||"write failed"})}}return{saved:d,errors:c}}async function c(e){let r={};return await Promise.all(e.map(async e=>{let i=n.default.extname(e.name).toLowerCase();if(".pdf"!==i&&".docx"!==i){r[e.name]=null;return}let a=await u(e.absPath);if(!a){r[e.name]=null;return}let l=e.name.slice(0,e.name.length-i.length)+".txt",s=n.default.join(n.default.dirname(e.absPath),l);try{t.default.writeFileSync(s,a,"utf-8"),r[e.name]=l}catch(t){console.warn("[attachments] write sidecar failed:",t?.message),r[e.name]=null}})),r}function f(e,r){let i,a=s(e,r),o=[];try{i=t.default.readdirSync(a)}catch{return[]}let u=new Map;for(let e of i)if(e.endsWith(".txt")){let t=e.slice(0,-4);u.set(t,e)}for(let e of i){let r;if(e.startsWith("."))continue;let s=n.default.extname(e).toLowerCase();if(".txt"===s){let t=e.slice(0,-4);if(i.some(e=>e===t+".pdf"||e===t+".docx"))continue}let d=n.default.join(a,e);try{r=t.default.statSync(d)}catch{continue}if(!r.isFile())continue;let c=u.get(e.slice(0,e.length-s.length));o.push({name:e,size:r.size,relPath:`${l}/${e}`,textRelPath:c?`${l}/${c}`:void 0,mime:{".md":"text/markdown",".markdown":"text/markdown",".txt":"text/plain",".pdf":"application/pdf",".docx":"application/vnd.openxmlformats-officedocument.wordprocessingml.document",".json":"application/json",".csv":"text/csv",".html":"text/html",".htm":"text/html",".xml":"application/xml"}[n.default.extname(e).toLowerCase()]||"text/plain",mtimeMs:r.mtimeMs})}return o.sort((e,t)=>t.mtimeMs-e.mtimeMs),o}function m(e,r,i){if(o(i)!==i)return!1;let a=s(e,r),l=n.default.join(a,i);if(!l.startsWith(a+n.default.sep)&&l!==a)return!1;let u=!1;try{t.default.existsSync(l)&&(t.default.unlinkSync(l),u=!0)}catch(e){console.warn("[attachments] delete failed:",e?.message)}let d=n.default.extname(i).toLowerCase();if(".pdf"===d||".docx"===d){let e=i.slice(0,i.length-d.length)+".txt",r=n.default.join(a,e);try{t.default.existsSync(r)&&t.default.unlinkSync(r)}catch{}}return u}function p(e){return 0===e.length?"":["## 用户上传的参考资料(./uploads/,只读)","需要时用 `read` 工具读取以下文件;不要写入或修改 uploads/ 目录。","",...e.map(e=>{let t=e.textRelPath||e.relPath,n=e.textRelPath?`(原文件 ${e.relPath},已转纯文本)`:"";return`- ./${t}${n}`}),""].join("\n")}e.s(["UPLOADS_DIR",0,l,"deleteAttachment",()=>m,"formatAttachmentsForPrompt",()=>p,"listAttachments",()=>f,"materializeTextSidecars",()=>c,"saveUploadedFiles",()=>d],773528)},87702,e=>{"use strict";var t=e.i(874533),n=e.i(902157),r=e.i(660526),i=e.i(750227);let a=/\b((?:scripts|references)\/[A-Za-z0-9_./-]+\.[A-Za-z0-9]+)/g;function l(e,s={}){let o=[],u=Object.keys(e),d=s.skillMdKey??u.find(e=>"SKILL.md"===e||e.endsWith("/SKILL.md"));if(d&&null!=e[d]){let t=e[d],n=d.includes("/")?d.slice(0,d.lastIndexOf("/")+1):"",r=new Set;for(let e of t.matchAll(a))r.add(e[1]);let i=[...r].filter(t=>null==e[t]&&null==e[n+t]);o.push({name:"referenced-files",pass:0===i.length,detail:i.length?`SKILL.md 引用了 bundle 里不存在的文件:${i.join(", ")}(引用了就必须写出来)`:`SKILL.md 引用的 ${r.size} 个脚本/参考文件都在 bundle 里`})}else o.push({name:"referenced-files",pass:!1,detail:"候选 bundle 里找不到 SKILL.md"});let c=n.default.mkdtempSync(i.default.join(r.default.tmpdir(),"skillopt-verify-"));try{for(let[r,a]of Object.entries(e)){let e=function(e){let t=i.default.extname(e).toLowerCase();return".py"===t?{bin:"python3",args:e=>["-m","py_compile",e]}:".js"===t||".mjs"===t||".cjs"===t?{bin:"node",args:e=>["--check",e]}:".sh"===t||".bash"===t?{bin:"bash",args:e=>["-n",e]}:null}(r);if(!e)continue;let l=i.default.join(c,i.default.basename(r));n.default.writeFileSync(l,a??"");try{(0,t.execFileSync)(e.bin,e.args(l),{stdio:"pipe"}),o.push({name:`compile ${r}`,pass:!0,detail:`${e.bin} 语法检查通过`})}catch(t){if(t?.code==="ENOENT")o.push({name:`compile ${r}`,pass:!0,skipped:!0,detail:`跳过:${e.bin} 不可用`});else{let n=String(t?.stderr||t?.message||"").slice(0,240);o.push({name:`compile ${r}`,pass:!1,detail:`${e.bin} 语法检查失败:${n}`})}}}}finally{n.default.rmSync(c,{recursive:!0,force:!0})}let f=o.filter(e=>!e.pass&&!e.skipped).map(e=>`${e.name}: ${e.detail}`);return{ok:0===f.length,checks:o,failures:f}}let s=/__main__|sys\.argv/,o=/\b((?:19|20)\d{2})-\d{2}-\d{2}/g,u=/"[^"]*year[^"]*"\s*:\s*"?((?:19|20)\d{2})\b/gi,d=/"[^"]*(?:year|time|date|timestamp)[^"]*"\s*:/i;function c(e,t){let n=e;for(let e of t.split(".")){if(null==n||"object"!=typeof n)return;n=n[e]}return n}let f=new Map;function m(e){let n=f.get(e);if(void 0!==n)return n;let r=!1;try{(0,t.execFileSync)(e,["--version"],{stdio:"pipe"}),r=!0}catch(e){r="ENOENT"!==e.code}return f.set(e,r),r}function p(e,t){return{id:`year=${e}`,describe:`脚本算出的年份须含真值 ${e}`,check(n){if(t)try{let r=c(JSON.parse(n),t);if(null!=r){let n=String(r),i=n.startsWith(e);return{pass:i,detail:i?`${t}="${n}" 以 ${e} 开头`:`${t}="${n}" 非 ${e}(很可能硬编码/回落当前年)`}}}catch{}let r=new Set;for(let e of n.matchAll(o))r.add(e[1]);for(let e of n.matchAll(u))r.add(e[1]);return 0===r.size?d.test(n)?{pass:!1,detail:`脚本有日期字段但没算出任何年份(None/空,应为 ${e})——取年逻辑很可能没匹配到任何行`}:{pass:!0,skipped:!0,detail:"脚本输出无日期字段 → 该脚本不负责年份,跳过(交行为门)"}:r.has(e)?{pass:!0,detail:`脚本算出的时间戳/year 字段含真值 ${e}`}:{pass:!1,detail:`脚本算出的年份 [${[...r].join(", ")}] 不含真值 ${e}(很可能硬编码/回落当前系统年)`}}}}function h(e,t,n){let r=Number(t);return{id:`num:${e}=${t}`,describe:`脚本算出的「${e}」须含 ${t}`,check(i){if(n)try{let e=c(JSON.parse(i),n);if(null!=e){let i=Number(e)===r;return{pass:i,detail:i?`${n}=${e}`:`${n}=${JSON.stringify(e)} ≠ ${t}`}}}catch{}let a=new Set;for(let e of i.matchAll(/:\s*(-?\d+(?:\.\d+)?)\b/g))a.add(Number(e[1]));return 0===a.size?{pass:!0,skipped:!0,detail:`输出无数值字段 → 跳过「${e}」`}:a.has(r)?{pass:!0,detail:`脚本算出的数值含「${e}」=${t}`}:{pass:!1,detail:`脚本算出的数值不含「${e}」期望 ${t}`}}}}function g(e,a){let l=[],o=[];if(!a.assertions.length)return l.push({name:"script-truth",pass:!0,skipped:!0,detail:"无可推导的确定性真值断言 → 跳过(交行为门②)"}),{ok:!0,checks:l,failures:[],ran:o};if(!n.default.existsSync(a.logPath))return l.push({name:"script-truth",pass:!0,skipped:!0,detail:`示例输入不存在(${a.logPath}) → 跳过`}),{ok:!0,checks:l,failures:[],ran:o};if(!m("python3"))return l.push({name:"script-truth",pass:!0,skipped:!0,detail:"跳过:python3 不可用(fail-open)"}),{ok:!0,checks:l,failures:[],ran:o};let u=n.default.mkdtempSync(i.default.join(r.default.tmpdir(),"skillopt-truth-")),d="",c=!1;try{for(let[t,r]of Object.entries(e)){if(t.includes(".."))continue;let e=i.default.join(u,t);n.default.mkdirSync(i.default.dirname(e),{recursive:!0}),n.default.writeFileSync(e,r??"")}for(let[n,r]of Object.entries(e))if(n.endsWith(".py")&&s.test(r)){o.push(n);try{d+=(0,t.execFileSync)("python3",[i.default.join(u,n),a.logPath],{stdio:"pipe",timeout:3e4,maxBuffer:0x10000000}).toString()+"\n"}catch(e){if(e?.code==="ENOENT"){c=!0;break}l.push({name:`run ${n}`,pass:!0,skipped:!0,detail:`对真实输入运行出错(可能非主脚本):${String(e?.stderr||e?.message||"").slice(0,120)}`})}}}finally{n.default.rmSync(u,{recursive:!0,force:!0})}if(c)return l.push({name:"script-truth",pass:!0,skipped:!0,detail:"跳过:python3 不可用"}),{ok:!0,checks:l,failures:[],ran:o};if(0===o.length)return l.push({name:"script-truth",pass:!0,skipped:!0,detail:"无可运行脚本 → 跳过"}),{ok:!0,checks:l,failures:[],ran:o};for(let e of a.assertions){let t=e.check(d);l.push({name:`script-truth ${e.id}`,pass:t.pass,skipped:t.skipped,detail:t.detail})}let f=l.filter(e=>!e.pass&&!e.skipped).map(e=>`${e.name}: ${e.detail}`);return{ok:0===f.length,checks:l,failures:f,ran:o}}function y(e,a,l=6e3){if(!n.default.existsSync(a)||!m("python3"))return"";let o=n.default.mkdtempSync(i.default.join(r.default.tmpdir(),"skillopt-sample-")),u="";try{for(let[t,r]of Object.entries(e)){if(t.includes(".."))continue;let e=i.default.join(o,t);n.default.mkdirSync(i.default.dirname(e),{recursive:!0}),n.default.writeFileSync(e,r??"")}for(let[n,r]of Object.entries(e))if(n.endsWith(".py")&&s.test(r))try{u+=(0,t.execFileSync)("python3",[i.default.join(o,n),a],{stdio:"pipe",timeout:3e4,maxBuffer:0x10000000}).toString()+"\n"}catch{}}finally{n.default.rmSync(o,{recursive:!0,force:!0})}return u.slice(0,l)}e.s(["makeNumericAssertion",()=>h,"makeYearAssertion",()=>p,"runScriptsForSample",()=>y,"verifyScriptTruth",()=>g,"verifyStructure",()=>l])},484695,e=>{e.v(e=>Promise.resolve().then(()=>e(759453)))},419781,e=>{e.v(e=>Promise.resolve().then(()=>e(106411)))},335270,e=>{e.v(t=>Promise.all(["server/chunks/src_lib_1466262d._.js","server/chunks/src_lib_c6d9db51._.js","server/chunks/src_9c08bd78._.js"].map(t=>e.l(t))).then(()=>t(982505)))},221312,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__cd09b834._.js","server/chunks/node_modules_ec10bb66._.js"].map(t=>e.l(t))).then(()=>t(998879)))},314443,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__f7a02b6d._.js","server/chunks/[root-of-the-server]__a130a0e5._.js"].map(t=>e.l(t))).then(()=>t(574267)))}];
|
|
4
|
+
${d(n,2e3)}`))}a=o.length>0?o.join("\n\n---\n\n"):void 0;let c=function(e,t){if(!Array.isArray(e)||0===e.length)return"";let n=e.map(e=>e?.function?.name||e?.name||"tool").slice(0,3),r=e.length>n.length?", ...":"";return"zh"===t?`${e.length} 个工具调用: ${n.join(", ")}${r}`:`${e.length} tool call${e.length>1?"s":""}: ${n.join(", ")}${r}`}(t.interaction?.tool_calls,r);l=[t.interaction?.content,c].filter(Boolean).join("\n")||t.summary||""}else("tool"===t.kind||"skill"===t.kind||"task"===t.kind)&&(void 0!==t.args&&(a=u(t.args,2e3)),("tool"===t.kind||"skill"===t.kind)&&void 0!==t.output&&null!==t.output&&(l=u(t.output,2e3)));o({id:`event:${e.id}:${n}`,name:s.name,meta:s.meta,kind:t.kind,status:c,depth:e.depth+1,interactionIndex:t.interactionIndex,eventIndex:n,toolCallId:t._toolCallId,startedAt:t.startedAt,completedAt:t.completedAt,rawText:[s.name,s.meta,t.name,t.summary,u(t.args,500),u(t.output,500)].filter(Boolean).join(" "),rawInput:a||void 0,rawOutput:l||void 0})})}),0===a.length&&o({id:"system:missing-trace",name:"zh"===r?"链路详情缺失":"Trace unavailable",meta:"zh"===r?"未找到可还原的 interactions。":"No interactions were available.",kind:"system",status:"skipped",depth:0,rawText:""}),a}function r(e,t,n="zh"){return Array.isArray(e)&&0!==e.length?e.map(e=>{if(e.trace_anchor?.step_id&&t.some(t=>t.id===e.trace_anchor?.step_id))return e;let r=function(e,t,n="zh"){if(!t.length)return null;let r=String(e.anchor_step_id||e.trace_anchor?.step_id||"").trim();if(r){let e=t.find(e=>e.id===r);if(e)return a(e,"step_id",.98,"zh"===n?"LLM 返回了候选步骤 ID,且后端校验存在":"The model returned a valid step id")}let i=/推理判断|时间窗口匹配/i.test(e.step||"")?null:String(e.step||"").match(/第\s*(\d+)\s*步/i);if(i){let e=Number(i[1]),r=t.find(t=>t.stepIndex===e);if(r)return a(r,"step_index",.9,"zh"===n?"来自故障记录的步骤编号":"Matched by failure step index")}let l=function(e,t,n){let r=u(e,2e3),i=r.match(/(?:tool_call_id|toolCallId|call_)[\"':\s-]*([A-Za-z0-9_.:-]{6,})/)?.[1];if(i){let e=t.find(e=>e.toolCallId===i);if(e)return a(e,"tool_call_id",.99,"zh"===n?"根据 tool_call_id 精确匹配":"Matched exactly by tool_call_id")}let l=r.match(/(?:interaction_index|interactionIndex)[\"':\s-]*(\d+)/)?.[1];if(l){let e=Number(l),r=t.find(t=>t.interactionIndex===e);if(r)return a(r,"interaction_index",.94,"zh"===n?"根据 interaction_index 精确匹配":"Matched by interaction_index")}return null}(e,t,n);if(l)return l;let s=o([e.failure_type,e.description,e.context,e.recovery,e.step].filter(Boolean).join(" ")),d=t.map(e=>{let t=0,n=o(e.rawText||`${e.name} ${e.meta}`);for(let e of Array.from(new Set(s.split(/[^a-z0-9_\-.]+/i).map(e=>e.trim().toLowerCase()).filter(e=>e.length>=3))).slice(0,12))n.includes(e)&&(t+=e.length>4?2:1);return/401|authentication|unauthori[sz]ed|api[_\s-]?key|认证|鉴权|权限/.test(s)&&"llm"===e.kind&&(t+=8),/tool|工具|bash|command|exit code|stderr|非零/.test(s)&&"tool"===e.kind&&(t+=7),/skill|技能|SKILL\.md/i.test(s)&&"skill"===e.kind&&(t+=7),/timeout|超时|卡住/.test(s)&&(t+=3),{step:e,score:t}}).sort((e,t)=>t.score-e.score);if(d[0]?.score>0){let e=d[0].score>=7?"type_rule":"text_match",t=d[0].score>=7?.78:.58;return a(d[0].step,e,t,d[0].score>=7?"zh"===n?"根据错误内容和节点类型匹配":"Matched by error content and step type":"zh"===n?"根据错误上下文文本匹配":"Matched by error context text")}let c=[...t].reverse().find(e=>"llm"===e.kind||"tool"===e.kind||"skill"===e.kind)||[...t].reverse().find(e=>"skipped"!==e.status);return c?a(c,"fallback",.35,"zh"===n?"未找到精确锚点,回退到最后一个已执行关键节点":"Fell back to the latest meaningful executed step"):null}(e,t,n);return r?{...e,trace_anchor:r}:e}):e}function i(e){return[`- step_id: ${e.id}`,` step_index: ${e.stepIndex}`,` name: ${e.name}`,` kind: ${e.kind}`,` meta: ${e.meta||"-"}`,null!=e.interactionIndex?` interaction_index: ${e.interactionIndex}`:"",e.toolCallId?` tool_call_id: ${e.toolCallId}`:"",null!=e.startedAt?` started_at: ${e.startedAt}`:"",null!=e.completedAt?` completed_at: ${e.completedAt}`:"",e.rawText?` evidence_text: ${d(e.rawText,220)}`:""].filter(Boolean).join("\n")}function a(e,t,n,r){return{step_id:e.id,step_index:e.stepIndex,display_name:e.name,kind:e.kind,interaction_index:e.interactionIndex,event_index:e.eventIndex,tool_call_id:e.toolCallId,started_at:e.startedAt,completed_at:e.completedAt,match_method:t,confidence:n,evidence:r}}function l(e,t){let n=[];e.agentName&&n.push(e.agentName),e.subagentType&&n.push(`type ${e.subagentType}`);let r=[e.stats.llmCalls?`${e.stats.llmCalls} LLM`:"",e.stats.toolCalls?`${e.stats.toolCalls} tool`:"",e.stats.skillCalls?`${e.stats.skillCalls} skill`:"",e.stats.taskCalls?`${e.stats.taskCalls} task`:""].filter(Boolean).join(" · ");return r&&n.push(r),n.join(" · ")||("zh"===t?"执行 Agent":"Agent")}function s(e){if(null!=e){if("number"==typeof e&&Number.isFinite(e))return e>0&&e<1e10?1e3*e:e;if("string"==typeof e){let t=e.trim();if(!t)return;if(/^\d+(\.\d+)?$/.test(t)){let e=Number(t);if(!Number.isFinite(e))return;return e>0&&e<1e10?1e3*e:e}let n=Date.parse(t);return Number.isFinite(n)?n:void 0}}}function o(e){return e.toLowerCase().replace(/\s+/g," ").trim()}function u(e,t=300){if(null==e)return"";if("string"==typeof e)return d(e,t);try{return d(JSON.stringify(e),t)}catch{return d(String(e),t)}}function d(e,t){let n=String(e||"");return n.length>t?`${n.slice(0,t)}...`:n}e.s(["attachFailureAnchors",()=>r,"buildFaultPathSteps",()=>n,"formatFaultPathStepForPrompt",()=>i])},864609,e=>{"use strict";let t=globalThis,n=t.__wittyPendingMap??(t.__wittyPendingMap=new Map);function r(e){if(n.has(e.requestId))return Promise.reject(Error(`duplicate requestId: ${e.requestId}`));let t=e.ttlMs??3e5;return new Promise((r,i)=>{let a=setTimeout(()=>{let r=n.get(e.requestId);r&&(n.delete(e.requestId),r.reject(Error(`interaction ${e.kind}/${e.requestId} timed out after ${t}ms`)))},t);n.set(e.requestId,{requestId:e.requestId,kind:e.kind,user:e.user,streamId:e.streamId,resolve:r,reject:i,expiresAt:Date.now()+t,timer:a})})}function i(e,t,r){let i=n.get(e);if(!i)return!1;if(i.user!==t)throw Error("user mismatch on interaction reply");return n.delete(e),clearTimeout(i.timer),i.resolve(r),!0}function a(e,t="stream closed"){let r=0;for(let[i,a]of n)a.streamId===e&&(n.delete(i),clearTimeout(a.timer),a.reject(Error(t)),r++);return r}e.s(["awaitInteraction",()=>r,"cancelStream",()=>a,"resolveInteraction",()=>i])},403577,e=>{"use strict";let t="/workspace/";function n(e){if(!e)return"";let t=e.content;return Array.isArray(t)?t.join("\n"):"string"==typeof t?t:""}let r=/^---\s*([\s\S]*?)\s*---/,i=/^name:\s*(.+)$/m,a=/^description:\s*(.+)$/m;function l(e){let l,s,o=function(e){if(!e)return null;let n=null;for(let r of Object.keys(e)){if(r===t+"SKILL.md")return r;if(!r.startsWith(t)||!r.endsWith("/SKILL.md"))continue;let e=r.slice(t.length).split("/").length;(!n||e<n.depth)&&(n={path:r,depth:e})}return n?.path??null}(e);if(!o||!e)return null;let u=n(e[o]),d=u.match(r)?.[1];return d&&(l=d.match(i)?.[1]?.trim(),s=d.match(a)?.[1]?.trim()),{path:o,content:u,name:l,description:s,folder:function(e){if(!e||!e.startsWith(t))return null;let n=e.slice(t.length).split("/");return n.length<=1?null:n[0]}(o)}}function s(e){return e.replace(/[^\w.-]+/g,"_")}e.s(["fileContentToString",()=>n,"findSkillMd",()=>l,"sanitizeForFilename",()=>s])},773528,e=>{"use strict";var t=e.i(902157),n=e.i(750227),r=e.i(134526);let i=[{key:"documents",exts:[".md",".markdown",".txt",".pdf",".docx",".html",".htm",".xml"]},{key:"data",exts:[".json",".csv",".tsv"]},{key:"code",exts:[".py",".ts",".tsx",".js",".jsx",".mjs",".cjs",".sh",".bash",".zsh",".fish",".go",".rs",".java",".kt",".swift",".rb",".php",".c",".cc",".cpp",".h",".hpp"]},{key:"config",exts:[".yaml",".yml",".toml",".ini",".conf"]},{key:"logs",exts:[".log"]}].flatMap(e=>e.exts),a=new Set(i);i.join(",");let l="uploads";function s(e,i){let a=(0,r.ensureSessionWorkspace)(e,i),s=n.default.join(a,l);return t.default.existsSync(s)||t.default.mkdirSync(s,{recursive:!0}),s}function o(e){return n.default.basename(e).replace(/[^A-Za-z0-9._-]/g,"_").replace(/^\.+/,"").slice(0,80)||"unnamed"}async function u(r){let i=n.default.extname(r).toLowerCase();try{if(".pdf"===i){let n=await e.A(314443),i=n.default||n,a=t.default.readFileSync(r),l=await i(a);return(l?.text||"").trim()||null}if(".docx"===i){let n=await e.A(221312),i=t.default.readFileSync(r);return((await n.extractRawText({buffer:i})).value||"").trim()||null}}catch(e){console.warn("[attachments] text extract failed for",r,e?.message)}return null}async function d(e,r,i){if(i.length>10)return{saved:[],errors:[{name:"(request)",reason:`一次最多上传 10 个文件`}]};let l=s(e,r),u=t.default.readdirSync(l).filter(e=>!e.startsWith(".")).length;if(u+i.length>50)return{saved:[],errors:[{name:"(quota)",reason:`当前会话已有 ${u} 个附件,加上本次将超过上限 50`}]};let d=[],c=[];for(let e of i){let r=e.name||"unnamed",i=n.default.extname(r).toLowerCase();if(!a.has(i)){c.push({name:r,reason:`不支持的文件类型: ${i||"(无扩展名)"}`});continue}if(e.size>0xa00000){c.push({name:r,reason:`文件超过 10MB 上限`});continue}let s=function(e,r){if(!t.default.existsSync(n.default.join(e,r)))return r;let i=n.default.extname(r),a=r.slice(0,r.length-i.length);for(let r=1;r<1e3;r++){let l=`${a}-${r}${i}`;if(!t.default.existsSync(n.default.join(e,l)))return l}return`${a}-${Date.now()}${i}`}(l,o(r)),u=n.default.join(l,s);try{let n=Buffer.from(await e.arrayBuffer());t.default.writeFileSync(u,n),d.push({name:s,absPath:u,bytes:n.length})}catch(e){c.push({name:r,reason:e?.message||"write failed"})}}return{saved:d,errors:c}}async function c(e){let r={};return await Promise.all(e.map(async e=>{let i=n.default.extname(e.name).toLowerCase();if(".pdf"!==i&&".docx"!==i){r[e.name]=null;return}let a=await u(e.absPath);if(!a){r[e.name]=null;return}let l=e.name.slice(0,e.name.length-i.length)+".txt",s=n.default.join(n.default.dirname(e.absPath),l);try{t.default.writeFileSync(s,a,"utf-8"),r[e.name]=l}catch(t){console.warn("[attachments] write sidecar failed:",t?.message),r[e.name]=null}})),r}function f(e,r){let i,a=s(e,r),o=[];try{i=t.default.readdirSync(a)}catch{return[]}let u=new Map;for(let e of i)if(e.endsWith(".txt")){let t=e.slice(0,-4);u.set(t,e)}for(let e of i){let r;if(e.startsWith("."))continue;let s=n.default.extname(e).toLowerCase();if(".txt"===s){let t=e.slice(0,-4);if(i.some(e=>e===t+".pdf"||e===t+".docx"))continue}let d=n.default.join(a,e);try{r=t.default.statSync(d)}catch{continue}if(!r.isFile())continue;let c=u.get(e.slice(0,e.length-s.length));o.push({name:e,size:r.size,relPath:`${l}/${e}`,textRelPath:c?`${l}/${c}`:void 0,mime:{".md":"text/markdown",".markdown":"text/markdown",".txt":"text/plain",".pdf":"application/pdf",".docx":"application/vnd.openxmlformats-officedocument.wordprocessingml.document",".json":"application/json",".csv":"text/csv",".html":"text/html",".htm":"text/html",".xml":"application/xml"}[n.default.extname(e).toLowerCase()]||"text/plain",mtimeMs:r.mtimeMs})}return o.sort((e,t)=>t.mtimeMs-e.mtimeMs),o}function m(e,r,i){if(o(i)!==i)return!1;let a=s(e,r),l=n.default.join(a,i);if(!l.startsWith(a+n.default.sep)&&l!==a)return!1;let u=!1;try{t.default.existsSync(l)&&(t.default.unlinkSync(l),u=!0)}catch(e){console.warn("[attachments] delete failed:",e?.message)}let d=n.default.extname(i).toLowerCase();if(".pdf"===d||".docx"===d){let e=i.slice(0,i.length-d.length)+".txt",r=n.default.join(a,e);try{t.default.existsSync(r)&&t.default.unlinkSync(r)}catch{}}return u}function p(e){return 0===e.length?"":["## 用户上传的参考资料(./uploads/,只读)","需要时用 `read` 工具读取以下文件;不要写入或修改 uploads/ 目录。","",...e.map(e=>{let t=e.textRelPath||e.relPath,n=e.textRelPath?`(原文件 ${e.relPath},已转纯文本)`:"";return`- ./${t}${n}`}),""].join("\n")}e.s(["UPLOADS_DIR",0,l,"deleteAttachment",()=>m,"formatAttachmentsForPrompt",()=>p,"listAttachments",()=>f,"materializeTextSidecars",()=>c,"saveUploadedFiles",()=>d],773528)},87702,e=>{"use strict";var t=e.i(874533),n=e.i(902157),r=e.i(660526),i=e.i(750227);let a=/\b((?:scripts|references)\/[A-Za-z0-9_./-]+\.[A-Za-z0-9]+)/g;function l(e,s={}){let o=[],u=Object.keys(e),d=s.skillMdKey??u.find(e=>"SKILL.md"===e||e.endsWith("/SKILL.md"));if(d&&null!=e[d]){let t=e[d],n=d.includes("/")?d.slice(0,d.lastIndexOf("/")+1):"",r=new Set;for(let e of t.matchAll(a))r.add(e[1]);let i=[...r].filter(t=>null==e[t]&&null==e[n+t]);o.push({name:"referenced-files",pass:0===i.length,detail:i.length?`SKILL.md 引用了 bundle 里不存在的文件:${i.join(", ")}(引用了就必须写出来)`:`SKILL.md 引用的 ${r.size} 个脚本/参考文件都在 bundle 里`})}else o.push({name:"referenced-files",pass:!1,detail:"候选 bundle 里找不到 SKILL.md"});let c=n.default.mkdtempSync(i.default.join(r.default.tmpdir(),"skillopt-verify-"));try{for(let[r,a]of Object.entries(e)){let e=function(e){let t=i.default.extname(e).toLowerCase();return".py"===t?{bin:"python3",args:e=>["-m","py_compile",e]}:".js"===t||".mjs"===t||".cjs"===t?{bin:"node",args:e=>["--check",e]}:".sh"===t||".bash"===t?{bin:"bash",args:e=>["-n",e]}:null}(r);if(!e)continue;let l=i.default.join(c,i.default.basename(r));n.default.writeFileSync(l,a??"");try{(0,t.execFileSync)(e.bin,e.args(l),{stdio:"pipe"}),o.push({name:`compile ${r}`,pass:!0,detail:`${e.bin} 语法检查通过`})}catch(t){if(t?.code==="ENOENT")o.push({name:`compile ${r}`,pass:!0,skipped:!0,detail:`跳过:${e.bin} 不可用`});else{let n=String(t?.stderr||t?.message||"").slice(0,240);o.push({name:`compile ${r}`,pass:!1,detail:`${e.bin} 语法检查失败:${n}`})}}}}finally{n.default.rmSync(c,{recursive:!0,force:!0})}let f=o.filter(e=>!e.pass&&!e.skipped).map(e=>`${e.name}: ${e.detail}`);return{ok:0===f.length,checks:o,failures:f}}let s=/__main__|sys\.argv/,o=/\b((?:19|20)\d{2})-\d{2}-\d{2}/g,u=/"[^"]*year[^"]*"\s*:\s*"?((?:19|20)\d{2})\b/gi,d=/"[^"]*(?:year|time|date|timestamp)[^"]*"\s*:/i;function c(e,t){let n=e;for(let e of t.split(".")){if(null==n||"object"!=typeof n)return;n=n[e]}return n}let f=new Map;function m(e){let n=f.get(e);if(void 0!==n)return n;let r=!1;try{(0,t.execFileSync)(e,["--version"],{stdio:"pipe"}),r=!0}catch(e){r="ENOENT"!==e.code}return f.set(e,r),r}function p(e,t){return{id:`year=${e}`,describe:`脚本算出的年份须含真值 ${e}`,check(n){if(t)try{let r=c(JSON.parse(n),t);if(null!=r){let n=String(r),i=n.startsWith(e);return{pass:i,detail:i?`${t}="${n}" 以 ${e} 开头`:`${t}="${n}" 非 ${e}(很可能硬编码/回落当前年)`}}}catch{}let r=new Set;for(let e of n.matchAll(o))r.add(e[1]);for(let e of n.matchAll(u))r.add(e[1]);return 0===r.size?d.test(n)?{pass:!1,detail:`脚本有日期字段但没算出任何年份(None/空,应为 ${e})——取年逻辑很可能没匹配到任何行`}:{pass:!0,skipped:!0,detail:"脚本输出无日期字段 → 该脚本不负责年份,跳过(交行为门)"}:r.has(e)?{pass:!0,detail:`脚本算出的时间戳/year 字段含真值 ${e}`}:{pass:!1,detail:`脚本算出的年份 [${[...r].join(", ")}] 不含真值 ${e}(很可能硬编码/回落当前系统年)`}}}}function h(e,t,n){let r=Number(t);return{id:`num:${e}=${t}`,describe:`脚本算出的「${e}」须含 ${t}`,check(i){if(n)try{let e=c(JSON.parse(i),n);if(null!=e){let i=Number(e)===r;return{pass:i,detail:i?`${n}=${e}`:`${n}=${JSON.stringify(e)} ≠ ${t}`}}}catch{}let a=new Set;for(let e of i.matchAll(/:\s*(-?\d+(?:\.\d+)?)\b/g))a.add(Number(e[1]));return 0===a.size?{pass:!0,skipped:!0,detail:`输出无数值字段 → 跳过「${e}」`}:a.has(r)?{pass:!0,detail:`脚本算出的数值含「${e}」=${t}`}:{pass:!1,detail:`脚本算出的数值不含「${e}」期望 ${t}`}}}}function g(e,a){let l=[],o=[];if(!a.assertions.length)return l.push({name:"script-truth",pass:!0,skipped:!0,detail:"无可推导的确定性真值断言 → 跳过(交行为门②)"}),{ok:!0,checks:l,failures:[],ran:o};if(!n.default.existsSync(a.logPath))return l.push({name:"script-truth",pass:!0,skipped:!0,detail:`示例输入不存在(${a.logPath}) → 跳过`}),{ok:!0,checks:l,failures:[],ran:o};if(!m("python3"))return l.push({name:"script-truth",pass:!0,skipped:!0,detail:"跳过:python3 不可用(fail-open)"}),{ok:!0,checks:l,failures:[],ran:o};let u=n.default.mkdtempSync(i.default.join(r.default.tmpdir(),"skillopt-truth-")),d="",c=!1;try{for(let[t,r]of Object.entries(e)){if(t.includes(".."))continue;let e=i.default.join(u,t);n.default.mkdirSync(i.default.dirname(e),{recursive:!0}),n.default.writeFileSync(e,r??"")}for(let[n,r]of Object.entries(e))if(n.endsWith(".py")&&s.test(r)){o.push(n);try{d+=(0,t.execFileSync)("python3",[i.default.join(u,n),a.logPath],{stdio:"pipe",timeout:3e4,maxBuffer:0x10000000}).toString()+"\n"}catch(e){if(e?.code==="ENOENT"){c=!0;break}l.push({name:`run ${n}`,pass:!0,skipped:!0,detail:`对真实输入运行出错(可能非主脚本):${String(e?.stderr||e?.message||"").slice(0,120)}`})}}}finally{n.default.rmSync(u,{recursive:!0,force:!0})}if(c)return l.push({name:"script-truth",pass:!0,skipped:!0,detail:"跳过:python3 不可用"}),{ok:!0,checks:l,failures:[],ran:o};if(0===o.length)return l.push({name:"script-truth",pass:!0,skipped:!0,detail:"无可运行脚本 → 跳过"}),{ok:!0,checks:l,failures:[],ran:o};for(let e of a.assertions){let t=e.check(d);l.push({name:`script-truth ${e.id}`,pass:t.pass,skipped:t.skipped,detail:t.detail})}let f=l.filter(e=>!e.pass&&!e.skipped).map(e=>`${e.name}: ${e.detail}`);return{ok:0===f.length,checks:l,failures:f,ran:o}}function y(e,a,l=6e3){if(!n.default.existsSync(a)||!m("python3"))return"";let o=n.default.mkdtempSync(i.default.join(r.default.tmpdir(),"skillopt-sample-")),u="";try{for(let[t,r]of Object.entries(e)){if(t.includes(".."))continue;let e=i.default.join(o,t);n.default.mkdirSync(i.default.dirname(e),{recursive:!0}),n.default.writeFileSync(e,r??"")}for(let[n,r]of Object.entries(e))if(n.endsWith(".py")&&s.test(r))try{u+=(0,t.execFileSync)("python3",[i.default.join(o,n),a],{stdio:"pipe",timeout:3e4,maxBuffer:0x10000000}).toString()+"\n"}catch{}}finally{n.default.rmSync(o,{recursive:!0,force:!0})}return u.slice(0,l)}e.s(["makeNumericAssertion",()=>h,"makeYearAssertion",()=>p,"runScriptsForSample",()=>y,"verifyScriptTruth",()=>g,"verifyStructure",()=>l])},484695,e=>{e.v(e=>Promise.resolve().then(()=>e(759453)))},419781,e=>{e.v(e=>Promise.resolve().then(()=>e(106411)))},335270,e=>{e.v(t=>Promise.all(["server/chunks/src_lib_9cf1dab3._.js","server/chunks/src_lib_84cf46e8._.js","server/chunks/src_9c08bd78._.js"].map(t=>e.l(t))).then(()=>t(982505)))},221312,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__cd09b834._.js","server/chunks/node_modules_ec10bb66._.js"].map(t=>e.l(t))).then(()=>t(998879)))},314443,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__f7a02b6d._.js","server/chunks/[root-of-the-server]__a130a0e5._.js"].map(t=>e.l(t))).then(()=>t(574267)))}];
|
|
5
5
|
|
|
6
|
-
//# sourceMappingURL=
|
|
6
|
+
//# sourceMappingURL=_c707acf8._.js.map
|