madarx 2.13.0 → 2.14.0
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-build-manifest.json +552 -559
- package/.next/standalone/.next/app-path-routes-manifest.json +79 -80
- package/.next/standalone/.next/build-manifest.json +5 -5
- package/.next/standalone/.next/prerender-manifest.json +3 -3
- package/.next/standalone/.next/routes-manifest.json +0 -6
- 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 +1 -1
- package/.next/standalone/.next/server/app/activity/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/admin/page.js +3 -3
- package/.next/standalone/.next/server/app/admin/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/agents/[id]/page.js +4 -4
- package/.next/standalone/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/agents/page.js +1 -1
- package/.next/standalone/.next/server/app/agents/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/activity/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/admin/audit-export/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/admin/share-links/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agent-memory/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agent-runs/[id]/cancel/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agent-runs/[id]/events/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agent-runs/[id]/log/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agent-runs/[id]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agent-runs/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/[id]/chain/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/[id]/memory/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/[id]/reports/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/[id]/run/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/[id]/skills/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/create/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/ops/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/approvals/[id]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/approvals/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/artifacts/[id]/acl/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/artifacts/[id]/protect/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/artifacts/[id]/raw/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/artifacts/[id]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/artifacts/[id]/share-link/[linkId]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/artifacts/[id]/share-link/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/artifacts/upload/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/audit/list/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/audit/search/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/callback/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/config/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/join-bootstrap/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/session/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/brand/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/chat/sessions/[id]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/chat/sessions/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/config/env/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/config/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/connections/[service]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/connections/[service]/verify/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/connections/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/cron/tick/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/dashboard/spaces/[id]/move/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/dashboard/spaces/[id]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/dashboard/spaces/[id]/share-link/[linkId]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/dashboard/spaces/[id]/share-link/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/dashboard/spaces/import/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/dashboard/spaces/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/disk/files/[id]/blob/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/disk/files/[id]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/disk/files/[id]/transcribe/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/disk/files/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/disk/folders/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/events/since/[cursor]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/events/stream/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/fs/create-folder/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/fs/pick-folder/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/hail/engagements/[id]/blueprint/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/hail/engagements/[id]/blueprint/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/hail/engagements/[id]/diagnostic/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/hail/engagements/[id]/diagnostic/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/hail/engagements/[id]/governance/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/hail/engagements/[id]/governance/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/hail/engagements/[id]/interview/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/hail/engagements/[id]/interview/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/hail/engagements/[id]/pilot/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/hail/engagements/[id]/pilot/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/hail/engagements/[id]/quarterly/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/hail/engagements/[id]/quarterly/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/hail/engagements/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/hail/engagements/[id]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/hail/engagements/[id]/setup-package/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/hail/engagements/[id]/setup-package/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/hail/engagements/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/hail/engagements/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/hail/interviews/[id]/responses/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/hail/interviews/[id]/responses/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/hail/interviews/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/hail/interviews/[id]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/hail/setup-packages/[id]/apply/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/hail/setup-packages/[id]/apply/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/hail/setup-packages/validate/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/heartbeat/tick/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/heartbeat/worker/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/heartbeat/worker/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/help/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/hermes/jobs/[id]/events/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/hermes/jobs/[id]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/hermes/jobs/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/integrations/google/callback/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/integrations/google/oauth/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/marketplace/[id]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/marketplace/open-design/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/marketplace/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/mines/import-roots/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/mines/portfolio/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/mines/projects/[id]/chunks/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/mines/projects/[id]/diligence/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/mines/projects/[id]/import/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/mines/projects/[id]/publish/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/mines/projects/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/missions/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/onboarding/blueprint/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/onboarding/launch/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/orchestrator/command/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/orchestrator/stream/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/orchestrator/upload/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/org/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/orgs/[id]/invites/[inviteId]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/orgs/[id]/invites/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/orgs/[id]/members/[userId]/role/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/orgs/[id]/members/[userId]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/orgs/[id]/members/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/orgs/[id]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/orgs/invites/pending/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/orgs/join/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/orgs/join-complete/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/orgs/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/printing-press/clis/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/printing-press/install/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/printing-press/security-mode/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/privacy/config/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/privacy/verify/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/processes/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/processes/[id]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/processes/[id]/share-link/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/processes/[id]/share-link/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/processes/[id]/stages/[stageId]/override/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/processes/[id]/stages/[stageId]/override/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/processes/[id]/stages/[stageId]/retry/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/processes/[id]/stages/[stageId]/retry/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/processes/[id]/stages/[stageId]/submit/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/processes/[id]/stages/[stageId]/submit/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/processes/definitions/[slug]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/processes/definitions/[slug]/settings/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/processes/definitions/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/processes/definitions/validate/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/processes/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/processes/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/processes/start-and-route/route.js +1 -1
- package/.next/standalone/.next/server/app/api/processes/start-and-route/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/processes/start-and-route/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[slug]/library/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[slug]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/runs/approve-claude-run/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/runs/claude-code-dry-run/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/runs/competitor-report/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/runs/engine-ping/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/runs/marketing-plan/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/schedules/upsert/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/secrets/[name]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/secrets/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/settings/trust-mode/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/share/[token]/otp/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/share/[token]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/share/[token]/verify/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/share/space/[token]/otp/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/share/space/[token]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/share/space/[token]/verify/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/shared/spaces/[id]/acl/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/shared/spaces/publish/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/shared/spaces/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/shared/spaces/status/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/shared/spaces/unpublish/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/state/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/system/update/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[id]/active-run/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[id]/attachments/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[id]/checklist/[itemId]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[id]/checklist/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[id]/checkout/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[id]/children/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[id]/comments/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[id]/events/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[id]/live-runs/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[id]/release/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[id]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tool-allowlists/[id]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tool-allowlists/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tool-egress/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tools/[name]/approve/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tools/[name]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tools/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/transcripts/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/voice/providers/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/voice/realtime/context/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/voice/realtime/session/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/voice/realtime/tool-result/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/voice/realtime/tools/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/voice/tts/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/whatsapp/allowlist/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/whatsapp/disconnect/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/whatsapp/messages/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/whatsapp/qr/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/whatsapp/send/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/whatsapp/status/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/approvals/page.js +2 -2
- package/.next/standalone/.next/server/app/approvals/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/architecture/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/architecture.html +2 -2
- package/.next/standalone/.next/server/app/architecture.rsc +1 -1
- package/.next/standalone/.next/server/app/audit/live/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/audit/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/brand/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/brand.html +1 -1
- package/.next/standalone/.next/server/app/brand.rsc +1 -1
- package/.next/standalone/.next/server/app/disk/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/federated-ai/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/federated-ai.html +2 -2
- package/.next/standalone/.next/server/app/federated-ai.rsc +1 -1
- package/.next/standalone/.next/server/app/hail/[id]/governance/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/hail/[id]/governance/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/hail/[id]/interview/page.js +2 -2
- package/.next/standalone/.next/server/app/hail/[id]/interview/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/hail/[id]/interview/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/hail/[id]/page.js +2 -2
- package/.next/standalone/.next/server/app/hail/[id]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/hail/[id]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/hail/[id]/setup/page.js +2 -2
- package/.next/standalone/.next/server/app/hail/[id]/setup/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/hail/[id]/setup/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/hail/page.js +3 -3
- package/.next/standalone/.next/server/app/hail/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/hail/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/help/[slug]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/help/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/index.html +2 -2
- package/.next/standalone/.next/server/app/index.rsc +1 -1
- package/.next/standalone/.next/server/app/join/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/join.html +1 -1
- package/.next/standalone/.next/server/app/join.rsc +1 -1
- package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/marketplace/page.js +1 -1
- package/.next/standalone/.next/server/app/marketplace/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/mines/[projectId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/mines/[projectId]/results/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/mines/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/missions/page.js +1 -1
- package/.next/standalone/.next/server/app/missions/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/onboarding/org/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/onboarding.html +2 -2
- package/.next/standalone/.next/server/app/onboarding.rsc +1 -1
- package/.next/standalone/.next/server/app/org/page.js +1 -1
- package/.next/standalone/.next/server/app/org/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/org/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/projects/[slug]/log/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/projects/new/page.js +1 -1
- package/.next/standalone/.next/server/app/projects/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/projects/new.html +1 -1
- package/.next/standalone/.next/server/app/projects/new.rsc +2 -2
- package/.next/standalone/.next/server/app/projects/page.js +11 -11
- package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/reports/[file]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/reports/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/runtime/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/schedules/page.js +2 -2
- package/.next/standalone/.next/server/app/schedules/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/schedules/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/account/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/advanced/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/appearance/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/brand/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/brand.html +2 -2
- package/.next/standalone/.next/server/app/settings/brand.rsc +1 -1
- package/.next/standalone/.next/server/app/settings/connectors/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/engines/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/onboarding/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/onboarding.html +2 -2
- package/.next/standalone/.next/server/app/settings/onboarding.rsc +1 -1
- package/.next/standalone/.next/server/app/settings/organization/page.js +1 -1
- package/.next/standalone/.next/server/app/settings/organization/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/settings/organization/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/runtime/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/team/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/tools/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings.html +2 -2
- package/.next/standalone/.next/server/app/settings.rsc +1 -1
- package/.next/standalone/.next/server/app/share/[token]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/share/space/[token]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/tasks/[id]/page.js +1 -1
- package/.next/standalone/.next/server/app/tasks/[id]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/tasks/page.js +2 -2
- package/.next/standalone/.next/server/app/tasks/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/team/[agentId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/team/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/tools/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/whatsapp/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/whatsapp.html +1 -1
- package/.next/standalone/.next/server/app/whatsapp.rsc +1 -1
- package/.next/standalone/.next/server/app/workflows/[caseId]/page.js +1 -1
- package/.next/standalone/.next/server/app/workflows/[caseId]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workflows/[caseId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workflows/new/[caseId]/page.js +1 -1
- package/.next/standalone/.next/server/app/workflows/new/[caseId]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workflows/new/[caseId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workflows/new/definition/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workflows/page.js +1 -1
- package/.next/standalone/.next/server/app/workflows/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workflows/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workflows/share/[caseId]/page.js +1 -1
- package/.next/standalone/.next/server/app/workflows/share/[caseId]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workflows/share/[caseId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app-paths-manifest.json +79 -80
- package/.next/standalone/.next/server/chunks/1699.js +1 -1
- package/.next/standalone/.next/server/chunks/5185.js +4 -27
- package/.next/standalone/.next/server/chunks/5257.js +1 -1
- package/.next/standalone/.next/server/chunks/6355.js +1 -0
- package/.next/standalone/.next/server/chunks/{1092.js → 6474.js} +1 -1
- package/.next/standalone/.next/server/functions-config-manifest.json +34 -34
- package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
- package/.next/standalone/.next/server/middleware-manifest.json +5 -5
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +1 -1
- 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/-LlttjOnKZXGqZXDKcj-4/_buildManifest.js +1 -0
- package/.next/standalone/.next/static/chunks/app/projects/page-09e5c527e3ba83e2.js +1 -0
- package/.next/standalone/.next/static/chunks/app/workflows/[caseId]/page-9949ff1c223e771d.js +1 -0
- package/.next/{static/chunks/app/workflows/page-25cb2c4cb90273a8.js → standalone/.next/static/chunks/app/workflows/page-d0484521369bce4c.js} +1 -1
- package/.next/standalone/.next/static/chunks/{webpack-0cfb048137bd7fce.js → webpack-86ee88827adb756d.js} +1 -1
- package/.next/standalone/CHANGELOG.md +16 -0
- package/.next/standalone/data/.artifacts-migrated-v1 +1 -1
- package/.next/standalone/data/.default-project-seeded +1 -1
- package/.next/standalone/data/madarx.sqlite +0 -0
- package/.next/standalone/data/madarx.sqlite-shm +0 -0
- package/.next/standalone/data/madarx.sqlite-wal +0 -0
- package/.next/standalone/lib/process/seeds/specs/mine-project-intake.json +12 -4
- package/.next/standalone/lib/process/seeds/specs/mine-valuation.json +6 -2
- package/.next/standalone/lib/process/stages/policy-dsl-legacy.js +178 -0
- package/.next/standalone/lib/process/stages/policy-gate.js +24 -168
- package/.next/standalone/package.json +1 -1
- package/.next/static/-LlttjOnKZXGqZXDKcj-4/_buildManifest.js +1 -0
- package/.next/static/chunks/app/projects/page-09e5c527e3ba83e2.js +1 -0
- package/.next/static/chunks/app/workflows/[caseId]/page-9949ff1c223e771d.js +1 -0
- package/.next/{standalone/.next/static/chunks/app/workflows/page-25cb2c4cb90273a8.js → static/chunks/app/workflows/page-d0484521369bce4c.js} +1 -1
- package/.next/static/chunks/{webpack-0cfb048137bd7fce.js → webpack-86ee88827adb756d.js} +1 -1
- package/CHANGELOG.md +16 -0
- package/ai-docs/process-engine.md +33 -1
- package/app/api/processes/start-and-route/route.js +5 -3
- package/app/workflows/[caseId]/case-detail-client.jsx +2 -2
- package/app/workflows/definition-card.jsx +12 -18
- package/app/workflows/new/[caseId]/page.js +8 -8
- package/app/workflows/page.js +0 -5
- package/app/workflows/share/[caseId]/page.js +0 -1
- package/lib/process/artifacts.js +12 -60
- package/lib/process/engine.js +5 -5
- package/lib/process/policy-predicates.js +116 -0
- package/lib/process/seeds/specs/mine-project-intake.json +12 -4
- package/lib/process/seeds/specs/mine-valuation.json +6 -2
- package/lib/process/spec-validator.js +46 -1
- package/lib/process/stages/policy-dsl-legacy.js +178 -0
- package/lib/process/stages/policy-gate.js +24 -168
- package/package.json +1 -1
- package/scripts/postbuild-standalone.mjs +9 -0
- package/.next/standalone/.next/server/app/workflows/new/page.js +0 -2
- package/.next/standalone/.next/server/app/workflows/new/page.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/workflows/new/page_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/static/cR6E_4o8_rHXujVNesWiZ/_buildManifest.js +0 -1
- package/.next/standalone/.next/static/chunks/app/projects/page-2166c214f854766e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/workflows/[caseId]/page-423e4c194c7f5bf5.js +0 -1
- package/.next/standalone/.next/static/chunks/app/workflows/new/page-1eda41616cbfc4f3.js +0 -1
- package/.next/static/cR6E_4o8_rHXujVNesWiZ/_buildManifest.js +0 -1
- package/.next/static/chunks/app/projects/page-2166c214f854766e.js +0 -1
- package/.next/static/chunks/app/workflows/[caseId]/page-423e4c194c7f5bf5.js +0 -1
- package/.next/static/chunks/app/workflows/new/page-1eda41616cbfc4f3.js +0 -1
- package/app/workflows/new/new-case-flow.jsx +0 -256
- package/app/workflows/new/page.js +0 -27
- /package/.next/standalone/.next/static/{cR6E_4o8_rHXujVNesWiZ → -LlttjOnKZXGqZXDKcj-4}/_ssgManifest.js +0 -0
- /package/.next/static/{cR6E_4o8_rHXujVNesWiZ → -LlttjOnKZXGqZXDKcj-4}/_ssgManifest.js +0 -0
|
@@ -172,7 +172,7 @@ EXTERNAL DELIVERY: the readiness report is a local artifact (private ACL by
|
|
|
172
172
|
default). Any external delivery requires explicit user confirmation; email_send
|
|
173
173
|
is irreversible_external and always shows its approval banner.
|
|
174
174
|
|
|
175
|
-
LANGUAGE: English. Spanish source terms preserved in parentheses on first use.`}];function h(){try{let a=(0,e.Lf)();for(let b of i)a.prepare("SELECT id FROM agents WHERE id = ?").get(b.id)||(0,f.Sn)({id:b.id,name:b.name,engine:b.engine,schedule:b.schedule||"on demand",role:b.role,title:b.title,tools:b.tools,system_prompt:b.system_prompt,type:"mines",suppress_live_event:!0})}catch(a){console.warn("[mines/seeds] seedMinesAgents failed:",a?.message||a)}}d()}catch(a){d(a)}})},5972:(a,b,c)=>{"use strict";function d(a,b=null){if(!a)return b;try{return JSON.parse(a)}catch{return b}}function e(a){try{let b=a.prepare("SELECT slug FROM marketplace_items WHERE kind = 'agent'").all();return new Set(b.map(a=>a.slug))}catch{return new Set}}c.d(b,{oi:()=>d,qY:()=>e})},6390:(a,b,c)=>{"use strict";c.d(b,{NS:()=>l,YO:()=>j,rd:()=>g});var d=c(73024),e=c(76760),f=c(73136);let g="madarx",h=`https://registry.npmjs.org/${g}/latest`,i=e.dirname((0,f.fileURLToPath)("file:///home/runner/work/madarx-os/madarx-os/lib/update-check.js"));function j(){if(process.env.MADARX_VERSION)return process.env.MADARX_VERSION;for(let a of[e.join(i,"..","package.json"),e.join(process.cwd(),"package.json"),e.join(process.cwd(),".next","standalone","package.json")]){let b=function(a){try{let b=JSON.parse(d.readFileSync(a,"utf8"));if(b&&b.name===g&&b.version)return b.version}catch{}return null}(a);if(b)return b}return"0.0.0"}async function k({fetchImpl:a=fetch,timeoutMs:b=4e3}={}){try{let c=await a(h,{signal:AbortSignal.timeout(b)});if(!c.ok)return null;let d=await c.json();return d?.version||null}catch{return null}}async function l({file:a,current:b=j(),fetchImpl:c=fetch,nowIso:f}={}){let g=await k({fetchImpl:c}),h=f||new Date().toISOString();if(!g){let c=a?function(a){try{return JSON.parse(d.readFileSync(a,"utf8"))}catch{return null}}(a):null;return{ts:h,current:b,latest:c?.latest||null,behind:!1,reachable:!1}}let i=function(a,b){let c=a=>String(a).split("-")[0].split(".").slice(0,3).map(a=>parseInt(a,10)||0),d=c(a),e=c(b);for(let a=0;a<Math.max(d.length,e.length);a++){let b=(d[a]||0)-(e[a]||0);if(0!==b)return b>0?1:-1}return 0}(g,b)>0,m={ts:h,current:b,latest:g,behind:i,reachable:!0};return a&&(d.mkdirSync(e.dirname(a),{recursive:!0}),d.writeFileSync(a,JSON.stringify(m,null,2))),m}},6468:(a,b,c)=>{"use strict";c.d(b,{default:()=>m});var d=c(21124),e=c(38301),f=c(23312),g=c(43815),h=c(85708);let i=(0,h.createServerReference)("40ab5a4206ede782a1564bd15ede8850606ae1e110",h.callServer,void 0,h.findSourceMapURL,"createProjectAction");var j=c(54151);let k=[{value:"#c2452a",name:"Mars Red"},{value:"#a83a22",name:"Deep Red"},{value:"#7c2b19",name:"Dark Red"},{value:"#111318",name:"Charcoal"},{value:"#3f3a30",name:"Warm Black"},{value:"#68707b",name:"Slate"},{value:"#cdb78a",name:"Warm Sand"},{value:"#1f6c9f",name:"Skill Blue"}];function l(){let{pending:a}=(0,f.useFormStatus)();return(0,d.jsx)("button",{type:"submit",className:"admin-button",disabled:a,"aria-busy":a?"true":void 0,children:a?"Creating…":"Create project"})}function m({workspaceRoot:a="~/workspace/projects"}){let[b,c]=e.useState(!1),[f,h]=e.useState(""),[m,n]=e.useState("workspace"),[o,p]=e.useState(""),q=e.useRef(null),r=e.useMemo(()=>`${a.replace(/\/$/,"")}/${String(f||"").toLowerCase().trim().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,64)||"project"}`,[a,f]);return e.useEffect(()=>{"custom"===m&&q.current?.focus()},[m]),(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("button",{type:"button",className:"admin-button agents-new-cta",onClick:()=>c(!0),children:[(0,d.jsx)("span",{"aria-hidden":!0,className:"agents-new-cta-glyph",children:"+"}),"New project"]}),(0,d.jsx)(g.A,{open:b,onClose:()=>c(!1),eyebrow:"New project",title:"Create a project",children:(0,d.jsxs)("form",{className:"agents-modal-form",action:i,children:[(0,d.jsx)("p",{className:"agents-modal-help",children:"Scope agents, documents, memory, and integrations together."}),(0,d.jsx)("section",{className:"agents-modal-section",children:(0,d.jsxs)("label",{className:"agents-modal-field wide",children:[(0,d.jsx)("span",{children:"Name"}),(0,d.jsx)("input",{name:"name",type:"text",required:!0,placeholder:"Acme Co.",autoComplete:"off",value:f,onChange:a=>h(a.target.value),autoFocus:!0})]})}),(0,d.jsxs)("section",{className:"agents-modal-section",children:[(0,d.jsxs)("div",{className:"agents-modal-section-head",children:[(0,d.jsx)("span",{children:"Folder location"}),(0,d.jsx)("small",{children:"Where this project lives on disk."})]}),(0,d.jsxs)("div",{className:"agents-modal-radio-group",children:[(0,d.jsxs)("label",{className:`agents-modal-radio ${"workspace"===m?"on":""}`,children:[(0,d.jsx)("input",{type:"radio",name:"folder_mode",value:"workspace",checked:"workspace"===m,onChange:()=>n("workspace")}),(0,d.jsxs)("span",{className:"agents-modal-radio-body",children:[(0,d.jsx)("b",{children:"madarX workspace"}),(0,d.jsx)("code",{title:r,children:function(a,b=48){if(!a||a.length<=b)return a;let c=a.slice(0,Math.floor(b/2)-1),d=a.slice(a.length-Math.floor(b/2)+2);return`${c}…${d}`}(r)})]})]}),(0,d.jsxs)("label",{className:`agents-modal-radio ${"custom"===m?"on":""}`,children:[(0,d.jsx)("input",{type:"radio",name:"folder_mode",value:"custom",checked:"custom"===m,onChange:()=>n("custom")}),(0,d.jsxs)("span",{className:"agents-modal-radio-body",children:[(0,d.jsx)("b",{children:"Custom path"}),(0,d.jsx)("small",{children:"Any absolute folder. Created if missing."})]})]})]}),"custom"===m?(0,d.jsx)(j.A,{inputRef:q,value:o,onChange:p}):(0,d.jsx)("input",{type:"hidden",name:"folder_path",value:""})]}),(0,d.jsxs)("section",{className:"agents-modal-section",children:[(0,d.jsxs)("div",{className:"agents-modal-section-head",children:[(0,d.jsx)("span",{children:"Color"}),(0,d.jsx)("small",{children:"Used for the project tile across the app."})]}),(0,d.jsxs)("fieldset",{className:"agents-modal-swatches",children:[(0,d.jsx)("legend",{className:"visually-hidden",children:"Project color"}),k.map(a=>(0,d.jsxs)("label",{className:"agents-modal-swatch",style:{"--swatch":a.value},children:[(0,d.jsx)("input",{type:"radio",name:"color",value:a.value,defaultChecked:"#c2452a"===a.value}),(0,d.jsx)("span",{className:"agents-modal-swatch-ring","aria-hidden":"true"}),(0,d.jsx)("span",{className:"visually-hidden",children:a.name})]},a.value))]})]}),(0,d.jsxs)("section",{className:"agents-modal-section",children:[(0,d.jsxs)("div",{className:"agents-modal-section-head",children:[(0,d.jsx)("span",{children:"Description"}),(0,d.jsx)("small",{children:"Used as context for agents working in this project."})]}),(0,d.jsx)("label",{className:"agents-modal-field wide",children:(0,d.jsx)("textarea",{name:"description",rows:3,placeholder:"What is this project for? Goals, audience, voice, constraints."})})]}),(0,d.jsxs)("footer",{className:"agents-modal-foot",children:[(0,d.jsx)("button",{type:"button",className:"admin-button secondary",onClick:()=>c(!1),children:"Cancel"}),(0,d.jsx)(l,{})]})]})})]})}},6946:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{revalidatePath:function(){return n},revalidateTag:function(){return k},unstable_expirePath:function(){return l},unstable_expireTag:function(){return m}});let d=c(90151),e=c(30598),f=c(73443),g=c(29294),h=c(63033),i=c(52577),j=c(58871);function k(a){return o([a],`revalidateTag ${a}`)}function l(a,b){if(a.length>f.NEXT_CACHE_SOFT_TAG_MAX_LENGTH)return void console.warn(`Warning: expirePath received "${a}" which exceeded max length of ${f.NEXT_CACHE_SOFT_TAG_MAX_LENGTH}. See more info here https://nextjs.org/docs/app/api-reference/functions/unstable_expirePath`);let c=`${f.NEXT_CACHE_IMPLICIT_TAG_ID}${a}`;return b?c+=`${c.endsWith("/")?"":"/"}${b}`:(0,e.isDynamicRoute)(a)&&console.warn(`Warning: a dynamic page path "${a}" was passed to "expirePath", but the "type" parameter is missing. This has no effect by default, see more info here https://nextjs.org/docs/app/api-reference/functions/unstable_expirePath`),o([c],`unstable_expirePath ${a}`)}function m(...a){return o(a,`unstable_expireTag ${a.join(", ")}`)}function n(a,b){if(a.length>f.NEXT_CACHE_SOFT_TAG_MAX_LENGTH)return void console.warn(`Warning: revalidatePath received "${a}" which exceeded max length of ${f.NEXT_CACHE_SOFT_TAG_MAX_LENGTH}. See more info here https://nextjs.org/docs/app/api-reference/functions/revalidatePath`);let c=`${f.NEXT_CACHE_IMPLICIT_TAG_ID}${a}`;return b?c+=`${c.endsWith("/")?"":"/"}${b}`:(0,e.isDynamicRoute)(a)&&console.warn(`Warning: a dynamic page path "${a}" was passed to "revalidatePath", but the "type" parameter is missing. This has no effect by default, see more info here https://nextjs.org/docs/app/api-reference/functions/revalidatePath`),o([c],`revalidatePath ${a}`)}function o(a,b){let c=g.workAsyncStorage.getStore();if(!c||!c.incrementalCache)throw Object.defineProperty(Error(`Invariant: static generation store missing in ${b}`),"__NEXT_ERROR_CODE",{value:"E263",enumerable:!1,configurable:!0});let e=h.workUnitAsyncStorage.getStore();if(e){if("render"===e.phase)throw Object.defineProperty(Error(`Route ${c.route} used "${b}" during render which is unsupported. To ensure revalidation is performed consistently it must always happen outside of renders and cached functions. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E7",enumerable:!1,configurable:!0});switch(e.type){case"cache":case"private-cache":throw Object.defineProperty(Error(`Route ${c.route} used "${b}" inside a "use cache" which is unsupported. To ensure revalidation is performed consistently it must always happen outside of renders and cached functions. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E181",enumerable:!1,configurable:!0});case"unstable-cache":throw Object.defineProperty(Error(`Route ${c.route} used "${b}" inside a function cached with "unstable_cache(...)" which is unsupported. To ensure revalidation is performed consistently it must always happen outside of renders and cached functions. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E306",enumerable:!1,configurable:!0});case"prerender":case"prerender-runtime":let a=Object.defineProperty(Error(`Route ${c.route} used ${b} without first calling \`await connection()\`.`),"__NEXT_ERROR_CODE",{value:"E406",enumerable:!1,configurable:!0});return(0,d.abortAndThrowOnSynchronousRequestDataAccess)(c.route,b,a,e);case"prerender-client":throw Object.defineProperty(new j.InvariantError(`${b} must not be used within a client component. Next.js should be preventing ${b} from being included in client components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E693",enumerable:!1,configurable:!0});case"prerender-ppr":return(0,d.postponeWithTracking)(c.route,b,e.dynamicTracking);case"prerender-legacy":e.revalidate=0;let f=Object.defineProperty(new i.DynamicServerError(`Route ${c.route} couldn't be rendered statically because it used \`${b}\`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`),"__NEXT_ERROR_CODE",{value:"E558",enumerable:!1,configurable:!0});throw c.dynamicUsageDescription=b,c.dynamicUsageStack=f.stack,f}}for(let b of(c.pendingRevalidatedTags||(c.pendingRevalidatedTags=[]),a))c.pendingRevalidatedTags.includes(b)||c.pendingRevalidatedTags.push(b);c.pathWasRevalidated=!0}},7265:a=>{"use strict";var b=Object.defineProperty,c=Object.getOwnPropertyDescriptor,d=Object.getOwnPropertyNames,e=Object.prototype.hasOwnProperty,f={};function g(a){var b;let c=["path"in a&&a.path&&`Path=${a.path}`,"expires"in a&&(a.expires||0===a.expires)&&`Expires=${("number"==typeof a.expires?new Date(a.expires):a.expires).toUTCString()}`,"maxAge"in a&&"number"==typeof a.maxAge&&`Max-Age=${a.maxAge}`,"domain"in a&&a.domain&&`Domain=${a.domain}`,"secure"in a&&a.secure&&"Secure","httpOnly"in a&&a.httpOnly&&"HttpOnly","sameSite"in a&&a.sameSite&&`SameSite=${a.sameSite}`,"partitioned"in a&&a.partitioned&&"Partitioned","priority"in a&&a.priority&&`Priority=${a.priority}`].filter(Boolean),d=`${a.name}=${encodeURIComponent(null!=(b=a.value)?b:"")}`;return 0===c.length?d:`${d}; ${c.join("; ")}`}function h(a){let b=new Map;for(let c of a.split(/; */)){if(!c)continue;let a=c.indexOf("=");if(-1===a){b.set(c,"true");continue}let[d,e]=[c.slice(0,a),c.slice(a+1)];try{b.set(d,decodeURIComponent(null!=e?e:"true"))}catch{}}return b}function i(a){if(!a)return;let[[b,c],...d]=h(a),{domain:e,expires:f,httponly:g,maxage:i,path:l,samesite:m,secure:n,partitioned:o,priority:p}=Object.fromEntries(d.map(([a,b])=>[a.toLowerCase().replace(/-/g,""),b]));{var q,r,s={name:b,value:decodeURIComponent(c),domain:e,...f&&{expires:new Date(f)},...g&&{httpOnly:!0},..."string"==typeof i&&{maxAge:Number(i)},path:l,...m&&{sameSite:j.includes(q=(q=m).toLowerCase())?q:void 0},...n&&{secure:!0},...p&&{priority:k.includes(r=(r=p).toLowerCase())?r:void 0},...o&&{partitioned:!0}};let a={};for(let b in s)s[b]&&(a[b]=s[b]);return a}}((a,c)=>{for(var d in c)b(a,d,{get:c[d],enumerable:!0})})(f,{RequestCookies:()=>l,ResponseCookies:()=>m,parseCookie:()=>h,parseSetCookie:()=>i,stringifyCookie:()=>g}),a.exports=((a,f,g,h)=>{if(f&&"object"==typeof f||"function"==typeof f)for(let i of d(f))e.call(a,i)||i===g||b(a,i,{get:()=>f[i],enumerable:!(h=c(f,i))||h.enumerable});return a})(b({},"__esModule",{value:!0}),f);var j=["strict","lax","none"],k=["low","medium","high"],l=class{constructor(a){this._parsed=new Map,this._headers=a;let b=a.get("cookie");if(b)for(let[a,c]of h(b))this._parsed.set(a,{name:a,value:c})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...a){let b="string"==typeof a[0]?a[0]:a[0].name;return this._parsed.get(b)}getAll(...a){var b;let c=Array.from(this._parsed);if(!a.length)return c.map(([a,b])=>b);let d="string"==typeof a[0]?a[0]:null==(b=a[0])?void 0:b.name;return c.filter(([a])=>a===d).map(([a,b])=>b)}has(a){return this._parsed.has(a)}set(...a){let[b,c]=1===a.length?[a[0].name,a[0].value]:a,d=this._parsed;return d.set(b,{name:b,value:c}),this._headers.set("cookie",Array.from(d).map(([a,b])=>g(b)).join("; ")),this}delete(a){let b=this._parsed,c=Array.isArray(a)?a.map(a=>b.delete(a)):b.delete(a);return this._headers.set("cookie",Array.from(b).map(([a,b])=>g(b)).join("; ")),c}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(a=>`${a.name}=${encodeURIComponent(a.value)}`).join("; ")}},m=class{constructor(a){var b,c,d;this._parsed=new Map,this._headers=a;let e=null!=(d=null!=(c=null==(b=a.getSetCookie)?void 0:b.call(a))?c:a.get("set-cookie"))?d:[];for(let a of Array.isArray(e)?e:function(a){if(!a)return[];var b,c,d,e,f,g=[],h=0;function i(){for(;h<a.length&&/\s/.test(a.charAt(h));)h+=1;return h<a.length}for(;h<a.length;){for(b=h,f=!1;i();)if(","===(c=a.charAt(h))){for(d=h,h+=1,i(),e=h;h<a.length&&"="!==(c=a.charAt(h))&&";"!==c&&","!==c;)h+=1;h<a.length&&"="===a.charAt(h)?(f=!0,h=e,g.push(a.substring(b,d)),b=h):h=d+1}else h+=1;(!f||h>=a.length)&&g.push(a.substring(b,a.length))}return g}(e)){let b=i(a);b&&this._parsed.set(b.name,b)}}get(...a){let b="string"==typeof a[0]?a[0]:a[0].name;return this._parsed.get(b)}getAll(...a){var b;let c=Array.from(this._parsed.values());if(!a.length)return c;let d="string"==typeof a[0]?a[0]:null==(b=a[0])?void 0:b.name;return c.filter(a=>a.name===d)}has(a){return this._parsed.has(a)}set(...a){let[b,c,d]=1===a.length?[a[0].name,a[0].value,a[0]]:a,e=this._parsed;return e.set(b,function(a={name:"",value:""}){return"number"==typeof a.expires&&(a.expires=new Date(a.expires)),a.maxAge&&(a.expires=new Date(Date.now()+1e3*a.maxAge)),(null===a.path||void 0===a.path)&&(a.path="/"),a}({name:b,value:c,...d})),function(a,b){for(let[,c]of(b.delete("set-cookie"),a)){let a=g(c);b.append("set-cookie",a)}}(e,this._headers),this}delete(...a){let[b,c]="string"==typeof a[0]?[a[0]]:[a[0].name,a[0]];return this.set({...c,name:b,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(g).join("; ")}}},7346:(a,b,c)=>{"use strict";c.d(b,{K2:()=>j});var d=c(77598),e=c(73024),f=c(76760);let g=null;function h(){return process.env.MADARX_ENV_FILE||f.join(process.cwd(),".env.local")}function i(a){return a?a.split("\n").map(a=>a.trim()).filter(a=>a.startsWith("MADARX_MASTER_KEY=")).map(a=>a.slice(18).replace(/^["']|["']$/g,"").trim()):[]}function j({db:a=null,allowGenerate:b=!0}={}){if(g)return g;try{let a=function(a=h()){let b="";try{b=e.readFileSync(a,"utf8")}catch(a){if("ENOENT"!==a.code)throw a;return null}let c=i(b);return c.length<=1||1===new Set(c).size?null:{file:a,keys:c}}();a&&console.warn(`[secrets] WARNING: ${a.file} contains ${a.keys.length} different MADARX_MASTER_KEY lines. Only one will be loaded (first-wins) and vault rows encrypted with any other key will silently fail to decrypt. Fix the file so only one MADARX_MASTER_KEY= line remains.`)}catch{}try{for(let{file:a,mode:b}of function({extraDirs:a=[]}={}){let b=[],c=[process.cwd(),f.join(process.env.HOME||"",".madarx"),...a].filter(Boolean),d=/^\.env(\.[^/]+)?\.(bak|backup)(-.*)?$/;for(let a of c){let c;try{c=e.readdirSync(a)}catch{continue}for(let g of c){let c;if(!d.test(g))continue;let h=f.join(a,g);try{c=e.statSync(h)}catch{continue}if(!c.isFile())continue;let i=511&c.mode;i>384&&b.push({file:h,mode:i})}}return b}())console.warn(`[secrets] WARNING: ${a} has mode ${b.toString(8)} (expected 600). This backup likely contains credentials and is readable by other local users. Fix: chmod 600 "${a}" — or delete the file if no longer needed.`)}catch{}let c=process.env.MADARX_MASTER_KEY;if(c){let a=Buffer.from(c,"base64");if(32!==a.length)throw Error(`MADARX_MASTER_KEY must be a base64-encoded 32-byte key (got ${a.length} bytes). Generate a new key with: node -e "console.log(require('node:crypto').randomBytes(32).toString('base64'))"`);return g=a}if(a&&function(a){try{return!!a.prepare("SELECT id FROM secrets WHERE status = ? LIMIT 1").get("active")}catch{return!1}}(a))throw Error("MADARX_MASTER_KEY is not set but the secrets vault has stored credentials.\nSet the env var to your master key before starting:\n export MADARX_MASTER_KEY=<your-base64-key>\n\nIf you have lost the key, the vault contents are unrecoverable. You will need to\ndelete all rows from the secrets table and re-add credentials from scratch.");if(!b)throw Error("MADARX_MASTER_KEY is not set. Set it before using the secrets vault.");return g=function(){let a=(0,d.randomBytes)(32),b=a.toString("base64"),c=h(),g="";try{g=e.readFileSync(c,"utf8")}catch(a){if("ENOENT"!==a.code)throw a}let j=i(g);if(j.length>0)throw Error(`MADARX_MASTER_KEY is already present in ${c} (${j.length} entr${1===j.length?"y":"ies"} found). Refusing to append a second key — that would corrupt the vault. Either export MADARX_MASTER_KEY in your shell before starting, or fix .env.local by hand so only one MADARX_MASTER_KEY= line remains.`);let k=`
|
|
175
|
+
LANGUAGE: English. Spanish source terms preserved in parentheses on first use.`}];function h(){try{let a=(0,e.Lf)();for(let b of i)a.prepare("SELECT id FROM agents WHERE id = ?").get(b.id)||(0,f.Sn)({id:b.id,name:b.name,engine:b.engine,schedule:b.schedule||"on demand",role:b.role,title:b.title,tools:b.tools,system_prompt:b.system_prompt,type:"mines",suppress_live_event:!0})}catch(a){console.warn("[mines/seeds] seedMinesAgents failed:",a?.message||a)}}d()}catch(a){d(a)}})},5972:(a,b,c)=>{"use strict";function d(a,b=null){if(!a)return b;try{return JSON.parse(a)}catch{return b}}function e(a){try{let b=a.prepare("SELECT slug FROM marketplace_items WHERE kind = 'agent'").all();return new Set(b.map(a=>a.slug))}catch{return new Set}}c.d(b,{oi:()=>d,qY:()=>e})},6390:(a,b,c)=>{"use strict";c.d(b,{NS:()=>l,YO:()=>j,rd:()=>g});var d=c(73024),e=c(76760),f=c(73136);let g="madarx",h=`https://registry.npmjs.org/${g}/latest`,i=e.dirname((0,f.fileURLToPath)("file:///home/runner/work/madarx-os/madarx-os/lib/update-check.js"));function j(){if(process.env.MADARX_VERSION)return process.env.MADARX_VERSION;for(let a of[e.join(i,"..","package.json"),e.join(process.cwd(),"package.json"),e.join(process.cwd(),".next","standalone","package.json")]){let b=function(a){try{let b=JSON.parse(d.readFileSync(a,"utf8"));if(b&&b.name===g&&b.version)return b.version}catch{}return null}(a);if(b)return b}return"0.0.0"}async function k({fetchImpl:a=fetch,timeoutMs:b=4e3}={}){try{let c=await a(h,{signal:AbortSignal.timeout(b)});if(!c.ok)return null;let d=await c.json();return d?.version||null}catch{return null}}async function l({file:a,current:b=j(),fetchImpl:c=fetch,nowIso:f}={}){let g=await k({fetchImpl:c}),h=f||new Date().toISOString();if(!g){let c=a?function(a){try{return JSON.parse(d.readFileSync(a,"utf8"))}catch{return null}}(a):null;return{ts:h,current:b,latest:c?.latest||null,behind:!1,reachable:!1}}let i=function(a,b){let c=a=>String(a).split("-")[0].split(".").slice(0,3).map(a=>parseInt(a,10)||0),d=c(a),e=c(b);for(let a=0;a<Math.max(d.length,e.length);a++){let b=(d[a]||0)-(e[a]||0);if(0!==b)return b>0?1:-1}return 0}(g,b)>0,m={ts:h,current:b,latest:g,behind:i,reachable:!0};return a&&(d.mkdirSync(e.dirname(a),{recursive:!0}),d.writeFileSync(a,JSON.stringify(m,null,2))),m}},6946:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{revalidatePath:function(){return n},revalidateTag:function(){return k},unstable_expirePath:function(){return l},unstable_expireTag:function(){return m}});let d=c(90151),e=c(30598),f=c(73443),g=c(29294),h=c(63033),i=c(52577),j=c(58871);function k(a){return o([a],`revalidateTag ${a}`)}function l(a,b){if(a.length>f.NEXT_CACHE_SOFT_TAG_MAX_LENGTH)return void console.warn(`Warning: expirePath received "${a}" which exceeded max length of ${f.NEXT_CACHE_SOFT_TAG_MAX_LENGTH}. See more info here https://nextjs.org/docs/app/api-reference/functions/unstable_expirePath`);let c=`${f.NEXT_CACHE_IMPLICIT_TAG_ID}${a}`;return b?c+=`${c.endsWith("/")?"":"/"}${b}`:(0,e.isDynamicRoute)(a)&&console.warn(`Warning: a dynamic page path "${a}" was passed to "expirePath", but the "type" parameter is missing. This has no effect by default, see more info here https://nextjs.org/docs/app/api-reference/functions/unstable_expirePath`),o([c],`unstable_expirePath ${a}`)}function m(...a){return o(a,`unstable_expireTag ${a.join(", ")}`)}function n(a,b){if(a.length>f.NEXT_CACHE_SOFT_TAG_MAX_LENGTH)return void console.warn(`Warning: revalidatePath received "${a}" which exceeded max length of ${f.NEXT_CACHE_SOFT_TAG_MAX_LENGTH}. See more info here https://nextjs.org/docs/app/api-reference/functions/revalidatePath`);let c=`${f.NEXT_CACHE_IMPLICIT_TAG_ID}${a}`;return b?c+=`${c.endsWith("/")?"":"/"}${b}`:(0,e.isDynamicRoute)(a)&&console.warn(`Warning: a dynamic page path "${a}" was passed to "revalidatePath", but the "type" parameter is missing. This has no effect by default, see more info here https://nextjs.org/docs/app/api-reference/functions/revalidatePath`),o([c],`revalidatePath ${a}`)}function o(a,b){let c=g.workAsyncStorage.getStore();if(!c||!c.incrementalCache)throw Object.defineProperty(Error(`Invariant: static generation store missing in ${b}`),"__NEXT_ERROR_CODE",{value:"E263",enumerable:!1,configurable:!0});let e=h.workUnitAsyncStorage.getStore();if(e){if("render"===e.phase)throw Object.defineProperty(Error(`Route ${c.route} used "${b}" during render which is unsupported. To ensure revalidation is performed consistently it must always happen outside of renders and cached functions. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E7",enumerable:!1,configurable:!0});switch(e.type){case"cache":case"private-cache":throw Object.defineProperty(Error(`Route ${c.route} used "${b}" inside a "use cache" which is unsupported. To ensure revalidation is performed consistently it must always happen outside of renders and cached functions. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E181",enumerable:!1,configurable:!0});case"unstable-cache":throw Object.defineProperty(Error(`Route ${c.route} used "${b}" inside a function cached with "unstable_cache(...)" which is unsupported. To ensure revalidation is performed consistently it must always happen outside of renders and cached functions. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E306",enumerable:!1,configurable:!0});case"prerender":case"prerender-runtime":let a=Object.defineProperty(Error(`Route ${c.route} used ${b} without first calling \`await connection()\`.`),"__NEXT_ERROR_CODE",{value:"E406",enumerable:!1,configurable:!0});return(0,d.abortAndThrowOnSynchronousRequestDataAccess)(c.route,b,a,e);case"prerender-client":throw Object.defineProperty(new j.InvariantError(`${b} must not be used within a client component. Next.js should be preventing ${b} from being included in client components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E693",enumerable:!1,configurable:!0});case"prerender-ppr":return(0,d.postponeWithTracking)(c.route,b,e.dynamicTracking);case"prerender-legacy":e.revalidate=0;let f=Object.defineProperty(new i.DynamicServerError(`Route ${c.route} couldn't be rendered statically because it used \`${b}\`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`),"__NEXT_ERROR_CODE",{value:"E558",enumerable:!1,configurable:!0});throw c.dynamicUsageDescription=b,c.dynamicUsageStack=f.stack,f}}for(let b of(c.pendingRevalidatedTags||(c.pendingRevalidatedTags=[]),a))c.pendingRevalidatedTags.includes(b)||c.pendingRevalidatedTags.push(b);c.pathWasRevalidated=!0}},7265:a=>{"use strict";var b=Object.defineProperty,c=Object.getOwnPropertyDescriptor,d=Object.getOwnPropertyNames,e=Object.prototype.hasOwnProperty,f={};function g(a){var b;let c=["path"in a&&a.path&&`Path=${a.path}`,"expires"in a&&(a.expires||0===a.expires)&&`Expires=${("number"==typeof a.expires?new Date(a.expires):a.expires).toUTCString()}`,"maxAge"in a&&"number"==typeof a.maxAge&&`Max-Age=${a.maxAge}`,"domain"in a&&a.domain&&`Domain=${a.domain}`,"secure"in a&&a.secure&&"Secure","httpOnly"in a&&a.httpOnly&&"HttpOnly","sameSite"in a&&a.sameSite&&`SameSite=${a.sameSite}`,"partitioned"in a&&a.partitioned&&"Partitioned","priority"in a&&a.priority&&`Priority=${a.priority}`].filter(Boolean),d=`${a.name}=${encodeURIComponent(null!=(b=a.value)?b:"")}`;return 0===c.length?d:`${d}; ${c.join("; ")}`}function h(a){let b=new Map;for(let c of a.split(/; */)){if(!c)continue;let a=c.indexOf("=");if(-1===a){b.set(c,"true");continue}let[d,e]=[c.slice(0,a),c.slice(a+1)];try{b.set(d,decodeURIComponent(null!=e?e:"true"))}catch{}}return b}function i(a){if(!a)return;let[[b,c],...d]=h(a),{domain:e,expires:f,httponly:g,maxage:i,path:l,samesite:m,secure:n,partitioned:o,priority:p}=Object.fromEntries(d.map(([a,b])=>[a.toLowerCase().replace(/-/g,""),b]));{var q,r,s={name:b,value:decodeURIComponent(c),domain:e,...f&&{expires:new Date(f)},...g&&{httpOnly:!0},..."string"==typeof i&&{maxAge:Number(i)},path:l,...m&&{sameSite:j.includes(q=(q=m).toLowerCase())?q:void 0},...n&&{secure:!0},...p&&{priority:k.includes(r=(r=p).toLowerCase())?r:void 0},...o&&{partitioned:!0}};let a={};for(let b in s)s[b]&&(a[b]=s[b]);return a}}((a,c)=>{for(var d in c)b(a,d,{get:c[d],enumerable:!0})})(f,{RequestCookies:()=>l,ResponseCookies:()=>m,parseCookie:()=>h,parseSetCookie:()=>i,stringifyCookie:()=>g}),a.exports=((a,f,g,h)=>{if(f&&"object"==typeof f||"function"==typeof f)for(let i of d(f))e.call(a,i)||i===g||b(a,i,{get:()=>f[i],enumerable:!(h=c(f,i))||h.enumerable});return a})(b({},"__esModule",{value:!0}),f);var j=["strict","lax","none"],k=["low","medium","high"],l=class{constructor(a){this._parsed=new Map,this._headers=a;let b=a.get("cookie");if(b)for(let[a,c]of h(b))this._parsed.set(a,{name:a,value:c})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...a){let b="string"==typeof a[0]?a[0]:a[0].name;return this._parsed.get(b)}getAll(...a){var b;let c=Array.from(this._parsed);if(!a.length)return c.map(([a,b])=>b);let d="string"==typeof a[0]?a[0]:null==(b=a[0])?void 0:b.name;return c.filter(([a])=>a===d).map(([a,b])=>b)}has(a){return this._parsed.has(a)}set(...a){let[b,c]=1===a.length?[a[0].name,a[0].value]:a,d=this._parsed;return d.set(b,{name:b,value:c}),this._headers.set("cookie",Array.from(d).map(([a,b])=>g(b)).join("; ")),this}delete(a){let b=this._parsed,c=Array.isArray(a)?a.map(a=>b.delete(a)):b.delete(a);return this._headers.set("cookie",Array.from(b).map(([a,b])=>g(b)).join("; ")),c}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(a=>`${a.name}=${encodeURIComponent(a.value)}`).join("; ")}},m=class{constructor(a){var b,c,d;this._parsed=new Map,this._headers=a;let e=null!=(d=null!=(c=null==(b=a.getSetCookie)?void 0:b.call(a))?c:a.get("set-cookie"))?d:[];for(let a of Array.isArray(e)?e:function(a){if(!a)return[];var b,c,d,e,f,g=[],h=0;function i(){for(;h<a.length&&/\s/.test(a.charAt(h));)h+=1;return h<a.length}for(;h<a.length;){for(b=h,f=!1;i();)if(","===(c=a.charAt(h))){for(d=h,h+=1,i(),e=h;h<a.length&&"="!==(c=a.charAt(h))&&";"!==c&&","!==c;)h+=1;h<a.length&&"="===a.charAt(h)?(f=!0,h=e,g.push(a.substring(b,d)),b=h):h=d+1}else h+=1;(!f||h>=a.length)&&g.push(a.substring(b,a.length))}return g}(e)){let b=i(a);b&&this._parsed.set(b.name,b)}}get(...a){let b="string"==typeof a[0]?a[0]:a[0].name;return this._parsed.get(b)}getAll(...a){var b;let c=Array.from(this._parsed.values());if(!a.length)return c;let d="string"==typeof a[0]?a[0]:null==(b=a[0])?void 0:b.name;return c.filter(a=>a.name===d)}has(a){return this._parsed.has(a)}set(...a){let[b,c,d]=1===a.length?[a[0].name,a[0].value,a[0]]:a,e=this._parsed;return e.set(b,function(a={name:"",value:""}){return"number"==typeof a.expires&&(a.expires=new Date(a.expires)),a.maxAge&&(a.expires=new Date(Date.now()+1e3*a.maxAge)),(null===a.path||void 0===a.path)&&(a.path="/"),a}({name:b,value:c,...d})),function(a,b){for(let[,c]of(b.delete("set-cookie"),a)){let a=g(c);b.append("set-cookie",a)}}(e,this._headers),this}delete(...a){let[b,c]="string"==typeof a[0]?[a[0]]:[a[0].name,a[0]];return this.set({...c,name:b,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(g).join("; ")}}},7346:(a,b,c)=>{"use strict";c.d(b,{K2:()=>j});var d=c(77598),e=c(73024),f=c(76760);let g=null;function h(){return process.env.MADARX_ENV_FILE||f.join(process.cwd(),".env.local")}function i(a){return a?a.split("\n").map(a=>a.trim()).filter(a=>a.startsWith("MADARX_MASTER_KEY=")).map(a=>a.slice(18).replace(/^["']|["']$/g,"").trim()):[]}function j({db:a=null,allowGenerate:b=!0}={}){if(g)return g;try{let a=function(a=h()){let b="";try{b=e.readFileSync(a,"utf8")}catch(a){if("ENOENT"!==a.code)throw a;return null}let c=i(b);return c.length<=1||1===new Set(c).size?null:{file:a,keys:c}}();a&&console.warn(`[secrets] WARNING: ${a.file} contains ${a.keys.length} different MADARX_MASTER_KEY lines. Only one will be loaded (first-wins) and vault rows encrypted with any other key will silently fail to decrypt. Fix the file so only one MADARX_MASTER_KEY= line remains.`)}catch{}try{for(let{file:a,mode:b}of function({extraDirs:a=[]}={}){let b=[],c=[process.cwd(),f.join(process.env.HOME||"",".madarx"),...a].filter(Boolean),d=/^\.env(\.[^/]+)?\.(bak|backup)(-.*)?$/;for(let a of c){let c;try{c=e.readdirSync(a)}catch{continue}for(let g of c){let c;if(!d.test(g))continue;let h=f.join(a,g);try{c=e.statSync(h)}catch{continue}if(!c.isFile())continue;let i=511&c.mode;i>384&&b.push({file:h,mode:i})}}return b}())console.warn(`[secrets] WARNING: ${a} has mode ${b.toString(8)} (expected 600). This backup likely contains credentials and is readable by other local users. Fix: chmod 600 "${a}" — or delete the file if no longer needed.`)}catch{}let c=process.env.MADARX_MASTER_KEY;if(c){let a=Buffer.from(c,"base64");if(32!==a.length)throw Error(`MADARX_MASTER_KEY must be a base64-encoded 32-byte key (got ${a.length} bytes). Generate a new key with: node -e "console.log(require('node:crypto').randomBytes(32).toString('base64'))"`);return g=a}if(a&&function(a){try{return!!a.prepare("SELECT id FROM secrets WHERE status = ? LIMIT 1").get("active")}catch{return!1}}(a))throw Error("MADARX_MASTER_KEY is not set but the secrets vault has stored credentials.\nSet the env var to your master key before starting:\n export MADARX_MASTER_KEY=<your-base64-key>\n\nIf you have lost the key, the vault contents are unrecoverable. You will need to\ndelete all rows from the secrets table and re-add credentials from scratch.");if(!b)throw Error("MADARX_MASTER_KEY is not set. Set it before using the secrets vault.");return g=function(){let a=(0,d.randomBytes)(32),b=a.toString("base64"),c=h(),g="";try{g=e.readFileSync(c,"utf8")}catch(a){if("ENOENT"!==a.code)throw a}let j=i(g);if(j.length>0)throw Error(`MADARX_MASTER_KEY is already present in ${c} (${j.length} entr${1===j.length?"y":"ies"} found). Refusing to append a second key — that would corrupt the vault. Either export MADARX_MASTER_KEY in your shell before starting, or fix .env.local by hand so only one MADARX_MASTER_KEY= line remains.`);let k=`
|
|
176
176
|
# ============================================================
|
|
177
177
|
# WARNING: MADARX_MASTER_KEY is the encryption key for all
|
|
178
178
|
# integration credentials in the secrets vault. Keep this safe.
|
|
@@ -299,7 +299,7 @@ MADARX_MASTER_KEY=${b}
|
|
|
299
299
|
INSERT INTO mines_valuation_scenarios
|
|
300
300
|
(id, project_id, valuation_tier, scenario, assumptions_json, result_json, tier_rationale, sensitivity_json, confidence, created_by_agent_id, artifact_id, created_at)
|
|
301
301
|
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, NULL, ?, ?)
|
|
302
|
-
`).run(j,a,b.tier,c,JSON.stringify(d),JSON.stringify(f),b.reason,g?JSON.stringify(g):null,i,h,(0,e.kF)()),j})({projectId:b,tier:d,scenario:a.scenario,assumptions:a.assumptions,result:a.result,sensitivity:"base"===a.scenario?v:null,artifactId:y,confidence:"modelled"===d.confidence?.8:"moderate"===d.confidence?.6:.35}));return{status:"ok",project_id:b,tier:d.tier,tier_selection:d,t2_blocked:d.t2_blocked,t2_blocking_reason:d.t2_blocking_reason,scenario_ids:z,artifact_id:y,scenarios:k,sensitivity:v}}async function v(a={}){let b=a.scenario_id;if(!b)return{status:"error",error:"scenario_id_required"};let c=(0,e.Lf)(),d=c.prepare("SELECT * FROM mines_valuation_scenarios WHERE id = ?").get(b);if(!d)return{status:"error",error:"not_found"};if("t1_in_situ"!==d.valuation_tier)return{status:"error",error:"sensitivity_not_implemented_for_t2"};let f=l(d.assumptions_json,{}),g=(0,i.H)(f,{grade_std_au_gpt:a.grade_std_au_gpt??.1,grade_std_cu_pct:a.grade_std_cu_pct??.05});return c.prepare("UPDATE mines_valuation_scenarios SET sensitivity_json = ? WHERE id = ?").run(JSON.stringify(g),b),{status:"ok",scenario_id:b,sensitivity:g}}[e,f,j]=k.then?(await k)():k,d()}catch(a){d(a)}})},9271:(a,b,c)=>{"use strict";c.d(b,{default:()=>k});var d=c(21124),e=c(38301),f=c(23312),g=c(43815),h=c(85708);let i=(0,h.createServerReference)("4042d31a1eb062b91673d5a505d5b45e67f8e7aaf3",h.callServer,void 0,h.findSourceMapURL,"deleteProjectAction");function j({disabled:a}){let{pending:b}=(0,f.useFormStatus)();return(0,d.jsx)("button",{type:"submit",className:"admin-button danger",disabled:b||a,"aria-busy":b?"true":void 0,children:b?"Deleting…":"Delete project"})}function k({projectId:a,projectName:b,projectSlug:c,isProtected:f}){let[h,k]=e.useState(!1),[l,m]=e.useState("");if(f)return(0,d.jsxs)("span",{className:"admin-button secondary project-delete is-locked","aria-disabled":"true",title:"The Personal project is the default scope and cannot be deleted.",children:[(0,d.jsxs)("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",style:{marginRight:6,verticalAlign:"-1px"},children:[(0,d.jsx)("rect",{x:"3",y:"11",width:"18",height:"11",rx:"2"}),(0,d.jsx)("path",{d:"M7 11V7a5 5 0 0 1 10 0v4"})]}),"Protected"]});e.useEffect(()=>{h||m("")},[h]);let n=l.trim()===c;return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("button",{type:"button",className:"admin-button secondary project-delete",onClick:()=>k(!0),"aria-label":`Delete ${b}`,children:"Delete"}),(0,d.jsx)(g.A,{open:h,onClose:()=>k(!1),eyebrow:"Delete project",title:`Delete ${b}?`,tone:"danger",children:(0,d.jsxs)("form",{className:"agents-modal-form",action:i,children:[(0,d.jsx)("input",{type:"hidden",name:"project_id",value:a}),(0,d.jsx)("p",{className:"agents-modal-help",children:"This removes the project, its agents, Disk files, memory, secrets, and audit history. The folder on your local drive is left untouched."}),(0,d.jsx)("section",{className:"agents-modal-section",children:(0,d.jsxs)("label",{className:"agents-modal-field wide",children:[(0,d.jsxs)("span",{children:["Type ",(0,d.jsx)("code",{className:"agents-modal-inline-code",children:c})," to confirm"]}),(0,d.jsx)("input",{type:"text",autoComplete:"off",spellCheck:!1,value:l,onChange:a=>m(a.target.value),placeholder:c,autoFocus:!0})]})}),(0,d.jsxs)("footer",{className:"agents-modal-foot",children:[(0,d.jsx)("button",{type:"button",className:"admin-button secondary",onClick:()=>k(!1),children:"Cancel"}),(0,d.jsx)(j,{disabled:!n})]})]})})]})}},9907:(a,b,c)=>{"use strict";var d=c(28354),e=c(10407),f={stream:!0},g=Object.prototype.hasOwnProperty,h=new Map;function i(a){var b=globalThis.__next_require__(a);return"function"!=typeof b.then||"fulfilled"===b.status?null:(b.then(function(a){b.status="fulfilled",b.value=a},function(a){b.status="rejected",b.reason=a}),b)}function j(){}function k(a){for(var b=a[1],d=[],e=0;e<b.length;){var f=b[e++];b[e++];var g=h.get(f);if(void 0===g){g=c.e(f),d.push(g);var k=h.set.bind(h,f,null);g.then(k,j),h.set(f,g)}else null!==g&&d.push(g)}return 4===a.length?0===d.length?i(a[0]):Promise.all(d).then(function(){return i(a[0])}):0<d.length?Promise.all(d):null}function l(a){var b=globalThis.__next_require__(a[0]);if(4===a.length&&"function"==typeof b.then)if("fulfilled"===b.status)b=b.value;else throw b.reason;return"*"===a[2]?b:""===a[2]?b.__esModule?b.default:b:g.call(b,a[2])?b[a[2]]:void 0}var m=e.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,n=Symbol.for("react.transitional.element"),o=Symbol.for("react.lazy"),p=Symbol.iterator,q=Symbol.asyncIterator,r=Array.isArray,s=Object.getPrototypeOf,t=Object.prototype,u=new WeakMap;function v(a,b,c,d,e){function f(a,c){c=new Blob([new Uint8Array(c.buffer,c.byteOffset,c.byteLength)]);var d=i++;return null===k&&(k=new FormData),k.append(b+d,c),"$"+a+d.toString(16)}function g(a,v){if(null===v)return null;if("object"==typeof v){switch(v.$$typeof){case n:if(void 0!==c&&-1===a.indexOf(":")){var w,x,y,z,A,B=l.get(this);if(void 0!==B)return c.set(B+":"+a,v),"$T"}throw Error("React Element cannot be passed to Server Functions from the Client without a temporary reference set. Pass a TemporaryReferenceSet to the options.");case o:B=v._payload;var C=v._init;null===k&&(k=new FormData),j++;try{var D=C(B),E=i++,F=h(D,E);return k.append(b+E,F),"$"+E.toString(16)}catch(a){if("object"==typeof a&&null!==a&&"function"==typeof a.then){j++;var G=i++;return B=function(){try{var a=h(v,G),c=k;c.append(b+G,a),j--,0===j&&d(c)}catch(a){e(a)}},a.then(B,B),"$"+G.toString(16)}return e(a),null}finally{j--}}if(B=l.get(v),"function"==typeof v.then){if(void 0!==B)if(m!==v)return B;else m=null;null===k&&(k=new FormData),j++;var H=i++;return a="$@"+H.toString(16),l.set(v,a),v.then(function(a){try{var c=l.get(a),f=void 0!==c?JSON.stringify(c):h(a,H);(a=k).append(b+H,f),j--,0===j&&d(a)}catch(a){e(a)}},e),a}if(void 0!==B)if(m!==v)return B;else m=null;else -1===a.indexOf(":")&&void 0!==(B=l.get(this))&&(a=B+":"+a,l.set(v,a),void 0!==c&&c.set(a,v));if(r(v))return v;if(v instanceof FormData){null===k&&(k=new FormData);var I=k,J=b+"_"+(a=i++)+"_";return v.forEach(function(a,b){I.append(J+b,a)}),"$K"+a.toString(16)}if(v instanceof Map)return a=i++,B=h(Array.from(v),a),null===k&&(k=new FormData),k.append(b+a,B),"$Q"+a.toString(16);if(v instanceof Set)return a=i++,B=h(Array.from(v),a),null===k&&(k=new FormData),k.append(b+a,B),"$W"+a.toString(16);if(v instanceof ArrayBuffer)return a=new Blob([v]),B=i++,null===k&&(k=new FormData),k.append(b+B,a),"$A"+B.toString(16);if(v instanceof Int8Array)return f("O",v);if(v instanceof Uint8Array)return f("o",v);if(v instanceof Uint8ClampedArray)return f("U",v);if(v instanceof Int16Array)return f("S",v);if(v instanceof Uint16Array)return f("s",v);if(v instanceof Int32Array)return f("L",v);if(v instanceof Uint32Array)return f("l",v);if(v instanceof Float32Array)return f("G",v);if(v instanceof Float64Array)return f("g",v);if(v instanceof BigInt64Array)return f("M",v);if(v instanceof BigUint64Array)return f("m",v);if(v instanceof DataView)return f("V",v);if("function"==typeof Blob&&v instanceof Blob)return null===k&&(k=new FormData),a=i++,k.append(b+a,v),"$B"+a.toString(16);if(a=null===(w=v)||"object"!=typeof w?null:"function"==typeof(w=p&&w[p]||w["@@iterator"])?w:null)return(B=a.call(v))===v?(a=i++,B=h(Array.from(B),a),null===k&&(k=new FormData),k.append(b+a,B),"$i"+a.toString(16)):Array.from(B);if("function"==typeof ReadableStream&&v instanceof ReadableStream)return function(a){try{var c,f,h,l,m,n,o,p=a.getReader({mode:"byob"})}catch(l){return c=a.getReader(),null===k&&(k=new FormData),f=k,j++,h=i++,c.read().then(function a(i){if(i.done)f.append(b+h,"C"),0==--j&&d(f);else try{var k=JSON.stringify(i.value,g);f.append(b+h,k),c.read().then(a,e)}catch(a){e(a)}},e),"$R"+h.toString(16)}return l=p,null===k&&(k=new FormData),m=k,j++,n=i++,o=[],l.read(new Uint8Array(1024)).then(function a(c){c.done?(c=i++,m.append(b+c,new Blob(o)),m.append(b+n,'"$o'+c.toString(16)+'"'),m.append(b+n,"C"),0==--j&&d(m)):(o.push(c.value),l.read(new Uint8Array(1024)).then(a,e))},e),"$r"+n.toString(16)}(v);if("function"==typeof(a=v[q]))return x=v,y=a.call(v),null===k&&(k=new FormData),z=k,j++,A=i++,x=x===y,y.next().then(function a(c){if(c.done){if(void 0===c.value)z.append(b+A,"C");else try{var f=JSON.stringify(c.value,g);z.append(b+A,"C"+f)}catch(a){e(a);return}0==--j&&d(z)}else try{var h=JSON.stringify(c.value,g);z.append(b+A,h),y.next().then(a,e)}catch(a){e(a)}},e),"$"+(x?"x":"X")+A.toString(16);if((a=s(v))!==t&&(null===a||null!==s(a))){if(void 0===c)throw Error("Only plain objects, and a few built-ins, can be passed to Server Functions. Classes or null prototypes are not supported.");return"$T"}return v}if("string"==typeof v)return"Z"===v[v.length-1]&&this[a]instanceof Date?"$D"+v:a="$"===v[0]?"$"+v:v;if("boolean"==typeof v)return v;if("number"==typeof v)return Number.isFinite(v)?0===v&&-1/0==1/v?"$-0":v:1/0===v?"$Infinity":-1/0===v?"$-Infinity":"$NaN";if(void 0===v)return"$undefined";if("function"==typeof v){if(void 0!==(B=u.get(v)))return void 0!==(a=l.get(v))||(a=JSON.stringify({id:B.id,bound:B.bound},g),null===k&&(k=new FormData),B=i++,k.set(b+B,a),a="$h"+B.toString(16),l.set(v,a)),a;if(void 0!==c&&-1===a.indexOf(":")&&void 0!==(B=l.get(this)))return c.set(B+":"+a,v),"$T";throw Error("Client Functions cannot be passed directly to Server Functions. Only Functions passed from the Server can be passed back again.")}if("symbol"==typeof v){if(void 0!==c&&-1===a.indexOf(":")&&void 0!==(B=l.get(this)))return c.set(B+":"+a,v),"$T";throw Error("Symbols cannot be passed to a Server Function without a temporary reference set. Pass a TemporaryReferenceSet to the options.")}if("bigint"==typeof v)return"$n"+v.toString(10);throw Error("Type "+typeof v+" is not supported as an argument to a Server Function.")}function h(a,b){return"object"==typeof a&&null!==a&&(b="$"+b.toString(16),l.set(a,b),void 0!==c&&c.set(b,a)),m=a,JSON.stringify(a,g)}var i=1,j=0,k=null,l=new WeakMap,m=a,v=h(a,0);return null===k?d(v):(k.set(b+"0",v),0===j&&d(k)),function(){0<j&&(j=0,null===k?d(v):d(k))}}var w=new WeakMap;function x(a){var b=u.get(this);if(!b)throw Error("Tried to encode a Server Action from a different instance than the encoder is from. This is a bug in React.");var c=null;if(null!==b.bound){if((c=w.get(b))||(d={id:b.id,bound:b.bound},g=new Promise(function(a,b){e=a,f=b}),v(d,"",void 0,function(a){if("string"==typeof a){var b=new FormData;b.append("0",a),a=b}g.status="fulfilled",g.value=a,e(a)},function(a){g.status="rejected",g.reason=a,f(a)}),c=g,w.set(b,c)),"rejected"===c.status)throw c.reason;if("fulfilled"!==c.status)throw c;b=c.value;var d,e,f,g,h=new FormData;b.forEach(function(b,c){h.append("$ACTION_"+a+":"+c,b)}),c=h,b="$ACTION_REF_"+a}else b="$ACTION_ID_"+b.id;return{name:b,method:"POST",encType:"multipart/form-data",data:c}}function y(a,b){var c=u.get(this);if(!c)throw Error("Tried to encode a Server Action from a different instance than the encoder is from. This is a bug in React.");if(c.id!==a)return!1;var d=c.bound;if(null===d)return 0===b;switch(d.status){case"fulfilled":return d.value.length===b;case"pending":throw d;case"rejected":throw d.reason;default:throw"string"!=typeof d.status&&(d.status="pending",d.then(function(a){d.status="fulfilled",d.value=a},function(a){d.status="rejected",d.reason=a})),d}}function z(a,b,c,d){u.has(a)||(u.set(a,{id:b,originalBind:a.bind,bound:c}),Object.defineProperties(a,{$$FORM_ACTION:{value:void 0===d?x:function(){var a=u.get(this);if(!a)throw Error("Tried to encode a Server Action from a different instance than the encoder is from. This is a bug in React.");var b=a.bound;return null===b&&(b=Promise.resolve([])),d(a.id,b)}},$$IS_SIGNATURE_EQUAL:{value:y},bind:{value:C}}))}var A=Function.prototype.bind,B=Array.prototype.slice;function C(){var a=u.get(this);if(!a)return A.apply(this,arguments);var b=a.originalBind.apply(this,arguments),c=B.call(arguments,1),d=null;return d=null!==a.bound?Promise.resolve(a.bound).then(function(a){return a.concat(c)}):Promise.resolve(c),u.set(b,{id:a.id,originalBind:b.bind,bound:d}),Object.defineProperties(b,{$$FORM_ACTION:{value:this.$$FORM_ACTION},$$IS_SIGNATURE_EQUAL:{value:y},bind:{value:C}}),b}function D(a,b,c){this.status=a,this.value=b,this.reason=c}function E(a){switch(a.status){case"resolved_model":P(a);break;case"resolved_module":Q(a)}switch(a.status){case"fulfilled":return a.value;case"pending":case"blocked":case"halted":throw a;default:throw a.reason}}function F(a,b){for(var c=0;c<a.length;c++){var d=a[c];"function"==typeof d?d(b):U(d,b)}}function G(a,b){for(var c=0;c<a.length;c++){var d=a[c];"function"==typeof d?d(b):V(d,b)}}function H(a,b){var c=b.handler.chunk;if(null===c)return null;if(c===a)return b.handler;if(null!==(b=c.value))for(c=0;c<b.length;c++){var d=b[c];if("function"!=typeof d&&null!==(d=H(a,d)))return d}return null}function I(a,b,c){switch(a.status){case"fulfilled":F(b,a.value);break;case"blocked":for(var d=0;d<b.length;d++){var e=b[d];if("function"!=typeof e){var f=H(a,e);if(null!==f)switch(U(e,f.value),b.splice(d,1),d--,null!==c&&-1!==(e=c.indexOf(e))&&c.splice(e,1),a.status){case"fulfilled":F(b,a.value);return;case"rejected":null!==c&&G(c,a.reason);return}}}case"pending":if(a.value)for(d=0;d<b.length;d++)a.value.push(b[d]);else a.value=b;if(a.reason){if(c)for(b=0;b<c.length;b++)a.reason.push(c[b])}else a.reason=c;break;case"rejected":c&&G(c,a.reason)}}function J(a,b,c){"pending"!==b.status&&"blocked"!==b.status?b.reason.error(c):(a=b.reason,b.status="rejected",b.reason=c,null!==a&&G(a,c))}function K(a,b,c){return new D("resolved_model",(c?'{"done":true,"value":':'{"done":false,"value":')+b+"}",a)}function L(a,b,c,d){M(a,b,(d?'{"done":true,"value":':'{"done":false,"value":')+c+"}")}function M(a,b,c){if("pending"!==b.status)b.reason.enqueueModel(c);else{var d=b.value,e=b.reason;b.status="resolved_model",b.value=c,b.reason=a,null!==d&&(P(b),I(b,d,e))}}function N(a,b,c){if("pending"===b.status||"blocked"===b.status){a=b.value;var d=b.reason;b.status="resolved_module",b.value=c,b.reason=null,null!==a&&(Q(b),I(b,a,d))}}D.prototype=Object.create(Promise.prototype),D.prototype.then=function(a,b){switch(this.status){case"resolved_model":P(this);break;case"resolved_module":Q(this)}switch(this.status){case"fulfilled":"function"==typeof a&&a(this.value);break;case"pending":case"blocked":"function"==typeof a&&(null===this.value&&(this.value=[]),this.value.push(a)),"function"==typeof b&&(null===this.reason&&(this.reason=[]),this.reason.push(b));break;case"halted":break;default:"function"==typeof b&&b(this.reason)}};var O=null;function P(a){var b=O;O=null;var c=a.value,d=a.reason;a.status="blocked",a.value=null,a.reason=null;try{var e=JSON.parse(c,d._fromJSON),f=a.value;if(null!==f&&(a.value=null,a.reason=null,F(f,e)),null!==O){if(O.errored)throw O.reason;if(0<O.deps){O.value=e,O.reason=null,O.chunk=a;return}}a.status="fulfilled",a.value=e,a.reason=null}catch(b){a.status="rejected",a.reason=b}finally{O=b}}function Q(a){try{var b=l(a.value);a.status="fulfilled",a.value=b,a.reason=null}catch(b){a.status="rejected",a.reason=b}}function R(a,b){a._closed=!0,a._closedReason=b,a._chunks.forEach(function(c){"pending"===c.status?J(a,c,b):"fulfilled"===c.status&&null!==c.reason&&c.reason.error(b)})}function S(a){return{$$typeof:o,_payload:a,_init:E}}function T(a,b){var c=a._chunks,d=c.get(b);return d||(d=a._closed?new D("rejected",null,a._closedReason):new D("pending",null,null),c.set(b,d)),d}function U(a,b){var c=a.response,d=a.handler,e=a.parentObject,f=a.key,h=a.map,i=a.path;try{for(var j=1;j<i.length;j++){for(;b.$$typeof===o;){var k=b._payload;if(k===d.chunk)b=d.value;else{switch(k.status){case"resolved_model":P(k);break;case"resolved_module":Q(k)}switch(k.status){case"fulfilled":b=k.value;continue;case"blocked":var l=H(k,a);if(null!==l){b=l.value;continue}case"pending":i.splice(0,j-1),null===k.value?k.value=[a]:k.value.push(a),null===k.reason?k.reason=[a]:k.reason.push(a);return;case"halted":return;default:V(a,k.reason);return}}}var m=i[j];if("object"==typeof b&&null!==b&&g.call(b,m))b=b[m];else throw Error("Invalid reference.")}var p=h(c,b,e,f);if("__proto__"!==f&&(e[f]=p),""===f&&null===d.value&&(d.value=p),e[0]===n&&"object"==typeof d.value&&null!==d.value&&d.value.$$typeof===n){var q=d.value;"3"===f&&(q.props=p)}}catch(b){V(a,b);return}d.deps--,0===d.deps&&null!==(a=d.chunk)&&"blocked"===a.status&&(b=a.value,a.status="fulfilled",a.value=d.value,a.reason=d.reason,null!==b&&F(b,d.value))}function V(a,b){var c=a.handler;a=a.response,c.errored||(c.errored=!0,c.value=null,c.reason=b,null!==(c=c.chunk)&&"blocked"===c.status&&J(a,c,b))}function W(a,b,c,d,e,f){if(O){var g=O;g.deps++}else g=O={parent:null,chunk:null,value:null,reason:null,deps:1,errored:!1};return b={response:d,handler:g,parentObject:b,key:c,map:e,path:f},null===a.value?a.value=[b]:a.value.push(b),null===a.reason?a.reason=[b]:a.reason.push(b),null}function X(a,b,c,d){if(!a._serverReferenceConfig)return function(a,b,c){function d(){var a=Array.prototype.slice.call(arguments);return f?"fulfilled"===f.status?b(e,f.value.concat(a)):Promise.resolve(f).then(function(c){return b(e,c.concat(a))}):b(e,a)}var e=a.id,f=a.bound;return z(d,e,f,c),d}(b,a._callServer,a._encodeFormAction);var e=function(a,b){var c="",d=a[b];if(d)c=d.name;else{var e=b.lastIndexOf("#");if(-1!==e&&(c=b.slice(e+1),d=a[b.slice(0,e)]),!d)throw Error('Could not find the module "'+b+'" in the React Server Manifest. This is probably a bug in the React Server Components bundler.')}return d.async?[d.id,d.chunks,c,1]:[d.id,d.chunks,c]}(a._serverReferenceConfig,b.id),f=k(e);if(f)b.bound&&(f=Promise.all([f,b.bound]));else{if(!b.bound)return z(f=l(e),b.id,b.bound,a._encodeFormAction),f;f=Promise.resolve(b.bound)}if(O){var g=O;g.deps++}else g=O={parent:null,chunk:null,value:null,reason:null,deps:1,errored:!1};return f.then(function(){var f=l(e);if(b.bound){var h=b.bound.value.slice(0);h.unshift(null),f=f.bind.apply(f,h)}z(f,b.id,b.bound,a._encodeFormAction),"__proto__"!==d&&(c[d]=f),""===d&&null===g.value&&(g.value=f),c[0]===n&&"object"==typeof g.value&&null!==g.value&&g.value.$$typeof===n&&(h=g.value,"3"===d)&&(h.props=f),g.deps--,0===g.deps&&null!==(f=g.chunk)&&"blocked"===f.status&&(h=f.value,f.status="fulfilled",f.value=g.value,f.reason=null,null!==h&&F(h,g.value))},function(b){if(!g.errored){g.errored=!0,g.value=null,g.reason=b;var c=g.chunk;null!==c&&"blocked"===c.status&&J(a,c,b)}}),null}function Y(a,b,c,d,e){var f=parseInt((b=b.split(":"))[0],16);switch((f=T(a,f)).status){case"resolved_model":P(f);break;case"resolved_module":Q(f)}switch(f.status){case"fulfilled":var g=f.value;for(f=1;f<b.length;f++){for(;g.$$typeof===o;){switch((g=g._payload).status){case"resolved_model":P(g);break;case"resolved_module":Q(g)}switch(g.status){case"fulfilled":g=g.value;break;case"blocked":case"pending":return W(g,c,d,a,e,b.slice(f-1));case"halted":return O?(a=O,a.deps++):O={parent:null,chunk:null,value:null,reason:null,deps:1,errored:!1},null;default:return O?(O.errored=!0,O.value=null,O.reason=g.reason):O={parent:null,chunk:null,value:null,reason:g.reason,deps:0,errored:!0},null}}g=g[b[f]]}return e(a,g,c,d);case"pending":case"blocked":return W(f,c,d,a,e,b);case"halted":return O?(a=O,a.deps++):O={parent:null,chunk:null,value:null,reason:null,deps:1,errored:!1},null;default:return O?(O.errored=!0,O.value=null,O.reason=f.reason):O={parent:null,chunk:null,value:null,reason:f.reason,deps:0,errored:!0},null}}function Z(a,b){return new Map(b)}function $(a,b){return new Set(b)}function _(a,b){return new Blob(b.slice(1),{type:b[0]})}function aa(a,b){a=new FormData;for(var c=0;c<b.length;c++)a.append(b[c][0],b[c][1]);return a}function ab(a,b){return b[Symbol.iterator]()}function ac(a,b){return b}function ad(){throw Error('Trying to call a function from "use server" but the callServer option was not implemented in your router runtime.')}function ae(a,b,c,e,f,g,h){var i,j=new Map;this._bundlerConfig=a,this._serverReferenceConfig=b,this._moduleLoading=c,this._callServer=void 0!==e?e:ad,this._encodeFormAction=f,this._nonce=g,this._chunks=j,this._stringDecoder=new d.TextDecoder,this._fromJSON=null,this._closed=!1,this._closedReason=null,this._tempRefs=h,this._fromJSON=(i=this,function(a,b){if("__proto__"!==a){if("string"==typeof b){var c=i,d=this,e=a,f=b;if("$"===f[0]){if("$"===f)return null!==O&&"0"===e&&(O={parent:O,chunk:null,value:null,reason:null,deps:0,errored:!1}),n;switch(f[1]){case"$":return f.slice(1);case"L":return S(c=T(c,d=parseInt(f.slice(2),16)));case"@":return T(c,d=parseInt(f.slice(2),16));case"S":return Symbol.for(f.slice(2));case"h":return Y(c,f=f.slice(2),d,e,X);case"T":if(d="$"+f.slice(2),null==(c=c._tempRefs))throw Error("Missing a temporary reference set but the RSC response returned a temporary reference. Pass a temporaryReference option with the set that was used with the reply.");return c.get(d);case"Q":return Y(c,f=f.slice(2),d,e,Z);case"W":return Y(c,f=f.slice(2),d,e,$);case"B":return Y(c,f=f.slice(2),d,e,_);case"K":return Y(c,f=f.slice(2),d,e,aa);case"Z":return al();case"i":return Y(c,f=f.slice(2),d,e,ab);case"I":return 1/0;case"-":return"$-0"===f?-0:-1/0;case"N":return NaN;case"u":return;case"D":return new Date(Date.parse(f.slice(2)));case"n":return BigInt(f.slice(2));default:return Y(c,f=f.slice(1),d,e,ac)}}return f}if("object"==typeof b&&null!==b){if(b[0]===n){if(a={$$typeof:n,type:b[1],key:b[2],ref:null,props:b[3]},null!==O){if(O=(b=O).parent,b.errored)a=S(a=new D("rejected",null,b.reason));else if(0<b.deps){var g=new D("blocked",null,null);b.value=a,b.chunk=g,a=S(g)}}}else a=b;return a}return b}})}function af(){return{_rowState:0,_rowID:0,_rowTag:0,_rowLength:0,_buffer:[]}}function ag(a,b,c){var d=(a=a._chunks).get(b);d&&"pending"!==d.status?d.reason.enqueueValue(c):a.set(b,new D("fulfilled",c,null))}function ah(a,b,c,d){var e=a._chunks;(a=e.get(b))?"pending"===a.status&&(b=a.value,a.status="fulfilled",a.value=c,a.reason=d,null!==b&&F(b,a.value)):e.set(b,new D("fulfilled",c,d))}function ai(a,b,c){var d=null,e=!1;c=new ReadableStream({type:c,start:function(a){d=a}});var f=null;ah(a,b,c,{enqueueValue:function(a){null===f?d.enqueue(a):f.then(function(){d.enqueue(a)})},enqueueModel:function(b){if(null===f){var c=new D("resolved_model",b,a);P(c),"fulfilled"===c.status?d.enqueue(c.value):(c.then(function(a){return d.enqueue(a)},function(a){return d.error(a)}),f=c)}else{c=f;var e=new D("pending",null,null);e.then(function(a){return d.enqueue(a)},function(a){return d.error(a)}),f=e,c.then(function(){f===e&&(f=null),M(a,e,b)})}},close:function(){if(!e)if(e=!0,null===f)d.close();else{var a=f;f=null,a.then(function(){return d.close()})}},error:function(a){if(!e)if(e=!0,null===f)d.error(a);else{var b=f;f=null,b.then(function(){return d.error(a)})}}})}function aj(){return this}function ak(a,b,c){var d=[],e=!1,f=0,g={};g[q]=function(){var a,b=0;return(a={next:a=function(a){if(void 0!==a)throw Error("Values cannot be passed to next() of AsyncIterables passed to Client Components.");if(b===d.length){if(e)return new D("fulfilled",{done:!0,value:void 0},null);d[b]=new D("pending",null,null)}return d[b++]}})[q]=aj,a},ah(a,b,c?g[q]():g,{enqueueValue:function(a){if(f===d.length)d[f]=new D("fulfilled",{done:!1,value:a},null);else{var b=d[f],c=b.value,e=b.reason;b.status="fulfilled",b.value={done:!1,value:a},b.reason=null,null!==c&&I(b,c,e)}f++},enqueueModel:function(b){f===d.length?d[f]=K(a,b,!1):L(a,d[f],b,!1),f++},close:function(b){if(!e)for(e=!0,f===d.length?d[f]=K(a,b,!0):L(a,d[f],b,!0),f++;f<d.length;)L(a,d[f++],'"$undefined"',!0)},error:function(b){if(!e)for(e=!0,f===d.length&&(d[f]=new D("pending",null,null));f<d.length;)J(a,d[f++],b)}})}function al(){var a=Error("An error occurred in the Server Components render. The specific message is omitted in production builds to avoid leaking sensitive details. A digest property is included on this error instance which may provide additional details about the nature of the error.");return a.stack="Error: "+a.message,a}function am(a,b){for(var c=a.length,d=b.length,e=0;e<c;e++)d+=a[e].byteLength;d=new Uint8Array(d);for(var f=e=0;f<c;f++){var g=a[f];d.set(g,e),e+=g.byteLength}return d.set(b,e),d}function an(a,b,c,d,e,f){ag(a,b,e=new e((c=0===c.length&&0==d.byteOffset%f?d:am(c,d)).buffer,c.byteOffset,c.byteLength/f))}function ao(a,b,c,d){switch(c){case 73:var e=a,f=b,g=d,h=e._chunks,i=h.get(f);g=JSON.parse(g,e._fromJSON);var j=function(a,b){if(a){var c=a[b[0]];if(a=c&&c[b[2]])c=a.name;else{if(!(a=c&&c["*"]))throw Error('Could not find the module "'+b[0]+'" in the React Server Consumer Manifest. This is probably a bug in the React Server Components bundler.');c=b[2]}return 4===b.length?[a.id,a.chunks,c,1]:[a.id,a.chunks,c]}return b}(e._bundlerConfig,g);if(!function(a,b,c){if(null!==a)for(var d=1;d<b.length;d+=2){var e=m.d,f=e.X,g=a.prefix+b[d],h=a.crossOrigin;h="string"==typeof h?"use-credentials"===h?h:"":void 0,f.call(e,g,{crossOrigin:h,nonce:c})}}(e._moduleLoading,g[1],e._nonce),g=k(j)){if(i){var l=i;l.status="blocked"}else l=new D("blocked",null,null),h.set(f,l);g.then(function(){return N(e,l,j)},function(a){return J(e,l,a)})}else i?N(e,i,j):h.set(f,new D("resolved_module",j,null));break;case 72:switch(b=d[0],a=JSON.parse(d=d.slice(1),a._fromJSON),d=m.d,b){case"D":d.D(a);break;case"C":"string"==typeof a?d.C(a):d.C(a[0],a[1]);break;case"L":b=a[0],c=a[1],3===a.length?d.L(b,c,a[2]):d.L(b,c);break;case"m":"string"==typeof a?d.m(a):d.m(a[0],a[1]);break;case"X":"string"==typeof a?d.X(a):d.X(a[0],a[1]);break;case"S":"string"==typeof a?d.S(a):d.S(a[0],0===a[1]?void 0:a[1],3===a.length?a[2]:void 0);break;case"M":"string"==typeof a?d.M(a):d.M(a[0],a[1])}break;case 69:var n=(c=a._chunks).get(b);d=JSON.parse(d);var o=al();o.digest=d.digest,n?J(a,n,o):c.set(b,new D("rejected",null,o));break;case 84:(c=(a=a._chunks).get(b))&&"pending"!==c.status?c.reason.enqueueValue(d):a.set(b,new D("fulfilled",d,null));break;case 78:case 68:case 74:case 87:throw Error("Failed to read a RSC payload created by a development version of React on the server while using a production version on the client. Always use matching versions on the server and the client.");case 82:ai(a,b,void 0);break;case 114:ai(a,b,"bytes");break;case 88:ak(a,b,!1);break;case 120:ak(a,b,!0);break;case 67:(a=a._chunks.get(b))&&"fulfilled"===a.status&&a.reason.close(""===d?'"$undefined"':d);break;default:(n=(c=a._chunks).get(b))?M(a,n,d):c.set(b,new D("resolved_model",d,a))}}function ap(a,b,c){for(var d=0,e=b._rowState,g=b._rowID,h=b._rowTag,i=b._rowLength,j=b._buffer,k=c.length;d<k;){var l=-1;switch(e){case 0:58===(l=c[d++])?e=1:g=g<<4|(96<l?l-87:l-48);continue;case 1:84===(e=c[d])||65===e||79===e||111===e||85===e||83===e||115===e||76===e||108===e||71===e||103===e||77===e||109===e||86===e?(h=e,e=2,d++):64<e&&91>e||35===e||114===e||120===e?(h=e,e=3,d++):(h=0,e=3);continue;case 2:44===(l=c[d++])?e=4:i=i<<4|(96<l?l-87:l-48);continue;case 3:l=c.indexOf(10,d);break;case 4:(l=d+i)>c.length&&(l=-1)}var m=c.byteOffset+d;if(-1<l)(function(a,b,c,d,e){switch(c){case 65:ag(a,b,am(d,e).buffer);return;case 79:an(a,b,d,e,Int8Array,1);return;case 111:ag(a,b,0===d.length?e:am(d,e));return;case 85:an(a,b,d,e,Uint8ClampedArray,1);return;case 83:an(a,b,d,e,Int16Array,2);return;case 115:an(a,b,d,e,Uint16Array,2);return;case 76:an(a,b,d,e,Int32Array,4);return;case 108:an(a,b,d,e,Uint32Array,4);return;case 71:an(a,b,d,e,Float32Array,4);return;case 103:an(a,b,d,e,Float64Array,8);return;case 77:an(a,b,d,e,BigInt64Array,8);return;case 109:an(a,b,d,e,BigUint64Array,8);return;case 86:an(a,b,d,e,DataView,1);return}for(var g=a._stringDecoder,h="",i=0;i<d.length;i++)h+=g.decode(d[i],f);ao(a,b,c,h+=g.decode(e))})(a,g,h,j,i=new Uint8Array(c.buffer,m,l-d)),d=l,3===e&&d++,i=g=h=e=0,j.length=0;else{a=new Uint8Array(c.buffer,m,c.byteLength-d),j.push(a),i-=a.byteLength;break}}b._rowState=e,b._rowID=g,b._rowTag=h,b._rowLength=i}function aq(a){R(a,Error("Connection closed."))}function ar(){throw Error("Server Functions cannot be called during initial render. This would create a fetch waterfall. Try to use a Server Component to pass data to Client Components instead.")}function as(a){return new ae(a.serverConsumerManifest.moduleMap,a.serverConsumerManifest.serverModuleMap,a.serverConsumerManifest.moduleLoading,ar,a.encodeFormAction,"string"==typeof a.nonce?a.nonce:void 0,a&&a.temporaryReferences?a.temporaryReferences:void 0)}function at(a,b){function c(b){R(a,b)}var d=af(),e=b.getReader();e.read().then(function b(f){var g=f.value;if(!f.done)return ap(a,d,g),e.read().then(b).catch(c);aq(a)}).catch(c)}function au(){throw Error("Server Functions cannot be called during initial render. This would create a fetch waterfall. Try to use a Server Component to pass data to Client Components instead.")}b.createFromFetch=function(a,b){var c=as(b);return a.then(function(a){at(c,a.body)},function(a){R(c,a)}),T(c,0)},b.createFromNodeStream=function(a,b,c){var d=new ae(b.moduleMap,b.serverModuleMap,b.moduleLoading,au,c?c.encodeFormAction:void 0,c&&"string"==typeof c.nonce?c.nonce:void 0,void 0),e=af();return a.on("data",function(a){if("string"==typeof a){for(var b=0,c=e._rowState,f=e._rowID,g=e._rowTag,h=e._rowLength,i=e._buffer,j=a.length;b<j;){var k=-1;switch(c){case 0:58===(k=a.charCodeAt(b++))?c=1:f=f<<4|(96<k?k-87:k-48);continue;case 1:84===(c=a.charCodeAt(b))||65===c||79===c||111===c||85===c||83===c||115===c||76===c||108===c||71===c||103===c||77===c||109===c||86===c?(g=c,c=2,b++):64<c&&91>c||114===c||120===c?(g=c,c=3,b++):(g=0,c=3);continue;case 2:44===(k=a.charCodeAt(b++))?c=4:h=h<<4|(96<k?k-87:k-48);continue;case 3:k=a.indexOf("\n",b);break;case 4:if(84!==g)throw Error("Binary RSC chunks cannot be encoded as strings. This is a bug in the wiring of the React streams.");if(h<a.length||a.length>3*h)throw Error("String chunks need to be passed in their original shape. Not split into smaller string chunks. This is a bug in the wiring of the React streams.");k=a.length}if(-1<k){if(0<i.length)throw Error("String chunks need to be passed in their original shape. Not split into smaller string chunks. This is a bug in the wiring of the React streams.");ao(d,f,g,b=a.slice(b,k)),b=k,3===c&&b++,h=f=g=c=0,i.length=0}else if(a.length!==b)throw Error("String chunks need to be passed in their original shape. Not split into smaller string chunks. This is a bug in the wiring of the React streams.")}e._rowState=c,e._rowID=f,e._rowTag=g,e._rowLength=h}else ap(d,e,a)}),a.on("error",function(a){R(d,a)}),a.on("end",function(){return aq(d)}),T(d,0)},b.createFromReadableStream=function(a,b){return at(b=as(b),a),T(b,0)},b.createServerReference=function(a){function b(){var b=Array.prototype.slice.call(arguments);return ar(a,b)}return z(b,a,null,void 0),b},b.createTemporaryReferenceSet=function(){return new Map},b.encodeReply=function(a,b){return new Promise(function(c,d){var e=v(a,"",b&&b.temporaryReferences?b.temporaryReferences:void 0,c,d);if(b&&b.signal){var f=b.signal;if(f.aborted)e(f.reason);else{var g=function(){e(f.reason),f.removeEventListener("abort",g)};f.addEventListener("abort",g)}}})},b.registerServerReference=function(a,b,c){return z(a,b,null,c),a}},10021:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{D4:()=>n}),c(73024);var e=c(84104),f=c(81909),g=c(16343),h=c(38985),i=c(79336),j=a([e,f,g,h,i]);[e,f,g,h,i]=j.then?(await j)():j;let o=["openai","elevenlabs"],p="alloy",q=new Set(["alloy","echo","fable","onyx","nova","shimmer"]);function k(a,...b){let c=String(a??"");for(let a of b){if(!a)continue;let b=String(a).slice(-4);c=c.split(String(a)).join(`***${b}`)}return c}async function l({text:a,voice:b,model:c,format:d,fetchFn:e}){let g,h=(0,f.r6)("OPENAI_API_KEY")||process.env.OPENAI_API_KEY;if(!h)throw Error("OPENAI_API_KEY missing for OpenAI TTS");let i=b&&q.has(b)?b:p,j=c||"tts-1",l=d||"mp3";try{g=await e("https://api.openai.com/v1/audio/speech",{method:"POST",headers:{Authorization:`Bearer ${h}`,"Content-Type":"application/json"},body:JSON.stringify({model:j,voice:i,input:a,format:l})})}catch(a){throw Error(`openai tts failed: ${k(a?.message,h)}`)}if(!g.ok){let a="";try{a=(await g.text()).slice(0,256)}catch{}throw Error(`openai tts http ${g.status}: ${k(a,h)}`)}return{audio_buffer:Buffer.from(await g.arrayBuffer()),mime_type:"wav"===l?"audio/wav":"audio/mpeg",extension:"wav"===l?"wav":"mp3",provider:"openai",voice:i,model:j}}async function m({text:a,voice:b,model:c,format:d,fetchFn:e}){let g,h=(0,f.r6)("ELEVENLABS_API_KEY")||process.env.ELEVENLABS_API_KEY;if(!h)throw Error("ELEVENLABS_API_KEY missing for ElevenLabs TTS");let i=b||(0,f.r6)("ELEVENLABS_VOICE_ID")||process.env.ELEVENLABS_VOICE_ID||"21m00Tcm4TlvDq8ikWAM",j=c||"eleven_multilingual_v2",l="wav"===d?"pcm_16000":"mp3_44100_128";try{g=await e(`https://api.elevenlabs.io/v1/text-to-speech/${encodeURIComponent(i)}?output_format=${l}`,{method:"POST",headers:{"xi-api-key":h,"Content-Type":"application/json",Accept:"audio/mpeg"},body:JSON.stringify({text:a,model_id:j})})}catch(a){throw Error(`elevenlabs tts failed: ${k(a?.message,h)}`)}if(!g.ok){let a="";try{a=(await g.text()).slice(0,256)}catch{}throw Error(`elevenlabs tts http ${g.status}: ${k(a,h)}`)}return{audio_buffer:Buffer.from(await g.arrayBuffer()),mime_type:l.startsWith("pcm_")?"audio/wav":"audio/mpeg",extension:l.startsWith("pcm_")?"wav":"mp3",provider:"elevenlabs",voice:i,model:j}}async function n(a={}){let b=String(a.text||"").trim();if(!b)throw Error("text is required");if(b.length>4e3)throw Error("text too long: max 4000 characters");let c=String(a.provider||process.env.TTS_DEFAULT_PROVIDER||"openai").toLowerCase(),d=o.includes(c)?c:"openai",f=(0,g.N)("voice_speak",a.agent_id??null,a.fetch||fetch),j=await ("elevenlabs"===d?m:l)({text:b,voice:a.voice,model:a.model,format:a.format,fetchFn:f}),k=Math.max(500,Math.round(b.length/14*1e3)),p=null;if(a.save_to_disk&&a.project_id){let c=(0,i.U1)(a.project_id);if(c){let a=function(a){let b=(0,e.Lf)(),c=(0,h.dh)(a),d=b.prepare("SELECT * FROM disk_folders WHERE project_id = ? AND parent_id = ? AND name = ? LIMIT 1").get(a,c.id,"voice");return d||(0,h.vV)(a,c.id,"voice")}(c.id),d=b.slice(0,40).replace(/[^A-Za-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"tts";p=(0,h.QM)(c.id,a.id,{name:`${d}-${Date.now()}.${j.extension}`,buffer:j.audio_buffer,type:j.mime_type},{local_only:!1})}}try{(0,e.Lf)().prepare(`
|
|
302
|
+
`).run(j,a,b.tier,c,JSON.stringify(d),JSON.stringify(f),b.reason,g?JSON.stringify(g):null,i,h,(0,e.kF)()),j})({projectId:b,tier:d,scenario:a.scenario,assumptions:a.assumptions,result:a.result,sensitivity:"base"===a.scenario?v:null,artifactId:y,confidence:"modelled"===d.confidence?.8:"moderate"===d.confidence?.6:.35}));return{status:"ok",project_id:b,tier:d.tier,tier_selection:d,t2_blocked:d.t2_blocked,t2_blocking_reason:d.t2_blocking_reason,scenario_ids:z,artifact_id:y,scenarios:k,sensitivity:v}}async function v(a={}){let b=a.scenario_id;if(!b)return{status:"error",error:"scenario_id_required"};let c=(0,e.Lf)(),d=c.prepare("SELECT * FROM mines_valuation_scenarios WHERE id = ?").get(b);if(!d)return{status:"error",error:"not_found"};if("t1_in_situ"!==d.valuation_tier)return{status:"error",error:"sensitivity_not_implemented_for_t2"};let f=l(d.assumptions_json,{}),g=(0,i.H)(f,{grade_std_au_gpt:a.grade_std_au_gpt??.1,grade_std_cu_pct:a.grade_std_cu_pct??.05});return c.prepare("UPDATE mines_valuation_scenarios SET sensitivity_json = ? WHERE id = ?").run(JSON.stringify(g),b),{status:"ok",scenario_id:b,sensitivity:g}}[e,f,j]=k.then?(await k)():k,d()}catch(a){d(a)}})},9907:(a,b,c)=>{"use strict";var d=c(28354),e=c(10407),f={stream:!0},g=Object.prototype.hasOwnProperty,h=new Map;function i(a){var b=globalThis.__next_require__(a);return"function"!=typeof b.then||"fulfilled"===b.status?null:(b.then(function(a){b.status="fulfilled",b.value=a},function(a){b.status="rejected",b.reason=a}),b)}function j(){}function k(a){for(var b=a[1],d=[],e=0;e<b.length;){var f=b[e++];b[e++];var g=h.get(f);if(void 0===g){g=c.e(f),d.push(g);var k=h.set.bind(h,f,null);g.then(k,j),h.set(f,g)}else null!==g&&d.push(g)}return 4===a.length?0===d.length?i(a[0]):Promise.all(d).then(function(){return i(a[0])}):0<d.length?Promise.all(d):null}function l(a){var b=globalThis.__next_require__(a[0]);if(4===a.length&&"function"==typeof b.then)if("fulfilled"===b.status)b=b.value;else throw b.reason;return"*"===a[2]?b:""===a[2]?b.__esModule?b.default:b:g.call(b,a[2])?b[a[2]]:void 0}var m=e.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,n=Symbol.for("react.transitional.element"),o=Symbol.for("react.lazy"),p=Symbol.iterator,q=Symbol.asyncIterator,r=Array.isArray,s=Object.getPrototypeOf,t=Object.prototype,u=new WeakMap;function v(a,b,c,d,e){function f(a,c){c=new Blob([new Uint8Array(c.buffer,c.byteOffset,c.byteLength)]);var d=i++;return null===k&&(k=new FormData),k.append(b+d,c),"$"+a+d.toString(16)}function g(a,v){if(null===v)return null;if("object"==typeof v){switch(v.$$typeof){case n:if(void 0!==c&&-1===a.indexOf(":")){var w,x,y,z,A,B=l.get(this);if(void 0!==B)return c.set(B+":"+a,v),"$T"}throw Error("React Element cannot be passed to Server Functions from the Client without a temporary reference set. Pass a TemporaryReferenceSet to the options.");case o:B=v._payload;var C=v._init;null===k&&(k=new FormData),j++;try{var D=C(B),E=i++,F=h(D,E);return k.append(b+E,F),"$"+E.toString(16)}catch(a){if("object"==typeof a&&null!==a&&"function"==typeof a.then){j++;var G=i++;return B=function(){try{var a=h(v,G),c=k;c.append(b+G,a),j--,0===j&&d(c)}catch(a){e(a)}},a.then(B,B),"$"+G.toString(16)}return e(a),null}finally{j--}}if(B=l.get(v),"function"==typeof v.then){if(void 0!==B)if(m!==v)return B;else m=null;null===k&&(k=new FormData),j++;var H=i++;return a="$@"+H.toString(16),l.set(v,a),v.then(function(a){try{var c=l.get(a),f=void 0!==c?JSON.stringify(c):h(a,H);(a=k).append(b+H,f),j--,0===j&&d(a)}catch(a){e(a)}},e),a}if(void 0!==B)if(m!==v)return B;else m=null;else -1===a.indexOf(":")&&void 0!==(B=l.get(this))&&(a=B+":"+a,l.set(v,a),void 0!==c&&c.set(a,v));if(r(v))return v;if(v instanceof FormData){null===k&&(k=new FormData);var I=k,J=b+"_"+(a=i++)+"_";return v.forEach(function(a,b){I.append(J+b,a)}),"$K"+a.toString(16)}if(v instanceof Map)return a=i++,B=h(Array.from(v),a),null===k&&(k=new FormData),k.append(b+a,B),"$Q"+a.toString(16);if(v instanceof Set)return a=i++,B=h(Array.from(v),a),null===k&&(k=new FormData),k.append(b+a,B),"$W"+a.toString(16);if(v instanceof ArrayBuffer)return a=new Blob([v]),B=i++,null===k&&(k=new FormData),k.append(b+B,a),"$A"+B.toString(16);if(v instanceof Int8Array)return f("O",v);if(v instanceof Uint8Array)return f("o",v);if(v instanceof Uint8ClampedArray)return f("U",v);if(v instanceof Int16Array)return f("S",v);if(v instanceof Uint16Array)return f("s",v);if(v instanceof Int32Array)return f("L",v);if(v instanceof Uint32Array)return f("l",v);if(v instanceof Float32Array)return f("G",v);if(v instanceof Float64Array)return f("g",v);if(v instanceof BigInt64Array)return f("M",v);if(v instanceof BigUint64Array)return f("m",v);if(v instanceof DataView)return f("V",v);if("function"==typeof Blob&&v instanceof Blob)return null===k&&(k=new FormData),a=i++,k.append(b+a,v),"$B"+a.toString(16);if(a=null===(w=v)||"object"!=typeof w?null:"function"==typeof(w=p&&w[p]||w["@@iterator"])?w:null)return(B=a.call(v))===v?(a=i++,B=h(Array.from(B),a),null===k&&(k=new FormData),k.append(b+a,B),"$i"+a.toString(16)):Array.from(B);if("function"==typeof ReadableStream&&v instanceof ReadableStream)return function(a){try{var c,f,h,l,m,n,o,p=a.getReader({mode:"byob"})}catch(l){return c=a.getReader(),null===k&&(k=new FormData),f=k,j++,h=i++,c.read().then(function a(i){if(i.done)f.append(b+h,"C"),0==--j&&d(f);else try{var k=JSON.stringify(i.value,g);f.append(b+h,k),c.read().then(a,e)}catch(a){e(a)}},e),"$R"+h.toString(16)}return l=p,null===k&&(k=new FormData),m=k,j++,n=i++,o=[],l.read(new Uint8Array(1024)).then(function a(c){c.done?(c=i++,m.append(b+c,new Blob(o)),m.append(b+n,'"$o'+c.toString(16)+'"'),m.append(b+n,"C"),0==--j&&d(m)):(o.push(c.value),l.read(new Uint8Array(1024)).then(a,e))},e),"$r"+n.toString(16)}(v);if("function"==typeof(a=v[q]))return x=v,y=a.call(v),null===k&&(k=new FormData),z=k,j++,A=i++,x=x===y,y.next().then(function a(c){if(c.done){if(void 0===c.value)z.append(b+A,"C");else try{var f=JSON.stringify(c.value,g);z.append(b+A,"C"+f)}catch(a){e(a);return}0==--j&&d(z)}else try{var h=JSON.stringify(c.value,g);z.append(b+A,h),y.next().then(a,e)}catch(a){e(a)}},e),"$"+(x?"x":"X")+A.toString(16);if((a=s(v))!==t&&(null===a||null!==s(a))){if(void 0===c)throw Error("Only plain objects, and a few built-ins, can be passed to Server Functions. Classes or null prototypes are not supported.");return"$T"}return v}if("string"==typeof v)return"Z"===v[v.length-1]&&this[a]instanceof Date?"$D"+v:a="$"===v[0]?"$"+v:v;if("boolean"==typeof v)return v;if("number"==typeof v)return Number.isFinite(v)?0===v&&-1/0==1/v?"$-0":v:1/0===v?"$Infinity":-1/0===v?"$-Infinity":"$NaN";if(void 0===v)return"$undefined";if("function"==typeof v){if(void 0!==(B=u.get(v)))return void 0!==(a=l.get(v))||(a=JSON.stringify({id:B.id,bound:B.bound},g),null===k&&(k=new FormData),B=i++,k.set(b+B,a),a="$h"+B.toString(16),l.set(v,a)),a;if(void 0!==c&&-1===a.indexOf(":")&&void 0!==(B=l.get(this)))return c.set(B+":"+a,v),"$T";throw Error("Client Functions cannot be passed directly to Server Functions. Only Functions passed from the Server can be passed back again.")}if("symbol"==typeof v){if(void 0!==c&&-1===a.indexOf(":")&&void 0!==(B=l.get(this)))return c.set(B+":"+a,v),"$T";throw Error("Symbols cannot be passed to a Server Function without a temporary reference set. Pass a TemporaryReferenceSet to the options.")}if("bigint"==typeof v)return"$n"+v.toString(10);throw Error("Type "+typeof v+" is not supported as an argument to a Server Function.")}function h(a,b){return"object"==typeof a&&null!==a&&(b="$"+b.toString(16),l.set(a,b),void 0!==c&&c.set(b,a)),m=a,JSON.stringify(a,g)}var i=1,j=0,k=null,l=new WeakMap,m=a,v=h(a,0);return null===k?d(v):(k.set(b+"0",v),0===j&&d(k)),function(){0<j&&(j=0,null===k?d(v):d(k))}}var w=new WeakMap;function x(a){var b=u.get(this);if(!b)throw Error("Tried to encode a Server Action from a different instance than the encoder is from. This is a bug in React.");var c=null;if(null!==b.bound){if((c=w.get(b))||(d={id:b.id,bound:b.bound},g=new Promise(function(a,b){e=a,f=b}),v(d,"",void 0,function(a){if("string"==typeof a){var b=new FormData;b.append("0",a),a=b}g.status="fulfilled",g.value=a,e(a)},function(a){g.status="rejected",g.reason=a,f(a)}),c=g,w.set(b,c)),"rejected"===c.status)throw c.reason;if("fulfilled"!==c.status)throw c;b=c.value;var d,e,f,g,h=new FormData;b.forEach(function(b,c){h.append("$ACTION_"+a+":"+c,b)}),c=h,b="$ACTION_REF_"+a}else b="$ACTION_ID_"+b.id;return{name:b,method:"POST",encType:"multipart/form-data",data:c}}function y(a,b){var c=u.get(this);if(!c)throw Error("Tried to encode a Server Action from a different instance than the encoder is from. This is a bug in React.");if(c.id!==a)return!1;var d=c.bound;if(null===d)return 0===b;switch(d.status){case"fulfilled":return d.value.length===b;case"pending":throw d;case"rejected":throw d.reason;default:throw"string"!=typeof d.status&&(d.status="pending",d.then(function(a){d.status="fulfilled",d.value=a},function(a){d.status="rejected",d.reason=a})),d}}function z(a,b,c,d){u.has(a)||(u.set(a,{id:b,originalBind:a.bind,bound:c}),Object.defineProperties(a,{$$FORM_ACTION:{value:void 0===d?x:function(){var a=u.get(this);if(!a)throw Error("Tried to encode a Server Action from a different instance than the encoder is from. This is a bug in React.");var b=a.bound;return null===b&&(b=Promise.resolve([])),d(a.id,b)}},$$IS_SIGNATURE_EQUAL:{value:y},bind:{value:C}}))}var A=Function.prototype.bind,B=Array.prototype.slice;function C(){var a=u.get(this);if(!a)return A.apply(this,arguments);var b=a.originalBind.apply(this,arguments),c=B.call(arguments,1),d=null;return d=null!==a.bound?Promise.resolve(a.bound).then(function(a){return a.concat(c)}):Promise.resolve(c),u.set(b,{id:a.id,originalBind:b.bind,bound:d}),Object.defineProperties(b,{$$FORM_ACTION:{value:this.$$FORM_ACTION},$$IS_SIGNATURE_EQUAL:{value:y},bind:{value:C}}),b}function D(a,b,c){this.status=a,this.value=b,this.reason=c}function E(a){switch(a.status){case"resolved_model":P(a);break;case"resolved_module":Q(a)}switch(a.status){case"fulfilled":return a.value;case"pending":case"blocked":case"halted":throw a;default:throw a.reason}}function F(a,b){for(var c=0;c<a.length;c++){var d=a[c];"function"==typeof d?d(b):U(d,b)}}function G(a,b){for(var c=0;c<a.length;c++){var d=a[c];"function"==typeof d?d(b):V(d,b)}}function H(a,b){var c=b.handler.chunk;if(null===c)return null;if(c===a)return b.handler;if(null!==(b=c.value))for(c=0;c<b.length;c++){var d=b[c];if("function"!=typeof d&&null!==(d=H(a,d)))return d}return null}function I(a,b,c){switch(a.status){case"fulfilled":F(b,a.value);break;case"blocked":for(var d=0;d<b.length;d++){var e=b[d];if("function"!=typeof e){var f=H(a,e);if(null!==f)switch(U(e,f.value),b.splice(d,1),d--,null!==c&&-1!==(e=c.indexOf(e))&&c.splice(e,1),a.status){case"fulfilled":F(b,a.value);return;case"rejected":null!==c&&G(c,a.reason);return}}}case"pending":if(a.value)for(d=0;d<b.length;d++)a.value.push(b[d]);else a.value=b;if(a.reason){if(c)for(b=0;b<c.length;b++)a.reason.push(c[b])}else a.reason=c;break;case"rejected":c&&G(c,a.reason)}}function J(a,b,c){"pending"!==b.status&&"blocked"!==b.status?b.reason.error(c):(a=b.reason,b.status="rejected",b.reason=c,null!==a&&G(a,c))}function K(a,b,c){return new D("resolved_model",(c?'{"done":true,"value":':'{"done":false,"value":')+b+"}",a)}function L(a,b,c,d){M(a,b,(d?'{"done":true,"value":':'{"done":false,"value":')+c+"}")}function M(a,b,c){if("pending"!==b.status)b.reason.enqueueModel(c);else{var d=b.value,e=b.reason;b.status="resolved_model",b.value=c,b.reason=a,null!==d&&(P(b),I(b,d,e))}}function N(a,b,c){if("pending"===b.status||"blocked"===b.status){a=b.value;var d=b.reason;b.status="resolved_module",b.value=c,b.reason=null,null!==a&&(Q(b),I(b,a,d))}}D.prototype=Object.create(Promise.prototype),D.prototype.then=function(a,b){switch(this.status){case"resolved_model":P(this);break;case"resolved_module":Q(this)}switch(this.status){case"fulfilled":"function"==typeof a&&a(this.value);break;case"pending":case"blocked":"function"==typeof a&&(null===this.value&&(this.value=[]),this.value.push(a)),"function"==typeof b&&(null===this.reason&&(this.reason=[]),this.reason.push(b));break;case"halted":break;default:"function"==typeof b&&b(this.reason)}};var O=null;function P(a){var b=O;O=null;var c=a.value,d=a.reason;a.status="blocked",a.value=null,a.reason=null;try{var e=JSON.parse(c,d._fromJSON),f=a.value;if(null!==f&&(a.value=null,a.reason=null,F(f,e)),null!==O){if(O.errored)throw O.reason;if(0<O.deps){O.value=e,O.reason=null,O.chunk=a;return}}a.status="fulfilled",a.value=e,a.reason=null}catch(b){a.status="rejected",a.reason=b}finally{O=b}}function Q(a){try{var b=l(a.value);a.status="fulfilled",a.value=b,a.reason=null}catch(b){a.status="rejected",a.reason=b}}function R(a,b){a._closed=!0,a._closedReason=b,a._chunks.forEach(function(c){"pending"===c.status?J(a,c,b):"fulfilled"===c.status&&null!==c.reason&&c.reason.error(b)})}function S(a){return{$$typeof:o,_payload:a,_init:E}}function T(a,b){var c=a._chunks,d=c.get(b);return d||(d=a._closed?new D("rejected",null,a._closedReason):new D("pending",null,null),c.set(b,d)),d}function U(a,b){var c=a.response,d=a.handler,e=a.parentObject,f=a.key,h=a.map,i=a.path;try{for(var j=1;j<i.length;j++){for(;b.$$typeof===o;){var k=b._payload;if(k===d.chunk)b=d.value;else{switch(k.status){case"resolved_model":P(k);break;case"resolved_module":Q(k)}switch(k.status){case"fulfilled":b=k.value;continue;case"blocked":var l=H(k,a);if(null!==l){b=l.value;continue}case"pending":i.splice(0,j-1),null===k.value?k.value=[a]:k.value.push(a),null===k.reason?k.reason=[a]:k.reason.push(a);return;case"halted":return;default:V(a,k.reason);return}}}var m=i[j];if("object"==typeof b&&null!==b&&g.call(b,m))b=b[m];else throw Error("Invalid reference.")}var p=h(c,b,e,f);if("__proto__"!==f&&(e[f]=p),""===f&&null===d.value&&(d.value=p),e[0]===n&&"object"==typeof d.value&&null!==d.value&&d.value.$$typeof===n){var q=d.value;"3"===f&&(q.props=p)}}catch(b){V(a,b);return}d.deps--,0===d.deps&&null!==(a=d.chunk)&&"blocked"===a.status&&(b=a.value,a.status="fulfilled",a.value=d.value,a.reason=d.reason,null!==b&&F(b,d.value))}function V(a,b){var c=a.handler;a=a.response,c.errored||(c.errored=!0,c.value=null,c.reason=b,null!==(c=c.chunk)&&"blocked"===c.status&&J(a,c,b))}function W(a,b,c,d,e,f){if(O){var g=O;g.deps++}else g=O={parent:null,chunk:null,value:null,reason:null,deps:1,errored:!1};return b={response:d,handler:g,parentObject:b,key:c,map:e,path:f},null===a.value?a.value=[b]:a.value.push(b),null===a.reason?a.reason=[b]:a.reason.push(b),null}function X(a,b,c,d){if(!a._serverReferenceConfig)return function(a,b,c){function d(){var a=Array.prototype.slice.call(arguments);return f?"fulfilled"===f.status?b(e,f.value.concat(a)):Promise.resolve(f).then(function(c){return b(e,c.concat(a))}):b(e,a)}var e=a.id,f=a.bound;return z(d,e,f,c),d}(b,a._callServer,a._encodeFormAction);var e=function(a,b){var c="",d=a[b];if(d)c=d.name;else{var e=b.lastIndexOf("#");if(-1!==e&&(c=b.slice(e+1),d=a[b.slice(0,e)]),!d)throw Error('Could not find the module "'+b+'" in the React Server Manifest. This is probably a bug in the React Server Components bundler.')}return d.async?[d.id,d.chunks,c,1]:[d.id,d.chunks,c]}(a._serverReferenceConfig,b.id),f=k(e);if(f)b.bound&&(f=Promise.all([f,b.bound]));else{if(!b.bound)return z(f=l(e),b.id,b.bound,a._encodeFormAction),f;f=Promise.resolve(b.bound)}if(O){var g=O;g.deps++}else g=O={parent:null,chunk:null,value:null,reason:null,deps:1,errored:!1};return f.then(function(){var f=l(e);if(b.bound){var h=b.bound.value.slice(0);h.unshift(null),f=f.bind.apply(f,h)}z(f,b.id,b.bound,a._encodeFormAction),"__proto__"!==d&&(c[d]=f),""===d&&null===g.value&&(g.value=f),c[0]===n&&"object"==typeof g.value&&null!==g.value&&g.value.$$typeof===n&&(h=g.value,"3"===d)&&(h.props=f),g.deps--,0===g.deps&&null!==(f=g.chunk)&&"blocked"===f.status&&(h=f.value,f.status="fulfilled",f.value=g.value,f.reason=null,null!==h&&F(h,g.value))},function(b){if(!g.errored){g.errored=!0,g.value=null,g.reason=b;var c=g.chunk;null!==c&&"blocked"===c.status&&J(a,c,b)}}),null}function Y(a,b,c,d,e){var f=parseInt((b=b.split(":"))[0],16);switch((f=T(a,f)).status){case"resolved_model":P(f);break;case"resolved_module":Q(f)}switch(f.status){case"fulfilled":var g=f.value;for(f=1;f<b.length;f++){for(;g.$$typeof===o;){switch((g=g._payload).status){case"resolved_model":P(g);break;case"resolved_module":Q(g)}switch(g.status){case"fulfilled":g=g.value;break;case"blocked":case"pending":return W(g,c,d,a,e,b.slice(f-1));case"halted":return O?(a=O,a.deps++):O={parent:null,chunk:null,value:null,reason:null,deps:1,errored:!1},null;default:return O?(O.errored=!0,O.value=null,O.reason=g.reason):O={parent:null,chunk:null,value:null,reason:g.reason,deps:0,errored:!0},null}}g=g[b[f]]}return e(a,g,c,d);case"pending":case"blocked":return W(f,c,d,a,e,b);case"halted":return O?(a=O,a.deps++):O={parent:null,chunk:null,value:null,reason:null,deps:1,errored:!1},null;default:return O?(O.errored=!0,O.value=null,O.reason=f.reason):O={parent:null,chunk:null,value:null,reason:f.reason,deps:0,errored:!0},null}}function Z(a,b){return new Map(b)}function $(a,b){return new Set(b)}function _(a,b){return new Blob(b.slice(1),{type:b[0]})}function aa(a,b){a=new FormData;for(var c=0;c<b.length;c++)a.append(b[c][0],b[c][1]);return a}function ab(a,b){return b[Symbol.iterator]()}function ac(a,b){return b}function ad(){throw Error('Trying to call a function from "use server" but the callServer option was not implemented in your router runtime.')}function ae(a,b,c,e,f,g,h){var i,j=new Map;this._bundlerConfig=a,this._serverReferenceConfig=b,this._moduleLoading=c,this._callServer=void 0!==e?e:ad,this._encodeFormAction=f,this._nonce=g,this._chunks=j,this._stringDecoder=new d.TextDecoder,this._fromJSON=null,this._closed=!1,this._closedReason=null,this._tempRefs=h,this._fromJSON=(i=this,function(a,b){if("__proto__"!==a){if("string"==typeof b){var c=i,d=this,e=a,f=b;if("$"===f[0]){if("$"===f)return null!==O&&"0"===e&&(O={parent:O,chunk:null,value:null,reason:null,deps:0,errored:!1}),n;switch(f[1]){case"$":return f.slice(1);case"L":return S(c=T(c,d=parseInt(f.slice(2),16)));case"@":return T(c,d=parseInt(f.slice(2),16));case"S":return Symbol.for(f.slice(2));case"h":return Y(c,f=f.slice(2),d,e,X);case"T":if(d="$"+f.slice(2),null==(c=c._tempRefs))throw Error("Missing a temporary reference set but the RSC response returned a temporary reference. Pass a temporaryReference option with the set that was used with the reply.");return c.get(d);case"Q":return Y(c,f=f.slice(2),d,e,Z);case"W":return Y(c,f=f.slice(2),d,e,$);case"B":return Y(c,f=f.slice(2),d,e,_);case"K":return Y(c,f=f.slice(2),d,e,aa);case"Z":return al();case"i":return Y(c,f=f.slice(2),d,e,ab);case"I":return 1/0;case"-":return"$-0"===f?-0:-1/0;case"N":return NaN;case"u":return;case"D":return new Date(Date.parse(f.slice(2)));case"n":return BigInt(f.slice(2));default:return Y(c,f=f.slice(1),d,e,ac)}}return f}if("object"==typeof b&&null!==b){if(b[0]===n){if(a={$$typeof:n,type:b[1],key:b[2],ref:null,props:b[3]},null!==O){if(O=(b=O).parent,b.errored)a=S(a=new D("rejected",null,b.reason));else if(0<b.deps){var g=new D("blocked",null,null);b.value=a,b.chunk=g,a=S(g)}}}else a=b;return a}return b}})}function af(){return{_rowState:0,_rowID:0,_rowTag:0,_rowLength:0,_buffer:[]}}function ag(a,b,c){var d=(a=a._chunks).get(b);d&&"pending"!==d.status?d.reason.enqueueValue(c):a.set(b,new D("fulfilled",c,null))}function ah(a,b,c,d){var e=a._chunks;(a=e.get(b))?"pending"===a.status&&(b=a.value,a.status="fulfilled",a.value=c,a.reason=d,null!==b&&F(b,a.value)):e.set(b,new D("fulfilled",c,d))}function ai(a,b,c){var d=null,e=!1;c=new ReadableStream({type:c,start:function(a){d=a}});var f=null;ah(a,b,c,{enqueueValue:function(a){null===f?d.enqueue(a):f.then(function(){d.enqueue(a)})},enqueueModel:function(b){if(null===f){var c=new D("resolved_model",b,a);P(c),"fulfilled"===c.status?d.enqueue(c.value):(c.then(function(a){return d.enqueue(a)},function(a){return d.error(a)}),f=c)}else{c=f;var e=new D("pending",null,null);e.then(function(a){return d.enqueue(a)},function(a){return d.error(a)}),f=e,c.then(function(){f===e&&(f=null),M(a,e,b)})}},close:function(){if(!e)if(e=!0,null===f)d.close();else{var a=f;f=null,a.then(function(){return d.close()})}},error:function(a){if(!e)if(e=!0,null===f)d.error(a);else{var b=f;f=null,b.then(function(){return d.error(a)})}}})}function aj(){return this}function ak(a,b,c){var d=[],e=!1,f=0,g={};g[q]=function(){var a,b=0;return(a={next:a=function(a){if(void 0!==a)throw Error("Values cannot be passed to next() of AsyncIterables passed to Client Components.");if(b===d.length){if(e)return new D("fulfilled",{done:!0,value:void 0},null);d[b]=new D("pending",null,null)}return d[b++]}})[q]=aj,a},ah(a,b,c?g[q]():g,{enqueueValue:function(a){if(f===d.length)d[f]=new D("fulfilled",{done:!1,value:a},null);else{var b=d[f],c=b.value,e=b.reason;b.status="fulfilled",b.value={done:!1,value:a},b.reason=null,null!==c&&I(b,c,e)}f++},enqueueModel:function(b){f===d.length?d[f]=K(a,b,!1):L(a,d[f],b,!1),f++},close:function(b){if(!e)for(e=!0,f===d.length?d[f]=K(a,b,!0):L(a,d[f],b,!0),f++;f<d.length;)L(a,d[f++],'"$undefined"',!0)},error:function(b){if(!e)for(e=!0,f===d.length&&(d[f]=new D("pending",null,null));f<d.length;)J(a,d[f++],b)}})}function al(){var a=Error("An error occurred in the Server Components render. The specific message is omitted in production builds to avoid leaking sensitive details. A digest property is included on this error instance which may provide additional details about the nature of the error.");return a.stack="Error: "+a.message,a}function am(a,b){for(var c=a.length,d=b.length,e=0;e<c;e++)d+=a[e].byteLength;d=new Uint8Array(d);for(var f=e=0;f<c;f++){var g=a[f];d.set(g,e),e+=g.byteLength}return d.set(b,e),d}function an(a,b,c,d,e,f){ag(a,b,e=new e((c=0===c.length&&0==d.byteOffset%f?d:am(c,d)).buffer,c.byteOffset,c.byteLength/f))}function ao(a,b,c,d){switch(c){case 73:var e=a,f=b,g=d,h=e._chunks,i=h.get(f);g=JSON.parse(g,e._fromJSON);var j=function(a,b){if(a){var c=a[b[0]];if(a=c&&c[b[2]])c=a.name;else{if(!(a=c&&c["*"]))throw Error('Could not find the module "'+b[0]+'" in the React Server Consumer Manifest. This is probably a bug in the React Server Components bundler.');c=b[2]}return 4===b.length?[a.id,a.chunks,c,1]:[a.id,a.chunks,c]}return b}(e._bundlerConfig,g);if(!function(a,b,c){if(null!==a)for(var d=1;d<b.length;d+=2){var e=m.d,f=e.X,g=a.prefix+b[d],h=a.crossOrigin;h="string"==typeof h?"use-credentials"===h?h:"":void 0,f.call(e,g,{crossOrigin:h,nonce:c})}}(e._moduleLoading,g[1],e._nonce),g=k(j)){if(i){var l=i;l.status="blocked"}else l=new D("blocked",null,null),h.set(f,l);g.then(function(){return N(e,l,j)},function(a){return J(e,l,a)})}else i?N(e,i,j):h.set(f,new D("resolved_module",j,null));break;case 72:switch(b=d[0],a=JSON.parse(d=d.slice(1),a._fromJSON),d=m.d,b){case"D":d.D(a);break;case"C":"string"==typeof a?d.C(a):d.C(a[0],a[1]);break;case"L":b=a[0],c=a[1],3===a.length?d.L(b,c,a[2]):d.L(b,c);break;case"m":"string"==typeof a?d.m(a):d.m(a[0],a[1]);break;case"X":"string"==typeof a?d.X(a):d.X(a[0],a[1]);break;case"S":"string"==typeof a?d.S(a):d.S(a[0],0===a[1]?void 0:a[1],3===a.length?a[2]:void 0);break;case"M":"string"==typeof a?d.M(a):d.M(a[0],a[1])}break;case 69:var n=(c=a._chunks).get(b);d=JSON.parse(d);var o=al();o.digest=d.digest,n?J(a,n,o):c.set(b,new D("rejected",null,o));break;case 84:(c=(a=a._chunks).get(b))&&"pending"!==c.status?c.reason.enqueueValue(d):a.set(b,new D("fulfilled",d,null));break;case 78:case 68:case 74:case 87:throw Error("Failed to read a RSC payload created by a development version of React on the server while using a production version on the client. Always use matching versions on the server and the client.");case 82:ai(a,b,void 0);break;case 114:ai(a,b,"bytes");break;case 88:ak(a,b,!1);break;case 120:ak(a,b,!0);break;case 67:(a=a._chunks.get(b))&&"fulfilled"===a.status&&a.reason.close(""===d?'"$undefined"':d);break;default:(n=(c=a._chunks).get(b))?M(a,n,d):c.set(b,new D("resolved_model",d,a))}}function ap(a,b,c){for(var d=0,e=b._rowState,g=b._rowID,h=b._rowTag,i=b._rowLength,j=b._buffer,k=c.length;d<k;){var l=-1;switch(e){case 0:58===(l=c[d++])?e=1:g=g<<4|(96<l?l-87:l-48);continue;case 1:84===(e=c[d])||65===e||79===e||111===e||85===e||83===e||115===e||76===e||108===e||71===e||103===e||77===e||109===e||86===e?(h=e,e=2,d++):64<e&&91>e||35===e||114===e||120===e?(h=e,e=3,d++):(h=0,e=3);continue;case 2:44===(l=c[d++])?e=4:i=i<<4|(96<l?l-87:l-48);continue;case 3:l=c.indexOf(10,d);break;case 4:(l=d+i)>c.length&&(l=-1)}var m=c.byteOffset+d;if(-1<l)(function(a,b,c,d,e){switch(c){case 65:ag(a,b,am(d,e).buffer);return;case 79:an(a,b,d,e,Int8Array,1);return;case 111:ag(a,b,0===d.length?e:am(d,e));return;case 85:an(a,b,d,e,Uint8ClampedArray,1);return;case 83:an(a,b,d,e,Int16Array,2);return;case 115:an(a,b,d,e,Uint16Array,2);return;case 76:an(a,b,d,e,Int32Array,4);return;case 108:an(a,b,d,e,Uint32Array,4);return;case 71:an(a,b,d,e,Float32Array,4);return;case 103:an(a,b,d,e,Float64Array,8);return;case 77:an(a,b,d,e,BigInt64Array,8);return;case 109:an(a,b,d,e,BigUint64Array,8);return;case 86:an(a,b,d,e,DataView,1);return}for(var g=a._stringDecoder,h="",i=0;i<d.length;i++)h+=g.decode(d[i],f);ao(a,b,c,h+=g.decode(e))})(a,g,h,j,i=new Uint8Array(c.buffer,m,l-d)),d=l,3===e&&d++,i=g=h=e=0,j.length=0;else{a=new Uint8Array(c.buffer,m,c.byteLength-d),j.push(a),i-=a.byteLength;break}}b._rowState=e,b._rowID=g,b._rowTag=h,b._rowLength=i}function aq(a){R(a,Error("Connection closed."))}function ar(){throw Error("Server Functions cannot be called during initial render. This would create a fetch waterfall. Try to use a Server Component to pass data to Client Components instead.")}function as(a){return new ae(a.serverConsumerManifest.moduleMap,a.serverConsumerManifest.serverModuleMap,a.serverConsumerManifest.moduleLoading,ar,a.encodeFormAction,"string"==typeof a.nonce?a.nonce:void 0,a&&a.temporaryReferences?a.temporaryReferences:void 0)}function at(a,b){function c(b){R(a,b)}var d=af(),e=b.getReader();e.read().then(function b(f){var g=f.value;if(!f.done)return ap(a,d,g),e.read().then(b).catch(c);aq(a)}).catch(c)}function au(){throw Error("Server Functions cannot be called during initial render. This would create a fetch waterfall. Try to use a Server Component to pass data to Client Components instead.")}b.createFromFetch=function(a,b){var c=as(b);return a.then(function(a){at(c,a.body)},function(a){R(c,a)}),T(c,0)},b.createFromNodeStream=function(a,b,c){var d=new ae(b.moduleMap,b.serverModuleMap,b.moduleLoading,au,c?c.encodeFormAction:void 0,c&&"string"==typeof c.nonce?c.nonce:void 0,void 0),e=af();return a.on("data",function(a){if("string"==typeof a){for(var b=0,c=e._rowState,f=e._rowID,g=e._rowTag,h=e._rowLength,i=e._buffer,j=a.length;b<j;){var k=-1;switch(c){case 0:58===(k=a.charCodeAt(b++))?c=1:f=f<<4|(96<k?k-87:k-48);continue;case 1:84===(c=a.charCodeAt(b))||65===c||79===c||111===c||85===c||83===c||115===c||76===c||108===c||71===c||103===c||77===c||109===c||86===c?(g=c,c=2,b++):64<c&&91>c||114===c||120===c?(g=c,c=3,b++):(g=0,c=3);continue;case 2:44===(k=a.charCodeAt(b++))?c=4:h=h<<4|(96<k?k-87:k-48);continue;case 3:k=a.indexOf("\n",b);break;case 4:if(84!==g)throw Error("Binary RSC chunks cannot be encoded as strings. This is a bug in the wiring of the React streams.");if(h<a.length||a.length>3*h)throw Error("String chunks need to be passed in their original shape. Not split into smaller string chunks. This is a bug in the wiring of the React streams.");k=a.length}if(-1<k){if(0<i.length)throw Error("String chunks need to be passed in their original shape. Not split into smaller string chunks. This is a bug in the wiring of the React streams.");ao(d,f,g,b=a.slice(b,k)),b=k,3===c&&b++,h=f=g=c=0,i.length=0}else if(a.length!==b)throw Error("String chunks need to be passed in their original shape. Not split into smaller string chunks. This is a bug in the wiring of the React streams.")}e._rowState=c,e._rowID=f,e._rowTag=g,e._rowLength=h}else ap(d,e,a)}),a.on("error",function(a){R(d,a)}),a.on("end",function(){return aq(d)}),T(d,0)},b.createFromReadableStream=function(a,b){return at(b=as(b),a),T(b,0)},b.createServerReference=function(a){function b(){var b=Array.prototype.slice.call(arguments);return ar(a,b)}return z(b,a,null,void 0),b},b.createTemporaryReferenceSet=function(){return new Map},b.encodeReply=function(a,b){return new Promise(function(c,d){var e=v(a,"",b&&b.temporaryReferences?b.temporaryReferences:void 0,c,d);if(b&&b.signal){var f=b.signal;if(f.aborted)e(f.reason);else{var g=function(){e(f.reason),f.removeEventListener("abort",g)};f.addEventListener("abort",g)}}})},b.registerServerReference=function(a,b,c){return z(a,b,null,c),a}},10021:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{D4:()=>n}),c(73024);var e=c(84104),f=c(81909),g=c(16343),h=c(38985),i=c(79336),j=a([e,f,g,h,i]);[e,f,g,h,i]=j.then?(await j)():j;let o=["openai","elevenlabs"],p="alloy",q=new Set(["alloy","echo","fable","onyx","nova","shimmer"]);function k(a,...b){let c=String(a??"");for(let a of b){if(!a)continue;let b=String(a).slice(-4);c=c.split(String(a)).join(`***${b}`)}return c}async function l({text:a,voice:b,model:c,format:d,fetchFn:e}){let g,h=(0,f.r6)("OPENAI_API_KEY")||process.env.OPENAI_API_KEY;if(!h)throw Error("OPENAI_API_KEY missing for OpenAI TTS");let i=b&&q.has(b)?b:p,j=c||"tts-1",l=d||"mp3";try{g=await e("https://api.openai.com/v1/audio/speech",{method:"POST",headers:{Authorization:`Bearer ${h}`,"Content-Type":"application/json"},body:JSON.stringify({model:j,voice:i,input:a,format:l})})}catch(a){throw Error(`openai tts failed: ${k(a?.message,h)}`)}if(!g.ok){let a="";try{a=(await g.text()).slice(0,256)}catch{}throw Error(`openai tts http ${g.status}: ${k(a,h)}`)}return{audio_buffer:Buffer.from(await g.arrayBuffer()),mime_type:"wav"===l?"audio/wav":"audio/mpeg",extension:"wav"===l?"wav":"mp3",provider:"openai",voice:i,model:j}}async function m({text:a,voice:b,model:c,format:d,fetchFn:e}){let g,h=(0,f.r6)("ELEVENLABS_API_KEY")||process.env.ELEVENLABS_API_KEY;if(!h)throw Error("ELEVENLABS_API_KEY missing for ElevenLabs TTS");let i=b||(0,f.r6)("ELEVENLABS_VOICE_ID")||process.env.ELEVENLABS_VOICE_ID||"21m00Tcm4TlvDq8ikWAM",j=c||"eleven_multilingual_v2",l="wav"===d?"pcm_16000":"mp3_44100_128";try{g=await e(`https://api.elevenlabs.io/v1/text-to-speech/${encodeURIComponent(i)}?output_format=${l}`,{method:"POST",headers:{"xi-api-key":h,"Content-Type":"application/json",Accept:"audio/mpeg"},body:JSON.stringify({text:a,model_id:j})})}catch(a){throw Error(`elevenlabs tts failed: ${k(a?.message,h)}`)}if(!g.ok){let a="";try{a=(await g.text()).slice(0,256)}catch{}throw Error(`elevenlabs tts http ${g.status}: ${k(a,h)}`)}return{audio_buffer:Buffer.from(await g.arrayBuffer()),mime_type:l.startsWith("pcm_")?"audio/wav":"audio/mpeg",extension:l.startsWith("pcm_")?"wav":"mp3",provider:"elevenlabs",voice:i,model:j}}async function n(a={}){let b=String(a.text||"").trim();if(!b)throw Error("text is required");if(b.length>4e3)throw Error("text too long: max 4000 characters");let c=String(a.provider||process.env.TTS_DEFAULT_PROVIDER||"openai").toLowerCase(),d=o.includes(c)?c:"openai",f=(0,g.N)("voice_speak",a.agent_id??null,a.fetch||fetch),j=await ("elevenlabs"===d?m:l)({text:b,voice:a.voice,model:a.model,format:a.format,fetchFn:f}),k=Math.max(500,Math.round(b.length/14*1e3)),p=null;if(a.save_to_disk&&a.project_id){let c=(0,i.U1)(a.project_id);if(c){let a=function(a){let b=(0,e.Lf)(),c=(0,h.dh)(a),d=b.prepare("SELECT * FROM disk_folders WHERE project_id = ? AND parent_id = ? AND name = ? LIMIT 1").get(a,c.id,"voice");return d||(0,h.vV)(a,c.id,"voice")}(c.id),d=b.slice(0,40).replace(/[^A-Za-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"tts";p=(0,h.QM)(c.id,a.id,{name:`${d}-${Date.now()}.${j.extension}`,buffer:j.audio_buffer,type:j.mime_type},{local_only:!1})}}try{(0,e.Lf)().prepare(`
|
|
303
303
|
INSERT INTO audit_logs (id, at, type, summary, status, meta)
|
|
304
304
|
VALUES (?, ?, ?, ?, ?, ?)
|
|
305
305
|
`).run((0,e.Si)("audit"),(0,e.kF)(),"voice.tts",`TTS ${d} voice=${j.voice} chars=${b.length}`,"complete",JSON.stringify({provider:d,voice:j.voice,model:j.model,text_chars:b.length,audio_bytes:j.audio_buffer.length,disk_file_id:p?.id||null,agent_id:a.agent_id||null}))}catch(a){console.warn("[tts] audit write failed:",a?.message||a)}return{audio_buffer:j.audio_buffer,mime_type:j.mime_type,extension:j.extension,provider:d,voice:j.voice,model:j.model,duration_estimate_ms:k,disk_file:p}}d()}catch(a){d(a)}})},10022:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{RB:()=>k});var e=c(73024);c(48161);var f=c(76760),g=c(84104),h=c(37937),i=a([g,h]);[g,h]=i.then?(await i)():i;let l=new Set([".ssh"]);function j(a){try{return e.realpathSync.native?e.realpathSync.native(a):e.realpathSync(a)}catch{return f.resolve(a)}}function k(a,b={}){let c=function(a){let b=f.resolve(String(a||"."));if(e.existsSync(b))return j(b);let c=[],d=b;for(;!e.existsSync(d);){c.unshift(f.basename(d));let a=f.dirname(d);if(a===d)return b;d=a}return f.join(j(d),...c)}(f.resolve(String(a||".")));return!function(a){if(a.split(f.sep).filter(Boolean).some(a=>l.has(a)))return!0;let b=f.basename(a);return".env.local"===b||/^\.env($|\.)/.test(b)}(c)&&(function(a={}){let b=function(a={}){return a.org_id||"personal-org"}(a);return(0,g.Lf)().prepare(`
|
|
@@ -309,7 +309,7 @@ MADARX_MASTER_KEY=${b}
|
|
|
309
309
|
ORDER BY created_at DESC
|
|
310
310
|
`).all("mines_data_import","directory_root",b,b).map(a=>({id:a.id,root_path:a.root_path,label:a.label||f.basename(a.root_path)||a.root_path,created_at:a.created_at,org_id:a.org_id||b,created_by_user_id:a.created_by_user_id||null}))})(b).some(a=>{let b=f.resolve(a.root_path),d=f.relative(b,c);return""===d||!!d&&!d.startsWith("..")&&!f.isAbsolute(d)})}d()}catch(a){d(a)}})},10407:(a,b,c)=>{"use strict";a.exports=c(49754).vendored["react-rsc"].ReactDOM},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},11575:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{y:()=>m});var e=c(73024),f=c(76760),g=c(83498),h=c(84104),i=c(79336),j=c(65527),k=a([h,i,j]);[h,i,j]=k.then?(await k)():k;let n=f.join(g.nJ,".artifacts-migrated-v1");function l(a){return f.relative(g.Dl,a)}function m({force:a=!1,log:b=()=>{}}={}){if(!a&&function(){try{return e.existsSync(n)}catch{return!1}}())return{ok:!0,skipped:!0,reason:"already_migrated"};let c=(0,h.Lf)(),d=[];try{d=c.prepare("SELECT id, path, project_id FROM artifacts WHERE path IS NOT NULL AND path != ''").all()}catch{return{ok:!1,error:"artifacts table unavailable",summary:null}}let k={moved:0,rewritten:0,missing_on_disk:0,already_scoped:0,errors:0,details:[]},o=f.resolve(g.yQ),p=o+f.sep;c.exec("BEGIN IMMEDIATE");try{for(let a of d){let d=f.resolve(g.Dl,a.path),h=function(a){let b=a.project_id||i.Sk;return(0,i.U1)(b)||(0,i.U1)(i.Sk)}(a);if(!h){k.errors++;continue}let m=(0,j.v2)(h),n=f.resolve(m);if(d===n||d.startsWith(n+f.sep)||!(d===o||d.startsWith(p))){k.already_scoped++;continue}try{e.mkdirSync(m,{recursive:!0})}catch{}let q=f.basename(d),r=f.join(m,q),s=l(r);try{if(e.existsSync(d)){let b=r,g=s,i=!1;if(e.existsSync(r)&&d!==r){let a=f.extname(q),c=f.basename(q,a),d=Date.now().toString(36);b=f.join(m,`${c}-${d}${a}`),g=l(b),i=!0}e.renameSync(d,b),c.prepare("UPDATE artifacts SET path = ?, project_id = ? WHERE id = ?").run(g,h.id,a.id),k.moved++,k.rewritten++,k.details.push({id:a.id,from:a.path,to:g,collision:i})}else k.missing_on_disk++,c.prepare("UPDATE artifacts SET path = ?, project_id = ? WHERE id = ?").run(s,h.id,a.id),k.rewritten++,k.details.push({id:a.id,from:a.path,to:s,file_missing:!0})}catch(c){k.errors++,b(`migrate-artifacts: failed for ${a.id} (${a.path}): ${c.message}`)}}c.exec("COMMIT")}catch(a){try{c.exec("ROLLBACK")}catch{}return b(`migrate-artifacts: rolled back: ${a.message}`),{ok:!1,error:a.message,summary:k}}try{e.writeFileSync(n,`${new Date().toISOString()}
|
|
311
311
|
${JSON.stringify(k,null,2)}
|
|
312
|
-
`,"utf8")}catch{}return{ok:!0,skipped:!1,summary:k}}d()}catch(a){d(a)}})},11812:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Dv:()=>l,Tg:()=>m,gL:()=>k});var e=c(91488);c(27806);var f=c(69206),g=c(91837),h=c(79336),i=c(40410),j=a([h]);async function k(a){let b=String(a.get("folder_mode")||"workspace"),c=String(a.get("folder_path")||"").trim(),d=(0,h.gA)({name:a.get("name"),color:a.get("color"),description:a.get("description"),folder_path:"custom"===b&&c?c:void 0});(0,f.redirect)(`/projects/${d.slug}`)}async function l(a){let b=String(a.get("project_id")||"").trim();if(b&&b!==h.Sk){try{(0,h.xx)(b)}catch(a){if(a?.code==="PROJECT_PROTECTED")return;throw a}(0,g.revalidatePath)("/projects")}}async function m(a){let b=String(a.get("project_id")||"").trim();if(!b)return;let c=String(a.get("folder_mode")||"keep"),d=String(a.get("folder_path")||"").trim(),e={name:String(a.get("name")||"").trim()||void 0,color:String(a.get("color")||"").trim()||void 0,description:String(a.get("description")||"").trim()||void 0};"custom"===c&&d&&(e.folder_path=d),(0,h.vr)(b,e),(0,g.revalidatePath)("/projects"),(0,g.revalidatePath)(`/projects/${b}`)}h=(j.then?(await j)():j)[0],(0,i.D)([k,l,m]),(0,e.A)(k,"
|
|
312
|
+
`,"utf8")}catch{}return{ok:!0,skipped:!1,summary:k}}d()}catch(a){d(a)}})},11812:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Dv:()=>l,Tg:()=>m,gL:()=>k});var e=c(91488);c(27806);var f=c(69206),g=c(91837),h=c(79336),i=c(40410),j=a([h]);async function k(a){let b=String(a.get("folder_mode")||"workspace"),c=String(a.get("folder_path")||"").trim(),d=(0,h.gA)({name:a.get("name"),color:a.get("color"),description:a.get("description"),folder_path:"custom"===b&&c?c:void 0});(0,f.redirect)(`/projects/${d.slug}`)}async function l(a){let b=String(a.get("project_id")||"").trim();if(b&&b!==h.Sk){try{(0,h.xx)(b)}catch(a){if(a?.code==="PROJECT_PROTECTED")return;throw a}(0,g.revalidatePath)("/projects")}}async function m(a){let b=String(a.get("project_id")||"").trim();if(!b)return;let c=String(a.get("folder_mode")||"keep"),d=String(a.get("folder_path")||"").trim(),e={name:String(a.get("name")||"").trim()||void 0,color:String(a.get("color")||"").trim()||void 0,description:String(a.get("description")||"").trim()||void 0};"custom"===c&&d&&(e.folder_path=d),(0,h.vr)(b,e),(0,g.revalidatePath)("/projects"),(0,g.revalidatePath)(`/projects/${b}`)}h=(j.then?(await j)():j)[0],(0,i.D)([k,l,m]),(0,e.A)(k,"409dc1b44080f7a02c3ff6d5b6c4e8cb749d130a32",null),(0,e.A)(l,"401b4146db1fef872f202822dba0741afe77ced665",null),(0,e.A)(m,"40b250a7023e1ea42d3b1c45a9b04d2d813b0ff025",null),d()}catch(a){d(a)}})},12690:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{getClientComponentLoaderMetrics:function(){return g},wrapClientComponentLoader:function(){return f}});let c=0,d=0,e=0;function f(a){return"performance"in globalThis?{require:(...b)=>{let f=performance.now();0===c&&(c=f);try{return e+=1,a.__next_app__.require(...b)}finally{d+=performance.now()-f}},loadChunk:(...b)=>{let c=performance.now(),e=a.__next_app__.loadChunk(...b);return e.finally(()=>{d+=performance.now()-c}),e}}:a.__next_app__}function g(a={}){let b=0===c?void 0:{clientComponentLoadStart:c,clientComponentLoadTimes:d,clientComponentLoadCount:e};return a.reset&&(c=0,d=0,e=0),b}},13633:(a,b,c)=>{"use strict";c.d(b,{Q:()=>f});var d=c(8512),e=c(60951);function f(a,b){let c=(0,e.l)(function(a){let b=[],c=-1,e=0,f=0;for(;++c<a.length;){let g=a.charCodeAt(c),h="";if(37===g&&(0,d.lV)(a.charCodeAt(c+1))&&(0,d.lV)(a.charCodeAt(c+2)))f=2;else if(g<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(g))||(h=String.fromCharCode(g));else if(g>55295&&g<57344){let b=a.charCodeAt(c+1);g<56320&&b>56319&&b<57344?(h=String.fromCharCode(g,b),f=1):h="�"}else h=String.fromCharCode(g);h&&(b.push(a.slice(e,c),encodeURIComponent(h)),e=c+f+1,h=""),f&&(c+=f,f=0)}return b.join("")+a.slice(e)}(a||""));if(!b)return c;let f=c.indexOf(":"),g=c.indexOf("?"),h=c.indexOf("#"),i=c.indexOf("/");return f<0||i>-1&&f>i||g>-1&&f>g||h>-1&&f>h||b.test(c.slice(0,f))?c:""}},14117:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{$A:()=>k,Ac:()=>i,FT:()=>j,N3:()=>m,uS:()=>l});var e=c(76760);c(73024);var f=c(84104),g=c(83498),h=a([f]);f=(h.then?(await h)():h)[0];let l=e.join(g.un,"generated-clis"),m=e.join(g.un,"skills","printing-press");e.join(g.nJ,"printing-press-clis.json");let n=/^[a-z0-9][a-z0-9-]{0,63}$/;function i(a){return"string"==typeof a&&n.test(a)}function j(a){let b=e.resolve(a),c=e.resolve(l);if(!b.startsWith(c+e.sep)&&b!==c)throw Error(`Path is not under workspace/generated-clis/: ${a}`);return b}function k(a){if(!i(a))return null;var b=(0,f.Lf)().prepare("SELECT * FROM printing_press_clis WHERE slug = ?").get(a);if(!b)return null;let c=null,d=[],e=[];try{c=b.manifest_json?JSON.parse(b.manifest_json):null}catch{c=null}try{d=b.declared_scopes?JSON.parse(b.declared_scopes):[]}catch{d=[]}try{e=b.required_secrets?JSON.parse(b.required_secrets):[]}catch{e=[]}return{slug:b.slug,source_kind:b.source_kind,source_url:b.source_url||null,installed_at:b.installed_at,updated_at:b.updated_at,path:b.path,declared_scopes:d,required_secrets:e,quota_bytes:b.quota_bytes||0x6400000,manifest:c,status:b.status}}d()}catch(a){d(a)}})},14821:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{B:()=>k});var e=c(73024),f=c(76760),g=c(84104),h=c(83498),i=c(684),j=a([g]);g=(j.then?(await j)():j)[0];let l=/^[a-z][a-z0-9_]{2,63}$/;async function k(a={},b={}){let d="string"==typeof a?.slug?a.slug.trim():"";if(!d||!l.test(d))return{ok:!1,status:"error",error:"slug_required",message:"slug required (snake_case, 3-64 chars)"};let j="string"==typeof a?.summary?a.summary.slice(0,2e3):"",m=["low","medium","high","irreversible_external"].includes(a?.risk)?a.risk:"medium",n=f.join("tool-proposals",d),o=f.join(h.un,n),p={[`${d}.adapter.js`]:function(a,b){let c=a.replace(/_([a-z])/g,(a,b)=>b.toUpperCase());return`// lib/tools/adapters/${a}.js — PROPOSED, not yet wired.
|
|
313
313
|
//
|
|
314
314
|
// ${b||"Proposed tool adapter."}
|
|
315
315
|
//
|
|
@@ -367,7 +367,7 @@ Review, wire into lib/tools/registry.js (see registry-snippet.txt), add tests, r
|
|
|
367
367
|
(id, tool_name, agent_id, host, method, status_code, bytes_out, bytes_in, duration_ms, error, at)
|
|
368
368
|
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
369
369
|
`).run(a,b,c??null,d,f,g??null,h??0,i??0,j??null,k??null,l)}catch(a){console.warn("[egress] Failed to insert tool_egress row:",a?.message||a)}}function h(a,b,c=fetch){return async function(d,f={}){var h;let i,j=function(a){try{return new URL(String(a)).host}catch{return String(a).slice(0,256)}}(d),k=String(f?.method||"GET").toUpperCase(),l=(h=f?.body,null==h?0:"string"==typeof h?Buffer.byteLength(h,"utf8"):Buffer.isBuffer(h)||h instanceof Uint8Array||h instanceof ArrayBuffer?h.byteLength:h instanceof URLSearchParams?Buffer.byteLength(h.toString(),"utf8"):0),m=performance.now(),n=(0,e.kF)(),o=(0,e.Si)("egr"),p=0,q=null,r=null;try{q=(i=await c(d,f)).status;let e=await i.arrayBuffer();p=e.byteLength;let h=Math.round(performance.now()-m);return g({id:o,tool_name:a,agent_id:b,host:j,method:k,status_code:q,bytes_out:l,bytes_in:p,duration_ms:h,error:null,at:n}),new Response(e,{status:i.status,statusText:i.statusText,headers:i.headers})}catch(d){let c=Math.round(performance.now()-m);throw r=String(d?.message||d).slice(0,512),g({id:o,tool_name:a,agent_id:b,host:j,method:k,status_code:q,bytes_out:l,bytes_in:p,duration_ms:c,error:r,at:n}),d}}}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},16483:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{h:()=>l,m:()=>m});var e=c(84104),f=c(75994),g=a([e,f]);function h(a){return a?.acting_on_behalf_of_user_id||a?.user_id||null}function i(a={}){if(a.owner_trusted||"owner"===a.actor_role||"admin"===a.actor_role)return!0;let b=h(a);if(!b||"system"===b)return!1;try{let c=(0,e.Lf)().prepare("SELECT role FROM org_memberships WHERE user_id=? AND org_id=COALESCE(?, 'personal-org')").get(b,a.org_id||"personal-org");return c?.role==="owner"||c?.role==="admin"}catch{return!1}}function j(){return{ok:!1,status:"error",error:"insufficient_role",message:"Workflow definition authoring requires owner/admin authority in addition to tool approval."}}function k(a){return a?.code==="spec_invalid"?{ok:!1,status:"error",error:"spec_invalid",errors:a.errors||[a.message]}:a?.code==="version_bump_required"?{ok:!1,status:"error",error:"version_bump_required",message:a.message}:null}async function l(a,b={}){if(!i(b))return j();let c=a?.spec;if(!c||"object"!=typeof c)return{ok:!1,status:"error",error:"spec_required",message:"spec required (object)"};if(!c.slug||"string"!=typeof c.slug)return{ok:!1,error:"slug_required",message:"spec.slug required (string)"};let d=(0,f.Ao)(c.slug);if(d&&"archived"!==d.status)return{ok:!1,status:"error",error:"slug_in_use",slug:c.slug};try{let a=(0,f.R1)(c,{source_spec_json:JSON.stringify(c),created_by_user_id:h(b),created_by_agent_id:b?.agent_id||null});return{ok:!0,status:"complete",definition_id:a.id,slug:a.slug,version:a.version}}catch(b){let a=k(b);if(a)return a;throw b}}async function m(a,b={}){if(!i(b))return j();let c="string"==typeof a?.slug?a.slug.trim():"",d=a?.spec;if(!c)return{ok:!1,status:"error",error:"slug_required",message:"slug required (string)"};if(!d||"object"!=typeof d)return{ok:!1,status:"error",error:"spec_required",message:"spec required (object)"};if(!(0,f.Ao)(c))return{ok:!1,status:"error",error:"not_found",slug:c};let e={...d,slug:c};try{let a=(0,f.R1)(e,{source_spec_json:JSON.stringify(e),created_by_user_id:h(b),created_by_agent_id:b?.agent_id||null});return{ok:!0,status:"complete",definition_id:a.id,slug:a.slug,version:a.version}}catch(b){let a=k(b);if(a)return a;throw b}}[e,f]=g.then?(await g)():g,d()}catch(a){d(a)}})},16871:(a,b,c)=>{"use strict";let d;c.d(b,{DD:()=>k,IH:()=>h,Lb:()=>i,Vu:()=>g,wM:()=>j});let e=process.env.MINES_EMBEDDING_MODEL||"Xenova/multilingual-e5-small";async function f(){return void 0===d&&(d=(async()=>{let a=null;try{a=await import("@xenova/transformers")}catch{return null}let b=a?.pipeline||a?.default?.pipeline;if("function"!=typeof b)return null;let c=await b("feature-extraction",e);return async a=>Array.from((await c(String(a??""),{pooling:"mean",normalize:!0})).data)})().catch(()=>null)),d}async function g(a,b={}){let c="function"==typeof b.provider?b.provider:await f();if(!c)return null;try{let b=await c(a);return Array.isArray(b)?b:null}catch{return null}}async function h(a,b={}){let c=Array.isArray(a)?a:[];if(0===c.length)return{chunks:[],embedded:0,available:!1};let d="function"==typeof b.provider?b.provider:await f();if(!d){for(let a of c)a.embedding=null;return{chunks:c,embedded:0,available:!1}}let e=Math.max(1,Number(b.batchSize)||100),g=0;for(let a=0;a<c.length;a+=e)for(let b of c.slice(a,a+e))try{let a=await d(b.text);Array.isArray(a)?(b.embedding=a,g++):b.embedding=null}catch{b.embedding=null}return{chunks:c,embedded:g,available:!0}}function i(a,b){if(!Array.isArray(a)||!Array.isArray(b)||0===a.length||a.length!==b.length)return 0;let c=0,d=0,e=0;for(let f=0;f<a.length;f++){let g=Number(a[f])||0,h=Number(b[f])||0;c+=g*h,d+=g*g,e+=h*h}return 0===d||0===e?0:c/(Math.sqrt(d)*Math.sqrt(e))}function j(a){return Array.isArray(a)&&0!==a.length?JSON.stringify(a):null}function k(a){if(null==a||""===a)return null;if(Array.isArray(a))return a;try{let b=JSON.parse(a);return Array.isArray(b)?b:null}catch{return null}}},17483:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GlobalError:()=>E.a,__next_app__:()=>K,handler:()=>M,pages:()=>J,routeModule:()=>L,tree:()=>I});var d=c(49754),e=c(9117),f=c(46595),g=c(32324),h=c(39326),i=c(38928),j=c(20175),k=c(12),l=c(54290),m=c(12696),n=c(52574),o=c(82802),p=c(77533),q=c(45229),r=c(32822),s=c(261),t=c(26453),u=c(52474),v=c(26713),w=c(51356),x=c(62685),y=c(36225),z=c(63446),A=c(2762),B=c(45742),C=c(86439),D=c(81170),E=c.n(D),F=c(62506),G=c(91203),H={};for(let a in F)0>["default","tree","pages","GlobalError","__next_app__","routeModule","handler"].indexOf(a)&&(H[a]=()=>F[a]);c.d(b,H);let I={children:["",{children:["projects",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,64509)),"/home/runner/work/madarx-os/madarx-os/app/projects/page.js"]}]},{loading:[()=>Promise.resolve().then(c.bind(c,47892)),"/home/runner/work/madarx-os/madarx-os/app/projects/loading.tsx"],metadata:{icon:[async a=>(await Promise.resolve().then(c.bind(c,2987))).default(a)],apple:[],openGraph:[],twitter:[],manifest:void 0}}]},{layout:[()=>Promise.resolve().then(c.bind(c,70715)),"/home/runner/work/madarx-os/madarx-os/app/layout.js"],loading:[()=>Promise.resolve().then(c.bind(c,90391)),"/home/runner/work/madarx-os/madarx-os/app/loading.tsx"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,81170,23)),"next/dist/client/components/builtin/global-error.js"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,87028,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,90461,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,32768,23)),"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await Promise.resolve().then(c.bind(c,2987))).default(a)],apple:[],openGraph:[],twitter:[],manifest:void 0}}]}.children,J=["/home/runner/work/madarx-os/madarx-os/app/projects/page.js"],K={require:c,loadChunk:()=>Promise.resolve()},L=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/projects/page",pathname:"/projects",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:I},distDir:".next",relativeProjectDir:""});async function M(a,b,d){var D;let H="/projects/page";"/index"===H&&(H="/");let N=(0,h.getRequestMeta)(a,"postponed"),O=(0,h.getRequestMeta)(a,"minimalMode"),P=await L.prepare(a,b,{srcPage:H,multiZoneDraftMode:!1});if(!P)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:Q,query:R,params:S,parsedUrl:T,pageIsDynamic:U,buildManifest:V,nextFontManifest:W,reactLoadableManifest:X,serverActionsManifest:Y,clientReferenceManifest:Z,subresourceIntegrityManifest:$,prerenderManifest:_,isDraftMode:aa,resolvedPathname:ab,revalidateOnlyGenerated:ac,routerServerContext:ad,nextConfig:ae,interceptionRoutePatterns:af}=P,ag=T.pathname||"/",ah=(0,s.normalizeAppPath)(H),{isOnDemandRevalidate:ai}=P,aj=L.match(ag,_),ak=!!_.routes[ab],al=!!(aj||ak||_.routes[ah]),am=a.headers["user-agent"]||"",an=(0,v.getBotType)(am),ao=(0,q.isHtmlBotRequest)(a),ap=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[u.NEXT_ROUTER_PREFETCH_HEADER],aq=(0,h.getRequestMeta)(a,"isRSCRequest")??(0,n.f)(a.headers[u.RSC_HEADER]),ar=(0,t.getIsPossibleServerAction)(a),as=(0,m.checkIsAppPPREnabled)(ae.experimental.ppr)&&(null==(D=_.routes[ah]??_.dynamicRoutes[ah])?void 0:D.renderingMode)==="PARTIALLY_STATIC",at=!1,au=!1,av=as?N:void 0,aw=as&&aq&&!ap,ax=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),ay=!am||(0,q.shouldServeStreamingMetadata)(am,ae.htmlLimitedBots);ao&&as&&(al=!1,ay=!1);let az=!0===L.isDev||!al||"string"==typeof N||aw,aA=ao&&as,aB=null;aa||!al||az||ar||av||aw||(aB=ab);let aC=aB;!aC&&L.isDev&&(aC=ab),L.isDev||aa||!al||!aq||aw||(0,k.d)(a.headers);let aD={...F,tree:I,pages:J,GlobalError:E(),handler:M,routeModule:L,__next_app__:K};Y&&Z&&(0,p.setReferenceManifestsSingleton)({page:H,clientReferenceManifest:Z,serverActionsManifest:Y,serverModuleMap:(0,r.createServerModuleMap)({serverActionsManifest:Y})});let aE=a.method||"GET",aF=(0,g.getTracer)(),aG=aF.getActiveScopeSpan();try{let f=L.getVaryHeader(ab,af);b.setHeader("Vary",f);let k=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return L.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=aF.getRootSpanAttributes();if(!d)return;if(d.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${d.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=d.get("next.route");if(e){let a=`${aE} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${aE} ${a.url}`)})},m=async({span:e,postponed:f,fallbackRouteParams:g})=>{let i={query:R,params:S,page:ah,sharedContext:{buildId:Q},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aD,Component:(0,j.T)(aD),params:S,routeModule:L,page:H,postponed:f,shouldWaitOnAllReady:aA,serveStreamingMetadata:ay,supportsDynamicResponse:"string"==typeof f||az,buildManifest:V,nextFontManifest:W,reactLoadableManifest:X,subresourceIntegrityManifest:$,serverActionsManifest:Y,clientReferenceManifest:Z,setIsrStatus:null==ad?void 0:ad.setIsrStatus,dir:c(33873).join(process.cwd(),L.relativeProjectDir),isDraftMode:aa,isRevalidate:al&&!f&&!aw,botType:an,isOnDemandRevalidate:ai,isPossibleServerAction:ar,assetPrefix:ae.assetPrefix,nextConfigOutput:ae.output,crossOrigin:ae.crossOrigin,trailingSlash:ae.trailingSlash,previewProps:_.preview,deploymentId:ae.deploymentId,enableTainting:ae.experimental.taint,htmlLimitedBots:ae.htmlLimitedBots,devtoolSegmentExplorer:ae.experimental.devtoolSegmentExplorer,reactMaxHeadersLength:ae.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:ae.experimental.cacheLife,basePath:ae.basePath,serverActions:ae.experimental.serverActions,...at?{nextExport:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isRevalidate:!0,isDebugDynamicAccesses:at}:{},experimental:{isRoutePPREnabled:as,expireTime:ae.expireTime,staleTimes:ae.experimental.staleTimes,cacheComponents:!!ae.experimental.cacheComponents,clientSegmentCache:!!ae.experimental.clientSegmentCache,clientParamParsing:!!ae.experimental.clientParamParsing,dynamicOnHover:!!ae.experimental.dynamicOnHover,inlineCss:!!ae.experimental.inlineCss,authInterrupts:!!ae.experimental.authInterrupts,clientTraceMetadata:ae.experimental.clientTraceMetadata||[]},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d)=>L.onRequestError(a,b,d,ad),err:(0,h.getRequestMeta)(a,"invokeError"),dev:L.isDev}},l=await k(e,i),{metadata:m}=l,{cacheControl:n,headers:o={},fetchTags:p}=m;if(p&&(o[z.NEXT_CACHE_TAGS_HEADER]=p),a.fetchMetrics=m.fetchMetrics,al&&(null==n?void 0:n.revalidate)===0&&!L.isDev&&!as){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${ab}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
|
|
370
|
-
see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:w.CachedRouteKind.APP_PAGE,html:l,headers:o,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:n}},n=async({hasResolved:c,previousCacheEntry:f,isRevalidating:g,span:i})=>{let j,k=!1===L.isDev,l=c||b.writableEnded;if(ai&&ac&&!f&&!O)return(null==ad?void 0:ad.render404)?await ad.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(aj&&(j=(0,x.parseFallbackField)(aj.fallback)),j===x.FallbackMode.PRERENDER&&(0,v.isBot)(am)&&(!as||ao)&&(j=x.FallbackMode.BLOCKING_STATIC_RENDER),(null==f?void 0:f.isStale)===-1&&(ai=!0),ai&&(j!==x.FallbackMode.NOT_FOUND||f)&&(j=x.FallbackMode.BLOCKING_STATIC_RENDER),!O&&j!==x.FallbackMode.BLOCKING_STATIC_RENDER&&aC&&!l&&!aa&&U&&(k||!ak)){let b;if((k||aj)&&j===x.FallbackMode.NOT_FOUND)throw new C.NoFallbackError;if(as&&!aq){let c="string"==typeof(null==aj?void 0:aj.fallback)?aj.fallback:k?ah:null;if(b=await L.handleResponse({cacheKey:c,req:a,nextConfig:ae,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:_,isRoutePPREnabled:as,responseGenerator:async()=>m({span:i,postponed:void 0,fallbackRouteParams:k||au?(0,o.u)(ah):null}),waitUntil:d.waitUntil}),null===b)return null;if(b)return delete b.cacheControl,b}}let n=ai||g||!av?void 0:av;if(at&&void 0!==n)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:w.CachedRouteKind.PAGES,html:y.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let p=U&&as&&((0,h.getRequestMeta)(a,"renderFallbackShell")||au)?(0,o.u)(ag):null;return m({span:i,postponed:n,fallbackRouteParams:p})},p=async c=>{var f,g,i,j,k;let l,o=await L.handleResponse({cacheKey:aB,responseGenerator:a=>n({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ai,isRoutePPREnabled:as,req:a,nextConfig:ae,prerenderManifest:_,waitUntil:d.waitUntil});if(aa&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),L.isDev&&b.setHeader("Cache-Control","no-store, must-revalidate"),!o){if(aB)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=o.value)?void 0:f.kind)!==w.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=o.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let p="string"==typeof o.value.postponed;al&&!aw&&(!p||ap)&&(O||b.setHeader("x-nextjs-cache",ai?"REVALIDATED":o.isMiss?"MISS":o.isStale?"STALE":"HIT"),b.setHeader(u.NEXT_IS_PRERENDER_HEADER,"1"));let{value:q}=o;if(av)l={revalidate:0,expire:void 0};else if(O&&aq&&!ap&&as)l={revalidate:0,expire:void 0};else if(!L.isDev)if(aa)l={revalidate:0,expire:void 0};else if(al){if(o.cacheControl)if("number"==typeof o.cacheControl.revalidate){if(o.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${o.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});l={revalidate:o.cacheControl.revalidate,expire:(null==(j=o.cacheControl)?void 0:j.expire)??ae.expireTime}}else l={revalidate:z.CACHE_ONE_YEAR,expire:void 0}}else b.getHeader("Cache-Control")||(l={revalidate:0,expire:void 0});if(o.cacheControl=l,"string"==typeof ax&&(null==q?void 0:q.kind)===w.CachedRouteKind.APP_PAGE&&q.segmentData){b.setHeader(u.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=q.headers)?void 0:k[z.NEXT_CACHE_TAGS_HEADER];O&&al&&c&&"string"==typeof c&&b.setHeader(z.NEXT_CACHE_TAGS_HEADER,c);let d=q.segmentData.get(ax);return void 0!==d?(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.fromStatic(d,u.RSC_CONTENT_TYPE_HEADER),cacheControl:o.cacheControl}):(b.statusCode=204,(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.EMPTY,cacheControl:o.cacheControl}))}let r=(0,h.getRequestMeta)(a,"onCacheEntry");if(r&&await r({...o,value:{...o.value,kind:"PAGE"}},{url:(0,h.getRequestMeta)(a,"initURL")}))return null;if(p&&av)throw Object.defineProperty(Error("Invariant: postponed state should not be present on a resume request"),"__NEXT_ERROR_CODE",{value:"E396",enumerable:!1,configurable:!0});if(q.headers){let a={...q.headers};for(let[c,d]of(O&&al||delete a[z.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let s=null==(g=q.headers)?void 0:g[z.NEXT_CACHE_TAGS_HEADER];if(O&&al&&s&&"string"==typeof s&&b.setHeader(z.NEXT_CACHE_TAGS_HEADER,s),!q.status||aq&&as||(b.statusCode=q.status),!O&&q.status&&G.RedirectStatusCode[q.status]&&aq&&(b.statusCode=200),p&&b.setHeader(u.NEXT_DID_POSTPONE_HEADER,"1"),aq&&!aa){if(void 0===q.rscData){if(q.postponed)throw Object.defineProperty(Error("Invariant: Expected postponed to be undefined"),"__NEXT_ERROR_CODE",{value:"E372",enumerable:!1,configurable:!0});return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:q.html,cacheControl:aw?{revalidate:0,expire:void 0}:o.cacheControl})}return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.fromStatic(q.rscData,u.RSC_CONTENT_TYPE_HEADER),cacheControl:o.cacheControl})}let t=q.html;if(!p||O||aq)return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:o.cacheControl});if(at)return t.push(new ReadableStream({start(a){a.enqueue(A.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:{revalidate:0,expire:void 0}});let v=new TransformStream;return t.push(v.readable),m({span:c,postponed:q.postponed,fallbackRouteParams:null}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==w.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(v.writable)}).catch(a=>{v.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:{revalidate:0,expire:void 0}})};if(!aG)return await aF.withPropagatedContext(a.headers,()=>aF.trace(i.BaseServerSpan.handleRequest,{spanName:`${aE} ${a.url}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aE,"http.target":a.url}},p));await p(aG)}catch(b){throw b instanceof C.NoFallbackError||await L.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"render",revalidateReason:(0,f.c)({isRevalidate:al,isOnDemandRevalidate:ai})},ad),b}}},17553:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{$F:()=>m,mx:()=>n});var e=c(73024),f=c(76760),g=c(84104),h=c(83498),i=a([g]);g=(i.then?(await i)():i)[0];let o="brand_profile",p=f.join(h.Dl,"brand-assets","brand-guidelines.html"),q=f.join(h.Dl,"brand-assets","madarx-logo-primary.svg"),r={active:!0,company_name:"madarX",tagline:"",colors:[{name:"Onyx",value:"#0F0F11"},{name:"Platinum",value:"#E8E8E5"},{name:"Bone",value:"#DCDCD8"},{name:"Graphite",value:"#4A4A4D"},{name:"Mars",value:"#C2452A"}],fonts:["Inter","Cairo","IBM Plex Mono"],voice:["Direct","disciplined","precise","premium","local-first"],document_types:["Report","Brief","Strategy memo","Proposal"],presentation_style:"Dark editorial system with restrained layouts, Inter/Cairo/IBM Plex Mono typography, onyx backgrounds, platinum text, and Mars red accents.",logo_path:e.existsSync(q)?(0,h.z9)(q):null,logo_data_url:k(q),guidelines_path:e.existsSync(p)?(0,h.z9)(p):null,source_name:"brand-guidelines.html",extracted_at:null,updated_at:null};function j(a){return String(a||"").replace(/^--/,"").replace(/[-_]+/g," ").replace(/\b\w/g,a=>a.toUpperCase()).trim().replace(/^Ibm\b/,"IBM").replace(/\bUi\b/g,"UI")}function k(a){try{if(!a||!e.existsSync(a))return null;let b=f.extname(a).toLowerCase(),c=".svg"===b?"image/svg+xml":".png"===b?"image/png":".jpg"===b||".jpeg"===b?"image/jpeg":".webp"===b?"image/webp":"application/octet-stream",d=e.readFileSync(a);if("image/svg+xml"===c)return`data:${c};utf8,${encodeURIComponent(d.toString("utf8"))}`;return`data:${c};base64,${d.toString("base64")}`}catch{return null}}function l(){try{if(!e.existsSync(p))return{...r};let a=e.readFileSync(p,"utf8");return{...function(a,b="brand-guidelines"){let c=String(a||"").replace(/<script[\s\S]*?<\/script>/gi," ").replace(/<style[\s\S]*?<\/style>/gi," ").replace(/<[^>]+>/g," ").replace(/—|—/g,"-").replace(/&[a-z]+;/gi," ").replace(/\s+/g," ").trim(),d={...r,company_name:function(a,b){let c=a.match(/<title[^>]*>([\s\S]*?)<\/title>/i)?.[1]?.replace(/\s+/g," ").trim()||"",d=c.split(/[—|-]/)[0]?.trim();return d?d.replace(/\s+Brand Guidelines.*$/i,"").trim():f.basename(b||"Brand",f.extname(b||"")).replace(/[-_]+/g," ")}(a,b)||r.company_name,tagline:function(a,b){let c=RegExp(`<meta[^>]+name=["']${b}["'][^>]+content=["']([^"']+)["']`,"i");return a.match(c)?.[1]?.trim()||""}(a,"description")||"",colors:function(a){let b,c=function(a){let b,c=[],d=/--([a-z0-9_-]+)\s*:\s*(#[0-9a-f]{3,8})\b/gi;for(;b=d.exec(a);)c.push({name:j(b[1]),value:b[2].toUpperCase()});return c}(a),d=new Set(c.map(a=>a.value.toUpperCase())),e=/#[0-9a-f]{3,8}\b/gi;for(;(b=e.exec(a))&&c.length<10;){let a=b[0].toUpperCase();d.has(a)||(d.add(a),c.push({name:`Color ${c.length+1}`,value:a}))}return c.slice(0,10)}(a),fonts:function(a){let b=[];for(let c of a.matchAll(/@fontsource\/([^@/'")]+)/gi))b.push(j(c[1]));for(let c of a.matchAll(/font-family\s*:\s*([^;}{]+)/gi)){let a=c[1].split(",")[0].replace(/["']/g,"").trim();a&&!/^(var|system-ui|-apple-system|sans-serif|serif|monospace)$/i.test(a)&&b.push(a)}return[...new Set(b.filter(Boolean).map(a=>String(a).trim()).filter(Boolean))].slice(0,8)}(a),voice:function(a){let b=a.toLowerCase();return["direct","disciplined","precise","premium","minimal","editorial","confident","restrained","local-first","bilingual","operational"].filter(a=>b.includes(a)).slice(0,8)}(c),source_name:b,extracted_at:(0,g.kF)(),updated_at:(0,g.kF)()};return d.colors.length||(d.colors=r.colors),d.fonts.length||(d.fonts=r.fonts),d.voice.length||(d.voice=r.voice),d.presentation_style=function(a){let b=a.colors?.[0]?.value||"#111318",c=a.colors?.find(a=>!["#FFFFFF","#000000"].includes(a.value))?.value||b,d=a.fonts?.length?a.fonts.join(", "):"brand typography";return`Use ${d}; lead with ${a.company_name||"the brand"} identity, restrained hierarchy, ${b} as the base color, and ${c} as the accent.`}(d),d}(a,"brand-guidelines.html"),logo_path:e.existsSync(q)?(0,h.z9)(q):null,logo_data_url:k(q),guidelines_path:(0,h.z9)(p)}}catch{return{...r}}}function m(){let a=(0,g.Lf)().prepare("SELECT value FROM config WHERE key = ?").get(o);return a?{...r,...function(a,b){try{return JSON.parse(a)}catch{return b}}(a.value,{})}:l()}function n(a=(0,g.Lf)()){if(a.prepare("SELECT value FROM config WHERE key = ?").get(o))return!1;let b=l();return a.prepare("INSERT OR REPLACE INTO config (key, value) VALUES (?, ?)").run(o,JSON.stringify({...b,updated_at:(0,g.kF)()})),!0}d()}catch(a){d(a)}})},17830:(a,b,c)=>{"use strict";c.d(b,{ho:()=>l,pE:()=>f});let d=/^[a-z][a-z0-9-]{2,63}$/,e=new Set(["tool_call","llm_synthesis","artifact_write"]),f=["low","medium","high","irreversible_external"],g=/^[a-z][a-z0-9-]{0,63}$/,h=/\{\{([a-z][a-z0-9-]*)/g;function i(a,b,c){a.push(`${b}: ${c}`)}function j(a){return null!==a&&"object"==typeof a&&!Array.isArray(a)}function k(a){return f.indexOf(a)}function l(a,b={}){let c,m=[],n=[];try{c=JSON.stringify(a)}catch{return{ok:!1,errors:["spec: not JSON-serialisable"],warnings:[],normalized:null}}if(!c||"undefined"===c)return{ok:!1,errors:["spec: required"],warnings:[],normalized:null};if(Buffer.byteLength(c,"utf8")>65536)return{ok:!1,errors:[`spec: serialized length ${Buffer.byteLength(c,"utf8")} bytes exceeds 65536-byte cap`],warnings:[],normalized:null};if(!j(a))return{ok:!1,errors:["spec: must be a plain object"],warnings:[],normalized:null};if(a.slug&&"string"==typeof a.slug?d.test(a.slug)||i(m,"slug",`does not match ${d} (lowercase, starts with letter, 3-64 chars, hyphens allowed)`):i(m,"slug","required (string)"),a.title&&"string"==typeof a.title||i(m,"title","required (non-empty string)"),null!=a.description&&"string"!=typeof a.description&&i(m,"description","must be a string"),null==a.input_schema||j(a.input_schema)||i(m,"input_schema","must be a plain object"),!Array.isArray(a.steps)||0===a.steps.length)return i(m,"steps","required (non-empty array)"),{ok:!1,errors:m,warnings:n,normalized:null};if(a.steps.length>25)return i(m,"steps","exceeds 25"),{ok:!1,errors:m,warnings:n,normalized:null};let o=new Set,p="low",q=[];for(let c=0;c<a.steps.length;c++){var r,s;let d,l=a.steps[c],n=`steps[${c}]`;if(!j(l)){i(m,n,"must be a plain object");continue}if(!l.kind||!e.has(l.kind)){i(m,`${n}.kind`,`must be one of ${[...e].join(", ")}`);continue}l.id&&"string"==typeof l.id?g.test(l.id)?o.has(l.id)?i(m,`${n}.id`,`duplicate step id '${l.id}'`):o.add(l.id):i(m,`${n}.id`,`does not match ${g}`):i(m,`${n}.id`,"required (slug-like string)");let t=new Set(o);l.id&&t.delete(l.id);let u={};for(let[a,b]of("tool_call"===l.kind&&j(l.input_template)&&(u.input_template=l.input_template),"artifact_write"===l.kind&&(null!=l.title_template&&(u.title_template=l.title_template),null!=l.content_ref&&(u.content_ref=l.content_ref)),"llm_synthesis"===l.kind&&null!=l.prompt&&(u.prompt=l.prompt),Object.entries(u)))for(let c of function a(b){let c=new Set;if("string"==typeof b){let a;for(h.lastIndex=0;null!==(a=h.exec(b));){let b=a[1];"input"!==b&&c.add(b)}return c}if(j(b))for(let d of Object.values(b))for(let b of a(d))c.add(b);if(Array.isArray(b))for(let d of b)for(let b of a(d))c.add(b);return c}(b))t.has(c)||i(m,n,`references later/unknown step '${c}' in ${a}`);switch(l.kind){case"tool_call":d=function(a,b,c,d){let e;return a.tool&&"string"==typeof a.tool?d.knownToolNames&&!d.knownToolNames.has(a.tool)&&i(b,`${c}.tool`,`unknown tool '${a.tool}'`):i(b,`${c}.tool`,"required (string)"),null==a.input_template||j(a.input_template)||i(b,`${c}.input_template`,"must be a plain object (data only)"),null!=a.risk?f.includes(a.risk)?e=a.risk:(i(b,`${c}.risk`,`must be one of ${f.join(", ")}`),e="medium"):e=d.toolRiskByName&&"string"==typeof a.tool?d.toolRiskByName.get(a.tool)??"medium":"medium",e}(l,m,n,b);break;case"llm_synthesis":l.prompt&&"string"==typeof l.prompt?l.prompt.length>8e3&&i(m,`${n}.prompt`,`exceeds 8000 chars (got ${l.prompt.length})`):i(m,`${n}.prompt`,"required (non-empty string)"),d="low";break;case"artifact_write":d="low"}r=p,s=d,p=k(r)>=k(s)?r:s;let v={kind:l.kind,id:l.id};"tool_call"===l.kind?(v.tool=l.tool??null,null!=l.input_template&&(v.input_template=structuredClone(l.input_template)),v.risk=d):"llm_synthesis"===l.kind?v.prompt=l.prompt??null:"artifact_write"===l.kind&&(null!=l.title_template&&(v.title_template=l.title_template),null!=l.content_ref&&(v.content_ref=l.content_ref)),q.push(v)}return m.length>0?{ok:!1,errors:m,warnings:n,normalized:null}:{ok:!0,errors:[],warnings:n,normalized:{slug:a.slug,title:a.title,description:a.description??null,input_schema:null!=a.input_schema?structuredClone(a.input_schema):{type:"object",properties:{}},steps:q,risk_level:p}}}},17916:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{normalizeAppPath:function(){return f},normalizeRscURL:function(){return g}});let d=c(8991),e=c(8625);function f(a){return(0,d.ensureLeadingSlash)(a.split("/").reduce((a,b,c,d)=>!b||(0,e.isGroupSegment)(b)||"@"===b[0]||("page"===b||"route"===b)&&c===d.length-1?a:a+"/"+b,""))}function g(a){return a.replace(/\.rsc($|\?)/,"$1")}},18633:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{METADATA_BOUNDARY_NAME:function(){return c},OUTLET_BOUNDARY_NAME:function(){return e},ROOT_LAYOUT_BOUNDARY_NAME:function(){return f},VIEWPORT_BOUNDARY_NAME:function(){return d}});let c="__next_metadata_boundary__",d="__next_viewport_boundary__",e="__next_outlet_boundary__",f="__next_root_layout_boundary__"},18722:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{r1:()=>j});var e=c(73024),f=c(73136),g=c(76760),h=c(75994),i=a([h]);h=(i.then?(await i)():i)[0];let k=(0,g.dirname)((0,f.fileURLToPath)("file:///home/runner/work/madarx-os/madarx-os/lib/process/seeds/hail-quarterly-review.js")),l=null;function j(){let a=(l||(l=JSON.parse((0,e.readFileSync)((0,g.join)(k,"specs","hail-quarterly-review.json"),"utf8"))),l);return(0,h.R1)(a,{source_spec_json:JSON.stringify(a)})}d()}catch(a){d(a)}})},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},19376:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{wA:()=>i});var e=c(84104),f=c(68571),g=c(17553),h=a([e,f,g]);[e,f,g]=h.then?(await h)():h,process.env.OLLAMA_BASE_URL,process.env.MADARX_DEFAULT_MODEL;let j=["balanced","minimal","bold","soft"];function i(){try{let a=(0,e.Lf)().prepare("SELECT value FROM config WHERE key = ?").get("design_style"),b=a?.value;return j.includes(b)?b:"balanced"}catch{return"balanced"}}d()}catch(a){d(a)}})},20749:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{FE:()=>w,R5:()=>s,Y$:()=>y,zP:()=>u});var e=c(81909),f=c(16343),g=c(85798),h=a([e,f,g]);function i(a,b={}){try{let c=(0,e.r6)(a,{agent_id:b.agent_id,project_id:b.project_id});if(c)return c}catch{}return process.env[a]||null}function j(a,b={}){let c=i(a,b);if(!c)throw Error(`${a} not configured`);return c}function k(a,b,c,d){let e=Number(a);return Number.isFinite(e)?Math.min(Math.max(Math.trunc(e),c),d):b}function l(a,b){let c=String(a||"").trim().toUpperCase();if(!/^[A-Z]{3}$/.test(c))throw Error(`"${b}" must be a 3-letter IATA code (got: ${a??""})`);return c}function m(a,b){let c=String(a||"").trim();if(!/^\d{4}-\d{2}-\d{2}$/.test(c))throw Error(`"${b}" must be ISO date YYYY-MM-DD (got: ${a??""})`);return c}async function n(a,b){try{let c=await a.text();if(!c)return b;return c.slice(0,300)}catch{return b}}function o(a={}){let b=(i("AMADEUS_ENV",a)||"test").toLowerCase();return"production"===b||"prod"===b?"https://api.amadeus.com":"https://test.api.amadeus.com"}[e,f,g]=h.then?(await h)():h;let z=new Map;async function p(a={}){let b=o(a),c=z.get(b);if(c&&c.expires_at>Date.now()+6e4)return c.access_token;let d=j("AMADEUS_CLIENT_ID",a),e=j("AMADEUS_CLIENT_SECRET",a),g=(0,f.N)("flight_search",a.agent_id??null),h=await g(`${b}/v1/security/oauth2/token`,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"client_credentials",client_id:d,client_secret:e}).toString()});if(!h.ok){let a=await n(h,`HTTP ${h.status}`);throw Error(`Amadeus auth failed (${h.status}): ${a}`)}let i=await h.json(),k=String(i.access_token||""),l=Number(i.expires_in||1800);if(!k)throw Error("Amadeus auth returned no access_token");return z.set(b,{access_token:k,expires_at:Date.now()+1e3*l}),k}function q(a={}){let b=Array.isArray(a.itineraries)?a.itineraries:[],c=b.flatMap(a=>Array.isArray(a?.segments)?a.segments:[]);return{id:a.id||null,price:{total:a.price?.total??null,currency:a.price?.currency??null,base:a.price?.base??null},seats_available:a.numberOfBookableSeats??null,last_ticketing_date:a.lastTicketingDate??null,itineraries:b.map(a=>({duration:a?.duration??null,stops:Math.max(0,(Array.isArray(a?.segments)?a.segments.length:1)-1),segments:(Array.isArray(a?.segments)?a.segments:[]).map(a=>({carrier:a?.carrierCode??null,flight_number:a?.number??null,departure:{iata:a?.departure?.iataCode??null,at:a?.departure?.at??null,terminal:a?.departure?.terminal??null},arrival:{iata:a?.arrival?.iataCode??null,at:a?.arrival?.at??null,terminal:a?.arrival?.terminal??null},duration:a?.duration??null,aircraft:a?.aircraft?.code??null}))})),validating_airlines:Array.isArray(a.validatingAirlineCodes)?a.validatingAirlineCodes:[],cabin:c[0]?.cabin||a.travelerPricings?.[0]?.fareDetailsBySegment?.[0]?.cabin||null}}async function r(a={},b={}){let c=l(a.origin,"origin"),d=l(a.destination,"destination"),e=m(a.departure_date,"departure_date"),g=a.return_date?m(a.return_date,"return_date"):null,h=k(a.adults,1,1,9),i=k(a.children,0,0,8),j=k(a.max_results,5,1,25),s=new URLSearchParams({originLocationCode:c,destinationLocationCode:d,departureDate:e,adults:String(h),max:String(j),currencyCode:a.currency?String(a.currency).toUpperCase().slice(0,3):"USD"});if(g&&s.set("returnDate",g),i>0&&s.set("children",String(i)),a.travel_class){let b=String(a.travel_class).toUpperCase();["ECONOMY","PREMIUM_ECONOMY","BUSINESS","FIRST"].includes(b)&&s.set("travelClass",b)}(!0===a.non_stop||"true"===a.non_stop)&&s.set("nonStop","true");let t=await p(b),u=o(b),v=(0,f.N)("flight_search",b.agent_id??null),w=await v(`${u}/v2/shopping/flight-offers?${s.toString()}`,{headers:{Authorization:`Bearer ${t}`,Accept:"application/json"}});if(401===w.status){z.delete(u);let a=await n(w,"unauthorized");throw Error(`Amadeus auth rejected (401): ${a}`)}if(!w.ok){let a=await n(w,`HTTP ${w.status}`);throw Error(`Amadeus flight offers failed (${w.status}): ${a}`)}let x=await w.json(),y=Array.isArray(x.data)?x.data:[];return{query:{origin:c,destination:d,departure_date:e,return_date:g,adults:h,children:i,currency:s.get("currencyCode"),travel_class:s.get("travelClass")||null,non_stop:"true"===s.get("nonStop"),max_results:j},count:y.length,offers:y.map(q),source:{provider:"amadeus",environment:u.includes("test.api")?"test":"production",fetched_at:new Date().toISOString()}}}async function s(a={},b={}){let c=!!(i("AMADEUS_CLIENT_ID",b)&&i("AMADEUS_CLIENT_SECRET",b)),d="1"===String(process.env.MADARX_FLIGHT_SEARCH_NO_FALLBACK||"").trim();if(c)try{return await r(a,b)}catch(a){if(d)throw a;console.warn("[flight_search] Amadeus failed, falling back to Google Flights:",a?.message||a)}return(0,g.b3)(a,b)}function t(a={}){return{flight_date:a.flight_date??null,flight_status:a.flight_status??null,airline:a.airline?.name??null,flight:{iata:a.flight?.iata??null,icao:a.flight?.icao??null,number:a.flight?.number??null},departure:{airport:a.departure?.airport??null,iata:a.departure?.iata??null,icao:a.departure?.icao??null,terminal:a.departure?.terminal??null,gate:a.departure?.gate??null,scheduled:a.departure?.scheduled??null,estimated:a.departure?.estimated??null,actual:a.departure?.actual??null,delay_minutes:a.departure?.delay??null},arrival:{airport:a.arrival?.airport??null,iata:a.arrival?.iata??null,icao:a.arrival?.icao??null,terminal:a.arrival?.terminal??null,gate:a.arrival?.gate??null,scheduled:a.arrival?.scheduled??null,estimated:a.arrival?.estimated??null,actual:a.arrival?.actual??null,delay_minutes:a.arrival?.delay??null},aircraft:a.aircraft?.registration??null,live:a.live?{latitude:a.live.latitude??null,longitude:a.live.longitude??null,altitude:a.live.altitude??null,speed_horizontal:a.live.speed_horizontal??null,is_ground:a.live.is_ground??null,updated:a.live.updated??null}:null}}async function u(a={},b={}){let c=a.flight_iata?String(a.flight_iata).trim().toUpperCase():null,d=a.flight_icao?String(a.flight_icao).trim().toUpperCase():null,e=a.airline_iata?String(a.airline_iata).trim().toUpperCase():null,g=a.dep_iata?l(a.dep_iata,"dep_iata"):null,h=a.arr_iata?l(a.arr_iata,"arr_iata"):null,o=a.flight_date?m(a.flight_date,"flight_date"):null,p=k(a.limit,5,1,100);if(!c&&!d&&!e&&!g&&!h)throw Error("At least one of flight_iata, flight_icao, airline_iata, dep_iata, or arr_iata is required");let q=j("AVIATIONSTACK_API_KEY",b),r=new URLSearchParams({access_key:q,limit:String(p)});c&&r.set("flight_iata",c),d&&r.set("flight_icao",d),e&&r.set("airline_iata",e),g&&r.set("dep_iata",g),h&&r.set("arr_iata",h),o&&r.set("flight_date",o);let s=function(a={}){let b=String(i("AVIATIONSTACK_HTTPS",a)||"").toLowerCase();return"1"===b||"true"===b||"yes"===b?"https://api.aviationstack.com":"http://api.aviationstack.com"}(b),v=(0,f.N)("flight_status",b.agent_id??null),w=await v(`${s}/v1/flights?${r.toString()}`);if(!w.ok){let a=await n(w,`HTTP ${w.status}`);throw Error(`Aviationstack failed (${w.status}): ${a}`)}let x=await w.json();if(x?.error){let a=x.error.code||"error",b=x.error.message||x.error.info||"unknown error";throw Error(`Aviationstack error (${a}): ${b}`)}let y=Array.isArray(x?.data)?x.data:[];return{query:{flight_iata:c,flight_icao:d,airline_iata:e,dep_iata:g,arr_iata:h,flight_date:o,limit:p},count:y.length,pagination:x?.pagination||null,flights:y.map(t),source:{provider:"aviationstack",fetched_at:new Date().toISOString()}}}let A="https://data.xotelo.com";function v(a={}){return{key:a.key??a.hotel_key??null,name:a.name??null,geo:{latitude:a.geo?.latitude??null,longitude:a.geo?.longitude??null},address:a.address??null,stars:a.stars??null,review_summary:a.review_summary?{score:a.review_summary.score??null,count:a.review_summary.count??null}:null,price:a.price??null,accommodation_type:a.accommodation_type??null}}async function w(a={},b={}){let c=String(a.location_key||"").trim();if(!c)throw Error('"location_key" is required');if(!/^[a-z]?[0-9]+$/i.test(c))throw Error(`"location_key" must be a TripAdvisor key like "g60763" (got: ${c})`);let d=k(a.offset,0,0,1e3),e=k(a.limit,10,1,30),g=a.currency?String(a.currency).toUpperCase().slice(0,3):"USD",h=new URLSearchParams({location_key:c,offset:String(d),limit:String(e),currency:g});if(a.sort){let b=String(a.sort).toLowerCase();["popularity","price","rating"].includes(b)&&h.set("sort",b)}a.hotel_class&&h.set("hotel_class",String(a.hotel_class));let i=(0,f.N)("hotel_search",b.agent_id??null),j=await i(`${A}/api/list?${h.toString()}`);if(!j.ok){let a=await n(j,`HTTP ${j.status}`);throw Error(`Xotelo list failed (${j.status}): ${a}`)}let l=await j.json();if(l?.error)throw Error(`Xotelo error: ${"string"==typeof l.error?l.error:JSON.stringify(l.error)}`);let m=l?.result||{},o=Array.isArray(m.list)?m.list:[];return{query:{location_key:c,offset:d,limit:e,currency:g,sort:h.get("sort")||null},count:o.length,total_available:m.number_of_results??null,hotels:o.map(v),source:{provider:"xotelo",fetched_at:new Date().toISOString()}}}function x(a={}){return{vendor:a.name??a.code??null,code:a.code??null,rate:a.rate??null,tax:a.tax??null,total:a.total??null,currency:a.currency??null,deeplink:a.deeplink??null,is_official:a.is_official??null,free_cancellation:a.free_cancellation??null}}async function y(a={},b={}){let c=String(a.hotel_key||"").trim();if(!c)throw Error('"hotel_key" is required');if(!/^[a-z]?[0-9]+-[a-z]?[0-9]+$/i.test(c))throw Error(`"hotel_key" must be a TripAdvisor hotel key like "g60763-d224867" (got: ${c})`);let d=m(a.chk_in,"chk_in"),e=m(a.chk_out,"chk_out");if(new Date(e)<=new Date(d))throw Error('"chk_out" must be after "chk_in"');let g=a.currency?String(a.currency).toUpperCase().slice(0,3):"USD",h=k(a.rooms,1,1,9),i=k(a.adults,2,1,9),j=new URLSearchParams({hotel_key:c,chk_in:d,chk_out:e,currency:g,rooms:String(h),adults:String(i)}),l=(0,f.N)("hotel_rates",b.agent_id??null),o=await l(`${A}/api/rates?${j.toString()}`);if(!o.ok){let a=await n(o,`HTTP ${o.status}`);throw Error(`Xotelo rates failed (${o.status}): ${a}`)}let p=await o.json();if(p?.error)throw Error(`Xotelo error: ${"string"==typeof p.error?p.error:JSON.stringify(p.error)}`);let q=p?.result||{},r=Array.isArray(q.rates)?q.rates:[];return{query:{hotel_key:c,chk_in:d,chk_out:e,currency:g,rooms:h,adults:i},count:r.length,hotel:{name:q.name??null,stars:q.stars??null},rates:r.map(x),source:{provider:"xotelo",fetched_at:new Date().toISOString()}}}d()}catch(a){d(a)}})},21016:(a,b,c)=>{Promise.resolve().then(c.bind(c,35271)),Promise.resolve().then(c.bind(c,79148)),Promise.resolve().then(c.bind(c,72987)),Promise.resolve().then(c.bind(c,78516)),Promise.resolve().then(c.t.bind(c,65169,23))},21118:(a,b,c)=>{"use strict";c.d(b,{Tt:()=>g,ix:()=>d,wb:()=>e}),Object.freeze(["public","internal","confidential","restricted","refused"]),Object.freeze(["diagnostic","blueprint","pilot","managed_layer"]),Object.freeze(["low","medium","high","irreversible_external","blocked"]),Object.freeze(["decide","draft","recommend","execute","escalate"]),Object.freeze(["interview_transcript","diagnostic_report","operating_profile","role_map","friction_map","governance_matrix","agent_roster","setup_plan","pilot_test_report","quarterly_review"]);let d=new Set(Object.freeze(["diagnostic_signoff","blueprint_signoff","setup_package_approval","pilot_launch","managed_layer_change"])),e=new Set(Object.freeze(["practitioner","architect","security_reviewer","principal","counsel"]));Object.freeze(["agent","tool","allowlist_entry","secret","schedule","workflow","memory_scope","artifact_acl","approval_policy"]),Object.freeze(["observed","inferred","needs_confirmation"]),Object.freeze([{slug:"principal_identity",label:"Principal identity & context"},{slug:"role_capacity_inventory",label:"Role / capacity inventory"},{slug:"decision_delegation_style",label:"Decision & delegation style"},{slug:"reputation_constraints",label:"Reputation constraints"},{slug:"confidentiality_boundaries",label:"Confidentiality boundaries"},{slug:"current_systems_tools",label:"Current systems, tools & communications"},{slug:"bottlenecks_friction",label:"Work bottlenecks & friction points"},{slug:"approval_preferences",label:"Approval preferences"},{slug:"counterparties_reviewers",label:"Human counterparties & reviewer roles"},{slug:"regulated_obligations",label:"Regulated / counsel / audit obligations"},{slug:"desired_outcomes",label:"Desired outcomes (time / judgment / reputation)"}]).map(a=>a.slug);let f=Object.freeze({"diagnostic-signoff":{gate_type:"diagnostic_signoff",reviewer_role:"practitioner"},"blueprint-signoff":{gate_type:"blueprint_signoff",reviewer_role:"architect"},"setup-package-approval":{gate_type:"setup_package_approval",reviewer_role:"principal"},"pilot-activation":{gate_type:"pilot_launch",reviewer_role:"principal"},"managed-layer-activation":{gate_type:"managed_layer_change",reviewer_role:"practitioner"}}),g=Object.freeze({"hail-engagement-lifecycle":f,"hail-quarterly-review":Object.freeze({"review-signoff":{gate_type:"managed_layer_change",reviewer_role:"practitioner"},"reconfig-approval":{gate_type:"setup_package_approval",reviewer_role:"principal"}})})},22458:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{ReadonlyURLSearchParams:function(){return k},RedirectType:function(){return e.RedirectType},forbidden:function(){return g.forbidden},notFound:function(){return f.notFound},permanentRedirect:function(){return d.permanentRedirect},redirect:function(){return d.redirect},unauthorized:function(){return h.unauthorized},unstable_isUnrecognizedActionError:function(){return l},unstable_rethrow:function(){return i.unstable_rethrow}});let d=c(79595),e=c(44338),f=c(52741),g=c(36098),h=c(87345),i=c(23129);class j extends Error{constructor(){super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams")}}class k extends URLSearchParams{append(){throw new j}delete(){throw new j}set(){throw new j}sort(){throw new j}}function l(){throw Object.defineProperty(Error("`unstable_isUnrecognizedActionError` can only be used on the client."),"__NEXT_ERROR_CODE",{value:"E776",enumerable:!1,configurable:!0})}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},22896:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{I6:()=>l,Q$:()=>k,vV:()=>m});var e=c(81909),f=c(16343),g=a([e,f]);function h(a,b={}){try{let c=(0,e.r6)(a,{agent_id:b.agent_id,project_id:b.project_id});if(c)return c}catch{}return process.env[a]||null}function i(a={}){return{Authorization:`Bearer ${function(a,b={}){let c=h(a,b);if(!c)throw Error(`${a} not configured`);return c}("VERCEL_TOKEN",a)}`,Accept:"application/json"}}function j(a,b){return b&&a.searchParams.set("teamId",String(b)),a}async function k(a={},b={}){let c=a.team_id||h("VERCEL_TEAM_ID",b),d=b.agent_id??null,e=j(new URL("https://api.vercel.com/v9/projects"),c);a.limit&&e.searchParams.set("limit",String(Math.min(Math.max(Number(a.limit),1),100)));let g=await (0,f.N)("vercel_list_projects",d)(e,{headers:i(b)});if(!g.ok)throw Error(`Vercel projects request failed: ${g.status}`);return{projects:((await g.json()).projects||[]).map(a=>({id:a.id,name:a.name,framework:a.framework,latest_deployments:(a.latestDeployments||[]).map(a=>({uid:a.uid,url:a.url,state:a.state,created_at:a.createdAt}))}))}}async function l(a={},b={}){let c=a.team_id||h("VERCEL_TEAM_ID",b),d=b.agent_id??null,e=j(new URL("https://api.vercel.com/v6/deployments"),c);a.project_id&&e.searchParams.set("projectId",String(a.project_id)),a.project_name&&e.searchParams.set("projectName",String(a.project_name)),a.limit&&e.searchParams.set("limit",String(Math.min(Math.max(Number(a.limit),1),100)));let g=await (0,f.N)("vercel_list_deployments",d)(e,{headers:i(b)});if(!g.ok)throw Error(`Vercel deployments request failed: ${g.status}`);let k=await g.json();return{deployments:(k.deployments||[]).map(a=>({uid:a.uid,name:a.name,url:a.url,state:a.state,target:a.target,created_at:a.createdAt,creator:a.creator?{uid:a.creator.uid,username:a.creator.username}:null})),pagination:k.pagination||null}}async function m(a={}){return{approval_required:!0,status:"pending_approval",action:"vercel_create_deployment",summary:a.summary||"Create a Vercel deployment",requested_at:new Date().toISOString(),note:"Deployment creation is staged only. Approve the pending action before any external write is executed."}}[e,f]=g.then?(await g)():g,d()}catch(a){d(a)}})},23129:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"unstable_rethrow",{enumerable:!0,get:function(){return d}});let d=c(74144).unstable_rethrow;("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},23339:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{NO:()=>p,TP:()=>q,c3:()=>r,l8:()=>w,mD:()=>s,oc:()=>u,sX:()=>t,wm:()=>v});var e=c(81909),f=c(16343),g=a([e,f]);function h(a,b={}){try{let c=(0,e.r6)(a,{agent_id:b.agent_id,project_id:b.project_id});if(c)return c}catch{}return process.env[a]||null}function i(a,b={}){let c=h(a,b);if(!c)throw Error(`${a} not configured`);return c}function j(a){return{Authorization:`Bearer ${a}`,apikey:a,Accept:"application/json"}}function k(a,b){let c=String(a||"").trim();if(!/^[a-zA-Z_][a-zA-Z0-9_]*(\.[a-zA-Z_][a-zA-Z0-9_]*)?$/.test(c))throw Error(`${b} must be a valid identifier (got: ${JSON.stringify(a)})`);return c}function l(a){let b=new URLSearchParams;for(let[c,d]of Object.entries(a)){if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(c))throw Error(`Invalid filter column: ${c}`);b.set(c,String(d).includes(".")?String(d):`eq.${d}`)}return b}async function m(a){let b={};try{b=await a.json()}catch{}return{status:a.status,message:b.message||b.error||a.statusText||"Request failed",hint:b.hint||null}}function n(a){let b=i("SUPABASE_URL",a).replace(/\/+$/g,""),c=h("SUPABASE_SERVICE_ROLE_KEY",a)||h("SUPABASE_ANON_KEY",a);if(!c)throw Error("SUPABASE_SERVICE_ROLE_KEY or SUPABASE_ANON_KEY not configured");return{baseUrl:b,key:c}}function o(a){return Array.isArray(a)&&a.length>100?a.slice(0,100):a}async function p(a={},b={}){let c=i("SUPABASE_ACCESS_TOKEN",b),d=b.agent_id??null,e=await (0,f.N)("supabase_list_projects",d)("https://api.supabase.com/v1/projects",{headers:{Authorization:`Bearer ${c}`,Accept:"application/json"}});if(!e.ok)throw Error(`Supabase projects request failed: ${e.status}`);let g=await e.json();return{projects:(Array.isArray(g)?g:[]).map(a=>({id:a.id,name:a.name,region:a.region,status:a.status,organization_id:a.organization_id}))}}async function q(a={},b={}){let c=i("SUPABASE_URL",b).replace(/\/+$/g,""),d=h("SUPABASE_SERVICE_ROLE_KEY",b)||h("SUPABASE_ANON_KEY",b);if(!d)throw Error("SUPABASE_SERVICE_ROLE_KEY or SUPABASE_ANON_KEY not configured");let e=b.agent_id??null,g=String(a.table||"").trim();if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(g))throw Error("table must be a simple table name");let k=Math.min(Math.max(Number(a.limit||25),1),100),l=new URL(`${c}/rest/v1/${g}`);l.searchParams.set("select",String(a.select||"*")),l.searchParams.set("limit",String(k));let m=a.filters&&"object"==typeof a.filters?a.filters:{};for(let[a,b]of Object.entries(m)){if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(a))throw Error(`Invalid filter column: ${a}`);l.searchParams.set(a,String(b).includes(".")?String(b):`eq.${b}`)}let n=await (0,f.N)("supabase_rest_select",e)(l,{headers:j(d)});if(!n.ok)throw Error(`Supabase REST select failed: ${n.status}`);let o=await n.json();return{table:g,count:Array.isArray(o)?o.length:null,rows:o}}async function r(a={},b={}){let{baseUrl:c,key:d}=n(b),e=b.agent_id??null,g=k(a.table,"table"),h=Array.isArray(a.rows)?a.rows:[a.rows].filter(Boolean);if(!h.length)throw Error("supabase_rest_insert requires at least one row in rows[]");let i=new URL(`${c}/rest/v1/${g}`);i.searchParams.set("limit","100");let l=await (0,f.N)("supabase_rest_insert",e)(i,{method:"POST",headers:{...j(d),"Content-Type":"application/json",Prefer:"return=representation"},body:JSON.stringify(h)});if(!l.ok){let a=await m(l);throw Error(`supabase_rest_insert failed (${a.status}): ${a.message}${a.hint?` — ${a.hint}`:""}`)}let p=await l.json(),q=o(Array.isArray(p)?p:[]);return{inserted:h.length,rows:q}}async function s(a={},b={}){let{baseUrl:c,key:d}=n(b),e=b.agent_id??null,g=k(a.table,"table"),h=Array.isArray(a.rows)?a.rows:[a.rows].filter(Boolean);if(!h.length)throw Error("supabase_rest_upsert requires at least one row in rows[]");let i=new URL(`${c}/rest/v1/${g}`);i.searchParams.set("limit","100"),a.on_conflict&&i.searchParams.set("on_conflict",String(a.on_conflict));let l=await (0,f.N)("supabase_rest_upsert",e)(i,{method:"POST",headers:{...j(d),"Content-Type":"application/json",Prefer:"resolution=merge-duplicates,return=representation"},body:JSON.stringify(h)});if(!l.ok){let a=await m(l);throw Error(`supabase_rest_upsert failed (${a.status}): ${a.message}${a.hint?` — ${a.hint}`:""}`)}let p=await l.json(),q=o(Array.isArray(p)?p:[]);return{upserted:h.length,rows:q}}async function t(a={},b={}){let{baseUrl:c,key:d}=n(b),e=b.agent_id??null,g=k(a.table,"table"),h=a.filters&&"object"==typeof a.filters?a.filters:{};if(!Object.keys(h).length)throw Error("supabase_rest_update requires filters to avoid table-wide updates");if(!a.patch||"object"!=typeof a.patch||Array.isArray(a.patch))throw Error("supabase_rest_update requires a patch object");let i=l(h),p=new URL(`${c}/rest/v1/${g}?${i.toString()}`),q=await (0,f.N)("supabase_rest_update",e)(p,{method:"PATCH",headers:{...j(d),"Content-Type":"application/json",Prefer:"return=representation",Range:"0-99"},body:JSON.stringify(a.patch)});if(!q.ok){let a=await m(q);throw Error(`supabase_rest_update failed (${a.status}): ${a.message}${a.hint?` — ${a.hint}`:""}`)}let r=await q.json(),s=o(Array.isArray(r)?r:[]);return{updated:s.length,rows:s}}async function u(a={},b={}){let{baseUrl:c,key:d}=n(b),e=b.agent_id??null,g=k(a.table,"table"),h=a.filters&&"object"==typeof a.filters?a.filters:{};if(!Object.keys(h).length)throw Error("supabase_rest_delete requires filters; bulk table truncation is blocked");let i=l(h),p=new URL(`${c}/rest/v1/${g}?${i.toString()}`),q=await (0,f.N)("supabase_rest_delete",e)(p,{method:"DELETE",headers:{...j(d),Prefer:"return=representation",Range:"0-99"}});if(!q.ok){let a=await m(q);throw Error(`supabase_rest_delete failed (${a.status}): ${a.message}${a.hint?` — ${a.hint}`:""}`)}let r=await q.json(),s=o(Array.isArray(r)?r:[]);return{deleted:s.length,rows:s}}async function v(a={},b={}){let c,{baseUrl:d,key:e}=n(b),g=b.agent_id??null,h=k(a.function_name,"function_name"),i=a.params&&"object"==typeof a.params?a.params:{},l=new URL(`${d}/rest/v1/rpc/${h}`),p=await (0,f.N)("supabase_rpc",g)(l,{method:"POST",headers:{...j(e),"Content-Type":"application/json"},body:JSON.stringify(i)});if(!p.ok){let a=await m(p);throw Error(`supabase_rpc(${h}) failed (${a.status}): ${a.message}${a.hint?` — ${a.hint}`:""}`)}let q=await p.text();if(Buffer.byteLength(q,"utf8")>51200)throw Error("supabase_rpc response too large (>51200 bytes); narrow your query");try{c=JSON.parse(q)}catch{c=q}return{result:o((Array.isArray(c),c))}}async function w(a={},b={}){let c,{baseUrl:d,key:e}=n(b),g=b.agent_id??null,h=String(a.query||"").trim();if(!h)throw Error("supabase_sql requires a query string");let i=a.params&&"object"==typeof a.params?a.params:{},k=new URL(`${d}/rest/v1/rpc/madarx_exec_sql`),l=await (0,f.N)("supabase_sql",g)(k,{method:"POST",headers:{...j(e),"Content-Type":"application/json"},body:JSON.stringify({query:h,params:i})});if(404===l.status)throw Error("madarx_exec_sql() function not found. Create it in your Supabase project with: CREATE OR REPLACE FUNCTION madarx_exec_sql(query text, params jsonb DEFAULT '{}'::jsonb) RETURNS SETOF record LANGUAGE plpgsql SECURITY DEFINER AS $$ BEGIN RETURN QUERY EXECUTE query; END; $$;");if(!l.ok){let a=await m(l);throw Error(`supabase_sql failed (${a.status}): ${a.message}${a.hint?` — ${a.hint}`:""}`)}let p=await l.text();if(Buffer.byteLength(p,"utf8")>51200)throw Error("supabase_sql response too large (>51200 bytes); add LIMIT to your query");try{c=JSON.parse(p)}catch{c=[]}let q=o(Array.isArray(c)?c:[c]);return{rows:q,row_count:q.length}}[e,f]=g.then?(await g)():g,d()}catch(a){d(a)}})},23799:(a,b,c)=>{"use strict";c.d(b,{m:()=>h});var d=c(31421);c(26848);var e=c(6390);function f(a){return new Promise(b=>{let c="",e=(0,d.spawn)("npm",["install","-g",a,"--prefer-online","--no-audit","--no-fund"],{stdio:["ignore","pipe","pipe"]});e.stdout.on("data",a=>{c+=a,process.stdout.write(a)}),e.stderr.on("data",a=>{c+=a,process.stderr.write(a)}),e.on("error",a=>b({ok:!1,code:-1,output:String(a.message)})),e.on("exit",a=>b({ok:0===a,code:a,output:c}))})}async function g({runner:a=f,to:b="latest",initiatedBy:d="cli"}={}){let h=(0,e.YO)(),i=`${e.rd}@${b}`,j=await a(i);try{let{appendAudit:a}=await Promise.resolve().then(c.bind(c,42382));a({type:"system.self_update",summary:`madarx update ${h} → ${b} (${j.ok?"ok":"failed"})`,status:j.ok?"ok":"failed",meta:{from:h,to:b,code:j.code,initiated_by:d}})}catch{}return{ok:j.ok,from:h,to:b,code:j.code,output:j.output}}async function h(a={}){let b=await (0,e.NS)({});if(!b.reachable)return{ok:!1,from:(0,e.YO)(),to:null,applied:!1,message:"npm registry unreachable"};if(!b.behind)return{ok:!0,from:b.current,to:b.latest,applied:!1,message:"already up to date"};let c=await g({initiatedBy:"self_update_tool"});return{ok:c.ok,from:c.from,to:b.latest,applied:c.ok,message:c.ok?`updated ${c.from} → v${b.latest}; restart required`:`update failed (exit ${c.code})`}}c(76760),c(48161),c(73024)},23998:(a,b)=>{"use strict";function c(a){return null!==a&&"object"==typeof a&&"then"in a&&"function"==typeof a.then}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"isThenable",{enumerable:!0,get:function(){return c}})},24867:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Bs:()=>g});var e=c(84104),f=a([e]);function g(a,{scope_key:b,scope_value:c},d={}){let f=(0,e.Lf)(),h=!!d.default_allow,i=f.prepare("SELECT id FROM tool_allowlists WHERE tool_name = ? AND scope_key = ?").all(a,b);return 0===i.length?h?{ok:!0}:{ok:!1,missing_entry:{tool_name:a,scope_key:b,scope_value:c}}:f.prepare("SELECT id FROM tool_allowlists WHERE tool_name = ? AND scope_key = ? AND scope_value = ?").get(a,b,String(c))?{ok:!0}:{ok:!1,missing_entry:{tool_name:a,scope_key:b,scope_value:c}}}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},26082:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"RouteKind",{enumerable:!0,get:function(){return c}});var c=function(a){return a.PAGES="PAGES",a.PAGES_API="PAGES_API",a.APP_PAGE="APP_PAGE",a.APP_ROUTE="APP_ROUTE",a.IMAGE="IMAGE",a}({})},26200:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{ef:()=>C});var e=c(31421),f=c(73024),g=c(76760),h=c(83498),i=c(71086),j=c(79336),k=c(57647),l=c(42382),m=c(42864),n=c(11575),o=c(44246),p=c(85774),q=c(45830),r=c(40266),s=c(73005),t=c(62670),u=c(18722),v=c(34976),w=c(96615),x=c(5609),y=c(71454),z=c(17553),A=c(6390),B=a([j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z]);[j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z]=B.then?(await B)():B;let D="1"===process.env.MADARX_SEED_DEFAULT_WORKFLOWS;function C(a){globalThis.__madarxSuppressStateEmits=!0;try{try{!function(a){if(a.prepare("SELECT id FROM heartbeat_tasks WHERE type = 'tool_rate_limit_gc' AND status IN ('queued','leased','running') LIMIT 1").get())return;let b=`hbtask-rl-gc-${Date.now().toString(36)}`,c=JSON.stringify({type:"tool_rate_limit_gc"}),d=new Date().toISOString(),e=new Date(Date.now()+864e5).toISOString();a.prepare(`
|
|
370
|
+
see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:w.CachedRouteKind.APP_PAGE,html:l,headers:o,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:n}},n=async({hasResolved:c,previousCacheEntry:f,isRevalidating:g,span:i})=>{let j,k=!1===L.isDev,l=c||b.writableEnded;if(ai&&ac&&!f&&!O)return(null==ad?void 0:ad.render404)?await ad.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(aj&&(j=(0,x.parseFallbackField)(aj.fallback)),j===x.FallbackMode.PRERENDER&&(0,v.isBot)(am)&&(!as||ao)&&(j=x.FallbackMode.BLOCKING_STATIC_RENDER),(null==f?void 0:f.isStale)===-1&&(ai=!0),ai&&(j!==x.FallbackMode.NOT_FOUND||f)&&(j=x.FallbackMode.BLOCKING_STATIC_RENDER),!O&&j!==x.FallbackMode.BLOCKING_STATIC_RENDER&&aC&&!l&&!aa&&U&&(k||!ak)){let b;if((k||aj)&&j===x.FallbackMode.NOT_FOUND)throw new C.NoFallbackError;if(as&&!aq){let c="string"==typeof(null==aj?void 0:aj.fallback)?aj.fallback:k?ah:null;if(b=await L.handleResponse({cacheKey:c,req:a,nextConfig:ae,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:_,isRoutePPREnabled:as,responseGenerator:async()=>m({span:i,postponed:void 0,fallbackRouteParams:k||au?(0,o.u)(ah):null}),waitUntil:d.waitUntil}),null===b)return null;if(b)return delete b.cacheControl,b}}let n=ai||g||!av?void 0:av;if(at&&void 0!==n)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:w.CachedRouteKind.PAGES,html:y.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let p=U&&as&&((0,h.getRequestMeta)(a,"renderFallbackShell")||au)?(0,o.u)(ag):null;return m({span:i,postponed:n,fallbackRouteParams:p})},p=async c=>{var f,g,i,j,k;let l,o=await L.handleResponse({cacheKey:aB,responseGenerator:a=>n({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ai,isRoutePPREnabled:as,req:a,nextConfig:ae,prerenderManifest:_,waitUntil:d.waitUntil});if(aa&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),L.isDev&&b.setHeader("Cache-Control","no-store, must-revalidate"),!o){if(aB)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=o.value)?void 0:f.kind)!==w.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=o.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let p="string"==typeof o.value.postponed;al&&!aw&&(!p||ap)&&(O||b.setHeader("x-nextjs-cache",ai?"REVALIDATED":o.isMiss?"MISS":o.isStale?"STALE":"HIT"),b.setHeader(u.NEXT_IS_PRERENDER_HEADER,"1"));let{value:q}=o;if(av)l={revalidate:0,expire:void 0};else if(O&&aq&&!ap&&as)l={revalidate:0,expire:void 0};else if(!L.isDev)if(aa)l={revalidate:0,expire:void 0};else if(al){if(o.cacheControl)if("number"==typeof o.cacheControl.revalidate){if(o.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${o.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});l={revalidate:o.cacheControl.revalidate,expire:(null==(j=o.cacheControl)?void 0:j.expire)??ae.expireTime}}else l={revalidate:z.CACHE_ONE_YEAR,expire:void 0}}else b.getHeader("Cache-Control")||(l={revalidate:0,expire:void 0});if(o.cacheControl=l,"string"==typeof ax&&(null==q?void 0:q.kind)===w.CachedRouteKind.APP_PAGE&&q.segmentData){b.setHeader(u.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=q.headers)?void 0:k[z.NEXT_CACHE_TAGS_HEADER];O&&al&&c&&"string"==typeof c&&b.setHeader(z.NEXT_CACHE_TAGS_HEADER,c);let d=q.segmentData.get(ax);return void 0!==d?(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.fromStatic(d,u.RSC_CONTENT_TYPE_HEADER),cacheControl:o.cacheControl}):(b.statusCode=204,(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.EMPTY,cacheControl:o.cacheControl}))}let r=(0,h.getRequestMeta)(a,"onCacheEntry");if(r&&await r({...o,value:{...o.value,kind:"PAGE"}},{url:(0,h.getRequestMeta)(a,"initURL")}))return null;if(p&&av)throw Object.defineProperty(Error("Invariant: postponed state should not be present on a resume request"),"__NEXT_ERROR_CODE",{value:"E396",enumerable:!1,configurable:!0});if(q.headers){let a={...q.headers};for(let[c,d]of(O&&al||delete a[z.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let s=null==(g=q.headers)?void 0:g[z.NEXT_CACHE_TAGS_HEADER];if(O&&al&&s&&"string"==typeof s&&b.setHeader(z.NEXT_CACHE_TAGS_HEADER,s),!q.status||aq&&as||(b.statusCode=q.status),!O&&q.status&&G.RedirectStatusCode[q.status]&&aq&&(b.statusCode=200),p&&b.setHeader(u.NEXT_DID_POSTPONE_HEADER,"1"),aq&&!aa){if(void 0===q.rscData){if(q.postponed)throw Object.defineProperty(Error("Invariant: Expected postponed to be undefined"),"__NEXT_ERROR_CODE",{value:"E372",enumerable:!1,configurable:!0});return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:q.html,cacheControl:aw?{revalidate:0,expire:void 0}:o.cacheControl})}return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.fromStatic(q.rscData,u.RSC_CONTENT_TYPE_HEADER),cacheControl:o.cacheControl})}let t=q.html;if(!p||O||aq)return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:o.cacheControl});if(at)return t.push(new ReadableStream({start(a){a.enqueue(A.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:{revalidate:0,expire:void 0}});let v=new TransformStream;return t.push(v.readable),m({span:c,postponed:q.postponed,fallbackRouteParams:null}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==w.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(v.writable)}).catch(a=>{v.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:{revalidate:0,expire:void 0}})};if(!aG)return await aF.withPropagatedContext(a.headers,()=>aF.trace(i.BaseServerSpan.handleRequest,{spanName:`${aE} ${a.url}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aE,"http.target":a.url}},p));await p(aG)}catch(b){throw b instanceof C.NoFallbackError||await L.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"render",revalidateReason:(0,f.c)({isRevalidate:al,isOnDemandRevalidate:ai})},ad),b}}},17553:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{$F:()=>m,mx:()=>n});var e=c(73024),f=c(76760),g=c(84104),h=c(83498),i=a([g]);g=(i.then?(await i)():i)[0];let o="brand_profile",p=f.join(h.Dl,"brand-assets","brand-guidelines.html"),q=f.join(h.Dl,"brand-assets","madarx-logo-primary.svg"),r={active:!0,company_name:"madarX",tagline:"",colors:[{name:"Onyx",value:"#0F0F11"},{name:"Platinum",value:"#E8E8E5"},{name:"Bone",value:"#DCDCD8"},{name:"Graphite",value:"#4A4A4D"},{name:"Mars",value:"#C2452A"}],fonts:["Inter","Cairo","IBM Plex Mono"],voice:["Direct","disciplined","precise","premium","local-first"],document_types:["Report","Brief","Strategy memo","Proposal"],presentation_style:"Dark editorial system with restrained layouts, Inter/Cairo/IBM Plex Mono typography, onyx backgrounds, platinum text, and Mars red accents.",logo_path:e.existsSync(q)?(0,h.z9)(q):null,logo_data_url:k(q),guidelines_path:e.existsSync(p)?(0,h.z9)(p):null,source_name:"brand-guidelines.html",extracted_at:null,updated_at:null};function j(a){return String(a||"").replace(/^--/,"").replace(/[-_]+/g," ").replace(/\b\w/g,a=>a.toUpperCase()).trim().replace(/^Ibm\b/,"IBM").replace(/\bUi\b/g,"UI")}function k(a){try{if(!a||!e.existsSync(a))return null;let b=f.extname(a).toLowerCase(),c=".svg"===b?"image/svg+xml":".png"===b?"image/png":".jpg"===b||".jpeg"===b?"image/jpeg":".webp"===b?"image/webp":"application/octet-stream",d=e.readFileSync(a);if("image/svg+xml"===c)return`data:${c};utf8,${encodeURIComponent(d.toString("utf8"))}`;return`data:${c};base64,${d.toString("base64")}`}catch{return null}}function l(){try{if(!e.existsSync(p))return{...r};let a=e.readFileSync(p,"utf8");return{...function(a,b="brand-guidelines"){let c=String(a||"").replace(/<script[\s\S]*?<\/script>/gi," ").replace(/<style[\s\S]*?<\/style>/gi," ").replace(/<[^>]+>/g," ").replace(/—|—/g,"-").replace(/&[a-z]+;/gi," ").replace(/\s+/g," ").trim(),d={...r,company_name:function(a,b){let c=a.match(/<title[^>]*>([\s\S]*?)<\/title>/i)?.[1]?.replace(/\s+/g," ").trim()||"",d=c.split(/[—|-]/)[0]?.trim();return d?d.replace(/\s+Brand Guidelines.*$/i,"").trim():f.basename(b||"Brand",f.extname(b||"")).replace(/[-_]+/g," ")}(a,b)||r.company_name,tagline:function(a,b){let c=RegExp(`<meta[^>]+name=["']${b}["'][^>]+content=["']([^"']+)["']`,"i");return a.match(c)?.[1]?.trim()||""}(a,"description")||"",colors:function(a){let b,c=function(a){let b,c=[],d=/--([a-z0-9_-]+)\s*:\s*(#[0-9a-f]{3,8})\b/gi;for(;b=d.exec(a);)c.push({name:j(b[1]),value:b[2].toUpperCase()});return c}(a),d=new Set(c.map(a=>a.value.toUpperCase())),e=/#[0-9a-f]{3,8}\b/gi;for(;(b=e.exec(a))&&c.length<10;){let a=b[0].toUpperCase();d.has(a)||(d.add(a),c.push({name:`Color ${c.length+1}`,value:a}))}return c.slice(0,10)}(a),fonts:function(a){let b=[];for(let c of a.matchAll(/@fontsource\/([^@/'")]+)/gi))b.push(j(c[1]));for(let c of a.matchAll(/font-family\s*:\s*([^;}{]+)/gi)){let a=c[1].split(",")[0].replace(/["']/g,"").trim();a&&!/^(var|system-ui|-apple-system|sans-serif|serif|monospace)$/i.test(a)&&b.push(a)}return[...new Set(b.filter(Boolean).map(a=>String(a).trim()).filter(Boolean))].slice(0,8)}(a),voice:function(a){let b=a.toLowerCase();return["direct","disciplined","precise","premium","minimal","editorial","confident","restrained","local-first","bilingual","operational"].filter(a=>b.includes(a)).slice(0,8)}(c),source_name:b,extracted_at:(0,g.kF)(),updated_at:(0,g.kF)()};return d.colors.length||(d.colors=r.colors),d.fonts.length||(d.fonts=r.fonts),d.voice.length||(d.voice=r.voice),d.presentation_style=function(a){let b=a.colors?.[0]?.value||"#111318",c=a.colors?.find(a=>!["#FFFFFF","#000000"].includes(a.value))?.value||b,d=a.fonts?.length?a.fonts.join(", "):"brand typography";return`Use ${d}; lead with ${a.company_name||"the brand"} identity, restrained hierarchy, ${b} as the base color, and ${c} as the accent.`}(d),d}(a,"brand-guidelines.html"),logo_path:e.existsSync(q)?(0,h.z9)(q):null,logo_data_url:k(q),guidelines_path:(0,h.z9)(p)}}catch{return{...r}}}function m(){let a=(0,g.Lf)().prepare("SELECT value FROM config WHERE key = ?").get(o);return a?{...r,...function(a,b){try{return JSON.parse(a)}catch{return b}}(a.value,{})}:l()}function n(a=(0,g.Lf)()){if(a.prepare("SELECT value FROM config WHERE key = ?").get(o))return!1;let b=l();return a.prepare("INSERT OR REPLACE INTO config (key, value) VALUES (?, ?)").run(o,JSON.stringify({...b,updated_at:(0,g.kF)()})),!0}d()}catch(a){d(a)}})},17830:(a,b,c)=>{"use strict";c.d(b,{ho:()=>l,pE:()=>f});let d=/^[a-z][a-z0-9-]{2,63}$/,e=new Set(["tool_call","llm_synthesis","artifact_write"]),f=["low","medium","high","irreversible_external"],g=/^[a-z][a-z0-9-]{0,63}$/,h=/\{\{([a-z][a-z0-9-]*)/g;function i(a,b,c){a.push(`${b}: ${c}`)}function j(a){return null!==a&&"object"==typeof a&&!Array.isArray(a)}function k(a){return f.indexOf(a)}function l(a,b={}){let c,m=[],n=[];try{c=JSON.stringify(a)}catch{return{ok:!1,errors:["spec: not JSON-serialisable"],warnings:[],normalized:null}}if(!c||"undefined"===c)return{ok:!1,errors:["spec: required"],warnings:[],normalized:null};if(Buffer.byteLength(c,"utf8")>65536)return{ok:!1,errors:[`spec: serialized length ${Buffer.byteLength(c,"utf8")} bytes exceeds 65536-byte cap`],warnings:[],normalized:null};if(!j(a))return{ok:!1,errors:["spec: must be a plain object"],warnings:[],normalized:null};if(a.slug&&"string"==typeof a.slug?d.test(a.slug)||i(m,"slug",`does not match ${d} (lowercase, starts with letter, 3-64 chars, hyphens allowed)`):i(m,"slug","required (string)"),a.title&&"string"==typeof a.title||i(m,"title","required (non-empty string)"),null!=a.description&&"string"!=typeof a.description&&i(m,"description","must be a string"),null==a.input_schema||j(a.input_schema)||i(m,"input_schema","must be a plain object"),!Array.isArray(a.steps)||0===a.steps.length)return i(m,"steps","required (non-empty array)"),{ok:!1,errors:m,warnings:n,normalized:null};if(a.steps.length>25)return i(m,"steps","exceeds 25"),{ok:!1,errors:m,warnings:n,normalized:null};let o=new Set,p="low",q=[];for(let c=0;c<a.steps.length;c++){var r,s;let d,l=a.steps[c],n=`steps[${c}]`;if(!j(l)){i(m,n,"must be a plain object");continue}if(!l.kind||!e.has(l.kind)){i(m,`${n}.kind`,`must be one of ${[...e].join(", ")}`);continue}l.id&&"string"==typeof l.id?g.test(l.id)?o.has(l.id)?i(m,`${n}.id`,`duplicate step id '${l.id}'`):o.add(l.id):i(m,`${n}.id`,`does not match ${g}`):i(m,`${n}.id`,"required (slug-like string)");let t=new Set(o);l.id&&t.delete(l.id);let u={};for(let[a,b]of("tool_call"===l.kind&&j(l.input_template)&&(u.input_template=l.input_template),"artifact_write"===l.kind&&(null!=l.title_template&&(u.title_template=l.title_template),null!=l.content_ref&&(u.content_ref=l.content_ref)),"llm_synthesis"===l.kind&&null!=l.prompt&&(u.prompt=l.prompt),Object.entries(u)))for(let c of function a(b){let c=new Set;if("string"==typeof b){let a;for(h.lastIndex=0;null!==(a=h.exec(b));){let b=a[1];"input"!==b&&c.add(b)}return c}if(j(b))for(let d of Object.values(b))for(let b of a(d))c.add(b);if(Array.isArray(b))for(let d of b)for(let b of a(d))c.add(b);return c}(b))t.has(c)||i(m,n,`references later/unknown step '${c}' in ${a}`);switch(l.kind){case"tool_call":d=function(a,b,c,d){let e;return a.tool&&"string"==typeof a.tool?d.knownToolNames&&!d.knownToolNames.has(a.tool)&&i(b,`${c}.tool`,`unknown tool '${a.tool}'`):i(b,`${c}.tool`,"required (string)"),null==a.input_template||j(a.input_template)||i(b,`${c}.input_template`,"must be a plain object (data only)"),null!=a.risk?f.includes(a.risk)?e=a.risk:(i(b,`${c}.risk`,`must be one of ${f.join(", ")}`),e="medium"):e=d.toolRiskByName&&"string"==typeof a.tool?d.toolRiskByName.get(a.tool)??"medium":"medium",e}(l,m,n,b);break;case"llm_synthesis":l.prompt&&"string"==typeof l.prompt?l.prompt.length>8e3&&i(m,`${n}.prompt`,`exceeds 8000 chars (got ${l.prompt.length})`):i(m,`${n}.prompt`,"required (non-empty string)"),d="low";break;case"artifact_write":d="low"}r=p,s=d,p=k(r)>=k(s)?r:s;let v={kind:l.kind,id:l.id};"tool_call"===l.kind?(v.tool=l.tool??null,null!=l.input_template&&(v.input_template=structuredClone(l.input_template)),v.risk=d):"llm_synthesis"===l.kind?v.prompt=l.prompt??null:"artifact_write"===l.kind&&(null!=l.title_template&&(v.title_template=l.title_template),null!=l.content_ref&&(v.content_ref=l.content_ref)),q.push(v)}return m.length>0?{ok:!1,errors:m,warnings:n,normalized:null}:{ok:!0,errors:[],warnings:n,normalized:{slug:a.slug,title:a.title,description:a.description??null,input_schema:null!=a.input_schema?structuredClone(a.input_schema):{type:"object",properties:{}},steps:q,risk_level:p}}}},17916:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{normalizeAppPath:function(){return f},normalizeRscURL:function(){return g}});let d=c(8991),e=c(8625);function f(a){return(0,d.ensureLeadingSlash)(a.split("/").reduce((a,b,c,d)=>!b||(0,e.isGroupSegment)(b)||"@"===b[0]||("page"===b||"route"===b)&&c===d.length-1?a:a+"/"+b,""))}function g(a){return a.replace(/\.rsc($|\?)/,"$1")}},18633:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{METADATA_BOUNDARY_NAME:function(){return c},OUTLET_BOUNDARY_NAME:function(){return e},ROOT_LAYOUT_BOUNDARY_NAME:function(){return f},VIEWPORT_BOUNDARY_NAME:function(){return d}});let c="__next_metadata_boundary__",d="__next_viewport_boundary__",e="__next_outlet_boundary__",f="__next_root_layout_boundary__"},18722:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{r1:()=>j});var e=c(73024),f=c(73136),g=c(76760),h=c(75994),i=a([h]);h=(i.then?(await i)():i)[0];let k=(0,g.dirname)((0,f.fileURLToPath)("file:///home/runner/work/madarx-os/madarx-os/lib/process/seeds/hail-quarterly-review.js")),l=null;function j(){let a=(l||(l=JSON.parse((0,e.readFileSync)((0,g.join)(k,"specs","hail-quarterly-review.json"),"utf8"))),l);return(0,h.R1)(a,{source_spec_json:JSON.stringify(a)})}d()}catch(a){d(a)}})},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},19376:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{wA:()=>i});var e=c(84104),f=c(68571),g=c(17553),h=a([e,f,g]);[e,f,g]=h.then?(await h)():h,process.env.OLLAMA_BASE_URL,process.env.MADARX_DEFAULT_MODEL;let j=["balanced","minimal","bold","soft"];function i(){try{let a=(0,e.Lf)().prepare("SELECT value FROM config WHERE key = ?").get("design_style"),b=a?.value;return j.includes(b)?b:"balanced"}catch{return"balanced"}}d()}catch(a){d(a)}})},20749:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{FE:()=>w,R5:()=>s,Y$:()=>y,zP:()=>u});var e=c(81909),f=c(16343),g=c(85798),h=a([e,f,g]);function i(a,b={}){try{let c=(0,e.r6)(a,{agent_id:b.agent_id,project_id:b.project_id});if(c)return c}catch{}return process.env[a]||null}function j(a,b={}){let c=i(a,b);if(!c)throw Error(`${a} not configured`);return c}function k(a,b,c,d){let e=Number(a);return Number.isFinite(e)?Math.min(Math.max(Math.trunc(e),c),d):b}function l(a,b){let c=String(a||"").trim().toUpperCase();if(!/^[A-Z]{3}$/.test(c))throw Error(`"${b}" must be a 3-letter IATA code (got: ${a??""})`);return c}function m(a,b){let c=String(a||"").trim();if(!/^\d{4}-\d{2}-\d{2}$/.test(c))throw Error(`"${b}" must be ISO date YYYY-MM-DD (got: ${a??""})`);return c}async function n(a,b){try{let c=await a.text();if(!c)return b;return c.slice(0,300)}catch{return b}}function o(a={}){let b=(i("AMADEUS_ENV",a)||"test").toLowerCase();return"production"===b||"prod"===b?"https://api.amadeus.com":"https://test.api.amadeus.com"}[e,f,g]=h.then?(await h)():h;let z=new Map;async function p(a={}){let b=o(a),c=z.get(b);if(c&&c.expires_at>Date.now()+6e4)return c.access_token;let d=j("AMADEUS_CLIENT_ID",a),e=j("AMADEUS_CLIENT_SECRET",a),g=(0,f.N)("flight_search",a.agent_id??null),h=await g(`${b}/v1/security/oauth2/token`,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"client_credentials",client_id:d,client_secret:e}).toString()});if(!h.ok){let a=await n(h,`HTTP ${h.status}`);throw Error(`Amadeus auth failed (${h.status}): ${a}`)}let i=await h.json(),k=String(i.access_token||""),l=Number(i.expires_in||1800);if(!k)throw Error("Amadeus auth returned no access_token");return z.set(b,{access_token:k,expires_at:Date.now()+1e3*l}),k}function q(a={}){let b=Array.isArray(a.itineraries)?a.itineraries:[],c=b.flatMap(a=>Array.isArray(a?.segments)?a.segments:[]);return{id:a.id||null,price:{total:a.price?.total??null,currency:a.price?.currency??null,base:a.price?.base??null},seats_available:a.numberOfBookableSeats??null,last_ticketing_date:a.lastTicketingDate??null,itineraries:b.map(a=>({duration:a?.duration??null,stops:Math.max(0,(Array.isArray(a?.segments)?a.segments.length:1)-1),segments:(Array.isArray(a?.segments)?a.segments:[]).map(a=>({carrier:a?.carrierCode??null,flight_number:a?.number??null,departure:{iata:a?.departure?.iataCode??null,at:a?.departure?.at??null,terminal:a?.departure?.terminal??null},arrival:{iata:a?.arrival?.iataCode??null,at:a?.arrival?.at??null,terminal:a?.arrival?.terminal??null},duration:a?.duration??null,aircraft:a?.aircraft?.code??null}))})),validating_airlines:Array.isArray(a.validatingAirlineCodes)?a.validatingAirlineCodes:[],cabin:c[0]?.cabin||a.travelerPricings?.[0]?.fareDetailsBySegment?.[0]?.cabin||null}}async function r(a={},b={}){let c=l(a.origin,"origin"),d=l(a.destination,"destination"),e=m(a.departure_date,"departure_date"),g=a.return_date?m(a.return_date,"return_date"):null,h=k(a.adults,1,1,9),i=k(a.children,0,0,8),j=k(a.max_results,5,1,25),s=new URLSearchParams({originLocationCode:c,destinationLocationCode:d,departureDate:e,adults:String(h),max:String(j),currencyCode:a.currency?String(a.currency).toUpperCase().slice(0,3):"USD"});if(g&&s.set("returnDate",g),i>0&&s.set("children",String(i)),a.travel_class){let b=String(a.travel_class).toUpperCase();["ECONOMY","PREMIUM_ECONOMY","BUSINESS","FIRST"].includes(b)&&s.set("travelClass",b)}(!0===a.non_stop||"true"===a.non_stop)&&s.set("nonStop","true");let t=await p(b),u=o(b),v=(0,f.N)("flight_search",b.agent_id??null),w=await v(`${u}/v2/shopping/flight-offers?${s.toString()}`,{headers:{Authorization:`Bearer ${t}`,Accept:"application/json"}});if(401===w.status){z.delete(u);let a=await n(w,"unauthorized");throw Error(`Amadeus auth rejected (401): ${a}`)}if(!w.ok){let a=await n(w,`HTTP ${w.status}`);throw Error(`Amadeus flight offers failed (${w.status}): ${a}`)}let x=await w.json(),y=Array.isArray(x.data)?x.data:[];return{query:{origin:c,destination:d,departure_date:e,return_date:g,adults:h,children:i,currency:s.get("currencyCode"),travel_class:s.get("travelClass")||null,non_stop:"true"===s.get("nonStop"),max_results:j},count:y.length,offers:y.map(q),source:{provider:"amadeus",environment:u.includes("test.api")?"test":"production",fetched_at:new Date().toISOString()}}}async function s(a={},b={}){let c=!!(i("AMADEUS_CLIENT_ID",b)&&i("AMADEUS_CLIENT_SECRET",b)),d="1"===String(process.env.MADARX_FLIGHT_SEARCH_NO_FALLBACK||"").trim();if(c)try{return await r(a,b)}catch(a){if(d)throw a;console.warn("[flight_search] Amadeus failed, falling back to Google Flights:",a?.message||a)}return(0,g.b3)(a,b)}function t(a={}){return{flight_date:a.flight_date??null,flight_status:a.flight_status??null,airline:a.airline?.name??null,flight:{iata:a.flight?.iata??null,icao:a.flight?.icao??null,number:a.flight?.number??null},departure:{airport:a.departure?.airport??null,iata:a.departure?.iata??null,icao:a.departure?.icao??null,terminal:a.departure?.terminal??null,gate:a.departure?.gate??null,scheduled:a.departure?.scheduled??null,estimated:a.departure?.estimated??null,actual:a.departure?.actual??null,delay_minutes:a.departure?.delay??null},arrival:{airport:a.arrival?.airport??null,iata:a.arrival?.iata??null,icao:a.arrival?.icao??null,terminal:a.arrival?.terminal??null,gate:a.arrival?.gate??null,scheduled:a.arrival?.scheduled??null,estimated:a.arrival?.estimated??null,actual:a.arrival?.actual??null,delay_minutes:a.arrival?.delay??null},aircraft:a.aircraft?.registration??null,live:a.live?{latitude:a.live.latitude??null,longitude:a.live.longitude??null,altitude:a.live.altitude??null,speed_horizontal:a.live.speed_horizontal??null,is_ground:a.live.is_ground??null,updated:a.live.updated??null}:null}}async function u(a={},b={}){let c=a.flight_iata?String(a.flight_iata).trim().toUpperCase():null,d=a.flight_icao?String(a.flight_icao).trim().toUpperCase():null,e=a.airline_iata?String(a.airline_iata).trim().toUpperCase():null,g=a.dep_iata?l(a.dep_iata,"dep_iata"):null,h=a.arr_iata?l(a.arr_iata,"arr_iata"):null,o=a.flight_date?m(a.flight_date,"flight_date"):null,p=k(a.limit,5,1,100);if(!c&&!d&&!e&&!g&&!h)throw Error("At least one of flight_iata, flight_icao, airline_iata, dep_iata, or arr_iata is required");let q=j("AVIATIONSTACK_API_KEY",b),r=new URLSearchParams({access_key:q,limit:String(p)});c&&r.set("flight_iata",c),d&&r.set("flight_icao",d),e&&r.set("airline_iata",e),g&&r.set("dep_iata",g),h&&r.set("arr_iata",h),o&&r.set("flight_date",o);let s=function(a={}){let b=String(i("AVIATIONSTACK_HTTPS",a)||"").toLowerCase();return"1"===b||"true"===b||"yes"===b?"https://api.aviationstack.com":"http://api.aviationstack.com"}(b),v=(0,f.N)("flight_status",b.agent_id??null),w=await v(`${s}/v1/flights?${r.toString()}`);if(!w.ok){let a=await n(w,`HTTP ${w.status}`);throw Error(`Aviationstack failed (${w.status}): ${a}`)}let x=await w.json();if(x?.error){let a=x.error.code||"error",b=x.error.message||x.error.info||"unknown error";throw Error(`Aviationstack error (${a}): ${b}`)}let y=Array.isArray(x?.data)?x.data:[];return{query:{flight_iata:c,flight_icao:d,airline_iata:e,dep_iata:g,arr_iata:h,flight_date:o,limit:p},count:y.length,pagination:x?.pagination||null,flights:y.map(t),source:{provider:"aviationstack",fetched_at:new Date().toISOString()}}}let A="https://data.xotelo.com";function v(a={}){return{key:a.key??a.hotel_key??null,name:a.name??null,geo:{latitude:a.geo?.latitude??null,longitude:a.geo?.longitude??null},address:a.address??null,stars:a.stars??null,review_summary:a.review_summary?{score:a.review_summary.score??null,count:a.review_summary.count??null}:null,price:a.price??null,accommodation_type:a.accommodation_type??null}}async function w(a={},b={}){let c=String(a.location_key||"").trim();if(!c)throw Error('"location_key" is required');if(!/^[a-z]?[0-9]+$/i.test(c))throw Error(`"location_key" must be a TripAdvisor key like "g60763" (got: ${c})`);let d=k(a.offset,0,0,1e3),e=k(a.limit,10,1,30),g=a.currency?String(a.currency).toUpperCase().slice(0,3):"USD",h=new URLSearchParams({location_key:c,offset:String(d),limit:String(e),currency:g});if(a.sort){let b=String(a.sort).toLowerCase();["popularity","price","rating"].includes(b)&&h.set("sort",b)}a.hotel_class&&h.set("hotel_class",String(a.hotel_class));let i=(0,f.N)("hotel_search",b.agent_id??null),j=await i(`${A}/api/list?${h.toString()}`);if(!j.ok){let a=await n(j,`HTTP ${j.status}`);throw Error(`Xotelo list failed (${j.status}): ${a}`)}let l=await j.json();if(l?.error)throw Error(`Xotelo error: ${"string"==typeof l.error?l.error:JSON.stringify(l.error)}`);let m=l?.result||{},o=Array.isArray(m.list)?m.list:[];return{query:{location_key:c,offset:d,limit:e,currency:g,sort:h.get("sort")||null},count:o.length,total_available:m.number_of_results??null,hotels:o.map(v),source:{provider:"xotelo",fetched_at:new Date().toISOString()}}}function x(a={}){return{vendor:a.name??a.code??null,code:a.code??null,rate:a.rate??null,tax:a.tax??null,total:a.total??null,currency:a.currency??null,deeplink:a.deeplink??null,is_official:a.is_official??null,free_cancellation:a.free_cancellation??null}}async function y(a={},b={}){let c=String(a.hotel_key||"").trim();if(!c)throw Error('"hotel_key" is required');if(!/^[a-z]?[0-9]+-[a-z]?[0-9]+$/i.test(c))throw Error(`"hotel_key" must be a TripAdvisor hotel key like "g60763-d224867" (got: ${c})`);let d=m(a.chk_in,"chk_in"),e=m(a.chk_out,"chk_out");if(new Date(e)<=new Date(d))throw Error('"chk_out" must be after "chk_in"');let g=a.currency?String(a.currency).toUpperCase().slice(0,3):"USD",h=k(a.rooms,1,1,9),i=k(a.adults,2,1,9),j=new URLSearchParams({hotel_key:c,chk_in:d,chk_out:e,currency:g,rooms:String(h),adults:String(i)}),l=(0,f.N)("hotel_rates",b.agent_id??null),o=await l(`${A}/api/rates?${j.toString()}`);if(!o.ok){let a=await n(o,`HTTP ${o.status}`);throw Error(`Xotelo rates failed (${o.status}): ${a}`)}let p=await o.json();if(p?.error)throw Error(`Xotelo error: ${"string"==typeof p.error?p.error:JSON.stringify(p.error)}`);let q=p?.result||{},r=Array.isArray(q.rates)?q.rates:[];return{query:{hotel_key:c,chk_in:d,chk_out:e,currency:g,rooms:h,adults:i},count:r.length,hotel:{name:q.name??null,stars:q.stars??null},rates:r.map(x),source:{provider:"xotelo",fetched_at:new Date().toISOString()}}}d()}catch(a){d(a)}})},21016:(a,b,c)=>{Promise.resolve().then(c.bind(c,35271)),Promise.resolve().then(c.bind(c,79148)),Promise.resolve().then(c.bind(c,72987)),Promise.resolve().then(c.bind(c,78516)),Promise.resolve().then(c.t.bind(c,65169,23))},21118:(a,b,c)=>{"use strict";c.d(b,{Tt:()=>g,ix:()=>d,wb:()=>e}),Object.freeze(["public","internal","confidential","restricted","refused"]),Object.freeze(["diagnostic","blueprint","pilot","managed_layer"]),Object.freeze(["low","medium","high","irreversible_external","blocked"]),Object.freeze(["decide","draft","recommend","execute","escalate"]),Object.freeze(["interview_transcript","diagnostic_report","operating_profile","role_map","friction_map","governance_matrix","agent_roster","setup_plan","pilot_test_report","quarterly_review"]);let d=new Set(Object.freeze(["diagnostic_signoff","blueprint_signoff","setup_package_approval","pilot_launch","managed_layer_change"])),e=new Set(Object.freeze(["practitioner","architect","security_reviewer","principal","counsel"]));Object.freeze(["agent","tool","allowlist_entry","secret","schedule","workflow","memory_scope","artifact_acl","approval_policy"]),Object.freeze(["observed","inferred","needs_confirmation"]),Object.freeze([{slug:"principal_identity",label:"Principal identity & context"},{slug:"role_capacity_inventory",label:"Role / capacity inventory"},{slug:"decision_delegation_style",label:"Decision & delegation style"},{slug:"reputation_constraints",label:"Reputation constraints"},{slug:"confidentiality_boundaries",label:"Confidentiality boundaries"},{slug:"current_systems_tools",label:"Current systems, tools & communications"},{slug:"bottlenecks_friction",label:"Work bottlenecks & friction points"},{slug:"approval_preferences",label:"Approval preferences"},{slug:"counterparties_reviewers",label:"Human counterparties & reviewer roles"},{slug:"regulated_obligations",label:"Regulated / counsel / audit obligations"},{slug:"desired_outcomes",label:"Desired outcomes (time / judgment / reputation)"}]).map(a=>a.slug);let f=Object.freeze({"diagnostic-signoff":{gate_type:"diagnostic_signoff",reviewer_role:"practitioner"},"blueprint-signoff":{gate_type:"blueprint_signoff",reviewer_role:"architect"},"setup-package-approval":{gate_type:"setup_package_approval",reviewer_role:"principal"},"pilot-activation":{gate_type:"pilot_launch",reviewer_role:"principal"},"managed-layer-activation":{gate_type:"managed_layer_change",reviewer_role:"practitioner"}}),g=Object.freeze({"hail-engagement-lifecycle":f,"hail-quarterly-review":Object.freeze({"review-signoff":{gate_type:"managed_layer_change",reviewer_role:"practitioner"},"reconfig-approval":{gate_type:"setup_package_approval",reviewer_role:"principal"}})})},22458:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{ReadonlyURLSearchParams:function(){return k},RedirectType:function(){return e.RedirectType},forbidden:function(){return g.forbidden},notFound:function(){return f.notFound},permanentRedirect:function(){return d.permanentRedirect},redirect:function(){return d.redirect},unauthorized:function(){return h.unauthorized},unstable_isUnrecognizedActionError:function(){return l},unstable_rethrow:function(){return i.unstable_rethrow}});let d=c(79595),e=c(44338),f=c(52741),g=c(36098),h=c(87345),i=c(23129);class j extends Error{constructor(){super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams")}}class k extends URLSearchParams{append(){throw new j}delete(){throw new j}set(){throw new j}sort(){throw new j}}function l(){throw Object.defineProperty(Error("`unstable_isUnrecognizedActionError` can only be used on the client."),"__NEXT_ERROR_CODE",{value:"E776",enumerable:!1,configurable:!0})}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},22896:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{I6:()=>l,Q$:()=>k,vV:()=>m});var e=c(81909),f=c(16343),g=a([e,f]);function h(a,b={}){try{let c=(0,e.r6)(a,{agent_id:b.agent_id,project_id:b.project_id});if(c)return c}catch{}return process.env[a]||null}function i(a={}){return{Authorization:`Bearer ${function(a,b={}){let c=h(a,b);if(!c)throw Error(`${a} not configured`);return c}("VERCEL_TOKEN",a)}`,Accept:"application/json"}}function j(a,b){return b&&a.searchParams.set("teamId",String(b)),a}async function k(a={},b={}){let c=a.team_id||h("VERCEL_TEAM_ID",b),d=b.agent_id??null,e=j(new URL("https://api.vercel.com/v9/projects"),c);a.limit&&e.searchParams.set("limit",String(Math.min(Math.max(Number(a.limit),1),100)));let g=await (0,f.N)("vercel_list_projects",d)(e,{headers:i(b)});if(!g.ok)throw Error(`Vercel projects request failed: ${g.status}`);return{projects:((await g.json()).projects||[]).map(a=>({id:a.id,name:a.name,framework:a.framework,latest_deployments:(a.latestDeployments||[]).map(a=>({uid:a.uid,url:a.url,state:a.state,created_at:a.createdAt}))}))}}async function l(a={},b={}){let c=a.team_id||h("VERCEL_TEAM_ID",b),d=b.agent_id??null,e=j(new URL("https://api.vercel.com/v6/deployments"),c);a.project_id&&e.searchParams.set("projectId",String(a.project_id)),a.project_name&&e.searchParams.set("projectName",String(a.project_name)),a.limit&&e.searchParams.set("limit",String(Math.min(Math.max(Number(a.limit),1),100)));let g=await (0,f.N)("vercel_list_deployments",d)(e,{headers:i(b)});if(!g.ok)throw Error(`Vercel deployments request failed: ${g.status}`);let k=await g.json();return{deployments:(k.deployments||[]).map(a=>({uid:a.uid,name:a.name,url:a.url,state:a.state,target:a.target,created_at:a.createdAt,creator:a.creator?{uid:a.creator.uid,username:a.creator.username}:null})),pagination:k.pagination||null}}async function m(a={}){return{approval_required:!0,status:"pending_approval",action:"vercel_create_deployment",summary:a.summary||"Create a Vercel deployment",requested_at:new Date().toISOString(),note:"Deployment creation is staged only. Approve the pending action before any external write is executed."}}[e,f]=g.then?(await g)():g,d()}catch(a){d(a)}})},23129:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"unstable_rethrow",{enumerable:!0,get:function(){return d}});let d=c(74144).unstable_rethrow;("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},23339:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{NO:()=>p,TP:()=>q,c3:()=>r,l8:()=>w,mD:()=>s,oc:()=>u,sX:()=>t,wm:()=>v});var e=c(81909),f=c(16343),g=a([e,f]);function h(a,b={}){try{let c=(0,e.r6)(a,{agent_id:b.agent_id,project_id:b.project_id});if(c)return c}catch{}return process.env[a]||null}function i(a,b={}){let c=h(a,b);if(!c)throw Error(`${a} not configured`);return c}function j(a){return{Authorization:`Bearer ${a}`,apikey:a,Accept:"application/json"}}function k(a,b){let c=String(a||"").trim();if(!/^[a-zA-Z_][a-zA-Z0-9_]*(\.[a-zA-Z_][a-zA-Z0-9_]*)?$/.test(c))throw Error(`${b} must be a valid identifier (got: ${JSON.stringify(a)})`);return c}function l(a){let b=new URLSearchParams;for(let[c,d]of Object.entries(a)){if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(c))throw Error(`Invalid filter column: ${c}`);b.set(c,String(d).includes(".")?String(d):`eq.${d}`)}return b}async function m(a){let b={};try{b=await a.json()}catch{}return{status:a.status,message:b.message||b.error||a.statusText||"Request failed",hint:b.hint||null}}function n(a){let b=i("SUPABASE_URL",a).replace(/\/+$/g,""),c=h("SUPABASE_SERVICE_ROLE_KEY",a)||h("SUPABASE_ANON_KEY",a);if(!c)throw Error("SUPABASE_SERVICE_ROLE_KEY or SUPABASE_ANON_KEY not configured");return{baseUrl:b,key:c}}function o(a){return Array.isArray(a)&&a.length>100?a.slice(0,100):a}async function p(a={},b={}){let c=i("SUPABASE_ACCESS_TOKEN",b),d=b.agent_id??null,e=await (0,f.N)("supabase_list_projects",d)("https://api.supabase.com/v1/projects",{headers:{Authorization:`Bearer ${c}`,Accept:"application/json"}});if(!e.ok)throw Error(`Supabase projects request failed: ${e.status}`);let g=await e.json();return{projects:(Array.isArray(g)?g:[]).map(a=>({id:a.id,name:a.name,region:a.region,status:a.status,organization_id:a.organization_id}))}}async function q(a={},b={}){let c=i("SUPABASE_URL",b).replace(/\/+$/g,""),d=h("SUPABASE_SERVICE_ROLE_KEY",b)||h("SUPABASE_ANON_KEY",b);if(!d)throw Error("SUPABASE_SERVICE_ROLE_KEY or SUPABASE_ANON_KEY not configured");let e=b.agent_id??null,g=String(a.table||"").trim();if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(g))throw Error("table must be a simple table name");let k=Math.min(Math.max(Number(a.limit||25),1),100),l=new URL(`${c}/rest/v1/${g}`);l.searchParams.set("select",String(a.select||"*")),l.searchParams.set("limit",String(k));let m=a.filters&&"object"==typeof a.filters?a.filters:{};for(let[a,b]of Object.entries(m)){if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(a))throw Error(`Invalid filter column: ${a}`);l.searchParams.set(a,String(b).includes(".")?String(b):`eq.${b}`)}let n=await (0,f.N)("supabase_rest_select",e)(l,{headers:j(d)});if(!n.ok)throw Error(`Supabase REST select failed: ${n.status}`);let o=await n.json();return{table:g,count:Array.isArray(o)?o.length:null,rows:o}}async function r(a={},b={}){let{baseUrl:c,key:d}=n(b),e=b.agent_id??null,g=k(a.table,"table"),h=Array.isArray(a.rows)?a.rows:[a.rows].filter(Boolean);if(!h.length)throw Error("supabase_rest_insert requires at least one row in rows[]");let i=new URL(`${c}/rest/v1/${g}`);i.searchParams.set("limit","100");let l=await (0,f.N)("supabase_rest_insert",e)(i,{method:"POST",headers:{...j(d),"Content-Type":"application/json",Prefer:"return=representation"},body:JSON.stringify(h)});if(!l.ok){let a=await m(l);throw Error(`supabase_rest_insert failed (${a.status}): ${a.message}${a.hint?` — ${a.hint}`:""}`)}let p=await l.json(),q=o(Array.isArray(p)?p:[]);return{inserted:h.length,rows:q}}async function s(a={},b={}){let{baseUrl:c,key:d}=n(b),e=b.agent_id??null,g=k(a.table,"table"),h=Array.isArray(a.rows)?a.rows:[a.rows].filter(Boolean);if(!h.length)throw Error("supabase_rest_upsert requires at least one row in rows[]");let i=new URL(`${c}/rest/v1/${g}`);i.searchParams.set("limit","100"),a.on_conflict&&i.searchParams.set("on_conflict",String(a.on_conflict));let l=await (0,f.N)("supabase_rest_upsert",e)(i,{method:"POST",headers:{...j(d),"Content-Type":"application/json",Prefer:"resolution=merge-duplicates,return=representation"},body:JSON.stringify(h)});if(!l.ok){let a=await m(l);throw Error(`supabase_rest_upsert failed (${a.status}): ${a.message}${a.hint?` — ${a.hint}`:""}`)}let p=await l.json(),q=o(Array.isArray(p)?p:[]);return{upserted:h.length,rows:q}}async function t(a={},b={}){let{baseUrl:c,key:d}=n(b),e=b.agent_id??null,g=k(a.table,"table"),h=a.filters&&"object"==typeof a.filters?a.filters:{};if(!Object.keys(h).length)throw Error("supabase_rest_update requires filters to avoid table-wide updates");if(!a.patch||"object"!=typeof a.patch||Array.isArray(a.patch))throw Error("supabase_rest_update requires a patch object");let i=l(h),p=new URL(`${c}/rest/v1/${g}?${i.toString()}`),q=await (0,f.N)("supabase_rest_update",e)(p,{method:"PATCH",headers:{...j(d),"Content-Type":"application/json",Prefer:"return=representation",Range:"0-99"},body:JSON.stringify(a.patch)});if(!q.ok){let a=await m(q);throw Error(`supabase_rest_update failed (${a.status}): ${a.message}${a.hint?` — ${a.hint}`:""}`)}let r=await q.json(),s=o(Array.isArray(r)?r:[]);return{updated:s.length,rows:s}}async function u(a={},b={}){let{baseUrl:c,key:d}=n(b),e=b.agent_id??null,g=k(a.table,"table"),h=a.filters&&"object"==typeof a.filters?a.filters:{};if(!Object.keys(h).length)throw Error("supabase_rest_delete requires filters; bulk table truncation is blocked");let i=l(h),p=new URL(`${c}/rest/v1/${g}?${i.toString()}`),q=await (0,f.N)("supabase_rest_delete",e)(p,{method:"DELETE",headers:{...j(d),Prefer:"return=representation",Range:"0-99"}});if(!q.ok){let a=await m(q);throw Error(`supabase_rest_delete failed (${a.status}): ${a.message}${a.hint?` — ${a.hint}`:""}`)}let r=await q.json(),s=o(Array.isArray(r)?r:[]);return{deleted:s.length,rows:s}}async function v(a={},b={}){let c,{baseUrl:d,key:e}=n(b),g=b.agent_id??null,h=k(a.function_name,"function_name"),i=a.params&&"object"==typeof a.params?a.params:{},l=new URL(`${d}/rest/v1/rpc/${h}`),p=await (0,f.N)("supabase_rpc",g)(l,{method:"POST",headers:{...j(e),"Content-Type":"application/json"},body:JSON.stringify(i)});if(!p.ok){let a=await m(p);throw Error(`supabase_rpc(${h}) failed (${a.status}): ${a.message}${a.hint?` — ${a.hint}`:""}`)}let q=await p.text();if(Buffer.byteLength(q,"utf8")>51200)throw Error("supabase_rpc response too large (>51200 bytes); narrow your query");try{c=JSON.parse(q)}catch{c=q}return{result:o((Array.isArray(c),c))}}async function w(a={},b={}){let c,{baseUrl:d,key:e}=n(b),g=b.agent_id??null,h=String(a.query||"").trim();if(!h)throw Error("supabase_sql requires a query string");let i=a.params&&"object"==typeof a.params?a.params:{},k=new URL(`${d}/rest/v1/rpc/madarx_exec_sql`),l=await (0,f.N)("supabase_sql",g)(k,{method:"POST",headers:{...j(e),"Content-Type":"application/json"},body:JSON.stringify({query:h,params:i})});if(404===l.status)throw Error("madarx_exec_sql() function not found. Create it in your Supabase project with: CREATE OR REPLACE FUNCTION madarx_exec_sql(query text, params jsonb DEFAULT '{}'::jsonb) RETURNS SETOF record LANGUAGE plpgsql SECURITY DEFINER AS $$ BEGIN RETURN QUERY EXECUTE query; END; $$;");if(!l.ok){let a=await m(l);throw Error(`supabase_sql failed (${a.status}): ${a.message}${a.hint?` — ${a.hint}`:""}`)}let p=await l.text();if(Buffer.byteLength(p,"utf8")>51200)throw Error("supabase_sql response too large (>51200 bytes); add LIMIT to your query");try{c=JSON.parse(p)}catch{c=[]}let q=o(Array.isArray(c)?c:[c]);return{rows:q,row_count:q.length}}[e,f]=g.then?(await g)():g,d()}catch(a){d(a)}})},23496:(a,b,c)=>{"use strict";c.d(b,{default:()=>m});var d=c(21124),e=c(38301),f=c(23312),g=c(43815),h=c(85708);let i=(0,h.createServerReference)("409dc1b44080f7a02c3ff6d5b6c4e8cb749d130a32",h.callServer,void 0,h.findSourceMapURL,"createProjectAction");var j=c(54151);let k=[{value:"#c2452a",name:"Mars Red"},{value:"#a83a22",name:"Deep Red"},{value:"#7c2b19",name:"Dark Red"},{value:"#111318",name:"Charcoal"},{value:"#3f3a30",name:"Warm Black"},{value:"#68707b",name:"Slate"},{value:"#cdb78a",name:"Warm Sand"},{value:"#1f6c9f",name:"Skill Blue"}];function l(){let{pending:a}=(0,f.useFormStatus)();return(0,d.jsx)("button",{type:"submit",className:"admin-button",disabled:a,"aria-busy":a?"true":void 0,children:a?"Creating…":"Create project"})}function m({workspaceRoot:a="~/workspace/projects"}){let[b,c]=e.useState(!1),[f,h]=e.useState(""),[m,n]=e.useState("workspace"),[o,p]=e.useState(""),q=e.useRef(null),r=e.useMemo(()=>`${a.replace(/\/$/,"")}/${String(f||"").toLowerCase().trim().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,64)||"project"}`,[a,f]);return e.useEffect(()=>{"custom"===m&&q.current?.focus()},[m]),(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("button",{type:"button",className:"admin-button agents-new-cta",onClick:()=>c(!0),children:[(0,d.jsx)("span",{"aria-hidden":!0,className:"agents-new-cta-glyph",children:"+"}),"New project"]}),(0,d.jsx)(g.A,{open:b,onClose:()=>c(!1),eyebrow:"New project",title:"Create a project",children:(0,d.jsxs)("form",{className:"agents-modal-form",action:i,children:[(0,d.jsx)("p",{className:"agents-modal-help",children:"Scope agents, documents, memory, and integrations together."}),(0,d.jsx)("section",{className:"agents-modal-section",children:(0,d.jsxs)("label",{className:"agents-modal-field wide",children:[(0,d.jsx)("span",{children:"Name"}),(0,d.jsx)("input",{name:"name",type:"text",required:!0,placeholder:"Acme Co.",autoComplete:"off",value:f,onChange:a=>h(a.target.value),autoFocus:!0})]})}),(0,d.jsxs)("section",{className:"agents-modal-section",children:[(0,d.jsxs)("div",{className:"agents-modal-section-head",children:[(0,d.jsx)("span",{children:"Folder location"}),(0,d.jsx)("small",{children:"Where this project lives on disk."})]}),(0,d.jsxs)("div",{className:"agents-modal-radio-group",children:[(0,d.jsxs)("label",{className:`agents-modal-radio ${"workspace"===m?"on":""}`,children:[(0,d.jsx)("input",{type:"radio",name:"folder_mode",value:"workspace",checked:"workspace"===m,onChange:()=>n("workspace")}),(0,d.jsxs)("span",{className:"agents-modal-radio-body",children:[(0,d.jsx)("b",{children:"madarX workspace"}),(0,d.jsx)("code",{title:r,children:function(a,b=48){if(!a||a.length<=b)return a;let c=a.slice(0,Math.floor(b/2)-1),d=a.slice(a.length-Math.floor(b/2)+2);return`${c}…${d}`}(r)})]})]}),(0,d.jsxs)("label",{className:`agents-modal-radio ${"custom"===m?"on":""}`,children:[(0,d.jsx)("input",{type:"radio",name:"folder_mode",value:"custom",checked:"custom"===m,onChange:()=>n("custom")}),(0,d.jsxs)("span",{className:"agents-modal-radio-body",children:[(0,d.jsx)("b",{children:"Custom path"}),(0,d.jsx)("small",{children:"Any absolute folder. Created if missing."})]})]})]}),"custom"===m?(0,d.jsx)(j.A,{inputRef:q,value:o,onChange:p}):(0,d.jsx)("input",{type:"hidden",name:"folder_path",value:""})]}),(0,d.jsxs)("section",{className:"agents-modal-section",children:[(0,d.jsxs)("div",{className:"agents-modal-section-head",children:[(0,d.jsx)("span",{children:"Color"}),(0,d.jsx)("small",{children:"Used for the project tile across the app."})]}),(0,d.jsxs)("fieldset",{className:"agents-modal-swatches",children:[(0,d.jsx)("legend",{className:"visually-hidden",children:"Project color"}),k.map(a=>(0,d.jsxs)("label",{className:"agents-modal-swatch",style:{"--swatch":a.value},children:[(0,d.jsx)("input",{type:"radio",name:"color",value:a.value,defaultChecked:"#c2452a"===a.value}),(0,d.jsx)("span",{className:"agents-modal-swatch-ring","aria-hidden":"true"}),(0,d.jsx)("span",{className:"visually-hidden",children:a.name})]},a.value))]})]}),(0,d.jsxs)("section",{className:"agents-modal-section",children:[(0,d.jsxs)("div",{className:"agents-modal-section-head",children:[(0,d.jsx)("span",{children:"Description"}),(0,d.jsx)("small",{children:"Used as context for agents working in this project."})]}),(0,d.jsx)("label",{className:"agents-modal-field wide",children:(0,d.jsx)("textarea",{name:"description",rows:3,placeholder:"What is this project for? Goals, audience, voice, constraints."})})]}),(0,d.jsxs)("footer",{className:"agents-modal-foot",children:[(0,d.jsx)("button",{type:"button",className:"admin-button secondary",onClick:()=>c(!1),children:"Cancel"}),(0,d.jsx)(l,{})]})]})})]})}},23799:(a,b,c)=>{"use strict";c.d(b,{m:()=>h});var d=c(31421);c(26848);var e=c(6390);function f(a){return new Promise(b=>{let c="",e=(0,d.spawn)("npm",["install","-g",a,"--prefer-online","--no-audit","--no-fund"],{stdio:["ignore","pipe","pipe"]});e.stdout.on("data",a=>{c+=a,process.stdout.write(a)}),e.stderr.on("data",a=>{c+=a,process.stderr.write(a)}),e.on("error",a=>b({ok:!1,code:-1,output:String(a.message)})),e.on("exit",a=>b({ok:0===a,code:a,output:c}))})}async function g({runner:a=f,to:b="latest",initiatedBy:d="cli"}={}){let h=(0,e.YO)(),i=`${e.rd}@${b}`,j=await a(i);try{let{appendAudit:a}=await Promise.resolve().then(c.bind(c,42382));a({type:"system.self_update",summary:`madarx update ${h} → ${b} (${j.ok?"ok":"failed"})`,status:j.ok?"ok":"failed",meta:{from:h,to:b,code:j.code,initiated_by:d}})}catch{}return{ok:j.ok,from:h,to:b,code:j.code,output:j.output}}async function h(a={}){let b=await (0,e.NS)({});if(!b.reachable)return{ok:!1,from:(0,e.YO)(),to:null,applied:!1,message:"npm registry unreachable"};if(!b.behind)return{ok:!0,from:b.current,to:b.latest,applied:!1,message:"already up to date"};let c=await g({initiatedBy:"self_update_tool"});return{ok:c.ok,from:c.from,to:b.latest,applied:c.ok,message:c.ok?`updated ${c.from} → v${b.latest}; restart required`:`update failed (exit ${c.code})`}}c(76760),c(48161),c(73024)},23998:(a,b)=>{"use strict";function c(a){return null!==a&&"object"==typeof a&&"then"in a&&"function"==typeof a.then}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"isThenable",{enumerable:!0,get:function(){return c}})},24867:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Bs:()=>g});var e=c(84104),f=a([e]);function g(a,{scope_key:b,scope_value:c},d={}){let f=(0,e.Lf)(),h=!!d.default_allow,i=f.prepare("SELECT id FROM tool_allowlists WHERE tool_name = ? AND scope_key = ?").all(a,b);return 0===i.length?h?{ok:!0}:{ok:!1,missing_entry:{tool_name:a,scope_key:b,scope_value:c}}:f.prepare("SELECT id FROM tool_allowlists WHERE tool_name = ? AND scope_key = ? AND scope_value = ?").get(a,b,String(c))?{ok:!0}:{ok:!1,missing_entry:{tool_name:a,scope_key:b,scope_value:c}}}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},26082:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"RouteKind",{enumerable:!0,get:function(){return c}});var c=function(a){return a.PAGES="PAGES",a.PAGES_API="PAGES_API",a.APP_PAGE="APP_PAGE",a.APP_ROUTE="APP_ROUTE",a.IMAGE="IMAGE",a}({})},26200:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{ef:()=>C});var e=c(31421),f=c(73024),g=c(76760),h=c(83498),i=c(71086),j=c(79336),k=c(57647),l=c(42382),m=c(42864),n=c(11575),o=c(44246),p=c(85774),q=c(45830),r=c(40266),s=c(73005),t=c(62670),u=c(18722),v=c(34976),w=c(96615),x=c(5609),y=c(71454),z=c(17553),A=c(6390),B=a([j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z]);[j,k,l,m,n,p,q,r,s,t,u,v,w,x,y,z]=B.then?(await B)():B;let D="1"===process.env.MADARX_SEED_DEFAULT_WORKFLOWS;function C(a){globalThis.__madarxSuppressStateEmits=!0;try{try{!function(a){if(a.prepare("SELECT id FROM heartbeat_tasks WHERE type = 'tool_rate_limit_gc' AND status IN ('queued','leased','running') LIMIT 1").get())return;let b=`hbtask-rl-gc-${Date.now().toString(36)}`,c=JSON.stringify({type:"tool_rate_limit_gc"}),d=new Date().toISOString(),e=new Date(Date.now()+864e5).toISOString();a.prepare(`
|
|
371
371
|
INSERT INTO heartbeat_tasks
|
|
372
372
|
(id, agent_id, schedule_id, type, status, priority, payload, attempts, max_attempts, run_after, created_at, updated_at)
|
|
373
373
|
VALUES (?, NULL, NULL, ?, 'queued', 0, ?, 0, 99, ?, ?, ?)
|
|
@@ -378,7 +378,7 @@ see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__
|
|
|
378
378
|
`).run(b,"update_check",c,e,d,d)}(a)}catch{}try{!function(a){try{if(a.prepare("SELECT id FROM tool_allowlists WHERE tool_name = 'email_send' LIMIT 1").get())return;let b=null;try{let a=(0,e.execFileSync)("git",["config","user.email"],{stdio:["ignore","pipe","ignore"],timeout:3e3}).toString().trim();a.includes("@")&&(b=a.split("@").pop().toLowerCase().trim())}catch{}if(!b)return void console.warn("[seeds] Could not determine email domain from git config user.email. Add a recipient_domain allowlist entry for email_send manually via the dashboard.");let c=`tal-seed-email-${Date.now().toString(36)}`,d=new Date().toISOString();a.prepare(`
|
|
379
379
|
INSERT INTO tool_allowlists (id, tool_name, scope_key, scope_value, label, created_at)
|
|
380
380
|
VALUES (?, 'email_send', 'recipient_domain', ?, ?, ?)
|
|
381
|
-
`).run(c,b,"Seeded from git config on first install",d),console.info(`[seeds] Email allowlist seeded: email_send / recipient_domain = ${b}`)}catch(a){console.warn("[seeds] seedDefaultEmailAllowlist failed:",a?.message||a)}}(a)}catch{}try{(0,j.jz)(a)}catch{}try{(0,n.y)({})}catch{}try{(0,i.fP)(a)}catch{}try{(0,k.yi)(a)}catch{}try{(0,r.r)(a),D&&(0,q.fx)()}catch{}try{(0,s._)(a),D&&((0,t.H6)(),(0,u.r1)()),(0,v.$F)()}catch{}try{(0,w.zc)(a)}catch{}if("1"===process.env.MADARX_SEED_DEFAULT_AGENTS)try{(0,x.g)()}catch{}if(D)try{(0,y.W)()}catch{}try{(0,z.mx)(a)}catch{}!function(a){try{let b=a.prepare("SELECT id, name FROM agents WHERE id = 'ops-agent' LIMIT 1").get();if(b){"Ops Agent"===b.name&&(a.prepare("UPDATE agents SET name = 'Caretaker' WHERE id = 'ops-agent'").run(),a.prepare("UPDATE schedules SET name = 'Caretaker' WHERE agent_id = 'ops-agent' AND name = 'Ops Agent'").run());return}(0,l.W1)({silent:!0})}catch(a){console.warn("[seeds] seedOpsAgentIfMissing failed:",a?.message||a)}}(a),function(a){try{if(a.prepare("SELECT id FROM agents WHERE id = 'tool-smith-agent' LIMIT 1").get())return;(0,k.pz)("tool-smith","personal",{seed:!0,agent_id:"tool-smith-agent"})}catch(a){console.warn("[seeds] seedToolSmithAgentIfMissing failed:",a?.message||a)}}(a);try{(0,l.OH)()}catch(a){console.warn("[seeds] migrateDefaultAgentSkills failed:",a?.message||a)}try{(0,p.k2)()}catch{}try{!function(a){try{if(a.prepare("SELECT value FROM config WHERE key = 'cto_brief_seeded'").get())return;let b=g.join(h.Dl,"seed-assets","cto-brief.html");if(!f.existsSync(b))return;let c=f.readFileSync(b,"utf8");(0,l.Dg)({title:"madarX OS — Vision, Plan & Open Questions (CTO Brief)",kind:"html",content:c,space_id:"default",agent_id:"main-orchestrator",dedupe_key:""}),a.prepare("INSERT OR REPLACE INTO config (key, value) VALUES ('cto_brief_seeded', '1')").run()}catch(a){console.warn("[seeds] seedCtoBriefArtifact failed:",a?.message||a)}}(a)}catch{}try{!function(a){try{let b=(0,A.YO)();if(!b||"0.0.0"===b)return;let c=a.prepare("SELECT value FROM config WHERE key = 'last_release_noted'").get(),d=c?.value||null;if(d===b)return;let e=()=>a.prepare("INSERT OR REPLACE INTO config (key, value) VALUES ('last_release_noted', ?)").run(b);if(!d)return void e();let i=function(a,b){if(!a||!b)return null;let c=a.split("\n"),d=b.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),e=RegExp(`^##\\s*\\[${d}\\]`),f=-1;for(let a=0;a<c.length;a++)if(e.test(c[a])){f=a;break}if(-1===f)return null;let g=c.length;for(let a=f+1;a<c.length;a++)if(/^##\s*\[/.test(c[a])){g=a;break}return c.slice(f,g).join("\n").trim()||null}(function(){for(let a of[g.join(h.Dl,"CHANGELOG.md"),g.join(process.cwd(),"CHANGELOG.md"),g.join(process.cwd(),".next","standalone","CHANGELOG.md")])try{if(f.existsSync(a))return f.readFileSync(a,"utf8")}catch{}return null}(),b);if(!i)return void e();let j=i,k="markdown";try{let a=(0,m.K8)({version:b,markdown:i});a&&a.includes("<!DOCTYPE")&&(j=a,k="html")}catch(a){console.warn("[seeds] renderChangelogHtml failed, using markdown:",a?.message||a)}(0,l.Dg)({title:`madarX ${b} — What's new`,kind:k,content:j,space_id:"default",agent_id:"main-orchestrator",dedupe_key:""}),e()}catch(a){console.warn("[seeds] seedReleaseNotesArtifact failed:",a?.message||a)}}(a)}catch{}try{(0,o.d)(a)}catch{}if(!process.env.MADARX_DATA_DIR&&!process.env.VILLA515_DATA_DIR)try{!function(a){if(!globalThis.__madarxDiskEncryptionCheckRan){if(globalThis.__madarxDiskEncryptionCheckRan=!0,a)try{if(a.prepare("SELECT id FROM audit_logs WHERE type = 'disk_encryption.health' AND at > datetime('now', '-1 hour') LIMIT 1").get())return}catch{}try{let a=new c.U(c(52644)).pathname;(0,e.spawnSync)(process.execPath,["--no-warnings",a],{stdio:"ignore",detached:!1,timeout:1e4,env:{...process.env}})}catch{}}}(a)}catch{}}finally{globalThis.__madarxSuppressStateEmits=!1}}d()}catch(a){d(a)}})},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},26848:a=>{"use strict";a.exports=require("node:readline/promises")},26940:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Q:()=>t});var e=c(84104),f=c(42382),g=c(5377),h=c(61349),i=c(37937),j=c(68691),k=c(85774),l=a([e,f,g,h,i,k]);[e,f,g,h,i,k]=l.then?(await l)():l;let u=new Set(["data_quality_report","interpretation_memo","due_diligence_memo","investor_presentation","project_package","pfs_readiness_report"]),v=process.env.MADARX_APP_ORIGIN||"http://127.0.0.1:8787";function m(a,b=3){if(null==a||Number.isNaN(Number(a)))return null;let c=10**b;return Math.round(Number(a)*c)/c}function n(a){if(null==a||!Number.isFinite(Number(a)))return"n/a";let b=Number(a);return Math.abs(b)>=1e9?`$${(b/1e9).toFixed(2)}B`:Math.abs(b)>=1e6?`$${(b/1e6).toFixed(1)}M`:Math.abs(b)>=1e3?`$${(b/1e3).toFixed(0)}k`:`$${b.toFixed(0)}`}function o(a,b=0){return null!=a&&Number.isFinite(Number(a))?new Intl.NumberFormat("en-US",{maximumFractionDigits:b}).format(Number(a)):"n/a"}let w=RegExp("\\$\\s?\\d[\\d,]*(?:\\.\\d+)?(?:\\s?(?:B|M|bn|k))?|\\d[\\d,]*(?:\\.\\d+)?\\s?(?:%|‰)|\\b\\d[\\d,]*(?:\\.\\d+)?\\s?(?:ppm|ppb|g\\/t|gpt|oz|lbs?|kg|kt|mt|moz|mlb|tonnes?|tons?|km|cm|mm|m|ha|usd|t)(?![a-z])|\\b\\d{1,3}(?:,\\d{3})+\\b|\\b\\d+\\.\\d+\\b","gi");function p(a){return null==a?"":String(a).replace(w,"[see figures]")}function q(a,b){let c=a&&"object"==typeof a?a[b]:null;return Array.isArray(c)?c.map(a=>p(a).trim()).filter(Boolean).join("\n\n"):c?p(c).trim():""}async function r(a,b,c={}){let d=b.id,e=a.prepare(`
|
|
381
|
+
`).run(c,b,"Seeded from git config on first install",d),console.info(`[seeds] Email allowlist seeded: email_send / recipient_domain = ${b}`)}catch(a){console.warn("[seeds] seedDefaultEmailAllowlist failed:",a?.message||a)}}(a)}catch{}try{(0,j.jz)(a)}catch{}try{(0,n.y)({})}catch{}try{(0,i.fP)(a)}catch{}try{(0,k.yi)(a)}catch{}try{(0,r.r)(a),D&&(0,q.fx)()}catch{}try{(0,s._)(a),D&&((0,t.H6)(),(0,u.r1)()),(0,v.$F)()}catch{}try{(0,w.zc)(a)}catch{}if("1"===process.env.MADARX_SEED_DEFAULT_AGENTS)try{(0,x.g)()}catch{}if(D)try{(0,y.W)()}catch{}try{(0,z.mx)(a)}catch{}!function(a){try{let b=a.prepare("SELECT id, name FROM agents WHERE id = 'ops-agent' LIMIT 1").get();if(b){"Ops Agent"===b.name&&(a.prepare("UPDATE agents SET name = 'Caretaker' WHERE id = 'ops-agent'").run(),a.prepare("UPDATE schedules SET name = 'Caretaker' WHERE agent_id = 'ops-agent' AND name = 'Ops Agent'").run());return}(0,l.W1)({silent:!0})}catch(a){console.warn("[seeds] seedOpsAgentIfMissing failed:",a?.message||a)}}(a),function(a){try{if(a.prepare("SELECT id FROM agents WHERE id = 'tool-smith-agent' LIMIT 1").get())return;(0,k.pz)("tool-smith","personal",{seed:!0,agent_id:"tool-smith-agent"})}catch(a){console.warn("[seeds] seedToolSmithAgentIfMissing failed:",a?.message||a)}}(a);try{(0,l.OH)()}catch(a){console.warn("[seeds] migrateDefaultAgentSkills failed:",a?.message||a)}try{(0,p.k2)()}catch{}try{!function(a){try{if(a.prepare("SELECT value FROM config WHERE key = 'cto_brief_seeded'").get())return;let b=g.join(h.Dl,"seed-assets","cto-brief.html");if(!f.existsSync(b))return;let c=f.readFileSync(b,"utf8");(0,l.Dg)({title:"madarX OS — Vision, Plan & Open Questions (CTO Brief)",kind:"html",content:c,space_id:"default",agent_id:"main-orchestrator",dedupe_key:""}),a.prepare("INSERT OR REPLACE INTO config (key, value) VALUES ('cto_brief_seeded', '1')").run()}catch(a){console.warn("[seeds] seedCtoBriefArtifact failed:",a?.message||a)}}(a)}catch{}try{!function(a){try{let b=(0,A.YO)();if(!b||"0.0.0"===b)return;let c=a.prepare("SELECT value FROM config WHERE key = 'last_release_noted'").get(),d=c?.value||null;if(d===b)return;let e=()=>a.prepare("INSERT OR REPLACE INTO config (key, value) VALUES ('last_release_noted', ?)").run(b);if(!d)return void e();let i=function(a,b){if(!a||!b)return null;let c=a.split("\n"),d=b.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),e=RegExp(`^##\\s*\\[${d}\\]`),f=-1;for(let a=0;a<c.length;a++)if(e.test(c[a])){f=a;break}if(-1===f)return null;let g=c.length;for(let a=f+1;a<c.length;a++)if(/^##\s*\[/.test(c[a])){g=a;break}return c.slice(f,g).join("\n").trim()||null}(function(){for(let a of[g.join(h.Dl,"CHANGELOG.md"),g.join(process.cwd(),"CHANGELOG.md"),g.join(process.cwd(),".next","standalone","CHANGELOG.md")])try{if(f.existsSync(a))return f.readFileSync(a,"utf8")}catch{}return null}(),b);if(!i)return void e();let j=i,k="markdown";try{let a=(0,m.K8)({version:b,markdown:i});a&&a.includes("<!DOCTYPE")&&(j=a,k="html")}catch(a){console.warn("[seeds] renderChangelogHtml failed, using markdown:",a?.message||a)}(0,l.Dg)({title:`madarX ${b} — What's new`,kind:k,content:j,space_id:"default",agent_id:"main-orchestrator",dedupe_key:""}),e()}catch(a){console.warn("[seeds] seedReleaseNotesArtifact failed:",a?.message||a)}}(a)}catch{}try{(0,o.d)(a)}catch{}if(!process.env.MADARX_DATA_DIR&&!process.env.VILLA515_DATA_DIR)try{!function(a){if(!globalThis.__madarxDiskEncryptionCheckRan){if(globalThis.__madarxDiskEncryptionCheckRan=!0,a)try{if(a.prepare("SELECT id FROM audit_logs WHERE type = 'disk_encryption.health' AND at > datetime('now', '-1 hour') LIMIT 1").get())return}catch{}try{let a=new c.U(c(52644)).pathname;(0,e.spawnSync)(process.execPath,["--no-warnings",a],{stdio:"ignore",detached:!1,timeout:1e4,env:{...process.env}})}catch{}}}(a)}catch{}}finally{globalThis.__madarxSuppressStateEmits=!1}}d()}catch(a){d(a)}})},26357:(a,b,c)=>{"use strict";c.d(b,{default:()=>k});var d=c(21124),e=c(38301),f=c(23312),g=c(43815),h=c(85708);let i=(0,h.createServerReference)("401b4146db1fef872f202822dba0741afe77ced665",h.callServer,void 0,h.findSourceMapURL,"deleteProjectAction");function j({disabled:a}){let{pending:b}=(0,f.useFormStatus)();return(0,d.jsx)("button",{type:"submit",className:"admin-button danger",disabled:b||a,"aria-busy":b?"true":void 0,children:b?"Deleting…":"Delete project"})}function k({projectId:a,projectName:b,projectSlug:c,isProtected:f}){let[h,k]=e.useState(!1),[l,m]=e.useState("");if(f)return(0,d.jsxs)("span",{className:"admin-button secondary project-delete is-locked","aria-disabled":"true",title:"The Personal project is the default scope and cannot be deleted.",children:[(0,d.jsxs)("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",style:{marginRight:6,verticalAlign:"-1px"},children:[(0,d.jsx)("rect",{x:"3",y:"11",width:"18",height:"11",rx:"2"}),(0,d.jsx)("path",{d:"M7 11V7a5 5 0 0 1 10 0v4"})]}),"Protected"]});e.useEffect(()=>{h||m("")},[h]);let n=l.trim()===c;return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("button",{type:"button",className:"admin-button secondary project-delete",onClick:()=>k(!0),"aria-label":`Delete ${b}`,children:"Delete"}),(0,d.jsx)(g.A,{open:h,onClose:()=>k(!1),eyebrow:"Delete project",title:`Delete ${b}?`,tone:"danger",children:(0,d.jsxs)("form",{className:"agents-modal-form",action:i,children:[(0,d.jsx)("input",{type:"hidden",name:"project_id",value:a}),(0,d.jsx)("p",{className:"agents-modal-help",children:"This removes the project, its agents, Disk files, memory, secrets, and audit history. The folder on your local drive is left untouched."}),(0,d.jsx)("section",{className:"agents-modal-section",children:(0,d.jsxs)("label",{className:"agents-modal-field wide",children:[(0,d.jsxs)("span",{children:["Type ",(0,d.jsx)("code",{className:"agents-modal-inline-code",children:c})," to confirm"]}),(0,d.jsx)("input",{type:"text",autoComplete:"off",spellCheck:!1,value:l,onChange:a=>m(a.target.value),placeholder:c,autoFocus:!0})]})}),(0,d.jsxs)("footer",{className:"agents-modal-foot",children:[(0,d.jsx)("button",{type:"button",className:"admin-button secondary",onClick:()=>k(!1),children:"Cancel"}),(0,d.jsx)(j,{disabled:!n})]})]})})]})}},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},26848:a=>{"use strict";a.exports=require("node:readline/promises")},26940:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Q:()=>t});var e=c(84104),f=c(42382),g=c(5377),h=c(61349),i=c(37937),j=c(68691),k=c(85774),l=a([e,f,g,h,i,k]);[e,f,g,h,i,k]=l.then?(await l)():l;let u=new Set(["data_quality_report","interpretation_memo","due_diligence_memo","investor_presentation","project_package","pfs_readiness_report"]),v=process.env.MADARX_APP_ORIGIN||"http://127.0.0.1:8787";function m(a,b=3){if(null==a||Number.isNaN(Number(a)))return null;let c=10**b;return Math.round(Number(a)*c)/c}function n(a){if(null==a||!Number.isFinite(Number(a)))return"n/a";let b=Number(a);return Math.abs(b)>=1e9?`$${(b/1e9).toFixed(2)}B`:Math.abs(b)>=1e6?`$${(b/1e6).toFixed(1)}M`:Math.abs(b)>=1e3?`$${(b/1e3).toFixed(0)}k`:`$${b.toFixed(0)}`}function o(a,b=0){return null!=a&&Number.isFinite(Number(a))?new Intl.NumberFormat("en-US",{maximumFractionDigits:b}).format(Number(a)):"n/a"}let w=RegExp("\\$\\s?\\d[\\d,]*(?:\\.\\d+)?(?:\\s?(?:B|M|bn|k))?|\\d[\\d,]*(?:\\.\\d+)?\\s?(?:%|‰)|\\b\\d[\\d,]*(?:\\.\\d+)?\\s?(?:ppm|ppb|g\\/t|gpt|oz|lbs?|kg|kt|mt|moz|mlb|tonnes?|tons?|km|cm|mm|m|ha|usd|t)(?![a-z])|\\b\\d{1,3}(?:,\\d{3})+\\b|\\b\\d+\\.\\d+\\b","gi");function p(a){return null==a?"":String(a).replace(w,"[see figures]")}function q(a,b){let c=a&&"object"==typeof a?a[b]:null;return Array.isArray(c)?c.map(a=>p(a).trim()).filter(Boolean).join("\n\n"):c?p(c).trim():""}async function r(a,b,c={}){let d=b.id,e=a.prepare(`
|
|
382
382
|
SELECT COUNT(*) AS n,
|
|
383
383
|
AVG(au_ppm) AS avg_au, MAX(au_ppm) AS max_au,
|
|
384
384
|
AVG(ag_ppm) AS avg_ag,
|
|
@@ -401,7 +401,7 @@ see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__
|
|
|
401
401
|
SELECT sample_id, width_m, cu_pct, ag_ppm, other_grades_json
|
|
402
402
|
FROM mines_assay_samples WHERE project_id = ? AND sample_type = 'drill_core'
|
|
403
403
|
ORDER BY (cu_pct * width_m) DESC LIMIT 8
|
|
404
|
-
`).all(d),k=a.prepare("SELECT COUNT(*) n FROM mines_source_documents WHERE project_id = ?").get(d).n,l=a.prepare("SELECT COUNT(*) n FROM mines_document_chunks WHERE project_id = ?").get(d).n,p=b=>a.prepare("SELECT price_usd, price_unit, source FROM mines_market_snapshots WHERE lower(commodity)=lower(?) ORDER BY fetched_at DESC LIMIT 1").get(b),r=p("Cu"),t=p("Ag"),u=a.prepare("SELECT scenario, assumptions_json, result_json FROM mines_valuation_scenarios WHERE project_id = ? AND scenario LIKE 'operator_%' ORDER BY scenario").all(d);f.push(`**Prepared by:** MadarX OS \xb7 Mines | **Date:** ${g} | **Project:** \`${d}\``),f.push(`**Asset stage:** ${b.asset_stage} | **Commodity:** ${b.commodity||"Cu"} | **Jurisdiction:** ${b.state_province||"Sonora"}, ${b.country}`),f.push(""),f.push("> This memorandum is generated by autonomous agents from the project document archive and structured database. Every figure traces to a source document, a database aggregate, or a labelled estimate. Figures attributed to an operator scenario are conceptual and are **not** mineral resources."),f.push(""),f.push("## 1. Executive summary"),f.push("");let v=s(e,"deposit_type"),w=s(e,"asset_stage"),x=q(c,"exec_summary");x&&(f.push(x),f.push("")),v&&f.push(`- **Deposit type:** ${v.text} ${v.cite}`);let y=q(c,"thesis");y&&(f.push(`**Investment thesis.** ${y}`),f.push("")),w&&f.push(`- **Stage / resource status:** ${w.text} ${w.cite}`),i?.n&&f.push(`- **Drilling to date:** ${i.n} holes for ${o(i.m)} m [DrillHole aggregate]`),h?.n&&f.push(`- **Surface geochemistry:** ${h.n} trench channel samples averaging ${m(h.avg_cu,3)}% Cu [AssaySample aggregate]`),f.push(`- **Definitive valuation:** Not available — no declared resource. See \xa76 for a labelled operator scenario.`),f.push(""),f.push("## 2. Project overview"),f.push("");{let a=q(c,"overview");a&&(f.push(a),f.push(""))}for(let a of["property","mineralization","asset_stage"]){let b=s(e,a);b&&f.push(`- **${a.replace(/_/g," ")}:** ${b.text} ${b.cite}`)}f.push(""),f.push("## 3. Geology & mineralization"),f.push("");{let a=q(c,"geology");a&&(f.push(a),f.push(""))}for(let a of["deposit_type","geophysics"]){let b=s(e,a);b&&f.push(`- **${a.replace(/_/g," ")}:** ${b.text} ${b.cite}`)}f.push("");let z=[...e.keys()].filter(a=>a.startsWith("target_")).sort();if(z.length){for(let a of(f.push("### Defined targets"),f.push(""),z)){let b=(e.get(a)||[])[0];b&&f.push(`- **${a.replace("target_","").replace(/_/g," ")}:** ${b.value_text} [ExtractedFact:${b.id}${b.page_or_location?`, ${b.page_or_location}`:""}]`)}f.push("")}f.push("## 4. Exploration results"),f.push("");{let a=q(c,"exploration");a&&(f.push(a),f.push(""))}let A=s(e,"drilling_summary");if(A&&f.push(`${A.text} ${A.cite}`),f.push(""),j.length){for(let a of(f.push("**Best drill intercepts (Cu \xd7 width ranked):**"),f.push(""),f.push("| Interval | Width (m) | Cu % | Ag g/t | CuEq % |"),f.push("|----------|-----------|------|--------|--------|"),j)){let b={};try{b=JSON.parse(a.other_grades_json||"{}")}catch{}f.push(`| \`${a.sample_id}\` | ${o(a.width_m,1)} | ${m(a.cu_pct,3)} | ${null!=a.ag_ppm?m(a.ag_ppm,1):"—"} | ${null!=b.cueq_pct?m(b.cueq_pct,3):"—"} |`)}f.push(""),f.push("_[AssaySample drill_core rows; CuEq per source-report formula]_"),f.push("")}let B=s(e,"trenching_summary");B&&(f.push(`${B.text} ${B.cite}`),f.push(""));let C=[...e.keys()].filter(a=>a.startsWith("comparable_")).sort();if(C.length){f.push("## 5. Comparable assets (analogues in the same belt)"),f.push("");{let a=q(c,"comparables");a&&(f.push(a),f.push(""))}for(let a of C){let b=(e.get(a)||[])[0];b&&f.push(`- **${a.replace("comparable_","").replace(/_/g," ")}:** ${b.value_text} [ExtractedFact:${b.id}${b.page_or_location?`, ${b.page_or_location}`:""}]`)}f.push(""),f.push("_Analogues establish the geological model and the in-ground value range for a successful porphyry discovery in this belt. They are not a prediction of Batamote tonnage or grade._"),f.push("")}if(f.push("## 6. Valuation framework & indicative scenario"),f.push(""),f.push("No mineral resource has been declared for the project, therefore **no definitive (T1 in-situ or T2 DCF) valuation is produced** — the system does not assign tonnage or value to undefined mineralization. The figures below are a **conceptual operator scenario**, not a mineral resource and not a valuation opinion."),f.push(""),(r||t)&&(f.push(`**Metal price basis:** ${r?`Cu ${n(r.price_usd)}/lb`:""}${r&&t?" \xb7 ":""}${t?`Ag ${n(t.price_usd)}/oz`:""} (${r?.source||t?.source||"snapshot"}).`),f.push("")),u.length){for(let a of(f.push("| Scenario | Target tonnage | Cu grade | Indicative in-situ value |"),f.push("|----------|----------------|----------|--------------------------|"),u)){let b={},c={};try{b=JSON.parse(a.assumptions_json||"{}")}catch{}try{c=JSON.parse(a.result_json||"{}")}catch{}let d=a.scenario.replace("operator_","");f.push(`| ${d} | ${o(b.resource_tonnes)} t | ${m(b.grade_cu_pct,3)}% | ${n(c.in_situ_value_usd)} |`)}f.push(""),f.push("> **CONCEPTUAL EXPLORATION TARGET — IMPORTANT.** The tonnage and grade above are an operator-supplied conceptual exploration target expressed as a range. They are conceptual in nature; there has been insufficient exploration to define a mineral resource; and it is uncertain whether further exploration will result in the target being delineated as a mineral resource. These figures must not be construed as a mineral resource or a mineral reserve, and the in-situ values are an order-of-magnitude indication of exploration optionality only."),f.push("")}f.push("## 7. Data inventory & quality control"),f.push(""),f.push(`- **Documents catalogued:** ${o(k)} files across the project archive.`),f.push(`- **Text chunks indexed:** ${o(l)} for retrieval.`),i?.n&&f.push(`- **Structured drill holes:** ${i.n}; **trench assays:** ${h?.n||0}; **drill intercepts:** ${j.length}.`);let D=s(e,"qa_qc");D&&f.push(`- **QA/QC:** ${D.text} ${D.cite}`);let E=s(e,"data_verification");E&&f.push(`- **Data verification:** ${E.text} ${E.cite}`),f.push(""),f.push("## 8. Risk register"),f.push("");{let a=q(c,"risk_intro");a&&(f.push(a),f.push(""))}f.push("| Risk | Severity | Mitigation |"),f.push("|------|----------|------------|"),f.push("| No declared mineral resource (exploration risk) | High | Maiden resource drill program at El Choclo NW / Bata Sur |"),f.push("| Grade continuity not yet demonstrated at depth | Medium | Infill + step-out drilling; clay-alteration vectoring |"),f.push("| Metal price volatility | Medium | Long-dated optionality; copper structural demand |"),f.push("| Permitting / surface rights (Sonora) | Medium | Confirm tenure & community agreements in legal DD |"),f.push("| Data provenance (historic operators) | Low–Med | Teck data verified vs lab certificates; re-log key holes |"),f.push(""),f.push("## 9. Recommended work program"),f.push("");let F=s(e,"work_program");F&&(f.push(`${F.text} ${F.cite}`),f.push(""));let G=q(c,"recommendation");return G&&(f.push("_Indicative next-phase program (MadarX planning view, not from the technical report):_"),f.push(""),f.push(G),f.push("")),f.push("## 10. Limitations & disclaimers"),f.push(""),f.push("Structured figures are transcribed/extracted from the project NI 43-101 technical report and archive; comparable-asset figures are from public S-K 1300 reports referenced therein. Metal prices are dated market snapshots. The operator scenario is conceptual and not a mineral resource. This memorandum is decision-support analysis, not a qualified person's valuation opinion, and does not constitute investment advice."),f.push(""),f.push("---"),f.push("_Generated by `mines_report_generate` (due_diligence_memo). Numeric claims trace to `mines_extracted_facts`, SQL aggregates, or persisted `mines_valuation_scenarios` rows._"),{markdown:f.join("\n"),facts_cited:[...e.values()].reduce((a,b)=>a+b.length,0),comparables:C.length,targets:z.length,scenario_rows:u.length}}(w,y,B);c=a.markdown,d=`Investment Diligence Memo — ${y.name}`,z={facts_cited:a.facts_cited,comparables:a.comparables,targets:a.targets,scenario_rows:a.scenario_rows}}else if("pfs_readiness_report"===l){let a=function(a,b,c={}){let d=b.id,e=function(a,b){let c=new Set(a.prepare("SELECT DISTINCT fact_type FROM mines_extracted_facts WHERE project_id = ?").all(b).map(a=>a.fact_type)),d=(...a)=>[...c].some(b=>a.some(a=>b===a||b.startsWith(`${a}_`)||b.includes(a))),e=a.prepare("SELECT COUNT(*) n, SUM(total_depth_m) m FROM mines_drill_holes WHERE project_id = ?").get(b),f=a.prepare("SELECT COUNT(*) n FROM mines_assay_samples WHERE project_id = ?").get(b),g=a.prepare("SELECT COUNT(*) n FROM mines_source_documents WHERE project_id = ?").get(b).n,h=a.prepare("SELECT COUNT(*) n FROM mines_document_chunks WHERE project_id = ?").get(b).n,i=[...c].filter(a=>a.startsWith("target_")).length,j=[...c].filter(a=>a.startsWith("comparable_")).length,k=a.prepare("SELECT COUNT(*) n FROM mines_valuation_scenarios WHERE project_id = ? AND scenario NOT LIKE 'operator_%'").get(b).n,l=a.prepare("SELECT COUNT(*) n FROM mines_valuation_scenarios WHERE project_id = ? AND scenario LIKE 'operator_%'").get(b).n,m=d("mineral_resource","resource_estimate","resource_statement","resource_classification","measured_indicated"),n=d("mineral_reserve","reserve_estimate","proven","probable"),o=d("metallurg","recovery","met_testwork","processing"),p=d("mine_plan","production_schedule","mining_method","pit","geotech"),q=d("capex","opex","cost_estimate","aisc"),r=d("market","price_deck","offtake")||a.prepare("SELECT COUNT(*) n FROM mines_market_snapshots").get().n>0,s=c.has("qa_qc"),t=c.has("data_verification"),u=d("deposit_type","mineralization","geophysics","property")||i>0,v=(e?.n||0)>0||d("drilling_summary","trenching_summary");return{factTypes:c,drill:e,assay:f,docCount:g,chunkCount:h,targets:i,comparables:j,indicativeScenarios:k,conceptualScenarios:l,hasResource:m,hasReserve:n,hasMetTestwork:o,hasMinePlan:p,hasCostEstimate:q,hasMarket:r,hasQaQc:s,hasDataVerification:t,hasGeology:u,hasDrilling:v}}(a,d),f=[],g=new Date().toISOString().slice(0,10),h=e.hasResource&&e.hasReserve;f.push(`**Prepared by:** MadarX OS \xb7 Mines | **Date:** ${g} | **Project:** \`${d}\``),f.push(`**Asset stage:** ${b.asset_stage} | **Commodity:** ${b.commodity||"n/a"} | **Jurisdiction:** ${b.state_province||"n/a"}, ${b.country||"n/a"}`),f.push(""),f.push("> **This is a PFS-READINESS ASSESSMENT, not a Pre-Feasibility Study.** A PFS requires a Mineral Reserve converted from Measured & Indicated Resources (no Inferred), with Modifying Factors, a mine plan, recovery testwork, and capex/opex to \xb125% (AACE Class 4), each signed off by a competent QP/CP. This report measures the asset against that standard, inventories the data that exists (every count traces to a database row), and lists the gaps and work program required to reach PFS confidence. It does **not** declare a resource, a reserve, or any figure the source data does not contain."),f.push(""),f.push("## 1. Readiness verdict"),f.push("");{let a=q(c,"verdict");a&&(f.push(a),f.push(""))}h?f.push("**A Mineral Reserve appears to exist in the dataset.** A PFS may be supportable — proceed to the section-by-section coverage below to confirm each discipline meets PFS confidence, then route reserve/economics work to the valuation analyst and a competent QP."):e.hasResource&&!e.hasReserve?f.push("**A Mineral Resource is present but no Mineral Reserve has been declared.** A PFS is **not yet supportable**. The defining PFS step — conversion of Measured & Indicated Resources to a Proven/Probable Reserve via Modifying Factors (template \xa715) — has not been done. This is the critical path."):(f.push("**No Mineral Resource is declared for this asset.** A PFS is **not supportable and must not be produced.** Per the PFS contract (template \xa71, checklist gate G3) reserves derive from Measured & Indicated Resources only — and there is no resource to convert. The asset sits at an **exploration / scoping** confidence level. The work below maps a path from exploration data to a maiden resource, and from there toward PFS."),e.conceptualScenarios>0&&(f.push(""),f.push(`> The project carries ${e.conceptualScenarios} conceptual operator scenario(s) in \`mines_valuation_scenarios\`. These are exploration-target order-of-magnitude figures, **not** a mineral resource, and cannot seed a reserve or a PFS economic case.`))),f.push("");let i=e.hasResource?x.ready:e.hasDrilling&&(e.hasQaQc||e.hasDataVerification)||e.hasGeology?x.partial:x.gap,j=e.hasMinePlan&&e.hasMetTestwork?x.ready:e.hasMinePlan||e.hasMetTestwork?x.partial:x.gap,k=e.hasReserve?x.ready:e.hasResource?x.gap:x.blocked,l=e.hasReserve&&e.hasCostEstimate?x.ready:e.hasReserve?x.partial:x.blocked,m=h?x.partial:x.blocked;f.push("## 2. Decision-gate status"),f.push(""),f.push("_Gates are sequential (template \xa72). A downstream gate is `Blocked` until its prerequisite passes — no amount of work on a later gate substitutes for the gate before it._"),f.push(""),f.push("| Gate | Requirement | Status |"),f.push("|------|-------------|--------|"),f.push(`| **G0** Study launch | Charter, code, scope, QPs, budget, gates fixed | ${x.gap} (no study charter in dataset) |`),f.push(`| **G1** Geological foundation | DB validated; QA/QC documented; M/I/I classified; RPEEE shown | ${i} |`),f.push(`| **G2** Options / trade-off | Mining method, process route, tailings, power/water selected | ${j} |`),f.push(`| **G3** Reserve declaration | M&I only; no Inferred; dilution & losses; Modifying Factors | ${k} |`),f.push(`| **G4** Estimate & economics | Capex/opex \xb125%; ~15% contingency; reserve-based model | ${l} |`),f.push(`| **G5** Assurance & disclosure | Risk register, fatal-flaw + independent review, QP sign-offs | ${m} |`),f.push("");let n=a=>a?x.partial:x.gap,p=[["1–3 \xb7 Summary / Introduction / Reliance",e.docCount>0,`${o(e.docCount)} source documents catalogued`],["4 \xb7 Property Description & Location",e.factTypes.has("property"),e.factTypes.has("property")?"property fact present":"no tenure/location fact extracted"],["5 \xb7 Accessibility, Climate, Infrastructure",!1,"not extracted — requires site/infrastructure data"],["6 \xb7 History",e.factTypes.has("deposit_type")||e.docCount>0,"historic archive present"],["7 \xb7 Geological Setting & Mineralization",e.hasGeology,e.hasGeology?`geology facts + ${e.targets} target(s)`:"no geology facts"],["8 \xb7 Deposit Types",e.factTypes.has("deposit_type"),e.factTypes.has("deposit_type")?"deposit_type fact present":"no deposit_type fact"],["9–10 \xb7 Exploration & Drilling",e.hasDrilling,`${e.drill?.n||0} drill holes; drilling/trenching summaries`],["11–12 \xb7 Sampling, Analyses, Data Verification",e.hasQaQc||e.hasDataVerification,`${e.assay?.n||0} assay samples; QA/QC=${e.hasQaQc}; verification=${e.hasDataVerification}`],["13 \xb7 Mineral Processing & Metallurgical Testing",e.hasMetTestwork,e.hasMetTestwork?"testwork present":"no metallurgical testwork — required for recovery model"],["14 \xb7 Mineral Resource Estimate",e.hasResource,e.hasResource?"resource present":"NO RESOURCE — blocks reserve & economics"],["15 \xb7 Mineral Reserve Estimate (defining PFS section)",e.hasReserve,e.hasReserve?"reserve present":"NO RESERVE — the PFS cannot exist without this"],["16 \xb7 Mining Methods",e.hasMinePlan,e.hasMinePlan?"mine-plan/geotech facts present":"no mine plan / geotechnical model"],["17 \xb7 Recovery Methods",e.hasMetTestwork,e.hasMetTestwork?"derived from testwork":"blocked on metallurgical testwork"],["18 \xb7 Project Infrastructure",!1,"not extracted — power/water/tailings/access required"],["19 \xb7 Market Studies & Contracts",e.hasMarket,e.hasMarket?"market snapshots/facts present":"no price deck / offtake"],["20 \xb7 Environmental, Permitting, Social",!1,"not extracted — baseline/permitting register required"],["21 \xb7 Capital & Operating Costs",e.hasCostEstimate,e.hasCostEstimate?"cost facts present":"no capex/opex estimate (need AACE Class 4)"],["22 \xb7 Economic Analysis",e.hasReserve&&e.hasCostEstimate,"requires a reserve-based model"],["23 \xb7 Adjacent Properties",e.comparables>0,`${e.comparables} comparable asset(s)`],["25–26 \xb7 Interpretation, Conclusions & Recommendations",e.docCount>0,"authored from the above"]];for(let[a,b,c]of(f.push("## 3. PFS section coverage (NI 43-101 body)"),f.push(""),f.push("| Section | Status | Evidence in dataset |"),f.push("|---------|--------|---------------------|"),p)){let d=a.startsWith("14 ")?e.hasResource?x.ready:x.gap:a.startsWith("15 ")?e.hasReserve?x.ready:e.hasResource?x.gap:x.blocked:n(b);f.push(`| ${a} | ${d} | ${c} |`)}for(let[a,b]of(f.push(""),f.push("_Status is computed from `mines_extracted_facts` types and SQL aggregates — a `Gap` means the data type is absent from the database, not that it was judged inadequate._"),f.push(""),f.push("## 4. The PFS contract (must all hold to declare a PFS)"),f.push(""),[["Reserves from Measured & Indicated only (no Inferred)",e.hasReserve],["Dilution & mining losses incorporated",e.hasReserve&&e.hasMinePlan],["Modifying Factors formally applied & documented",e.hasReserve],["Capex/opex \xb125%, ~15% contingency, AACE Class 4",e.hasCostEstimate],["Reserve-based financial model, positive across a downside",e.hasReserve&&e.hasCostEstimate],["Each discipline signed off by a competent QP/CP",h]]))f.push(`- [${b?"x":" "}] ${a}`);f.push(""),h||f.push("Until every box is checked, the asset is **pre-PFS**. The earliest unchecked box on the critical path is where work must start (see \xa76)."),f.push(""),f.push("## 5. Data inventory"),f.push(""),f.push(`- **Documents catalogued:** ${o(e.docCount)} \xb7 **text chunks indexed:** ${o(e.chunkCount)}`),f.push(`- **Structured drill holes:** ${e.drill?.n||0}${e.drill?.m?` for ${o(e.drill.m)} m`:""} \xb7 **assay samples:** ${e.assay?.n||0}`),f.push(`- **Extracted fact types:** ${e.factTypes.size} \xb7 **defined targets:** ${e.targets} \xb7 **comparables:** ${e.comparables}`),f.push(`- **Valuation scenarios:** ${e.indicativeScenarios} indicative (T1/T2 runs) \xb7 ${e.conceptualScenarios} conceptual operator-target — neither is a declared resource`),f.push(""),f.push("_Counts are read directly from `mines_source_documents`, `mines_document_chunks`, `mines_drill_holes`, `mines_assay_samples`, `mines_extracted_facts`, and `mines_valuation_scenarios`._"),f.push(""),f.push("## 6. Critical-path gaps (ordered)"),f.push("");{let a=q(c,"gap_intro");a&&(f.push(a),f.push(""))}let r=[];e.hasResource||r.push("**Maiden Mineral Resource estimate** — the single hard blocker. Requires sufficient drill density, QA/QC-validated assays, density data, domaining, a block model, classification (M/I/I), and RPEEE within a constraining shape. Until this exists, no reserve, no economics, no PFS."),e.hasMetTestwork||r.push("**Metallurgical testwork** — representative samples across lithology/alteration/oxidation/depth/grade; a recovery model by domain (not a single point). Blocks \xa713/\xa717."),e.hasResource&&!e.hasMinePlan&&r.push("**Mine plan & geotechnical model** — method/pit-configuration trade-off, slope/support parameters, production schedule. Required before reserve conversion."),e.hasResource&&!e.hasReserve&&r.push("**Reserve conversion (\xa715)** — apply Modifying Factors to M&I, incorporate dilution & mining losses, derive Proven/Probable. This is the defining PFS step."),e.hasCostEstimate||r.push("**Capex/opex estimate to \xb125% (AACE Class 4)** — formal Basis of Estimate, vendor budget quotes on major items, ~15% risk-based contingency. Blocks \xa721/\xa722."),r.push("**Infrastructure, water & tailings study** — power/water/access; site water balance; tailings option + GISTM alignment; confirm no fatal flaw."),r.push("**Environmental / permitting / social baseline** — multi-season baseline, permitting register on the critical path, closure cost flowed to the model."),r.push("**Competent QP/CP sign-off per discipline** — and an independent / peer technical review before any disclosure."),r.forEach((a,b)=>f.push(`${b+1}. ${a}`)),f.push(""),f.push("## 7. Recommended work program to reach PFS"),f.push("");let s=a.prepare("SELECT id, value_text, page_or_location FROM mines_extracted_facts WHERE project_id = ? AND fact_type = 'work_program' LIMIT 1").get(d);s&&(f.push(`${s.value_text} [ExtractedFact:${s.id}${s.page_or_location?`, ${s.page_or_location}`:""}]`),f.push(""));let t=q(c,"work_program")||q(c,"recommendation");return t?(f.push("_Indicative phased program (MadarX planning view, not from the technical report):_"),f.push(""),f.push(t),f.push("")):s||(f.push("Phase the program to the gate sequence above: (1) resource-definition drilling → maiden resource (G1); (2) metallurgical testwork + mining/geotech trade-off (G2); (3) reserve conversion with Modifying Factors (G3); (4) Class 4 cost estimate + reserve-based model (G4); (5) risk, independent review, QP sign-off (G5). Budget and schedule each phase before launch."),f.push("")),f.push("## 8. Limitations & disclaimers"),f.push(""),f.push("This is a readiness assessment generated by autonomous agents from the project database and document archive. Statuses reflect the **presence** of data types, not a competent person's judgement of their adequacy. The absence of a resource/reserve in the database is reported as a gap, never filled with an estimate. This document is decision-support analysis; it is not a Pre-Feasibility Study, not a qualified person's opinion, and does not constitute investment advice. Producing an actual PFS requires the work program above and competent-person sign-off under the applicable reporting code (NI 43-101 / S-K 1300 / JORC)."),f.push(""),f.push("---"),f.push("_Generated by `mines_report_generate` (pfs_readiness_report). Gate/section statuses derive from `mines_extracted_facts` types and SQL aggregates; no figure is asserted that the source data does not contain. Rubric: `docs/mines/pfs-best-practice-template.md` + `pfs-best-practice-checklist.md`._"),{markdown:f.join("\n"),pfs_feasible:h,has_resource:e.hasResource,has_reserve:e.hasReserve,gaps_count:r.length,fact_types:e.factTypes.size,documents:e.docCount}}(w,y,B);c=a.markdown,d=`PFS-Readiness Assessment — ${y.name}`,z={pfs_feasible:a.pfs_feasible,has_resource:a.has_resource,has_reserve:a.has_reserve,gaps_count:a.gaps_count,fact_types:a.fact_types,documents:a.documents}}else{let a=await r(w,y,B);c=a.markdown,d=`Interpretation Memo — ${y.name}`,z={numeric_claims_count:a.numeric_claims_count,chunk_citations_count:a.chunk_citations_count,retrieval_mode:a.retrieval_mode}}let C=(0,k.Om)([a?.space_id,y.default_space_id],{fallback:null}),D=function(a,b){let c=a.prepare("SELECT os_project_id FROM mines_projects WHERE id = ?").get(b);return c?.os_project_id||null}(w,h);try{for(let a of C?w.prepare("SELECT id FROM artifacts WHERE title = ? AND space_id = ?").all(d,C):w.prepare("SELECT id FROM artifacts WHERE title = ? AND project_id = ?").all(d,D||"personal"))try{(0,f.CM)(a.id)}catch{}}catch{}let E=(0,f.Dg)({title:d,kind:A,content:c,project_id:D,agent_id:b.agent_id||null,space_id:C,dedupe_key:""});if(C&&!E.deduped)try{(0,k.h5)(E.artifact_id,C)}catch{}try{(0,i.pQ)({user_id:b.acting_on_behalf_of_user_id||b.user_id||"system",org_id:"personal-org",action:"mines.report.generated",status:"success",summary:`Generated ${l} for ${y.name}`,action_target_id:E.artifact_id,action_target_type:"artifact",meta:{project_id:h,report_kind:l,artifact_id:E.artifact_id,...z}})}catch{}return{status:"ok",artifact_id:E.artifact_id,report_kind:l,space_id:C,chunk_citations_count:z.chunk_citations_count??0,...z}}d()}catch(a){d(a)}})},27746:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{X:()=>t,Z6:()=>p,dd:()=>n,mr:()=>r,sq:()=>q,sv:()=>o,vO:()=>s});var e=c(73024),f=c(76760),g=c(42382),h=c(67354),i=c(684),j=a([g,h]);[g,h]=j.then?(await j)():j;let u=new Set([".git","node_modules",".next","data"]);function k(a,b,c={}){(0,g.appendAudit)({type:`local.${a}`,summary:`${a} ${b}`,status:b,meta:c})}function l(a,b,c){return(0,h.D6)({action_type:a,risk:"medium",summary:`${a} requested for ${c}`,payload:{input:{...b,content:b.content?`[${String(b.content).length} chars]`:void 0},path:c}})}function m(a){return b=>b.path===a}async function n(a={}){let{path:b}=(0,i.hC)(a.path),c=Number(process.env.MADARX_FILE_READ_MAX_BYTES||1e5),d=e.statSync(b);if(!d.isFile())throw Error("Path is not a file");if(d.size>c)throw Error(`File too large: ${d.size} bytes`);let f=e.readFileSync(b,"utf8").split(/\r?\n/),g=Math.max(1,Number(a.offset||1)),h=Math.max(1,Math.min(2e3,Number(a.limit||500))),j=f.slice(g-1,g-1+h).join("\n");return k("file_read","complete",{path:b,bytes:Buffer.byteLength(j)}),{ok:!0,tool:"file_read",path:b,content:(0,i.nc)(j),metadata:{line_count:f.length,offset:g,limit:h}}}async function o(a={}){let{path:b}=(0,i.hC)(a.path||"."),c=Math.max(1,Math.min(500,Number(a.limit||100))),d=[];for(let a of e.readdirSync(b,{withFileTypes:!0})){if(d.length>=c)break;try{(0,i.hC)(f.join(b,a.name))}catch{continue}u.has(a.name)||d.push({name:a.name,type:a.isDirectory()?"directory":a.isFile()?"file":"other"})}return k("directory_list","complete",{path:b,count:d.length}),{ok:!0,tool:"directory_list",path:b,entries:d,metadata:{count:d.length}}}function p(a={}){let{path:b}=(0,i.hC)(a.path);if((0,i.Oe)(b))throw Error(`Write access denied: path is under a read-only root: ${a.path}`);return{absPath:b}}async function q(a={},b={}){let{absPath:c}=p(a);if(!b.owner_trusted&&!(0,h.v)(a.approval_id,{action_type:"file_write",matches:m(c)})){let b=l("file_write",a,c);return{ok:!1,status:"approval_required",approval_request_id:b.id,reason:"File writes require approval"}}return!1!==a.create_dirs&&e.mkdirSync(f.dirname(c),{recursive:!0}),e.writeFileSync(c,String(a.content??""),"utf8"),k("file_write","complete",{path:c}),{ok:!0,tool:"file_write",path:c,metadata:{bytes:Buffer.byteLength(String(a.content??""))}}}function r(a={}){let{path:b}=(0,i.hC)(a.path);if((0,i.Oe)(b))throw Error(`Write access denied: path is under a read-only root: ${a.path}`);let c=String(a.old_string??"");if(!c)throw Error("old_string is required");let d=e.readFileSync(b,"utf8"),f=d.split(c).length-1;if(!f)throw Error("old_string not found");if(f>1&&!a.replace_all)throw Error("old_string is ambiguous");return{absPath:b,content:d,matches:f,oldString:c}}async function s(a={},b={}){let{absPath:c,content:d,matches:f,oldString:g}=r(a),i=String(a.new_string??"");if(!b.owner_trusted&&!(0,h.v)(a.approval_id,{action_type:"file_patch",matches:m(c)})){let b=l("file_patch",{...a,new_string:`[${i.length} chars]`},c);return{ok:!1,status:"approval_required",approval_request_id:b.id,reason:"File patches require approval"}}return e.writeFileSync(c,a.replace_all?d.split(g).join(i):d.replace(g,i),"utf8"),k("file_patch","complete",{path:c,replacements:a.replace_all?f:1}),{ok:!0,tool:"file_patch",path:c,metadata:{replacements:a.replace_all?f:1}}}async function t(a={}){let{path:b}=(0,i.hC)(a.path||"."),c=String(a.pattern||"");if(!c)throw Error("pattern is required");let d=Math.max(1,Math.min(200,Number(a.limit||50))),g=RegExp(c.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"i"),h=a.target||"content",j=a.file_glob?String(a.file_glob):null,l=j?RegExp("^"+j.split("*").map(a=>a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join(".*")+"$","i"):null,m=[];for(let a of function a(b,c=[],d=1e3){if(c.length>=d)return c;for(let g of e.readdirSync(b,{withFileTypes:!0})){if(u.has(g.name))continue;let e=f.join(b,g.name);if(g.isDirectory()?a(e,c,d):g.isFile()&&c.push(e),c.length>=d)break}return c}(b,[],5e3)){if(m.length>=d)break;try{(0,i.hC)(a)}catch{continue}if(!l||l.test(f.basename(a))){if("path"===h||"name"===h){g.test("name"===h?f.basename(a):a)&&m.push({path:a});continue}e.statSync(a).size>25e4||/\.sqlite/.test(a)||/^\.env/.test(f.basename(a))||e.readFileSync(a,"utf8").split(/\r?\n/).forEach((b,c)=>{m.length<d&&g.test(b)&&m.push({path:a,line:c+1,text:(0,i.nc)(b)})})}}return k("file_search","complete",{path:b,count:m.length}),{ok:!0,tool:"file_search",path:b,results:m,metadata:{count:m.length}}}d()}catch(a){d(a)}})},27806:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{decryptActionBoundArgs:function(){return s},encryptActionBoundArgs:function(){return r}}),c(95818);let d=c(83183),e=c(51318),f=c(50931),g=c(54210),h=c(63033),i=c(90151),j=function(a){return a&&a.__esModule?a:{default:a}}(c(46204)),k=new TextEncoder,l=new TextDecoder,m=void 0,n=void 0;async function o(a,b){let c=await (0,g.getActionEncryptionKey)();if(void 0===c)throw Object.defineProperty(Error("Missing encryption key for Server Action. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E65",enumerable:!1,configurable:!0});let d=atob(b),e=d.slice(0,16),f=d.slice(16),h=l.decode(await (0,g.decrypt)(c,(0,g.stringToUint8Array)(e),(0,g.stringToUint8Array)(f)));if(!h.startsWith(a))throw Object.defineProperty(Error("Invalid Server Action payload: failed to decrypt."),"__NEXT_ERROR_CODE",{value:"E191",enumerable:!1,configurable:!0});return h.slice(a.length)}async function p(a,b){let c=await (0,g.getActionEncryptionKey)();if(void 0===c)throw Object.defineProperty(Error("Missing encryption key for Server Action. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E65",enumerable:!1,configurable:!0});let d=new Uint8Array(16);h.workUnitAsyncStorage.exit(()=>crypto.getRandomValues(d));let e=(0,g.arrayBufferToString)(d.buffer),f=await (0,g.encrypt)(c,d,k.encode(a+b));return btoa(e+(0,g.arrayBufferToString)(f))}var q=function(a){return a[a.Ready=0]="Ready",a[a.Pending=1]="Pending",a[a.Complete=2]="Complete",a}(q||{});let r=j.default.cache(async function a(b,...c){let e=h.workUnitAsyncStorage.getStore(),j=e?(0,h.getCacheSignal)(e):void 0,{clientModules:k}=(0,g.getClientReferenceManifestForRsc)(),l=Error();Error.captureStackTrace(l,a);let n=!1,o=e?(0,i.createHangingInputAbortSignal)(e):void 0,q=0;function r(){0===q&&(q=1,null==j||j.beginRead())}function s(){1===q&&(null==j||j.endRead()),q=2}o&&j&&o.addEventListener("abort",r,{once:!0});let t=await (0,f.streamToString)((0,d.renderToReadableStream)(c,k,{filterStackFrame:m,signal:o,onError(a){(null==o||!o.aborted)&&(n||(n=!0,l.message=a instanceof Error?a.message:String(a)))}}),o);if(n)throw s(),l;if(!e)return p(b,t);r();let u=(0,h.getPrerenderResumeDataCache)(e),v=(0,h.getRenderResumeDataCache)(e),w=b+t,x=(null==u?void 0:u.encryptedBoundArgs.get(w))??(null==v?void 0:v.encryptedBoundArgs.get(w));if(x)return x;let y=await p(b,t);return s(),null==u||u.encryptedBoundArgs.set(w,y),y});async function s(a,b){let c,d=await b,f=h.workUnitAsyncStorage.getStore();if(f){let b=(0,h.getCacheSignal)(f),e=(0,h.getPrerenderResumeDataCache)(f),g=(0,h.getRenderResumeDataCache)(f);(c=(null==e?void 0:e.decryptedBoundArgs.get(d))??(null==g?void 0:g.decryptedBoundArgs.get(d)))||(null==b||b.beginRead(),c=await o(a,d),null==b||b.endRead(),null==e||e.decryptedBoundArgs.set(d,c))}else c=await o(a,d);let{edgeRscModuleMapping:i,rscModuleMapping:j}=(0,g.getClientReferenceManifestForRsc)();return await (0,e.createFromReadableStream)(new ReadableStream({start(a){switch(a.enqueue(k.encode(c)),null==f?void 0:f.type){case"prerender":case"prerender-runtime":f.renderSignal.aborted?a.close():f.renderSignal.addEventListener("abort",()=>a.close(),{once:!0});break;case"prerender-client":case"prerender-ppr":case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":case void 0:return a.close()}}}),{findSourceMapURL:n,serverConsumerManifest:{moduleLoading:null,moduleMap:j,serverModuleMap:(0,g.getServerModuleMap)()}})}},28354:a=>{"use strict";a.exports=require("util")},28838:(a,b,c)=>{"use strict";c.d(b,{Qw:()=>m,U5:()=>l});var d=c(76760),e=c(80099);let f=Object.freeze(["strict","balanced","permissive"]),g="strict",h="MADARX_PRINTING_PRESS_SECURITY_MODE",i=new Set,j=null,k=0;function l(a){let b=a??function(){let a=Date.now();if(a-k<1500)return j;try{let a=process.env.MADARX_DATA_DIR||process.env.VILLA515_DATA_DIR,b=a?d.resolve(a):process.env.MADARX_HOME?d.join(d.resolve(process.env.MADARX_HOME),"data"):d.resolve(process.cwd(),"data"),c=d.join(b,"madarx.sqlite"),f=new e.DatabaseSync(c,{readOnly:!0});try{let a=f.prepare("SELECT value FROM config WHERE key = ?").get("printing_press_security_mode_override");j=a?.value||null}finally{f.close()}}catch{j=null}return k=a,j}()??process.env[h];if(!b)return g;let c=String(b).trim().toLowerCase();return f.includes(c)?c:(i.has(c)||(i.add(c),console.warn(`[printing-press] Unknown ${h}="${b}" — defaulting to "${g}".`)),g)}function m(a){let b=f.includes(a)?a:g;return"strict"===b?Object.freeze({mode:"strict",force_approval:!0,allowlist_default_allow:!1,allow_network_write_clis:!1,allow_mcp_mount:!1,rate_limit_multiplier:1,production_safe:!0,warn_in_production:!1,allow_install_at_runtime:!0,banner:"red",banner_message:"Strict mode: every Printing Press action requires explicit approval."}):"balanced"===b?Object.freeze({mode:"balanced",force_approval:!1,allowlist_default_allow:!1,allow_network_write_clis:!0,allow_mcp_mount:!0,rate_limit_multiplier:2,production_safe:!0,warn_in_production:!0,allow_install_at_runtime:!0,banner:"amber",banner_message:"Balanced mode: trust-mode rules apply. Allowlist still default-deny."}):Object.freeze({mode:"permissive",force_approval:!1,allowlist_default_allow:!0,allow_network_write_clis:!0,allow_mcp_mount:!0,rate_limit_multiplier:5,production_safe:!1,warn_in_production:!0,allow_install_at_runtime:!0,banner:"grey",banner_message:"Permissive mode: only suitable for sandboxes. Not allowed in production."})}},29089:a=>{(()=>{"use strict";var b={491:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.ContextAPI=void 0;let d=c(223),e=c(172),f=c(930),g="context",h=new d.NoopContextManager;class i{constructor(){}static getInstance(){return this._instance||(this._instance=new i),this._instance}setGlobalContextManager(a){return(0,e.registerGlobal)(g,a,f.DiagAPI.instance())}active(){return this._getContextManager().active()}with(a,b,c,...d){return this._getContextManager().with(a,b,c,...d)}bind(a,b){return this._getContextManager().bind(a,b)}_getContextManager(){return(0,e.getGlobal)(g)||h}disable(){this._getContextManager().disable(),(0,e.unregisterGlobal)(g,f.DiagAPI.instance())}}b.ContextAPI=i},930:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.DiagAPI=void 0;let d=c(56),e=c(912),f=c(957),g=c(172);class h{constructor(){function a(a){return function(...b){let c=(0,g.getGlobal)("diag");if(c)return c[a](...b)}}let b=this;b.setLogger=(a,c={logLevel:f.DiagLogLevel.INFO})=>{var d,h,i;if(a===b){let a=Error("Cannot use diag as the logger for itself. Please use a DiagLogger implementation like ConsoleDiagLogger or a custom implementation");return b.error(null!=(d=a.stack)?d:a.message),!1}"number"==typeof c&&(c={logLevel:c});let j=(0,g.getGlobal)("diag"),k=(0,e.createLogLevelDiagLogger)(null!=(h=c.logLevel)?h:f.DiagLogLevel.INFO,a);if(j&&!c.suppressOverrideMessage){let a=null!=(i=Error().stack)?i:"<failed to generate stacktrace>";j.warn(`Current logger will be overwritten from ${a}`),k.warn(`Current logger will overwrite one already registered from ${a}`)}return(0,g.registerGlobal)("diag",k,b,!0)},b.disable=()=>{(0,g.unregisterGlobal)("diag",b)},b.createComponentLogger=a=>new d.DiagComponentLogger(a),b.verbose=a("verbose"),b.debug=a("debug"),b.info=a("info"),b.warn=a("warn"),b.error=a("error")}static instance(){return this._instance||(this._instance=new h),this._instance}}b.DiagAPI=h},653:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.MetricsAPI=void 0;let d=c(660),e=c(172),f=c(930),g="metrics";class h{constructor(){}static getInstance(){return this._instance||(this._instance=new h),this._instance}setGlobalMeterProvider(a){return(0,e.registerGlobal)(g,a,f.DiagAPI.instance())}getMeterProvider(){return(0,e.getGlobal)(g)||d.NOOP_METER_PROVIDER}getMeter(a,b,c){return this.getMeterProvider().getMeter(a,b,c)}disable(){(0,e.unregisterGlobal)(g,f.DiagAPI.instance())}}b.MetricsAPI=h},181:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.PropagationAPI=void 0;let d=c(172),e=c(874),f=c(194),g=c(277),h=c(369),i=c(930),j="propagation",k=new e.NoopTextMapPropagator;class l{constructor(){this.createBaggage=h.createBaggage,this.getBaggage=g.getBaggage,this.getActiveBaggage=g.getActiveBaggage,this.setBaggage=g.setBaggage,this.deleteBaggage=g.deleteBaggage}static getInstance(){return this._instance||(this._instance=new l),this._instance}setGlobalPropagator(a){return(0,d.registerGlobal)(j,a,i.DiagAPI.instance())}inject(a,b,c=f.defaultTextMapSetter){return this._getGlobalPropagator().inject(a,b,c)}extract(a,b,c=f.defaultTextMapGetter){return this._getGlobalPropagator().extract(a,b,c)}fields(){return this._getGlobalPropagator().fields()}disable(){(0,d.unregisterGlobal)(j,i.DiagAPI.instance())}_getGlobalPropagator(){return(0,d.getGlobal)(j)||k}}b.PropagationAPI=l},997:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.TraceAPI=void 0;let d=c(172),e=c(846),f=c(139),g=c(607),h=c(930),i="trace";class j{constructor(){this._proxyTracerProvider=new e.ProxyTracerProvider,this.wrapSpanContext=f.wrapSpanContext,this.isSpanContextValid=f.isSpanContextValid,this.deleteSpan=g.deleteSpan,this.getSpan=g.getSpan,this.getActiveSpan=g.getActiveSpan,this.getSpanContext=g.getSpanContext,this.setSpan=g.setSpan,this.setSpanContext=g.setSpanContext}static getInstance(){return this._instance||(this._instance=new j),this._instance}setGlobalTracerProvider(a){let b=(0,d.registerGlobal)(i,this._proxyTracerProvider,h.DiagAPI.instance());return b&&this._proxyTracerProvider.setDelegate(a),b}getTracerProvider(){return(0,d.getGlobal)(i)||this._proxyTracerProvider}getTracer(a,b){return this.getTracerProvider().getTracer(a,b)}disable(){(0,d.unregisterGlobal)(i,h.DiagAPI.instance()),this._proxyTracerProvider=new e.ProxyTracerProvider}}b.TraceAPI=j},277:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.deleteBaggage=b.setBaggage=b.getActiveBaggage=b.getBaggage=void 0;let d=c(491),e=(0,c(780).createContextKey)("OpenTelemetry Baggage Key");function f(a){return a.getValue(e)||void 0}b.getBaggage=f,b.getActiveBaggage=function(){return f(d.ContextAPI.getInstance().active())},b.setBaggage=function(a,b){return a.setValue(e,b)},b.deleteBaggage=function(a){return a.deleteValue(e)}},993:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.BaggageImpl=void 0;class c{constructor(a){this._entries=a?new Map(a):new Map}getEntry(a){let b=this._entries.get(a);if(b)return Object.assign({},b)}getAllEntries(){return Array.from(this._entries.entries()).map(([a,b])=>[a,b])}setEntry(a,b){let d=new c(this._entries);return d._entries.set(a,b),d}removeEntry(a){let b=new c(this._entries);return b._entries.delete(a),b}removeEntries(...a){let b=new c(this._entries);for(let c of a)b._entries.delete(c);return b}clear(){return new c}}b.BaggageImpl=c},830:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.baggageEntryMetadataSymbol=void 0,b.baggageEntryMetadataSymbol=Symbol("BaggageEntryMetadata")},369:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.baggageEntryMetadataFromString=b.createBaggage=void 0;let d=c(930),e=c(993),f=c(830),g=d.DiagAPI.instance();b.createBaggage=function(a={}){return new e.BaggageImpl(new Map(Object.entries(a)))},b.baggageEntryMetadataFromString=function(a){return"string"!=typeof a&&(g.error(`Cannot create baggage metadata from unknown type: ${typeof a}`),a=""),{__TYPE__:f.baggageEntryMetadataSymbol,toString:()=>a}}},67:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.context=void 0,b.context=c(491).ContextAPI.getInstance()},223:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.NoopContextManager=void 0;let d=c(780);class e{active(){return d.ROOT_CONTEXT}with(a,b,c,...d){return b.call(c,...d)}bind(a,b){return b}enable(){return this}disable(){return this}}b.NoopContextManager=e},780:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.ROOT_CONTEXT=b.createContextKey=void 0,b.createContextKey=function(a){return Symbol.for(a)};class c{constructor(a){let b=this;b._currentContext=a?new Map(a):new Map,b.getValue=a=>b._currentContext.get(a),b.setValue=(a,d)=>{let e=new c(b._currentContext);return e._currentContext.set(a,d),e},b.deleteValue=a=>{let d=new c(b._currentContext);return d._currentContext.delete(a),d}}}b.ROOT_CONTEXT=new c},506:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.diag=void 0,b.diag=c(930).DiagAPI.instance()},56:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.DiagComponentLogger=void 0;let d=c(172);class e{constructor(a){this._namespace=a.namespace||"DiagComponentLogger"}debug(...a){return f("debug",this._namespace,a)}error(...a){return f("error",this._namespace,a)}info(...a){return f("info",this._namespace,a)}warn(...a){return f("warn",this._namespace,a)}verbose(...a){return f("verbose",this._namespace,a)}}function f(a,b,c){let e=(0,d.getGlobal)("diag");if(e)return c.unshift(b),e[a](...c)}b.DiagComponentLogger=e},972:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.DiagConsoleLogger=void 0;let c=[{n:"error",c:"error"},{n:"warn",c:"warn"},{n:"info",c:"info"},{n:"debug",c:"debug"},{n:"verbose",c:"trace"}];class d{constructor(){for(let a=0;a<c.length;a++)this[c[a].n]=function(a){return function(...b){if(console){let c=console[a];if("function"!=typeof c&&(c=console.log),"function"==typeof c)return c.apply(console,b)}}}(c[a].c)}}b.DiagConsoleLogger=d},912:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.createLogLevelDiagLogger=void 0;let d=c(957);b.createLogLevelDiagLogger=function(a,b){function c(c,d){let e=b[c];return"function"==typeof e&&a>=d?e.bind(b):function(){}}return a<d.DiagLogLevel.NONE?a=d.DiagLogLevel.NONE:a>d.DiagLogLevel.ALL&&(a=d.DiagLogLevel.ALL),b=b||{},{error:c("error",d.DiagLogLevel.ERROR),warn:c("warn",d.DiagLogLevel.WARN),info:c("info",d.DiagLogLevel.INFO),debug:c("debug",d.DiagLogLevel.DEBUG),verbose:c("verbose",d.DiagLogLevel.VERBOSE)}}},957:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.DiagLogLevel=void 0,function(a){a[a.NONE=0]="NONE",a[a.ERROR=30]="ERROR",a[a.WARN=50]="WARN",a[a.INFO=60]="INFO",a[a.DEBUG=70]="DEBUG",a[a.VERBOSE=80]="VERBOSE",a[a.ALL=9999]="ALL"}(b.DiagLogLevel||(b.DiagLogLevel={}))},172:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.unregisterGlobal=b.getGlobal=b.registerGlobal=void 0;let d=c(200),e=c(521),f=c(130),g=e.VERSION.split(".")[0],h=Symbol.for(`opentelemetry.js.api.${g}`),i=d._globalThis;b.registerGlobal=function(a,b,c,d=!1){var f;let g=i[h]=null!=(f=i[h])?f:{version:e.VERSION};if(!d&&g[a]){let b=Error(`@opentelemetry/api: Attempted duplicate registration of API: ${a}`);return c.error(b.stack||b.message),!1}if(g.version!==e.VERSION){let b=Error(`@opentelemetry/api: Registration of version v${g.version} for ${a} does not match previously registered API v${e.VERSION}`);return c.error(b.stack||b.message),!1}return g[a]=b,c.debug(`@opentelemetry/api: Registered a global for ${a} v${e.VERSION}.`),!0},b.getGlobal=function(a){var b,c;let d=null==(b=i[h])?void 0:b.version;if(d&&(0,f.isCompatible)(d))return null==(c=i[h])?void 0:c[a]},b.unregisterGlobal=function(a,b){b.debug(`@opentelemetry/api: Unregistering a global for ${a} v${e.VERSION}.`);let c=i[h];c&&delete c[a]}},130:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.isCompatible=b._makeCompatibilityCheck=void 0;let d=c(521),e=/^(\d+)\.(\d+)\.(\d+)(-(.+))?$/;function f(a){let b=new Set([a]),c=new Set,d=a.match(e);if(!d)return()=>!1;let f={major:+d[1],minor:+d[2],patch:+d[3],prerelease:d[4]};if(null!=f.prerelease)return function(b){return b===a};function g(a){return c.add(a),!1}return function(a){if(b.has(a))return!0;if(c.has(a))return!1;let d=a.match(e);if(!d)return g(a);let h={major:+d[1],minor:+d[2],patch:+d[3],prerelease:d[4]};if(null!=h.prerelease||f.major!==h.major)return g(a);if(0===f.major)return f.minor===h.minor&&f.patch<=h.patch?(b.add(a),!0):g(a);return f.minor<=h.minor?(b.add(a),!0):g(a)}}b._makeCompatibilityCheck=f,b.isCompatible=f(d.VERSION)},886:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.metrics=void 0,b.metrics=c(653).MetricsAPI.getInstance()},901:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.ValueType=void 0,function(a){a[a.INT=0]="INT",a[a.DOUBLE=1]="DOUBLE"}(b.ValueType||(b.ValueType={}))},102:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.createNoopMeter=b.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC=b.NOOP_OBSERVABLE_GAUGE_METRIC=b.NOOP_OBSERVABLE_COUNTER_METRIC=b.NOOP_UP_DOWN_COUNTER_METRIC=b.NOOP_HISTOGRAM_METRIC=b.NOOP_COUNTER_METRIC=b.NOOP_METER=b.NoopObservableUpDownCounterMetric=b.NoopObservableGaugeMetric=b.NoopObservableCounterMetric=b.NoopObservableMetric=b.NoopHistogramMetric=b.NoopUpDownCounterMetric=b.NoopCounterMetric=b.NoopMetric=b.NoopMeter=void 0;class c{constructor(){}createHistogram(a,c){return b.NOOP_HISTOGRAM_METRIC}createCounter(a,c){return b.NOOP_COUNTER_METRIC}createUpDownCounter(a,c){return b.NOOP_UP_DOWN_COUNTER_METRIC}createObservableGauge(a,c){return b.NOOP_OBSERVABLE_GAUGE_METRIC}createObservableCounter(a,c){return b.NOOP_OBSERVABLE_COUNTER_METRIC}createObservableUpDownCounter(a,c){return b.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC}addBatchObservableCallback(a,b){}removeBatchObservableCallback(a){}}b.NoopMeter=c;class d{}b.NoopMetric=d;class e extends d{add(a,b){}}b.NoopCounterMetric=e;class f extends d{add(a,b){}}b.NoopUpDownCounterMetric=f;class g extends d{record(a,b){}}b.NoopHistogramMetric=g;class h{addCallback(a){}removeCallback(a){}}b.NoopObservableMetric=h;class i extends h{}b.NoopObservableCounterMetric=i;class j extends h{}b.NoopObservableGaugeMetric=j;class k extends h{}b.NoopObservableUpDownCounterMetric=k,b.NOOP_METER=new c,b.NOOP_COUNTER_METRIC=new e,b.NOOP_HISTOGRAM_METRIC=new g,b.NOOP_UP_DOWN_COUNTER_METRIC=new f,b.NOOP_OBSERVABLE_COUNTER_METRIC=new i,b.NOOP_OBSERVABLE_GAUGE_METRIC=new j,b.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC=new k,b.createNoopMeter=function(){return b.NOOP_METER}},660:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.NOOP_METER_PROVIDER=b.NoopMeterProvider=void 0;let d=c(102);class e{getMeter(a,b,c){return d.NOOP_METER}}b.NoopMeterProvider=e,b.NOOP_METER_PROVIDER=new e},200:function(a,b,c){var d=this&&this.__createBinding||(Object.create?function(a,b,c,d){void 0===d&&(d=c),Object.defineProperty(a,d,{enumerable:!0,get:function(){return b[c]}})}:function(a,b,c,d){void 0===d&&(d=c),a[d]=b[c]}),e=this&&this.__exportStar||function(a,b){for(var c in a)"default"===c||Object.prototype.hasOwnProperty.call(b,c)||d(b,a,c)};Object.defineProperty(b,"__esModule",{value:!0}),e(c(46),b)},651:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b._globalThis=void 0,b._globalThis="object"==typeof globalThis?globalThis:global},46:function(a,b,c){var d=this&&this.__createBinding||(Object.create?function(a,b,c,d){void 0===d&&(d=c),Object.defineProperty(a,d,{enumerable:!0,get:function(){return b[c]}})}:function(a,b,c,d){void 0===d&&(d=c),a[d]=b[c]}),e=this&&this.__exportStar||function(a,b){for(var c in a)"default"===c||Object.prototype.hasOwnProperty.call(b,c)||d(b,a,c)};Object.defineProperty(b,"__esModule",{value:!0}),e(c(651),b)},939:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.propagation=void 0,b.propagation=c(181).PropagationAPI.getInstance()},874:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.NoopTextMapPropagator=void 0;class c{inject(a,b){}extract(a,b){return a}fields(){return[]}}b.NoopTextMapPropagator=c},194:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.defaultTextMapSetter=b.defaultTextMapGetter=void 0,b.defaultTextMapGetter={get(a,b){if(null!=a)return a[b]},keys:a=>null==a?[]:Object.keys(a)},b.defaultTextMapSetter={set(a,b,c){null!=a&&(a[b]=c)}}},845:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.trace=void 0,b.trace=c(997).TraceAPI.getInstance()},403:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.NonRecordingSpan=void 0;let d=c(476);class e{constructor(a=d.INVALID_SPAN_CONTEXT){this._spanContext=a}spanContext(){return this._spanContext}setAttribute(a,b){return this}setAttributes(a){return this}addEvent(a,b){return this}setStatus(a){return this}updateName(a){return this}end(a){}isRecording(){return!1}recordException(a,b){}}b.NonRecordingSpan=e},614:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.NoopTracer=void 0;let d=c(491),e=c(607),f=c(403),g=c(139),h=d.ContextAPI.getInstance();class i{startSpan(a,b,c=h.active()){var d;if(null==b?void 0:b.root)return new f.NonRecordingSpan;let i=c&&(0,e.getSpanContext)(c);return"object"==typeof(d=i)&&"string"==typeof d.spanId&&"string"==typeof d.traceId&&"number"==typeof d.traceFlags&&(0,g.isSpanContextValid)(i)?new f.NonRecordingSpan(i):new f.NonRecordingSpan}startActiveSpan(a,b,c,d){let f,g,i;if(arguments.length<2)return;2==arguments.length?i=b:3==arguments.length?(f=b,i=c):(f=b,g=c,i=d);let j=null!=g?g:h.active(),k=this.startSpan(a,f,j),l=(0,e.setSpan)(j,k);return h.with(l,i,void 0,k)}}b.NoopTracer=i},124:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.NoopTracerProvider=void 0;let d=c(614);class e{getTracer(a,b,c){return new d.NoopTracer}}b.NoopTracerProvider=e},125:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.ProxyTracer=void 0;let d=new(c(614)).NoopTracer;class e{constructor(a,b,c,d){this._provider=a,this.name=b,this.version=c,this.options=d}startSpan(a,b,c){return this._getTracer().startSpan(a,b,c)}startActiveSpan(a,b,c,d){let e=this._getTracer();return Reflect.apply(e.startActiveSpan,e,arguments)}_getTracer(){if(this._delegate)return this._delegate;let a=this._provider.getDelegateTracer(this.name,this.version,this.options);return a?(this._delegate=a,this._delegate):d}}b.ProxyTracer=e},846:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.ProxyTracerProvider=void 0;let d=c(125),e=new(c(124)).NoopTracerProvider;class f{getTracer(a,b,c){var e;return null!=(e=this.getDelegateTracer(a,b,c))?e:new d.ProxyTracer(this,a,b,c)}getDelegate(){var a;return null!=(a=this._delegate)?a:e}setDelegate(a){this._delegate=a}getDelegateTracer(a,b,c){var d;return null==(d=this._delegate)?void 0:d.getTracer(a,b,c)}}b.ProxyTracerProvider=f},996:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.SamplingDecision=void 0,function(a){a[a.NOT_RECORD=0]="NOT_RECORD",a[a.RECORD=1]="RECORD",a[a.RECORD_AND_SAMPLED=2]="RECORD_AND_SAMPLED"}(b.SamplingDecision||(b.SamplingDecision={}))},607:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.getSpanContext=b.setSpanContext=b.deleteSpan=b.setSpan=b.getActiveSpan=b.getSpan=void 0;let d=c(780),e=c(403),f=c(491),g=(0,d.createContextKey)("OpenTelemetry Context Key SPAN");function h(a){return a.getValue(g)||void 0}function i(a,b){return a.setValue(g,b)}b.getSpan=h,b.getActiveSpan=function(){return h(f.ContextAPI.getInstance().active())},b.setSpan=i,b.deleteSpan=function(a){return a.deleteValue(g)},b.setSpanContext=function(a,b){return i(a,new e.NonRecordingSpan(b))},b.getSpanContext=function(a){var b;return null==(b=h(a))?void 0:b.spanContext()}},325:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.TraceStateImpl=void 0;let d=c(564);class e{constructor(a){this._internalState=new Map,a&&this._parse(a)}set(a,b){let c=this._clone();return c._internalState.has(a)&&c._internalState.delete(a),c._internalState.set(a,b),c}unset(a){let b=this._clone();return b._internalState.delete(a),b}get(a){return this._internalState.get(a)}serialize(){return this._keys().reduce((a,b)=>(a.push(b+"="+this.get(b)),a),[]).join(",")}_parse(a){!(a.length>512)&&(this._internalState=a.split(",").reverse().reduce((a,b)=>{let c=b.trim(),e=c.indexOf("=");if(-1!==e){let f=c.slice(0,e),g=c.slice(e+1,b.length);(0,d.validateKey)(f)&&(0,d.validateValue)(g)&&a.set(f,g)}return a},new Map),this._internalState.size>32&&(this._internalState=new Map(Array.from(this._internalState.entries()).reverse().slice(0,32))))}_keys(){return Array.from(this._internalState.keys()).reverse()}_clone(){let a=new e;return a._internalState=new Map(this._internalState),a}}b.TraceStateImpl=e},564:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.validateValue=b.validateKey=void 0;let c="[_0-9a-z-*/]",d=`[a-z]${c}{0,255}`,e=`[a-z0-9]${c}{0,240}@[a-z]${c}{0,13}`,f=RegExp(`^(?:${d}|${e})$`),g=/^[ -~]{0,255}[!-~]$/,h=/,|=/;b.validateKey=function(a){return f.test(a)},b.validateValue=function(a){return g.test(a)&&!h.test(a)}},98:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.createTraceState=void 0;let d=c(325);b.createTraceState=function(a){return new d.TraceStateImpl(a)}},476:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.INVALID_SPAN_CONTEXT=b.INVALID_TRACEID=b.INVALID_SPANID=void 0;let d=c(475);b.INVALID_SPANID="0000000000000000",b.INVALID_TRACEID="00000000000000000000000000000000",b.INVALID_SPAN_CONTEXT={traceId:b.INVALID_TRACEID,spanId:b.INVALID_SPANID,traceFlags:d.TraceFlags.NONE}},357:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.SpanKind=void 0,function(a){a[a.INTERNAL=0]="INTERNAL",a[a.SERVER=1]="SERVER",a[a.CLIENT=2]="CLIENT",a[a.PRODUCER=3]="PRODUCER",a[a.CONSUMER=4]="CONSUMER"}(b.SpanKind||(b.SpanKind={}))},139:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.wrapSpanContext=b.isSpanContextValid=b.isValidSpanId=b.isValidTraceId=void 0;let d=c(476),e=c(403),f=/^([0-9a-f]{32})$/i,g=/^[0-9a-f]{16}$/i;function h(a){return f.test(a)&&a!==d.INVALID_TRACEID}function i(a){return g.test(a)&&a!==d.INVALID_SPANID}b.isValidTraceId=h,b.isValidSpanId=i,b.isSpanContextValid=function(a){return h(a.traceId)&&i(a.spanId)},b.wrapSpanContext=function(a){return new e.NonRecordingSpan(a)}},847:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.SpanStatusCode=void 0,function(a){a[a.UNSET=0]="UNSET",a[a.OK=1]="OK",a[a.ERROR=2]="ERROR"}(b.SpanStatusCode||(b.SpanStatusCode={}))},475:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.TraceFlags=void 0,function(a){a[a.NONE=0]="NONE",a[a.SAMPLED=1]="SAMPLED"}(b.TraceFlags||(b.TraceFlags={}))},521:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.VERSION=void 0,b.VERSION="1.6.0"}},c={};function d(a){var e=c[a];if(void 0!==e)return e.exports;var f=c[a]={exports:{}},g=!0;try{b[a].call(f.exports,f,f.exports,d),g=!1}finally{g&&delete c[a]}return f.exports}d.ab=__dirname+"/";var e={};(()=>{Object.defineProperty(e,"__esModule",{value:!0}),e.trace=e.propagation=e.metrics=e.diag=e.context=e.INVALID_SPAN_CONTEXT=e.INVALID_TRACEID=e.INVALID_SPANID=e.isValidSpanId=e.isValidTraceId=e.isSpanContextValid=e.createTraceState=e.TraceFlags=e.SpanStatusCode=e.SpanKind=e.SamplingDecision=e.ProxyTracerProvider=e.ProxyTracer=e.defaultTextMapSetter=e.defaultTextMapGetter=e.ValueType=e.createNoopMeter=e.DiagLogLevel=e.DiagConsoleLogger=e.ROOT_CONTEXT=e.createContextKey=e.baggageEntryMetadataFromString=void 0;var a=d(369);Object.defineProperty(e,"baggageEntryMetadataFromString",{enumerable:!0,get:function(){return a.baggageEntryMetadataFromString}});var b=d(780);Object.defineProperty(e,"createContextKey",{enumerable:!0,get:function(){return b.createContextKey}}),Object.defineProperty(e,"ROOT_CONTEXT",{enumerable:!0,get:function(){return b.ROOT_CONTEXT}});var c=d(972);Object.defineProperty(e,"DiagConsoleLogger",{enumerable:!0,get:function(){return c.DiagConsoleLogger}});var f=d(957);Object.defineProperty(e,"DiagLogLevel",{enumerable:!0,get:function(){return f.DiagLogLevel}});var g=d(102);Object.defineProperty(e,"createNoopMeter",{enumerable:!0,get:function(){return g.createNoopMeter}});var h=d(901);Object.defineProperty(e,"ValueType",{enumerable:!0,get:function(){return h.ValueType}});var i=d(194);Object.defineProperty(e,"defaultTextMapGetter",{enumerable:!0,get:function(){return i.defaultTextMapGetter}}),Object.defineProperty(e,"defaultTextMapSetter",{enumerable:!0,get:function(){return i.defaultTextMapSetter}});var j=d(125);Object.defineProperty(e,"ProxyTracer",{enumerable:!0,get:function(){return j.ProxyTracer}});var k=d(846);Object.defineProperty(e,"ProxyTracerProvider",{enumerable:!0,get:function(){return k.ProxyTracerProvider}});var l=d(996);Object.defineProperty(e,"SamplingDecision",{enumerable:!0,get:function(){return l.SamplingDecision}});var m=d(357);Object.defineProperty(e,"SpanKind",{enumerable:!0,get:function(){return m.SpanKind}});var n=d(847);Object.defineProperty(e,"SpanStatusCode",{enumerable:!0,get:function(){return n.SpanStatusCode}});var o=d(475);Object.defineProperty(e,"TraceFlags",{enumerable:!0,get:function(){return o.TraceFlags}});var p=d(98);Object.defineProperty(e,"createTraceState",{enumerable:!0,get:function(){return p.createTraceState}});var q=d(139);Object.defineProperty(e,"isSpanContextValid",{enumerable:!0,get:function(){return q.isSpanContextValid}}),Object.defineProperty(e,"isValidTraceId",{enumerable:!0,get:function(){return q.isValidTraceId}}),Object.defineProperty(e,"isValidSpanId",{enumerable:!0,get:function(){return q.isValidSpanId}});var r=d(476);Object.defineProperty(e,"INVALID_SPANID",{enumerable:!0,get:function(){return r.INVALID_SPANID}}),Object.defineProperty(e,"INVALID_TRACEID",{enumerable:!0,get:function(){return r.INVALID_TRACEID}}),Object.defineProperty(e,"INVALID_SPAN_CONTEXT",{enumerable:!0,get:function(){return r.INVALID_SPAN_CONTEXT}});let s=d(67);Object.defineProperty(e,"context",{enumerable:!0,get:function(){return s.context}});let t=d(506);Object.defineProperty(e,"diag",{enumerable:!0,get:function(){return t.diag}});let u=d(886);Object.defineProperty(e,"metrics",{enumerable:!0,get:function(){return u.metrics}});let v=d(939);Object.defineProperty(e,"propagation",{enumerable:!0,get:function(){return v.propagation}});let w=d(845);Object.defineProperty(e,"trace",{enumerable:!0,get:function(){return w.trace}}),e.default={context:s.context,diag:t.diag,metrics:u.metrics,propagation:v.propagation,trace:w.trace}})(),a.exports=e})()},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},30598:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{getSortedRouteObjects:function(){return d.getSortedRouteObjects},getSortedRoutes:function(){return d.getSortedRoutes},isDynamicRoute:function(){return e.isDynamicRoute}});let d=c(34476),e=c(81626)},31421:a=>{"use strict";a.exports=require("node:child_process")},31730:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"LRUCache",{enumerable:!0,get:function(){return e}});class c{constructor(a,b,c){this.prev=null,this.next=null,this.key=a,this.data=b,this.size=c}}class d{constructor(){this.prev=null,this.next=null}}class e{constructor(a,b,c){this.cache=new Map,this.totalSize=0,this.maxSize=a,this.calculateSize=b,this.onEvict=c,this.head=new d,this.tail=new d,this.head.next=this.tail,this.tail.prev=this.head}addToHead(a){a.prev=this.head,a.next=this.head.next,this.head.next.prev=a,this.head.next=a}removeNode(a){a.prev.next=a.next,a.next.prev=a.prev}moveToHead(a){this.removeNode(a),this.addToHead(a)}removeTail(){let a=this.tail.prev;return this.removeNode(a),a}set(a,b){let d=(null==this.calculateSize?void 0:this.calculateSize.call(this,b))??1;if(d<=0)throw Object.defineProperty(Error(`LRUCache: calculateSize returned ${d}, but size must be > 0. Items with size 0 would never be evicted, causing unbounded cache growth.`),"__NEXT_ERROR_CODE",{value:"E789",enumerable:!1,configurable:!0});if(d>this.maxSize)return console.warn("Single item size exceeds maxSize"),!1;let e=this.cache.get(a);if(e)e.data=b,this.totalSize=this.totalSize-e.size+d,e.size=d,this.moveToHead(e);else{let e=new c(a,b,d);this.cache.set(a,e),this.addToHead(e),this.totalSize+=d}for(;this.totalSize>this.maxSize&&this.cache.size>0;){let a=this.removeTail();this.cache.delete(a.key),this.totalSize-=a.size,null==this.onEvict||this.onEvict.call(this,a.key,a.data)}return!0}has(a){return this.cache.has(a)}get(a){let b=this.cache.get(a);if(b)return this.moveToHead(b),b.data}*[Symbol.iterator](){let a=this.head.next;for(;a&&a!==this.tail;){let b=a;yield[b.key,b.data],a=a.next}}remove(a){let b=this.cache.get(a);b&&(this.removeNode(b),this.cache.delete(a),this.totalSize-=b.size)}get size(){return this.cache.size}get currentSize(){return this.totalSize}}},31910:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"addPathPrefix",{enumerable:!0,get:function(){return e}});let d=c(2213);function e(a,b){if(!a.startsWith("/")||!b)return a;let{pathname:c,query:e,hash:f}=(0,d.parsePath)(a);return""+b+c+e+f}},32198:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return g}});let d=c(50931),e=c(97857),f=c(58871);class g{static #a=this.EMPTY=new g(null,{metadata:{},contentType:null});static fromStatic(a,b){return new g(a,{metadata:{},contentType:b})}constructor(a,{contentType:b,waitUntil:c,metadata:d}){this.response=a,this.contentType=b,this.metadata=d,this.waitUntil=c}assignMetadata(a){Object.assign(this.metadata,a)}get isNull(){return null===this.response}get isDynamic(){return"string"!=typeof this.response}toUnchunkedString(a=!1){if(null===this.response)return"";if("string"!=typeof this.response){if(!a)throw Object.defineProperty(new f.InvariantError("dynamic responses cannot be unchunked. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E732",enumerable:!1,configurable:!0});return(0,d.streamToString)(this.readable)}return this.response}get readable(){return null===this.response?new ReadableStream({start(a){a.close()}}):"string"==typeof this.response?(0,d.streamFromString)(this.response):Buffer.isBuffer(this.response)?(0,d.streamFromBuffer)(this.response):Array.isArray(this.response)?(0,d.chainStreams)(...this.response):this.response}coerce(){return null===this.response?[]:"string"==typeof this.response?[(0,d.streamFromString)(this.response)]:Array.isArray(this.response)?this.response:Buffer.isBuffer(this.response)?[(0,d.streamFromBuffer)(this.response)]:[this.response]}unshift(a){this.response=this.coerce(),this.response.unshift(a)}push(a){this.response=this.coerce(),this.response.push(a)}async pipeTo(a){try{await this.readable.pipeTo(a,{preventClose:!0}),this.waitUntil&&await this.waitUntil,await a.close()}catch(b){if((0,e.isAbortError)(b))return void await a.abort(b);throw b}}async pipeToNodeResponse(a){await (0,e.pipeToNodeResponse)(this.readable,a,this.waitUntil)}}},32244:(a,b,c)=>{"use strict";c.d(b,{K:()=>l,r:()=>k});var d=c(31421),e=c(83498),f=c(684);function g(){let a=Number(process.env.MADARX_TOOL_OUTPUT_MAX_BYTES||5e4);return!Number.isFinite(a)||a<=0?5e4:Math.min(5e4,Math.floor(a))}function h(a){return(0,f.nc)(String(a||"").slice(0,g()))}function i(a,b){let c=g();return a.length>=c?a:a+String(b).slice(0,c-a.length)}function j(a,b){try{if(a.pid&&"win32"!==process.platform)return void process.kill(-a.pid,b)}catch(a){if(a?.code!=="ESRCH")throw a;return}a.kill(b)}function k(a={}){let b=String(a.script||"").trim();if(!b)throw Error("script is required");if(b.length>2e4)throw Error(`script is too large: ${b.length} chars; max 20000`);let c=Math.max(1e3,Math.min(6e5,Number(a.timeout_ms||12e4)||12e4));return{command:String(process.env.MADARX_BROWSER_HARNESS_BIN||"browser-harness-hermes"),script:b,timeoutMs:c}}async function l(a={}){let{command:b,script:c,timeoutMs:f}=k(a),g=Date.now();return await new Promise(a=>{let k="",l="",m=!1,n=!1,o=null,p=(0,d.spawn)(b,[],{cwd:(0,e.wn)(e.QG,e.un),shell:!1,detached:"win32"!==process.platform,stdio:["pipe","pipe","pipe"],env:Object.fromEntries(["PATH","HOME","USER","LOGNAME","TMPDIR","LANG","LC_ALL","BU_CDP_URL","BU_CDP_PORT","BU_CHROME_PROFILE"].filter(a=>process.env[a]).map(a=>[a,process.env[a]]))}),q=setTimeout(()=>{m=!0,j(p,"SIGTERM"),o=setTimeout(()=>{n||j(p,"SIGKILL")},2e3)},f);p.stdout.on("data",a=>{k=i(k,a)}),p.stderr.on("data",a=>{l=i(l,a)}),p.on("error",c=>{n||(n=!0,clearTimeout(q),o&&clearTimeout(o),a({ok:!1,tool:"browser_harness_run",status:"failed",command:b,error:c.message,stdout:h(k),stderr:h(l),duration_ms:Date.now()-g}))}),p.on("close",(c,d)=>{if(n)return;n=!0,clearTimeout(q),o&&clearTimeout(o);let e=m?"timeout":d?"failed":0===c?"complete":"failed";a({ok:0===c&&!d&&!m,tool:"browser_harness_run",status:e,command:b,exit_code:c,signal:d,stdout:h(k),stderr:h(l),duration_ms:Date.now()-g})}),p.stdin.end(`${c}
|
|
404
|
+
`).all(d),k=a.prepare("SELECT COUNT(*) n FROM mines_source_documents WHERE project_id = ?").get(d).n,l=a.prepare("SELECT COUNT(*) n FROM mines_document_chunks WHERE project_id = ?").get(d).n,p=b=>a.prepare("SELECT price_usd, price_unit, source FROM mines_market_snapshots WHERE lower(commodity)=lower(?) ORDER BY fetched_at DESC LIMIT 1").get(b),r=p("Cu"),t=p("Ag"),u=a.prepare("SELECT scenario, assumptions_json, result_json FROM mines_valuation_scenarios WHERE project_id = ? AND scenario LIKE 'operator_%' ORDER BY scenario").all(d);f.push(`**Prepared by:** MadarX OS \xb7 Mines | **Date:** ${g} | **Project:** \`${d}\``),f.push(`**Asset stage:** ${b.asset_stage} | **Commodity:** ${b.commodity||"Cu"} | **Jurisdiction:** ${b.state_province||"Sonora"}, ${b.country}`),f.push(""),f.push("> This memorandum is generated by autonomous agents from the project document archive and structured database. Every figure traces to a source document, a database aggregate, or a labelled estimate. Figures attributed to an operator scenario are conceptual and are **not** mineral resources."),f.push(""),f.push("## 1. Executive summary"),f.push("");let v=s(e,"deposit_type"),w=s(e,"asset_stage"),x=q(c,"exec_summary");x&&(f.push(x),f.push("")),v&&f.push(`- **Deposit type:** ${v.text} ${v.cite}`);let y=q(c,"thesis");y&&(f.push(`**Investment thesis.** ${y}`),f.push("")),w&&f.push(`- **Stage / resource status:** ${w.text} ${w.cite}`),i?.n&&f.push(`- **Drilling to date:** ${i.n} holes for ${o(i.m)} m [DrillHole aggregate]`),h?.n&&f.push(`- **Surface geochemistry:** ${h.n} trench channel samples averaging ${m(h.avg_cu,3)}% Cu [AssaySample aggregate]`),f.push(`- **Definitive valuation:** Not available — no declared resource. See \xa76 for a labelled operator scenario.`),f.push(""),f.push("## 2. Project overview"),f.push("");{let a=q(c,"overview");a&&(f.push(a),f.push(""))}for(let a of["property","mineralization","asset_stage"]){let b=s(e,a);b&&f.push(`- **${a.replace(/_/g," ")}:** ${b.text} ${b.cite}`)}f.push(""),f.push("## 3. Geology & mineralization"),f.push("");{let a=q(c,"geology");a&&(f.push(a),f.push(""))}for(let a of["deposit_type","geophysics"]){let b=s(e,a);b&&f.push(`- **${a.replace(/_/g," ")}:** ${b.text} ${b.cite}`)}f.push("");let z=[...e.keys()].filter(a=>a.startsWith("target_")).sort();if(z.length){for(let a of(f.push("### Defined targets"),f.push(""),z)){let b=(e.get(a)||[])[0];b&&f.push(`- **${a.replace("target_","").replace(/_/g," ")}:** ${b.value_text} [ExtractedFact:${b.id}${b.page_or_location?`, ${b.page_or_location}`:""}]`)}f.push("")}f.push("## 4. Exploration results"),f.push("");{let a=q(c,"exploration");a&&(f.push(a),f.push(""))}let A=s(e,"drilling_summary");if(A&&f.push(`${A.text} ${A.cite}`),f.push(""),j.length){for(let a of(f.push("**Best drill intercepts (Cu \xd7 width ranked):**"),f.push(""),f.push("| Interval | Width (m) | Cu % | Ag g/t | CuEq % |"),f.push("|----------|-----------|------|--------|--------|"),j)){let b={};try{b=JSON.parse(a.other_grades_json||"{}")}catch{}f.push(`| \`${a.sample_id}\` | ${o(a.width_m,1)} | ${m(a.cu_pct,3)} | ${null!=a.ag_ppm?m(a.ag_ppm,1):"—"} | ${null!=b.cueq_pct?m(b.cueq_pct,3):"—"} |`)}f.push(""),f.push("_[AssaySample drill_core rows; CuEq per source-report formula]_"),f.push("")}let B=s(e,"trenching_summary");B&&(f.push(`${B.text} ${B.cite}`),f.push(""));let C=[...e.keys()].filter(a=>a.startsWith("comparable_")).sort();if(C.length){f.push("## 5. Comparable assets (analogues in the same belt)"),f.push("");{let a=q(c,"comparables");a&&(f.push(a),f.push(""))}for(let a of C){let b=(e.get(a)||[])[0];b&&f.push(`- **${a.replace("comparable_","").replace(/_/g," ")}:** ${b.value_text} [ExtractedFact:${b.id}${b.page_or_location?`, ${b.page_or_location}`:""}]`)}f.push(""),f.push("_Analogues establish the geological model and the in-ground value range for a successful porphyry discovery in this belt. They are not a prediction of Batamote tonnage or grade._"),f.push("")}if(f.push("## 6. Valuation framework & indicative scenario"),f.push(""),f.push("No mineral resource has been declared for the project, therefore **no definitive (T1 in-situ or T2 DCF) valuation is produced** — the system does not assign tonnage or value to undefined mineralization. The figures below are a **conceptual operator scenario**, not a mineral resource and not a valuation opinion."),f.push(""),(r||t)&&(f.push(`**Metal price basis:** ${r?`Cu ${n(r.price_usd)}/lb`:""}${r&&t?" \xb7 ":""}${t?`Ag ${n(t.price_usd)}/oz`:""} (${r?.source||t?.source||"snapshot"}).`),f.push("")),u.length){for(let a of(f.push("| Scenario | Target tonnage | Cu grade | Indicative in-situ value |"),f.push("|----------|----------------|----------|--------------------------|"),u)){let b={},c={};try{b=JSON.parse(a.assumptions_json||"{}")}catch{}try{c=JSON.parse(a.result_json||"{}")}catch{}let d=a.scenario.replace("operator_","");f.push(`| ${d} | ${o(b.resource_tonnes)} t | ${m(b.grade_cu_pct,3)}% | ${n(c.in_situ_value_usd)} |`)}f.push(""),f.push("> **CONCEPTUAL EXPLORATION TARGET — IMPORTANT.** The tonnage and grade above are an operator-supplied conceptual exploration target expressed as a range. They are conceptual in nature; there has been insufficient exploration to define a mineral resource; and it is uncertain whether further exploration will result in the target being delineated as a mineral resource. These figures must not be construed as a mineral resource or a mineral reserve, and the in-situ values are an order-of-magnitude indication of exploration optionality only."),f.push("")}f.push("## 7. Data inventory & quality control"),f.push(""),f.push(`- **Documents catalogued:** ${o(k)} files across the project archive.`),f.push(`- **Text chunks indexed:** ${o(l)} for retrieval.`),i?.n&&f.push(`- **Structured drill holes:** ${i.n}; **trench assays:** ${h?.n||0}; **drill intercepts:** ${j.length}.`);let D=s(e,"qa_qc");D&&f.push(`- **QA/QC:** ${D.text} ${D.cite}`);let E=s(e,"data_verification");E&&f.push(`- **Data verification:** ${E.text} ${E.cite}`),f.push(""),f.push("## 8. Risk register"),f.push("");{let a=q(c,"risk_intro");a&&(f.push(a),f.push(""))}f.push("| Risk | Severity | Mitigation |"),f.push("|------|----------|------------|"),f.push("| No declared mineral resource (exploration risk) | High | Maiden resource drill program at El Choclo NW / Bata Sur |"),f.push("| Grade continuity not yet demonstrated at depth | Medium | Infill + step-out drilling; clay-alteration vectoring |"),f.push("| Metal price volatility | Medium | Long-dated optionality; copper structural demand |"),f.push("| Permitting / surface rights (Sonora) | Medium | Confirm tenure & community agreements in legal DD |"),f.push("| Data provenance (historic operators) | Low–Med | Teck data verified vs lab certificates; re-log key holes |"),f.push(""),f.push("## 9. Recommended work program"),f.push("");let F=s(e,"work_program");F&&(f.push(`${F.text} ${F.cite}`),f.push(""));let G=q(c,"recommendation");return G&&(f.push("_Indicative next-phase program (MadarX planning view, not from the technical report):_"),f.push(""),f.push(G),f.push("")),f.push("## 10. Limitations & disclaimers"),f.push(""),f.push("Structured figures are transcribed/extracted from the project NI 43-101 technical report and archive; comparable-asset figures are from public S-K 1300 reports referenced therein. Metal prices are dated market snapshots. The operator scenario is conceptual and not a mineral resource. This memorandum is decision-support analysis, not a qualified person's valuation opinion, and does not constitute investment advice."),f.push(""),f.push("---"),f.push("_Generated by `mines_report_generate` (due_diligence_memo). Numeric claims trace to `mines_extracted_facts`, SQL aggregates, or persisted `mines_valuation_scenarios` rows._"),{markdown:f.join("\n"),facts_cited:[...e.values()].reduce((a,b)=>a+b.length,0),comparables:C.length,targets:z.length,scenario_rows:u.length}}(w,y,B);c=a.markdown,d=`Investment Diligence Memo — ${y.name}`,z={facts_cited:a.facts_cited,comparables:a.comparables,targets:a.targets,scenario_rows:a.scenario_rows}}else if("pfs_readiness_report"===l){let a=function(a,b,c={}){let d=b.id,e=function(a,b){let c=new Set(a.prepare("SELECT DISTINCT fact_type FROM mines_extracted_facts WHERE project_id = ?").all(b).map(a=>a.fact_type)),d=(...a)=>[...c].some(b=>a.some(a=>b===a||b.startsWith(`${a}_`)||b.includes(a))),e=a.prepare("SELECT COUNT(*) n, SUM(total_depth_m) m FROM mines_drill_holes WHERE project_id = ?").get(b),f=a.prepare("SELECT COUNT(*) n FROM mines_assay_samples WHERE project_id = ?").get(b),g=a.prepare("SELECT COUNT(*) n FROM mines_source_documents WHERE project_id = ?").get(b).n,h=a.prepare("SELECT COUNT(*) n FROM mines_document_chunks WHERE project_id = ?").get(b).n,i=[...c].filter(a=>a.startsWith("target_")).length,j=[...c].filter(a=>a.startsWith("comparable_")).length,k=a.prepare("SELECT COUNT(*) n FROM mines_valuation_scenarios WHERE project_id = ? AND scenario NOT LIKE 'operator_%'").get(b).n,l=a.prepare("SELECT COUNT(*) n FROM mines_valuation_scenarios WHERE project_id = ? AND scenario LIKE 'operator_%'").get(b).n,m=d("mineral_resource","resource_estimate","resource_statement","resource_classification","measured_indicated"),n=d("mineral_reserve","reserve_estimate","proven","probable"),o=d("metallurg","recovery","met_testwork","processing"),p=d("mine_plan","production_schedule","mining_method","pit","geotech"),q=d("capex","opex","cost_estimate","aisc"),r=d("market","price_deck","offtake")||a.prepare("SELECT COUNT(*) n FROM mines_market_snapshots").get().n>0,s=c.has("qa_qc"),t=c.has("data_verification"),u=d("deposit_type","mineralization","geophysics","property")||i>0,v=(e?.n||0)>0||d("drilling_summary","trenching_summary");return{factTypes:c,drill:e,assay:f,docCount:g,chunkCount:h,targets:i,comparables:j,indicativeScenarios:k,conceptualScenarios:l,hasResource:m,hasReserve:n,hasMetTestwork:o,hasMinePlan:p,hasCostEstimate:q,hasMarket:r,hasQaQc:s,hasDataVerification:t,hasGeology:u,hasDrilling:v}}(a,d),f=[],g=new Date().toISOString().slice(0,10),h=e.hasResource&&e.hasReserve;f.push(`**Prepared by:** MadarX OS \xb7 Mines | **Date:** ${g} | **Project:** \`${d}\``),f.push(`**Asset stage:** ${b.asset_stage} | **Commodity:** ${b.commodity||"n/a"} | **Jurisdiction:** ${b.state_province||"n/a"}, ${b.country||"n/a"}`),f.push(""),f.push("> **This is a PFS-READINESS ASSESSMENT, not a Pre-Feasibility Study.** A PFS requires a Mineral Reserve converted from Measured & Indicated Resources (no Inferred), with Modifying Factors, a mine plan, recovery testwork, and capex/opex to \xb125% (AACE Class 4), each signed off by a competent QP/CP. This report measures the asset against that standard, inventories the data that exists (every count traces to a database row), and lists the gaps and work program required to reach PFS confidence. It does **not** declare a resource, a reserve, or any figure the source data does not contain."),f.push(""),f.push("## 1. Readiness verdict"),f.push("");{let a=q(c,"verdict");a&&(f.push(a),f.push(""))}h?f.push("**A Mineral Reserve appears to exist in the dataset.** A PFS may be supportable — proceed to the section-by-section coverage below to confirm each discipline meets PFS confidence, then route reserve/economics work to the valuation analyst and a competent QP."):e.hasResource&&!e.hasReserve?f.push("**A Mineral Resource is present but no Mineral Reserve has been declared.** A PFS is **not yet supportable**. The defining PFS step — conversion of Measured & Indicated Resources to a Proven/Probable Reserve via Modifying Factors (template \xa715) — has not been done. This is the critical path."):(f.push("**No Mineral Resource is declared for this asset.** A PFS is **not supportable and must not be produced.** Per the PFS contract (template \xa71, checklist gate G3) reserves derive from Measured & Indicated Resources only — and there is no resource to convert. The asset sits at an **exploration / scoping** confidence level. The work below maps a path from exploration data to a maiden resource, and from there toward PFS."),e.conceptualScenarios>0&&(f.push(""),f.push(`> The project carries ${e.conceptualScenarios} conceptual operator scenario(s) in \`mines_valuation_scenarios\`. These are exploration-target order-of-magnitude figures, **not** a mineral resource, and cannot seed a reserve or a PFS economic case.`))),f.push("");let i=e.hasResource?x.ready:e.hasDrilling&&(e.hasQaQc||e.hasDataVerification)||e.hasGeology?x.partial:x.gap,j=e.hasMinePlan&&e.hasMetTestwork?x.ready:e.hasMinePlan||e.hasMetTestwork?x.partial:x.gap,k=e.hasReserve?x.ready:e.hasResource?x.gap:x.blocked,l=e.hasReserve&&e.hasCostEstimate?x.ready:e.hasReserve?x.partial:x.blocked,m=h?x.partial:x.blocked;f.push("## 2. Decision-gate status"),f.push(""),f.push("_Gates are sequential (template \xa72). A downstream gate is `Blocked` until its prerequisite passes — no amount of work on a later gate substitutes for the gate before it._"),f.push(""),f.push("| Gate | Requirement | Status |"),f.push("|------|-------------|--------|"),f.push(`| **G0** Study launch | Charter, code, scope, QPs, budget, gates fixed | ${x.gap} (no study charter in dataset) |`),f.push(`| **G1** Geological foundation | DB validated; QA/QC documented; M/I/I classified; RPEEE shown | ${i} |`),f.push(`| **G2** Options / trade-off | Mining method, process route, tailings, power/water selected | ${j} |`),f.push(`| **G3** Reserve declaration | M&I only; no Inferred; dilution & losses; Modifying Factors | ${k} |`),f.push(`| **G4** Estimate & economics | Capex/opex \xb125%; ~15% contingency; reserve-based model | ${l} |`),f.push(`| **G5** Assurance & disclosure | Risk register, fatal-flaw + independent review, QP sign-offs | ${m} |`),f.push("");let n=a=>a?x.partial:x.gap,p=[["1–3 \xb7 Summary / Introduction / Reliance",e.docCount>0,`${o(e.docCount)} source documents catalogued`],["4 \xb7 Property Description & Location",e.factTypes.has("property"),e.factTypes.has("property")?"property fact present":"no tenure/location fact extracted"],["5 \xb7 Accessibility, Climate, Infrastructure",!1,"not extracted — requires site/infrastructure data"],["6 \xb7 History",e.factTypes.has("deposit_type")||e.docCount>0,"historic archive present"],["7 \xb7 Geological Setting & Mineralization",e.hasGeology,e.hasGeology?`geology facts + ${e.targets} target(s)`:"no geology facts"],["8 \xb7 Deposit Types",e.factTypes.has("deposit_type"),e.factTypes.has("deposit_type")?"deposit_type fact present":"no deposit_type fact"],["9–10 \xb7 Exploration & Drilling",e.hasDrilling,`${e.drill?.n||0} drill holes; drilling/trenching summaries`],["11–12 \xb7 Sampling, Analyses, Data Verification",e.hasQaQc||e.hasDataVerification,`${e.assay?.n||0} assay samples; QA/QC=${e.hasQaQc}; verification=${e.hasDataVerification}`],["13 \xb7 Mineral Processing & Metallurgical Testing",e.hasMetTestwork,e.hasMetTestwork?"testwork present":"no metallurgical testwork — required for recovery model"],["14 \xb7 Mineral Resource Estimate",e.hasResource,e.hasResource?"resource present":"NO RESOURCE — blocks reserve & economics"],["15 \xb7 Mineral Reserve Estimate (defining PFS section)",e.hasReserve,e.hasReserve?"reserve present":"NO RESERVE — the PFS cannot exist without this"],["16 \xb7 Mining Methods",e.hasMinePlan,e.hasMinePlan?"mine-plan/geotech facts present":"no mine plan / geotechnical model"],["17 \xb7 Recovery Methods",e.hasMetTestwork,e.hasMetTestwork?"derived from testwork":"blocked on metallurgical testwork"],["18 \xb7 Project Infrastructure",!1,"not extracted — power/water/tailings/access required"],["19 \xb7 Market Studies & Contracts",e.hasMarket,e.hasMarket?"market snapshots/facts present":"no price deck / offtake"],["20 \xb7 Environmental, Permitting, Social",!1,"not extracted — baseline/permitting register required"],["21 \xb7 Capital & Operating Costs",e.hasCostEstimate,e.hasCostEstimate?"cost facts present":"no capex/opex estimate (need AACE Class 4)"],["22 \xb7 Economic Analysis",e.hasReserve&&e.hasCostEstimate,"requires a reserve-based model"],["23 \xb7 Adjacent Properties",e.comparables>0,`${e.comparables} comparable asset(s)`],["25–26 \xb7 Interpretation, Conclusions & Recommendations",e.docCount>0,"authored from the above"]];for(let[a,b,c]of(f.push("## 3. PFS section coverage (NI 43-101 body)"),f.push(""),f.push("| Section | Status | Evidence in dataset |"),f.push("|---------|--------|---------------------|"),p)){let d=a.startsWith("14 ")?e.hasResource?x.ready:x.gap:a.startsWith("15 ")?e.hasReserve?x.ready:e.hasResource?x.gap:x.blocked:n(b);f.push(`| ${a} | ${d} | ${c} |`)}for(let[a,b]of(f.push(""),f.push("_Status is computed from `mines_extracted_facts` types and SQL aggregates — a `Gap` means the data type is absent from the database, not that it was judged inadequate._"),f.push(""),f.push("## 4. The PFS contract (must all hold to declare a PFS)"),f.push(""),[["Reserves from Measured & Indicated only (no Inferred)",e.hasReserve],["Dilution & mining losses incorporated",e.hasReserve&&e.hasMinePlan],["Modifying Factors formally applied & documented",e.hasReserve],["Capex/opex \xb125%, ~15% contingency, AACE Class 4",e.hasCostEstimate],["Reserve-based financial model, positive across a downside",e.hasReserve&&e.hasCostEstimate],["Each discipline signed off by a competent QP/CP",h]]))f.push(`- [${b?"x":" "}] ${a}`);f.push(""),h||f.push("Until every box is checked, the asset is **pre-PFS**. The earliest unchecked box on the critical path is where work must start (see \xa76)."),f.push(""),f.push("## 5. Data inventory"),f.push(""),f.push(`- **Documents catalogued:** ${o(e.docCount)} \xb7 **text chunks indexed:** ${o(e.chunkCount)}`),f.push(`- **Structured drill holes:** ${e.drill?.n||0}${e.drill?.m?` for ${o(e.drill.m)} m`:""} \xb7 **assay samples:** ${e.assay?.n||0}`),f.push(`- **Extracted fact types:** ${e.factTypes.size} \xb7 **defined targets:** ${e.targets} \xb7 **comparables:** ${e.comparables}`),f.push(`- **Valuation scenarios:** ${e.indicativeScenarios} indicative (T1/T2 runs) \xb7 ${e.conceptualScenarios} conceptual operator-target — neither is a declared resource`),f.push(""),f.push("_Counts are read directly from `mines_source_documents`, `mines_document_chunks`, `mines_drill_holes`, `mines_assay_samples`, `mines_extracted_facts`, and `mines_valuation_scenarios`._"),f.push(""),f.push("## 6. Critical-path gaps (ordered)"),f.push("");{let a=q(c,"gap_intro");a&&(f.push(a),f.push(""))}let r=[];e.hasResource||r.push("**Maiden Mineral Resource estimate** — the single hard blocker. Requires sufficient drill density, QA/QC-validated assays, density data, domaining, a block model, classification (M/I/I), and RPEEE within a constraining shape. Until this exists, no reserve, no economics, no PFS."),e.hasMetTestwork||r.push("**Metallurgical testwork** — representative samples across lithology/alteration/oxidation/depth/grade; a recovery model by domain (not a single point). Blocks \xa713/\xa717."),e.hasResource&&!e.hasMinePlan&&r.push("**Mine plan & geotechnical model** — method/pit-configuration trade-off, slope/support parameters, production schedule. Required before reserve conversion."),e.hasResource&&!e.hasReserve&&r.push("**Reserve conversion (\xa715)** — apply Modifying Factors to M&I, incorporate dilution & mining losses, derive Proven/Probable. This is the defining PFS step."),e.hasCostEstimate||r.push("**Capex/opex estimate to \xb125% (AACE Class 4)** — formal Basis of Estimate, vendor budget quotes on major items, ~15% risk-based contingency. Blocks \xa721/\xa722."),r.push("**Infrastructure, water & tailings study** — power/water/access; site water balance; tailings option + GISTM alignment; confirm no fatal flaw."),r.push("**Environmental / permitting / social baseline** — multi-season baseline, permitting register on the critical path, closure cost flowed to the model."),r.push("**Competent QP/CP sign-off per discipline** — and an independent / peer technical review before any disclosure."),r.forEach((a,b)=>f.push(`${b+1}. ${a}`)),f.push(""),f.push("## 7. Recommended work program to reach PFS"),f.push("");let s=a.prepare("SELECT id, value_text, page_or_location FROM mines_extracted_facts WHERE project_id = ? AND fact_type = 'work_program' LIMIT 1").get(d);s&&(f.push(`${s.value_text} [ExtractedFact:${s.id}${s.page_or_location?`, ${s.page_or_location}`:""}]`),f.push(""));let t=q(c,"work_program")||q(c,"recommendation");return t?(f.push("_Indicative phased program (MadarX planning view, not from the technical report):_"),f.push(""),f.push(t),f.push("")):s||(f.push("Phase the program to the gate sequence above: (1) resource-definition drilling → maiden resource (G1); (2) metallurgical testwork + mining/geotech trade-off (G2); (3) reserve conversion with Modifying Factors (G3); (4) Class 4 cost estimate + reserve-based model (G4); (5) risk, independent review, QP sign-off (G5). Budget and schedule each phase before launch."),f.push("")),f.push("## 8. Limitations & disclaimers"),f.push(""),f.push("This is a readiness assessment generated by autonomous agents from the project database and document archive. Statuses reflect the **presence** of data types, not a competent person's judgement of their adequacy. The absence of a resource/reserve in the database is reported as a gap, never filled with an estimate. This document is decision-support analysis; it is not a Pre-Feasibility Study, not a qualified person's opinion, and does not constitute investment advice. Producing an actual PFS requires the work program above and competent-person sign-off under the applicable reporting code (NI 43-101 / S-K 1300 / JORC)."),f.push(""),f.push("---"),f.push("_Generated by `mines_report_generate` (pfs_readiness_report). Gate/section statuses derive from `mines_extracted_facts` types and SQL aggregates; no figure is asserted that the source data does not contain. Rubric: `docs/mines/pfs-best-practice-template.md` + `pfs-best-practice-checklist.md`._"),{markdown:f.join("\n"),pfs_feasible:h,has_resource:e.hasResource,has_reserve:e.hasReserve,gaps_count:r.length,fact_types:e.factTypes.size,documents:e.docCount}}(w,y,B);c=a.markdown,d=`PFS-Readiness Assessment — ${y.name}`,z={pfs_feasible:a.pfs_feasible,has_resource:a.has_resource,has_reserve:a.has_reserve,gaps_count:a.gaps_count,fact_types:a.fact_types,documents:a.documents}}else{let a=await r(w,y,B);c=a.markdown,d=`Interpretation Memo — ${y.name}`,z={numeric_claims_count:a.numeric_claims_count,chunk_citations_count:a.chunk_citations_count,retrieval_mode:a.retrieval_mode}}let C=(0,k.Om)([a?.space_id,y.default_space_id],{fallback:null}),D=function(a,b){let c=a.prepare("SELECT os_project_id FROM mines_projects WHERE id = ?").get(b);return c?.os_project_id||null}(w,h);try{for(let a of C?w.prepare("SELECT id FROM artifacts WHERE title = ? AND space_id = ?").all(d,C):w.prepare("SELECT id FROM artifacts WHERE title = ? AND project_id = ?").all(d,D||"personal"))try{(0,f.CM)(a.id)}catch{}}catch{}let E=(0,f.Dg)({title:d,kind:A,content:c,project_id:D,agent_id:b.agent_id||null,space_id:C,dedupe_key:""});if(C&&!E.deduped)try{(0,k.h5)(E.artifact_id,C)}catch{}try{(0,i.pQ)({user_id:b.acting_on_behalf_of_user_id||b.user_id||"system",org_id:"personal-org",action:"mines.report.generated",status:"success",summary:`Generated ${l} for ${y.name}`,action_target_id:E.artifact_id,action_target_type:"artifact",meta:{project_id:h,report_kind:l,artifact_id:E.artifact_id,...z}})}catch{}return{status:"ok",artifact_id:E.artifact_id,report_kind:l,space_id:C,chunk_citations_count:z.chunk_citations_count??0,...z}}d()}catch(a){d(a)}})},27746:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{X:()=>t,Z6:()=>p,dd:()=>n,mr:()=>r,sq:()=>q,sv:()=>o,vO:()=>s});var e=c(73024),f=c(76760),g=c(42382),h=c(67354),i=c(684),j=a([g,h]);[g,h]=j.then?(await j)():j;let u=new Set([".git","node_modules",".next","data"]);function k(a,b,c={}){(0,g.appendAudit)({type:`local.${a}`,summary:`${a} ${b}`,status:b,meta:c})}function l(a,b,c){return(0,h.D6)({action_type:a,risk:"medium",summary:`${a} requested for ${c}`,payload:{input:{...b,content:b.content?`[${String(b.content).length} chars]`:void 0},path:c}})}function m(a){return b=>b.path===a}async function n(a={}){let{path:b}=(0,i.hC)(a.path),c=Number(process.env.MADARX_FILE_READ_MAX_BYTES||1e5),d=e.statSync(b);if(!d.isFile())throw Error("Path is not a file");if(d.size>c)throw Error(`File too large: ${d.size} bytes`);let f=e.readFileSync(b,"utf8").split(/\r?\n/),g=Math.max(1,Number(a.offset||1)),h=Math.max(1,Math.min(2e3,Number(a.limit||500))),j=f.slice(g-1,g-1+h).join("\n");return k("file_read","complete",{path:b,bytes:Buffer.byteLength(j)}),{ok:!0,tool:"file_read",path:b,content:(0,i.nc)(j),metadata:{line_count:f.length,offset:g,limit:h}}}async function o(a={}){let{path:b}=(0,i.hC)(a.path||"."),c=Math.max(1,Math.min(500,Number(a.limit||100))),d=[];for(let a of e.readdirSync(b,{withFileTypes:!0})){if(d.length>=c)break;try{(0,i.hC)(f.join(b,a.name))}catch{continue}u.has(a.name)||d.push({name:a.name,type:a.isDirectory()?"directory":a.isFile()?"file":"other"})}return k("directory_list","complete",{path:b,count:d.length}),{ok:!0,tool:"directory_list",path:b,entries:d,metadata:{count:d.length}}}function p(a={}){let{path:b}=(0,i.hC)(a.path);if((0,i.Oe)(b))throw Error(`Write access denied: path is under a read-only root: ${a.path}`);return{absPath:b}}async function q(a={},b={}){let{absPath:c}=p(a);if(!b.owner_trusted&&!(0,h.v)(a.approval_id,{action_type:"file_write",matches:m(c)})){let b=l("file_write",a,c);return{ok:!1,status:"approval_required",approval_request_id:b.id,reason:"File writes require approval"}}return!1!==a.create_dirs&&e.mkdirSync(f.dirname(c),{recursive:!0}),e.writeFileSync(c,String(a.content??""),"utf8"),k("file_write","complete",{path:c}),{ok:!0,tool:"file_write",path:c,metadata:{bytes:Buffer.byteLength(String(a.content??""))}}}function r(a={}){let{path:b}=(0,i.hC)(a.path);if((0,i.Oe)(b))throw Error(`Write access denied: path is under a read-only root: ${a.path}`);let c=String(a.old_string??"");if(!c)throw Error("old_string is required");let d=e.readFileSync(b,"utf8"),f=d.split(c).length-1;if(!f)throw Error("old_string not found");if(f>1&&!a.replace_all)throw Error("old_string is ambiguous");return{absPath:b,content:d,matches:f,oldString:c}}async function s(a={},b={}){let{absPath:c,content:d,matches:f,oldString:g}=r(a),i=String(a.new_string??"");if(!b.owner_trusted&&!(0,h.v)(a.approval_id,{action_type:"file_patch",matches:m(c)})){let b=l("file_patch",{...a,new_string:`[${i.length} chars]`},c);return{ok:!1,status:"approval_required",approval_request_id:b.id,reason:"File patches require approval"}}return e.writeFileSync(c,a.replace_all?d.split(g).join(i):d.replace(g,i),"utf8"),k("file_patch","complete",{path:c,replacements:a.replace_all?f:1}),{ok:!0,tool:"file_patch",path:c,metadata:{replacements:a.replace_all?f:1}}}async function t(a={}){let{path:b}=(0,i.hC)(a.path||"."),c=String(a.pattern||"");if(!c)throw Error("pattern is required");let d=Math.max(1,Math.min(200,Number(a.limit||50))),g=RegExp(c.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"i"),h=a.target||"content",j=a.file_glob?String(a.file_glob):null,l=j?RegExp("^"+j.split("*").map(a=>a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join(".*")+"$","i"):null,m=[];for(let a of function a(b,c=[],d=1e3){if(c.length>=d)return c;for(let g of e.readdirSync(b,{withFileTypes:!0})){if(u.has(g.name))continue;let e=f.join(b,g.name);if(g.isDirectory()?a(e,c,d):g.isFile()&&c.push(e),c.length>=d)break}return c}(b,[],5e3)){if(m.length>=d)break;try{(0,i.hC)(a)}catch{continue}if(!l||l.test(f.basename(a))){if("path"===h||"name"===h){g.test("name"===h?f.basename(a):a)&&m.push({path:a});continue}e.statSync(a).size>25e4||/\.sqlite/.test(a)||/^\.env/.test(f.basename(a))||e.readFileSync(a,"utf8").split(/\r?\n/).forEach((b,c)=>{m.length<d&&g.test(b)&&m.push({path:a,line:c+1,text:(0,i.nc)(b)})})}}return k("file_search","complete",{path:b,count:m.length}),{ok:!0,tool:"file_search",path:b,results:m,metadata:{count:m.length}}}d()}catch(a){d(a)}})},27806:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{decryptActionBoundArgs:function(){return s},encryptActionBoundArgs:function(){return r}}),c(95818);let d=c(83183),e=c(51318),f=c(50931),g=c(54210),h=c(63033),i=c(90151),j=function(a){return a&&a.__esModule?a:{default:a}}(c(46204)),k=new TextEncoder,l=new TextDecoder,m=void 0,n=void 0;async function o(a,b){let c=await (0,g.getActionEncryptionKey)();if(void 0===c)throw Object.defineProperty(Error("Missing encryption key for Server Action. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E65",enumerable:!1,configurable:!0});let d=atob(b),e=d.slice(0,16),f=d.slice(16),h=l.decode(await (0,g.decrypt)(c,(0,g.stringToUint8Array)(e),(0,g.stringToUint8Array)(f)));if(!h.startsWith(a))throw Object.defineProperty(Error("Invalid Server Action payload: failed to decrypt."),"__NEXT_ERROR_CODE",{value:"E191",enumerable:!1,configurable:!0});return h.slice(a.length)}async function p(a,b){let c=await (0,g.getActionEncryptionKey)();if(void 0===c)throw Object.defineProperty(Error("Missing encryption key for Server Action. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E65",enumerable:!1,configurable:!0});let d=new Uint8Array(16);h.workUnitAsyncStorage.exit(()=>crypto.getRandomValues(d));let e=(0,g.arrayBufferToString)(d.buffer),f=await (0,g.encrypt)(c,d,k.encode(a+b));return btoa(e+(0,g.arrayBufferToString)(f))}var q=function(a){return a[a.Ready=0]="Ready",a[a.Pending=1]="Pending",a[a.Complete=2]="Complete",a}(q||{});let r=j.default.cache(async function a(b,...c){let e=h.workUnitAsyncStorage.getStore(),j=e?(0,h.getCacheSignal)(e):void 0,{clientModules:k}=(0,g.getClientReferenceManifestForRsc)(),l=Error();Error.captureStackTrace(l,a);let n=!1,o=e?(0,i.createHangingInputAbortSignal)(e):void 0,q=0;function r(){0===q&&(q=1,null==j||j.beginRead())}function s(){1===q&&(null==j||j.endRead()),q=2}o&&j&&o.addEventListener("abort",r,{once:!0});let t=await (0,f.streamToString)((0,d.renderToReadableStream)(c,k,{filterStackFrame:m,signal:o,onError(a){(null==o||!o.aborted)&&(n||(n=!0,l.message=a instanceof Error?a.message:String(a)))}}),o);if(n)throw s(),l;if(!e)return p(b,t);r();let u=(0,h.getPrerenderResumeDataCache)(e),v=(0,h.getRenderResumeDataCache)(e),w=b+t,x=(null==u?void 0:u.encryptedBoundArgs.get(w))??(null==v?void 0:v.encryptedBoundArgs.get(w));if(x)return x;let y=await p(b,t);return s(),null==u||u.encryptedBoundArgs.set(w,y),y});async function s(a,b){let c,d=await b,f=h.workUnitAsyncStorage.getStore();if(f){let b=(0,h.getCacheSignal)(f),e=(0,h.getPrerenderResumeDataCache)(f),g=(0,h.getRenderResumeDataCache)(f);(c=(null==e?void 0:e.decryptedBoundArgs.get(d))??(null==g?void 0:g.decryptedBoundArgs.get(d)))||(null==b||b.beginRead(),c=await o(a,d),null==b||b.endRead(),null==e||e.decryptedBoundArgs.set(d,c))}else c=await o(a,d);let{edgeRscModuleMapping:i,rscModuleMapping:j}=(0,g.getClientReferenceManifestForRsc)();return await (0,e.createFromReadableStream)(new ReadableStream({start(a){switch(a.enqueue(k.encode(c)),null==f?void 0:f.type){case"prerender":case"prerender-runtime":f.renderSignal.aborted?a.close():f.renderSignal.addEventListener("abort",()=>a.close(),{once:!0});break;case"prerender-client":case"prerender-ppr":case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":case void 0:return a.close()}}}),{findSourceMapURL:n,serverConsumerManifest:{moduleLoading:null,moduleMap:j,serverModuleMap:(0,g.getServerModuleMap)()}})}},28354:a=>{"use strict";a.exports=require("util")},28838:(a,b,c)=>{"use strict";c.d(b,{Qw:()=>m,U5:()=>l});var d=c(76760),e=c(80099);let f=Object.freeze(["strict","balanced","permissive"]),g="strict",h="MADARX_PRINTING_PRESS_SECURITY_MODE",i=new Set,j=null,k=0;function l(a){let b=a??function(){let a=Date.now();if(a-k<1500)return j;try{let a=process.env.MADARX_DATA_DIR||process.env.VILLA515_DATA_DIR,b=a?d.resolve(a):process.env.MADARX_HOME?d.join(d.resolve(process.env.MADARX_HOME),"data"):d.resolve(process.cwd(),"data"),c=d.join(b,"madarx.sqlite"),f=new e.DatabaseSync(c,{readOnly:!0});try{let a=f.prepare("SELECT value FROM config WHERE key = ?").get("printing_press_security_mode_override");j=a?.value||null}finally{f.close()}}catch{j=null}return k=a,j}()??process.env[h];if(!b)return g;let c=String(b).trim().toLowerCase();return f.includes(c)?c:(i.has(c)||(i.add(c),console.warn(`[printing-press] Unknown ${h}="${b}" — defaulting to "${g}".`)),g)}function m(a){let b=f.includes(a)?a:g;return"strict"===b?Object.freeze({mode:"strict",force_approval:!0,allowlist_default_allow:!1,allow_network_write_clis:!1,allow_mcp_mount:!1,rate_limit_multiplier:1,production_safe:!0,warn_in_production:!1,allow_install_at_runtime:!0,banner:"red",banner_message:"Strict mode: every Printing Press action requires explicit approval."}):"balanced"===b?Object.freeze({mode:"balanced",force_approval:!1,allowlist_default_allow:!1,allow_network_write_clis:!0,allow_mcp_mount:!0,rate_limit_multiplier:2,production_safe:!0,warn_in_production:!0,allow_install_at_runtime:!0,banner:"amber",banner_message:"Balanced mode: trust-mode rules apply. Allowlist still default-deny."}):Object.freeze({mode:"permissive",force_approval:!1,allowlist_default_allow:!0,allow_network_write_clis:!0,allow_mcp_mount:!0,rate_limit_multiplier:5,production_safe:!1,warn_in_production:!0,allow_install_at_runtime:!0,banner:"grey",banner_message:"Permissive mode: only suitable for sandboxes. Not allowed in production."})}},29089:a=>{(()=>{"use strict";var b={491:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.ContextAPI=void 0;let d=c(223),e=c(172),f=c(930),g="context",h=new d.NoopContextManager;class i{constructor(){}static getInstance(){return this._instance||(this._instance=new i),this._instance}setGlobalContextManager(a){return(0,e.registerGlobal)(g,a,f.DiagAPI.instance())}active(){return this._getContextManager().active()}with(a,b,c,...d){return this._getContextManager().with(a,b,c,...d)}bind(a,b){return this._getContextManager().bind(a,b)}_getContextManager(){return(0,e.getGlobal)(g)||h}disable(){this._getContextManager().disable(),(0,e.unregisterGlobal)(g,f.DiagAPI.instance())}}b.ContextAPI=i},930:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.DiagAPI=void 0;let d=c(56),e=c(912),f=c(957),g=c(172);class h{constructor(){function a(a){return function(...b){let c=(0,g.getGlobal)("diag");if(c)return c[a](...b)}}let b=this;b.setLogger=(a,c={logLevel:f.DiagLogLevel.INFO})=>{var d,h,i;if(a===b){let a=Error("Cannot use diag as the logger for itself. Please use a DiagLogger implementation like ConsoleDiagLogger or a custom implementation");return b.error(null!=(d=a.stack)?d:a.message),!1}"number"==typeof c&&(c={logLevel:c});let j=(0,g.getGlobal)("diag"),k=(0,e.createLogLevelDiagLogger)(null!=(h=c.logLevel)?h:f.DiagLogLevel.INFO,a);if(j&&!c.suppressOverrideMessage){let a=null!=(i=Error().stack)?i:"<failed to generate stacktrace>";j.warn(`Current logger will be overwritten from ${a}`),k.warn(`Current logger will overwrite one already registered from ${a}`)}return(0,g.registerGlobal)("diag",k,b,!0)},b.disable=()=>{(0,g.unregisterGlobal)("diag",b)},b.createComponentLogger=a=>new d.DiagComponentLogger(a),b.verbose=a("verbose"),b.debug=a("debug"),b.info=a("info"),b.warn=a("warn"),b.error=a("error")}static instance(){return this._instance||(this._instance=new h),this._instance}}b.DiagAPI=h},653:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.MetricsAPI=void 0;let d=c(660),e=c(172),f=c(930),g="metrics";class h{constructor(){}static getInstance(){return this._instance||(this._instance=new h),this._instance}setGlobalMeterProvider(a){return(0,e.registerGlobal)(g,a,f.DiagAPI.instance())}getMeterProvider(){return(0,e.getGlobal)(g)||d.NOOP_METER_PROVIDER}getMeter(a,b,c){return this.getMeterProvider().getMeter(a,b,c)}disable(){(0,e.unregisterGlobal)(g,f.DiagAPI.instance())}}b.MetricsAPI=h},181:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.PropagationAPI=void 0;let d=c(172),e=c(874),f=c(194),g=c(277),h=c(369),i=c(930),j="propagation",k=new e.NoopTextMapPropagator;class l{constructor(){this.createBaggage=h.createBaggage,this.getBaggage=g.getBaggage,this.getActiveBaggage=g.getActiveBaggage,this.setBaggage=g.setBaggage,this.deleteBaggage=g.deleteBaggage}static getInstance(){return this._instance||(this._instance=new l),this._instance}setGlobalPropagator(a){return(0,d.registerGlobal)(j,a,i.DiagAPI.instance())}inject(a,b,c=f.defaultTextMapSetter){return this._getGlobalPropagator().inject(a,b,c)}extract(a,b,c=f.defaultTextMapGetter){return this._getGlobalPropagator().extract(a,b,c)}fields(){return this._getGlobalPropagator().fields()}disable(){(0,d.unregisterGlobal)(j,i.DiagAPI.instance())}_getGlobalPropagator(){return(0,d.getGlobal)(j)||k}}b.PropagationAPI=l},997:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.TraceAPI=void 0;let d=c(172),e=c(846),f=c(139),g=c(607),h=c(930),i="trace";class j{constructor(){this._proxyTracerProvider=new e.ProxyTracerProvider,this.wrapSpanContext=f.wrapSpanContext,this.isSpanContextValid=f.isSpanContextValid,this.deleteSpan=g.deleteSpan,this.getSpan=g.getSpan,this.getActiveSpan=g.getActiveSpan,this.getSpanContext=g.getSpanContext,this.setSpan=g.setSpan,this.setSpanContext=g.setSpanContext}static getInstance(){return this._instance||(this._instance=new j),this._instance}setGlobalTracerProvider(a){let b=(0,d.registerGlobal)(i,this._proxyTracerProvider,h.DiagAPI.instance());return b&&this._proxyTracerProvider.setDelegate(a),b}getTracerProvider(){return(0,d.getGlobal)(i)||this._proxyTracerProvider}getTracer(a,b){return this.getTracerProvider().getTracer(a,b)}disable(){(0,d.unregisterGlobal)(i,h.DiagAPI.instance()),this._proxyTracerProvider=new e.ProxyTracerProvider}}b.TraceAPI=j},277:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.deleteBaggage=b.setBaggage=b.getActiveBaggage=b.getBaggage=void 0;let d=c(491),e=(0,c(780).createContextKey)("OpenTelemetry Baggage Key");function f(a){return a.getValue(e)||void 0}b.getBaggage=f,b.getActiveBaggage=function(){return f(d.ContextAPI.getInstance().active())},b.setBaggage=function(a,b){return a.setValue(e,b)},b.deleteBaggage=function(a){return a.deleteValue(e)}},993:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.BaggageImpl=void 0;class c{constructor(a){this._entries=a?new Map(a):new Map}getEntry(a){let b=this._entries.get(a);if(b)return Object.assign({},b)}getAllEntries(){return Array.from(this._entries.entries()).map(([a,b])=>[a,b])}setEntry(a,b){let d=new c(this._entries);return d._entries.set(a,b),d}removeEntry(a){let b=new c(this._entries);return b._entries.delete(a),b}removeEntries(...a){let b=new c(this._entries);for(let c of a)b._entries.delete(c);return b}clear(){return new c}}b.BaggageImpl=c},830:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.baggageEntryMetadataSymbol=void 0,b.baggageEntryMetadataSymbol=Symbol("BaggageEntryMetadata")},369:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.baggageEntryMetadataFromString=b.createBaggage=void 0;let d=c(930),e=c(993),f=c(830),g=d.DiagAPI.instance();b.createBaggage=function(a={}){return new e.BaggageImpl(new Map(Object.entries(a)))},b.baggageEntryMetadataFromString=function(a){return"string"!=typeof a&&(g.error(`Cannot create baggage metadata from unknown type: ${typeof a}`),a=""),{__TYPE__:f.baggageEntryMetadataSymbol,toString:()=>a}}},67:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.context=void 0,b.context=c(491).ContextAPI.getInstance()},223:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.NoopContextManager=void 0;let d=c(780);class e{active(){return d.ROOT_CONTEXT}with(a,b,c,...d){return b.call(c,...d)}bind(a,b){return b}enable(){return this}disable(){return this}}b.NoopContextManager=e},780:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.ROOT_CONTEXT=b.createContextKey=void 0,b.createContextKey=function(a){return Symbol.for(a)};class c{constructor(a){let b=this;b._currentContext=a?new Map(a):new Map,b.getValue=a=>b._currentContext.get(a),b.setValue=(a,d)=>{let e=new c(b._currentContext);return e._currentContext.set(a,d),e},b.deleteValue=a=>{let d=new c(b._currentContext);return d._currentContext.delete(a),d}}}b.ROOT_CONTEXT=new c},506:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.diag=void 0,b.diag=c(930).DiagAPI.instance()},56:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.DiagComponentLogger=void 0;let d=c(172);class e{constructor(a){this._namespace=a.namespace||"DiagComponentLogger"}debug(...a){return f("debug",this._namespace,a)}error(...a){return f("error",this._namespace,a)}info(...a){return f("info",this._namespace,a)}warn(...a){return f("warn",this._namespace,a)}verbose(...a){return f("verbose",this._namespace,a)}}function f(a,b,c){let e=(0,d.getGlobal)("diag");if(e)return c.unshift(b),e[a](...c)}b.DiagComponentLogger=e},972:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.DiagConsoleLogger=void 0;let c=[{n:"error",c:"error"},{n:"warn",c:"warn"},{n:"info",c:"info"},{n:"debug",c:"debug"},{n:"verbose",c:"trace"}];class d{constructor(){for(let a=0;a<c.length;a++)this[c[a].n]=function(a){return function(...b){if(console){let c=console[a];if("function"!=typeof c&&(c=console.log),"function"==typeof c)return c.apply(console,b)}}}(c[a].c)}}b.DiagConsoleLogger=d},912:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.createLogLevelDiagLogger=void 0;let d=c(957);b.createLogLevelDiagLogger=function(a,b){function c(c,d){let e=b[c];return"function"==typeof e&&a>=d?e.bind(b):function(){}}return a<d.DiagLogLevel.NONE?a=d.DiagLogLevel.NONE:a>d.DiagLogLevel.ALL&&(a=d.DiagLogLevel.ALL),b=b||{},{error:c("error",d.DiagLogLevel.ERROR),warn:c("warn",d.DiagLogLevel.WARN),info:c("info",d.DiagLogLevel.INFO),debug:c("debug",d.DiagLogLevel.DEBUG),verbose:c("verbose",d.DiagLogLevel.VERBOSE)}}},957:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.DiagLogLevel=void 0,function(a){a[a.NONE=0]="NONE",a[a.ERROR=30]="ERROR",a[a.WARN=50]="WARN",a[a.INFO=60]="INFO",a[a.DEBUG=70]="DEBUG",a[a.VERBOSE=80]="VERBOSE",a[a.ALL=9999]="ALL"}(b.DiagLogLevel||(b.DiagLogLevel={}))},172:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.unregisterGlobal=b.getGlobal=b.registerGlobal=void 0;let d=c(200),e=c(521),f=c(130),g=e.VERSION.split(".")[0],h=Symbol.for(`opentelemetry.js.api.${g}`),i=d._globalThis;b.registerGlobal=function(a,b,c,d=!1){var f;let g=i[h]=null!=(f=i[h])?f:{version:e.VERSION};if(!d&&g[a]){let b=Error(`@opentelemetry/api: Attempted duplicate registration of API: ${a}`);return c.error(b.stack||b.message),!1}if(g.version!==e.VERSION){let b=Error(`@opentelemetry/api: Registration of version v${g.version} for ${a} does not match previously registered API v${e.VERSION}`);return c.error(b.stack||b.message),!1}return g[a]=b,c.debug(`@opentelemetry/api: Registered a global for ${a} v${e.VERSION}.`),!0},b.getGlobal=function(a){var b,c;let d=null==(b=i[h])?void 0:b.version;if(d&&(0,f.isCompatible)(d))return null==(c=i[h])?void 0:c[a]},b.unregisterGlobal=function(a,b){b.debug(`@opentelemetry/api: Unregistering a global for ${a} v${e.VERSION}.`);let c=i[h];c&&delete c[a]}},130:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.isCompatible=b._makeCompatibilityCheck=void 0;let d=c(521),e=/^(\d+)\.(\d+)\.(\d+)(-(.+))?$/;function f(a){let b=new Set([a]),c=new Set,d=a.match(e);if(!d)return()=>!1;let f={major:+d[1],minor:+d[2],patch:+d[3],prerelease:d[4]};if(null!=f.prerelease)return function(b){return b===a};function g(a){return c.add(a),!1}return function(a){if(b.has(a))return!0;if(c.has(a))return!1;let d=a.match(e);if(!d)return g(a);let h={major:+d[1],minor:+d[2],patch:+d[3],prerelease:d[4]};if(null!=h.prerelease||f.major!==h.major)return g(a);if(0===f.major)return f.minor===h.minor&&f.patch<=h.patch?(b.add(a),!0):g(a);return f.minor<=h.minor?(b.add(a),!0):g(a)}}b._makeCompatibilityCheck=f,b.isCompatible=f(d.VERSION)},886:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.metrics=void 0,b.metrics=c(653).MetricsAPI.getInstance()},901:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.ValueType=void 0,function(a){a[a.INT=0]="INT",a[a.DOUBLE=1]="DOUBLE"}(b.ValueType||(b.ValueType={}))},102:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.createNoopMeter=b.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC=b.NOOP_OBSERVABLE_GAUGE_METRIC=b.NOOP_OBSERVABLE_COUNTER_METRIC=b.NOOP_UP_DOWN_COUNTER_METRIC=b.NOOP_HISTOGRAM_METRIC=b.NOOP_COUNTER_METRIC=b.NOOP_METER=b.NoopObservableUpDownCounterMetric=b.NoopObservableGaugeMetric=b.NoopObservableCounterMetric=b.NoopObservableMetric=b.NoopHistogramMetric=b.NoopUpDownCounterMetric=b.NoopCounterMetric=b.NoopMetric=b.NoopMeter=void 0;class c{constructor(){}createHistogram(a,c){return b.NOOP_HISTOGRAM_METRIC}createCounter(a,c){return b.NOOP_COUNTER_METRIC}createUpDownCounter(a,c){return b.NOOP_UP_DOWN_COUNTER_METRIC}createObservableGauge(a,c){return b.NOOP_OBSERVABLE_GAUGE_METRIC}createObservableCounter(a,c){return b.NOOP_OBSERVABLE_COUNTER_METRIC}createObservableUpDownCounter(a,c){return b.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC}addBatchObservableCallback(a,b){}removeBatchObservableCallback(a){}}b.NoopMeter=c;class d{}b.NoopMetric=d;class e extends d{add(a,b){}}b.NoopCounterMetric=e;class f extends d{add(a,b){}}b.NoopUpDownCounterMetric=f;class g extends d{record(a,b){}}b.NoopHistogramMetric=g;class h{addCallback(a){}removeCallback(a){}}b.NoopObservableMetric=h;class i extends h{}b.NoopObservableCounterMetric=i;class j extends h{}b.NoopObservableGaugeMetric=j;class k extends h{}b.NoopObservableUpDownCounterMetric=k,b.NOOP_METER=new c,b.NOOP_COUNTER_METRIC=new e,b.NOOP_HISTOGRAM_METRIC=new g,b.NOOP_UP_DOWN_COUNTER_METRIC=new f,b.NOOP_OBSERVABLE_COUNTER_METRIC=new i,b.NOOP_OBSERVABLE_GAUGE_METRIC=new j,b.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC=new k,b.createNoopMeter=function(){return b.NOOP_METER}},660:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.NOOP_METER_PROVIDER=b.NoopMeterProvider=void 0;let d=c(102);class e{getMeter(a,b,c){return d.NOOP_METER}}b.NoopMeterProvider=e,b.NOOP_METER_PROVIDER=new e},200:function(a,b,c){var d=this&&this.__createBinding||(Object.create?function(a,b,c,d){void 0===d&&(d=c),Object.defineProperty(a,d,{enumerable:!0,get:function(){return b[c]}})}:function(a,b,c,d){void 0===d&&(d=c),a[d]=b[c]}),e=this&&this.__exportStar||function(a,b){for(var c in a)"default"===c||Object.prototype.hasOwnProperty.call(b,c)||d(b,a,c)};Object.defineProperty(b,"__esModule",{value:!0}),e(c(46),b)},651:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b._globalThis=void 0,b._globalThis="object"==typeof globalThis?globalThis:global},46:function(a,b,c){var d=this&&this.__createBinding||(Object.create?function(a,b,c,d){void 0===d&&(d=c),Object.defineProperty(a,d,{enumerable:!0,get:function(){return b[c]}})}:function(a,b,c,d){void 0===d&&(d=c),a[d]=b[c]}),e=this&&this.__exportStar||function(a,b){for(var c in a)"default"===c||Object.prototype.hasOwnProperty.call(b,c)||d(b,a,c)};Object.defineProperty(b,"__esModule",{value:!0}),e(c(651),b)},939:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.propagation=void 0,b.propagation=c(181).PropagationAPI.getInstance()},874:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.NoopTextMapPropagator=void 0;class c{inject(a,b){}extract(a,b){return a}fields(){return[]}}b.NoopTextMapPropagator=c},194:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.defaultTextMapSetter=b.defaultTextMapGetter=void 0,b.defaultTextMapGetter={get(a,b){if(null!=a)return a[b]},keys:a=>null==a?[]:Object.keys(a)},b.defaultTextMapSetter={set(a,b,c){null!=a&&(a[b]=c)}}},845:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.trace=void 0,b.trace=c(997).TraceAPI.getInstance()},403:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.NonRecordingSpan=void 0;let d=c(476);class e{constructor(a=d.INVALID_SPAN_CONTEXT){this._spanContext=a}spanContext(){return this._spanContext}setAttribute(a,b){return this}setAttributes(a){return this}addEvent(a,b){return this}setStatus(a){return this}updateName(a){return this}end(a){}isRecording(){return!1}recordException(a,b){}}b.NonRecordingSpan=e},614:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.NoopTracer=void 0;let d=c(491),e=c(607),f=c(403),g=c(139),h=d.ContextAPI.getInstance();class i{startSpan(a,b,c=h.active()){var d;if(null==b?void 0:b.root)return new f.NonRecordingSpan;let i=c&&(0,e.getSpanContext)(c);return"object"==typeof(d=i)&&"string"==typeof d.spanId&&"string"==typeof d.traceId&&"number"==typeof d.traceFlags&&(0,g.isSpanContextValid)(i)?new f.NonRecordingSpan(i):new f.NonRecordingSpan}startActiveSpan(a,b,c,d){let f,g,i;if(arguments.length<2)return;2==arguments.length?i=b:3==arguments.length?(f=b,i=c):(f=b,g=c,i=d);let j=null!=g?g:h.active(),k=this.startSpan(a,f,j),l=(0,e.setSpan)(j,k);return h.with(l,i,void 0,k)}}b.NoopTracer=i},124:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.NoopTracerProvider=void 0;let d=c(614);class e{getTracer(a,b,c){return new d.NoopTracer}}b.NoopTracerProvider=e},125:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.ProxyTracer=void 0;let d=new(c(614)).NoopTracer;class e{constructor(a,b,c,d){this._provider=a,this.name=b,this.version=c,this.options=d}startSpan(a,b,c){return this._getTracer().startSpan(a,b,c)}startActiveSpan(a,b,c,d){let e=this._getTracer();return Reflect.apply(e.startActiveSpan,e,arguments)}_getTracer(){if(this._delegate)return this._delegate;let a=this._provider.getDelegateTracer(this.name,this.version,this.options);return a?(this._delegate=a,this._delegate):d}}b.ProxyTracer=e},846:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.ProxyTracerProvider=void 0;let d=c(125),e=new(c(124)).NoopTracerProvider;class f{getTracer(a,b,c){var e;return null!=(e=this.getDelegateTracer(a,b,c))?e:new d.ProxyTracer(this,a,b,c)}getDelegate(){var a;return null!=(a=this._delegate)?a:e}setDelegate(a){this._delegate=a}getDelegateTracer(a,b,c){var d;return null==(d=this._delegate)?void 0:d.getTracer(a,b,c)}}b.ProxyTracerProvider=f},996:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.SamplingDecision=void 0,function(a){a[a.NOT_RECORD=0]="NOT_RECORD",a[a.RECORD=1]="RECORD",a[a.RECORD_AND_SAMPLED=2]="RECORD_AND_SAMPLED"}(b.SamplingDecision||(b.SamplingDecision={}))},607:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.getSpanContext=b.setSpanContext=b.deleteSpan=b.setSpan=b.getActiveSpan=b.getSpan=void 0;let d=c(780),e=c(403),f=c(491),g=(0,d.createContextKey)("OpenTelemetry Context Key SPAN");function h(a){return a.getValue(g)||void 0}function i(a,b){return a.setValue(g,b)}b.getSpan=h,b.getActiveSpan=function(){return h(f.ContextAPI.getInstance().active())},b.setSpan=i,b.deleteSpan=function(a){return a.deleteValue(g)},b.setSpanContext=function(a,b){return i(a,new e.NonRecordingSpan(b))},b.getSpanContext=function(a){var b;return null==(b=h(a))?void 0:b.spanContext()}},325:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.TraceStateImpl=void 0;let d=c(564);class e{constructor(a){this._internalState=new Map,a&&this._parse(a)}set(a,b){let c=this._clone();return c._internalState.has(a)&&c._internalState.delete(a),c._internalState.set(a,b),c}unset(a){let b=this._clone();return b._internalState.delete(a),b}get(a){return this._internalState.get(a)}serialize(){return this._keys().reduce((a,b)=>(a.push(b+"="+this.get(b)),a),[]).join(",")}_parse(a){!(a.length>512)&&(this._internalState=a.split(",").reverse().reduce((a,b)=>{let c=b.trim(),e=c.indexOf("=");if(-1!==e){let f=c.slice(0,e),g=c.slice(e+1,b.length);(0,d.validateKey)(f)&&(0,d.validateValue)(g)&&a.set(f,g)}return a},new Map),this._internalState.size>32&&(this._internalState=new Map(Array.from(this._internalState.entries()).reverse().slice(0,32))))}_keys(){return Array.from(this._internalState.keys()).reverse()}_clone(){let a=new e;return a._internalState=new Map(this._internalState),a}}b.TraceStateImpl=e},564:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.validateValue=b.validateKey=void 0;let c="[_0-9a-z-*/]",d=`[a-z]${c}{0,255}`,e=`[a-z0-9]${c}{0,240}@[a-z]${c}{0,13}`,f=RegExp(`^(?:${d}|${e})$`),g=/^[ -~]{0,255}[!-~]$/,h=/,|=/;b.validateKey=function(a){return f.test(a)},b.validateValue=function(a){return g.test(a)&&!h.test(a)}},98:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.createTraceState=void 0;let d=c(325);b.createTraceState=function(a){return new d.TraceStateImpl(a)}},476:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.INVALID_SPAN_CONTEXT=b.INVALID_TRACEID=b.INVALID_SPANID=void 0;let d=c(475);b.INVALID_SPANID="0000000000000000",b.INVALID_TRACEID="00000000000000000000000000000000",b.INVALID_SPAN_CONTEXT={traceId:b.INVALID_TRACEID,spanId:b.INVALID_SPANID,traceFlags:d.TraceFlags.NONE}},357:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.SpanKind=void 0,function(a){a[a.INTERNAL=0]="INTERNAL",a[a.SERVER=1]="SERVER",a[a.CLIENT=2]="CLIENT",a[a.PRODUCER=3]="PRODUCER",a[a.CONSUMER=4]="CONSUMER"}(b.SpanKind||(b.SpanKind={}))},139:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.wrapSpanContext=b.isSpanContextValid=b.isValidSpanId=b.isValidTraceId=void 0;let d=c(476),e=c(403),f=/^([0-9a-f]{32})$/i,g=/^[0-9a-f]{16}$/i;function h(a){return f.test(a)&&a!==d.INVALID_TRACEID}function i(a){return g.test(a)&&a!==d.INVALID_SPANID}b.isValidTraceId=h,b.isValidSpanId=i,b.isSpanContextValid=function(a){return h(a.traceId)&&i(a.spanId)},b.wrapSpanContext=function(a){return new e.NonRecordingSpan(a)}},847:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.SpanStatusCode=void 0,function(a){a[a.UNSET=0]="UNSET",a[a.OK=1]="OK",a[a.ERROR=2]="ERROR"}(b.SpanStatusCode||(b.SpanStatusCode={}))},475:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.TraceFlags=void 0,function(a){a[a.NONE=0]="NONE",a[a.SAMPLED=1]="SAMPLED"}(b.TraceFlags||(b.TraceFlags={}))},521:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.VERSION=void 0,b.VERSION="1.6.0"}},c={};function d(a){var e=c[a];if(void 0!==e)return e.exports;var f=c[a]={exports:{}},g=!0;try{b[a].call(f.exports,f,f.exports,d),g=!1}finally{g&&delete c[a]}return f.exports}d.ab=__dirname+"/";var e={};(()=>{Object.defineProperty(e,"__esModule",{value:!0}),e.trace=e.propagation=e.metrics=e.diag=e.context=e.INVALID_SPAN_CONTEXT=e.INVALID_TRACEID=e.INVALID_SPANID=e.isValidSpanId=e.isValidTraceId=e.isSpanContextValid=e.createTraceState=e.TraceFlags=e.SpanStatusCode=e.SpanKind=e.SamplingDecision=e.ProxyTracerProvider=e.ProxyTracer=e.defaultTextMapSetter=e.defaultTextMapGetter=e.ValueType=e.createNoopMeter=e.DiagLogLevel=e.DiagConsoleLogger=e.ROOT_CONTEXT=e.createContextKey=e.baggageEntryMetadataFromString=void 0;var a=d(369);Object.defineProperty(e,"baggageEntryMetadataFromString",{enumerable:!0,get:function(){return a.baggageEntryMetadataFromString}});var b=d(780);Object.defineProperty(e,"createContextKey",{enumerable:!0,get:function(){return b.createContextKey}}),Object.defineProperty(e,"ROOT_CONTEXT",{enumerable:!0,get:function(){return b.ROOT_CONTEXT}});var c=d(972);Object.defineProperty(e,"DiagConsoleLogger",{enumerable:!0,get:function(){return c.DiagConsoleLogger}});var f=d(957);Object.defineProperty(e,"DiagLogLevel",{enumerable:!0,get:function(){return f.DiagLogLevel}});var g=d(102);Object.defineProperty(e,"createNoopMeter",{enumerable:!0,get:function(){return g.createNoopMeter}});var h=d(901);Object.defineProperty(e,"ValueType",{enumerable:!0,get:function(){return h.ValueType}});var i=d(194);Object.defineProperty(e,"defaultTextMapGetter",{enumerable:!0,get:function(){return i.defaultTextMapGetter}}),Object.defineProperty(e,"defaultTextMapSetter",{enumerable:!0,get:function(){return i.defaultTextMapSetter}});var j=d(125);Object.defineProperty(e,"ProxyTracer",{enumerable:!0,get:function(){return j.ProxyTracer}});var k=d(846);Object.defineProperty(e,"ProxyTracerProvider",{enumerable:!0,get:function(){return k.ProxyTracerProvider}});var l=d(996);Object.defineProperty(e,"SamplingDecision",{enumerable:!0,get:function(){return l.SamplingDecision}});var m=d(357);Object.defineProperty(e,"SpanKind",{enumerable:!0,get:function(){return m.SpanKind}});var n=d(847);Object.defineProperty(e,"SpanStatusCode",{enumerable:!0,get:function(){return n.SpanStatusCode}});var o=d(475);Object.defineProperty(e,"TraceFlags",{enumerable:!0,get:function(){return o.TraceFlags}});var p=d(98);Object.defineProperty(e,"createTraceState",{enumerable:!0,get:function(){return p.createTraceState}});var q=d(139);Object.defineProperty(e,"isSpanContextValid",{enumerable:!0,get:function(){return q.isSpanContextValid}}),Object.defineProperty(e,"isValidTraceId",{enumerable:!0,get:function(){return q.isValidTraceId}}),Object.defineProperty(e,"isValidSpanId",{enumerable:!0,get:function(){return q.isValidSpanId}});var r=d(476);Object.defineProperty(e,"INVALID_SPANID",{enumerable:!0,get:function(){return r.INVALID_SPANID}}),Object.defineProperty(e,"INVALID_TRACEID",{enumerable:!0,get:function(){return r.INVALID_TRACEID}}),Object.defineProperty(e,"INVALID_SPAN_CONTEXT",{enumerable:!0,get:function(){return r.INVALID_SPAN_CONTEXT}});let s=d(67);Object.defineProperty(e,"context",{enumerable:!0,get:function(){return s.context}});let t=d(506);Object.defineProperty(e,"diag",{enumerable:!0,get:function(){return t.diag}});let u=d(886);Object.defineProperty(e,"metrics",{enumerable:!0,get:function(){return u.metrics}});let v=d(939);Object.defineProperty(e,"propagation",{enumerable:!0,get:function(){return v.propagation}});let w=d(845);Object.defineProperty(e,"trace",{enumerable:!0,get:function(){return w.trace}}),e.default={context:s.context,diag:t.diag,metrics:u.metrics,propagation:v.propagation,trace:w.trace}})(),a.exports=e})()},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},30598:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{getSortedRouteObjects:function(){return d.getSortedRouteObjects},getSortedRoutes:function(){return d.getSortedRoutes},isDynamicRoute:function(){return e.isDynamicRoute}});let d=c(34476),e=c(81626)},31421:a=>{"use strict";a.exports=require("node:child_process")},31730:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"LRUCache",{enumerable:!0,get:function(){return e}});class c{constructor(a,b,c){this.prev=null,this.next=null,this.key=a,this.data=b,this.size=c}}class d{constructor(){this.prev=null,this.next=null}}class e{constructor(a,b,c){this.cache=new Map,this.totalSize=0,this.maxSize=a,this.calculateSize=b,this.onEvict=c,this.head=new d,this.tail=new d,this.head.next=this.tail,this.tail.prev=this.head}addToHead(a){a.prev=this.head,a.next=this.head.next,this.head.next.prev=a,this.head.next=a}removeNode(a){a.prev.next=a.next,a.next.prev=a.prev}moveToHead(a){this.removeNode(a),this.addToHead(a)}removeTail(){let a=this.tail.prev;return this.removeNode(a),a}set(a,b){let d=(null==this.calculateSize?void 0:this.calculateSize.call(this,b))??1;if(d<=0)throw Object.defineProperty(Error(`LRUCache: calculateSize returned ${d}, but size must be > 0. Items with size 0 would never be evicted, causing unbounded cache growth.`),"__NEXT_ERROR_CODE",{value:"E789",enumerable:!1,configurable:!0});if(d>this.maxSize)return console.warn("Single item size exceeds maxSize"),!1;let e=this.cache.get(a);if(e)e.data=b,this.totalSize=this.totalSize-e.size+d,e.size=d,this.moveToHead(e);else{let e=new c(a,b,d);this.cache.set(a,e),this.addToHead(e),this.totalSize+=d}for(;this.totalSize>this.maxSize&&this.cache.size>0;){let a=this.removeTail();this.cache.delete(a.key),this.totalSize-=a.size,null==this.onEvict||this.onEvict.call(this,a.key,a.data)}return!0}has(a){return this.cache.has(a)}get(a){let b=this.cache.get(a);if(b)return this.moveToHead(b),b.data}*[Symbol.iterator](){let a=this.head.next;for(;a&&a!==this.tail;){let b=a;yield[b.key,b.data],a=a.next}}remove(a){let b=this.cache.get(a);b&&(this.removeNode(b),this.cache.delete(a),this.totalSize-=b.size)}get size(){return this.cache.size}get currentSize(){return this.totalSize}}},31860:(a,b,c)=>{"use strict";c.d(b,{default:()=>m});var d=c(21124),e=c(38301),f=c(23312),g=c(43815),h=c(85708);let i=(0,h.createServerReference)("40b250a7023e1ea42d3b1c45a9b04d2d813b0ff025",h.callServer,void 0,h.findSourceMapURL,"updateProjectAction");var j=c(54151);let k=[{value:"#c2452a",name:"Mars Red"},{value:"#a83a22",name:"Deep Red"},{value:"#7c2b19",name:"Dark Red"},{value:"#111318",name:"Charcoal"},{value:"#3f3a30",name:"Warm Black"},{value:"#68707b",name:"Slate"},{value:"#cdb78a",name:"Warm Sand"},{value:"#1f6c9f",name:"Skill Blue"}];function l(){let{pending:a}=(0,f.useFormStatus)();return(0,d.jsx)("button",{type:"submit",className:"admin-button",disabled:a,"aria-busy":a?"true":void 0,children:a?"Saving…":"Save changes"})}function m({projectId:a,projectName:b,projectColor:c,projectDescription:f,projectFolderPath:h}){let[m,n]=e.useState(!1),[o,p]=e.useState("keep"),[q,r]=e.useState(h||""),s=e.useRef(null);return e.useEffect(()=>{m&&(p("keep"),r(h||""))},[m,h]),e.useEffect(()=>{"custom"===o&&s.current?.focus()},[o]),(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("button",{type:"button",className:"admin-button secondary project-edit",onClick:()=>n(!0),"aria-label":`Edit ${b}`,children:"Edit"}),(0,d.jsx)(g.A,{open:m,onClose:()=>n(!1),eyebrow:"Edit project",title:`Edit ${b}`,children:(0,d.jsxs)("form",{className:"agents-modal-form",action:i,children:[(0,d.jsx)("input",{type:"hidden",name:"project_id",value:a}),(0,d.jsx)("section",{className:"agents-modal-section",children:(0,d.jsxs)("label",{className:"agents-modal-field wide",children:[(0,d.jsx)("span",{children:"Name"}),(0,d.jsx)("input",{name:"name",type:"text",defaultValue:b,autoComplete:"off",required:!0})]})}),(0,d.jsxs)("section",{className:"agents-modal-section",children:[(0,d.jsxs)("div",{className:"agents-modal-section-head",children:[(0,d.jsx)("span",{children:"Folder location"}),(0,d.jsx)("small",{children:"Where project files live on disk. Move only if you've already moved the folder yourself."})]}),(0,d.jsxs)("div",{className:"agents-modal-radio-group",children:[(0,d.jsxs)("label",{className:`agents-modal-radio ${"keep"===o?"on":""}`,children:[(0,d.jsx)("input",{type:"radio",name:"folder_mode",value:"keep",checked:"keep"===o,onChange:()=>p("keep")}),(0,d.jsxs)("span",{className:"agents-modal-radio-body",children:[(0,d.jsx)("b",{children:"Keep current"}),(0,d.jsx)("code",{title:h||"",children:function(a,b=48){if(!a||a.length<=b)return a;let c=a.slice(0,Math.floor(b/2)-1),d=a.slice(a.length-Math.floor(b/2)+2);return`${c}…${d}`}(h)||"(not set)"})]})]}),(0,d.jsxs)("label",{className:`agents-modal-radio ${"custom"===o?"on":""}`,children:[(0,d.jsx)("input",{type:"radio",name:"folder_mode",value:"custom",checked:"custom"===o,onChange:()=>p("custom")}),(0,d.jsxs)("span",{className:"agents-modal-radio-body",children:[(0,d.jsx)("b",{children:"Change to…"}),(0,d.jsx)("small",{children:"Absolute path. Must already exist or be writable."})]})]})]}),"custom"===o?(0,d.jsx)(j.A,{inputRef:s,value:q,onChange:r}):(0,d.jsx)("input",{type:"hidden",name:"folder_path",value:""})]}),(0,d.jsxs)("section",{className:"agents-modal-section",children:[(0,d.jsxs)("div",{className:"agents-modal-section-head",children:[(0,d.jsx)("span",{children:"Color"}),(0,d.jsx)("small",{children:"Tile color across the app."})]}),(0,d.jsxs)("fieldset",{className:"agents-modal-swatches",children:[(0,d.jsx)("legend",{className:"visually-hidden",children:"Project color"}),k.map(a=>(0,d.jsxs)("label",{className:"agents-modal-swatch",style:{"--swatch":a.value},children:[(0,d.jsx)("input",{type:"radio",name:"color",value:a.value,defaultChecked:a.value===(c||"#c2452a")}),(0,d.jsx)("span",{className:"agents-modal-swatch-ring","aria-hidden":"true"}),(0,d.jsx)("span",{className:"visually-hidden",children:a.name})]},a.value))]})]}),(0,d.jsxs)("section",{className:"agents-modal-section",children:[(0,d.jsxs)("div",{className:"agents-modal-section-head",children:[(0,d.jsx)("span",{children:"Description"}),(0,d.jsx)("small",{children:"Used as context for agents working in this project."})]}),(0,d.jsx)("label",{className:"agents-modal-field wide",children:(0,d.jsx)("textarea",{name:"description",rows:3,defaultValue:f||"",placeholder:"What is this project for? Goals, audience, voice, constraints."})})]}),(0,d.jsxs)("footer",{className:"agents-modal-foot",children:[(0,d.jsx)("button",{type:"button",className:"admin-button secondary",onClick:()=>n(!1),children:"Cancel"}),(0,d.jsx)(l,{})]})]})})]})}},31910:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"addPathPrefix",{enumerable:!0,get:function(){return e}});let d=c(2213);function e(a,b){if(!a.startsWith("/")||!b)return a;let{pathname:c,query:e,hash:f}=(0,d.parsePath)(a);return""+b+c+e+f}},32198:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return g}});let d=c(50931),e=c(97857),f=c(58871);class g{static #a=this.EMPTY=new g(null,{metadata:{},contentType:null});static fromStatic(a,b){return new g(a,{metadata:{},contentType:b})}constructor(a,{contentType:b,waitUntil:c,metadata:d}){this.response=a,this.contentType=b,this.metadata=d,this.waitUntil=c}assignMetadata(a){Object.assign(this.metadata,a)}get isNull(){return null===this.response}get isDynamic(){return"string"!=typeof this.response}toUnchunkedString(a=!1){if(null===this.response)return"";if("string"!=typeof this.response){if(!a)throw Object.defineProperty(new f.InvariantError("dynamic responses cannot be unchunked. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E732",enumerable:!1,configurable:!0});return(0,d.streamToString)(this.readable)}return this.response}get readable(){return null===this.response?new ReadableStream({start(a){a.close()}}):"string"==typeof this.response?(0,d.streamFromString)(this.response):Buffer.isBuffer(this.response)?(0,d.streamFromBuffer)(this.response):Array.isArray(this.response)?(0,d.chainStreams)(...this.response):this.response}coerce(){return null===this.response?[]:"string"==typeof this.response?[(0,d.streamFromString)(this.response)]:Array.isArray(this.response)?this.response:Buffer.isBuffer(this.response)?[(0,d.streamFromBuffer)(this.response)]:[this.response]}unshift(a){this.response=this.coerce(),this.response.unshift(a)}push(a){this.response=this.coerce(),this.response.push(a)}async pipeTo(a){try{await this.readable.pipeTo(a,{preventClose:!0}),this.waitUntil&&await this.waitUntil,await a.close()}catch(b){if((0,e.isAbortError)(b))return void await a.abort(b);throw b}}async pipeToNodeResponse(a){await (0,e.pipeToNodeResponse)(this.readable,a,this.waitUntil)}}},32244:(a,b,c)=>{"use strict";c.d(b,{K:()=>l,r:()=>k});var d=c(31421),e=c(83498),f=c(684);function g(){let a=Number(process.env.MADARX_TOOL_OUTPUT_MAX_BYTES||5e4);return!Number.isFinite(a)||a<=0?5e4:Math.min(5e4,Math.floor(a))}function h(a){return(0,f.nc)(String(a||"").slice(0,g()))}function i(a,b){let c=g();return a.length>=c?a:a+String(b).slice(0,c-a.length)}function j(a,b){try{if(a.pid&&"win32"!==process.platform)return void process.kill(-a.pid,b)}catch(a){if(a?.code!=="ESRCH")throw a;return}a.kill(b)}function k(a={}){let b=String(a.script||"").trim();if(!b)throw Error("script is required");if(b.length>2e4)throw Error(`script is too large: ${b.length} chars; max 20000`);let c=Math.max(1e3,Math.min(6e5,Number(a.timeout_ms||12e4)||12e4));return{command:String(process.env.MADARX_BROWSER_HARNESS_BIN||"browser-harness-hermes"),script:b,timeoutMs:c}}async function l(a={}){let{command:b,script:c,timeoutMs:f}=k(a),g=Date.now();return await new Promise(a=>{let k="",l="",m=!1,n=!1,o=null,p=(0,d.spawn)(b,[],{cwd:(0,e.wn)(e.QG,e.un),shell:!1,detached:"win32"!==process.platform,stdio:["pipe","pipe","pipe"],env:Object.fromEntries(["PATH","HOME","USER","LOGNAME","TMPDIR","LANG","LC_ALL","BU_CDP_URL","BU_CDP_PORT","BU_CHROME_PROFILE"].filter(a=>process.env[a]).map(a=>[a,process.env[a]]))}),q=setTimeout(()=>{m=!0,j(p,"SIGTERM"),o=setTimeout(()=>{n||j(p,"SIGKILL")},2e3)},f);p.stdout.on("data",a=>{k=i(k,a)}),p.stderr.on("data",a=>{l=i(l,a)}),p.on("error",c=>{n||(n=!0,clearTimeout(q),o&&clearTimeout(o),a({ok:!1,tool:"browser_harness_run",status:"failed",command:b,error:c.message,stdout:h(k),stderr:h(l),duration_ms:Date.now()-g}))}),p.on("close",(c,d)=>{if(n)return;n=!0,clearTimeout(q),o&&clearTimeout(o);let e=m?"timeout":d?"failed":0===c?"complete":"failed";a({ok:0===c&&!d&&!m,tool:"browser_harness_run",status:e,command:b,exit_code:c,signal:d,stdout:h(k),stderr:h(l),duration_ms:Date.now()-g})}),p.stdin.end(`${c}
|
|
405
405
|
`)})}},32409:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{cS:()=>j,r_:()=>i,vg:()=>k});var e=c(64319),f=a([e]);function g(a,{includeBody:b=!1}={}){let c=Object.fromEntries((a.payload?.headers||[]).map(a=>[String(a.name).toLowerCase(),a.value])),d={id:a.id,thread_id:a.threadId,from:c.from||null,subject:c.subject||null,date:c.date||null,snippet:a.snippet||""};return b&&(d.to=c.to||null,d.body_text=function a(b={}){if(b.body?.data)return function(a=""){if(!a)return"";try{return Buffer.from(String(a),"base64url").toString("utf8")}catch{return""}}(b.body.data);let c=Array.isArray(b.parts)?b.parts:[],d=c.find(a=>"text/plain"===a.mimeType&&a.body?.data)||c.find(a=>a.body?.data);return d?a(d):""}(a.payload||{})),d}async function h(a,b,c,d){let f=(0,e.s)(d,c),g=await f(a,{headers:{Authorization:`Bearer ${b}`}});if(!g.ok)throw Error(`google api failed: ${g.status}`);return g.json()}async function i(a={},b={}){let c="gmail_messages_list",d=await (0,e.r)(b,c),f=new URL("https://gmail.googleapis.com/gmail/v1/users/me/messages");for(let b of(a.max_results&&f.searchParams.set("maxResults",String(a.max_results)),a.q&&f.searchParams.set("q",a.q),a.label_ids||a.labelIds||[]))f.searchParams.append("labelIds",String(b));let j=(await h(f,d,b,c)).messages||[];return Promise.all(j.map(async a=>{let e=await h(`https://gmail.googleapis.com/gmail/v1/users/me/messages/${encodeURIComponent(a.id)}?format=metadata`,d,b,c);return g(e)}))}async function j(a={},b={}){if(!a.message_id)throw Error("message_id is required");let c="gmail_message_read",d=await (0,e.r)(b,c),f=await h(`https://gmail.googleapis.com/gmail/v1/users/me/messages/${encodeURIComponent(a.message_id)}?format=full`,d,b,c);return g(f,{includeBody:!0})}async function k(a={},b={}){if(!a.thread_id)throw Error("thread_id is required");let c="gmail_thread_read",d=await (0,e.r)(b,c),f=await h(`https://gmail.googleapis.com/gmail/v1/users/me/threads/${encodeURIComponent(a.thread_id)}?format=full`,d,b,c);return{id:f.id,messages:(f.messages||[]).map(a=>g(a,{includeBody:!0}))}}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},33311:(a,b)=>{"use strict";var c;Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{bgBlack:function(){return A},bgBlue:function(){return E},bgCyan:function(){return G},bgGreen:function(){return C},bgMagenta:function(){return F},bgRed:function(){return B},bgWhite:function(){return H},bgYellow:function(){return D},black:function(){return q},blue:function(){return u},bold:function(){return j},cyan:function(){return x},dim:function(){return k},gray:function(){return z},green:function(){return s},hidden:function(){return o},inverse:function(){return n},italic:function(){return l},magenta:function(){return v},purple:function(){return w},red:function(){return r},reset:function(){return i},strikethrough:function(){return p},underline:function(){return m},white:function(){return y},yellow:function(){return t}});let{env:d,stdout:e}=(null==(c=globalThis)?void 0:c.process)??{},f=d&&!d.NO_COLOR&&(d.FORCE_COLOR||(null==e?void 0:e.isTTY)&&!d.CI&&"dumb"!==d.TERM),g=(a,b,c,d)=>{let e=a.substring(0,d)+c,f=a.substring(d+b.length),h=f.indexOf(b);return~h?e+g(f,b,c,h):e+f},h=(a,b,c=a)=>f?d=>{let e=""+d,f=e.indexOf(b,a.length);return~f?a+g(e,b,c,f)+b:a+e+b}:String,i=f?a=>`\x1b[0m${a}\x1b[0m`:String,j=h("\x1b[1m","\x1b[22m","\x1b[22m\x1b[1m"),k=h("\x1b[2m","\x1b[22m","\x1b[22m\x1b[2m"),l=h("\x1b[3m","\x1b[23m"),m=h("\x1b[4m","\x1b[24m"),n=h("\x1b[7m","\x1b[27m"),o=h("\x1b[8m","\x1b[28m"),p=h("\x1b[9m","\x1b[29m"),q=h("\x1b[30m","\x1b[39m"),r=h("\x1b[31m","\x1b[39m"),s=h("\x1b[32m","\x1b[39m"),t=h("\x1b[33m","\x1b[39m"),u=h("\x1b[34m","\x1b[39m"),v=h("\x1b[35m","\x1b[39m"),w=h("\x1b[38;2;173;127;168m","\x1b[39m"),x=h("\x1b[36m","\x1b[39m"),y=h("\x1b[37m","\x1b[39m"),z=h("\x1b[90m","\x1b[39m"),A=h("\x1b[40m","\x1b[49m"),B=h("\x1b[41m","\x1b[49m"),C=h("\x1b[42m","\x1b[49m"),D=h("\x1b[43m","\x1b[49m"),E=h("\x1b[44m","\x1b[49m"),F=h("\x1b[45m","\x1b[49m"),G=h("\x1b[46m","\x1b[49m"),H=h("\x1b[47m","\x1b[49m")},33873:a=>{"use strict";a.exports=require("path")},34476:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{getSortedRouteObjects:function(){return e},getSortedRoutes:function(){return d}});class c{insert(a){this._insert(a.split("/").filter(Boolean),[],!1)}smoosh(){return this._smoosh()}_smoosh(a){void 0===a&&(a="/");let b=[...this.children.keys()].sort();null!==this.slugName&&b.splice(b.indexOf("[]"),1),null!==this.restSlugName&&b.splice(b.indexOf("[...]"),1),null!==this.optionalRestSlugName&&b.splice(b.indexOf("[[...]]"),1);let c=b.map(b=>this.children.get(b)._smoosh(""+a+b+"/")).reduce((a,b)=>[...a,...b],[]);if(null!==this.slugName&&c.push(...this.children.get("[]")._smoosh(a+"["+this.slugName+"]/")),!this.placeholder){let b="/"===a?"/":a.slice(0,-1);if(null!=this.optionalRestSlugName)throw Object.defineProperty(Error('You cannot define a route with the same specificity as a optional catch-all route ("'+b+'" and "'+b+"[[..."+this.optionalRestSlugName+']]").'),"__NEXT_ERROR_CODE",{value:"E458",enumerable:!1,configurable:!0});c.unshift(b)}return null!==this.restSlugName&&c.push(...this.children.get("[...]")._smoosh(a+"[..."+this.restSlugName+"]/")),null!==this.optionalRestSlugName&&c.push(...this.children.get("[[...]]")._smoosh(a+"[[..."+this.optionalRestSlugName+"]]/")),c}_insert(a,b,d){if(0===a.length){this.placeholder=!1;return}if(d)throw Object.defineProperty(Error("Catch-all must be the last part of the URL."),"__NEXT_ERROR_CODE",{value:"E392",enumerable:!1,configurable:!0});let e=a[0];if(e.startsWith("[")&&e.endsWith("]")){let c=e.slice(1,-1),g=!1;if(c.startsWith("[")&&c.endsWith("]")&&(c=c.slice(1,-1),g=!0),c.startsWith("…"))throw Object.defineProperty(Error("Detected a three-dot character ('…') at ('"+c+"'). Did you mean ('...')?"),"__NEXT_ERROR_CODE",{value:"E147",enumerable:!1,configurable:!0});if(c.startsWith("...")&&(c=c.substring(3),d=!0),c.startsWith("[")||c.endsWith("]"))throw Object.defineProperty(Error("Segment names may not start or end with extra brackets ('"+c+"')."),"__NEXT_ERROR_CODE",{value:"E421",enumerable:!1,configurable:!0});if(c.startsWith("."))throw Object.defineProperty(Error("Segment names may not start with erroneous periods ('"+c+"')."),"__NEXT_ERROR_CODE",{value:"E288",enumerable:!1,configurable:!0});function f(a,c){if(null!==a&&a!==c)throw Object.defineProperty(Error("You cannot use different slug names for the same dynamic path ('"+a+"' !== '"+c+"')."),"__NEXT_ERROR_CODE",{value:"E337",enumerable:!1,configurable:!0});b.forEach(a=>{if(a===c)throw Object.defineProperty(Error('You cannot have the same slug name "'+c+'" repeat within a single dynamic path'),"__NEXT_ERROR_CODE",{value:"E247",enumerable:!1,configurable:!0});if(a.replace(/\W/g,"")===e.replace(/\W/g,""))throw Object.defineProperty(Error('You cannot have the slug names "'+a+'" and "'+c+'" differ only by non-word symbols within a single dynamic path'),"__NEXT_ERROR_CODE",{value:"E499",enumerable:!1,configurable:!0})}),b.push(c)}if(d)if(g){if(null!=this.restSlugName)throw Object.defineProperty(Error('You cannot use both an required and optional catch-all route at the same level ("[...'+this.restSlugName+']" and "'+a[0]+'" ).'),"__NEXT_ERROR_CODE",{value:"E299",enumerable:!1,configurable:!0});f(this.optionalRestSlugName,c),this.optionalRestSlugName=c,e="[[...]]"}else{if(null!=this.optionalRestSlugName)throw Object.defineProperty(Error('You cannot use both an optional and required catch-all route at the same level ("[[...'+this.optionalRestSlugName+']]" and "'+a[0]+'").'),"__NEXT_ERROR_CODE",{value:"E300",enumerable:!1,configurable:!0});f(this.restSlugName,c),this.restSlugName=c,e="[...]"}else{if(g)throw Object.defineProperty(Error('Optional route parameters are not yet supported ("'+a[0]+'").'),"__NEXT_ERROR_CODE",{value:"E435",enumerable:!1,configurable:!0});f(this.slugName,c),this.slugName=c,e="[]"}}this.children.has(e)||this.children.set(e,new c),this.children.get(e)._insert(a.slice(1),b,d)}constructor(){this.placeholder=!0,this.children=new Map,this.slugName=null,this.restSlugName=null,this.optionalRestSlugName=null}}function d(a){let b=new c;return a.forEach(a=>b.insert(a)),b.smoosh()}function e(a,b){let c={},e=[];for(let d=0;d<a.length;d++){let f=b(a[d]);c[f]=d,e[d]=f}return d(e).map(b=>a[c[b]])}},34976:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{$F:()=>m});var e=c(84104),f=c(67354),g=c(21118),h=a([e,f]);function i(a){var b;return a?(b=(0,e.Lf)().prepare("SELECT * FROM hail_review_gates WHERE id = ?").get(a))?{...b}:null:null}function j({id:a,engagement_id:b,gate_type:c,reviewer_role:d,reviewer_user_id:f=null,decision:h,comments:j=null,approval_request_id:k=null}){if(!["approved","rejected","revision_requested","pending"].includes(h))throw Error(`recordGateDecision: invalid decision "${h}"`);let l=(0,e.Lf)(),m=(0,e.kF)();if(a){if(!i(a))throw Error(`recordGateDecision: gate "${a}" not found`);return l.prepare(`
|
|
406
406
|
UPDATE hail_review_gates
|
|
407
407
|
SET decision = ?, reviewer_user_id = COALESCE(?, reviewer_user_id),
|
|
@@ -439,7 +439,7 @@ see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__
|
|
|
439
439
|
embedding = excluded.embedding,
|
|
440
440
|
token_count = excluded.token_count,
|
|
441
441
|
created_at = excluded.created_at
|
|
442
|
-
`),B=(0,e.kF)();d.prepare("BEGIN").run();try{d.prepare("DELETE FROM mines_document_chunks WHERE source_document_id = ? AND chunk_index >= ?").run(i.id,s.length),s.forEach((a,b)=>{A.run((0,e.Si)("mdc"),i.id,i.project_id,i.document_category,a.page??null,b,a.text,a.language||x,(0,f.wM)(a.embedding),a.token_count??k(a.text),B)}),d.prepare("COMMIT").run()}catch(a){try{d.prepare("ROLLBACK").run()}catch{}throw j.run("failed","chunk_insert_error:"+(a?.message||""),x,+!!r.isScanned,+!!r.ocrApplied,v,w,(0,e.kF)(),i.id),a}let C=z?"complete":"embedding_failed";return j.run(C,z?null:"embedding_provider_unavailable",x,+!!r.isScanned,+!!r.ocrApplied,v,w,(0,e.kF)(),i.id),{status:C,chunks_created:s.length,chunks_embedded:y,pages_processed:u,language_detected:x,ocr_applied:!!r.ocrApplied}}d()}catch(a){d(a)}})},36809:(a,b,c)=>{"use strict";c.d(b,{F:()=>g});let d=new Set(["","on demand","live","event based","manual"]),e={sun:0,sunday:0,mon:1,monday:1,tue:2,tues:2,tuesday:2,wed:3,wednesday:3,thu:4,thurs:4,thursday:4,fri:5,friday:5,sat:6,saturday:6},f=Object.keys(e).join("|");function g(a,b=new Date().toISOString()){let c=String(a||"").trim().toLowerCase();if(d.has(c))return null;let h=new Date(b);if(Number.isNaN(h.getTime()))return null;let i=c.match(/^at\s+(.+)$/);if(i){let a=new Date(i[1]);return Number.isNaN(a.getTime())||a.getTime()<=h.getTime()?null:a.toISOString()}let j=c.match(/^daily\s+(\d{1,2}):(\d{2})$/);if(j){let a=Math.min(23,Math.max(0,Number(j[1]))),b=Math.min(59,Math.max(0,Number(j[2]))),c=new Date(h);return c.setSeconds(0,0),c.setHours(a,b,0,0),c.getTime()<=h.getTime()&&c.setDate(c.getDate()+1),c.toISOString()}let k=c.match(RegExp(`^weekly\\s+(${f})\\s+(\\d{1,2}):(\\d{2})$`));if(k){let a=e[k[1]],b=Math.min(23,Math.max(0,Number(k[2]))),c=Math.min(59,Math.max(0,Number(k[3]))),d=new Date(h);d.setSeconds(0,0),d.setHours(b,c,0,0);let f=(a-d.getDay()+7)%7;return 0===f&&d.getTime()<=h.getTime()&&(f=7),d.setDate(d.getDate()+f),d.toISOString()}let l=c.match(/^monthly\s+(last|\d{1,2})\s+(\d{1,2}):(\d{2})$/);if(l){let a=l[1],b=Math.min(23,Math.max(0,Number(l[2]))),c=Math.min(59,Math.max(0,Number(l[3]))),d=(d,e)=>{let f=new Date(d,e+1,0).getDate();return new Date(d,e,"last"===a?f:Math.min(Math.max(1,Number(a)),f),b,c,0,0)},e=d(h.getFullYear(),h.getMonth());return e.getTime()<=h.getTime()&&(e=d(h.getFullYear(),h.getMonth()+1)),e.toISOString()}let m=c.match(/^every\s+(\d{1,3})\s*mo$/);if(m){let a=Math.max(1,Number(m[1])),b=new Date(h);return b.setMonth(b.getMonth()+a),b.toISOString()}let n=c.match(/^every\s+(\d{1,3})\s*h$/);if(n)return new Date(h.getTime()+36e5*Number(n[1])).toISOString();let o=c.match(/^every\s+(\d{1,4})\s*m$/);return o?new Date(h.getTime()+6e4*Number(o[1])).toISOString():new Date(h.getTime()+36e5).toISOString()}},36821:(a,b,c)=>{"use strict";let d;Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{BubbledError:function(){return n},SpanKind:function(){return l},SpanStatusCode:function(){return k},getTracer:function(){return v},isBubbledError:function(){return o}});let e=c(45441),f=c(23998),g=process.env.NEXT_OTEL_PERFORMANCE_PREFIX;try{d=c(29089)}catch(a){d=c(29089)}let{context:h,propagation:i,trace:j,SpanStatusCode:k,SpanKind:l,ROOT_CONTEXT:m}=d;class n extends Error{constructor(a,b){super(),this.bubble=a,this.result=b}}function o(a){return"object"==typeof a&&null!==a&&a instanceof n}let p=(a,b)=>{o(b)&&b.bubble?a.setAttribute("next.bubble",!0):(b&&(a.recordException(b),a.setAttribute("error.type",b.name)),a.setStatus({code:k.ERROR,message:null==b?void 0:b.message})),a.end()},q=new Map,r=d.createContextKey("next.rootSpanId"),s=0,t={set(a,b,c){a.push({key:b,value:c})}};class u{getTracerInstance(){return j.getTracer("next.js","0.0.1")}getContext(){return h}getTracePropagationData(){let a=h.active(),b=[];return i.inject(a,b,t),b}getActiveScopeSpan(){return j.getSpan(null==h?void 0:h.active())}withPropagatedContext(a,b,c){let d=h.active();if(j.getSpanContext(d))return b();let e=i.extract(d,a,c);return h.with(e,b)}trace(...a){var b;let[c,d,i]=a,{fn:k,options:l}="function"==typeof d?{fn:d,options:{}}:{fn:i,options:{...d}},n=l.spanName??c;if(!e.NextVanillaSpanAllowlist.has(c)&&"1"!==process.env.NEXT_OTEL_VERBOSE||l.hideSpan)return k();let o=this.getSpanContext((null==l?void 0:l.parentSpan)??this.getActiveScopeSpan()),t=!1;o?(null==(b=j.getSpanContext(o))?void 0:b.isRemote)&&(t=!0):(o=(null==h?void 0:h.active())??m,t=!0);let u=s++;return l.attributes={"next.span_name":n,"next.span_type":c,...l.attributes},h.with(o.setValue(r,u),()=>this.getTracerInstance().startActiveSpan(n,l,a=>{let b;g&&c&&e.LogSpanAllowList.has(c)&&(b="performance"in globalThis&&"measure"in performance?globalThis.performance.now():void 0);let d=!1,h=()=>{!d&&(d=!0,q.delete(u),b&&performance.measure(`${g}:next-${(c.split(".").pop()||"").replace(/[A-Z]/g,a=>"-"+a.toLowerCase())}`,{start:b,end:performance.now()}))};if(t&&q.set(u,new Map(Object.entries(l.attributes??{}))),k.length>1)try{return k(a,b=>p(a,b))}catch(b){throw p(a,b),b}finally{h()}try{let b=k(a);if((0,f.isThenable)(b))return b.then(b=>(a.end(),b)).catch(b=>{throw p(a,b),b}).finally(h);return a.end(),h(),b}catch(b){throw p(a,b),h(),b}}))}wrap(...a){let b=this,[c,d,f]=3===a.length?a:[a[0],{},a[1]];return e.NextVanillaSpanAllowlist.has(c)||"1"===process.env.NEXT_OTEL_VERBOSE?function(){let a=d;"function"==typeof a&&"function"==typeof f&&(a=a.apply(this,arguments));let e=arguments.length-1,g=arguments[e];if("function"!=typeof g)return b.trace(c,a,()=>f.apply(this,arguments));{let d=b.getContext().bind(h.active(),g);return b.trace(c,a,(a,b)=>(arguments[e]=function(a){return null==b||b(a),d.apply(this,arguments)},f.apply(this,arguments)))}}:f}startSpan(...a){let[b,c]=a,d=this.getSpanContext((null==c?void 0:c.parentSpan)??this.getActiveScopeSpan());return this.getTracerInstance().startSpan(b,c,d)}getSpanContext(a){return a?j.setSpan(h.active(),a):void 0}getRootSpanAttributes(){let a=h.active().getValue(r);return q.get(a)}setRootSpanAttribute(a,b){let c=h.active().getValue(r),d=q.get(c);d&&d.set(a,b)}}let v=(()=>{let a=new u;return()=>a})()},37005:(a,b,c)=>{"use strict";c.d(b,{default:()=>m});var d=c(21124),e=c(38301),f=c(23312),g=c(43815),h=c(85708);let i=(0,h.createServerReference)("408009ab2e25b2caddc8395de45563df06bae39d83",h.callServer,void 0,h.findSourceMapURL,"updateProjectAction");var j=c(54151);let k=[{value:"#c2452a",name:"Mars Red"},{value:"#a83a22",name:"Deep Red"},{value:"#7c2b19",name:"Dark Red"},{value:"#111318",name:"Charcoal"},{value:"#3f3a30",name:"Warm Black"},{value:"#68707b",name:"Slate"},{value:"#cdb78a",name:"Warm Sand"},{value:"#1f6c9f",name:"Skill Blue"}];function l(){let{pending:a}=(0,f.useFormStatus)();return(0,d.jsx)("button",{type:"submit",className:"admin-button",disabled:a,"aria-busy":a?"true":void 0,children:a?"Saving…":"Save changes"})}function m({projectId:a,projectName:b,projectColor:c,projectDescription:f,projectFolderPath:h}){let[m,n]=e.useState(!1),[o,p]=e.useState("keep"),[q,r]=e.useState(h||""),s=e.useRef(null);return e.useEffect(()=>{m&&(p("keep"),r(h||""))},[m,h]),e.useEffect(()=>{"custom"===o&&s.current?.focus()},[o]),(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("button",{type:"button",className:"admin-button secondary project-edit",onClick:()=>n(!0),"aria-label":`Edit ${b}`,children:"Edit"}),(0,d.jsx)(g.A,{open:m,onClose:()=>n(!1),eyebrow:"Edit project",title:`Edit ${b}`,children:(0,d.jsxs)("form",{className:"agents-modal-form",action:i,children:[(0,d.jsx)("input",{type:"hidden",name:"project_id",value:a}),(0,d.jsx)("section",{className:"agents-modal-section",children:(0,d.jsxs)("label",{className:"agents-modal-field wide",children:[(0,d.jsx)("span",{children:"Name"}),(0,d.jsx)("input",{name:"name",type:"text",defaultValue:b,autoComplete:"off",required:!0})]})}),(0,d.jsxs)("section",{className:"agents-modal-section",children:[(0,d.jsxs)("div",{className:"agents-modal-section-head",children:[(0,d.jsx)("span",{children:"Folder location"}),(0,d.jsx)("small",{children:"Where project files live on disk. Move only if you've already moved the folder yourself."})]}),(0,d.jsxs)("div",{className:"agents-modal-radio-group",children:[(0,d.jsxs)("label",{className:`agents-modal-radio ${"keep"===o?"on":""}`,children:[(0,d.jsx)("input",{type:"radio",name:"folder_mode",value:"keep",checked:"keep"===o,onChange:()=>p("keep")}),(0,d.jsxs)("span",{className:"agents-modal-radio-body",children:[(0,d.jsx)("b",{children:"Keep current"}),(0,d.jsx)("code",{title:h||"",children:function(a,b=48){if(!a||a.length<=b)return a;let c=a.slice(0,Math.floor(b/2)-1),d=a.slice(a.length-Math.floor(b/2)+2);return`${c}…${d}`}(h)||"(not set)"})]})]}),(0,d.jsxs)("label",{className:`agents-modal-radio ${"custom"===o?"on":""}`,children:[(0,d.jsx)("input",{type:"radio",name:"folder_mode",value:"custom",checked:"custom"===o,onChange:()=>p("custom")}),(0,d.jsxs)("span",{className:"agents-modal-radio-body",children:[(0,d.jsx)("b",{children:"Change to…"}),(0,d.jsx)("small",{children:"Absolute path. Must already exist or be writable."})]})]})]}),"custom"===o?(0,d.jsx)(j.A,{inputRef:s,value:q,onChange:r}):(0,d.jsx)("input",{type:"hidden",name:"folder_path",value:""})]}),(0,d.jsxs)("section",{className:"agents-modal-section",children:[(0,d.jsxs)("div",{className:"agents-modal-section-head",children:[(0,d.jsx)("span",{children:"Color"}),(0,d.jsx)("small",{children:"Tile color across the app."})]}),(0,d.jsxs)("fieldset",{className:"agents-modal-swatches",children:[(0,d.jsx)("legend",{className:"visually-hidden",children:"Project color"}),k.map(a=>(0,d.jsxs)("label",{className:"agents-modal-swatch",style:{"--swatch":a.value},children:[(0,d.jsx)("input",{type:"radio",name:"color",value:a.value,defaultChecked:a.value===(c||"#c2452a")}),(0,d.jsx)("span",{className:"agents-modal-swatch-ring","aria-hidden":"true"}),(0,d.jsx)("span",{className:"visually-hidden",children:a.name})]},a.value))]})]}),(0,d.jsxs)("section",{className:"agents-modal-section",children:[(0,d.jsxs)("div",{className:"agents-modal-section-head",children:[(0,d.jsx)("span",{children:"Description"}),(0,d.jsx)("small",{children:"Used as context for agents working in this project."})]}),(0,d.jsx)("label",{className:"agents-modal-field wide",children:(0,d.jsx)("textarea",{name:"description",rows:3,defaultValue:f||"",placeholder:"What is this project for? Goals, audience, voice, constraints."})})]}),(0,d.jsxs)("footer",{className:"agents-modal-foot",children:[(0,d.jsx)("button",{type:"button",className:"admin-button secondary",onClick:()=>n(!1),children:"Cancel"}),(0,d.jsx)(l,{})]})]})})]})}},37047:(a,b,c)=>{"use strict";async function d(a){return{status:"not_implemented"}}c.d(b,{V:()=>d})},37425:(a,b,c)=>{"use strict";Object.defineProperty(b,"M",{enumerable:!0,get:function(){return g}});let d=c(29294),e=c(63033),f=c(90151);function g(){let a=d.workAsyncStorage.getStore(),b=e.workUnitAsyncStorage.getStore();if(a){if(!a.forceStatic){if(a.isUnstableNoStore=!0,b)switch(b.type){case"prerender":case"prerender-client":case"prerender-runtime":return}(0,f.markCurrentScopeAsDynamic)(a,b,"unstable_noStore()")}}}},37788:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Cu:()=>i,ab:()=>h});var e=c(84104),f=a([e]);function g(a){if(!a||!a.rate_limit)return null;let{window_seconds:b,max:c}=a.rate_limit;return"number"!=typeof b||"number"!=typeof c?null:{window_seconds:b,max:c}}function h(a,b,c){let d=g(c);return d?function(a,b,c){let d,f=(0,e.Lf)(),g=new Date(Date.now()-1e3*c.window_seconds).toISOString();if((d=b?f.prepare("SELECT COUNT(*) AS cnt FROM tool_rate_limit_events WHERE tool_name = ? AND agent_id = ? AND at >= ?").get(a,b,g).cnt:f.prepare("SELECT COUNT(*) AS cnt FROM tool_rate_limit_events WHERE tool_name = ? AND agent_id IS NULL AND at >= ?").get(a,g).cnt)>=c.max){let e;if(b){let c=f.prepare("SELECT at FROM tool_rate_limit_events WHERE tool_name = ? AND agent_id = ? AND at >= ? ORDER BY at ASC LIMIT 1").get(a,b,g);e=c?.at}else{let b=f.prepare("SELECT at FROM tool_rate_limit_events WHERE tool_name = ? AND agent_id IS NULL AND at >= ? ORDER BY at ASC LIMIT 1").get(a,g);e=b?.at}let h=c.window_seconds;if(e){let a=new Date(e).getTime()+1e3*c.window_seconds;h=Math.max(1,Math.ceil((a-Date.now())/1e3))}return{ok:!1,retry_after_seconds:h,current_count:d,max:c.max}}return{ok:!0}}(a,b,d):{ok:!0}}function i(a,b,c){g(c)&&(0,e.Lf)().prepare("INSERT INTO tool_rate_limit_events (id, tool_name, agent_id, at) VALUES (?, ?, ?, ?)").run((0,e.Si)("rl"),a,b||null,(0,e.kF)())}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},37937:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{pQ:()=>g});var e=c(84104),f=a([e]);function g({user_id:a,org_id:b,project_id:c=null,action:d,action_target_id:f=null,action_target_type:g=null,status:h,summary:i,meta:j=null,ip:k=null,user_agent:l=null,correlation_id:m=null}){if(!d)throw Error("appendComplianceAudit: action is required");if(!b)throw Error("appendComplianceAudit: org_id is required");if(!h)throw Error("appendComplianceAudit: status is required");if(!i)throw Error("appendComplianceAudit: summary is required");let n=(0,e.Lf)(),o=(0,e.Si)("audit"),p=(0,e.kF)();return n.prepare(`INSERT INTO audit_logs
|
|
442
|
+
`),B=(0,e.kF)();d.prepare("BEGIN").run();try{d.prepare("DELETE FROM mines_document_chunks WHERE source_document_id = ? AND chunk_index >= ?").run(i.id,s.length),s.forEach((a,b)=>{A.run((0,e.Si)("mdc"),i.id,i.project_id,i.document_category,a.page??null,b,a.text,a.language||x,(0,f.wM)(a.embedding),a.token_count??k(a.text),B)}),d.prepare("COMMIT").run()}catch(a){try{d.prepare("ROLLBACK").run()}catch{}throw j.run("failed","chunk_insert_error:"+(a?.message||""),x,+!!r.isScanned,+!!r.ocrApplied,v,w,(0,e.kF)(),i.id),a}let C=z?"complete":"embedding_failed";return j.run(C,z?null:"embedding_provider_unavailable",x,+!!r.isScanned,+!!r.ocrApplied,v,w,(0,e.kF)(),i.id),{status:C,chunks_created:s.length,chunks_embedded:y,pages_processed:u,language_detected:x,ocr_applied:!!r.ocrApplied}}d()}catch(a){d(a)}})},36809:(a,b,c)=>{"use strict";c.d(b,{F:()=>g});let d=new Set(["","on demand","live","event based","manual"]),e={sun:0,sunday:0,mon:1,monday:1,tue:2,tues:2,tuesday:2,wed:3,wednesday:3,thu:4,thurs:4,thursday:4,fri:5,friday:5,sat:6,saturday:6},f=Object.keys(e).join("|");function g(a,b=new Date().toISOString()){let c=String(a||"").trim().toLowerCase();if(d.has(c))return null;let h=new Date(b);if(Number.isNaN(h.getTime()))return null;let i=c.match(/^at\s+(.+)$/);if(i){let a=new Date(i[1]);return Number.isNaN(a.getTime())||a.getTime()<=h.getTime()?null:a.toISOString()}let j=c.match(/^daily\s+(\d{1,2}):(\d{2})$/);if(j){let a=Math.min(23,Math.max(0,Number(j[1]))),b=Math.min(59,Math.max(0,Number(j[2]))),c=new Date(h);return c.setSeconds(0,0),c.setHours(a,b,0,0),c.getTime()<=h.getTime()&&c.setDate(c.getDate()+1),c.toISOString()}let k=c.match(RegExp(`^weekly\\s+(${f})\\s+(\\d{1,2}):(\\d{2})$`));if(k){let a=e[k[1]],b=Math.min(23,Math.max(0,Number(k[2]))),c=Math.min(59,Math.max(0,Number(k[3]))),d=new Date(h);d.setSeconds(0,0),d.setHours(b,c,0,0);let f=(a-d.getDay()+7)%7;return 0===f&&d.getTime()<=h.getTime()&&(f=7),d.setDate(d.getDate()+f),d.toISOString()}let l=c.match(/^monthly\s+(last|\d{1,2})\s+(\d{1,2}):(\d{2})$/);if(l){let a=l[1],b=Math.min(23,Math.max(0,Number(l[2]))),c=Math.min(59,Math.max(0,Number(l[3]))),d=(d,e)=>{let f=new Date(d,e+1,0).getDate();return new Date(d,e,"last"===a?f:Math.min(Math.max(1,Number(a)),f),b,c,0,0)},e=d(h.getFullYear(),h.getMonth());return e.getTime()<=h.getTime()&&(e=d(h.getFullYear(),h.getMonth()+1)),e.toISOString()}let m=c.match(/^every\s+(\d{1,3})\s*mo$/);if(m){let a=Math.max(1,Number(m[1])),b=new Date(h);return b.setMonth(b.getMonth()+a),b.toISOString()}let n=c.match(/^every\s+(\d{1,3})\s*h$/);if(n)return new Date(h.getTime()+36e5*Number(n[1])).toISOString();let o=c.match(/^every\s+(\d{1,4})\s*m$/);return o?new Date(h.getTime()+6e4*Number(o[1])).toISOString():new Date(h.getTime()+36e5).toISOString()}},36821:(a,b,c)=>{"use strict";let d;Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{BubbledError:function(){return n},SpanKind:function(){return l},SpanStatusCode:function(){return k},getTracer:function(){return v},isBubbledError:function(){return o}});let e=c(45441),f=c(23998),g=process.env.NEXT_OTEL_PERFORMANCE_PREFIX;try{d=c(29089)}catch(a){d=c(29089)}let{context:h,propagation:i,trace:j,SpanStatusCode:k,SpanKind:l,ROOT_CONTEXT:m}=d;class n extends Error{constructor(a,b){super(),this.bubble=a,this.result=b}}function o(a){return"object"==typeof a&&null!==a&&a instanceof n}let p=(a,b)=>{o(b)&&b.bubble?a.setAttribute("next.bubble",!0):(b&&(a.recordException(b),a.setAttribute("error.type",b.name)),a.setStatus({code:k.ERROR,message:null==b?void 0:b.message})),a.end()},q=new Map,r=d.createContextKey("next.rootSpanId"),s=0,t={set(a,b,c){a.push({key:b,value:c})}};class u{getTracerInstance(){return j.getTracer("next.js","0.0.1")}getContext(){return h}getTracePropagationData(){let a=h.active(),b=[];return i.inject(a,b,t),b}getActiveScopeSpan(){return j.getSpan(null==h?void 0:h.active())}withPropagatedContext(a,b,c){let d=h.active();if(j.getSpanContext(d))return b();let e=i.extract(d,a,c);return h.with(e,b)}trace(...a){var b;let[c,d,i]=a,{fn:k,options:l}="function"==typeof d?{fn:d,options:{}}:{fn:i,options:{...d}},n=l.spanName??c;if(!e.NextVanillaSpanAllowlist.has(c)&&"1"!==process.env.NEXT_OTEL_VERBOSE||l.hideSpan)return k();let o=this.getSpanContext((null==l?void 0:l.parentSpan)??this.getActiveScopeSpan()),t=!1;o?(null==(b=j.getSpanContext(o))?void 0:b.isRemote)&&(t=!0):(o=(null==h?void 0:h.active())??m,t=!0);let u=s++;return l.attributes={"next.span_name":n,"next.span_type":c,...l.attributes},h.with(o.setValue(r,u),()=>this.getTracerInstance().startActiveSpan(n,l,a=>{let b;g&&c&&e.LogSpanAllowList.has(c)&&(b="performance"in globalThis&&"measure"in performance?globalThis.performance.now():void 0);let d=!1,h=()=>{!d&&(d=!0,q.delete(u),b&&performance.measure(`${g}:next-${(c.split(".").pop()||"").replace(/[A-Z]/g,a=>"-"+a.toLowerCase())}`,{start:b,end:performance.now()}))};if(t&&q.set(u,new Map(Object.entries(l.attributes??{}))),k.length>1)try{return k(a,b=>p(a,b))}catch(b){throw p(a,b),b}finally{h()}try{let b=k(a);if((0,f.isThenable)(b))return b.then(b=>(a.end(),b)).catch(b=>{throw p(a,b),b}).finally(h);return a.end(),h(),b}catch(b){throw p(a,b),h(),b}}))}wrap(...a){let b=this,[c,d,f]=3===a.length?a:[a[0],{},a[1]];return e.NextVanillaSpanAllowlist.has(c)||"1"===process.env.NEXT_OTEL_VERBOSE?function(){let a=d;"function"==typeof a&&"function"==typeof f&&(a=a.apply(this,arguments));let e=arguments.length-1,g=arguments[e];if("function"!=typeof g)return b.trace(c,a,()=>f.apply(this,arguments));{let d=b.getContext().bind(h.active(),g);return b.trace(c,a,(a,b)=>(arguments[e]=function(a){return null==b||b(a),d.apply(this,arguments)},f.apply(this,arguments)))}}:f}startSpan(...a){let[b,c]=a,d=this.getSpanContext((null==c?void 0:c.parentSpan)??this.getActiveScopeSpan());return this.getTracerInstance().startSpan(b,c,d)}getSpanContext(a){return a?j.setSpan(h.active(),a):void 0}getRootSpanAttributes(){let a=h.active().getValue(r);return q.get(a)}setRootSpanAttribute(a,b){let c=h.active().getValue(r),d=q.get(c);d&&d.set(a,b)}}let v=(()=>{let a=new u;return()=>a})()},37047:(a,b,c)=>{"use strict";async function d(a){return{status:"not_implemented"}}c.d(b,{V:()=>d})},37425:(a,b,c)=>{"use strict";Object.defineProperty(b,"M",{enumerable:!0,get:function(){return g}});let d=c(29294),e=c(63033),f=c(90151);function g(){let a=d.workAsyncStorage.getStore(),b=e.workUnitAsyncStorage.getStore();if(a){if(!a.forceStatic){if(a.isUnstableNoStore=!0,b)switch(b.type){case"prerender":case"prerender-client":case"prerender-runtime":return}(0,f.markCurrentScopeAsDynamic)(a,b,"unstable_noStore()")}}}},37788:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Cu:()=>i,ab:()=>h});var e=c(84104),f=a([e]);function g(a){if(!a||!a.rate_limit)return null;let{window_seconds:b,max:c}=a.rate_limit;return"number"!=typeof b||"number"!=typeof c?null:{window_seconds:b,max:c}}function h(a,b,c){let d=g(c);return d?function(a,b,c){let d,f=(0,e.Lf)(),g=new Date(Date.now()-1e3*c.window_seconds).toISOString();if((d=b?f.prepare("SELECT COUNT(*) AS cnt FROM tool_rate_limit_events WHERE tool_name = ? AND agent_id = ? AND at >= ?").get(a,b,g).cnt:f.prepare("SELECT COUNT(*) AS cnt FROM tool_rate_limit_events WHERE tool_name = ? AND agent_id IS NULL AND at >= ?").get(a,g).cnt)>=c.max){let e;if(b){let c=f.prepare("SELECT at FROM tool_rate_limit_events WHERE tool_name = ? AND agent_id = ? AND at >= ? ORDER BY at ASC LIMIT 1").get(a,b,g);e=c?.at}else{let b=f.prepare("SELECT at FROM tool_rate_limit_events WHERE tool_name = ? AND agent_id IS NULL AND at >= ? ORDER BY at ASC LIMIT 1").get(a,g);e=b?.at}let h=c.window_seconds;if(e){let a=new Date(e).getTime()+1e3*c.window_seconds;h=Math.max(1,Math.ceil((a-Date.now())/1e3))}return{ok:!1,retry_after_seconds:h,current_count:d,max:c.max}}return{ok:!0}}(a,b,d):{ok:!0}}function i(a,b,c){g(c)&&(0,e.Lf)().prepare("INSERT INTO tool_rate_limit_events (id, tool_name, agent_id, at) VALUES (?, ?, ?, ?)").run((0,e.Si)("rl"),a,b||null,(0,e.kF)())}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},37937:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{pQ:()=>g});var e=c(84104),f=a([e]);function g({user_id:a,org_id:b,project_id:c=null,action:d,action_target_id:f=null,action_target_type:g=null,status:h,summary:i,meta:j=null,ip:k=null,user_agent:l=null,correlation_id:m=null}){if(!d)throw Error("appendComplianceAudit: action is required");if(!b)throw Error("appendComplianceAudit: org_id is required");if(!h)throw Error("appendComplianceAudit: status is required");if(!i)throw Error("appendComplianceAudit: summary is required");let n=(0,e.Lf)(),o=(0,e.Si)("audit"),p=(0,e.kF)();return n.prepare(`INSERT INTO audit_logs
|
|
443
443
|
(id, at, type, summary, status, meta,
|
|
444
444
|
user_id, org_id, project_id, ip, user_agent,
|
|
445
445
|
action_target_id, action_target_type, correlation_id)
|
|
@@ -996,12 +996,12 @@ Read more at https://nextjs.org/docs/messages/missing-root-layout-tags"
|
|
|
996
996
|
data-next-error-digest="${j.MISSING_ROOT_TAGS_ERROR}"
|
|
997
997
|
data-next-error-stack=""
|
|
998
998
|
></template>
|
|
999
|
-
`))}})}async function B(a,{suffix:b,inlinedDataStream:c,isStaticGeneration:d,isBuildTimePrerendering:e,buildId:h,getServerInsertedHTML:i,getServerInsertedMetadata:j,validateRootLayout:k}){let l,n,o=b?b.split(y,1)[0]:null;d&&await a.allReady;var p=[s(),t(e,h),v(j),null!=o&&o.length>0?(n=!1,new TransformStream({transform(a,b){if(b.enqueue(a),!n){n=!0;let a=new f.DetachedPromise;l=a,(0,g.scheduleImmediate)(()=>{try{b.enqueue(m.encode(o))}catch{}finally{l=void 0,a.resolve()}})}},flush(a){if(l)return l.promise;n||a.enqueue(m.encode(o))}})):null,c?x(c,!0):null,k?A():null,z(),w(i)];let q=a;for(let a of p)a&&(q=q.pipeThrough(a));return q}async function C(a,{getServerInsertedHTML:b,getServerInsertedMetadata:c}){return a.pipeThrough(s()).pipeThrough(new TransformStream({transform(a,b){(0,i.isEquivalentUint8Arrays)(a,h.ENCODED_TAGS.CLOSED.BODY_AND_HTML)||(0,i.isEquivalentUint8Arrays)(a,h.ENCODED_TAGS.CLOSED.BODY)||(0,i.isEquivalentUint8Arrays)(a,h.ENCODED_TAGS.CLOSED.HTML)||(a=(0,i.removeFromUint8Array)(a,h.ENCODED_TAGS.CLOSED.BODY),a=(0,i.removeFromUint8Array)(a,h.ENCODED_TAGS.CLOSED.HTML),b.enqueue(a))}})).pipeThrough(w(b)).pipeThrough(v(c))}async function D(a,{inlinedDataStream:b,getServerInsertedHTML:c,getServerInsertedMetadata:d,isBuildTimePrerendering:e,buildId:f}){return a.pipeThrough(s()).pipeThrough(t(e,f)).pipeThrough(w(c)).pipeThrough(v(d)).pipeThrough(x(b,!0)).pipeThrough(z())}async function E(a,{delayDataUntilFirstHtmlChunk:b,inlinedDataStream:c,getServerInsertedHTML:d,getServerInsertedMetadata:e}){return a.pipeThrough(s()).pipeThrough(w(d)).pipeThrough(v(e)).pipeThrough(x(c,b)).pipeThrough(z())}function F(){return o(y)}},51318:(a,b,c)=>{"use strict";a.exports=c(9907)},52237:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"addPathSuffix",{enumerable:!0,get:function(){return e}});let d=c(2213);function e(a,b){if(!a.startsWith("/")||!b)return a;let{pathname:c,query:e,hash:f}=(0,d.parsePath)(a);return""+c+b+e+f}},52318:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{BailoutToCSRError:function(){return d},isBailoutToCSRError:function(){return e}});let c="BAILOUT_TO_CLIENT_SIDE_RENDERING";class d extends Error{constructor(a){super("Bail out to client-side rendering: "+a),this.reason=a,this.digest=c}}function e(a){return"object"==typeof a&&null!==a&&"digest"in a&&a.digest===c}},52577:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{DynamicServerError:function(){return d},isDynamicServerError:function(){return e}});let c="DYNAMIC_SERVER_USAGE";class d extends Error{constructor(a){super("Dynamic server usage: "+a),this.description=a,this.digest=c}}function e(a){return"object"==typeof a&&null!==a&&"digest"in a&&"string"==typeof a.digest&&a.digest===c}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},52644:(a,b,c)=>{"use strict";a.exports=c.p+"static/media/check-disk-encryption.6b124b4e.mjs"},52741:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"notFound",{enumerable:!0,get:function(){return e}});let d=""+c(15570).HTTP_ERROR_FALLBACK_ERROR_CODE+";404";function e(){let a=Object.defineProperty(Error(d),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});throw a.digest=d,a}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},53476:(a,b)=>{"use strict";function c(a,b){if(0===b.length)return 0;if(0===a.length||b.length>a.length)return -1;for(let c=0;c<=a.length-b.length;c++){let d=!0;for(let e=0;e<b.length;e++)if(a[c+e]!==b[e]){d=!1;break}if(d)return c}return -1}function d(a,b){if(a.length!==b.length)return!1;for(let c=0;c<a.length;c++)if(a[c]!==b[c])return!1;return!0}function e(a,b){let d=c(a,b);if(0===d)return a.subarray(b.length);if(!(d>-1))return a;{let c=new Uint8Array(a.length-b.length);return c.set(a.slice(0,d)),c.set(a.slice(d+b.length),d),c}}Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{indexOfUint8Array:function(){return c},isEquivalentUint8Arrays:function(){return d},removeFromUint8Array:function(){return e}})},54151:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(21124),e=c(38301);function f({name:a="folder_path",value:b,onChange:c,inputRef:f,placeholder:g="/Users/you/Documents/my-project"}){let[h,i]=e.useState(null),[j,k]=e.useState(!1),[l,m]=e.useState(""),[n,o]=e.useState(""),[p,q]=e.useState(null);async function r(){let a;if(i(null),!navigator.clipboard?.readText)return void i({kind:"error",message:"Clipboard not available."});try{a=await navigator.clipboard.readText()}catch{i({kind:"error",message:"Allow clipboard access."});return}let b=(a||"").trim();if((b.startsWith('"')&&b.endsWith('"')||b.startsWith("'")&&b.endsWith("'"))&&(b=b.slice(1,-1)),b.startsWith("file://"))try{b=decodeURI(b.slice(7))}catch{}return b?b.startsWith("/")||b.startsWith("~")?void(c(b),i({kind:"success",message:"Pasted."})):void i({kind:"error",message:"Path must be absolute."}):void i({kind:"error",message:"Clipboard is empty."})}async function s(){i(null),q("pick");try{let a=await fetch("/api/fs/pick-folder",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({title:"Choose project folder",start_path:b&&b.startsWith("/")?b:void 0})});if(499===a.status)return void i({kind:"error",message:"Cancelled."});let d=await a.json();if(!a.ok)return void i({kind:"error",message:d.error||"Picker failed."});c(d.folder_path),i({kind:"success",message:`Selected ${d.folder_path}`})}catch(a){i({kind:"error",message:String(a?.message||a)})}finally{q(null)}}async function t(){if(i(null),!l.trim()||!n.trim())return void i({kind:"error",message:"Parent and name required."});q("create");try{let a=await fetch("/api/fs/create-folder",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({parent:l.trim(),name:n.trim()})}),b=await a.json();if(!a.ok)return void i({kind:"error",message:b.error||"Create failed."});c(b.folder_path),k(!1),o(""),i({kind:"success",message:`Created ${b.folder_path}`})}catch(a){i({kind:"error",message:String(a?.message||a)})}finally{q(null)}}return e.useEffect(()=>{j&&!l&&m(b||"~/Documents")},[j,b,l]),(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"agents-modal-paste-row",children:[(0,d.jsx)("input",{ref:f,name:a,type:"text",placeholder:g,autoComplete:"off",spellCheck:!1,value:b||"",onChange:a=>{c(a.target.value),h&&i(null)},required:!0}),(0,d.jsx)("button",{type:"button",className:"admin-button secondary",onClick:s,disabled:"pick"===p,children:"pick"===p?"Opening…":"Choose folder…"})]}),(0,d.jsxs)("div",{className:"agents-modal-folder-tools",children:[(0,d.jsx)("button",{type:"button",className:"admin-button secondary",onClick:r,children:"Paste from clipboard"}),(0,d.jsx)("button",{type:"button",className:"admin-button secondary",onClick:()=>c("~/Documents"),children:"~/Documents"}),(0,d.jsx)("button",{type:"button",className:"admin-button secondary",onClick:()=>c("~/Desktop"),children:"~/Desktop"}),(0,d.jsx)("button",{type:"button",className:"admin-button secondary",onClick:()=>k(a=>!a),children:j?"Cancel new folder":"+ New folder"})]}),j?(0,d.jsxs)("div",{className:"agents-modal-create-folder",children:[(0,d.jsx)("small",{children:"Create a folder anywhere outside system directories. Parent must exist."}),(0,d.jsx)("div",{className:"agents-modal-create-row",children:(0,d.jsx)("input",{type:"text",placeholder:"Parent (e.g. ~/Documents)",value:l,onChange:a=>m(a.target.value),spellCheck:!1,autoComplete:"off"})}),(0,d.jsxs)("div",{className:"agents-modal-create-row",children:[(0,d.jsx)("input",{type:"text",placeholder:"New folder name",value:n,onChange:a=>o(a.target.value),spellCheck:!1,autoComplete:"off"}),(0,d.jsx)("button",{type:"button",className:"admin-button",onClick:t,disabled:"create"===p,children:"create"===p?"Creating…":"Create"})]})]}):null,h?(0,d.jsx)("p",{className:`agents-modal-feedback ${h.kind}`,role:"status","aria-live":"polite",children:h.message}):null]})}},54210:(a,b,c)=>{"use strict";let d;Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{arrayBufferToString:function(){return h},decrypt:function(){return k},encrypt:function(){return j},getActionEncryptionKey:function(){return p},getClientReferenceManifestForRsc:function(){return o},getServerModuleMap:function(){return n},setReferenceManifestsSingleton:function(){return m},stringToUint8Array:function(){return i}});let e=c(58871),f=c(17916),g=c(29294);function h(a){let b=new Uint8Array(a),c=b.byteLength;if(c<65535)return String.fromCharCode.apply(null,b);let d="";for(let a=0;a<c;a++)d+=String.fromCharCode(b[a]);return d}function i(a){let b=a.length,c=new Uint8Array(b);for(let d=0;d<b;d++)c[d]=a.charCodeAt(d);return c}function j(a,b,c){return crypto.subtle.encrypt({name:"AES-GCM",iv:b},a,c)}function k(a,b,c){return crypto.subtle.decrypt({name:"AES-GCM",iv:b},a,c)}let l=Symbol.for("next.server.action-manifests");function m({page:a,clientReferenceManifest:b,serverActionsManifest:c,serverModuleMap:d}){var e;let g=null==(e=globalThis[l])?void 0:e.clientReferenceManifestsPerPage;globalThis[l]={clientReferenceManifestsPerPage:{...g,[(0,f.normalizeAppPath)(a)]:b},serverActionsManifest:c,serverModuleMap:d}}function n(){let a=globalThis[l];if(!a)throw Object.defineProperty(new e.InvariantError("Missing manifest for Server Actions."),"__NEXT_ERROR_CODE",{value:"E606",enumerable:!1,configurable:!0});return a.serverModuleMap}function o(){let a=globalThis[l];if(!a)throw Object.defineProperty(new e.InvariantError("Missing manifest for Server Actions."),"__NEXT_ERROR_CODE",{value:"E606",enumerable:!1,configurable:!0});let{clientReferenceManifestsPerPage:b}=a,c=g.workAsyncStorage.getStore();if(!c){var d=b;let a=Object.values(d),c={clientModules:{},edgeRscModuleMapping:{},rscModuleMapping:{}};for(let b of a)c.clientModules={...c.clientModules,...b.clientModules},c.edgeRscModuleMapping={...c.edgeRscModuleMapping,...b.edgeRscModuleMapping},c.rscModuleMapping={...c.rscModuleMapping,...b.rscModuleMapping};return c}let f=b[c.route];if(!f)throw Object.defineProperty(new e.InvariantError(`Missing Client Reference Manifest for ${c.route}.`),"__NEXT_ERROR_CODE",{value:"E570",enumerable:!1,configurable:!0});return f}async function p(){if(d)return d;let a=globalThis[l];if(!a)throw Object.defineProperty(new e.InvariantError("Missing manifest for Server Actions."),"__NEXT_ERROR_CODE",{value:"E606",enumerable:!1,configurable:!0});let b=process.env.NEXT_SERVER_ACTIONS_ENCRYPTION_KEY||a.serverActionsManifest.encryptionKey;if(void 0===b)throw Object.defineProperty(new e.InvariantError("Missing encryption key for Server Actions"),"__NEXT_ERROR_CODE",{value:"E571",enumerable:!1,configurable:!0});return d=await crypto.subtle.importKey("raw",i(atob(b)),"AES-GCM",!0,["encrypt","decrypt"])}},54353:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{DOC_PREFETCH_RANGE_HEADER_VALUE:function(){return d},doesExportedHtmlMatchBuildId:function(){return g},insertBuildIdComment:function(){return f}});let c="<!DOCTYPE html>",d="bytes=0-63";function e(a){return a.slice(0,24).replace(/-/g,"_")}function f(a,b){return b.includes("--\x3e")||!a.startsWith(c)?a:a.replace(c,c+"\x3c!--"+e(b)+"--\x3e")}function g(a,b){return a.startsWith(c+"\x3c!--"+e(b)+"--\x3e")}},54591:(a,b,c)=>{"use strict";function d(a={}){let b=Number(a.price_au_usd_oz??0),c=Number(a.payable_production_oz_per_year??0),e=Math.max(0,Math.floor(Number(a.life_years??0))),f=Number(a.opex_annual??0),g=Number(a.sustaining_capex??0),h=Number(a.royalties??0),i=Number(a.taxes??0),j=Number(a.closure_provision??0),k=Number(a.discount_rate??.08);if(!b||!c||!e)return{valuation_tier:"t2_dcf",status:"insufficient_inputs",npv_usd:null,annual_cash_flows:[]};let l=[],m=0;for(let a=1;a<=e;a++){let d=c*b,n=d-f-g-h-i-(a===e?j:0),o=1/(1+k)**a*n;m+=o,l.push({year:a,revenue_usd:d,free_cash_flow_usd:n,discounted_fcf_usd:o})}return{valuation_tier:"t2_dcf",status:"ok",npv_usd:Math.round(100*m)/100,discount_rate:k,annual_cash_flows:l.map(a=>({year:a.year,revenue_usd:Math.round(100*a.revenue_usd)/100,free_cash_flow_usd:Math.round(100*a.free_cash_flow_usd)/100,discounted_fcf_usd:Math.round(100*a.discounted_fcf_usd)/100}))}}c.d(b,{d:()=>d})},55864:(a,b,c)=>{Promise.resolve().then(c.bind(c,94657)),Promise.resolve().then(c.bind(c,9271)),Promise.resolve().then(c.bind(c,37005)),Promise.resolve().then(c.bind(c,6468)),Promise.resolve().then(c.t.bind(c,3991,23))},56534:(a,b,c)=>{"use strict";function d(a){return a.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}c.d(b,{B:()=>d})},56557:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return n}});let d=c(3017),e=c(31730),f=c(9027),g=c(86331),h=c(90914);function i(a,b){if(!a)return b;let c=parseInt(a,10);return Number.isFinite(c)&&c>0?c:b}!function(a,b){Object.keys(a).forEach(function(c){"default"===c||Object.prototype.hasOwnProperty.call(b,c)||Object.defineProperty(b,c,{enumerable:!0,get:function(){return a[c]}})})}(c(94062),b);let j=i(process.env.NEXT_PRIVATE_RESPONSE_CACHE_TTL,1e4),k=i(process.env.NEXT_PRIVATE_RESPONSE_CACHE_MAX_SIZE,150),l="__ttl_sentinel__";function m(a,b){return`${a}\0${b??l}`}class n{constructor(a,b=k,c=j){this.batcher=d.Batcher.create({cacheKeyFn:({key:a,isOnDemandRevalidate:b})=>`${a}-${b?"1":"0"}`,schedulerFn:g.scheduleOnNextTick}),this.revalidateBatcher=d.Batcher.create({schedulerFn:g.scheduleOnNextTick}),this.evictedInvocationIDs=new Set,this.minimal_mode=a,this.maxSize=b,this.ttl=c,this.cache=new e.LRUCache(b,void 0,a=>{let b=function(a){let b=a.lastIndexOf("\0");if(-1===b)return;let c=a.slice(b+1);return c===l?void 0:c}(a);if(b){if(this.evictedInvocationIDs.size>=100){let a=this.evictedInvocationIDs.values().next().value;a&&this.evictedInvocationIDs.delete(a)}this.evictedInvocationIDs.add(b)}})}async get(a,b,c){if(!a)return b({hasResolved:!1,previousCacheEntry:null});if(this.minimal_mode){let b=m(a,c.invocationID),d=this.cache.get(b);if(d){if(void 0!==c.invocationID)return(0,h.toResponseCacheEntry)(d.entry);let a=Date.now();if(d.expiresAt>a)return(0,h.toResponseCacheEntry)(d.entry);this.cache.remove(b)}c.invocationID&&this.evictedInvocationIDs.has(c.invocationID)&&(0,f.warnOnce)(`Response cache entry was evicted for invocation ${c.invocationID}. Consider increasing NEXT_PRIVATE_RESPONSE_CACHE_MAX_SIZE (current: ${this.maxSize}).`)}let{incrementalCache:d,isOnDemandRevalidate:e=!1,isFallback:g=!1,isRoutePPREnabled:i=!1,isPrefetch:j=!1,waitUntil:k,routeKind:l,invocationID:n}=c,o=await this.batcher.batch({key:a,isOnDemandRevalidate:e},(c,f)=>{let h=this.handleGet(a,b,{incrementalCache:d,isOnDemandRevalidate:e,isFallback:g,isRoutePPREnabled:i,isPrefetch:j,routeKind:l,invocationID:n},f);return k&&k(h),h});return(0,h.toResponseCacheEntry)(o)}async handleGet(a,b,c,d){let e=null,f=!1;try{if((e=this.minimal_mode?null:await c.incrementalCache.get(a,{kind:(0,h.routeKindToIncrementalCacheKind)(c.routeKind),isRoutePPREnabled:c.isRoutePPREnabled,isFallback:c.isFallback}))&&!c.isOnDemandRevalidate&&(d(e),f=!0,!e.isStale||c.isPrefetch))return e;let g=await this.revalidate(a,c.incrementalCache,c.isRoutePPREnabled,c.isFallback,b,e,null!==e&&!c.isOnDemandRevalidate,void 0,c.invocationID);if(!g){if(this.minimal_mode){let b=m(a,c.invocationID);this.cache.remove(b)}return null}return c.isOnDemandRevalidate,g}catch(a){if(f)return console.error(a),null;throw a}}async revalidate(a,b,c,d,e,f,g,h,i){return this.revalidateBatcher.batch(a,()=>{let j=this.handleRevalidate(a,b,c,d,e,f,g,i);return h&&h(j),j})}async handleRevalidate(a,b,c,d,e,f,g,i){try{let j=await e({hasResolved:g,previousCacheEntry:f,isRevalidating:!0});if(!j)return null;let k=await (0,h.fromResponseCacheEntry)({...j,isMiss:!f});if(k.cacheControl)if(this.minimal_mode){let b=m(a,i);this.cache.set(b,{entry:k,expiresAt:Date.now()+this.ttl})}else await b.set(a,k.value,{cacheControl:k.cacheControl,isRoutePPREnabled:c,isFallback:d});return k}catch(e){if(null==f?void 0:f.cacheControl){let e=Math.min(Math.max(f.cacheControl.revalidate||3,3),30),g=void 0===f.cacheControl.expire?void 0:Math.max(e+3,f.cacheControl.expire);await b.set(a,f.value,{cacheControl:{revalidate:e,expire:g},isRoutePPREnabled:c,isFallback:d})}throw e}}}},57100:(a,b)=>{"use strict";function c(a,b){let c;if((null==b?void 0:b.host)&&!Array.isArray(b.host))c=b.host.toString().split(":",1)[0];else{if(!a.hostname)return;c=a.hostname}return c.toLowerCase()}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getHostname",{enumerable:!0,get:function(){return c}})},57403:(a,b,c)=>{"use strict";let d,e;c.d(b,{K3:()=>f,rU:()=>l,tj:()=>j});let f=Number(process.env.MINES_OCR_THRESHOLD_CHARS_PER_PAGE)||80,g=process.env.MINES_OCR_LANGS||"spa+eng";async function h(){return void 0===d&&(d=(async()=>{try{return await import("tesseract.js")}catch{return null}})().catch(()=>null)),d}async function i(){return void 0===e&&(e=(async()=>{try{let a=await import("pdf-to-png-converter");if("function"==typeof a?.pdfToPng)return async b=>(await a.pdfToPng(b,{viewportScale:2})).map((a,b)=>({page:a.pageNumber||b+1,buffer:a.content}))}catch{}return null})().catch(()=>null)),e}function j(a,b){let c=b;return(null==c||Number.isNaN(Number(c)))&&(c=String(a??"").trim().length),Number(c)<f}async function k(a,b=g){let c=await h(),d=c?.recognize||c?.default?.recognize;if("function"!=typeof d)return null;try{let{data:c}=await d(a,b);return{text:String(c?.text||""),confidence:Number(c?.confidence??0)}}catch{return null}}async function l(a,b){let c,d=await i(),e=await h();if(!d||!e)return{available:!1,pages:[]};try{c=await d(a)}catch{return{available:!1,pages:[]}}let[f,g]=Array.isArray(b)?b:[null,null],j=[];for(let a of c){if(null!=f&&a.page<f||null!=g&&a.page>g)continue;let b=await k(a.buffer);j.push({page:a.page,text:b?.text||"",confidence:b?.confidence??0})}return{available:!0,pages:j}}},57647:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{pz:()=>j,yi:()=>i}),c(73024),c(76760);var e=c(84104);c(83498);var f=c(42382),g=c(40266),h=a([e,f,g]);[e,f,g]=h.then?(await h)():h;let k=[["project-watcher","Project Watcher","project_watcher","claude-code",["gh_repo_read","gh_issue_list","gh_pr_list","web_fetch","file_read"],["investigate","retro"],"Watches repos, issues, PRs, deploys, and produces weekly project pulses."],["personal-assistant","Personal Assistant","personal_assistant","anthropic",["gmail_messages_list","gmail_message_read","calendar_events_list","whatsapp_send"],[],"Reads inbox and calendar context, drafts replies, and keeps the operator organized."],["engineering-lead","Engineering Lead","engineering_lead","claude-code",["gh_repo_read","gh_issue_list","gh_pr_list","terminal_run","file_read","file_write"],["investigate","review","ship","qa"],"Leads implementation, review, QA, and preview deploys with explicit approval gates."],["marketing-lead","Marketing Lead","marketing_lead","anthropic",["web_search","web_fetch","file_write","create_artifact"],["design-shotgun","impeccable"],"Creates market research, launch copy, positioning, and design briefs."],["meeting-notes","Meeting Notes Taker","meeting_notes","anthropic",["transcribe_audio","file_write","create_artifact"],[],"Turns recordings into transcripts, decisions, action items, and follow-ups."],["bug-triage","Bug Triage Specialist","bug_triage","claude-code",["gh_issue_list","gh_pr_list","file_read"],["investigate"],"Classifies incoming bugs and proposes severity and next actions."],["phase-runner","Phase Runner","phase_runner","claude-code",["file_read","file_write","terminal_run"],["ship"],"Executes approved implementation phases and reports blockers."],["code-reviewer","Code Reviewer","code_reviewer","claude-code",["file_read","gh_pr_list"],["review"],"Provides independent diff review before merge."],["competitor-scout","Competitor Scout","competitor_scout","anthropic",["web_search","web_fetch","create_artifact"],[],"Tracks competitor movement and summarizes weekly signals."],["finance-ops","Finance and Ops","finance_ops","anthropic",["file_read","create_artifact"],[],"Reads finance docs and drafts advisory runway and ops summaries."],["legal-compliance","Legal and Compliance","legal_compliance","anthropic",["file_read","web_fetch","create_artifact"],[],"Reviews policy and compliance documents as advisory output only."],["customer-support","Customer Support","customer_support","anthropic",["gmail_message_read","file_write"],[],"Drafts customer replies and escalates approval-required sends."]].map(([a,b,c,d,e,f,g])=>({slug:a,title:b,role:c,engine_default:d,tools_required:e,tools_optional:[],skills:f,memory_scopes:["agent","project"],approval_profile:"personal_assistant"===c?"strict":"standard",description_long:g}));k.push({slug:"tool-smith",title:"Tool Smith",role:"tool_smith",engine_default:"claude-code",tools_required:["create_skill","update_skill","create_composite_tool","update_composite_tool","create_connector","update_connector","propose_tool","web_search","web_fetch","file_read"],tools_optional:[],skills:["plan","review"],memory_scopes:["agent","project"],approval_profile:"standard",description_long:"Authors reusable capabilities for the marketplace — declarative skills, composite tools chaining existing primitives, and REST API connectors. For non-REST integrations it proposes reviewable code; it never executes self-authored code.",system_prompt:'You are Tool Smith, the capability-authoring agent. Your only job is to author\nreusable capabilities other agents can use, and publish them to the marketplace.\n\nPick the RIGHT authoring path for each request:\n • A recipe chaining tools that ALREADY exist -> author a COMPOSITE TOOL\n (create_composite_tool). Reference only existing primitive tools; the\n composite inherits the MAX risk of its steps and every gate re-fires per\n step. Use this for "do X then Y then summarize" style capabilities.\n • A new REST API (Notion, Linear, Stripe, Airtable, ...) -> author a CONNECTOR\n (create_connector) with a declarative manifest: https base_url, allowed_hosts,\n secret-by-reference auth (NEVER paste a raw key — reference it by name, e.g.\n NOTION_TOKEN), and per-endpoint method/path/risk. Each endpoint becomes a\n callable <slug>.<endpoint> tool the instant the owner supplies the key once.\n • A reusable instruction/prompt recipe an LLM follows with tools it already\n has -> author a SKILL (create_skill).\n • A genuinely new integration that is NOT REST (binary, SDK-only, websockets,\n complex OAuth) -> propose_tool. This stages reviewable code; it is INERT and\n a human must merge + restart. You never execute self-authored code.\n\nHard rules: never put a raw secret in a connector manifest. Never declare a\ndestructive endpoint as low risk — the validator clamps writes to medium and\nhigh/irreversible endpoints always require human approval at run time. When asked\nfor a capability that already exists, say so instead of duplicating it.'});let l=["project-watcher","personal-assistant","engineering-lead","marketing-lead","meeting-notes"];function i(a=(0,e.Lf)()){if(globalThis.__madarxAgentTemplatesSeeded)return;let b=(0,e.kF)();for(let c of k)a.prepare(`INSERT INTO marketplace_items (id, kind, slug, title, description, category, author, source_kind, version, manifest_json, risk_summary, tags, created_at)
|
|
999
|
+
`))}})}async function B(a,{suffix:b,inlinedDataStream:c,isStaticGeneration:d,isBuildTimePrerendering:e,buildId:h,getServerInsertedHTML:i,getServerInsertedMetadata:j,validateRootLayout:k}){let l,n,o=b?b.split(y,1)[0]:null;d&&await a.allReady;var p=[s(),t(e,h),v(j),null!=o&&o.length>0?(n=!1,new TransformStream({transform(a,b){if(b.enqueue(a),!n){n=!0;let a=new f.DetachedPromise;l=a,(0,g.scheduleImmediate)(()=>{try{b.enqueue(m.encode(o))}catch{}finally{l=void 0,a.resolve()}})}},flush(a){if(l)return l.promise;n||a.enqueue(m.encode(o))}})):null,c?x(c,!0):null,k?A():null,z(),w(i)];let q=a;for(let a of p)a&&(q=q.pipeThrough(a));return q}async function C(a,{getServerInsertedHTML:b,getServerInsertedMetadata:c}){return a.pipeThrough(s()).pipeThrough(new TransformStream({transform(a,b){(0,i.isEquivalentUint8Arrays)(a,h.ENCODED_TAGS.CLOSED.BODY_AND_HTML)||(0,i.isEquivalentUint8Arrays)(a,h.ENCODED_TAGS.CLOSED.BODY)||(0,i.isEquivalentUint8Arrays)(a,h.ENCODED_TAGS.CLOSED.HTML)||(a=(0,i.removeFromUint8Array)(a,h.ENCODED_TAGS.CLOSED.BODY),a=(0,i.removeFromUint8Array)(a,h.ENCODED_TAGS.CLOSED.HTML),b.enqueue(a))}})).pipeThrough(w(b)).pipeThrough(v(c))}async function D(a,{inlinedDataStream:b,getServerInsertedHTML:c,getServerInsertedMetadata:d,isBuildTimePrerendering:e,buildId:f}){return a.pipeThrough(s()).pipeThrough(t(e,f)).pipeThrough(w(c)).pipeThrough(v(d)).pipeThrough(x(b,!0)).pipeThrough(z())}async function E(a,{delayDataUntilFirstHtmlChunk:b,inlinedDataStream:c,getServerInsertedHTML:d,getServerInsertedMetadata:e}){return a.pipeThrough(s()).pipeThrough(w(d)).pipeThrough(v(e)).pipeThrough(x(c,b)).pipeThrough(z())}function F(){return o(y)}},51318:(a,b,c)=>{"use strict";a.exports=c(9907)},52237:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"addPathSuffix",{enumerable:!0,get:function(){return e}});let d=c(2213);function e(a,b){if(!a.startsWith("/")||!b)return a;let{pathname:c,query:e,hash:f}=(0,d.parsePath)(a);return""+c+b+e+f}},52318:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{BailoutToCSRError:function(){return d},isBailoutToCSRError:function(){return e}});let c="BAILOUT_TO_CLIENT_SIDE_RENDERING";class d extends Error{constructor(a){super("Bail out to client-side rendering: "+a),this.reason=a,this.digest=c}}function e(a){return"object"==typeof a&&null!==a&&"digest"in a&&a.digest===c}},52577:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{DynamicServerError:function(){return d},isDynamicServerError:function(){return e}});let c="DYNAMIC_SERVER_USAGE";class d extends Error{constructor(a){super("Dynamic server usage: "+a),this.description=a,this.digest=c}}function e(a){return"object"==typeof a&&null!==a&&"digest"in a&&"string"==typeof a.digest&&a.digest===c}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},52644:(a,b,c)=>{"use strict";a.exports=c.p+"static/media/check-disk-encryption.6b124b4e.mjs"},52741:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"notFound",{enumerable:!0,get:function(){return e}});let d=""+c(15570).HTTP_ERROR_FALLBACK_ERROR_CODE+";404";function e(){let a=Object.defineProperty(Error(d),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});throw a.digest=d,a}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},53476:(a,b)=>{"use strict";function c(a,b){if(0===b.length)return 0;if(0===a.length||b.length>a.length)return -1;for(let c=0;c<=a.length-b.length;c++){let d=!0;for(let e=0;e<b.length;e++)if(a[c+e]!==b[e]){d=!1;break}if(d)return c}return -1}function d(a,b){if(a.length!==b.length)return!1;for(let c=0;c<a.length;c++)if(a[c]!==b[c])return!1;return!0}function e(a,b){let d=c(a,b);if(0===d)return a.subarray(b.length);if(!(d>-1))return a;{let c=new Uint8Array(a.length-b.length);return c.set(a.slice(0,d)),c.set(a.slice(d+b.length),d),c}}Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{indexOfUint8Array:function(){return c},isEquivalentUint8Arrays:function(){return d},removeFromUint8Array:function(){return e}})},54151:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(21124),e=c(38301);function f({name:a="folder_path",value:b,onChange:c,inputRef:f,placeholder:g="/Users/you/Documents/my-project"}){let[h,i]=e.useState(null),[j,k]=e.useState(!1),[l,m]=e.useState(""),[n,o]=e.useState(""),[p,q]=e.useState(null);async function r(){let a;if(i(null),!navigator.clipboard?.readText)return void i({kind:"error",message:"Clipboard not available."});try{a=await navigator.clipboard.readText()}catch{i({kind:"error",message:"Allow clipboard access."});return}let b=(a||"").trim();if((b.startsWith('"')&&b.endsWith('"')||b.startsWith("'")&&b.endsWith("'"))&&(b=b.slice(1,-1)),b.startsWith("file://"))try{b=decodeURI(b.slice(7))}catch{}return b?b.startsWith("/")||b.startsWith("~")?void(c(b),i({kind:"success",message:"Pasted."})):void i({kind:"error",message:"Path must be absolute."}):void i({kind:"error",message:"Clipboard is empty."})}async function s(){i(null),q("pick");try{let a=await fetch("/api/fs/pick-folder",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({title:"Choose project folder",start_path:b&&b.startsWith("/")?b:void 0})});if(499===a.status)return void i({kind:"error",message:"Cancelled."});let d=await a.json();if(!a.ok)return void i({kind:"error",message:d.error||"Picker failed."});c(d.folder_path),i({kind:"success",message:`Selected ${d.folder_path}`})}catch(a){i({kind:"error",message:String(a?.message||a)})}finally{q(null)}}async function t(){if(i(null),!l.trim()||!n.trim())return void i({kind:"error",message:"Parent and name required."});q("create");try{let a=await fetch("/api/fs/create-folder",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({parent:l.trim(),name:n.trim()})}),b=await a.json();if(!a.ok)return void i({kind:"error",message:b.error||"Create failed."});c(b.folder_path),k(!1),o(""),i({kind:"success",message:`Created ${b.folder_path}`})}catch(a){i({kind:"error",message:String(a?.message||a)})}finally{q(null)}}return e.useEffect(()=>{j&&!l&&m(b||"~/Documents")},[j,b,l]),(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"agents-modal-paste-row",children:[(0,d.jsx)("input",{ref:f,name:a,type:"text",placeholder:g,autoComplete:"off",spellCheck:!1,value:b||"",onChange:a=>{c(a.target.value),h&&i(null)},required:!0}),(0,d.jsx)("button",{type:"button",className:"admin-button secondary",onClick:s,disabled:"pick"===p,children:"pick"===p?"Opening…":"Choose folder…"})]}),(0,d.jsxs)("div",{className:"agents-modal-folder-tools",children:[(0,d.jsx)("button",{type:"button",className:"admin-button secondary",onClick:r,children:"Paste from clipboard"}),(0,d.jsx)("button",{type:"button",className:"admin-button secondary",onClick:()=>c("~/Documents"),children:"~/Documents"}),(0,d.jsx)("button",{type:"button",className:"admin-button secondary",onClick:()=>c("~/Desktop"),children:"~/Desktop"}),(0,d.jsx)("button",{type:"button",className:"admin-button secondary",onClick:()=>k(a=>!a),children:j?"Cancel new folder":"+ New folder"})]}),j?(0,d.jsxs)("div",{className:"agents-modal-create-folder",children:[(0,d.jsx)("small",{children:"Create a folder anywhere outside system directories. Parent must exist."}),(0,d.jsx)("div",{className:"agents-modal-create-row",children:(0,d.jsx)("input",{type:"text",placeholder:"Parent (e.g. ~/Documents)",value:l,onChange:a=>m(a.target.value),spellCheck:!1,autoComplete:"off"})}),(0,d.jsxs)("div",{className:"agents-modal-create-row",children:[(0,d.jsx)("input",{type:"text",placeholder:"New folder name",value:n,onChange:a=>o(a.target.value),spellCheck:!1,autoComplete:"off"}),(0,d.jsx)("button",{type:"button",className:"admin-button",onClick:t,disabled:"create"===p,children:"create"===p?"Creating…":"Create"})]})]}):null,h?(0,d.jsx)("p",{className:`agents-modal-feedback ${h.kind}`,role:"status","aria-live":"polite",children:h.message}):null]})}},54210:(a,b,c)=>{"use strict";let d;Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{arrayBufferToString:function(){return h},decrypt:function(){return k},encrypt:function(){return j},getActionEncryptionKey:function(){return p},getClientReferenceManifestForRsc:function(){return o},getServerModuleMap:function(){return n},setReferenceManifestsSingleton:function(){return m},stringToUint8Array:function(){return i}});let e=c(58871),f=c(17916),g=c(29294);function h(a){let b=new Uint8Array(a),c=b.byteLength;if(c<65535)return String.fromCharCode.apply(null,b);let d="";for(let a=0;a<c;a++)d+=String.fromCharCode(b[a]);return d}function i(a){let b=a.length,c=new Uint8Array(b);for(let d=0;d<b;d++)c[d]=a.charCodeAt(d);return c}function j(a,b,c){return crypto.subtle.encrypt({name:"AES-GCM",iv:b},a,c)}function k(a,b,c){return crypto.subtle.decrypt({name:"AES-GCM",iv:b},a,c)}let l=Symbol.for("next.server.action-manifests");function m({page:a,clientReferenceManifest:b,serverActionsManifest:c,serverModuleMap:d}){var e;let g=null==(e=globalThis[l])?void 0:e.clientReferenceManifestsPerPage;globalThis[l]={clientReferenceManifestsPerPage:{...g,[(0,f.normalizeAppPath)(a)]:b},serverActionsManifest:c,serverModuleMap:d}}function n(){let a=globalThis[l];if(!a)throw Object.defineProperty(new e.InvariantError("Missing manifest for Server Actions."),"__NEXT_ERROR_CODE",{value:"E606",enumerable:!1,configurable:!0});return a.serverModuleMap}function o(){let a=globalThis[l];if(!a)throw Object.defineProperty(new e.InvariantError("Missing manifest for Server Actions."),"__NEXT_ERROR_CODE",{value:"E606",enumerable:!1,configurable:!0});let{clientReferenceManifestsPerPage:b}=a,c=g.workAsyncStorage.getStore();if(!c){var d=b;let a=Object.values(d),c={clientModules:{},edgeRscModuleMapping:{},rscModuleMapping:{}};for(let b of a)c.clientModules={...c.clientModules,...b.clientModules},c.edgeRscModuleMapping={...c.edgeRscModuleMapping,...b.edgeRscModuleMapping},c.rscModuleMapping={...c.rscModuleMapping,...b.rscModuleMapping};return c}let f=b[c.route];if(!f)throw Object.defineProperty(new e.InvariantError(`Missing Client Reference Manifest for ${c.route}.`),"__NEXT_ERROR_CODE",{value:"E570",enumerable:!1,configurable:!0});return f}async function p(){if(d)return d;let a=globalThis[l];if(!a)throw Object.defineProperty(new e.InvariantError("Missing manifest for Server Actions."),"__NEXT_ERROR_CODE",{value:"E606",enumerable:!1,configurable:!0});let b=process.env.NEXT_SERVER_ACTIONS_ENCRYPTION_KEY||a.serverActionsManifest.encryptionKey;if(void 0===b)throw Object.defineProperty(new e.InvariantError("Missing encryption key for Server Actions"),"__NEXT_ERROR_CODE",{value:"E571",enumerable:!1,configurable:!0});return d=await crypto.subtle.importKey("raw",i(atob(b)),"AES-GCM",!0,["encrypt","decrypt"])}},54353:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{DOC_PREFETCH_RANGE_HEADER_VALUE:function(){return d},doesExportedHtmlMatchBuildId:function(){return g},insertBuildIdComment:function(){return f}});let c="<!DOCTYPE html>",d="bytes=0-63";function e(a){return a.slice(0,24).replace(/-/g,"_")}function f(a,b){return b.includes("--\x3e")||!a.startsWith(c)?a:a.replace(c,c+"\x3c!--"+e(b)+"--\x3e")}function g(a,b){return a.startsWith(c+"\x3c!--"+e(b)+"--\x3e")}},54591:(a,b,c)=>{"use strict";function d(a={}){let b=Number(a.price_au_usd_oz??0),c=Number(a.payable_production_oz_per_year??0),e=Math.max(0,Math.floor(Number(a.life_years??0))),f=Number(a.opex_annual??0),g=Number(a.sustaining_capex??0),h=Number(a.royalties??0),i=Number(a.taxes??0),j=Number(a.closure_provision??0),k=Number(a.discount_rate??.08);if(!b||!c||!e)return{valuation_tier:"t2_dcf",status:"insufficient_inputs",npv_usd:null,annual_cash_flows:[]};let l=[],m=0;for(let a=1;a<=e;a++){let d=c*b,n=d-f-g-h-i-(a===e?j:0),o=1/(1+k)**a*n;m+=o,l.push({year:a,revenue_usd:d,free_cash_flow_usd:n,discounted_fcf_usd:o})}return{valuation_tier:"t2_dcf",status:"ok",npv_usd:Math.round(100*m)/100,discount_rate:k,annual_cash_flows:l.map(a=>({year:a.year,revenue_usd:Math.round(100*a.revenue_usd)/100,free_cash_flow_usd:Math.round(100*a.free_cash_flow_usd)/100,discounted_fcf_usd:Math.round(100*a.discounted_fcf_usd)/100}))}}c.d(b,{d:()=>d})},55864:(a,b,c)=>{Promise.resolve().then(c.bind(c,94657)),Promise.resolve().then(c.bind(c,26357)),Promise.resolve().then(c.bind(c,31860)),Promise.resolve().then(c.bind(c,23496)),Promise.resolve().then(c.t.bind(c,3991,23))},56534:(a,b,c)=>{"use strict";function d(a){return a.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}c.d(b,{B:()=>d})},56557:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return n}});let d=c(3017),e=c(31730),f=c(9027),g=c(86331),h=c(90914);function i(a,b){if(!a)return b;let c=parseInt(a,10);return Number.isFinite(c)&&c>0?c:b}!function(a,b){Object.keys(a).forEach(function(c){"default"===c||Object.prototype.hasOwnProperty.call(b,c)||Object.defineProperty(b,c,{enumerable:!0,get:function(){return a[c]}})})}(c(94062),b);let j=i(process.env.NEXT_PRIVATE_RESPONSE_CACHE_TTL,1e4),k=i(process.env.NEXT_PRIVATE_RESPONSE_CACHE_MAX_SIZE,150),l="__ttl_sentinel__";function m(a,b){return`${a}\0${b??l}`}class n{constructor(a,b=k,c=j){this.batcher=d.Batcher.create({cacheKeyFn:({key:a,isOnDemandRevalidate:b})=>`${a}-${b?"1":"0"}`,schedulerFn:g.scheduleOnNextTick}),this.revalidateBatcher=d.Batcher.create({schedulerFn:g.scheduleOnNextTick}),this.evictedInvocationIDs=new Set,this.minimal_mode=a,this.maxSize=b,this.ttl=c,this.cache=new e.LRUCache(b,void 0,a=>{let b=function(a){let b=a.lastIndexOf("\0");if(-1===b)return;let c=a.slice(b+1);return c===l?void 0:c}(a);if(b){if(this.evictedInvocationIDs.size>=100){let a=this.evictedInvocationIDs.values().next().value;a&&this.evictedInvocationIDs.delete(a)}this.evictedInvocationIDs.add(b)}})}async get(a,b,c){if(!a)return b({hasResolved:!1,previousCacheEntry:null});if(this.minimal_mode){let b=m(a,c.invocationID),d=this.cache.get(b);if(d){if(void 0!==c.invocationID)return(0,h.toResponseCacheEntry)(d.entry);let a=Date.now();if(d.expiresAt>a)return(0,h.toResponseCacheEntry)(d.entry);this.cache.remove(b)}c.invocationID&&this.evictedInvocationIDs.has(c.invocationID)&&(0,f.warnOnce)(`Response cache entry was evicted for invocation ${c.invocationID}. Consider increasing NEXT_PRIVATE_RESPONSE_CACHE_MAX_SIZE (current: ${this.maxSize}).`)}let{incrementalCache:d,isOnDemandRevalidate:e=!1,isFallback:g=!1,isRoutePPREnabled:i=!1,isPrefetch:j=!1,waitUntil:k,routeKind:l,invocationID:n}=c,o=await this.batcher.batch({key:a,isOnDemandRevalidate:e},(c,f)=>{let h=this.handleGet(a,b,{incrementalCache:d,isOnDemandRevalidate:e,isFallback:g,isRoutePPREnabled:i,isPrefetch:j,routeKind:l,invocationID:n},f);return k&&k(h),h});return(0,h.toResponseCacheEntry)(o)}async handleGet(a,b,c,d){let e=null,f=!1;try{if((e=this.minimal_mode?null:await c.incrementalCache.get(a,{kind:(0,h.routeKindToIncrementalCacheKind)(c.routeKind),isRoutePPREnabled:c.isRoutePPREnabled,isFallback:c.isFallback}))&&!c.isOnDemandRevalidate&&(d(e),f=!0,!e.isStale||c.isPrefetch))return e;let g=await this.revalidate(a,c.incrementalCache,c.isRoutePPREnabled,c.isFallback,b,e,null!==e&&!c.isOnDemandRevalidate,void 0,c.invocationID);if(!g){if(this.minimal_mode){let b=m(a,c.invocationID);this.cache.remove(b)}return null}return c.isOnDemandRevalidate,g}catch(a){if(f)return console.error(a),null;throw a}}async revalidate(a,b,c,d,e,f,g,h,i){return this.revalidateBatcher.batch(a,()=>{let j=this.handleRevalidate(a,b,c,d,e,f,g,i);return h&&h(j),j})}async handleRevalidate(a,b,c,d,e,f,g,i){try{let j=await e({hasResolved:g,previousCacheEntry:f,isRevalidating:!0});if(!j)return null;let k=await (0,h.fromResponseCacheEntry)({...j,isMiss:!f});if(k.cacheControl)if(this.minimal_mode){let b=m(a,i);this.cache.set(b,{entry:k,expiresAt:Date.now()+this.ttl})}else await b.set(a,k.value,{cacheControl:k.cacheControl,isRoutePPREnabled:c,isFallback:d});return k}catch(e){if(null==f?void 0:f.cacheControl){let e=Math.min(Math.max(f.cacheControl.revalidate||3,3),30),g=void 0===f.cacheControl.expire?void 0:Math.max(e+3,f.cacheControl.expire);await b.set(a,f.value,{cacheControl:{revalidate:e,expire:g},isRoutePPREnabled:c,isFallback:d})}throw e}}}},57100:(a,b)=>{"use strict";function c(a,b){let c;if((null==b?void 0:b.host)&&!Array.isArray(b.host))c=b.host.toString().split(":",1)[0];else{if(!a.hostname)return;c=a.hostname}return c.toLowerCase()}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getHostname",{enumerable:!0,get:function(){return c}})},57403:(a,b,c)=>{"use strict";let d,e;c.d(b,{K3:()=>f,rU:()=>l,tj:()=>j});let f=Number(process.env.MINES_OCR_THRESHOLD_CHARS_PER_PAGE)||80,g=process.env.MINES_OCR_LANGS||"spa+eng";async function h(){return void 0===d&&(d=(async()=>{try{return await import("tesseract.js")}catch{return null}})().catch(()=>null)),d}async function i(){return void 0===e&&(e=(async()=>{try{let a=await import("pdf-to-png-converter");if("function"==typeof a?.pdfToPng)return async b=>(await a.pdfToPng(b,{viewportScale:2})).map((a,b)=>({page:a.pageNumber||b+1,buffer:a.content}))}catch{}return null})().catch(()=>null)),e}function j(a,b){let c=b;return(null==c||Number.isNaN(Number(c)))&&(c=String(a??"").trim().length),Number(c)<f}async function k(a,b=g){let c=await h(),d=c?.recognize||c?.default?.recognize;if("function"!=typeof d)return null;try{let{data:c}=await d(a,b);return{text:String(c?.text||""),confidence:Number(c?.confidence??0)}}catch{return null}}async function l(a,b){let c,d=await i(),e=await h();if(!d||!e)return{available:!1,pages:[]};try{c=await d(a)}catch{return{available:!1,pages:[]}}let[f,g]=Array.isArray(b)?b:[null,null],j=[];for(let a of c){if(null!=f&&a.page<f||null!=g&&a.page>g)continue;let b=await k(a.buffer);j.push({page:a.page,text:b?.text||"",confidence:b?.confidence??0})}return{available:!0,pages:j}}},57647:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{pz:()=>j,yi:()=>i}),c(73024),c(76760);var e=c(84104);c(83498);var f=c(42382),g=c(40266),h=a([e,f,g]);[e,f,g]=h.then?(await h)():h;let k=[["project-watcher","Project Watcher","project_watcher","claude-code",["gh_repo_read","gh_issue_list","gh_pr_list","web_fetch","file_read"],["investigate","retro"],"Watches repos, issues, PRs, deploys, and produces weekly project pulses."],["personal-assistant","Personal Assistant","personal_assistant","anthropic",["gmail_messages_list","gmail_message_read","calendar_events_list","whatsapp_send"],[],"Reads inbox and calendar context, drafts replies, and keeps the operator organized."],["engineering-lead","Engineering Lead","engineering_lead","claude-code",["gh_repo_read","gh_issue_list","gh_pr_list","terminal_run","file_read","file_write"],["investigate","review","ship","qa"],"Leads implementation, review, QA, and preview deploys with explicit approval gates."],["marketing-lead","Marketing Lead","marketing_lead","anthropic",["web_search","web_fetch","file_write","create_artifact"],["design-shotgun","impeccable"],"Creates market research, launch copy, positioning, and design briefs."],["meeting-notes","Meeting Notes Taker","meeting_notes","anthropic",["transcribe_audio","file_write","create_artifact"],[],"Turns recordings into transcripts, decisions, action items, and follow-ups."],["bug-triage","Bug Triage Specialist","bug_triage","claude-code",["gh_issue_list","gh_pr_list","file_read"],["investigate"],"Classifies incoming bugs and proposes severity and next actions."],["phase-runner","Phase Runner","phase_runner","claude-code",["file_read","file_write","terminal_run"],["ship"],"Executes approved implementation phases and reports blockers."],["code-reviewer","Code Reviewer","code_reviewer","claude-code",["file_read","gh_pr_list"],["review"],"Provides independent diff review before merge."],["competitor-scout","Competitor Scout","competitor_scout","anthropic",["web_search","web_fetch","create_artifact"],[],"Tracks competitor movement and summarizes weekly signals."],["finance-ops","Finance and Ops","finance_ops","anthropic",["file_read","create_artifact"],[],"Reads finance docs and drafts advisory runway and ops summaries."],["legal-compliance","Legal and Compliance","legal_compliance","anthropic",["file_read","web_fetch","create_artifact"],[],"Reviews policy and compliance documents as advisory output only."],["customer-support","Customer Support","customer_support","anthropic",["gmail_message_read","file_write"],[],"Drafts customer replies and escalates approval-required sends."]].map(([a,b,c,d,e,f,g])=>({slug:a,title:b,role:c,engine_default:d,tools_required:e,tools_optional:[],skills:f,memory_scopes:["agent","project"],approval_profile:"personal_assistant"===c?"strict":"standard",description_long:g}));k.push({slug:"tool-smith",title:"Tool Smith",role:"tool_smith",engine_default:"claude-code",tools_required:["create_skill","update_skill","create_composite_tool","update_composite_tool","create_connector","update_connector","propose_tool","web_search","web_fetch","file_read"],tools_optional:[],skills:["plan","review"],memory_scopes:["agent","project"],approval_profile:"standard",description_long:"Authors reusable capabilities for the marketplace — declarative skills, composite tools chaining existing primitives, and REST API connectors. For non-REST integrations it proposes reviewable code; it never executes self-authored code.",system_prompt:'You are Tool Smith, the capability-authoring agent. Your only job is to author\nreusable capabilities other agents can use, and publish them to the marketplace.\n\nPick the RIGHT authoring path for each request:\n • A recipe chaining tools that ALREADY exist -> author a COMPOSITE TOOL\n (create_composite_tool). Reference only existing primitive tools; the\n composite inherits the MAX risk of its steps and every gate re-fires per\n step. Use this for "do X then Y then summarize" style capabilities.\n • A new REST API (Notion, Linear, Stripe, Airtable, ...) -> author a CONNECTOR\n (create_connector) with a declarative manifest: https base_url, allowed_hosts,\n secret-by-reference auth (NEVER paste a raw key — reference it by name, e.g.\n NOTION_TOKEN), and per-endpoint method/path/risk. Each endpoint becomes a\n callable <slug>.<endpoint> tool the instant the owner supplies the key once.\n • A reusable instruction/prompt recipe an LLM follows with tools it already\n has -> author a SKILL (create_skill).\n • A genuinely new integration that is NOT REST (binary, SDK-only, websockets,\n complex OAuth) -> propose_tool. This stages reviewable code; it is INERT and\n a human must merge + restart. You never execute self-authored code.\n\nHard rules: never put a raw secret in a connector manifest. Never declare a\ndestructive endpoint as low risk — the validator clamps writes to medium and\nhigh/irreversible endpoints always require human approval at run time. When asked\nfor a capability that already exists, say so instead of duplicating it.'});let l=["project-watcher","personal-assistant","engineering-lead","marketing-lead","meeting-notes"];function i(a=(0,e.Lf)()){if(globalThis.__madarxAgentTemplatesSeeded)return;let b=(0,e.kF)();for(let c of k)a.prepare(`INSERT INTO marketplace_items (id, kind, slug, title, description, category, author, source_kind, version, manifest_json, risk_summary, tags, created_at)
|
|
1000
1000
|
VALUES (?, 'agent', ?, ?, ?, ?, 'madarx', 'builtin', '1.0', ?, ?, ?, ?)
|
|
1001
1001
|
ON CONFLICT(kind, slug) DO UPDATE SET title=excluded.title, description=excluded.description, manifest_json=excluded.manifest_json, tags=excluded.tags`).run(`agent:${c.slug}`,c.slug,c.title,c.description_long,c.role,JSON.stringify({agent:c}),c.approval_profile,JSON.stringify([c.role,c.engine_default]),b);if("1"!==process.env.MADARX_SEED_DEFAULT_AGENTS){globalThis.__madarxAgentTemplatesSeeded=!0;return}let c=l.map(()=>"?").join(","),d=a.prepare(`SELECT COUNT(*) AS c FROM agent_template_installations
|
|
1002
1002
|
WHERE project_id = 'personal' AND template_slug IN (${c})`).get(...l);if(d?.c>=l.length){globalThis.__madarxAgentTemplatesSeeded=!0;return}for(let a of l)try{j(a,"personal",{seed:!0})}catch{}globalThis.__madarxAgentTemplatesSeeded=!0}function j(a,b="personal",c={}){let d=function(a){var b;let c=k.find(b=>b.slug===a);return c?c:(b=g.S.find(b=>b.slug===a))?{slug:b.slug,title:b.title,role:b.role,engine_default:b.engine_default,tools_required:Array.isArray(b.tools_required)?b.tools_required:[],tools_optional:Array.isArray(b.tools_optional)?b.tools_optional:[],skills:Array.isArray(b.skills)?b.skills:[],memory_scopes:["agent","project"],approval_profile:b.approval_profile||"standard",description_long:b.description_long,system_prompt:"string"==typeof b.system_prompt?b.system_prompt:null}:null}(a);if(!d)throw Error("agent template not found");let h=(0,e.Lf)(),i=h.prepare("SELECT * FROM agent_template_installations WHERE template_slug = ? AND project_id = ?").get(a,b);if(i&&!c.overwrite)return i;let l=c.agent_id||`${b}-${a}`.replace(/[^a-zA-Z0-9_-]/g,"-"),m=(0,f.Sn)({id:l,name:d.title,type:d.role,role:d.role,title:d.title,engine:d.engine_default,tools:d.tools_required,mission:d.description_long,system_prompt:d.system_prompt||void 0,approval:d.approval_profile,project_id:b,template_slug:a,suppress_live_event:!!c.seed});for(let a of d.tools_required)(0,f.Xr)(l,a,a.includes("write")||a.includes("send")||a.includes("terminal")?"approval_required":"auto");let n=(0,e.kF)();return h.prepare(`INSERT INTO agent_template_installations (id, template_slug, agent_id, project_id, installed_at, status)
|
|
1003
1003
|
VALUES (?, ?, ?, ?, ?, 'active')
|
|
1004
|
-
ON CONFLICT(template_slug, project_id) DO UPDATE SET agent_id=excluded.agent_id, installed_at=excluded.installed_at, status='active'`).run(`ati-${b}-${a}`,a,l,b,n),{template_slug:a,agent_id:l,project_id:b,installed_at:n,agent:m}}d()}catch(a){d(a)}})},57941:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"MISSING_ROOT_TAGS_ERROR",{enumerable:!0,get:function(){return c}});let c="NEXT_MISSING_ROOT_TAGS";("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},
|
|
1004
|
+
ON CONFLICT(template_slug, project_id) DO UPDATE SET agent_id=excluded.agent_id, installed_at=excluded.installed_at, status='active'`).run(`ati-${b}-${a}`,a,l,b,n),{template_slug:a,agent_id:l,project_id:b,installed_at:n,agent:m}}d()}catch(a){d(a)}})},57941:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"MISSING_ROOT_TAGS_ERROR",{enumerable:!0,get:function(){return c}});let c="NEXT_MISSING_ROOT_TAGS";("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},58871:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"InvariantError",{enumerable:!0,get:function(){return c}});class c extends Error{constructor(a,b){super("Invariant: "+(a.endsWith(".")?a:a+".")+" This is a bug in Next.js.",b),this.name="InvariantError"}}},58999:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"normalizeLocalePath",{enumerable:!0,get:function(){return d}});let c=new WeakMap;function d(a,b){let d;if(!b)return{pathname:a};let e=c.get(b);e||(e=b.map(a=>a.toLowerCase()),c.set(b,e));let f=a.split("/",2);if(!f[1])return{pathname:a};let g=f[1].toLowerCase(),h=e.indexOf(g);return h<0?{pathname:a}:(d=b[h],{pathname:a=a.slice(d.length+1)||"/",detectedLocale:d})}},59080:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{b:()=>h});var e=c(38985),f=c(41738),g=a([e,f]);async function h(a={},b={}){let c=a.file_id;if(!c)throw Error("file_id is required");let d=(0,e.mM)(c);if(!d)throw Error("source file not found");let g=!!(a.use_local||b.use_local),i=a.provider||b.provider;return d.local_only&&!g?{ok:!1,status:"allowlist_violation",reason:"local_only audio cannot be sent to remote providers; rerun with use_local=true",missing_entry:{tool_name:"transcribe_audio",scope_key:"audio_source",scope_value:`disk_file:${c}`}}:(0,f.Q)(c,{...b,...a,use_local:g,provider:i})}[e,f]=g.then?(await g)():g,d()}catch(a){d(a)}})},59498:(a,b,c)=>{"use strict";function d(a){return Array.isArray(a)?"array":null===a?"null":typeof a}function e(a,b){let c=[];return!function a(b,c,e,f){if(!c||"object"!=typeof c)return;let g=c.type;if("object"===g||!g&&c.properties){if("object"!==d(b))return void f.push(`${e}: expected object, got ${d(b)}`);let g=c.properties||{};for(let a of Array.isArray(c.required)?c.required:[])a in b&&void 0!==b[a]&&null!==b[a]||f.push(`${e}.${a}: required key missing`);for(let[c,d]of Object.entries(g))c in b&&void 0!==b[c]&&null!==b[c]&&a(b[c],d,`${e}.${c}`,f);return}if("array"===g){if(!Array.isArray(b))return void f.push(`${e}: expected array, got ${d(b)}`);let a=c.items?.type;return void("string"===a?b.forEach((a,b)=>{"string"!=typeof a&&f.push(`${e}[${b}]: expected string, got ${d(a)}`)}):"object"===a&&b.forEach((a,b)=>{"object"!==d(a)&&f.push(`${e}[${b}]: expected object, got ${d(a)}`)}))}if("string"===g||"number"===g||"boolean"===g){d(b)!==g&&f.push(`${e}: expected ${g}, got ${d(b)}`);return}}(a,f(b),"$",c),{ok:0===c.length,errors:c}}function f(a){if(a&&"object"==typeof a&&a.properties)return{type:"object",properties:a.properties,required:Array.isArray(a.required)?a.required:Object.keys(a.properties)};let b=a&&"object"==typeof a?a:{};return{type:"object",properties:b,required:Object.keys(b)}}c.d(b,{S:()=>e,l:()=>f})},59728:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{I:()=>o});var e=c(76760),f=c(84104),g=c(684),h=c(10022),i=c(78040),j=c(47735),k=c(96648),l=c(67644),m=c(37937),n=a([f,h,i,j,l,m]);[f,h,i,j,l,m]=n.then?(await n)():n;let p=new Set([".pdf",".docx",".pptx"]),q=new Set([".xlsx",".xls",".csv"]),r=new Set([".shp",".gdb",".mxd",".dxf",".dwg",".dbf",".shx",".prj",".adf",".raster"]),s=new Set([".jpg",".jpeg",".png",".tif",".tiff"]);async function o(a,b={}){let c=a?.project_id,d=a?.directory_root||a?.directory_path,n=!!a?.resume,t=[];if(!c)return{status:"error",error:"project_id_required"};if(!d)return{status:"error",error:"directory_root_required"};if(!(0,g.wn)(d)&&!(0,h.RB)(d,{org_id:b.org_id}))throw Error("allowlist_violation: directory_root is outside the OS-allowed or approved Mines import roots: "+d);let u=(0,i.xI)({org_id:b.org_id}),v=e.resolve(d),w=u.statFile(v);if(!w)return{status:"error",error:"directory_not_found",errors:["Directory does not exist: "+v]};if(!w.isDirectory)return{status:"error",error:"not_a_directory",errors:["Path is not a directory: "+v]};let x=(0,f.Lf)();if(!(b.org_id?(0,j.N)(c,b.org_id):x.prepare("SELECT id FROM mines_projects WHERE id = ?").get(c)))return{status:"error",error:"project_not_found"};let y=u.listFolder(v),z=x.prepare("SELECT id, extraction_status FROM mines_source_documents WHERE project_id = ? AND original_path = ? LIMIT 1"),A=x.prepare(`
|
|
1005
1005
|
INSERT OR IGNORE INTO mines_source_documents
|
|
1006
1006
|
(id, project_id, document_category, original_path, file_name, file_type,
|
|
1007
1007
|
file_size_bytes, sha256, extraction_status, language, ingested_by_agent_id,
|
|
@@ -1410,7 +1410,7 @@ HARD SAFETY RULES (non-negotiable — the package is rejected by the validator o
|
|
|
1410
1410
|
SET title=?, base_url=?, manifest_json=?, status='active', updated_at=?
|
|
1411
1411
|
WHERE slug=?`).run(d.title,d.base_url,l,h,d.slug):f.prepare(`INSERT INTO api_connectors
|
|
1412
1412
|
(slug, title, base_url, manifest_json, status, created_by_user_id, created_by_agent_id, created_at, updated_at)
|
|
1413
|
-
VALUES (?, ?, ?, ?, 'active', ?, ?, ?, ?)`).run(d.slug,d.title,d.base_url,l,b.created_by_user_id||null,b.created_by_agent_id||null,h,h),{slug:d.slug,endpoints:Object.keys(d.endpoints),tool_slugs:Object.keys(d.endpoints).map(a=>`${d.slug}.${a}`),secret_refs:i(d.auth),warnings:c.warnings}}function k(a){return(0,e.Lf)().prepare("SELECT * FROM api_connectors WHERE slug=? AND status='active'").get(a)||null}function l(a){if("string"!=typeof a)return null;let b=a.indexOf(".");if(b<=0)return null;let c=a.slice(0,b),d=a.slice(b+1),e=function(a){let b=k(a);if(!b)return null;try{return JSON.parse(b.manifest_json)}catch{return null}}(c);if(!e)return null;let f=e.endpoints?.[d];return f?{slug:c,endpoint:d,manifest:e,endpointDef:f}:null}function m(){let a;try{a=(0,e.Lf)().prepare("SELECT * FROM api_connectors WHERE status='active' ORDER BY slug ASC").all()}catch{return[]}let b=[];for(let c of a){let a;try{a=JSON.parse(c.manifest_json)}catch{continue}let d=i(a.auth||{}),e=d.filter(a=>!function(a){try{return!!(0,f.r6)(a)}catch{return!1}}(a)),h=0===e.length;for(let[f,i]of Object.entries(a.endpoints||{})){let{approval_required:j,approval_mode:k}=function(a){let b=g.pE.indexOf(a)>=g.pE.indexOf("medium");return{approval_required:b,approval_mode:b?"approval_required":"auto"}}(i.risk);b.push({name:`${c.slug}.${f}`,title:`${a.title||c.slug}: ${f}`,description:i.description||`${i.method} ${a.base_url}${i.path}`,category:"connector",risk_level:i.risk,approval_required:j,approval_mode:k,required_env:d,enabled:!0,available:h,missing_env:e,allowlist_required:!1,allowlist_scope_key:null,allowlist_default_allow:!1,input_schema:i.input_schema||{type:"object",properties:{}},source:{kind:"connector",connector_slug:c.slug,endpoint:f}})}}return b}[e,f]=h.then?(await h)():h,d()}catch(a){d(a)}})},80099:a=>{"use strict";a.exports=require("node:sqlite")},80192:(a,b,c)=>{"use strict";c.d(b,{zP:()=>j});let d=new Set(["intake_form","agent_run","policy_gate","human_approval","package"]),e=new Set(["text","email","number","textarea","select","shareholders"]),f=new Set(["low","medium","high","irreversible_external"]),g=/^[a-z][a-z0-9-]{2,63}$/;function h(a,b,c){a.push(`${b}: ${c}`)}function i(a){return null!==a&&"object"==typeof a&&!Array.isArray(a)}function j(a,b={}){var c;let k,l=[],m=[];try{k=JSON.stringify(a)}catch{return{ok:!1,errors:["spec: not JSON-serialisable"],warnings:[],normalized:null}}if(!k||"undefined"===k)return{ok:!1,errors:["spec: required"],warnings:[],normalized:null};if(Buffer.byteLength(k,"utf8")>65536)return{ok:!1,errors:[`spec: serialized length ${Buffer.byteLength(k,"utf8")} bytes exceeds 65536-byte cap`],warnings:[],normalized:null};if(!i(a))return{ok:!1,errors:["spec: must be an object"],warnings:[],normalized:null};a.slug&&"string"==typeof a.slug?g.test(a.slug)||h(l,"slug",`does not match ${g} (lowercase, starts with letter, 3-64 chars, [a-z0-9-])`):h(l,"slug","required (string)"),a.name&&"string"==typeof a.name||h(l,"name","required (string)");let n=a.schema_version??1;if(null==a.schema_version||Number.isInteger(a.schema_version)||h(l,"schema_version","must be an integer"),null!=a.version&&(!Number.isInteger(a.version)||a.version<1)&&h(l,"version","must be a positive integer"),!Array.isArray(a.stages)||0===a.stages.length)return h(l,"stages","required (non-empty array)"),{ok:!1,errors:l,warnings:m,normalized:null};let o=new Set;a.stages.forEach((a,b)=>{let c=`stages[${b}]`;if(!i(a))return void h(l,c,"must be an object");a.slug&&"string"==typeof a.slug?g.test(a.slug)?o.has(a.slug)?h(l,`${c}.slug`,`duplicate stage slug "${a.slug}"`):o.add(a.slug):h(l,`${c}.slug`,`does not match ${g}`):h(l,`${c}.slug`,"required (string)"),a.name&&"string"==typeof a.name||h(l,`${c}.name`,"required (string)"),a.kind&&d.has(a.kind)||h(l,`${c}.kind`,`unknown kind "${a.kind}" (allowed: ${[...d].join(", ")})`)});let p=a.stages[0];if(p&&p.kind&&"intake_form"!==p.kind&&h(l,"stages[0].kind",`first stage must be "intake_form" (got "${p.kind}")`),a.stages.forEach((a,c)=>{if(!a||!d.has(a.kind))return;let g=`stages[${c}]`;if(!i(a.config))return void h(l,`${g}.config`,"must be an object");switch(a.kind){case"intake_form":!function(a,b,c){let d=a?.config?.form_schema;if(!i(d))return h(b,`${c}.config.form_schema`,"required (must be object)");if(!Array.isArray(d.fields)||0===d.fields.length)return h(b,`${c}.config.form_schema.fields`,"must be a non-empty array");let f=new Set;d.fields.forEach((a,d)=>{let g=`${c}.config.form_schema.fields[${d}]`;if(!i(a))return void h(b,g,"must be an object");a.name&&"string"==typeof a.name||h(b,`${g}.name`,"required (string)"),a.label&&"string"==typeof a.label||h(b,`${g}.label`,"required (string)"),a.type&&e.has(a.type)||h(b,`${g}.type`,`unknown type "${a.type}" (allowed: ${[...e].join(", ")})`),"select"!==a.type||Array.isArray(a.options)&&0!==a.options.length||h(b,`${g}.options`,"select requires a non-empty options[] array"),a.name&&(f.has(a.name)&&h(b,`${g}.name`,`duplicate field name "${a.name}"`),f.add(a.name))})}(a,l,g);break;case"agent_run":let j=a.config||{};if(j.agent_template_slug&&"string"==typeof j.agent_template_slug?b.knownAgentTemplates&&!b.knownAgentTemplates.has(j.agent_template_slug)&&h(l,`${g}.config.agent_template_slug`,`unknown template "${j.agent_template_slug}"`):h(l,`${g}.config.agent_template_slug`,"required (string)"),j.prompt&&"string"==typeof j.prompt?j.prompt.length>8e3&&h(l,`${g}.config.prompt`,`exceeds 8000 chars (got ${j.prompt.length})`):h(l,`${g}.config.prompt`,"required (string)"),null!=j.timeout_ms&&(!Number.isInteger(j.timeout_ms)||j.timeout_ms<1e3||j.timeout_ms>6e5)&&h(l,`${g}.config.timeout_ms`,"must be integer 1000..600000"),null!=j.on_outcome)if(i(j.on_outcome))for(let[a,b]of Object.entries(j.on_outcome)){if("string"!=typeof b){h(l,`${g}.config.on_outcome.${a}`,'value must be a string (stage slug or "fail")');continue}"fail"!==b&&o&&!o.has(b)&&h(l,`${g}.config.on_outcome.${a}`,`references non-existent stage "${b}"`)}else h(l,`${g}.config.on_outcome`,"must be an object");break;case"policy_gate":!function(a,b,c){let d=a.config||{};if(!Array.isArray(d.rules)||0===d.rules.length)return h(b,`${c}.config.rules`,"required (non-empty array)");d.rules.forEach((a,d)=>{let e=`${c}.config.rules[${d}]`;"string"==typeof a?a.trim()||h(b,e,"empty rule expression"):i(a)?a.expr&&"string"==typeof a.expr&&a.expr.trim()||h(b,`${e}.expr`,"required (non-empty string)"):h(b,e,"rule must be a string or { expr, label } object")})}(a,l,g);break;case"human_approval":let k=a.config||{};k.action_type&&"string"==typeof k.action_type?k.action_type.startsWith("process.stage.")||h(l,`${g}.config.action_type`,'must start with "process.stage."'):h(l,`${g}.config.action_type`,"required (string)"),k.risk&&f.has(k.risk)||h(l,`${g}.config.risk`,`must be one of ${[...f].join(", ")}`),null!=k.summary_template&&"string"!=typeof k.summary_template&&h(l,`${g}.config.summary_template`,"must be a string");break;case"package":let m=a.config||{};m.title_template&&"string"==typeof m.title_template||h(l,`${g}.config.title_template`,"required (string)"),null!=m.include_stages&&(Array.isArray(m.include_stages)?m.include_stages.forEach((a,b)=>{"string"!=typeof a?h(l,`${g}.config.include_stages[${b}]`,"must be a string"):o.has(a)||h(l,`${g}.config.include_stages[${b}]`,`unknown stage slug "${a}"`)}):h(l,`${g}.config.include_stages`,"must be an array of stage slugs"))}}),a.stages.forEach((a,b)=>{if(!i(a))return;let c=`stages[${b}]`;null==a.on_pass_stage_slug||"fail"===a.on_pass_stage_slug||o.has(a.on_pass_stage_slug)||h(l,`${c}.on_pass_stage_slug`,`references non-existent stage "${a.on_pass_stage_slug}"`),null==a.on_fail_stage_slug||"fail"===a.on_fail_stage_slug||o.has(a.on_fail_stage_slug)||h(l,`${c}.on_fail_stage_slug`,`references non-existent stage "${a.on_fail_stage_slug}"`)}),0===l.length&&function(a){let b=new Map(a.map(a=>[a.slug,a])),c=new Map(a.map(a=>[a.slug,0]));for(let d of a)if(0===c.get(d.slug)&&function a(d){if(!b.has(d))return!1;let e=c.get(d);if(1===e)return!0;if(2===e)return!1;c.set(d,1);let f=b.get(d).on_pass_stage_slug;return!!(f&&"fail"!==f&&a(f))||(c.set(d,2),!1)}(d.slug))return!0;return!1}(a.stages)&&h(l,"stages","routing graph contains a cycle"),0===l.length){let b=new Set;a.stages.forEach(a=>{a.on_pass_stage_slug&&"fail"!==a.on_pass_stage_slug&&b.add(a.on_pass_stage_slug),a.on_fail_stage_slug&&"fail"!==a.on_fail_stage_slug&&b.add(a.on_fail_stage_slug);let c=a?.config?.on_outcome;if(i(c))for(let a of Object.values(c))"string"==typeof a&&"fail"!==a&&b.add(a)}),a.stages.forEach((a,c)=>{0!==c&&(b.has(a.slug)||m.push(`stages[${c}] "${a.slug}": orphan stage (no inbound edges)`))})}return l.length>0?{ok:!1,errors:l,warnings:m,normalized:null}:{ok:!0,errors:[],warnings:m,normalized:{schema_version:n,slug:(c=a).slug,name:c.name,version:c.version||1,description:c.description||null,category:c.category||null,source:c.source||"api",status:c.status||"draft",stages:c.stages.map(a=>({slug:a.slug,name:a.name,kind:a.kind,config:structuredClone(a.config||{}),on_pass_stage_slug:a.on_pass_stage_slug||null,on_fail_stage_slug:a.on_fail_stage_slug||null,required:!1!==a.required}))}}}},80599:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{dc:()=>m,fw:()=>l});var e=c(84104),f=c(73024),g=c(76760),h=c(83498),i=c(684),j=c(99755),k=a([e]);function l(a,b={}){let c=(0,j.nA)(a);if(!c.ok){let a=Error("skill spec invalid");throw a.code="spec_invalid",a.errors=c.errors,a}let{slug:d,title:k,description:m,category:n,invocation:o,markdown:p,trigger_examples:q}=c.normalized,r=`skill:${d}`,s=`skills/${d}/SKILL.md`,t={invocation:o,file_paths:[s],trigger_examples:q,source_markdown:p,created_by_user_id:b.created_by_user_id||null,created_by_agent_id:b.created_by_agent_id||null},u=g.join(h.un,"skills",d,"SKILL.md");if(!(0,i.wn)(u))throw Error(`Refusing to write skill file outside the workspace: ${u}`);f.mkdirSync(g.dirname(u),{recursive:!0}),f.writeFileSync(u,p,"utf8");let v=(0,e.Lf)(),w=(0,e.kF)(),x=b.created_by_agent_id?"tool-smith":"madarx",y=JSON.stringify(t),z=JSON.stringify([n,"skill"]);return v.prepare("SELECT id FROM marketplace_items WHERE kind='skill' AND slug=?").get(d)?v.prepare(`
|
|
1413
|
+
VALUES (?, ?, ?, ?, 'active', ?, ?, ?, ?)`).run(d.slug,d.title,d.base_url,l,b.created_by_user_id||null,b.created_by_agent_id||null,h,h),{slug:d.slug,endpoints:Object.keys(d.endpoints),tool_slugs:Object.keys(d.endpoints).map(a=>`${d.slug}.${a}`),secret_refs:i(d.auth),warnings:c.warnings}}function k(a){return(0,e.Lf)().prepare("SELECT * FROM api_connectors WHERE slug=? AND status='active'").get(a)||null}function l(a){if("string"!=typeof a)return null;let b=a.indexOf(".");if(b<=0)return null;let c=a.slice(0,b),d=a.slice(b+1),e=function(a){let b=k(a);if(!b)return null;try{return JSON.parse(b.manifest_json)}catch{return null}}(c);if(!e)return null;let f=e.endpoints?.[d];return f?{slug:c,endpoint:d,manifest:e,endpointDef:f}:null}function m(){let a;try{a=(0,e.Lf)().prepare("SELECT * FROM api_connectors WHERE status='active' ORDER BY slug ASC").all()}catch{return[]}let b=[];for(let c of a){let a;try{a=JSON.parse(c.manifest_json)}catch{continue}let d=i(a.auth||{}),e=d.filter(a=>!function(a){try{return!!(0,f.r6)(a)}catch{return!1}}(a)),h=0===e.length;for(let[f,i]of Object.entries(a.endpoints||{})){let{approval_required:j,approval_mode:k}=function(a){let b=g.pE.indexOf(a)>=g.pE.indexOf("medium");return{approval_required:b,approval_mode:b?"approval_required":"auto"}}(i.risk);b.push({name:`${c.slug}.${f}`,title:`${a.title||c.slug}: ${f}`,description:i.description||`${i.method} ${a.base_url}${i.path}`,category:"connector",risk_level:i.risk,approval_required:j,approval_mode:k,required_env:d,enabled:!0,available:h,missing_env:e,allowlist_required:!1,allowlist_scope_key:null,allowlist_default_allow:!1,input_schema:i.input_schema||{type:"object",properties:{}},source:{kind:"connector",connector_slug:c.slug,endpoint:f}})}}return b}[e,f]=h.then?(await h)():h,d()}catch(a){d(a)}})},80099:a=>{"use strict";a.exports=require("node:sqlite")},80192:(a,b,c)=>{"use strict";c.d(b,{zP:()=>l});let d=new Set(["intake_form","agent_run","policy_gate","human_approval","package"]),e=new Set(["text","email","number","textarea","select","shareholders"]),f=new Set(["low","medium","high","irreversible_external"]),g=/^[a-z][a-z0-9-]{2,63}$/;function h(a,b,c){a.push(`${b}: ${c}`)}function i(a){return null!==a&&"object"==typeof a&&!Array.isArray(a)}let j=new Set(["and","or"]),k=new Set(["eq","neq","lt","lte","gt","gte","in","nin"]);function l(a,b={}){var c;let m,n=[],o=[];try{m=JSON.stringify(a)}catch{return{ok:!1,errors:["spec: not JSON-serialisable"],warnings:[],normalized:null}}if(!m||"undefined"===m)return{ok:!1,errors:["spec: required"],warnings:[],normalized:null};if(Buffer.byteLength(m,"utf8")>65536)return{ok:!1,errors:[`spec: serialized length ${Buffer.byteLength(m,"utf8")} bytes exceeds 65536-byte cap`],warnings:[],normalized:null};if(!i(a))return{ok:!1,errors:["spec: must be an object"],warnings:[],normalized:null};a.slug&&"string"==typeof a.slug?g.test(a.slug)||h(n,"slug",`does not match ${g} (lowercase, starts with letter, 3-64 chars, [a-z0-9-])`):h(n,"slug","required (string)"),a.name&&"string"==typeof a.name||h(n,"name","required (string)");let p=a.schema_version??1;if(null==a.schema_version||Number.isInteger(a.schema_version)||h(n,"schema_version","must be an integer"),null!=a.version&&(!Number.isInteger(a.version)||a.version<1)&&h(n,"version","must be a positive integer"),!Array.isArray(a.stages)||0===a.stages.length)return h(n,"stages","required (non-empty array)"),{ok:!1,errors:n,warnings:o,normalized:null};let q=new Set;a.stages.forEach((a,b)=>{let c=`stages[${b}]`;if(!i(a))return void h(n,c,"must be an object");a.slug&&"string"==typeof a.slug?g.test(a.slug)?q.has(a.slug)?h(n,`${c}.slug`,`duplicate stage slug "${a.slug}"`):q.add(a.slug):h(n,`${c}.slug`,`does not match ${g}`):h(n,`${c}.slug`,"required (string)"),a.name&&"string"==typeof a.name||h(n,`${c}.name`,"required (string)"),a.kind&&d.has(a.kind)||h(n,`${c}.kind`,`unknown kind "${a.kind}" (allowed: ${[...d].join(", ")})`)});let r=a.stages[0];if(r&&r.kind&&"intake_form"!==r.kind&&h(n,"stages[0].kind",`first stage must be "intake_form" (got "${r.kind}")`),a.stages.forEach((a,c)=>{if(!a||!d.has(a.kind))return;let g=`stages[${c}]`;if(!i(a.config))return void h(n,`${g}.config`,"must be an object");switch(a.kind){case"intake_form":!function(a,b,c){let d=a?.config?.form_schema;if(!i(d))return h(b,`${c}.config.form_schema`,"required (must be object)");if(!Array.isArray(d.fields)||0===d.fields.length)return h(b,`${c}.config.form_schema.fields`,"must be a non-empty array");let f=new Set;d.fields.forEach((a,d)=>{let g=`${c}.config.form_schema.fields[${d}]`;if(!i(a))return void h(b,g,"must be an object");a.name&&"string"==typeof a.name||h(b,`${g}.name`,"required (string)"),a.label&&"string"==typeof a.label||h(b,`${g}.label`,"required (string)"),a.type&&e.has(a.type)||h(b,`${g}.type`,`unknown type "${a.type}" (allowed: ${[...e].join(", ")})`),"select"!==a.type||Array.isArray(a.options)&&0!==a.options.length||h(b,`${g}.options`,"select requires a non-empty options[] array"),a.name&&(f.has(a.name)&&h(b,`${g}.name`,`duplicate field name "${a.name}"`),f.add(a.name))})}(a,n,g);break;case"agent_run":let l=a.config||{};if(l.agent_template_slug&&"string"==typeof l.agent_template_slug?b.knownAgentTemplates&&!b.knownAgentTemplates.has(l.agent_template_slug)&&h(n,`${g}.config.agent_template_slug`,`unknown template "${l.agent_template_slug}"`):h(n,`${g}.config.agent_template_slug`,"required (string)"),l.prompt&&"string"==typeof l.prompt?l.prompt.length>8e3&&h(n,`${g}.config.prompt`,`exceeds 8000 chars (got ${l.prompt.length})`):h(n,`${g}.config.prompt`,"required (string)"),null!=l.timeout_ms&&(!Number.isInteger(l.timeout_ms)||l.timeout_ms<1e3||l.timeout_ms>6e5)&&h(n,`${g}.config.timeout_ms`,"must be integer 1000..600000"),null!=l.on_outcome)if(i(l.on_outcome))for(let[a,b]of Object.entries(l.on_outcome)){if("string"!=typeof b){h(n,`${g}.config.on_outcome.${a}`,'value must be a string (stage slug or "fail")');continue}"fail"!==b&&q&&!q.has(b)&&h(n,`${g}.config.on_outcome.${a}`,`references non-existent stage "${b}"`)}else h(n,`${g}.config.on_outcome`,"must be an object");break;case"policy_gate":!function(a,b,c){let d=a.config||{};if(!Array.isArray(d.rules)||0===d.rules.length)return h(b,`${c}.config.rules`,"required (non-empty array)");d.rules.forEach((a,d)=>{let e=`${c}.config.rules[${d}]`;"string"==typeof a?a.trim()||h(b,e,"empty rule expression"):i(a)&&"string"==typeof a.op?function a(b,c,d,e=0){if(e>20)return void h(c,d,"predicate nesting too deep");if(!i(b))return void h(c,d,"predicate must be an object");let f=b.op;j.has(f)?Array.isArray(b.rules)&&0!==b.rules.length?b.rules.forEach((b,f)=>a(b,c,`${d}.rules[${f}]`,e+1)):h(c,`${d}.rules`,`"${f}" requires a non-empty rules[] array`):"not"===f?i(b.rule)?a(b.rule,c,`${d}.rule`,e+1):h(c,`${d}.rule`,'"not" requires a rule object'):k.has(f)?("string"==typeof b.path&&b.path.trim()||h(c,`${d}.path`,"required (non-empty string)"),"value"in b?"in"!==f&&"nin"!==f||Array.isArray(b.value)||h(c,`${d}.value`,`"${f}" requires an array value`):h(c,`${d}.value`,"required")):h(c,`${d}.op`,`unknown predicate op "${f}"`)}(a,b,e):i(a)?a.expr&&"string"==typeof a.expr&&a.expr.trim()||h(b,`${e}.expr`,"required (non-empty string)"):h(b,e,"rule must be a JSON predicate, a string, or { expr, label }")})}(a,n,g);break;case"human_approval":let m=a.config||{};m.action_type&&"string"==typeof m.action_type?m.action_type.startsWith("process.stage.")||h(n,`${g}.config.action_type`,'must start with "process.stage."'):h(n,`${g}.config.action_type`,"required (string)"),m.risk&&f.has(m.risk)||h(n,`${g}.config.risk`,`must be one of ${[...f].join(", ")}`),null!=m.summary_template&&"string"!=typeof m.summary_template&&h(n,`${g}.config.summary_template`,"must be a string");break;case"package":let o=a.config||{};o.title_template&&"string"==typeof o.title_template||h(n,`${g}.config.title_template`,"required (string)"),null!=o.include_stages&&(Array.isArray(o.include_stages)?o.include_stages.forEach((a,b)=>{"string"!=typeof a?h(n,`${g}.config.include_stages[${b}]`,"must be a string"):q.has(a)||h(n,`${g}.config.include_stages[${b}]`,`unknown stage slug "${a}"`)}):h(n,`${g}.config.include_stages`,"must be an array of stage slugs"))}}),a.stages.forEach((a,b)=>{if(!i(a))return;let c=`stages[${b}]`;null==a.on_pass_stage_slug||"fail"===a.on_pass_stage_slug||q.has(a.on_pass_stage_slug)||h(n,`${c}.on_pass_stage_slug`,`references non-existent stage "${a.on_pass_stage_slug}"`),null==a.on_fail_stage_slug||"fail"===a.on_fail_stage_slug||q.has(a.on_fail_stage_slug)||h(n,`${c}.on_fail_stage_slug`,`references non-existent stage "${a.on_fail_stage_slug}"`)}),0===n.length&&function(a){let b=new Map(a.map(a=>[a.slug,a])),c=new Map(a.map(a=>[a.slug,0]));for(let d of a)if(0===c.get(d.slug)&&function a(d){if(!b.has(d))return!1;let e=c.get(d);if(1===e)return!0;if(2===e)return!1;c.set(d,1);let f=b.get(d).on_pass_stage_slug;return!!(f&&"fail"!==f&&a(f))||(c.set(d,2),!1)}(d.slug))return!0;return!1}(a.stages)&&h(n,"stages","routing graph contains a cycle"),0===n.length){let b=new Set;a.stages.forEach(a=>{a.on_pass_stage_slug&&"fail"!==a.on_pass_stage_slug&&b.add(a.on_pass_stage_slug),a.on_fail_stage_slug&&"fail"!==a.on_fail_stage_slug&&b.add(a.on_fail_stage_slug);let c=a?.config?.on_outcome;if(i(c))for(let a of Object.values(c))"string"==typeof a&&"fail"!==a&&b.add(a)}),a.stages.forEach((a,c)=>{0!==c&&(b.has(a.slug)||o.push(`stages[${c}] "${a.slug}": orphan stage (no inbound edges)`))})}return n.length>0?{ok:!1,errors:n,warnings:o,normalized:null}:{ok:!0,errors:[],warnings:o,normalized:{schema_version:p,slug:(c=a).slug,name:c.name,version:c.version||1,description:c.description||null,category:c.category||null,source:c.source||"api",status:c.status||"draft",stages:c.stages.map(a=>({slug:a.slug,name:a.name,kind:a.kind,config:structuredClone(a.config||{}),on_pass_stage_slug:a.on_pass_stage_slug||null,on_fail_stage_slug:a.on_fail_stage_slug||null,required:!1!==a.required}))}}}},80599:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{dc:()=>m,fw:()=>l});var e=c(84104),f=c(73024),g=c(76760),h=c(83498),i=c(684),j=c(99755),k=a([e]);function l(a,b={}){let c=(0,j.nA)(a);if(!c.ok){let a=Error("skill spec invalid");throw a.code="spec_invalid",a.errors=c.errors,a}let{slug:d,title:k,description:m,category:n,invocation:o,markdown:p,trigger_examples:q}=c.normalized,r=`skill:${d}`,s=`skills/${d}/SKILL.md`,t={invocation:o,file_paths:[s],trigger_examples:q,source_markdown:p,created_by_user_id:b.created_by_user_id||null,created_by_agent_id:b.created_by_agent_id||null},u=g.join(h.un,"skills",d,"SKILL.md");if(!(0,i.wn)(u))throw Error(`Refusing to write skill file outside the workspace: ${u}`);f.mkdirSync(g.dirname(u),{recursive:!0}),f.writeFileSync(u,p,"utf8");let v=(0,e.Lf)(),w=(0,e.kF)(),x=b.created_by_agent_id?"tool-smith":"madarx",y=JSON.stringify(t),z=JSON.stringify([n,"skill"]);return v.prepare("SELECT id FROM marketplace_items WHERE kind='skill' AND slug=?").get(d)?v.prepare(`
|
|
1414
1414
|
UPDATE marketplace_items
|
|
1415
1415
|
SET title=?, description=?, category=?, author=?, source_kind=?,
|
|
1416
1416
|
version=?, manifest_json=?, risk_summary=?, tags=?
|
|
@@ -1481,7 +1481,7 @@ ${b}`))}function L(){let a=new AbortController;return a.abort(Object.definePrope
|
|
|
1481
1481
|
Read more: https://nextjs.org/docs/messages/middleware-request-page
|
|
1482
1482
|
`)}}class e extends Error{constructor(){super(`The request.ua has been removed in favour of \`userAgent\` function.
|
|
1483
1483
|
Read more: https://nextjs.org/docs/messages/middleware-parse-user-agent
|
|
1484
|
-
`)}}},91488:(a,b,c)=>{"use strict";Object.defineProperty(b,"A",{enumerable:!0,get:function(){return d.registerServerReference}});let d=c(83183)},91837:(a,b,c)=>{let d={unstable_cache:c(96822).e,revalidateTag:c(6946).revalidateTag,revalidatePath:c(6946).revalidatePath,unstable_expireTag:c(6946).unstable_expireTag,unstable_expirePath:c(6946).unstable_expirePath,unstable_noStore:c(37425).M,unstable_cacheLife:c(88002).F,unstable_cacheTag:c(14884).z};a.exports=d,b.unstable_cache=d.unstable_cache,b.revalidatePath=d.revalidatePath,b.revalidateTag=d.revalidateTag,b.unstable_expireTag=d.unstable_expireTag,b.unstable_expirePath=d.unstable_expirePath,b.unstable_noStore=d.unstable_noStore,b.unstable_cacheLife=d.unstable_cacheLife,b.unstable_cacheTag=d.unstable_cacheTag},93047:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"ENCODED_TAGS",{enumerable:!0,get:function(){return c}});let c={OPENING:{HTML:new Uint8Array([60,104,116,109,108]),BODY:new Uint8Array([60,98,111,100,121])},CLOSED:{HEAD:new Uint8Array([60,47,104,101,97,100,62]),BODY:new Uint8Array([60,47,98,111,100,121,62]),HTML:new Uint8Array([60,47,104,116,109,108,62]),BODY_AND_HTML:new Uint8Array([60,47,98,111,100,121,62,60,47,104,116,109,108,62])},META:{ICON_MARK:new Uint8Array([60,109,101,116,97,32,110,97,109,101,61,34,194,171,110,120,116,45,105,99,111,110,194,187,34])}}},94062:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{CachedRouteKind:function(){return c},IncrementalCacheKind:function(){return d}});var c=function(a){return a.APP_PAGE="APP_PAGE",a.APP_ROUTE="APP_ROUTE",a.PAGES="PAGES",a.FETCH="FETCH",a.REDIRECT="REDIRECT",a.IMAGE="IMAGE",a}({}),d=function(a){return a.APP_PAGE="APP_PAGE",a.APP_ROUTE="APP_ROUTE",a.PAGES="PAGES",a.FETCH="FETCH",a.IMAGE="IMAGE",a}({})},94387:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{r:()=>j,u:()=>i});var e=c(64319),f=a([e]);function g(a={}){return{id:a.id,summary:a.summary||"",start:a.start||null,end:a.end||null,attendees:a.attendees||[],status:a.status||null,html_link:a.htmlLink||null}}async function h(a,b,c,d){let f=(0,e.s)(d,c),g=await f(a,{headers:{Authorization:`Bearer ${b}`}});if(!g.ok)throw Error(`google calendar failed: ${g.status}`);return g.json()}async function i(a={},b={}){let c="calendar_events_list",d=await (0,e.r)(b,c),f=encodeURIComponent(a.calendar_id||"primary"),j=new URL(`https://www.googleapis.com/calendar/v3/calendars/${f}/events`);return a.time_min&&j.searchParams.set("timeMin",a.time_min),a.time_max&&j.searchParams.set("timeMax",a.time_max),a.max_results&&j.searchParams.set("maxResults",String(a.max_results)),((await h(j,d,b,c)).items||[]).map(g)}async function j(a={},b={}){if(!a.event_id)throw Error("event_id is required");let c="calendar_event_read",d=await (0,e.r)(b,c),f=encodeURIComponent(a.calendar_id||"primary"),i=encodeURIComponent(a.event_id),k=await h(`https://www.googleapis.com/calendar/v3/calendars/${f}/events/${i}`,d,b,c);return function(a={}){return{...g(a),description:a.description||"",location:a.location||"",creator:a.creator||null,organizer:a.organizer||null,recurrence:a.recurrence||[],conference_data:a.conferenceData||null}}(k)}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},94657:(a,b,c)=>{"use strict";c.d(b,{default:()=>f});var d=c(21124),e=c(38301);function f(){let[a,b]=(0,e.useState)([]),[c,f]=(0,e.useState)("");return(0,d.jsx)("div",{className:"project-switcher","data-project-switcher":!0,children:(0,d.jsxs)("select",{value:c,onChange:a=>{var b;f(b=a.target.value),b?localStorage.setItem("madarx.activeProjectId",b):localStorage.removeItem("madarx.activeProjectId"),window.dispatchEvent(new CustomEvent("madarx:project-change",{detail:{project_id:b||null}}))},"aria-label":"Active project",children:[(0,d.jsx)("option",{value:"",children:"All projects"}),a.map(a=>(0,d.jsx)("option",{value:a.id,children:a.name},a.id))]})})}},95411:(a,b,c)=>{"use strict";c.d(b,{t:()=>e,x:()=>d});let d=`
|
|
1484
|
+
`)}}},91488:(a,b,c)=>{"use strict";Object.defineProperty(b,"A",{enumerable:!0,get:function(){return d.registerServerReference}});let d=c(83183)},91695:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{"401b4146db1fef872f202822dba0741afe77ced665":()=>e.Dv,"409dc1b44080f7a02c3ff6d5b6c4e8cb749d130a32":()=>e.gL,"40b250a7023e1ea42d3b1c45a9b04d2d813b0ff025":()=>e.Tg});var e=c(11812),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},91837:(a,b,c)=>{let d={unstable_cache:c(96822).e,revalidateTag:c(6946).revalidateTag,revalidatePath:c(6946).revalidatePath,unstable_expireTag:c(6946).unstable_expireTag,unstable_expirePath:c(6946).unstable_expirePath,unstable_noStore:c(37425).M,unstable_cacheLife:c(88002).F,unstable_cacheTag:c(14884).z};a.exports=d,b.unstable_cache=d.unstable_cache,b.revalidatePath=d.revalidatePath,b.revalidateTag=d.revalidateTag,b.unstable_expireTag=d.unstable_expireTag,b.unstable_expirePath=d.unstable_expirePath,b.unstable_noStore=d.unstable_noStore,b.unstable_cacheLife=d.unstable_cacheLife,b.unstable_cacheTag=d.unstable_cacheTag},93047:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"ENCODED_TAGS",{enumerable:!0,get:function(){return c}});let c={OPENING:{HTML:new Uint8Array([60,104,116,109,108]),BODY:new Uint8Array([60,98,111,100,121])},CLOSED:{HEAD:new Uint8Array([60,47,104,101,97,100,62]),BODY:new Uint8Array([60,47,98,111,100,121,62]),HTML:new Uint8Array([60,47,104,116,109,108,62]),BODY_AND_HTML:new Uint8Array([60,47,98,111,100,121,62,60,47,104,116,109,108,62])},META:{ICON_MARK:new Uint8Array([60,109,101,116,97,32,110,97,109,101,61,34,194,171,110,120,116,45,105,99,111,110,194,187,34])}}},94062:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{CachedRouteKind:function(){return c},IncrementalCacheKind:function(){return d}});var c=function(a){return a.APP_PAGE="APP_PAGE",a.APP_ROUTE="APP_ROUTE",a.PAGES="PAGES",a.FETCH="FETCH",a.REDIRECT="REDIRECT",a.IMAGE="IMAGE",a}({}),d=function(a){return a.APP_PAGE="APP_PAGE",a.APP_ROUTE="APP_ROUTE",a.PAGES="PAGES",a.FETCH="FETCH",a.IMAGE="IMAGE",a}({})},94387:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{r:()=>j,u:()=>i});var e=c(64319),f=a([e]);function g(a={}){return{id:a.id,summary:a.summary||"",start:a.start||null,end:a.end||null,attendees:a.attendees||[],status:a.status||null,html_link:a.htmlLink||null}}async function h(a,b,c,d){let f=(0,e.s)(d,c),g=await f(a,{headers:{Authorization:`Bearer ${b}`}});if(!g.ok)throw Error(`google calendar failed: ${g.status}`);return g.json()}async function i(a={},b={}){let c="calendar_events_list",d=await (0,e.r)(b,c),f=encodeURIComponent(a.calendar_id||"primary"),j=new URL(`https://www.googleapis.com/calendar/v3/calendars/${f}/events`);return a.time_min&&j.searchParams.set("timeMin",a.time_min),a.time_max&&j.searchParams.set("timeMax",a.time_max),a.max_results&&j.searchParams.set("maxResults",String(a.max_results)),((await h(j,d,b,c)).items||[]).map(g)}async function j(a={},b={}){if(!a.event_id)throw Error("event_id is required");let c="calendar_event_read",d=await (0,e.r)(b,c),f=encodeURIComponent(a.calendar_id||"primary"),i=encodeURIComponent(a.event_id),k=await h(`https://www.googleapis.com/calendar/v3/calendars/${f}/events/${i}`,d,b,c);return function(a={}){return{...g(a),description:a.description||"",location:a.location||"",creator:a.creator||null,organizer:a.organizer||null,recurrence:a.recurrence||[],conference_data:a.conferenceData||null}}(k)}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},94657:(a,b,c)=>{"use strict";c.d(b,{default:()=>f});var d=c(21124),e=c(38301);function f(){let[a,b]=(0,e.useState)([]),[c,f]=(0,e.useState)("");return(0,d.jsx)("div",{className:"project-switcher","data-project-switcher":!0,children:(0,d.jsxs)("select",{value:c,onChange:a=>{var b;f(b=a.target.value),b?localStorage.setItem("madarx.activeProjectId",b):localStorage.removeItem("madarx.activeProjectId"),window.dispatchEvent(new CustomEvent("madarx:project-change",{detail:{project_id:b||null}}))},"aria-label":"Active project",children:[(0,d.jsx)("option",{value:"",children:"All projects"}),a.map(a=>(0,d.jsx)("option",{value:a.id,children:a.name},a.id))]})})}},95411:(a,b,c)=>{"use strict";c.d(b,{t:()=>e,x:()=>d});let d=`
|
|
1485
1485
|
CREATE TABLE IF NOT EXISTS agents (
|
|
1486
1486
|
id TEXT PRIMARY KEY,
|
|
1487
1487
|
name TEXT NOT NULL,
|