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
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[819057,(e,t,r)=>{let n=e.r(522734),s=e.r(814747),i=e.r(446786),a=e.r(254799),l=["◈ encrypted .env [www.dotenvx.com]","◈ secrets for agents [www.dotenvx.com]","⌁ auth for agents [www.vestauth.com]","⌘ custom filepath { path: '/custom/path/.env' }","⌘ enable debugging { debug: true }","⌘ override existing { override: true }","⌘ suppress logs { quiet: true }","⌘ multiple files { path: ['.env.local', '.env'] }"];function o(e){return"string"==typeof e?!["false","0","no","off",""].includes(e.toLowerCase()):!!e}let u=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function c(e){console.log(`┆ ${e}`)}function d(e){console.log(`◇ ${e}`)}function E(e){return e&&e.DOTENV_KEY&&e.DOTENV_KEY.length>0?e.DOTENV_KEY:process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0?process.env.DOTENV_KEY:""}function h(e){let t=null;if(e&&e.path&&e.path.length>0)if(Array.isArray(e.path))for(let r of e.path)n.existsSync(r)&&(t=r.endsWith(".vault")?r:`${r}.vault`);else t=e.path.endsWith(".vault")?e.path:`${e.path}.vault`;else t=s.resolve(process.cwd(),".env.vault");return n.existsSync(t)?t:null}function p(e){return"~"===e[0]?s.join(i.homedir(),e.slice(1)):e}let y={configDotenv:function(e){let t,r=s.resolve(process.cwd(),".env"),i="utf8",a=process.env;e&&null!=e.processEnv&&(a=e.processEnv);let u=o(a.DOTENV_CONFIG_DEBUG||e&&e.debug),E=o(a.DOTENV_CONFIG_QUIET||e&&e.quiet);e&&e.encoding?i=e.encoding:u&&c("no encoding is specified (UTF-8 is used by default)");let h=[r];if(e&&e.path)if(Array.isArray(e.path))for(let t of(h=[],e.path))h.push(p(t));else h=[p(e.path)];let f={};for(let r of h)try{let t=y.parse(n.readFileSync(r,{encoding:i}));y.populate(f,t,e)}catch(e){u&&c(`failed to load ${r} ${e.message}`),t=e}let w=y.populate(a,f,e);if(u=o(a.DOTENV_CONFIG_DEBUG||u),E=o(a.DOTENV_CONFIG_QUIET||E),u||!E){var $;let e=Object.keys(w).length,r=[];for(let e of h)try{let t=s.relative(process.cwd(),e);r.push(t)}catch(r){u&&c(`failed to load ${e} ${r.message}`),t=r}d(`injected env (${e}) from ${r.join(",")} ${($=`// tip: ${l[Math.floor(Math.random()*l.length)]}`,process.stdout.isTTY?`\x1b[2m${$}\x1b[0m`:$)}`)}return t?{parsed:f,error:t}:{parsed:f}},_configVault:function(e){let t=o(process.env.DOTENV_CONFIG_DEBUG||e&&e.debug),r=o(process.env.DOTENV_CONFIG_QUIET||e&&e.quiet);(t||!r)&&d("loading env from encrypted .env.vault");let n=y._parseVault(e),s=process.env;return e&&null!=e.processEnv&&(s=e.processEnv),y.populate(s,n,e),{parsed:n}},_parseVault:function(e){let t,r=h(e=e||{});e.path=r;let n=y.configDotenv(e);if(!n.parsed){let e=Error(`MISSING_DATA: Cannot parse ${r} for an unknown reason`);throw e.code="MISSING_DATA",e}let s=E(e).split(","),i=s.length;for(let e=0;e<i;e++)try{let r=s[e].trim(),i=function(e,t){let r;try{r=new URL(t)}catch(e){if("ERR_INVALID_URL"===e.code){let e=Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development");throw e.code="INVALID_DOTENV_KEY",e}throw e}let n=r.password;if(!n){let e=Error("INVALID_DOTENV_KEY: Missing key part");throw e.code="INVALID_DOTENV_KEY",e}let s=r.searchParams.get("environment");if(!s){let e=Error("INVALID_DOTENV_KEY: Missing environment part");throw e.code="INVALID_DOTENV_KEY",e}let i=`DOTENV_VAULT_${s.toUpperCase()}`,a=e.parsed[i];if(!a){let e=Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${i} in your .env.vault file.`);throw e.code="NOT_FOUND_DOTENV_ENVIRONMENT",e}return{ciphertext:a,key:n}}(n,r);t=y.decrypt(i.ciphertext,i.key);break}catch(t){if(e+1>=i)throw t}return y.parse(t)},config:function(e){if(0===E(e).length)return y.configDotenv(e);let t=h(e);if(!t){var r;return r=`you set DOTENV_KEY but you are missing a .env.vault file at ${t}`,console.error(`⚠ ${r}`),y.configDotenv(e)}return y._configVault(e)},decrypt:function(e,t){let r=Buffer.from(t.slice(-64),"hex"),n=Buffer.from(e,"base64"),s=n.subarray(0,12),i=n.subarray(-16);n=n.subarray(12,-16);try{let e=a.createDecipheriv("aes-256-gcm",r,s);return e.setAuthTag(i),`${e.update(n)}${e.final()}`}catch(n){let e=n instanceof RangeError,t="Invalid key length"===n.message,r="Unsupported state or unable to authenticate data"===n.message;if(e||t){let e=Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");throw e.code="INVALID_DOTENV_KEY",e}if(r){let e=Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");throw e.code="DECRYPTION_FAILED",e}throw n}},parse:function(e){let t,r={},n=e.toString();for(n=n.replace(/\r\n?/mg,"\n");null!=(t=u.exec(n));){let e=t[1],n=t[2]||"",s=(n=n.trim())[0];n=n.replace(/^(['"`])([\s\S]*)\1$/mg,"$2"),'"'===s&&(n=(n=n.replace(/\\n/g,"\n")).replace(/\\r/g,"\r")),r[e]=n}return r},populate:function(e,t,r={}){let n=!!(r&&r.debug),s=!!(r&&r.override),i={};if("object"!=typeof t){let e=Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");throw e.code="OBJECT_REQUIRED",e}for(let r of Object.keys(t))Object.prototype.hasOwnProperty.call(e,r)?(!0===s&&(e[r]=t[r],i[r]=t[r]),n&&(!0===s?c(`"${r}" is already defined and WAS overwritten`):c(`"${r}" is already defined and was NOT overwritten`))):(e[r]=t[r],i[r]=t[r]);return i}};t.exports.configDotenv=y.configDotenv,t.exports._configVault=y._configVault,t.exports._parseVault=y._parseVault,t.exports.config=y.config,t.exports.decrypt=y.decrypt,t.exports.parse=y.parse,t.exports.populate=y.populate,t.exports=y},93387,e=>{"use strict";var t=e.i(819057),r=e.i(660526),n=e.i(750227);function s(){return process.env.AGENT_INSIGHT_DATA_DIR||n.default.join(r.default.homedir(),".agent-insight")}function i(){(0,t.config)({path:n.default.join(s(),".env")}),(0,t.config)(),process.env.DATABASE_URL=function(e){let t=`file:${n.default.join(s(),"data","witty_insight.db")}`;if(!e||!e.trim()||"file:../data/witty_insight.db"===e)return t;let i=e.match(/^file:(~(?:\/.*)?)$/);if(i){let e=n.default.join(r.default.homedir(),i[1].slice(1));return`file:${e}`}return e}(process.env.DATABASE_URL)}e.s(["loadAgentInsightEnv",()=>i])},995031,e=>{"use strict";var t=e.i(666680);let r={randomUUID:t.randomUUID},n=new Uint8Array(256),s=n.length,i=[];for(let e=0;e<256;++e)i.push((e+256).toString(16).slice(1));e.s(["v4",0,function(e,a,l){if(r.randomUUID&&!a&&!e)return r.randomUUID();var o=e,u=l;let c=(o=o||{}).random??o.rng?.()??(s>n.length-16&&((0,t.randomFillSync)(n),s=0),n.slice(s,s+=16));if(c.length<16)throw Error("Random bytes length must be >= 16");if(c[6]=15&c[6]|64,c[8]=63&c[8]|128,a){if((u=u||0)<0||u+16>a.length)throw RangeError(`UUID byte range ${u}:${u+15} is out of buffer bounds`);for(let e=0;e<16;++e)a[u+e]=c[e];return a}return function(e,t=0){return(i[e[t+0]]+i[e[t+1]]+i[e[t+2]]+i[e[t+3]]+"-"+i[e[t+4]]+i[e[t+5]]+"-"+i[e[t+6]]+i[e[t+7]]+"-"+i[e[t+8]]+i[e[t+9]]+"-"+i[e[t+10]]+i[e[t+11]]+i[e[t+12]]+i[e[t+13]]+i[e[t+14]]+i[e[t+15]]).toLowerCase()}(c)}],995031)},473761,e=>e.a(async(t,r)=>{try{var n=e.i(93387),s=e.i(463021),i=e.i(723862),a=e.i(995031),l=t([i]);[i]=l.then?(await l)():l,(0,n.loadAgentInsightEnv)();class u{client;constructor(e){this.client=e}getClient(){return this.client}async createSession(e){return this.client.session.create({data:e})}async updateSession(e,t){return t.id?this.client.session.update({where:{id:t.id},data:t}):this.client.session.update({where:{taskId:e},data:t})}async upsertSession(e,t,r){return this.client.session.upsert({where:{taskId:e},create:t,update:r})}async findSessionByTaskId(e){return this.client.session.findUnique({where:{taskId:e}})}async findSessions(e){return this.client.session.findMany({where:e})}async findUserByApiKey(e){return this.client.user.findUnique({where:{apiKey:e}})}async findUserByUsername(e){return this.client.user.findUnique({where:{username:e}})}async createUser(e){return this.client.user.create({data:e})}async findSkill(e,t){let r=await this.client.skill.findMany({where:{user:t},include:{versions:{orderBy:{version:"desc"}}}}),n=e.toLowerCase();return r.find(e=>e.name.toLowerCase()===n)||null}async findSkillById(e){return this.client.skill.findUnique({where:{id:e},include:{versions:{orderBy:{version:"desc"}}}})}async createSkill(e){return this.client.skill.create({data:e})}async updateSkill(e,t){return this.client.skill.update({where:{id:e},data:t})}async deleteSkill(e){return this.client.skill.delete({where:{id:e}})}async findSkills(e){return this.client.skill.findMany({where:e,include:{versions:{orderBy:{version:"desc"}}}})}async findLatestSkillVersion(e){return this.client.skillVersion.findFirst({where:{skillId:e},orderBy:{version:"desc"}})}async createSkillVersion(e){return this.client.skillVersion.create({data:e})}async findSkillVersion(e,t){return this.client.skillVersion.findFirst({where:{skillId:e,version:t}})}async findSkillVersionBySemanticVersion(e,t){return this.client.skillVersion.findFirst({where:{skillId:e,semanticVersion:t}})}async deleteSkillVersion(e,t){return this.client.skillVersion.deleteMany({where:{skillId:e,version:t}})}async findConfigs(e){return this.client.config.findMany({where:e,orderBy:{id:"desc"}})}async findConfigById(e){return this.client.config.findUnique({where:{id:e}})}async createConfig(e){return this.client.config.create({data:e})}async updateConfig(e,t){return this.client.config.update({where:{id:e},data:t})}async findExecutionById(e){return this.client.execution.findUnique({where:{id:e}})}async findExecutions(e,t,r){return this.client.execution.findMany({where:e,orderBy:t,...r?{select:r}:{}})}async upsertExecution(e){return this.client.execution.upsert(e)}async updateExecution(e,t){return this.client.execution.update({where:{id:e},data:t})}async deleteExecution(e){try{return await this.client.execution.delete({where:{id:e}}),!0}catch{return!1}}async deleteExecutions(e){return(await this.client.execution.deleteMany({where:e})).count}async findUserSettings(e){return this.client.userSettings.findUnique({where:{user:e}})}async upsertUserSettings(e,t){return this.client.userSettings.upsert({where:{user:e},update:{settingsJson:t},create:{user:e,settingsJson:t}})}async findParsedFlow(e,t,r){return this.client.parsedFlow.findFirst({where:{skillId:e,version:t,user:r}})}async upsertParsedFlow(e){let{skillId:t,version:r,user:n}=e;return this.client.parsedFlow.upsert({where:{skillId_version_user:{skillId:t,version:r,user:n}},create:e,update:e})}async findExecutionMatch(e){return this.client.executionMatch.findUnique({where:{executionId:e}})}async upsertExecutionMatch(e){let{executionId:t}=e;return this.client.executionMatch.upsert({where:{executionId:t},create:e,update:e})}async findUserGuideState(e){return this.client.userGuideState.findUnique({where:{user:e}})}async upsertUserGuideState(e,t){return this.client.userGuideState.upsert({where:{user:e},update:t,create:{user:e,...t}})}async updateUserGuideState(e,t){return this.client.userGuideState.update({where:{user:e},data:t})}}class c{pool;constructor(e){this.pool=new i.Pool(e)}getClient(){return this.pool}async query(e,t){return this.pool.query(e,t)}async createSession(e){let t=Object.keys(e),r=Object.values(e),n=t.map((e,t)=>`$${t+1}`).join(", "),s=t.map(e=>`"${e}"`).join(", "),i=e.id||(0,a.v4)(),l=`INSERT INTO "Session" (${s}, id) VALUES (${n}, $${t.length+1}) RETURNING *`;return(await this.query(l,[...r,i])).rows[0]}async updateSession(e,t){let r=Object.keys(t).filter(e=>"id"!==e&&"taskId"!==e);if(0===r.length)return null;let n=r.map((e,t)=>`"${e}" = $${t+2}`).join(", "),s=r.map(e=>t[e]),i='WHERE "taskId" = $1',a=e;t.id&&(i="WHERE id = $1",a=t.id);let l=`UPDATE "Session" SET ${n} ${i} RETURNING *`;return(await this.query(l,[a,...s])).rows[0]}async upsertSession(e,t,r){let n=await this.pool.connect();try{let s;await n.query("BEGIN");let i=await n.query('SELECT * FROM "Session" WHERE "taskId" = $1',[e]);if(i.rows.length>0){let t={};for(let[e,n]of Object.entries(r))void 0!==n&&(t[e]=n);let a=Object.keys(t);if(a.length>0){let r=a.map((e,t)=>`"${e}" = $${t+2}`).join(", "),i=a.map(e=>t[e]),l=`UPDATE "Session" SET ${r} WHERE "taskId" = $1 RETURNING *`;s=(await n.query(l,[e,...i])).rows[0]}else s=i.rows[0]}else{t.taskId||(t.taskId=e);let r={};for(let[e,n]of Object.entries(t))void 0!==n&&(r[e]=n);let i=Object.keys(r),l=Object.values(r),o=i.map(e=>`"${e}"`).join(", "),u=i.map((e,t)=>`$${t+1}`).join(", "),c=(0,a.v4)(),d=`INSERT INTO "Session" (${o}, id) VALUES (${u}, $${i.length+1}) RETURNING *`;s=(await n.query(d,[...l,c])).rows[0]}return await n.query("COMMIT"),s}catch(e){throw await n.query("ROLLBACK"),e}finally{n.release()}}async findSessionByTaskId(e){return(await this.query('SELECT * FROM "Session" WHERE "taskId" = $1',[e])).rows[0]||null}async findSessions(e){let t='SELECT * FROM "Session"',r=[],n=[];return e.user&&(n.push(`"user" = $${r.length+1}`),r.push(e.user)),n.length>0&&(t+=" WHERE "+n.join(" AND ")),(await this.query(t,r)).rows}async findUserByApiKey(e){return(await this.query('SELECT * FROM "User" WHERE "apiKey" = $1',[e])).rows[0]||null}async findUserByUsername(e){return(await this.query('SELECT * FROM "User" WHERE username = $1',[e])).rows[0]||null}async createUser(e){let t=Object.keys(e),r=Object.values(e),n=t.map((e,t)=>`$${t+1}`).join(", "),s=t.map(e=>`"${e}"`).join(", "),i=e.id||(0,a.v4)(),l=`INSERT INTO "User" (${s}, id) VALUES (${n}, $${t.length+1}) RETURNING *`;return(await this.query(l,[...r,i])).rows[0]}async findSkill(e,t){let r='SELECT * FROM "Skill" WHERE LOWER(name) = LOWER($1)',n=[e];t?(r+=' AND "user" = $2',n.push(t)):r+=' AND "user" IS NULL';let s=(await this.query(r,n)).rows[0]||null;if(s){let e=await this.query('SELECT * FROM "SkillVersion" WHERE "skillId" = $1 ORDER BY version DESC',[s.id]);s.versions=e.rows}return s}async findSkillById(e){let t=(await this.query('SELECT * FROM "Skill" WHERE id = $1',[e])).rows[0]||null;if(t){let e=await this.query('SELECT * FROM "SkillVersion" WHERE "skillId" = $1 ORDER BY version DESC',[t.id]);t.versions=e.rows}return t}async createSkill(e){let t=Object.keys(e),r=Object.values(e),n=t.map((e,t)=>`$${t+1}`).join(", "),s=t.map(e=>`"${e}"`).join(", "),i=e.id||(0,a.v4)(),l=`INSERT INTO "Skill" (${s}, id) VALUES (${n}, $${t.length+1}) RETURNING *`;return(await this.query(l,[...r,i])).rows[0]}async updateSkill(e,t){let r=Object.keys(t).filter(e=>"id"!==e);if(0===r.length)return null;let n=r.map((e,t)=>`"${e}" = $${t+2}`).join(", "),s=r.map(e=>t[e]),i=`UPDATE "Skill" SET ${n} WHERE id = $1 RETURNING *`;return(await this.query(i,[e,...s])).rows[0]}async deleteSkill(e){return(await this.query('DELETE FROM "Skill" WHERE id = $1 RETURNING *',[e])).rows[0]||null}async findSkills(e){let t='SELECT * FROM "Skill"',r=[],n=[];if(void 0!==e.isUploaded&&(n.push(`"isUploaded" = $${r.length+1}`),r.push(e.isUploaded)),e.OR){let t=[];for(let n of e.OR)void 0!==n.user&&(null===n.user?t.push('"user" IS NULL'):(t.push(`"user" = $${r.length+1}`),r.push(n.user))),n.visibility&&(t.push(`"visibility" = $${r.length+1}`),r.push(n.visibility));t.length>0&&n.push(`(${t.join(" OR ")})`)}else e.name&&e.user&&(n.push(`name = $${r.length+1}`),r.push(e.name),n.push(`"user" = $${r.length+1}`),r.push(e.user));e.category&&(n.push(`category = $${r.length+1}`),r.push(e.category)),n.length>0&&(t+=" WHERE "+n.join(" AND "));let s=(await this.query(t,r)).rows;for(let e of s){let t=await this.query('SELECT * FROM "SkillVersion" WHERE "skillId" = $1 ORDER BY version DESC',[e.id]);e.versions=t.rows}return s}async findLatestSkillVersion(e){return(await this.query('SELECT * FROM "SkillVersion" WHERE "skillId" = $1 ORDER BY version DESC LIMIT 1',[e])).rows[0]||null}async createSkillVersion(e){let t=Object.keys(e),r=Object.values(e),n=t.map((e,t)=>`$${t+1}`).join(", "),s=t.map(e=>`"${e}"`).join(", "),i=e.id||(0,a.v4)(),l=`INSERT INTO "SkillVersion" (${s}, id) VALUES (${n}, $${t.length+1}) RETURNING *`;return(await this.query(l,[...r,i])).rows[0]}async findSkillVersion(e,t){return(await this.query('SELECT * FROM "SkillVersion" WHERE "skillId" = $1 AND version = $2',[e,t])).rows[0]||null}async findSkillVersionBySemanticVersion(e,t){return(await this.query('SELECT * FROM "SkillVersion" WHERE "skillId" = $1 AND "semanticVersion" = $2',[e,t])).rows[0]||null}async deleteSkillVersion(e,t){return(await this.query('DELETE FROM "SkillVersion" WHERE "skillId" = $1 AND version = $2 RETURNING *',[e,t])).rows[0]||null}async findConfigs(e){let t='SELECT * FROM "Config"',r=[],n=[];if(e.OR){let t=[];for(let n of e.OR)void 0!==n.user&&(null===n.user?t.push('"user" IS NULL'):(t.push(`"user" = $${r.length+1}`),r.push(n.user)));t.length>0&&n.push(`(${t.join(" OR ")})`)}return n.length>0&&(t+=" WHERE "+n.join(" AND ")),t+=" ORDER BY id DESC",(await this.query(t,r)).rows}async findConfigById(e){return(await this.query('SELECT * FROM "Config" WHERE id = $1',[e])).rows[0]||null}async createConfig(e){let t=Object.keys(e),r=Object.values(e),n=t.map((e,t)=>`$${t+1}`).join(", "),s=t.map(e=>`"${e}"`).join(", "),i=e.id||(0,a.v4)(),l=`INSERT INTO "Config" (${s}, id) VALUES (${n}, $${t.length+1}) RETURNING *`;return(await this.query(l,[...r,i])).rows[0]}async updateConfig(e,t){let r=Object.keys(t).filter(e=>"id"!==e);if(0===r.length)return null;let n=r.map((e,t)=>`"${e}" = $${t+2}`).join(", "),s=r.map(e=>t[e]),i=`UPDATE "Config" SET ${n} WHERE id = $1 RETURNING *`;return(await this.query(i,[e,...s])).rows[0]}async findExecutionById(e){return(await this.query('SELECT * FROM "Execution" WHERE id = $1',[e])).rows[0]||null}async findExecutions(e,t){let r='SELECT * FROM "Execution"',n=[],s=[];if(e.OR){let t=[];for(let r of e.OR)void 0!==r.user&&(null===r.user?t.push('"user" IS NULL'):(t.push(`"user" = $${n.length+1}`),n.push(r.user)));t.length>0&&s.push(`(${t.join(" OR ")})`)}return void 0!==e.id&&(s.push(`"id" = $${n.length+1}`),n.push(e.id)),void 0!==e.query&&(null===e.query?s.push('"query" IS NULL'):(s.push(`"query" = $${n.length+1}`),n.push(e.query))),void 0!==e.framework&&(null===e.framework?s.push('"framework" IS NULL'):(s.push(`"framework" = $${n.length+1}`),n.push(e.framework))),void 0!==e.taskId&&(null===e.taskId?s.push('"taskId" IS NULL'):(s.push(`"taskId" = $${n.length+1}`),n.push(e.taskId))),void 0!==e.skill&&(null===e.skill?s.push("skill IS NULL"):(s.push(`skill = $${n.length+1}`),n.push(e.skill))),void 0!==e.skillVersion&&(null===e.skillVersion?s.push('"skillVersion" IS NULL'):(s.push(`"skillVersion" = $${n.length+1}`),n.push(e.skillVersion))),s.length>0&&(r+=" WHERE "+s.join(" AND ")),t?.timestamp==="desc"&&(r+=' ORDER BY "timestamp" DESC'),(await this.query(r,n)).rows}async upsertExecution(e){let{where:t,create:r,update:n}=e,s=t.id,i=await this.pool.connect();try{let e;await i.query("BEGIN");let t=await i.query('SELECT * FROM "Execution" WHERE id = $1',[s]);if(t.rows.length>0){let r={};for(let[e,t]of Object.entries(n))void 0!==t&&(r[e]=t);let a=Object.keys(r);if(a.length>0){let t=a.map((e,t)=>`"${e}" = $${t+2}`).join(", "),n=a.map(e=>r[e]),l=`UPDATE "Execution" SET ${t} WHERE id = $1 RETURNING *`;e=(await i.query(l,[s,...n])).rows[0]}else e=t.rows[0]}else{let t={};for(let[e,n]of Object.entries(r))void 0!==n&&(t[e]=n);let n=Object.keys(t),s=Object.values(t),a=n.map(e=>`"${e}"`).join(", "),l=n.map((e,t)=>`$${t+1}`).join(", "),o=`INSERT INTO "Execution" (${a}) VALUES (${l}) RETURNING *`;e=(await i.query(o,s)).rows[0]}return await i.query("COMMIT"),e}catch(e){throw await i.query("ROLLBACK"),e}finally{i.release()}}async deleteExecution(e){try{return((await this.query('DELETE FROM "Execution" WHERE id = $1',[e])).rowCount??0)>0}catch{return!1}}async updateExecution(e,t){let r=Object.keys(t).filter(e=>"id"!==e);if(0===r.length)return null;let n=r.map((e,t)=>`"${e}" = $${t+2}`).join(", "),s=r.map(e=>t[e]),i=`UPDATE "Execution" SET ${n} WHERE id = $1 RETURNING *`;return(await this.query(i,[e,...s])).rows[0]}async deleteExecutions(e){let t='DELETE FROM "Execution"',r=[],n=[];return e.taskId&&(n.push(`"taskId" = $${r.length+1}`),r.push(e.taskId)),e.timestamp&&e.framework&&e.query&&(n.push(`"timestamp" = $${r.length+1}`),r.push(e.timestamp),n.push(`framework = $${r.length+1}`),r.push(e.framework),n.push(`query = $${r.length+1}`),r.push(e.query)),n.length>0&&(t+=" WHERE "+n.join(" AND ")),(await this.query(t,r)).rowCount??0}async findUserSettings(e){return(await this.query('SELECT * FROM "UserSettings" WHERE "user" = $1',[e])).rows[0]||null}async upsertUserSettings(e,t){let r=await this.pool.connect();try{let n;if(await r.query("BEGIN"),(await r.query('SELECT * FROM "UserSettings" WHERE "user" = $1',[e])).rows.length>0)n=(await r.query('UPDATE "UserSettings" SET "settingsJson" = $1, "updatedAt" = CURRENT_TIMESTAMP WHERE "user" = $2 RETURNING *',[t,e])).rows[0];else{let s=(0,a.v4)();n=(await r.query('INSERT INTO "UserSettings" (id, "user", "settingsJson") VALUES ($1, $2, $3) RETURNING *',[s,e,t])).rows[0]}return await r.query("COMMIT"),n}catch(e){throw await r.query("ROLLBACK"),e}finally{r.release()}}async findParsedFlow(e,t,r){let n='SELECT * FROM "ParsedFlow" WHERE "skillId" = $1 AND version = $2',s=[e,t];return r?(n+=' AND "user" = $3',s.push(r)):n+=' AND "user" IS NULL',(await this.query(n,s)).rows[0]||null}async upsertParsedFlow(e){let{skillId:t,version:r,user:n,flowJson:s,mermaidCode:i}=e,l=await this.pool.connect();try{let e;await l.query("BEGIN");let o='SELECT * FROM "ParsedFlow" WHERE "skillId" = $1 AND version = $2',u=[t,r];n?(o+=' AND "user" = $3',u.push(n)):o+=' AND "user" IS NULL';let c=await l.query(o,u);if(c.rows.length>0)e=(await l.query('UPDATE "ParsedFlow" SET "flowJson" = $1, "mermaidCode" = $2, "parsedAt" = CURRENT_TIMESTAMP WHERE id = $3 RETURNING *',[s,i,c.rows[0].id])).rows[0];else{let o=(0,a.v4)();e=(await l.query('INSERT INTO "ParsedFlow" (id, "skillId", version, "user", "flowJson", "mermaidCode") VALUES ($1, $2, $3, $4, $5, $6) RETURNING *',[o,t,r,n,s,i])).rows[0]}return await l.query("COMMIT"),e}catch(e){throw await l.query("ROLLBACK"),e}finally{l.release()}}async findExecutionMatch(e){return(await this.query('SELECT * FROM "ExecutionMatch" WHERE "executionId" = $1',[e])).rows[0]||null}async upsertExecutionMatch(e){let{executionId:t,skillId:r,skillVersion:n,user:s,mode:i,matchJson:l,staticMermaid:o,dynamicMermaid:u,analysisText:c,extractedSteps:d,interactionCount:E}=e,h=await this.pool.connect();try{let e;if(await h.query("BEGIN"),(await h.query('SELECT * FROM "ExecutionMatch" WHERE "executionId" = $1',[t])).rows.length>0)e=(await h.query('UPDATE "ExecutionMatch" SET "skillId" = $1, "skillVersion" = $2, "user" = $3, "mode" = $4, "matchJson" = $5, "staticMermaid" = $6, "dynamicMermaid" = $7, "analysisText" = $8, "extractedSteps" = $9, "interactionCount" = $10, "matchedAt" = CURRENT_TIMESTAMP WHERE "executionId" = $11 RETURNING *',[r,n,s,i,l,o,u,c,d,E,t])).rows[0];else{let p=(0,a.v4)();e=(await h.query('INSERT INTO "ExecutionMatch" (id, "executionId", "skillId", "skillVersion", "user", "mode", "matchJson", "staticMermaid", "dynamicMermaid", "analysisText", "extractedSteps", "interactionCount") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12) RETURNING *',[p,t,r,n,s,i,l,o,u,c,d,E])).rows[0]}return await h.query("COMMIT"),e}catch(e){throw await h.query("ROLLBACK"),e}finally{h.release()}}async findUserGuideState(e){return(await this.query('SELECT * FROM "UserGuideState" WHERE "user" = $1',[e])).rows[0]||null}async upsertUserGuideState(e,t){let r=await this.pool.connect();try{let n;await r.query("BEGIN");let s=await r.query('SELECT * FROM "UserGuideState" WHERE "user" = $1',[e]);if(s.rows.length>0){let i=Object.keys(t);if(i.length>0){let s=i.map((e,t)=>`"${e}" = $${t+2}`).join(", "),a=i.map(e=>t[e]);n=(await r.query(`UPDATE "UserGuideState" SET ${s}, "updatedAt" = CURRENT_TIMESTAMP WHERE "user" = $1 RETURNING *`,[e,...a])).rows[0]}else n=s.rows[0]}else{let s=(0,a.v4)(),i=Object.keys(t),l=Object.values(t),o=["id","user",...i].map(e=>`"${e}"`).join(", "),u=i.map((e,t)=>`$${t+3}`).join(", ");n=(await r.query(`INSERT INTO "UserGuideState" (${o}) VALUES ($1, $2, ${u}) RETURNING *`,[s,e,...l])).rows[0]}return await r.query("COMMIT"),n}catch(e){throw await r.query("ROLLBACK"),e}finally{r.release()}}async updateUserGuideState(e,t){let r=Object.keys(t);if(0===r.length)return null;let n=r.map((e,t)=>`"${e}" = $${t+2}`).join(", "),s=r.map(e=>t[e]);return(await this.query(`UPDATE "UserGuideState" SET ${n}, "updatedAt" = CURRENT_TIMESTAMP WHERE "user" = $1 RETURNING *`,[e,...s])).rows[0]||null}}function o(){let t="1"===process.env.DEBUG_DB_ADAPTER;if(t&&console.log("[DatabaseAdapter] DB_HOST:",!!process.env.DB_HOST),process.env.DB_HOST)return t&&console.log("[DatabaseAdapter] Using OpenGauss Adapter"),new c({host:process.env.DB_HOST,port:parseInt(process.env.DB_PORT||"5432"),database:process.env.DB_NAME||"postgres",user:process.env.DB_USER||"omm",password:process.env.DB_PASSWORD});t&&console.log("[DatabaseAdapter] Using Prisma Adapter");let r=e.g.prisma||new s.PrismaClient;return new u(r)}e.s(["getDatabaseAdapter",()=>o]),r()}catch(e){r(e)}},!1),309418,e=>e.a(async(t,r)=>{try{let o;var n,s=e.i(93387),i=e.i(463021),a=e.i(473761),l=t([a]);[a]=l.then?(await l)():l,(0,s.loadAgentInsightEnv)();let u=e.g.prisma||new i.PrismaClient,c=(0,a.getDatabaseAdapter)(),d=process.env.DB_HOST?(o=(n=c).getClient())instanceof i.PrismaClient?o:{user:{findUnique:async e=>e.where?.apiKey?n.findUserByApiKey(e.where.apiKey):e.where?.username?n.findUserByUsername(e.where.username):null,findFirst:async e=>e.where?.username?n.findUserByUsername(e.where.username):null},skill:{findFirst:async e=>{let t=e.where?.name,r=e.where?.OR?.[0]?.user??e.where?.OR?.[1]?.user;return n.findSkill(t,r)},findMany:async e=>n.findSkills(e.where||{}),findUnique:async e=>n.findSkill(e.where?.name,e.where?.user),delete:async e=>(console.warn("[OpenGaussAdapter] skill.delete not fully implemented"),null)},skillVersion:{findFirst:async e=>e.where?.skillId?n.findLatestSkillVersion(e.where.skillId):null},config:{findMany:async e=>n.findConfigs(e.where||{})},session:{findUnique:async e=>e.where?.taskId?n.findSessionByTaskId(e.where.taskId):null,update:async e=>e.where?.id?n.updateSession(e.where.id,e.data):null,upsert:async e=>{let t=e.where?.taskId;return t?n.upsertSession(t,e.create,e.update):null}},execution:{findUnique:async e=>e.where?.id?n.findExecutionById(e.where.id):null,upsert:async e=>n.upsertExecution(e),findMany:async e=>n.findExecutions(e.where,e.orderBy),update:async e=>e.where?.id?n.updateExecution(e.where.id,e.data):null},debugHistory:{findMany:async e=>(console.warn("[PrismaWrapper] debugHistory.findMany not implemented in adapter"),[]),create:async e=>(console.warn("[PrismaWrapper] debugHistory.create not implemented in adapter"),null),deleteMany:async e=>(console.warn("[PrismaWrapper] debugHistory.deleteMany not implemented in adapter"),{count:0})}}:u;e.s(["db",0,c,"prisma",0,d,"prismaRaw",0,u]),r()}catch(e){r(e)}},!1)];
|
|
1
|
+
module.exports=[819057,(e,t,r)=>{let n=e.r(522734),s=e.r(814747),i=e.r(446786),a=e.r(254799),l=["◈ encrypted .env [www.dotenvx.com]","◈ secrets for agents [www.dotenvx.com]","⌁ auth for agents [www.vestauth.com]","⌘ custom filepath { path: '/custom/path/.env' }","⌘ enable debugging { debug: true }","⌘ override existing { override: true }","⌘ suppress logs { quiet: true }","⌘ multiple files { path: ['.env.local', '.env'] }"];function o(e){return"string"==typeof e?!["false","0","no","off",""].includes(e.toLowerCase()):!!e}let u=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function c(e){console.log(`┆ ${e}`)}function d(e){console.log(`◇ ${e}`)}function E(e){return e&&e.DOTENV_KEY&&e.DOTENV_KEY.length>0?e.DOTENV_KEY:process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0?process.env.DOTENV_KEY:""}function h(e){let t=null;if(e&&e.path&&e.path.length>0)if(Array.isArray(e.path))for(let r of e.path)n.existsSync(r)&&(t=r.endsWith(".vault")?r:`${r}.vault`);else t=e.path.endsWith(".vault")?e.path:`${e.path}.vault`;else t=s.resolve(process.cwd(),".env.vault");return n.existsSync(t)?t:null}function p(e){return"~"===e[0]?s.join(i.homedir(),e.slice(1)):e}let y={configDotenv:function(e){let t,r=s.resolve(process.cwd(),".env"),i="utf8",a=process.env;e&&null!=e.processEnv&&(a=e.processEnv);let u=o(a.DOTENV_CONFIG_DEBUG||e&&e.debug),E=o(a.DOTENV_CONFIG_QUIET||e&&e.quiet);e&&e.encoding?i=e.encoding:u&&c("no encoding is specified (UTF-8 is used by default)");let h=[r];if(e&&e.path)if(Array.isArray(e.path))for(let t of(h=[],e.path))h.push(p(t));else h=[p(e.path)];let f={};for(let r of h)try{let t=y.parse(n.readFileSync(r,{encoding:i}));y.populate(f,t,e)}catch(e){u&&c(`failed to load ${r} ${e.message}`),t=e}let w=y.populate(a,f,e);if(u=o(a.DOTENV_CONFIG_DEBUG||u),E=o(a.DOTENV_CONFIG_QUIET||E),u||!E){var $;let e=Object.keys(w).length,r=[];for(let e of h)try{let t=s.relative(process.cwd(),e);r.push(t)}catch(r){u&&c(`failed to load ${e} ${r.message}`),t=r}d(`injected env (${e}) from ${r.join(",")} ${($=`// tip: ${l[Math.floor(Math.random()*l.length)]}`,process.stdout.isTTY?`\x1b[2m${$}\x1b[0m`:$)}`)}return t?{parsed:f,error:t}:{parsed:f}},_configVault:function(e){let t=o(process.env.DOTENV_CONFIG_DEBUG||e&&e.debug),r=o(process.env.DOTENV_CONFIG_QUIET||e&&e.quiet);(t||!r)&&d("loading env from encrypted .env.vault");let n=y._parseVault(e),s=process.env;return e&&null!=e.processEnv&&(s=e.processEnv),y.populate(s,n,e),{parsed:n}},_parseVault:function(e){let t,r=h(e=e||{});e.path=r;let n=y.configDotenv(e);if(!n.parsed){let e=Error(`MISSING_DATA: Cannot parse ${r} for an unknown reason`);throw e.code="MISSING_DATA",e}let s=E(e).split(","),i=s.length;for(let e=0;e<i;e++)try{let r=s[e].trim(),i=function(e,t){let r;try{r=new URL(t)}catch(e){if("ERR_INVALID_URL"===e.code){let e=Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development");throw e.code="INVALID_DOTENV_KEY",e}throw e}let n=r.password;if(!n){let e=Error("INVALID_DOTENV_KEY: Missing key part");throw e.code="INVALID_DOTENV_KEY",e}let s=r.searchParams.get("environment");if(!s){let e=Error("INVALID_DOTENV_KEY: Missing environment part");throw e.code="INVALID_DOTENV_KEY",e}let i=`DOTENV_VAULT_${s.toUpperCase()}`,a=e.parsed[i];if(!a){let e=Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${i} in your .env.vault file.`);throw e.code="NOT_FOUND_DOTENV_ENVIRONMENT",e}return{ciphertext:a,key:n}}(n,r);t=y.decrypt(i.ciphertext,i.key);break}catch(t){if(e+1>=i)throw t}return y.parse(t)},config:function(e){if(0===E(e).length)return y.configDotenv(e);let t=h(e);if(!t){var r;return r=`you set DOTENV_KEY but you are missing a .env.vault file at ${t}`,console.error(`⚠ ${r}`),y.configDotenv(e)}return y._configVault(e)},decrypt:function(e,t){let r=Buffer.from(t.slice(-64),"hex"),n=Buffer.from(e,"base64"),s=n.subarray(0,12),i=n.subarray(-16);n=n.subarray(12,-16);try{let e=a.createDecipheriv("aes-256-gcm",r,s);return e.setAuthTag(i),`${e.update(n)}${e.final()}`}catch(n){let e=n instanceof RangeError,t="Invalid key length"===n.message,r="Unsupported state or unable to authenticate data"===n.message;if(e||t){let e=Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");throw e.code="INVALID_DOTENV_KEY",e}if(r){let e=Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");throw e.code="DECRYPTION_FAILED",e}throw n}},parse:function(e){let t,r={},n=e.toString();for(n=n.replace(/\r\n?/mg,"\n");null!=(t=u.exec(n));){let e=t[1],n=t[2]||"",s=(n=n.trim())[0];n=n.replace(/^(['"`])([\s\S]*)\1$/mg,"$2"),'"'===s&&(n=(n=n.replace(/\\n/g,"\n")).replace(/\\r/g,"\r")),r[e]=n}return r},populate:function(e,t,r={}){let n=!!(r&&r.debug),s=!!(r&&r.override),i={};if("object"!=typeof t){let e=Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");throw e.code="OBJECT_REQUIRED",e}for(let r of Object.keys(t))Object.prototype.hasOwnProperty.call(e,r)?(!0===s&&(e[r]=t[r],i[r]=t[r]),n&&(!0===s?c(`"${r}" is already defined and WAS overwritten`):c(`"${r}" is already defined and was NOT overwritten`))):(e[r]=t[r],i[r]=t[r]);return i}};t.exports.configDotenv=y.configDotenv,t.exports._configVault=y._configVault,t.exports._parseVault=y._parseVault,t.exports.config=y.config,t.exports.decrypt=y.decrypt,t.exports.parse=y.parse,t.exports.populate=y.populate,t.exports=y},93387,e=>{"use strict";var t=e.i(819057),r=e.i(660526),n=e.i(750227);function s(){return process.env.AGENT_INSIGHT_DATA_DIR||n.default.join(r.default.homedir(),".agent-insight")}function i(...e){return n.default.join(n.default.join(s(),"data"),...e)}function a(e){return n.default.isAbsolute(e)?e:"data"===e||e.startsWith("data/")?n.default.join(s(),e):i(e)}function l(){(0,t.config)({path:n.default.join(s(),".env")}),(0,t.config)(),process.env.DATABASE_URL=function(e){let t=`file:${i("witty_insight.db")}`;if(!e||!e.trim()||"file:../data/witty_insight.db"===e)return t;let s=e.match(/^file:(~(?:\/.*)?)$/);if(s){let e=n.default.join(r.default.homedir(),s[1].slice(1));return`file:${e}`}return e}(process.env.DATABASE_URL)}e.s(["loadAgentInsightEnv",()=>l,"resolveAgentInsightDataPath",()=>i,"resolveRuntimeAssetPath",()=>a])},995031,e=>{"use strict";var t=e.i(666680);let r={randomUUID:t.randomUUID},n=new Uint8Array(256),s=n.length,i=[];for(let e=0;e<256;++e)i.push((e+256).toString(16).slice(1));e.s(["v4",0,function(e,a,l){if(r.randomUUID&&!a&&!e)return r.randomUUID();var o=e,u=l;let c=(o=o||{}).random??o.rng?.()??(s>n.length-16&&((0,t.randomFillSync)(n),s=0),n.slice(s,s+=16));if(c.length<16)throw Error("Random bytes length must be >= 16");if(c[6]=15&c[6]|64,c[8]=63&c[8]|128,a){if((u=u||0)<0||u+16>a.length)throw RangeError(`UUID byte range ${u}:${u+15} is out of buffer bounds`);for(let e=0;e<16;++e)a[u+e]=c[e];return a}return function(e,t=0){return(i[e[t+0]]+i[e[t+1]]+i[e[t+2]]+i[e[t+3]]+"-"+i[e[t+4]]+i[e[t+5]]+"-"+i[e[t+6]]+i[e[t+7]]+"-"+i[e[t+8]]+i[e[t+9]]+"-"+i[e[t+10]]+i[e[t+11]]+i[e[t+12]]+i[e[t+13]]+i[e[t+14]]+i[e[t+15]]).toLowerCase()}(c)}],995031)},473761,e=>e.a(async(t,r)=>{try{var n=e.i(93387),s=e.i(463021),i=e.i(723862),a=e.i(995031),l=t([i]);[i]=l.then?(await l)():l,(0,n.loadAgentInsightEnv)();class u{client;constructor(e){this.client=e}getClient(){return this.client}async createSession(e){return this.client.session.create({data:e})}async updateSession(e,t){return t.id?this.client.session.update({where:{id:t.id},data:t}):this.client.session.update({where:{taskId:e},data:t})}async upsertSession(e,t,r){return this.client.session.upsert({where:{taskId:e},create:t,update:r})}async findSessionByTaskId(e){return this.client.session.findUnique({where:{taskId:e}})}async findSessions(e){return this.client.session.findMany({where:e})}async findUserByApiKey(e){return this.client.user.findUnique({where:{apiKey:e}})}async findUserByUsername(e){return this.client.user.findUnique({where:{username:e}})}async createUser(e){return this.client.user.create({data:e})}async findSkill(e,t){let r=await this.client.skill.findMany({where:{user:t},include:{versions:{orderBy:{version:"desc"}}}}),n=e.toLowerCase();return r.find(e=>e.name.toLowerCase()===n)||null}async findSkillById(e){return this.client.skill.findUnique({where:{id:e},include:{versions:{orderBy:{version:"desc"}}}})}async createSkill(e){return this.client.skill.create({data:e})}async updateSkill(e,t){return this.client.skill.update({where:{id:e},data:t})}async deleteSkill(e){return this.client.skill.delete({where:{id:e}})}async findSkills(e){return this.client.skill.findMany({where:e,include:{versions:{orderBy:{version:"desc"}}}})}async findLatestSkillVersion(e){return this.client.skillVersion.findFirst({where:{skillId:e},orderBy:{version:"desc"}})}async createSkillVersion(e){return this.client.skillVersion.create({data:e})}async findSkillVersion(e,t){return this.client.skillVersion.findFirst({where:{skillId:e,version:t}})}async findSkillVersionBySemanticVersion(e,t){return this.client.skillVersion.findFirst({where:{skillId:e,semanticVersion:t}})}async deleteSkillVersion(e,t){return this.client.skillVersion.deleteMany({where:{skillId:e,version:t}})}async findConfigs(e){return this.client.config.findMany({where:e,orderBy:{id:"desc"}})}async findConfigById(e){return this.client.config.findUnique({where:{id:e}})}async createConfig(e){return this.client.config.create({data:e})}async updateConfig(e,t){return this.client.config.update({where:{id:e},data:t})}async findExecutionById(e){return this.client.execution.findUnique({where:{id:e}})}async findExecutions(e,t,r){return this.client.execution.findMany({where:e,orderBy:t,...r?{select:r}:{}})}async upsertExecution(e){return this.client.execution.upsert(e)}async updateExecution(e,t){return this.client.execution.update({where:{id:e},data:t})}async deleteExecution(e){try{return await this.client.execution.delete({where:{id:e}}),!0}catch{return!1}}async deleteExecutions(e){return(await this.client.execution.deleteMany({where:e})).count}async findUserSettings(e){return this.client.userSettings.findUnique({where:{user:e}})}async upsertUserSettings(e,t){return this.client.userSettings.upsert({where:{user:e},update:{settingsJson:t},create:{user:e,settingsJson:t}})}async findParsedFlow(e,t,r){return this.client.parsedFlow.findFirst({where:{skillId:e,version:t,user:r}})}async upsertParsedFlow(e){let{skillId:t,version:r,user:n}=e;return this.client.parsedFlow.upsert({where:{skillId_version_user:{skillId:t,version:r,user:n}},create:e,update:e})}async findExecutionMatch(e){return this.client.executionMatch.findUnique({where:{executionId:e}})}async upsertExecutionMatch(e){let{executionId:t}=e;return this.client.executionMatch.upsert({where:{executionId:t},create:e,update:e})}async findUserGuideState(e){return this.client.userGuideState.findUnique({where:{user:e}})}async upsertUserGuideState(e,t){return this.client.userGuideState.upsert({where:{user:e},update:t,create:{user:e,...t}})}async updateUserGuideState(e,t){return this.client.userGuideState.update({where:{user:e},data:t})}}class c{pool;constructor(e){this.pool=new i.Pool(e)}getClient(){return this.pool}async query(e,t){return this.pool.query(e,t)}async createSession(e){let t=Object.keys(e),r=Object.values(e),n=t.map((e,t)=>`$${t+1}`).join(", "),s=t.map(e=>`"${e}"`).join(", "),i=e.id||(0,a.v4)(),l=`INSERT INTO "Session" (${s}, id) VALUES (${n}, $${t.length+1}) RETURNING *`;return(await this.query(l,[...r,i])).rows[0]}async updateSession(e,t){let r=Object.keys(t).filter(e=>"id"!==e&&"taskId"!==e);if(0===r.length)return null;let n=r.map((e,t)=>`"${e}" = $${t+2}`).join(", "),s=r.map(e=>t[e]),i='WHERE "taskId" = $1',a=e;t.id&&(i="WHERE id = $1",a=t.id);let l=`UPDATE "Session" SET ${n} ${i} RETURNING *`;return(await this.query(l,[a,...s])).rows[0]}async upsertSession(e,t,r){let n=await this.pool.connect();try{let s;await n.query("BEGIN");let i=await n.query('SELECT * FROM "Session" WHERE "taskId" = $1',[e]);if(i.rows.length>0){let t={};for(let[e,n]of Object.entries(r))void 0!==n&&(t[e]=n);let a=Object.keys(t);if(a.length>0){let r=a.map((e,t)=>`"${e}" = $${t+2}`).join(", "),i=a.map(e=>t[e]),l=`UPDATE "Session" SET ${r} WHERE "taskId" = $1 RETURNING *`;s=(await n.query(l,[e,...i])).rows[0]}else s=i.rows[0]}else{t.taskId||(t.taskId=e);let r={};for(let[e,n]of Object.entries(t))void 0!==n&&(r[e]=n);let i=Object.keys(r),l=Object.values(r),o=i.map(e=>`"${e}"`).join(", "),u=i.map((e,t)=>`$${t+1}`).join(", "),c=(0,a.v4)(),d=`INSERT INTO "Session" (${o}, id) VALUES (${u}, $${i.length+1}) RETURNING *`;s=(await n.query(d,[...l,c])).rows[0]}return await n.query("COMMIT"),s}catch(e){throw await n.query("ROLLBACK"),e}finally{n.release()}}async findSessionByTaskId(e){return(await this.query('SELECT * FROM "Session" WHERE "taskId" = $1',[e])).rows[0]||null}async findSessions(e){let t='SELECT * FROM "Session"',r=[],n=[];return e.user&&(n.push(`"user" = $${r.length+1}`),r.push(e.user)),n.length>0&&(t+=" WHERE "+n.join(" AND ")),(await this.query(t,r)).rows}async findUserByApiKey(e){return(await this.query('SELECT * FROM "User" WHERE "apiKey" = $1',[e])).rows[0]||null}async findUserByUsername(e){return(await this.query('SELECT * FROM "User" WHERE username = $1',[e])).rows[0]||null}async createUser(e){let t=Object.keys(e),r=Object.values(e),n=t.map((e,t)=>`$${t+1}`).join(", "),s=t.map(e=>`"${e}"`).join(", "),i=e.id||(0,a.v4)(),l=`INSERT INTO "User" (${s}, id) VALUES (${n}, $${t.length+1}) RETURNING *`;return(await this.query(l,[...r,i])).rows[0]}async findSkill(e,t){let r='SELECT * FROM "Skill" WHERE LOWER(name) = LOWER($1)',n=[e];t?(r+=' AND "user" = $2',n.push(t)):r+=' AND "user" IS NULL';let s=(await this.query(r,n)).rows[0]||null;if(s){let e=await this.query('SELECT * FROM "SkillVersion" WHERE "skillId" = $1 ORDER BY version DESC',[s.id]);s.versions=e.rows}return s}async findSkillById(e){let t=(await this.query('SELECT * FROM "Skill" WHERE id = $1',[e])).rows[0]||null;if(t){let e=await this.query('SELECT * FROM "SkillVersion" WHERE "skillId" = $1 ORDER BY version DESC',[t.id]);t.versions=e.rows}return t}async createSkill(e){let t=Object.keys(e),r=Object.values(e),n=t.map((e,t)=>`$${t+1}`).join(", "),s=t.map(e=>`"${e}"`).join(", "),i=e.id||(0,a.v4)(),l=`INSERT INTO "Skill" (${s}, id) VALUES (${n}, $${t.length+1}) RETURNING *`;return(await this.query(l,[...r,i])).rows[0]}async updateSkill(e,t){let r=Object.keys(t).filter(e=>"id"!==e);if(0===r.length)return null;let n=r.map((e,t)=>`"${e}" = $${t+2}`).join(", "),s=r.map(e=>t[e]),i=`UPDATE "Skill" SET ${n} WHERE id = $1 RETURNING *`;return(await this.query(i,[e,...s])).rows[0]}async deleteSkill(e){return(await this.query('DELETE FROM "Skill" WHERE id = $1 RETURNING *',[e])).rows[0]||null}async findSkills(e){let t='SELECT * FROM "Skill"',r=[],n=[];if(void 0!==e.isUploaded&&(n.push(`"isUploaded" = $${r.length+1}`),r.push(e.isUploaded)),e.OR){let t=[];for(let n of e.OR)void 0!==n.user&&(null===n.user?t.push('"user" IS NULL'):(t.push(`"user" = $${r.length+1}`),r.push(n.user))),n.visibility&&(t.push(`"visibility" = $${r.length+1}`),r.push(n.visibility));t.length>0&&n.push(`(${t.join(" OR ")})`)}else e.name&&e.user&&(n.push(`name = $${r.length+1}`),r.push(e.name),n.push(`"user" = $${r.length+1}`),r.push(e.user));e.category&&(n.push(`category = $${r.length+1}`),r.push(e.category)),n.length>0&&(t+=" WHERE "+n.join(" AND "));let s=(await this.query(t,r)).rows;for(let e of s){let t=await this.query('SELECT * FROM "SkillVersion" WHERE "skillId" = $1 ORDER BY version DESC',[e.id]);e.versions=t.rows}return s}async findLatestSkillVersion(e){return(await this.query('SELECT * FROM "SkillVersion" WHERE "skillId" = $1 ORDER BY version DESC LIMIT 1',[e])).rows[0]||null}async createSkillVersion(e){let t=Object.keys(e),r=Object.values(e),n=t.map((e,t)=>`$${t+1}`).join(", "),s=t.map(e=>`"${e}"`).join(", "),i=e.id||(0,a.v4)(),l=`INSERT INTO "SkillVersion" (${s}, id) VALUES (${n}, $${t.length+1}) RETURNING *`;return(await this.query(l,[...r,i])).rows[0]}async findSkillVersion(e,t){return(await this.query('SELECT * FROM "SkillVersion" WHERE "skillId" = $1 AND version = $2',[e,t])).rows[0]||null}async findSkillVersionBySemanticVersion(e,t){return(await this.query('SELECT * FROM "SkillVersion" WHERE "skillId" = $1 AND "semanticVersion" = $2',[e,t])).rows[0]||null}async deleteSkillVersion(e,t){return(await this.query('DELETE FROM "SkillVersion" WHERE "skillId" = $1 AND version = $2 RETURNING *',[e,t])).rows[0]||null}async findConfigs(e){let t='SELECT * FROM "Config"',r=[],n=[];if(e.OR){let t=[];for(let n of e.OR)void 0!==n.user&&(null===n.user?t.push('"user" IS NULL'):(t.push(`"user" = $${r.length+1}`),r.push(n.user)));t.length>0&&n.push(`(${t.join(" OR ")})`)}return n.length>0&&(t+=" WHERE "+n.join(" AND ")),t+=" ORDER BY id DESC",(await this.query(t,r)).rows}async findConfigById(e){return(await this.query('SELECT * FROM "Config" WHERE id = $1',[e])).rows[0]||null}async createConfig(e){let t=Object.keys(e),r=Object.values(e),n=t.map((e,t)=>`$${t+1}`).join(", "),s=t.map(e=>`"${e}"`).join(", "),i=e.id||(0,a.v4)(),l=`INSERT INTO "Config" (${s}, id) VALUES (${n}, $${t.length+1}) RETURNING *`;return(await this.query(l,[...r,i])).rows[0]}async updateConfig(e,t){let r=Object.keys(t).filter(e=>"id"!==e);if(0===r.length)return null;let n=r.map((e,t)=>`"${e}" = $${t+2}`).join(", "),s=r.map(e=>t[e]),i=`UPDATE "Config" SET ${n} WHERE id = $1 RETURNING *`;return(await this.query(i,[e,...s])).rows[0]}async findExecutionById(e){return(await this.query('SELECT * FROM "Execution" WHERE id = $1',[e])).rows[0]||null}async findExecutions(e,t){let r='SELECT * FROM "Execution"',n=[],s=[];if(e.OR){let t=[];for(let r of e.OR)void 0!==r.user&&(null===r.user?t.push('"user" IS NULL'):(t.push(`"user" = $${n.length+1}`),n.push(r.user)));t.length>0&&s.push(`(${t.join(" OR ")})`)}return void 0!==e.id&&(s.push(`"id" = $${n.length+1}`),n.push(e.id)),void 0!==e.query&&(null===e.query?s.push('"query" IS NULL'):(s.push(`"query" = $${n.length+1}`),n.push(e.query))),void 0!==e.framework&&(null===e.framework?s.push('"framework" IS NULL'):(s.push(`"framework" = $${n.length+1}`),n.push(e.framework))),void 0!==e.taskId&&(null===e.taskId?s.push('"taskId" IS NULL'):(s.push(`"taskId" = $${n.length+1}`),n.push(e.taskId))),void 0!==e.skill&&(null===e.skill?s.push("skill IS NULL"):(s.push(`skill = $${n.length+1}`),n.push(e.skill))),void 0!==e.skillVersion&&(null===e.skillVersion?s.push('"skillVersion" IS NULL'):(s.push(`"skillVersion" = $${n.length+1}`),n.push(e.skillVersion))),s.length>0&&(r+=" WHERE "+s.join(" AND ")),t?.timestamp==="desc"&&(r+=' ORDER BY "timestamp" DESC'),(await this.query(r,n)).rows}async upsertExecution(e){let{where:t,create:r,update:n}=e,s=t.id,i=await this.pool.connect();try{let e;await i.query("BEGIN");let t=await i.query('SELECT * FROM "Execution" WHERE id = $1',[s]);if(t.rows.length>0){let r={};for(let[e,t]of Object.entries(n))void 0!==t&&(r[e]=t);let a=Object.keys(r);if(a.length>0){let t=a.map((e,t)=>`"${e}" = $${t+2}`).join(", "),n=a.map(e=>r[e]),l=`UPDATE "Execution" SET ${t} WHERE id = $1 RETURNING *`;e=(await i.query(l,[s,...n])).rows[0]}else e=t.rows[0]}else{let t={};for(let[e,n]of Object.entries(r))void 0!==n&&(t[e]=n);let n=Object.keys(t),s=Object.values(t),a=n.map(e=>`"${e}"`).join(", "),l=n.map((e,t)=>`$${t+1}`).join(", "),o=`INSERT INTO "Execution" (${a}) VALUES (${l}) RETURNING *`;e=(await i.query(o,s)).rows[0]}return await i.query("COMMIT"),e}catch(e){throw await i.query("ROLLBACK"),e}finally{i.release()}}async deleteExecution(e){try{return((await this.query('DELETE FROM "Execution" WHERE id = $1',[e])).rowCount??0)>0}catch{return!1}}async updateExecution(e,t){let r=Object.keys(t).filter(e=>"id"!==e);if(0===r.length)return null;let n=r.map((e,t)=>`"${e}" = $${t+2}`).join(", "),s=r.map(e=>t[e]),i=`UPDATE "Execution" SET ${n} WHERE id = $1 RETURNING *`;return(await this.query(i,[e,...s])).rows[0]}async deleteExecutions(e){let t='DELETE FROM "Execution"',r=[],n=[];return e.taskId&&(n.push(`"taskId" = $${r.length+1}`),r.push(e.taskId)),e.timestamp&&e.framework&&e.query&&(n.push(`"timestamp" = $${r.length+1}`),r.push(e.timestamp),n.push(`framework = $${r.length+1}`),r.push(e.framework),n.push(`query = $${r.length+1}`),r.push(e.query)),n.length>0&&(t+=" WHERE "+n.join(" AND ")),(await this.query(t,r)).rowCount??0}async findUserSettings(e){return(await this.query('SELECT * FROM "UserSettings" WHERE "user" = $1',[e])).rows[0]||null}async upsertUserSettings(e,t){let r=await this.pool.connect();try{let n;if(await r.query("BEGIN"),(await r.query('SELECT * FROM "UserSettings" WHERE "user" = $1',[e])).rows.length>0)n=(await r.query('UPDATE "UserSettings" SET "settingsJson" = $1, "updatedAt" = CURRENT_TIMESTAMP WHERE "user" = $2 RETURNING *',[t,e])).rows[0];else{let s=(0,a.v4)();n=(await r.query('INSERT INTO "UserSettings" (id, "user", "settingsJson") VALUES ($1, $2, $3) RETURNING *',[s,e,t])).rows[0]}return await r.query("COMMIT"),n}catch(e){throw await r.query("ROLLBACK"),e}finally{r.release()}}async findParsedFlow(e,t,r){let n='SELECT * FROM "ParsedFlow" WHERE "skillId" = $1 AND version = $2',s=[e,t];return r?(n+=' AND "user" = $3',s.push(r)):n+=' AND "user" IS NULL',(await this.query(n,s)).rows[0]||null}async upsertParsedFlow(e){let{skillId:t,version:r,user:n,flowJson:s,mermaidCode:i}=e,l=await this.pool.connect();try{let e;await l.query("BEGIN");let o='SELECT * FROM "ParsedFlow" WHERE "skillId" = $1 AND version = $2',u=[t,r];n?(o+=' AND "user" = $3',u.push(n)):o+=' AND "user" IS NULL';let c=await l.query(o,u);if(c.rows.length>0)e=(await l.query('UPDATE "ParsedFlow" SET "flowJson" = $1, "mermaidCode" = $2, "parsedAt" = CURRENT_TIMESTAMP WHERE id = $3 RETURNING *',[s,i,c.rows[0].id])).rows[0];else{let o=(0,a.v4)();e=(await l.query('INSERT INTO "ParsedFlow" (id, "skillId", version, "user", "flowJson", "mermaidCode") VALUES ($1, $2, $3, $4, $5, $6) RETURNING *',[o,t,r,n,s,i])).rows[0]}return await l.query("COMMIT"),e}catch(e){throw await l.query("ROLLBACK"),e}finally{l.release()}}async findExecutionMatch(e){return(await this.query('SELECT * FROM "ExecutionMatch" WHERE "executionId" = $1',[e])).rows[0]||null}async upsertExecutionMatch(e){let{executionId:t,skillId:r,skillVersion:n,user:s,mode:i,matchJson:l,staticMermaid:o,dynamicMermaid:u,analysisText:c,extractedSteps:d,interactionCount:E}=e,h=await this.pool.connect();try{let e;if(await h.query("BEGIN"),(await h.query('SELECT * FROM "ExecutionMatch" WHERE "executionId" = $1',[t])).rows.length>0)e=(await h.query('UPDATE "ExecutionMatch" SET "skillId" = $1, "skillVersion" = $2, "user" = $3, "mode" = $4, "matchJson" = $5, "staticMermaid" = $6, "dynamicMermaid" = $7, "analysisText" = $8, "extractedSteps" = $9, "interactionCount" = $10, "matchedAt" = CURRENT_TIMESTAMP WHERE "executionId" = $11 RETURNING *',[r,n,s,i,l,o,u,c,d,E,t])).rows[0];else{let p=(0,a.v4)();e=(await h.query('INSERT INTO "ExecutionMatch" (id, "executionId", "skillId", "skillVersion", "user", "mode", "matchJson", "staticMermaid", "dynamicMermaid", "analysisText", "extractedSteps", "interactionCount") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12) RETURNING *',[p,t,r,n,s,i,l,o,u,c,d,E])).rows[0]}return await h.query("COMMIT"),e}catch(e){throw await h.query("ROLLBACK"),e}finally{h.release()}}async findUserGuideState(e){return(await this.query('SELECT * FROM "UserGuideState" WHERE "user" = $1',[e])).rows[0]||null}async upsertUserGuideState(e,t){let r=await this.pool.connect();try{let n;await r.query("BEGIN");let s=await r.query('SELECT * FROM "UserGuideState" WHERE "user" = $1',[e]);if(s.rows.length>0){let i=Object.keys(t);if(i.length>0){let s=i.map((e,t)=>`"${e}" = $${t+2}`).join(", "),a=i.map(e=>t[e]);n=(await r.query(`UPDATE "UserGuideState" SET ${s}, "updatedAt" = CURRENT_TIMESTAMP WHERE "user" = $1 RETURNING *`,[e,...a])).rows[0]}else n=s.rows[0]}else{let s=(0,a.v4)(),i=Object.keys(t),l=Object.values(t),o=["id","user",...i].map(e=>`"${e}"`).join(", "),u=i.map((e,t)=>`$${t+3}`).join(", ");n=(await r.query(`INSERT INTO "UserGuideState" (${o}) VALUES ($1, $2, ${u}) RETURNING *`,[s,e,...l])).rows[0]}return await r.query("COMMIT"),n}catch(e){throw await r.query("ROLLBACK"),e}finally{r.release()}}async updateUserGuideState(e,t){let r=Object.keys(t);if(0===r.length)return null;let n=r.map((e,t)=>`"${e}" = $${t+2}`).join(", "),s=r.map(e=>t[e]);return(await this.query(`UPDATE "UserGuideState" SET ${n}, "updatedAt" = CURRENT_TIMESTAMP WHERE "user" = $1 RETURNING *`,[e,...s])).rows[0]||null}}function o(){let t="1"===process.env.DEBUG_DB_ADAPTER;if(t&&console.log("[DatabaseAdapter] DB_HOST:",!!process.env.DB_HOST),process.env.DB_HOST)return t&&console.log("[DatabaseAdapter] Using OpenGauss Adapter"),new c({host:process.env.DB_HOST,port:parseInt(process.env.DB_PORT||"5432"),database:process.env.DB_NAME||"postgres",user:process.env.DB_USER||"omm",password:process.env.DB_PASSWORD});t&&console.log("[DatabaseAdapter] Using Prisma Adapter");let r=e.g.prisma||new s.PrismaClient;return new u(r)}e.s(["getDatabaseAdapter",()=>o]),r()}catch(e){r(e)}},!1),309418,e=>e.a(async(t,r)=>{try{let o;var n,s=e.i(93387),i=e.i(463021),a=e.i(473761),l=t([a]);[a]=l.then?(await l)():l,(0,s.loadAgentInsightEnv)();let u=e.g.prisma||new i.PrismaClient,c=(0,a.getDatabaseAdapter)(),d=process.env.DB_HOST?(o=(n=c).getClient())instanceof i.PrismaClient?o:{user:{findUnique:async e=>e.where?.apiKey?n.findUserByApiKey(e.where.apiKey):e.where?.username?n.findUserByUsername(e.where.username):null,findFirst:async e=>e.where?.username?n.findUserByUsername(e.where.username):null},skill:{findFirst:async e=>{let t=e.where?.name,r=e.where?.OR?.[0]?.user??e.where?.OR?.[1]?.user;return n.findSkill(t,r)},findMany:async e=>n.findSkills(e.where||{}),findUnique:async e=>n.findSkill(e.where?.name,e.where?.user),delete:async e=>(console.warn("[OpenGaussAdapter] skill.delete not fully implemented"),null)},skillVersion:{findFirst:async e=>e.where?.skillId?n.findLatestSkillVersion(e.where.skillId):null},config:{findMany:async e=>n.findConfigs(e.where||{})},session:{findUnique:async e=>e.where?.taskId?n.findSessionByTaskId(e.where.taskId):null,update:async e=>e.where?.id?n.updateSession(e.where.id,e.data):null,upsert:async e=>{let t=e.where?.taskId;return t?n.upsertSession(t,e.create,e.update):null}},execution:{findUnique:async e=>e.where?.id?n.findExecutionById(e.where.id):null,upsert:async e=>n.upsertExecution(e),findMany:async e=>n.findExecutions(e.where,e.orderBy),update:async e=>e.where?.id?n.updateExecution(e.where.id,e.data):null},debugHistory:{findMany:async e=>(console.warn("[PrismaWrapper] debugHistory.findMany not implemented in adapter"),[]),create:async e=>(console.warn("[PrismaWrapper] debugHistory.create not implemented in adapter"),null),deleteMany:async e=>(console.warn("[PrismaWrapper] debugHistory.deleteMany not implemented in adapter"),{count:0})}}:u;e.s(["db",0,c,"prisma",0,d,"prismaRaw",0,u]),r()}catch(e){r(e)}},!1)];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_05c80664._.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
module.exports=[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(
|
|
1
|
+
module.exports=[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.
|
|
2
2
|
Fix: open the web UI Settings page, configure an API key for an active model config.
|
|
3
3
|
Or: set DEEPSEEK_API_KEY / OPENCODE_API_KEY env on dev server.
|
|
4
4
|
Or: run \`opencode auth login\` to populate ~/.config/opencode/opencode.json.
|
|
5
|
-
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:
|
|
6
|
-
[opencode:${e}] server exited (code=${t}, signal=${s})`),C.servers.delete(e))}),m.on("error",t=>{console.error(`[opencode:${e}] failed to spawn server:`,t.message)});try{await f(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 O(e={}){let t=e.user||P,s=C.servers.get(t);if(s&&null===s.process.exitCode){let e=null;try{let{configHash:s}=await w(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`),C.servers.delete(t),await $(s.process,`config-change restart for ${t}`)}let r=C.startingServers.get(t);if(r)return(await r).baseUrl;let n=x(t,e);C.startingServers.set(t,n);try{let e=await n;return C.servers.set(t,e),C.generations.set(t,(C.generations.get(t)??0)+1),e.baseUrl}finally{C.startingServers.get(t)===n&&C.startingServers.delete(t)}}async function k(e,t){let s,r=e.user||P,n=e.verbose??!1,i=e.telemetryEnabled??!e.isolateHome,o=null;if(e.isolateHome){let{isolatedHome:e,cleanup:t}=await I(r);s=e,o=t}let a=await x(r,{verbose:n,homeOverride:s,telemetryEnabled:i});try{return await t(a.baseUrl)}finally{try{await $(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",()=>O,"getOpencodeServerGeneration",()=>d,"killOpencodeForUser",()=>S,"runWithEphemeralOpencodeServer",()=>k]),s()}catch(e){s(e)}},!1),202058,(e,t,s)=>{t.exports=n,n.sync=function(e,t){return i(r.statSync(e),t)};var r=e.r(522734);function n(e,t,s){r.stat(e,function(e,r){s(e,!e&&i(r,t))})}function i(e,t){var s,r,n,i,o,a,l,c,p;return e.isFile()&&(s=e,r=t,n=s.mode,i=s.uid,o=s.gid,a=void 0!==r.uid?r.uid:process.getuid&&process.getuid(),l=void 0!==r.gid?r.gid:process.getgid&&process.getgid(),c=parseInt("100",8),p=parseInt("010",8),n&parseInt("001",8)||n&p&&o===l||n&c&&i===a||n&(c|p)&&0===a)}},129507,(e,t,s)=>{t.exports=i,i.sync=function(e,t){return n(r.statSync(e),e,t)};var r=e.r(522734);function n(e,t,s){if(!e.isSymbolicLink()&&!e.isFile())return!1;var r=void 0!==s.pathExt?s.pathExt:process.env.PATHEXT;if(!r||-1!==(r=r.split(";")).indexOf(""))return!0;for(var n=0;n<r.length;n++){var i=r[n].toLowerCase();if(i&&t.substr(-i.length).toLowerCase()===i)return!0}return!1}function i(e,t,s){r.stat(e,function(r,i){s(r,!r&&n(i,e,t))})}},24214,(e,t,s)=>{var r;function n(e,t,s){if("function"==typeof t&&(s=t,t={}),!s){if("function"!=typeof Promise)throw TypeError("callback not provided");return new Promise(function(s,r){n(e,t||{},function(e,t){e?r(e):s(t)})})}r(e,t||{},function(e,r){e&&("EACCES"===e.code||t&&t.ignoreErrors)&&(e=null,r=!1),s(e,r)})}e.r(522734),r="win32"===process.platform||e.g.TESTING_WINDOWS?e.r(129507):e.r(202058),t.exports=n,n.sync=function(e,t){try{return r.sync(e,t||{})}catch(e){if(t&&t.ignoreErrors||"EACCES"===e.code)return!1;throw e}}},319932,(e,t,s)=>{let r="win32"===process.platform||"cygwin"===process.env.OSTYPE||"msys"===process.env.OSTYPE,n=e.r(814747),i=r?";":":",o=e.r(24214),a=e=>Object.assign(Error(`not found: ${e}`),{code:"ENOENT"}),l=(e,t)=>{let s=t.colon||i,n=e.match(/\//)||r&&e.match(/\\/)?[""]:[...r?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(s)],o=r?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",a=r?o.split(s):[""];return r&&-1!==e.indexOf(".")&&""!==a[0]&&a.unshift(""),{pathEnv:n,pathExt:a,pathExtExe:o}},c=(e,t,s)=>{"function"==typeof t&&(s=t,t={}),t||(t={});let{pathEnv:r,pathExt:i,pathExtExe:c}=l(e,t),p=[],d=s=>new Promise((i,o)=>{if(s===r.length)return t.all&&p.length?i(p):o(a(e));let l=r[s],c=/^".*"$/.test(l)?l.slice(1,-1):l,d=n.join(c,e);i(u(!c&&/^\.[\\\/]/.test(e)?e.slice(0,2)+d:d,s,0))}),u=(e,s,r)=>new Promise((n,a)=>{if(r===i.length)return n(d(s+1));let l=i[r];o(e+l,{pathExt:c},(i,o)=>{if(!i&&o)if(!t.all)return n(e+l);else p.push(e+l);return n(u(e,s,r+1))})});return s?d(0).then(e=>s(null,e),s):d(0)};t.exports=c,c.sync=(e,t)=>{let{pathEnv:s,pathExt:r,pathExtExe:i}=l(e,t=t||{}),c=[];for(let a=0;a<s.length;a++){let l=s[a],p=/^".*"$/.test(l)?l.slice(1,-1):l,d=n.join(p,e),u=!p&&/^\.[\\\/]/.test(e)?e.slice(0,2)+d:d;for(let e=0;e<r.length;e++){let s=u+r[e];try{if(o.sync(s,{pathExt:i}))if(!t.all)return s;else c.push(s)}catch(e){}}}if(t.all&&c.length)return c;if(t.nothrow)return null;throw a(e)}},717736,(e,t,s)=>{"use strict";let r=(e={})=>{let t=e.env||process.env;return"win32"!==(e.platform||process.platform)?"PATH":Object.keys(t).reverse().find(e=>"PATH"===e.toUpperCase())||"Path"};t.exports=r,t.exports.default=r},81463,(e,t,s)=>{"use strict";let r=e.r(814747),n=e.r(319932),i=e.r(717736);function o(e,t){let s,o=e.options.env||process.env,a=process.cwd(),l=null!=e.options.cwd,c=l&&void 0!==process.chdir&&!process.chdir.disabled;if(c)try{process.chdir(e.options.cwd)}catch(e){}try{s=n.sync(e.command,{path:o[i({env:o})],pathExt:t?r.delimiter:void 0})}catch(e){}finally{c&&process.chdir(a)}return s&&(s=r.resolve(l?e.options.cwd:"",s)),s}t.exports=function(e){return o(e)||o(e,!0)}},502977,(e,t,s)=>{"use strict";let r=/([()\][%!^"`<>&|;, *?])/g;t.exports.command=function(e){return e.replace(r,"^$1")},t.exports.argument=function(e,t){return e=(e=(e=`${e}`).replace(/(?=(\\+?)?)\1"/g,'$1$1\\"')).replace(/(?=(\\+?)?)\1$/,"$1$1"),e=(e=`"${e}"`).replace(r,"^$1"),t&&(e=e.replace(r,"^$1")),e}},831804,(e,t,s)=>{"use strict";t.exports=/^#!(.*)/},469231,(e,t,s)=>{"use strict";let r=e.r(831804);t.exports=(e="")=>{let t=e.match(r);if(!t)return null;let[s,n]=t[0].replace(/#! ?/,"").split(" "),i=s.split("/").pop();return"env"===i?n:n?`${i} ${n}`:i}},385328,(e,t,s)=>{"use strict";let r=e.r(522734),n=e.r(469231);t.exports=function(e){let t,s=Buffer.alloc(150);try{t=r.openSync(e,"r"),r.readSync(t,s,0,150,0),r.closeSync(t)}catch(e){}return n(s.toString())}},207546,(e,t,s)=>{"use strict";e.r(814747),e.r(81463),e.r(502977),e.r(385328),process.platform,t.exports=function(e,t,s){t&&!Array.isArray(t)&&(s=t,t=null);let r={command:e,args:t=t?t.slice(0):[],options:s=Object.assign({},s),file:void 0,original:{command:e,args:t}};return s.shell,r}},245750,(e,t,s)=>{"use strict";process.platform,t.exports={hookChildProcess:function(e,t){},verifyENOENT:function(e,t){return null},verifyENOENTSync:function(e,t){return null},notFoundError:function(e,t){return Object.assign(Error(`${t} ${e.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${t} ${e.command}`,path:e.command,spawnargs:e.args})}}},465887,(e,t,s)=>{"use strict";let r=e.r(233405),n=e.r(207546),i=e.r(245750);function o(e,t,s){let o=n(e,t,s),a=r.spawn(o.command,o.args,o.options);return i.hookChildProcess(a,o),a}t.exports=o,t.exports.spawn=o,t.exports.sync=function(e,t,s){let o=n(e,t,s),a=r.spawnSync(o.command,o.args,o.options);return a.error=a.error||i.verifyENOENTSync(a.status,o),a},t.exports._parse=n,t.exports._enoent=i},469240,e=>{"use strict";e.s([],134616);let t=async(e,t)=>{let s="function"==typeof t?await t(e):t;if(s)return"bearer"===e.scheme?`Bearer ${s}`:"basic"===e.scheme?`Basic ${btoa(s)}`:s},s={bodySerializer:e=>JSON.stringify(e,(e,t)=>"bigint"==typeof t?t.toString():t)},r=({allowReserved:e,explode:t,name:s,style:r,value:i})=>{if(!t){let t=(e?i:i.map(e=>encodeURIComponent(e))).join((e=>{switch(e){case"form":default:return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20"}})(r));switch(r){case"label":return`.${t}`;case"matrix":return`;${s}=${t}`;case"simple":return t;default:return`${s}=${t}`}}let o=(e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}})(r),a=i.map(t=>"label"===r||"simple"===r?e?t:encodeURIComponent(t):n({allowReserved:e,name:s,value:t})).join(o);return"label"===r||"matrix"===r?o+a:a},n=({allowReserved:e,name:t,value:s})=>{if(null==s)return"";if("object"==typeof s)throw Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${t}=${e?s:encodeURIComponent(s)}`},i=({allowReserved:e,explode:t,name:s,style:r,value:i,valueOnly:o})=>{if(i instanceof Date)return o?i.toISOString():`${s}=${i.toISOString()}`;if("deepObject"!==r&&!t){let t=[];Object.entries(i).forEach(([s,r])=>{t=[...t,s,e?r:encodeURIComponent(r)]});let n=t.join(",");switch(r){case"form":return`${s}=${n}`;case"label":return`.${n}`;case"matrix":return`;${s}=${n}`;default:return n}}let a=(e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}})(r),l=Object.entries(i).map(([t,i])=>n({allowReserved:e,name:"deepObject"===r?`${s}[${t}]`:t,value:i})).join(a);return"label"===r||"matrix"===r?a+l:l},o=/\{[^{}]+\}/g,a=({allowReserved:e,array:t,object:s}={})=>o=>{let a=[];if(o&&"object"==typeof o)for(let l in o){let c=o[l];if(null!=c)if(Array.isArray(c)){let s=r({allowReserved:e,explode:!0,name:l,style:"form",value:c,...t});s&&a.push(s)}else if("object"==typeof c){let t=i({allowReserved:e,explode:!0,name:l,style:"deepObject",value:c,...s});t&&a.push(t)}else{let t=n({allowReserved:e,name:l,value:c});t&&a.push(t)}}return a.join("&")},l=(e,t)=>!!t&&!!(e.headers.has(t)||e.query?.[t]||e.headers.get("Cookie")?.includes(`${t}=`)),c=async({security:e,...s})=>{for(let r of e){if(l(s,r.name))continue;let e=await t(r,s.auth);if(!e)continue;let n=r.name??"Authorization";switch(r.in){case"query":s.query||(s.query={}),s.query[n]=e;break;case"cookie":s.headers.append("Cookie",`${n}=${e}`);break;default:s.headers.set(n,e)}}},p=e=>(({baseUrl:e,path:t,query:s,querySerializer:a,url:l})=>{let c=(e??"")+(l.startsWith("/")?l:`/${l}`);t&&(c=(({path:e,url:t})=>{let s=t,a=t.match(o);if(a)for(let t of a){let o=!1,a=t.substring(1,t.length-1),l="simple";a.endsWith("*")&&(o=!0,a=a.substring(0,a.length-1)),a.startsWith(".")?(a=a.substring(1),l="label"):a.startsWith(";")&&(a=a.substring(1),l="matrix");let c=e[a];if(null==c)continue;if(Array.isArray(c)){s=s.replace(t,r({explode:o,name:a,style:l,value:c}));continue}if("object"==typeof c){s=s.replace(t,i({explode:o,name:a,style:l,value:c,valueOnly:!0}));continue}if("matrix"===l){s=s.replace(t,`;${n({name:a,value:c})}`);continue}let p=encodeURIComponent("label"===l?`.${c}`:c);s=s.replace(t,p)}return s})({path:t,url:c}));let p=s?a(s):"";return p.startsWith("?")&&(p=p.substring(1)),p&&(c+=`?${p}`),c})({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:"function"==typeof e.querySerializer?e.querySerializer:a(e.querySerializer),url:e.url}),d=(e,t)=>{let s={...e,...t};return s.baseUrl?.endsWith("/")&&(s.baseUrl=s.baseUrl.substring(0,s.baseUrl.length-1)),s.headers=u(e.headers,t.headers),s},u=(...e)=>{let t=new Headers;for(let s of e)if(s&&"object"==typeof s)for(let[e,r]of s instanceof Headers?s.entries():Object.entries(s))if(null===r)t.delete(e);else if(Array.isArray(r))for(let s of r)t.append(e,s);else void 0!==r&&t.set(e,"object"==typeof r?JSON.stringify(r):r);return t};class h{_fns;constructor(){this._fns=[]}clear(){this._fns=[]}getInterceptorIndex(e){return"number"==typeof e?this._fns[e]?e:-1:this._fns.indexOf(e)}exists(e){let t=this.getInterceptorIndex(e);return!!this._fns[t]}eject(e){let t=this.getInterceptorIndex(e);this._fns[t]&&(this._fns[t]=null)}update(e,t){let s=this.getInterceptorIndex(e);return!!this._fns[s]&&(this._fns[s]=t,e)}use(e){return this._fns=[...this._fns,e],this._fns.length-1}}let f=a({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),g={"Content-Type":"application/json"},y=(e={})=>({...s,headers:g,parseAs:"auto",querySerializer:f,...e}),m=(e={})=>{let t=d(y(),e),s=()=>({...t}),r={error:new h,request:new h,response:new h},n=async e=>{let s={...t,...e,fetch:e.fetch??t.fetch??globalThis.fetch,headers:u(t.headers,e.headers),serializedBody:void 0};s.security&&await c({...s,security:s.security}),s.requestValidator&&await s.requestValidator(s),s.body&&s.bodySerializer&&(s.serializedBody=s.bodySerializer(s.body)),(void 0===s.serializedBody||""===s.serializedBody)&&s.headers.delete("Content-Type");let r=p(s);return{opts:s,url:r}},i=async e=>{let t,{opts:s,url:i}=await n(e),o=new Request(i,{redirect:"follow",...s,body:s.serializedBody});for(let e of r.request._fns)e&&(o=await e(o,s));let a=s.fetch,l=await a(o);for(let e of r.response._fns)e&&(l=await e(l,o,s));let c={request:o,response:l};if(l.ok){let e;if(204===l.status||"0"===l.headers.get("Content-Length"))return"data"===s.responseStyle?{}:{data:{},...c};let t=("auto"===s.parseAs?(e=>{if(!e)return"stream";let t=e.split(";")[0]?.trim();if(t){if(t.startsWith("application/json")||t.endsWith("+json"))return"json";if("multipart/form-data"===t)return"formData";if(["application/","audio/","image/","video/"].some(e=>t.startsWith(e)))return"blob";if(t.startsWith("text/"))return"text"}})(l.headers.get("Content-Type")):s.parseAs)??"json";switch(t){case"arrayBuffer":case"blob":case"formData":case"json":case"text":e=await l[t]();break;case"stream":return"data"===s.responseStyle?l.body:{data:l.body,...c}}return"json"===t&&(s.responseValidator&&await s.responseValidator(e),s.responseTransformer&&(e=await s.responseTransformer(e))),"data"===s.responseStyle?e:{data:e,...c}}let p=await l.text();try{t=JSON.parse(p)}catch{}let d=t??p,u=d;for(let e of r.error._fns)e&&(u=await e(d,l,o,s));if(u=u||{},s.throwOnError)throw u;return"data"===s.responseStyle?void 0:{error:u,...c}},o=e=>{let t=t=>i({...t,method:e});return t.sse=async t=>{let{opts:s,url:r}=await n(t);return(({onSseError:e,onSseEvent:t,responseTransformer:s,responseValidator:r,sseDefaultRetryDelay:n,sseMaxRetryAttempts:i,sseMaxRetryDelay:o,sseSleepFn:a,url:l,...c})=>{let p,d=a??(e=>new Promise(t=>setTimeout(t,e)));return{stream:async function*(){let a=n??3e3,u=0,h=c.signal??new AbortController().signal;for(;!h.aborted;){u++;let n=c.headers instanceof Headers?c.headers:new Headers(c.headers);void 0!==p&&n.set("Last-Event-ID",p);try{let e=await fetch(l,{...c,headers:n,signal:h});if(!e.ok)throw Error(`SSE failed: ${e.status} ${e.statusText}`);if(!e.body)throw Error("No body in SSE response");let i=e.body.pipeThrough(new TextDecoderStream).getReader(),o="",d=()=>{try{i.cancel()}catch{}};h.addEventListener("abort",d);try{for(;;){let{done:e,value:n}=await i.read();if(e)break;let l=(o+=n).split("\n\n");for(let e of(o=l.pop()??"",l)){let n,i,o=e.split("\n"),l=[];for(let e of o)if(e.startsWith("data:"))l.push(e.replace(/^data:\s*/,""));else if(e.startsWith("event:"))n=e.replace(/^event:\s*/,"");else if(e.startsWith("id:"))p=e.replace(/^id:\s*/,"");else if(e.startsWith("retry:")){let t=Number.parseInt(e.replace(/^retry:\s*/,""),10);Number.isNaN(t)||(a=t)}let c=!1;if(l.length){let e=l.join("\n");try{i=JSON.parse(e),c=!0}catch{i=e}}c&&(r&&await r(i),s&&(i=await s(i))),t?.({data:i,event:n,id:p,retry:a}),l.length&&(yield i)}}}finally{h.removeEventListener("abort",d),i.releaseLock()}break}catch(s){if(e?.(s),void 0!==i&&u>=i)break;let t=Math.min(a*2**(u-1),o??3e4);await d(t)}}}()}})({...s,body:s.body,headers:s.headers,method:e,url:r})},t};return{buildUrl:p,connect:o("CONNECT"),delete:o("DELETE"),get:o("GET"),getConfig:s,head:o("HEAD"),interceptors:r,options:o("OPTIONS"),patch:o("PATCH"),post:o("POST"),put:o("PUT"),request:i,setConfig:e=>(t=d(t,e),s()),trace:o("TRACE")}};Object.entries({$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"});let w=m(y({baseUrl:"http://localhost:4096"}));class I{_client=w;constructor(e){e?.client&&(this._client=e.client)}}class D extends I{event(e){return(e?.client??this._client).get.sse({url:"/global/event",...e})}}class b extends I{list(e){return(e?.client??this._client).get({url:"/project",...e})}current(e){return(e?.client??this._client).get({url:"/project/current",...e})}}class v extends I{list(e){return(e?.client??this._client).get({url:"/pty",...e})}create(e){return(e?.client??this._client).post({url:"/pty",...e,headers:{"Content-Type":"application/json",...e?.headers}})}remove(e){return(e.client??this._client).delete({url:"/pty/{id}",...e})}get(e){return(e.client??this._client).get({url:"/pty/{id}",...e})}update(e){return(e.client??this._client).put({url:"/pty/{id}",...e,headers:{"Content-Type":"application/json",...e.headers}})}connect(e){return(e.client??this._client).get({url:"/pty/{id}/connect",...e})}}class _ extends I{get(e){return(e?.client??this._client).get({url:"/config",...e})}update(e){return(e?.client??this._client).patch({url:"/config",...e,headers:{"Content-Type":"application/json",...e?.headers}})}providers(e){return(e?.client??this._client).get({url:"/config/providers",...e})}}class S extends I{ids(e){return(e?.client??this._client).get({url:"/experimental/tool/ids",...e})}list(e){return(e.client??this._client).get({url:"/experimental/tool",...e})}}class $ extends I{dispose(e){return(e?.client??this._client).post({url:"/instance/dispose",...e})}}class E extends I{get(e){return(e?.client??this._client).get({url:"/path",...e})}}class x extends I{get(e){return(e?.client??this._client).get({url:"/vcs",...e})}}class O extends I{list(e){return(e?.client??this._client).get({url:"/session",...e})}create(e){return(e?.client??this._client).post({url:"/session",...e,headers:{"Content-Type":"application/json",...e?.headers}})}status(e){return(e?.client??this._client).get({url:"/session/status",...e})}delete(e){return(e.client??this._client).delete({url:"/session/{id}",...e})}get(e){return(e.client??this._client).get({url:"/session/{id}",...e})}update(e){return(e.client??this._client).patch({url:"/session/{id}",...e,headers:{"Content-Type":"application/json",...e.headers}})}children(e){return(e.client??this._client).get({url:"/session/{id}/children",...e})}todo(e){return(e.client??this._client).get({url:"/session/{id}/todo",...e})}init(e){return(e.client??this._client).post({url:"/session/{id}/init",...e,headers:{"Content-Type":"application/json",...e.headers}})}fork(e){return(e.client??this._client).post({url:"/session/{id}/fork",...e,headers:{"Content-Type":"application/json",...e.headers}})}abort(e){return(e.client??this._client).post({url:"/session/{id}/abort",...e})}unshare(e){return(e.client??this._client).delete({url:"/session/{id}/share",...e})}share(e){return(e.client??this._client).post({url:"/session/{id}/share",...e})}diff(e){return(e.client??this._client).get({url:"/session/{id}/diff",...e})}summarize(e){return(e.client??this._client).post({url:"/session/{id}/summarize",...e,headers:{"Content-Type":"application/json",...e.headers}})}messages(e){return(e.client??this._client).get({url:"/session/{id}/message",...e})}prompt(e){return(e.client??this._client).post({url:"/session/{id}/message",...e,headers:{"Content-Type":"application/json",...e.headers}})}message(e){return(e.client??this._client).get({url:"/session/{id}/message/{messageID}",...e})}promptAsync(e){return(e.client??this._client).post({url:"/session/{id}/prompt_async",...e,headers:{"Content-Type":"application/json",...e.headers}})}command(e){return(e.client??this._client).post({url:"/session/{id}/command",...e,headers:{"Content-Type":"application/json",...e.headers}})}shell(e){return(e.client??this._client).post({url:"/session/{id}/shell",...e,headers:{"Content-Type":"application/json",...e.headers}})}revert(e){return(e.client??this._client).post({url:"/session/{id}/revert",...e,headers:{"Content-Type":"application/json",...e.headers}})}unrevert(e){return(e.client??this._client).post({url:"/session/{id}/unrevert",...e})}}class k extends I{list(e){return(e?.client??this._client).get({url:"/command",...e})}}class T extends I{authorize(e){return(e.client??this._client).post({url:"/provider/{id}/oauth/authorize",...e,headers:{"Content-Type":"application/json",...e.headers}})}callback(e){return(e.client??this._client).post({url:"/provider/{id}/oauth/callback",...e,headers:{"Content-Type":"application/json",...e.headers}})}}class j extends I{list(e){return(e?.client??this._client).get({url:"/provider",...e})}auth(e){return(e?.client??this._client).get({url:"/provider/auth",...e})}oauth=new T({client:this._client})}class C extends I{text(e){return(e.client??this._client).get({url:"/find",...e})}files(e){return(e.client??this._client).get({url:"/find/file",...e})}symbols(e){return(e.client??this._client).get({url:"/find/symbol",...e})}}class P extends I{list(e){return(e.client??this._client).get({url:"/file",...e})}read(e){return(e.client??this._client).get({url:"/file/content",...e})}status(e){return(e?.client??this._client).get({url:"/file/status",...e})}}class A extends I{log(e){return(e?.client??this._client).post({url:"/log",...e,headers:{"Content-Type":"application/json",...e?.headers}})}agents(e){return(e?.client??this._client).get({url:"/agent",...e})}}class N extends I{remove(e){return(e.client??this._client).delete({url:"/mcp/{name}/auth",...e})}start(e){return(e.client??this._client).post({url:"/mcp/{name}/auth",...e})}callback(e){return(e.client??this._client).post({url:"/mcp/{name}/auth/callback",...e,headers:{"Content-Type":"application/json",...e.headers}})}authenticate(e){return(e.client??this._client).post({url:"/mcp/{name}/auth/authenticate",...e})}set(e){return(e.client??this._client).put({url:"/auth/{id}",...e,headers:{"Content-Type":"application/json",...e.headers}})}}class R extends I{status(e){return(e?.client??this._client).get({url:"/mcp",...e})}add(e){return(e?.client??this._client).post({url:"/mcp",...e,headers:{"Content-Type":"application/json",...e?.headers}})}connect(e){return(e.client??this._client).post({url:"/mcp/{name}/connect",...e})}disconnect(e){return(e.client??this._client).post({url:"/mcp/{name}/disconnect",...e})}auth=new N({client:this._client})}class L extends I{status(e){return(e?.client??this._client).get({url:"/lsp",...e})}}class U extends I{status(e){return(e?.client??this._client).get({url:"/formatter",...e})}}class q extends I{next(e){return(e?.client??this._client).get({url:"/tui/control/next",...e})}response(e){return(e?.client??this._client).post({url:"/tui/control/response",...e,headers:{"Content-Type":"application/json",...e?.headers}})}}class M extends I{appendPrompt(e){return(e?.client??this._client).post({url:"/tui/append-prompt",...e,headers:{"Content-Type":"application/json",...e?.headers}})}openHelp(e){return(e?.client??this._client).post({url:"/tui/open-help",...e})}openSessions(e){return(e?.client??this._client).post({url:"/tui/open-sessions",...e})}openThemes(e){return(e?.client??this._client).post({url:"/tui/open-themes",...e})}openModels(e){return(e?.client??this._client).post({url:"/tui/open-models",...e})}submitPrompt(e){return(e?.client??this._client).post({url:"/tui/submit-prompt",...e})}clearPrompt(e){return(e?.client??this._client).post({url:"/tui/clear-prompt",...e})}executeCommand(e){return(e?.client??this._client).post({url:"/tui/execute-command",...e,headers:{"Content-Type":"application/json",...e?.headers}})}showToast(e){return(e?.client??this._client).post({url:"/tui/show-toast",...e,headers:{"Content-Type":"application/json",...e?.headers}})}publish(e){return(e?.client??this._client).post({url:"/tui/publish",...e,headers:{"Content-Type":"application/json",...e?.headers}})}control=new q({client:this._client})}class H extends I{subscribe(e){return(e?.client??this._client).get.sse({url:"/event",...e})}}class K extends I{postSessionIdPermissionsPermissionId(e){return(e.client??this._client).post({url:"/session/{id}/permissions/{permissionID}",...e,headers:{"Content-Type":"application/json",...e.headers}})}global=new D({client:this._client});project=new b({client:this._client});pty=new v({client:this._client});config=new _({client:this._client});tool=new S({client:this._client});instance=new $({client:this._client});path=new E({client:this._client});vcs=new x({client:this._client});session=new O({client:this._client});command=new k({client:this._client});provider=new j({client:this._client});find=new C({client:this._client});file=new P({client:this._client});app=new A({client:this._client});mcp=new R({client:this._client});lsp=new L({client:this._client});formatter=new U({client:this._client});tui=new M({client:this._client});auth=new N({client:this._client});event=new H({client:this._client})}function G(e,t,s,r){if(!r?.throwOnError||e instanceof Error)return e;if("object"==typeof e&&null!==e&&Object.keys(e).length>0)return Error("string"==typeof e.data?.message&&e.data.message||"string"==typeof e.message&&e.message||"string"==typeof e.name&&e.name||z(s,t),{cause:{body:e,status:t?.status}});if("string"==typeof e&&e.length>0)return Error(e,{cause:{body:e,status:t?.status}});let n=t?"(empty response body)":"network error (no response)";return Error(`opencode server ${z(s,t)}: ${n}`,{cause:{body:e,status:t?.status}})}function z(e,t){let s=e?.method??"?",r=e?.url??"?",n=t?.status,i=t?.statusText;return`${s} ${r}${n?" → "+n:""}${i?" "+i:""}`}function W(e){e?.fetch||(e={...e,fetch:e=>(e.timeout=!1,fetch(e))}),e?.directory&&(e.headers={...e.headers,"x-opencode-directory":encodeURIComponent(e.directory)});let t=m(e);return t.interceptors.request.use(t=>(function(e,t){if("GET"!==e.method&&"HEAD"!==e.method)return e;let s=function(e,t){if(e)return t&&(e===t||e===encodeURIComponent(t))?t:e}(e.headers.get("x-opencode-directory"),t);if(!s)return e;let r=new URL(e.url);r.searchParams.has("directory")||r.searchParams.set("directory",s);let n=new Request(r,e);return n.headers.delete("x-opencode-directory"),n})(t,e?.directory)),t.interceptors.error.use(G),new K({client:t})}e.s(["createOpencodeClient",()=>W],128856),e.i(465887),e.i(874533),e.i(128856),e.i(134616);var B=e.i(857764);let F={debug:10,info:20,warn:30,error:40,off:50};function J(e,t){if("string"!=typeof e||""===e.trim())throw Error(`${t} 不能为空`)}function V(e){return J(e,"baseURL"),e.replace(/\/+$/,"")}function Y(e){let t=e?.properties||{};return t.sessionID||t.sessionId||t.info?.sessionID||t.info?.sessionId||t.part?.sessionID||t.part?.sessionId}function X(e){return!!(e&&"object"==typeof e&&"name"in e&&("AbortError"===e.name||"DOMException"===e.name))}function Q(e){return e&&"object"==typeof e&&"data"in e?e.data:e}function Z(e){return Array.isArray(e)?e.map(e=>e&&"text"===e.type&&"string"==typeof e.text?e.text:"").join(""):""}async function ee(e,t){try{let s=await e.session.children({path:{id:t}}),r=Q(s);if(!Array.isArray(r))return[];return r.map(e=>String(e?.id??"")).filter(Boolean)}catch{return[]}}class et{client;defaultDirectory;logLevel;baseURL;rawFetchHeaders;constructor({baseURL:e,username:t,password:s,headers:r={},timeout:n=12e4,maxRetries:i=2,logLevel:o="warn",directory:a}){const l=function(e="opencode",t){if(!t)return null;let s=Buffer.from(`${e}:${t}`).toString("base64");return`Basic ${s}`}(t,s),c={...r,...l?{Authorization:l}:{}};this.logLevel=o,this.defaultDirectory=a,this.baseURL=V(e),this.rawFetchHeaders=c,this.client=W({baseUrl:this.baseURL,headers:c,throwOnError:!0,responseStyle:"data"}),this.log("info","initialized",{baseURL:V(e),hasAuth:!!l,hasDefaultDirectory:!!a,timeout:n,maxRetries:i,logLevel:o})}async respondQuestion(e,t){if(!e)return;let s=Array.isArray(t)&&t.length>0,r=s?`/question/${encodeURIComponent(e)}/reply`:`/question/${encodeURIComponent(e)}/reject`,n=this.defaultDirectory?`${this.baseURL}${r}?directory=${encodeURIComponent(this.defaultDirectory)}`:`${this.baseURL}${r}`,i="{}";s&&(i=JSON.stringify({answers:Array.isArray(t[0])?t:[t]}));try{let t=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json",...this.rawFetchHeaders},body:i});if(!t.ok){let s=await t.text().catch(()=>"");this.log("error","chat.question.reply.http_failed",{requestID:e,status:t.status,body:s.slice(0,300)})}}catch(t){this.log("error","chat.question.reply.fetch_failed",{requestID:e,error:t?.message})}}async respondPermission(e,t,s){if(!e||!t)return;let r=`/session/${encodeURIComponent(e)}/permissions/${encodeURIComponent(t)}`,n=this.defaultDirectory?`${this.baseURL}${r}?directory=${encodeURIComponent(this.defaultDirectory)}`:`${this.baseURL}${r}`;try{let r=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json",...this.rawFetchHeaders},body:JSON.stringify({response:s})});if(!r.ok){let s=await r.text().catch(()=>"");this.log("error","chat.permission.reply.http_failed",{sessionID:e,permissionID:t,status:r.status,body:s.slice(0,300)})}}catch(s){this.log("error","chat.permission.reply.fetch_failed",{sessionID:e,permissionID:t,error:s?.message})}}shouldLog(e){return F[e]>=F[this.logLevel]}log(e,t,s){if(!this.shouldLog(e))return;let r=new Date().toISOString(),n=`[AgentInsight][${e.toUpperCase()}][${r}] ${t}`,i="error"===e?console.error:"warn"===e?console.warn:"info"===e?console.info:console.debug;s?i(n,s):i(n)}async listSessions(){return Q(await this.client.session.list({query:this.defaultDirectory?{directory:this.defaultDirectory}:void 0}))}async createSession({title:e,parentID:t,permission:s,directory:r}={}){let n=r||this.defaultDirectory;return Q(await this.client.session.create({query:n?{directory:n}:void 0,body:{title:e||`opencode-session-${Date.now()}`,...t?{parentID:t}:{},...s?{permission:s}:{}}}))}async getSession(e){return J(e,"sessionId"),Q(await this.client.session.get({path:{id:e},query:this.defaultDirectory?{directory:this.defaultDirectory}:void 0}))}async deleteSession(e){return J(e,"sessionId"),Q(await this.client.session.delete({path:{id:e},query:this.defaultDirectory?{directory:this.defaultDirectory}:void 0}))}async abortSession(e){return J(e,"sessionId"),Q(await this.client.session.abort({path:{id:e}}))}async listMessages(e){return J(e,"sessionId"),Q(await this.client.session.messages({path:{id:e}}))}async sendPrompt(e,t,s={}){J(e,"sessionId"),J(t?.text,"text"),J(t?.model?.providerID,"model.providerID"),J(t?.model?.modelID,"model.modelID");let{text:r,agent:n,model:i,modelOptions:o,system:a,permission:l,directory:c,noReply:p,format:d,...u}=t,h="string"==typeof n&&n.trim()?n.trim():"build",{providerID:f,modelID:g,apiKey:y,baseURL:m,headers:w,...I}=i,D={};(y||m||w||Object.keys(I).length>0)&&(D[f]={...y?{apiKey:y}:{},...m?{baseURL:m}:{},...w?{headers:w}:{},...I});let b={agent:h,model:{providerID:f,modelID:g},...Object.keys(D).length>0?{providerOptions:D}:{},...o?{modelOptions:o}:{},parts:[{type:"text",text:r}],...a?{system:a}:{},...l?{permission:l}:{},...c?{directory:c}:{},...p?{noReply:!0}:{},...d?{format:d}:{},...u};return this.log("debug","sendPrompt.request",{sessionId:e,agent:h,providerID:f,modelID:g,textLength:r.length,hasSystem:!!a,hasPermission:Array.isArray(l)&&l.length>0,directory:c||this.defaultDirectory||null,hasFormat:!!d}),Q(await this.client.session.prompt({path:{id:e},query:c?{directory:c}:this.defaultDirectory?{directory:this.defaultDirectory}:void 0,body:b,...s.signal?{signal:s.signal}:{}}))}async subscribeEvents({onEvent:e,sessionId:t,includeChildren:s=!0,signal:r}){if("function"!=typeof e)throw Error("onEvent 回调必填");let n=new Set;if(t&&(n.add(t),s))for(let e of(await ee(this.client,t)))n.add(e);let i=(await this.client.event.subscribe({query:this.defaultDirectory?{directory:this.defaultDirectory}:void 0})).stream,o=()=>{let e=i?.return;"function"==typeof e&&e.call(i,void 0)};r&&(r.aborted?o():r.addEventListener("abort",o,{once:!0}));try{for await(let r of i){if(s&&t&&"session.created"===r.type){let e=r.properties?.info,t=e?.parentID||e?.parentId;t&&n.has(t)&&e?.id&&n.add(e.id)}if(n.size>0){let e=Y(r);if(e&&!n.has(e))continue}await e(r)}}catch(e){if(!X(e))throw e}finally{r&&r.removeEventListener("abort",o)}}async chat(e,t,s={},r={}){var n;let i;J(e,"sessionId");let{onUserMessage:o,onAssistantMessage:a,onText:l,onReasoning:c,onTool:p,onStep:d,onSubagent:u,onTodo:h,onSession:f,onStepFinish:g,onSessionStatus:y,onSessionIdle:m,onSessionError:w,onFileEdited:I,onPermission:D,onQuestion:b,onRawEvent:v,onUnhandledEvent:_,onError:S,onDone:$}=s,{streamTimeoutMs:E=3e5,idleTimeoutMs:x=0,signal:O}=r,k=null,T=null,j=null,C=new Set,P=!1,A="",N=!1,R=null,L=null,U=null,q=new Map,M=new Map,H=new Map,K=new Map,G=new Map,z=new Map,W=new Map,B=new Map,F=0,V=0,Q=0,et=0,es={},er=[],en=new Set([e]),ei=new Map;for(let t of(await ee(this.client,e)))en.add(t);let eo=()=>{},ea=()=>{},el=!1,ec=new Promise((e,t)=>{eo=()=>{el||(el=!0,e())},ea=e=>{el||(el=!0,t(e))}}),ep=null,ed=()=>{x<=0||(ep&&clearTimeout(ep),ep=setTimeout(()=>{this.log("warn","chat.idle.timeout",{sessionId:e,idleTimeoutMs:x}),P=!0;let t=k?.return;"function"==typeof t&&t.call(k,void 0)},x))};this.log("info","chat.start",{sessionId:e,agent:t?.agent||"build",providerID:t?.model?.providerID,modelID:t?.model?.modelID,directory:t?.directory||this.defaultDirectory||null,streamTimeoutMs:E,idleTimeoutMs:x});let eu=()=>{U&&(clearInterval(U),U=null)},eh=t?.directory||this.defaultDirectory||void 0,ef=(async()=>{let t=null;try{for await(let s of(k=(await this.client.event.subscribe({query:eh?{directory:eh}:void 0})).stream,t=()=>{let t=k?.return;"function"==typeof t&&t.call(k,void 0),this.log("warn","chat.event.aborted",{sessionId:e})},O&&(O.aborted?t():O.addEventListener("abort",t,{once:!0})),eo(),ed(),k)){F+=1,ed();let t=s.type||"unknown";if(es[t]=(es[t]||0)+1,"server.connected"!==t&&"server.heartbeat"!==t&&(N=!0),"session.created"===s.type){let t=s.properties?.info,r=t?.parentID||t?.parentId,n=t?.id;n&&r&&en.has(r)&&(en.add(n),(r!==e||n!==e)&&ei.set(n,{parentID:r,agent:t?.agent,description:t?.description}))}let r=Y(s);if(r&&!en.has(r))continue;v?.(s);let n=void 0!==r&&r!==e&&en.has(r);switch(s.type){case"message.part.updated":{let t=s.properties?.part;if(!t)break;let i=t.sessionID||t.sessionId||r||e,o=t.messageID||t.messageId,a=t.id;if("text"===t.type&&"string"==typeof t.text){if(j&&o===j)break;let r=q.get(o)??"",c="string"==typeof s.properties?.delta?s.properties.delta:t.text.startsWith(r)?t.text.slice(r.length):t.text;q.set(o,t.text),"string"==typeof a&&a&&H.set(a,t.text),c&&(V+=1,n?(et+=1,u?.({phase:"text",parentSessionID:ei.get(i)?.parentID||e,sessionID:i,agent:ei.get(i)?.agent,textDelta:c,raw:s})):l?.({sessionID:i,messageID:o,partID:a,delta:c,fullText:t.text}))}else if("reasoning"===t.type&&"string"==typeof t.text){if(j&&o===j)break;let r=M.get(o)??"",l="string"==typeof s.properties?.delta?s.properties.delta:t.text.startsWith(r)?t.text.slice(r.length):t.text;M.set(o,t.text),"string"==typeof a&&a&&K.set(a,t.text),n?u?.({phase:"reasoning",parentSessionID:ei.get(i)?.parentID||e,sessionID:i,agent:ei.get(i)?.agent,textDelta:l,raw:s}):l&&c?.({sessionID:i,messageID:o,partID:a,delta:l,fullText:t.text})}else if("tool"===t.type){let r=t.state?.status||t.status,l=t.tool||t.name||"unknown",c=G.get(a),d="delta";c||"completed"===r||"error"===r?"completed"===r?d="end":"error"===r&&(d="error"):(d="start",Q+=1),G.set(a,r||"unknown"),"string"==typeof a&&a&&B.set(a,{sessionID:i,messageID:"string"==typeof o?o:void 0,partID:a,callID:t.callID||t.callId,name:l});let h=t.state?.taskSessionID||t.state?.taskSessionId||t.taskSessionID||t.taskSessionId;h&&(en.add(h),"start"===d&&u?.({phase:"dispatched",parentSessionID:i,sessionID:h,agent:t.state?.input?.agent||t.state?.agent,description:t.state?.input?.description,prompt:t.state?.input?.prompt,raw:s}));let f={phase:d,sessionID:i,messageID:o,partID:a,callID:t.callID||t.callId,name:l,status:r,input:t.state?.input,output:t.state?.output,error:t.state?.error,taskSessionID:h,metadata:t.state?.metadata};n?u?.({phase:"tool",parentSessionID:ei.get(i)?.parentID||e,sessionID:i,agent:ei.get(i)?.agent,tool:f,raw:s}):p?.(f)}else if("step-start"===t.type||"step-finish"===t.type){let e={phase:"step-start"===t.type?"start":"finish",sessionID:i,messageID:o,partID:a,reason:t.reason||t.state?.reason,tokens:t.tokens||t.state?.tokens,cost:t.cost||t.state?.cost};d?.(e),"finish"===e.phase&&g?.(e)}else if("agent"===t.type||"subtask"===t.type){u?.({phase:"dispatched",parentSessionID:i,sessionID:t.taskSessionID||t.taskSessionId,agent:t.agent||t.name,description:t.description,prompt:t.prompt,raw:s});let e=t.taskSessionID||t.taskSessionId;e&&en.add(e)}break}case"message.part.delta":{let t=s.properties||{},i=t.sessionID||t.sessionId||r||e,o=t.messageID||t.messageId,a=t.partID||t.partId,d=t.field,h=t.delta;if("string"!=typeof o||"string"!=typeof d||"string"!=typeof h||0===h.length)break;let f="string"==typeof a&&a.length>0&&K.has(a);if("text"!==d||f)if("reasoning"===d||f){let t=(M.get(o)??"")+h;M.set(o,t);let r="string"==typeof a&&a?(K.get(a)??"")+h:null;null!==r&&K.set(a,r);let l=r??t;n?(et+=1,u?.({phase:"reasoning",parentSessionID:ei.get(i)?.parentID||e,sessionID:i,agent:ei.get(i)?.agent,textDelta:h,raw:s})):c?.({sessionID:i,messageID:o,partID:a,delta:h,fullText:l})}else{let t=d.replace(/_/g,"-");if("string"==typeof a&&a&&("tool-input"===t||"tool-output"===t)){let r=B.get(a);if("tool-input"===t){let t=(z.get(a)??"")+h;if(z.set(a,t),r){let i={phase:"delta",sessionID:r.sessionID,messageID:r.messageID,partID:r.partID,callID:r.callID,name:r.name,status:G.get(a),input:t};n?u?.({phase:"tool",parentSessionID:ei.get(r.sessionID)?.parentID||e,sessionID:r.sessionID,agent:ei.get(r.sessionID)?.agent,tool:i,raw:s}):p?.(i)}}else{let t=(W.get(a)??"")+h;if(W.set(a,t),r){let i={phase:"delta",sessionID:r.sessionID,messageID:r.messageID,partID:r.partID,callID:r.callID,name:r.name,status:G.get(a),output:t};n?u?.({phase:"tool",parentSessionID:ei.get(r.sessionID)?.parentID||e,sessionID:r.sessionID,agent:ei.get(r.sessionID)?.agent,tool:i,raw:s}):p?.(i)}}}}else{let t=(q.get(o)??"")+h;q.set(o,t),V+=1;let r="string"==typeof a&&a?(H.get(a)??"")+h:null;null!==r&&H.set(a,r);let c=r??t;n?(et+=1,u?.({phase:"text",parentSessionID:ei.get(i)?.parentID||e,sessionID:i,agent:ei.get(i)?.agent,textDelta:h,raw:s})):l?.({sessionID:i,messageID:o,partID:a,delta:h,fullText:c})}break}case"message.updated":{let t=s.properties?.info;if(!t)break;if("user"===t.role){j=t.id||j;let s=Z(t.parts||[]);o?.({sessionID:t.sessionID||t.sessionId||r||e,messageID:t.id,text:s,parts:t.parts||[],raw:t});break}if("assistant"===t.role){T=t.id,C.has(t.id)||(C.add(t.id),a?.({sessionID:t.sessionID||t.sessionId||r||e,messageID:t.id,status:"started",info:t}));let s=Z(t.parts||[]);if(s){let n=q.get(t.id)??"",i=s.startsWith(n)?s.slice(n.length):s;q.set(t.id,s),i&&(V+=1,l?.({sessionID:t.sessionID||t.sessionId||r||e,messageID:t.id,partID:"message.updated",delta:i,fullText:s}))}if(t.error){a?.({sessionID:t.sessionID||t.sessionId||r||e,messageID:t.id,status:"error",info:t,error:t.error}),S?.(Error(t.error.message||"模型执行出错")),P=!0;break}if(t.time?.completed){a?.({sessionID:t.sessionID||t.sessionId||r||e,messageID:t.id,status:"completed",info:t});let s=t.finish??t.finishReason;s&&"tool-calls"!==s&&(P=!0)}else a?.({sessionID:t.sessionID||t.sessionId||r||e,messageID:t.id,status:"updated",info:t})}break}case"message.part.removed":case"message.removed":case"permission.replied":case"file.watcher.updated":case"vcs.branch.updated":case"lsp.client.diagnostics":case"lsp.updated":case"command.executed":case"tui.prompt.append":case"tui.command.execute":case"tui.toast.show":case"pty.created":case"pty.updated":case"pty.exited":case"pty.deleted":case"server.connected":case"server.heartbeat":case"server.instance.disposed":case"installation.updated":case"installation.update-available":break;case"session.created":f?.({phase:"created",sessionID:s.properties?.info?.id||r||e,info:s.properties?.info,raw:s});break;case"session.updated":f?.({phase:"updated",sessionID:r||e,info:s.properties?.info,raw:s});break;case"session.deleted":f?.({phase:"deleted",sessionID:r||e,info:s.properties?.info,raw:s});break;case"session.compacted":f?.({phase:"compacted",sessionID:r||e,info:s.properties,raw:s});break;case"session.diff":f?.({phase:"diff",sessionID:r||e,info:s.properties,raw:s});break;case"session.idle":{let t=r||e;if(n)u?.({phase:"idle",parentSessionID:ei.get(t)?.parentID||e,sessionID:t,agent:ei.get(t)?.agent,raw:s});else{let e={phase:"idle",sessionID:t,raw:s};f?.(e),m?.(e)}break}case"session.status":let i={phase:"status",sessionID:r||e,status:s.properties?.status,raw:s};f?.(i),y?.(i);break;case"session.error":{let t=s.properties?.error,i=r||e;if(n)u?.({phase:"error",parentSessionID:ei.get(i)?.parentID||e,sessionID:i,agent:ei.get(i)?.agent,error:t,raw:s});else{let e={phase:"error",sessionID:i,error:t,raw:s};f?.(e),w?.(e),S?.(Error(t?.message||JSON.stringify(t)||"session 错误")),P=!0}break}case"question.asked":{let t=s.properties||{};if(!t.id)break;let n={id:t.id,sessionID:r||e,questions:t.questions,messageID:t.messageID||t.messageId};ep&&(clearTimeout(ep),ep=null);try{let e=await b?.(n),t=Array.isArray(e)&&e.length>0?e:null;await this.respondQuestion(n.id,t)}catch(e){this.log("error","chat.question.reply.failed",{error:e.message})}finally{ed()}break}case"permission.updated":case"permission.asked":{let e=s.properties||{};if(!e.id||!e.sessionID)break;let t={id:e.id,sessionID:e.sessionID||e.sessionId,messageID:e.messageID||e.messageId,callID:e.callID||e.callId,title:e.title,type:e.type,pattern:e.pattern,metadata:e.metadata};ep&&(clearTimeout(ep),ep=null);try{let e=await D?.(t)??"once";await this.respondPermission(t.sessionID,t.id,e)}catch(e){this.log("error","chat.permission.reply.failed",{error:e.message})}finally{ed()}break}case"todo.updated":h?.({sessionID:r||e,todos:Array.isArray(s.properties?.todos)?s.properties.todos:[]});break;case"file.edited":I?.({sessionID:r,path:s.properties?.path||s.properties?.file,raw:s});break;default:_?.(s),er.length<5&&er.push({type:s.type,sessionId:r||null,keys:Object.keys(s.properties||{})})}if(P){let e=k?.return;"function"==typeof e&&e.call(k,void 0);break}}}catch(e){if(ea(e),!X(e))throw e}finally{ep&&clearTimeout(ep),O&&t&&O.removeEventListener("abort",t),this.log("info","chat.event.consume.done",{sessionId:e,eventCount:F,textDeltaCount:V,toolCallCount:Q,subagentCount:et,eventTypeCounter:es,unknownEventSamples:er})}})();try{await ec,i=await this.sendPrompt(e,t,{signal:O})}catch(s){let t=k?.return;if("function"==typeof t&&t.call(k,void 0),X(s)||O&&O.aborted)this.log("warn","chat.sendPrompt.aborted",{sessionId:e}),P=!0;else throw this.log("error","chat.sendPrompt.failed",{sessionId:e,error:s?.message||String(s)}),S?.(s),s}T=i?.info?.id||i?.message?.id||T,(A=(n=i)&&"object"==typeof n?Z(Array.isArray(n.parts)?n.parts:[]):"")&&T&&!q.get(T)&&!P&&(R=setTimeout(()=>{!T||P||q.get(T)||(t=>{if(!T||!t||P)return;eu();let s=0;U=setInterval(()=>{if(!T||P||s>=t.length)return void eu();let r=q.get(T)??"";if(r.length>0&&!t.startsWith(r))return void eu();let n=t.slice(s,s+24),i=r+n;q.set(T,i),l?.({sessionID:e,messageID:T,partID:"fallback",delta:n,fullText:i}),V+=1,s+=24},20)})(A)},1500)),!A||P||0!==Q||N||(L=setTimeout(()=>{if(P||N||Q>0||0===F||!Object.keys(es).every(e=>"server.connected"===e||"server.heartbeat"===e))return;P=!0;let t=k?.return;"function"==typeof t&&t.call(k,void 0),this.log("warn","chat.stream.heartbeat_only_fallback",{sessionId:e,assistantMsgId:T,eventCount:F})},3e3));let eg=setTimeout(()=>{this.log("warn","chat.stream.timeout",{sessionId:e,streamTimeoutMs:E});let t=k?.return;"function"==typeof t&&t.call(k,void 0)},E);try{await ef}finally{clearTimeout(eg),R&&clearTimeout(R),L&&clearTimeout(L),eu(),$?.()}let ey=(T?q.get(T):void 0)||A||"",em=[...q.values()],ew=function(e,t={}){let s=t.siblingRatio??.5,r=t.fallback??"",n=e.filter(e=>"string"==typeof e&&e.trim().length>0);if(0===n.length)return r.trim();if(1===n.length)return n[0].trim();let i=Math.max(...n.map(e=>e.length)),o=n.filter(e=>e.length>=i*s);return(o.length>0?o:n).join("\n\n").trim()||r.trim()}(em,{fallback:ey});return this.log("info","chat.done",{sessionId:e,assistantMsgId:T,userMsgId:j,textLength:ey.length,coreOutputLength:ew.length,assistantMsgCount:em.length,eventCount:F,textDeltaCount:V,toolCallCount:Q,subagentCount:et}),{text:ey,transcriptText:ew,messageId:T,userMessageId:j,stats:{eventCount:F,textDeltaCount:V,toolCallCount:Q,subagentCount:et,eventTypeCounter:es}}}}async function es(){let e=new et({baseURL:process.env.OPENCODE_URL||"http://127.0.0.1:4096",password:process.env.OPENCODE_SERVER_PASSWORD,timeout:18e4,logLevel:process.env.OPENCODE_LOG_LEVEL||"info"}),t=await e.createSession({title:"opencode-client demo"}),s=String(t?.id??"");if(!s)throw Error("createSession 未返回有效 id");let r={text:process.env.OPENCODE_DEMO_PROMPT||"请用 ls 工具看看当前目录有哪些文件,然后用一句话总结。",agent:"build",model:{providerID:process.env.OPENCODE_PROVIDER_ID||"anthropic",modelID:process.env.OPENCODE_MODEL_ID||"claude-sonnet-4-5-20250929",apiKey:process.env.OPENCODE_API_KEY,baseURL:process.env.OPENCODE_PROVIDER_BASE_URL,headers:process.env.OPENCODE_PROVIDER_HEADERS?JSON.parse(process.env.OPENCODE_PROVIDER_HEADERS):void 0},modelOptions:{temperature:.7,maxTokens:2048},directory:process.cwd()};process.stdout.write(`session: ${s}
|
|
5
|
+
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(`
|
|
6
|
+
[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),202058,(e,t,s)=>{t.exports=n,n.sync=function(e,t){return i(r.statSync(e),t)};var r=e.r(522734);function n(e,t,s){r.stat(e,function(e,r){s(e,!e&&i(r,t))})}function i(e,t){var s,r,n,i,o,a,l,c,p;return e.isFile()&&(s=e,r=t,n=s.mode,i=s.uid,o=s.gid,a=void 0!==r.uid?r.uid:process.getuid&&process.getuid(),l=void 0!==r.gid?r.gid:process.getgid&&process.getgid(),c=parseInt("100",8),p=parseInt("010",8),n&parseInt("001",8)||n&p&&o===l||n&c&&i===a||n&(c|p)&&0===a)}},129507,(e,t,s)=>{t.exports=i,i.sync=function(e,t){return n(r.statSync(e),e,t)};var r=e.r(522734);function n(e,t,s){if(!e.isSymbolicLink()&&!e.isFile())return!1;var r=void 0!==s.pathExt?s.pathExt:process.env.PATHEXT;if(!r||-1!==(r=r.split(";")).indexOf(""))return!0;for(var n=0;n<r.length;n++){var i=r[n].toLowerCase();if(i&&t.substr(-i.length).toLowerCase()===i)return!0}return!1}function i(e,t,s){r.stat(e,function(r,i){s(r,!r&&n(i,e,t))})}},24214,(e,t,s)=>{var r;function n(e,t,s){if("function"==typeof t&&(s=t,t={}),!s){if("function"!=typeof Promise)throw TypeError("callback not provided");return new Promise(function(s,r){n(e,t||{},function(e,t){e?r(e):s(t)})})}r(e,t||{},function(e,r){e&&("EACCES"===e.code||t&&t.ignoreErrors)&&(e=null,r=!1),s(e,r)})}e.r(522734),r="win32"===process.platform||e.g.TESTING_WINDOWS?e.r(129507):e.r(202058),t.exports=n,n.sync=function(e,t){try{return r.sync(e,t||{})}catch(e){if(t&&t.ignoreErrors||"EACCES"===e.code)return!1;throw e}}},319932,(e,t,s)=>{let r="win32"===process.platform||"cygwin"===process.env.OSTYPE||"msys"===process.env.OSTYPE,n=e.r(814747),i=r?";":":",o=e.r(24214),a=e=>Object.assign(Error(`not found: ${e}`),{code:"ENOENT"}),l=(e,t)=>{let s=t.colon||i,n=e.match(/\//)||r&&e.match(/\\/)?[""]:[...r?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(s)],o=r?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",a=r?o.split(s):[""];return r&&-1!==e.indexOf(".")&&""!==a[0]&&a.unshift(""),{pathEnv:n,pathExt:a,pathExtExe:o}},c=(e,t,s)=>{"function"==typeof t&&(s=t,t={}),t||(t={});let{pathEnv:r,pathExt:i,pathExtExe:c}=l(e,t),p=[],d=s=>new Promise((i,o)=>{if(s===r.length)return t.all&&p.length?i(p):o(a(e));let l=r[s],c=/^".*"$/.test(l)?l.slice(1,-1):l,d=n.join(c,e);i(u(!c&&/^\.[\\\/]/.test(e)?e.slice(0,2)+d:d,s,0))}),u=(e,s,r)=>new Promise((n,a)=>{if(r===i.length)return n(d(s+1));let l=i[r];o(e+l,{pathExt:c},(i,o)=>{if(!i&&o)if(!t.all)return n(e+l);else p.push(e+l);return n(u(e,s,r+1))})});return s?d(0).then(e=>s(null,e),s):d(0)};t.exports=c,c.sync=(e,t)=>{let{pathEnv:s,pathExt:r,pathExtExe:i}=l(e,t=t||{}),c=[];for(let a=0;a<s.length;a++){let l=s[a],p=/^".*"$/.test(l)?l.slice(1,-1):l,d=n.join(p,e),u=!p&&/^\.[\\\/]/.test(e)?e.slice(0,2)+d:d;for(let e=0;e<r.length;e++){let s=u+r[e];try{if(o.sync(s,{pathExt:i}))if(!t.all)return s;else c.push(s)}catch(e){}}}if(t.all&&c.length)return c;if(t.nothrow)return null;throw a(e)}},717736,(e,t,s)=>{"use strict";let r=(e={})=>{let t=e.env||process.env;return"win32"!==(e.platform||process.platform)?"PATH":Object.keys(t).reverse().find(e=>"PATH"===e.toUpperCase())||"Path"};t.exports=r,t.exports.default=r},81463,(e,t,s)=>{"use strict";let r=e.r(814747),n=e.r(319932),i=e.r(717736);function o(e,t){let s,o=e.options.env||process.env,a=process.cwd(),l=null!=e.options.cwd,c=l&&void 0!==process.chdir&&!process.chdir.disabled;if(c)try{process.chdir(e.options.cwd)}catch(e){}try{s=n.sync(e.command,{path:o[i({env:o})],pathExt:t?r.delimiter:void 0})}catch(e){}finally{c&&process.chdir(a)}return s&&(s=r.resolve(l?e.options.cwd:"",s)),s}t.exports=function(e){return o(e)||o(e,!0)}},502977,(e,t,s)=>{"use strict";let r=/([()\][%!^"`<>&|;, *?])/g;t.exports.command=function(e){return e.replace(r,"^$1")},t.exports.argument=function(e,t){return e=(e=(e=`${e}`).replace(/(?=(\\+?)?)\1"/g,'$1$1\\"')).replace(/(?=(\\+?)?)\1$/,"$1$1"),e=(e=`"${e}"`).replace(r,"^$1"),t&&(e=e.replace(r,"^$1")),e}},831804,(e,t,s)=>{"use strict";t.exports=/^#!(.*)/},469231,(e,t,s)=>{"use strict";let r=e.r(831804);t.exports=(e="")=>{let t=e.match(r);if(!t)return null;let[s,n]=t[0].replace(/#! ?/,"").split(" "),i=s.split("/").pop();return"env"===i?n:n?`${i} ${n}`:i}},385328,(e,t,s)=>{"use strict";let r=e.r(522734),n=e.r(469231);t.exports=function(e){let t,s=Buffer.alloc(150);try{t=r.openSync(e,"r"),r.readSync(t,s,0,150,0),r.closeSync(t)}catch(e){}return n(s.toString())}},207546,(e,t,s)=>{"use strict";e.r(814747),e.r(81463),e.r(502977),e.r(385328),process.platform,t.exports=function(e,t,s){t&&!Array.isArray(t)&&(s=t,t=null);let r={command:e,args:t=t?t.slice(0):[],options:s=Object.assign({},s),file:void 0,original:{command:e,args:t}};return s.shell,r}},245750,(e,t,s)=>{"use strict";process.platform,t.exports={hookChildProcess:function(e,t){},verifyENOENT:function(e,t){return null},verifyENOENTSync:function(e,t){return null},notFoundError:function(e,t){return Object.assign(Error(`${t} ${e.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${t} ${e.command}`,path:e.command,spawnargs:e.args})}}},465887,(e,t,s)=>{"use strict";let r=e.r(233405),n=e.r(207546),i=e.r(245750);function o(e,t,s){let o=n(e,t,s),a=r.spawn(o.command,o.args,o.options);return i.hookChildProcess(a,o),a}t.exports=o,t.exports.spawn=o,t.exports.sync=function(e,t,s){let o=n(e,t,s),a=r.spawnSync(o.command,o.args,o.options);return a.error=a.error||i.verifyENOENTSync(a.status,o),a},t.exports._parse=n,t.exports._enoent=i},469240,e=>{"use strict";e.s([],134616);let t=async(e,t)=>{let s="function"==typeof t?await t(e):t;if(s)return"bearer"===e.scheme?`Bearer ${s}`:"basic"===e.scheme?`Basic ${btoa(s)}`:s},s={bodySerializer:e=>JSON.stringify(e,(e,t)=>"bigint"==typeof t?t.toString():t)},r=({allowReserved:e,explode:t,name:s,style:r,value:i})=>{if(!t){let t=(e?i:i.map(e=>encodeURIComponent(e))).join((e=>{switch(e){case"form":default:return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20"}})(r));switch(r){case"label":return`.${t}`;case"matrix":return`;${s}=${t}`;case"simple":return t;default:return`${s}=${t}`}}let o=(e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}})(r),a=i.map(t=>"label"===r||"simple"===r?e?t:encodeURIComponent(t):n({allowReserved:e,name:s,value:t})).join(o);return"label"===r||"matrix"===r?o+a:a},n=({allowReserved:e,name:t,value:s})=>{if(null==s)return"";if("object"==typeof s)throw Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${t}=${e?s:encodeURIComponent(s)}`},i=({allowReserved:e,explode:t,name:s,style:r,value:i,valueOnly:o})=>{if(i instanceof Date)return o?i.toISOString():`${s}=${i.toISOString()}`;if("deepObject"!==r&&!t){let t=[];Object.entries(i).forEach(([s,r])=>{t=[...t,s,e?r:encodeURIComponent(r)]});let n=t.join(",");switch(r){case"form":return`${s}=${n}`;case"label":return`.${n}`;case"matrix":return`;${s}=${n}`;default:return n}}let a=(e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}})(r),l=Object.entries(i).map(([t,i])=>n({allowReserved:e,name:"deepObject"===r?`${s}[${t}]`:t,value:i})).join(a);return"label"===r||"matrix"===r?a+l:l},o=/\{[^{}]+\}/g,a=({allowReserved:e,array:t,object:s}={})=>o=>{let a=[];if(o&&"object"==typeof o)for(let l in o){let c=o[l];if(null!=c)if(Array.isArray(c)){let s=r({allowReserved:e,explode:!0,name:l,style:"form",value:c,...t});s&&a.push(s)}else if("object"==typeof c){let t=i({allowReserved:e,explode:!0,name:l,style:"deepObject",value:c,...s});t&&a.push(t)}else{let t=n({allowReserved:e,name:l,value:c});t&&a.push(t)}}return a.join("&")},l=(e,t)=>!!t&&!!(e.headers.has(t)||e.query?.[t]||e.headers.get("Cookie")?.includes(`${t}=`)),c=async({security:e,...s})=>{for(let r of e){if(l(s,r.name))continue;let e=await t(r,s.auth);if(!e)continue;let n=r.name??"Authorization";switch(r.in){case"query":s.query||(s.query={}),s.query[n]=e;break;case"cookie":s.headers.append("Cookie",`${n}=${e}`);break;default:s.headers.set(n,e)}}},p=e=>(({baseUrl:e,path:t,query:s,querySerializer:a,url:l})=>{let c=(e??"")+(l.startsWith("/")?l:`/${l}`);t&&(c=(({path:e,url:t})=>{let s=t,a=t.match(o);if(a)for(let t of a){let o=!1,a=t.substring(1,t.length-1),l="simple";a.endsWith("*")&&(o=!0,a=a.substring(0,a.length-1)),a.startsWith(".")?(a=a.substring(1),l="label"):a.startsWith(";")&&(a=a.substring(1),l="matrix");let c=e[a];if(null==c)continue;if(Array.isArray(c)){s=s.replace(t,r({explode:o,name:a,style:l,value:c}));continue}if("object"==typeof c){s=s.replace(t,i({explode:o,name:a,style:l,value:c,valueOnly:!0}));continue}if("matrix"===l){s=s.replace(t,`;${n({name:a,value:c})}`);continue}let p=encodeURIComponent("label"===l?`.${c}`:c);s=s.replace(t,p)}return s})({path:t,url:c}));let p=s?a(s):"";return p.startsWith("?")&&(p=p.substring(1)),p&&(c+=`?${p}`),c})({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:"function"==typeof e.querySerializer?e.querySerializer:a(e.querySerializer),url:e.url}),d=(e,t)=>{let s={...e,...t};return s.baseUrl?.endsWith("/")&&(s.baseUrl=s.baseUrl.substring(0,s.baseUrl.length-1)),s.headers=u(e.headers,t.headers),s},u=(...e)=>{let t=new Headers;for(let s of e)if(s&&"object"==typeof s)for(let[e,r]of s instanceof Headers?s.entries():Object.entries(s))if(null===r)t.delete(e);else if(Array.isArray(r))for(let s of r)t.append(e,s);else void 0!==r&&t.set(e,"object"==typeof r?JSON.stringify(r):r);return t};class h{_fns;constructor(){this._fns=[]}clear(){this._fns=[]}getInterceptorIndex(e){return"number"==typeof e?this._fns[e]?e:-1:this._fns.indexOf(e)}exists(e){let t=this.getInterceptorIndex(e);return!!this._fns[t]}eject(e){let t=this.getInterceptorIndex(e);this._fns[t]&&(this._fns[t]=null)}update(e,t){let s=this.getInterceptorIndex(e);return!!this._fns[s]&&(this._fns[s]=t,e)}use(e){return this._fns=[...this._fns,e],this._fns.length-1}}let f=a({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),g={"Content-Type":"application/json"},y=(e={})=>({...s,headers:g,parseAs:"auto",querySerializer:f,...e}),m=(e={})=>{let t=d(y(),e),s=()=>({...t}),r={error:new h,request:new h,response:new h},n=async e=>{let s={...t,...e,fetch:e.fetch??t.fetch??globalThis.fetch,headers:u(t.headers,e.headers),serializedBody:void 0};s.security&&await c({...s,security:s.security}),s.requestValidator&&await s.requestValidator(s),s.body&&s.bodySerializer&&(s.serializedBody=s.bodySerializer(s.body)),(void 0===s.serializedBody||""===s.serializedBody)&&s.headers.delete("Content-Type");let r=p(s);return{opts:s,url:r}},i=async e=>{let t,{opts:s,url:i}=await n(e),o=new Request(i,{redirect:"follow",...s,body:s.serializedBody});for(let e of r.request._fns)e&&(o=await e(o,s));let a=s.fetch,l=await a(o);for(let e of r.response._fns)e&&(l=await e(l,o,s));let c={request:o,response:l};if(l.ok){let e;if(204===l.status||"0"===l.headers.get("Content-Length"))return"data"===s.responseStyle?{}:{data:{},...c};let t=("auto"===s.parseAs?(e=>{if(!e)return"stream";let t=e.split(";")[0]?.trim();if(t){if(t.startsWith("application/json")||t.endsWith("+json"))return"json";if("multipart/form-data"===t)return"formData";if(["application/","audio/","image/","video/"].some(e=>t.startsWith(e)))return"blob";if(t.startsWith("text/"))return"text"}})(l.headers.get("Content-Type")):s.parseAs)??"json";switch(t){case"arrayBuffer":case"blob":case"formData":case"json":case"text":e=await l[t]();break;case"stream":return"data"===s.responseStyle?l.body:{data:l.body,...c}}return"json"===t&&(s.responseValidator&&await s.responseValidator(e),s.responseTransformer&&(e=await s.responseTransformer(e))),"data"===s.responseStyle?e:{data:e,...c}}let p=await l.text();try{t=JSON.parse(p)}catch{}let d=t??p,u=d;for(let e of r.error._fns)e&&(u=await e(d,l,o,s));if(u=u||{},s.throwOnError)throw u;return"data"===s.responseStyle?void 0:{error:u,...c}},o=e=>{let t=t=>i({...t,method:e});return t.sse=async t=>{let{opts:s,url:r}=await n(t);return(({onSseError:e,onSseEvent:t,responseTransformer:s,responseValidator:r,sseDefaultRetryDelay:n,sseMaxRetryAttempts:i,sseMaxRetryDelay:o,sseSleepFn:a,url:l,...c})=>{let p,d=a??(e=>new Promise(t=>setTimeout(t,e)));return{stream:async function*(){let a=n??3e3,u=0,h=c.signal??new AbortController().signal;for(;!h.aborted;){u++;let n=c.headers instanceof Headers?c.headers:new Headers(c.headers);void 0!==p&&n.set("Last-Event-ID",p);try{let e=await fetch(l,{...c,headers:n,signal:h});if(!e.ok)throw Error(`SSE failed: ${e.status} ${e.statusText}`);if(!e.body)throw Error("No body in SSE response");let i=e.body.pipeThrough(new TextDecoderStream).getReader(),o="",d=()=>{try{i.cancel()}catch{}};h.addEventListener("abort",d);try{for(;;){let{done:e,value:n}=await i.read();if(e)break;let l=(o+=n).split("\n\n");for(let e of(o=l.pop()??"",l)){let n,i,o=e.split("\n"),l=[];for(let e of o)if(e.startsWith("data:"))l.push(e.replace(/^data:\s*/,""));else if(e.startsWith("event:"))n=e.replace(/^event:\s*/,"");else if(e.startsWith("id:"))p=e.replace(/^id:\s*/,"");else if(e.startsWith("retry:")){let t=Number.parseInt(e.replace(/^retry:\s*/,""),10);Number.isNaN(t)||(a=t)}let c=!1;if(l.length){let e=l.join("\n");try{i=JSON.parse(e),c=!0}catch{i=e}}c&&(r&&await r(i),s&&(i=await s(i))),t?.({data:i,event:n,id:p,retry:a}),l.length&&(yield i)}}}finally{h.removeEventListener("abort",d),i.releaseLock()}break}catch(s){if(e?.(s),void 0!==i&&u>=i)break;let t=Math.min(a*2**(u-1),o??3e4);await d(t)}}}()}})({...s,body:s.body,headers:s.headers,method:e,url:r})},t};return{buildUrl:p,connect:o("CONNECT"),delete:o("DELETE"),get:o("GET"),getConfig:s,head:o("HEAD"),interceptors:r,options:o("OPTIONS"),patch:o("PATCH"),post:o("POST"),put:o("PUT"),request:i,setConfig:e=>(t=d(t,e),s()),trace:o("TRACE")}};Object.entries({$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"});let w=m(y({baseUrl:"http://localhost:4096"}));class I{_client=w;constructor(e){e?.client&&(this._client=e.client)}}class D extends I{event(e){return(e?.client??this._client).get.sse({url:"/global/event",...e})}}class b extends I{list(e){return(e?.client??this._client).get({url:"/project",...e})}current(e){return(e?.client??this._client).get({url:"/project/current",...e})}}class v extends I{list(e){return(e?.client??this._client).get({url:"/pty",...e})}create(e){return(e?.client??this._client).post({url:"/pty",...e,headers:{"Content-Type":"application/json",...e?.headers}})}remove(e){return(e.client??this._client).delete({url:"/pty/{id}",...e})}get(e){return(e.client??this._client).get({url:"/pty/{id}",...e})}update(e){return(e.client??this._client).put({url:"/pty/{id}",...e,headers:{"Content-Type":"application/json",...e.headers}})}connect(e){return(e.client??this._client).get({url:"/pty/{id}/connect",...e})}}class _ extends I{get(e){return(e?.client??this._client).get({url:"/config",...e})}update(e){return(e?.client??this._client).patch({url:"/config",...e,headers:{"Content-Type":"application/json",...e?.headers}})}providers(e){return(e?.client??this._client).get({url:"/config/providers",...e})}}class S extends I{ids(e){return(e?.client??this._client).get({url:"/experimental/tool/ids",...e})}list(e){return(e.client??this._client).get({url:"/experimental/tool",...e})}}class $ extends I{dispose(e){return(e?.client??this._client).post({url:"/instance/dispose",...e})}}class E extends I{get(e){return(e?.client??this._client).get({url:"/path",...e})}}class x extends I{get(e){return(e?.client??this._client).get({url:"/vcs",...e})}}class O extends I{list(e){return(e?.client??this._client).get({url:"/session",...e})}create(e){return(e?.client??this._client).post({url:"/session",...e,headers:{"Content-Type":"application/json",...e?.headers}})}status(e){return(e?.client??this._client).get({url:"/session/status",...e})}delete(e){return(e.client??this._client).delete({url:"/session/{id}",...e})}get(e){return(e.client??this._client).get({url:"/session/{id}",...e})}update(e){return(e.client??this._client).patch({url:"/session/{id}",...e,headers:{"Content-Type":"application/json",...e.headers}})}children(e){return(e.client??this._client).get({url:"/session/{id}/children",...e})}todo(e){return(e.client??this._client).get({url:"/session/{id}/todo",...e})}init(e){return(e.client??this._client).post({url:"/session/{id}/init",...e,headers:{"Content-Type":"application/json",...e.headers}})}fork(e){return(e.client??this._client).post({url:"/session/{id}/fork",...e,headers:{"Content-Type":"application/json",...e.headers}})}abort(e){return(e.client??this._client).post({url:"/session/{id}/abort",...e})}unshare(e){return(e.client??this._client).delete({url:"/session/{id}/share",...e})}share(e){return(e.client??this._client).post({url:"/session/{id}/share",...e})}diff(e){return(e.client??this._client).get({url:"/session/{id}/diff",...e})}summarize(e){return(e.client??this._client).post({url:"/session/{id}/summarize",...e,headers:{"Content-Type":"application/json",...e.headers}})}messages(e){return(e.client??this._client).get({url:"/session/{id}/message",...e})}prompt(e){return(e.client??this._client).post({url:"/session/{id}/message",...e,headers:{"Content-Type":"application/json",...e.headers}})}message(e){return(e.client??this._client).get({url:"/session/{id}/message/{messageID}",...e})}promptAsync(e){return(e.client??this._client).post({url:"/session/{id}/prompt_async",...e,headers:{"Content-Type":"application/json",...e.headers}})}command(e){return(e.client??this._client).post({url:"/session/{id}/command",...e,headers:{"Content-Type":"application/json",...e.headers}})}shell(e){return(e.client??this._client).post({url:"/session/{id}/shell",...e,headers:{"Content-Type":"application/json",...e.headers}})}revert(e){return(e.client??this._client).post({url:"/session/{id}/revert",...e,headers:{"Content-Type":"application/json",...e.headers}})}unrevert(e){return(e.client??this._client).post({url:"/session/{id}/unrevert",...e})}}class k extends I{list(e){return(e?.client??this._client).get({url:"/command",...e})}}class T extends I{authorize(e){return(e.client??this._client).post({url:"/provider/{id}/oauth/authorize",...e,headers:{"Content-Type":"application/json",...e.headers}})}callback(e){return(e.client??this._client).post({url:"/provider/{id}/oauth/callback",...e,headers:{"Content-Type":"application/json",...e.headers}})}}class j extends I{list(e){return(e?.client??this._client).get({url:"/provider",...e})}auth(e){return(e?.client??this._client).get({url:"/provider/auth",...e})}oauth=new T({client:this._client})}class C extends I{text(e){return(e.client??this._client).get({url:"/find",...e})}files(e){return(e.client??this._client).get({url:"/find/file",...e})}symbols(e){return(e.client??this._client).get({url:"/find/symbol",...e})}}class P extends I{list(e){return(e.client??this._client).get({url:"/file",...e})}read(e){return(e.client??this._client).get({url:"/file/content",...e})}status(e){return(e?.client??this._client).get({url:"/file/status",...e})}}class A extends I{log(e){return(e?.client??this._client).post({url:"/log",...e,headers:{"Content-Type":"application/json",...e?.headers}})}agents(e){return(e?.client??this._client).get({url:"/agent",...e})}}class N extends I{remove(e){return(e.client??this._client).delete({url:"/mcp/{name}/auth",...e})}start(e){return(e.client??this._client).post({url:"/mcp/{name}/auth",...e})}callback(e){return(e.client??this._client).post({url:"/mcp/{name}/auth/callback",...e,headers:{"Content-Type":"application/json",...e.headers}})}authenticate(e){return(e.client??this._client).post({url:"/mcp/{name}/auth/authenticate",...e})}set(e){return(e.client??this._client).put({url:"/auth/{id}",...e,headers:{"Content-Type":"application/json",...e.headers}})}}class R extends I{status(e){return(e?.client??this._client).get({url:"/mcp",...e})}add(e){return(e?.client??this._client).post({url:"/mcp",...e,headers:{"Content-Type":"application/json",...e?.headers}})}connect(e){return(e.client??this._client).post({url:"/mcp/{name}/connect",...e})}disconnect(e){return(e.client??this._client).post({url:"/mcp/{name}/disconnect",...e})}auth=new N({client:this._client})}class L extends I{status(e){return(e?.client??this._client).get({url:"/lsp",...e})}}class U extends I{status(e){return(e?.client??this._client).get({url:"/formatter",...e})}}class q extends I{next(e){return(e?.client??this._client).get({url:"/tui/control/next",...e})}response(e){return(e?.client??this._client).post({url:"/tui/control/response",...e,headers:{"Content-Type":"application/json",...e?.headers}})}}class M extends I{appendPrompt(e){return(e?.client??this._client).post({url:"/tui/append-prompt",...e,headers:{"Content-Type":"application/json",...e?.headers}})}openHelp(e){return(e?.client??this._client).post({url:"/tui/open-help",...e})}openSessions(e){return(e?.client??this._client).post({url:"/tui/open-sessions",...e})}openThemes(e){return(e?.client??this._client).post({url:"/tui/open-themes",...e})}openModels(e){return(e?.client??this._client).post({url:"/tui/open-models",...e})}submitPrompt(e){return(e?.client??this._client).post({url:"/tui/submit-prompt",...e})}clearPrompt(e){return(e?.client??this._client).post({url:"/tui/clear-prompt",...e})}executeCommand(e){return(e?.client??this._client).post({url:"/tui/execute-command",...e,headers:{"Content-Type":"application/json",...e?.headers}})}showToast(e){return(e?.client??this._client).post({url:"/tui/show-toast",...e,headers:{"Content-Type":"application/json",...e?.headers}})}publish(e){return(e?.client??this._client).post({url:"/tui/publish",...e,headers:{"Content-Type":"application/json",...e?.headers}})}control=new q({client:this._client})}class H extends I{subscribe(e){return(e?.client??this._client).get.sse({url:"/event",...e})}}class K extends I{postSessionIdPermissionsPermissionId(e){return(e.client??this._client).post({url:"/session/{id}/permissions/{permissionID}",...e,headers:{"Content-Type":"application/json",...e.headers}})}global=new D({client:this._client});project=new b({client:this._client});pty=new v({client:this._client});config=new _({client:this._client});tool=new S({client:this._client});instance=new $({client:this._client});path=new E({client:this._client});vcs=new x({client:this._client});session=new O({client:this._client});command=new k({client:this._client});provider=new j({client:this._client});find=new C({client:this._client});file=new P({client:this._client});app=new A({client:this._client});mcp=new R({client:this._client});lsp=new L({client:this._client});formatter=new U({client:this._client});tui=new M({client:this._client});auth=new N({client:this._client});event=new H({client:this._client})}function G(e,t,s,r){if(!r?.throwOnError||e instanceof Error)return e;if("object"==typeof e&&null!==e&&Object.keys(e).length>0)return Error("string"==typeof e.data?.message&&e.data.message||"string"==typeof e.message&&e.message||"string"==typeof e.name&&e.name||z(s,t),{cause:{body:e,status:t?.status}});if("string"==typeof e&&e.length>0)return Error(e,{cause:{body:e,status:t?.status}});let n=t?"(empty response body)":"network error (no response)";return Error(`opencode server ${z(s,t)}: ${n}`,{cause:{body:e,status:t?.status}})}function z(e,t){let s=e?.method??"?",r=e?.url??"?",n=t?.status,i=t?.statusText;return`${s} ${r}${n?" → "+n:""}${i?" "+i:""}`}function W(e){e?.fetch||(e={...e,fetch:e=>(e.timeout=!1,fetch(e))}),e?.directory&&(e.headers={...e.headers,"x-opencode-directory":encodeURIComponent(e.directory)});let t=m(e);return t.interceptors.request.use(t=>(function(e,t){if("GET"!==e.method&&"HEAD"!==e.method)return e;let s=function(e,t){if(e)return t&&(e===t||e===encodeURIComponent(t))?t:e}(e.headers.get("x-opencode-directory"),t);if(!s)return e;let r=new URL(e.url);r.searchParams.has("directory")||r.searchParams.set("directory",s);let n=new Request(r,e);return n.headers.delete("x-opencode-directory"),n})(t,e?.directory)),t.interceptors.error.use(G),new K({client:t})}e.s(["createOpencodeClient",()=>W],128856),e.i(465887),e.i(874533),e.i(128856),e.i(134616);var B=e.i(857764);let F={debug:10,info:20,warn:30,error:40,off:50};function J(e,t){if("string"!=typeof e||""===e.trim())throw Error(`${t} 不能为空`)}function V(e){return J(e,"baseURL"),e.replace(/\/+$/,"")}function Y(e){let t=e?.properties||{};return t.sessionID||t.sessionId||t.info?.sessionID||t.info?.sessionId||t.part?.sessionID||t.part?.sessionId}function X(e){return!!(e&&"object"==typeof e&&"name"in e&&("AbortError"===e.name||"DOMException"===e.name))}function Q(e){return e&&"object"==typeof e&&"data"in e?e.data:e}function Z(e){return Array.isArray(e)?e.map(e=>e&&"text"===e.type&&"string"==typeof e.text?e.text:"").join(""):""}async function ee(e,t){try{let s=await e.session.children({path:{id:t}}),r=Q(s);if(!Array.isArray(r))return[];return r.map(e=>String(e?.id??"")).filter(Boolean)}catch{return[]}}class et{client;defaultDirectory;logLevel;baseURL;rawFetchHeaders;constructor({baseURL:e,username:t,password:s,headers:r={},timeout:n=12e4,maxRetries:i=2,logLevel:o="warn",directory:a}){const l=function(e="opencode",t){if(!t)return null;let s=Buffer.from(`${e}:${t}`).toString("base64");return`Basic ${s}`}(t,s),c={...r,...l?{Authorization:l}:{}};this.logLevel=o,this.defaultDirectory=a,this.baseURL=V(e),this.rawFetchHeaders=c,this.client=W({baseUrl:this.baseURL,headers:c,throwOnError:!0,responseStyle:"data"}),this.log("info","initialized",{baseURL:V(e),hasAuth:!!l,hasDefaultDirectory:!!a,timeout:n,maxRetries:i,logLevel:o})}async respondQuestion(e,t){if(!e)return;let s=Array.isArray(t)&&t.length>0,r=s?`/question/${encodeURIComponent(e)}/reply`:`/question/${encodeURIComponent(e)}/reject`,n=this.defaultDirectory?`${this.baseURL}${r}?directory=${encodeURIComponent(this.defaultDirectory)}`:`${this.baseURL}${r}`,i="{}";s&&(i=JSON.stringify({answers:Array.isArray(t[0])?t:[t]}));try{let t=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json",...this.rawFetchHeaders},body:i});if(!t.ok){let s=await t.text().catch(()=>"");this.log("error","chat.question.reply.http_failed",{requestID:e,status:t.status,body:s.slice(0,300)})}}catch(t){this.log("error","chat.question.reply.fetch_failed",{requestID:e,error:t?.message})}}async respondPermission(e,t,s){if(!e||!t)return;let r=`/session/${encodeURIComponent(e)}/permissions/${encodeURIComponent(t)}`,n=this.defaultDirectory?`${this.baseURL}${r}?directory=${encodeURIComponent(this.defaultDirectory)}`:`${this.baseURL}${r}`;try{let r=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json",...this.rawFetchHeaders},body:JSON.stringify({response:s})});if(!r.ok){let s=await r.text().catch(()=>"");this.log("error","chat.permission.reply.http_failed",{sessionID:e,permissionID:t,status:r.status,body:s.slice(0,300)})}}catch(s){this.log("error","chat.permission.reply.fetch_failed",{sessionID:e,permissionID:t,error:s?.message})}}shouldLog(e){return F[e]>=F[this.logLevel]}log(e,t,s){if(!this.shouldLog(e))return;let r=new Date().toISOString(),n=`[AgentInsight][${e.toUpperCase()}][${r}] ${t}`,i="error"===e?console.error:"warn"===e?console.warn:"info"===e?console.info:console.debug;s?i(n,s):i(n)}async listSessions(){return Q(await this.client.session.list({query:this.defaultDirectory?{directory:this.defaultDirectory}:void 0}))}async createSession({title:e,parentID:t,permission:s,directory:r}={}){let n=r||this.defaultDirectory;return Q(await this.client.session.create({query:n?{directory:n}:void 0,body:{title:e||`opencode-session-${Date.now()}`,...t?{parentID:t}:{},...s?{permission:s}:{}}}))}async getSession(e){return J(e,"sessionId"),Q(await this.client.session.get({path:{id:e},query:this.defaultDirectory?{directory:this.defaultDirectory}:void 0}))}async deleteSession(e){return J(e,"sessionId"),Q(await this.client.session.delete({path:{id:e},query:this.defaultDirectory?{directory:this.defaultDirectory}:void 0}))}async abortSession(e){return J(e,"sessionId"),Q(await this.client.session.abort({path:{id:e}}))}async listMessages(e){return J(e,"sessionId"),Q(await this.client.session.messages({path:{id:e}}))}async sendPrompt(e,t,s={}){J(e,"sessionId"),J(t?.text,"text"),J(t?.model?.providerID,"model.providerID"),J(t?.model?.modelID,"model.modelID");let{text:r,agent:n,model:i,modelOptions:o,system:a,permission:l,directory:c,noReply:p,format:d,...u}=t,h="string"==typeof n&&n.trim()?n.trim():"build",{providerID:f,modelID:g,apiKey:y,baseURL:m,headers:w,...I}=i,D={};(y||m||w||Object.keys(I).length>0)&&(D[f]={...y?{apiKey:y}:{},...m?{baseURL:m}:{},...w?{headers:w}:{},...I});let b={agent:h,model:{providerID:f,modelID:g},...Object.keys(D).length>0?{providerOptions:D}:{},...o?{modelOptions:o}:{},parts:[{type:"text",text:r}],...a?{system:a}:{},...l?{permission:l}:{},...c?{directory:c}:{},...p?{noReply:!0}:{},...d?{format:d}:{},...u};return this.log("debug","sendPrompt.request",{sessionId:e,agent:h,providerID:f,modelID:g,textLength:r.length,hasSystem:!!a,hasPermission:Array.isArray(l)&&l.length>0,directory:c||this.defaultDirectory||null,hasFormat:!!d}),Q(await this.client.session.prompt({path:{id:e},query:c?{directory:c}:this.defaultDirectory?{directory:this.defaultDirectory}:void 0,body:b,...s.signal?{signal:s.signal}:{}}))}async subscribeEvents({onEvent:e,sessionId:t,includeChildren:s=!0,signal:r}){if("function"!=typeof e)throw Error("onEvent 回调必填");let n=new Set;if(t&&(n.add(t),s))for(let e of(await ee(this.client,t)))n.add(e);let i=(await this.client.event.subscribe({query:this.defaultDirectory?{directory:this.defaultDirectory}:void 0})).stream,o=()=>{let e=i?.return;"function"==typeof e&&e.call(i,void 0)};r&&(r.aborted?o():r.addEventListener("abort",o,{once:!0}));try{for await(let r of i){if(s&&t&&"session.created"===r.type){let e=r.properties?.info,t=e?.parentID||e?.parentId;t&&n.has(t)&&e?.id&&n.add(e.id)}if(n.size>0){let e=Y(r);if(e&&!n.has(e))continue}await e(r)}}catch(e){if(!X(e))throw e}finally{r&&r.removeEventListener("abort",o)}}async chat(e,t,s={},r={}){var n;let i;J(e,"sessionId");let{onUserMessage:o,onAssistantMessage:a,onText:l,onReasoning:c,onTool:p,onStep:d,onSubagent:u,onTodo:h,onSession:f,onStepFinish:g,onSessionStatus:y,onSessionIdle:m,onSessionError:w,onFileEdited:I,onPermission:D,onQuestion:b,onRawEvent:v,onUnhandledEvent:_,onError:S,onDone:$}=s,{streamTimeoutMs:E=3e5,idleTimeoutMs:x=0,signal:O}=r,k=null,T=null,j=null,C=new Set,P=!1,A="",N=!1,R=null,L=null,U=null,q=new Map,M=new Map,H=new Map,K=new Map,G=new Map,z=new Map,W=new Map,B=new Map,F=0,V=0,Q=0,et=0,es={},er=[],en=new Set([e]),ei=new Map;for(let t of(await ee(this.client,e)))en.add(t);let eo=()=>{},ea=()=>{},el=!1,ec=new Promise((e,t)=>{eo=()=>{el||(el=!0,e())},ea=e=>{el||(el=!0,t(e))}}),ep=null,ed=()=>{x<=0||(ep&&clearTimeout(ep),ep=setTimeout(()=>{this.log("warn","chat.idle.timeout",{sessionId:e,idleTimeoutMs:x}),P=!0;let t=k?.return;"function"==typeof t&&t.call(k,void 0)},x))};this.log("info","chat.start",{sessionId:e,agent:t?.agent||"build",providerID:t?.model?.providerID,modelID:t?.model?.modelID,directory:t?.directory||this.defaultDirectory||null,streamTimeoutMs:E,idleTimeoutMs:x});let eu=()=>{U&&(clearInterval(U),U=null)},eh=t?.directory||this.defaultDirectory||void 0,ef=(async()=>{let t=null;try{for await(let s of(k=(await this.client.event.subscribe({query:eh?{directory:eh}:void 0})).stream,t=()=>{let t=k?.return;"function"==typeof t&&t.call(k,void 0),this.log("warn","chat.event.aborted",{sessionId:e})},O&&(O.aborted?t():O.addEventListener("abort",t,{once:!0})),eo(),ed(),k)){F+=1,ed();let t=s.type||"unknown";if(es[t]=(es[t]||0)+1,"server.connected"!==t&&"server.heartbeat"!==t&&(N=!0),"session.created"===s.type){let t=s.properties?.info,r=t?.parentID||t?.parentId,n=t?.id;n&&r&&en.has(r)&&(en.add(n),(r!==e||n!==e)&&ei.set(n,{parentID:r,agent:t?.agent,description:t?.description}))}let r=Y(s);if(r&&!en.has(r))continue;v?.(s);let n=void 0!==r&&r!==e&&en.has(r);switch(s.type){case"message.part.updated":{let t=s.properties?.part;if(!t)break;let i=t.sessionID||t.sessionId||r||e,o=t.messageID||t.messageId,a=t.id;if("text"===t.type&&"string"==typeof t.text){if(j&&o===j)break;let r=q.get(o)??"",c="string"==typeof s.properties?.delta?s.properties.delta:t.text.startsWith(r)?t.text.slice(r.length):t.text;q.set(o,t.text),"string"==typeof a&&a&&H.set(a,t.text),c&&(V+=1,n?(et+=1,u?.({phase:"text",parentSessionID:ei.get(i)?.parentID||e,sessionID:i,agent:ei.get(i)?.agent,textDelta:c,raw:s})):l?.({sessionID:i,messageID:o,partID:a,delta:c,fullText:t.text}))}else if("reasoning"===t.type&&"string"==typeof t.text){if(j&&o===j)break;let r=M.get(o)??"",l="string"==typeof s.properties?.delta?s.properties.delta:t.text.startsWith(r)?t.text.slice(r.length):t.text;M.set(o,t.text),"string"==typeof a&&a&&K.set(a,t.text),n?u?.({phase:"reasoning",parentSessionID:ei.get(i)?.parentID||e,sessionID:i,agent:ei.get(i)?.agent,textDelta:l,raw:s}):l&&c?.({sessionID:i,messageID:o,partID:a,delta:l,fullText:t.text})}else if("tool"===t.type){let r=t.state?.status||t.status,l=t.tool||t.name||"unknown",c=G.get(a),d="delta";c||"completed"===r||"error"===r?"completed"===r?d="end":"error"===r&&(d="error"):(d="start",Q+=1),G.set(a,r||"unknown"),"string"==typeof a&&a&&B.set(a,{sessionID:i,messageID:"string"==typeof o?o:void 0,partID:a,callID:t.callID||t.callId,name:l});let h=t.state?.taskSessionID||t.state?.taskSessionId||t.taskSessionID||t.taskSessionId;h&&(en.add(h),"start"===d&&u?.({phase:"dispatched",parentSessionID:i,sessionID:h,agent:t.state?.input?.agent||t.state?.agent,description:t.state?.input?.description,prompt:t.state?.input?.prompt,raw:s}));let f={phase:d,sessionID:i,messageID:o,partID:a,callID:t.callID||t.callId,name:l,status:r,input:t.state?.input,output:t.state?.output,error:t.state?.error,taskSessionID:h,metadata:t.state?.metadata};n?u?.({phase:"tool",parentSessionID:ei.get(i)?.parentID||e,sessionID:i,agent:ei.get(i)?.agent,tool:f,raw:s}):p?.(f)}else if("step-start"===t.type||"step-finish"===t.type){let e={phase:"step-start"===t.type?"start":"finish",sessionID:i,messageID:o,partID:a,reason:t.reason||t.state?.reason,tokens:t.tokens||t.state?.tokens,cost:t.cost||t.state?.cost};d?.(e),"finish"===e.phase&&g?.(e)}else if("agent"===t.type||"subtask"===t.type){u?.({phase:"dispatched",parentSessionID:i,sessionID:t.taskSessionID||t.taskSessionId,agent:t.agent||t.name,description:t.description,prompt:t.prompt,raw:s});let e=t.taskSessionID||t.taskSessionId;e&&en.add(e)}break}case"message.part.delta":{let t=s.properties||{},i=t.sessionID||t.sessionId||r||e,o=t.messageID||t.messageId,a=t.partID||t.partId,d=t.field,h=t.delta;if("string"!=typeof o||"string"!=typeof d||"string"!=typeof h||0===h.length)break;let f="string"==typeof a&&a.length>0&&K.has(a);if("text"!==d||f)if("reasoning"===d||f){let t=(M.get(o)??"")+h;M.set(o,t);let r="string"==typeof a&&a?(K.get(a)??"")+h:null;null!==r&&K.set(a,r);let l=r??t;n?(et+=1,u?.({phase:"reasoning",parentSessionID:ei.get(i)?.parentID||e,sessionID:i,agent:ei.get(i)?.agent,textDelta:h,raw:s})):c?.({sessionID:i,messageID:o,partID:a,delta:h,fullText:l})}else{let t=d.replace(/_/g,"-");if("string"==typeof a&&a&&("tool-input"===t||"tool-output"===t)){let r=B.get(a);if("tool-input"===t){let t=(z.get(a)??"")+h;if(z.set(a,t),r){let i={phase:"delta",sessionID:r.sessionID,messageID:r.messageID,partID:r.partID,callID:r.callID,name:r.name,status:G.get(a),input:t};n?u?.({phase:"tool",parentSessionID:ei.get(r.sessionID)?.parentID||e,sessionID:r.sessionID,agent:ei.get(r.sessionID)?.agent,tool:i,raw:s}):p?.(i)}}else{let t=(W.get(a)??"")+h;if(W.set(a,t),r){let i={phase:"delta",sessionID:r.sessionID,messageID:r.messageID,partID:r.partID,callID:r.callID,name:r.name,status:G.get(a),output:t};n?u?.({phase:"tool",parentSessionID:ei.get(r.sessionID)?.parentID||e,sessionID:r.sessionID,agent:ei.get(r.sessionID)?.agent,tool:i,raw:s}):p?.(i)}}}}else{let t=(q.get(o)??"")+h;q.set(o,t),V+=1;let r="string"==typeof a&&a?(H.get(a)??"")+h:null;null!==r&&H.set(a,r);let c=r??t;n?(et+=1,u?.({phase:"text",parentSessionID:ei.get(i)?.parentID||e,sessionID:i,agent:ei.get(i)?.agent,textDelta:h,raw:s})):l?.({sessionID:i,messageID:o,partID:a,delta:h,fullText:c})}break}case"message.updated":{let t=s.properties?.info;if(!t)break;if("user"===t.role){j=t.id||j;let s=Z(t.parts||[]);o?.({sessionID:t.sessionID||t.sessionId||r||e,messageID:t.id,text:s,parts:t.parts||[],raw:t});break}if("assistant"===t.role){T=t.id,C.has(t.id)||(C.add(t.id),a?.({sessionID:t.sessionID||t.sessionId||r||e,messageID:t.id,status:"started",info:t}));let s=Z(t.parts||[]);if(s){let n=q.get(t.id)??"",i=s.startsWith(n)?s.slice(n.length):s;q.set(t.id,s),i&&(V+=1,l?.({sessionID:t.sessionID||t.sessionId||r||e,messageID:t.id,partID:"message.updated",delta:i,fullText:s}))}if(t.error){a?.({sessionID:t.sessionID||t.sessionId||r||e,messageID:t.id,status:"error",info:t,error:t.error}),S?.(Error(t.error.message||"模型执行出错")),P=!0;break}if(t.time?.completed){a?.({sessionID:t.sessionID||t.sessionId||r||e,messageID:t.id,status:"completed",info:t});let s=t.finish??t.finishReason;s&&"tool-calls"!==s&&(P=!0)}else a?.({sessionID:t.sessionID||t.sessionId||r||e,messageID:t.id,status:"updated",info:t})}break}case"message.part.removed":case"message.removed":case"permission.replied":case"file.watcher.updated":case"vcs.branch.updated":case"lsp.client.diagnostics":case"lsp.updated":case"command.executed":case"tui.prompt.append":case"tui.command.execute":case"tui.toast.show":case"pty.created":case"pty.updated":case"pty.exited":case"pty.deleted":case"server.connected":case"server.heartbeat":case"server.instance.disposed":case"installation.updated":case"installation.update-available":break;case"session.created":f?.({phase:"created",sessionID:s.properties?.info?.id||r||e,info:s.properties?.info,raw:s});break;case"session.updated":f?.({phase:"updated",sessionID:r||e,info:s.properties?.info,raw:s});break;case"session.deleted":f?.({phase:"deleted",sessionID:r||e,info:s.properties?.info,raw:s});break;case"session.compacted":f?.({phase:"compacted",sessionID:r||e,info:s.properties,raw:s});break;case"session.diff":f?.({phase:"diff",sessionID:r||e,info:s.properties,raw:s});break;case"session.idle":{let t=r||e;if(n)u?.({phase:"idle",parentSessionID:ei.get(t)?.parentID||e,sessionID:t,agent:ei.get(t)?.agent,raw:s});else{let e={phase:"idle",sessionID:t,raw:s};f?.(e),m?.(e)}break}case"session.status":let i={phase:"status",sessionID:r||e,status:s.properties?.status,raw:s};f?.(i),y?.(i);break;case"session.error":{let t=s.properties?.error,i=r||e;if(n)u?.({phase:"error",parentSessionID:ei.get(i)?.parentID||e,sessionID:i,agent:ei.get(i)?.agent,error:t,raw:s});else{let e={phase:"error",sessionID:i,error:t,raw:s};f?.(e),w?.(e),S?.(Error(t?.message||JSON.stringify(t)||"session 错误")),P=!0}break}case"question.asked":{let t=s.properties||{};if(!t.id)break;let n={id:t.id,sessionID:r||e,questions:t.questions,messageID:t.messageID||t.messageId};ep&&(clearTimeout(ep),ep=null);try{let e=await b?.(n),t=Array.isArray(e)&&e.length>0?e:null;await this.respondQuestion(n.id,t)}catch(e){this.log("error","chat.question.reply.failed",{error:e.message})}finally{ed()}break}case"permission.updated":case"permission.asked":{let e=s.properties||{};if(!e.id||!e.sessionID)break;let t={id:e.id,sessionID:e.sessionID||e.sessionId,messageID:e.messageID||e.messageId,callID:e.callID||e.callId,title:e.title,type:e.type,pattern:e.pattern,metadata:e.metadata};ep&&(clearTimeout(ep),ep=null);try{let e=await D?.(t)??"once";await this.respondPermission(t.sessionID,t.id,e)}catch(e){this.log("error","chat.permission.reply.failed",{error:e.message})}finally{ed()}break}case"todo.updated":h?.({sessionID:r||e,todos:Array.isArray(s.properties?.todos)?s.properties.todos:[]});break;case"file.edited":I?.({sessionID:r,path:s.properties?.path||s.properties?.file,raw:s});break;default:_?.(s),er.length<5&&er.push({type:s.type,sessionId:r||null,keys:Object.keys(s.properties||{})})}if(P){let e=k?.return;"function"==typeof e&&e.call(k,void 0);break}}}catch(e){if(ea(e),!X(e))throw e}finally{ep&&clearTimeout(ep),O&&t&&O.removeEventListener("abort",t),this.log("info","chat.event.consume.done",{sessionId:e,eventCount:F,textDeltaCount:V,toolCallCount:Q,subagentCount:et,eventTypeCounter:es,unknownEventSamples:er})}})();try{await ec,i=await this.sendPrompt(e,t,{signal:O})}catch(s){let t=k?.return;if("function"==typeof t&&t.call(k,void 0),X(s)||O&&O.aborted)this.log("warn","chat.sendPrompt.aborted",{sessionId:e}),P=!0;else throw this.log("error","chat.sendPrompt.failed",{sessionId:e,error:s?.message||String(s)}),S?.(s),s}T=i?.info?.id||i?.message?.id||T,(A=(n=i)&&"object"==typeof n?Z(Array.isArray(n.parts)?n.parts:[]):"")&&T&&!q.get(T)&&!P&&(R=setTimeout(()=>{!T||P||q.get(T)||(t=>{if(!T||!t||P)return;eu();let s=0;U=setInterval(()=>{if(!T||P||s>=t.length)return void eu();let r=q.get(T)??"";if(r.length>0&&!t.startsWith(r))return void eu();let n=t.slice(s,s+24),i=r+n;q.set(T,i),l?.({sessionID:e,messageID:T,partID:"fallback",delta:n,fullText:i}),V+=1,s+=24},20)})(A)},1500)),!A||P||0!==Q||N||(L=setTimeout(()=>{if(P||N||Q>0||0===F||!Object.keys(es).every(e=>"server.connected"===e||"server.heartbeat"===e))return;P=!0;let t=k?.return;"function"==typeof t&&t.call(k,void 0),this.log("warn","chat.stream.heartbeat_only_fallback",{sessionId:e,assistantMsgId:T,eventCount:F})},3e3));let eg=setTimeout(()=>{this.log("warn","chat.stream.timeout",{sessionId:e,streamTimeoutMs:E});let t=k?.return;"function"==typeof t&&t.call(k,void 0)},E);try{await ef}finally{clearTimeout(eg),R&&clearTimeout(R),L&&clearTimeout(L),eu(),$?.()}let ey=(T?q.get(T):void 0)||A||"",em=[...q.values()],ew=function(e,t={}){let s=t.siblingRatio??.5,r=t.fallback??"",n=e.filter(e=>"string"==typeof e&&e.trim().length>0);if(0===n.length)return r.trim();if(1===n.length)return n[0].trim();let i=Math.max(...n.map(e=>e.length)),o=n.filter(e=>e.length>=i*s);return(o.length>0?o:n).join("\n\n").trim()||r.trim()}(em,{fallback:ey});return this.log("info","chat.done",{sessionId:e,assistantMsgId:T,userMsgId:j,textLength:ey.length,coreOutputLength:ew.length,assistantMsgCount:em.length,eventCount:F,textDeltaCount:V,toolCallCount:Q,subagentCount:et}),{text:ey,transcriptText:ew,messageId:T,userMessageId:j,stats:{eventCount:F,textDeltaCount:V,toolCallCount:Q,subagentCount:et,eventTypeCounter:es}}}}async function es(){let e=new et({baseURL:process.env.OPENCODE_URL||"http://127.0.0.1:4096",password:process.env.OPENCODE_SERVER_PASSWORD,timeout:18e4,logLevel:process.env.OPENCODE_LOG_LEVEL||"info"}),t=await e.createSession({title:"opencode-client demo"}),s=String(t?.id??"");if(!s)throw Error("createSession 未返回有效 id");let r={text:process.env.OPENCODE_DEMO_PROMPT||"请用 ls 工具看看当前目录有哪些文件,然后用一句话总结。",agent:"build",model:{providerID:process.env.OPENCODE_PROVIDER_ID||"anthropic",modelID:process.env.OPENCODE_MODEL_ID||"claude-sonnet-4-5-20250929",apiKey:process.env.OPENCODE_API_KEY,baseURL:process.env.OPENCODE_PROVIDER_BASE_URL,headers:process.env.OPENCODE_PROVIDER_HEADERS?JSON.parse(process.env.OPENCODE_PROVIDER_HEADERS):void 0},modelOptions:{temperature:.7,maxTokens:2048},directory:process.cwd()};process.stdout.write(`session: ${s}
|
|
7
7
|
`);let n=await e.chat(s,r,{onUserMessage:e=>process.stdout.write(`
|
|
8
8
|
[user → ${e.messageID}] ${e.text.slice(0,120)}
|
|
9
9
|
`),onAssistantMessage:e=>process.stdout.write(`
|