madarx 2.15.1 → 2.16.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 +322 -321
- package/.next/standalone/.next/app-path-routes-manifest.json +81 -81
- package/.next/standalone/.next/build-manifest.json +2 -2
- package/.next/standalone/.next/prerender-manifest.json +9 -9
- 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 +2 -2
- package/.next/standalone/.next/server/app/activity/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/admin/page.js +2 -2
- package/.next/standalone/.next/server/app/admin/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/agents/[id]/page.js +6 -6
- package/.next/standalone/.next/server/app/agents/[id]/page.js.nft.json +1 -1
- 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.js.nft.json +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.js +2 -2
- 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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_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_client-reference-manifest.js +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_client-reference-manifest.js +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_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_client-reference-manifest.js +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 +1 -1
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +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 +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_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/hail/page.js +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 +2 -2
- 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 +2 -2
- package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/marketplace/page.js +4 -3
- package/.next/standalone/.next/server/app/marketplace/page.js.nft.json +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 +2 -2
- 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 +2 -2
- 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 +3 -2
- package/.next/standalone/.next/server/app/projects/new/page.js.nft.json +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 +3 -3
- package/.next/standalone/.next/server/app/projects/page.js +32 -15
- 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_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.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.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 +3 -3
- 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.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 +3 -3
- package/.next/standalone/.next/server/app/settings/organization/page.js +2 -2
- 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.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.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.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 +3 -3
- 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 +2 -2
- 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 +2 -2
- 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_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_client-reference-manifest.js +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 +81 -81
- package/.next/standalone/.next/server/chunks/1648.js +1 -1
- package/.next/standalone/.next/server/chunks/1699.js +39 -22
- package/.next/standalone/.next/server/chunks/3230.js +2 -2
- package/.next/standalone/.next/server/chunks/5093.js +1 -0
- package/.next/standalone/.next/server/chunks/5864.js +1 -0
- package/.next/standalone/.next/server/chunks/{9801.js → 7500.js} +1 -1
- package/.next/standalone/.next/server/functions-config-manifest.json +42 -42
- 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/chunks/7695-04c7f1a5233de027.js +1 -0
- package/.next/standalone/.next/static/chunks/app/agents/[id]/page-474f640e84f7b4b5.js +1 -0
- package/.next/standalone/.next/static/chunks/app/agents/page-b79b611acd56712b.js +1 -0
- package/.next/standalone/.next/static/chunks/app/marketplace/page-0b7d3a6309302de3.js +1 -0
- package/.next/standalone/.next/static/chunks/app/projects/page-e1cfb0b17418e719.js +1 -0
- package/.next/standalone/.next/static/chunks/app/settings/layout-08f6b30132b26dd1.js +1 -0
- package/.next/standalone/.next/static/chunks/app/settings/team/page-9a2e675124de6aac.js +1 -0
- package/.next/standalone/.next/static/css/{65c472079b6fd086.css → 9fbf057b7ce95c36.css} +1 -1
- package/.next/standalone/CHANGELOG.md +14 -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/package.json +1 -1
- package/.next/static/chunks/7695-04c7f1a5233de027.js +1 -0
- package/.next/static/chunks/app/agents/[id]/page-474f640e84f7b4b5.js +1 -0
- package/.next/static/chunks/app/agents/page-b79b611acd56712b.js +1 -0
- package/.next/static/chunks/app/marketplace/page-0b7d3a6309302de3.js +1 -0
- package/.next/static/chunks/app/projects/page-e1cfb0b17418e719.js +1 -0
- package/.next/static/chunks/app/settings/layout-08f6b30132b26dd1.js +1 -0
- package/.next/static/chunks/app/settings/team/page-9a2e675124de6aac.js +1 -0
- package/.next/static/css/{65c472079b6fd086.css → 9fbf057b7ce95c36.css} +1 -1
- package/CHANGELOG.md +14 -0
- package/app/agents/[id]/agent-activity-feed.tsx +96 -0
- package/app/agents/[id]/agent-detail-simple.tsx +71 -83
- package/app/agents/[id]/agent-quick-controls.tsx +497 -0
- package/app/agents/[id]/page.js +90 -2
- package/app/api/connections/[service]/verify/route.js +17 -2
- package/app/globals.css +347 -32
- package/lib/agent-templates.js +12 -0
- package/lib/connection-grant.js +106 -0
- package/lib/connection-seeds.js +126 -0
- package/lib/connections/health-check-verify.js +114 -0
- package/lib/connections/manifest-validator.js +161 -0
- package/lib/marketplace-modules.js +45 -0
- package/lib/marketplace-seeds.js +105 -0
- package/lib/marketplace.js +1 -0
- package/lib/oauth/flow.js +204 -0
- package/lib/oauth/provider-registry.js +102 -0
- package/lib/runtime.js +74 -1
- package/lib/schema.js +17 -0
- package/lib/tools/adapters/http-api-call.js +92 -28
- package/lib/tools/connectors/connector-validator.js +27 -1
- package/package.json +1 -1
- package/.next/standalone/.next/server/chunks/1887.js +0 -2
- package/.next/standalone/.next/server/chunks/3711.js +0 -1
- package/.next/standalone/.next/server/chunks/6098.js +0 -1
- package/.next/standalone/.next/static/chunks/9077-f54ea987eb597e43.js +0 -1
- package/.next/standalone/.next/static/chunks/app/agents/[id]/page-66477263de089865.js +0 -1
- package/.next/standalone/.next/static/chunks/app/agents/page-64d6bdc6ba3ad4d7.js +0 -1
- package/.next/standalone/.next/static/chunks/app/marketplace/page-45c6d49f8eddad67.js +0 -1
- package/.next/standalone/.next/static/chunks/app/projects/page-15a7a85fa216b575.js +0 -1
- package/.next/standalone/.next/static/chunks/app/settings/layout-2c1e6807acb6fdad.js +0 -1
- package/.next/standalone/.next/static/chunks/app/settings/team/page-0aee40dfa9e7a430.js +0 -1
- package/.next/static/chunks/9077-f54ea987eb597e43.js +0 -1
- package/.next/static/chunks/app/agents/[id]/page-66477263de089865.js +0 -1
- package/.next/static/chunks/app/agents/page-64d6bdc6ba3ad4d7.js +0 -1
- package/.next/static/chunks/app/marketplace/page-45c6d49f8eddad67.js +0 -1
- package/.next/static/chunks/app/projects/page-15a7a85fa216b575.js +0 -1
- package/.next/static/chunks/app/settings/layout-2c1e6807acb6fdad.js +0 -1
- package/.next/static/chunks/app/settings/team/page-0aee40dfa9e7a430.js +0 -1
- /package/.next/standalone/.next/static/{JcJc6PlL89SQvtZvP-LnU → JGJBLnQfb05RAKCcECbJt}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{JcJc6PlL89SQvtZvP-LnU → JGJBLnQfb05RAKCcECbJt}/_ssgManifest.js +0 -0
- /package/.next/static/{JcJc6PlL89SQvtZvP-LnU → JGJBLnQfb05RAKCcECbJt}/_buildManifest.js +0 -0
- /package/.next/static/{JcJc6PlL89SQvtZvP-LnU → JGJBLnQfb05RAKCcECbJt}/_ssgManifest.js +0 -0
package/app/globals.css
CHANGED
|
@@ -3048,10 +3048,17 @@ a.admin-record-link{display:block;text-decoration:none;color:inherit;transition:
|
|
|
3048
3048
|
gap: 8px;
|
|
3049
3049
|
}
|
|
3050
3050
|
|
|
3051
|
-
/*
|
|
3051
|
+
/* Controls block — facts grid + tools strip + the shared editor drawer. */
|
|
3052
|
+
.mkt-page[data-page="agent-detail"] .ad-controls {
|
|
3053
|
+
display: flex;
|
|
3054
|
+
flex-direction: column;
|
|
3055
|
+
gap: 12px;
|
|
3056
|
+
}
|
|
3057
|
+
|
|
3058
|
+
/* Quick facts — calm cards: publish, model, schedule, last run, status. */
|
|
3052
3059
|
.mkt-page[data-page="agent-detail"] .ad-facts {
|
|
3053
3060
|
display: grid;
|
|
3054
|
-
grid-template-columns: repeat(
|
|
3061
|
+
grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
|
|
3055
3062
|
gap: 10px;
|
|
3056
3063
|
}
|
|
3057
3064
|
.mkt-page[data-page="agent-detail"] .ad-fact {
|
|
@@ -3076,62 +3083,371 @@ a.admin-record-link{display:block;text-decoration:none;color:inherit;transition:
|
|
|
3076
3083
|
overflow-wrap: anywhere;
|
|
3077
3084
|
}
|
|
3078
3085
|
|
|
3079
|
-
/*
|
|
3080
|
-
|
|
3081
|
-
|
|
3086
|
+
/* Editable fact cards (publish, model, schedule) — a fact that's also a button. */
|
|
3087
|
+
.mkt-page[data-page="agent-detail"] .ad-fact--edit {
|
|
3088
|
+
position: relative;
|
|
3089
|
+
text-align: left;
|
|
3090
|
+
cursor: pointer;
|
|
3082
3091
|
background: #fff;
|
|
3092
|
+
font: inherit;
|
|
3093
|
+
transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
|
|
3094
|
+
}
|
|
3095
|
+
.mkt-page[data-page="agent-detail"] .ad-fact--edit:hover {
|
|
3096
|
+
border-color: rgba(17, 19, 24, .18);
|
|
3097
|
+
}
|
|
3098
|
+
.mkt-page[data-page="agent-detail"] .ad-fact--edit.is-active {
|
|
3099
|
+
border-color: rgba(17, 19, 24, .30);
|
|
3100
|
+
box-shadow: 0 0 0 3px rgba(17, 19, 24, .05);
|
|
3101
|
+
}
|
|
3102
|
+
.mkt-page[data-page="agent-detail"] .ad-fact--edit .ad-fact-value { padding-right: 20px; }
|
|
3103
|
+
.mkt-page[data-page="agent-detail"] .ad-fact-edit {
|
|
3104
|
+
position: absolute;
|
|
3105
|
+
top: 13px;
|
|
3106
|
+
right: 13px;
|
|
3107
|
+
color: #b7bcc4;
|
|
3108
|
+
transition: color .15s ease;
|
|
3109
|
+
}
|
|
3110
|
+
.mkt-page[data-page="agent-detail"] .ad-fact--edit:hover .ad-fact-edit,
|
|
3111
|
+
.mkt-page[data-page="agent-detail"] .ad-fact--edit.is-active .ad-fact-edit { color: #6b7280; }
|
|
3112
|
+
|
|
3113
|
+
.mkt-page[data-page="agent-detail"] .ad-fact-status {
|
|
3114
|
+
display: inline-flex;
|
|
3115
|
+
align-items: center;
|
|
3116
|
+
gap: 7px;
|
|
3117
|
+
}
|
|
3118
|
+
.mkt-page[data-page="agent-detail"] .ad-fact-status.tone-active { color: #2d7044; }
|
|
3119
|
+
.mkt-page[data-page="agent-detail"] .ad-fact-status.tone-active .ad-dot { background: #3da76a; }
|
|
3120
|
+
.mkt-page[data-page="agent-detail"] .ad-fact-status.tone-error { color: #9a3325; }
|
|
3121
|
+
.mkt-page[data-page="agent-detail"] .ad-fact-status.tone-error .ad-dot { background: var(--accent-500, #c2452a); }
|
|
3122
|
+
|
|
3123
|
+
/* Tools strip — declared toolset as brand icons + one editor entry point. */
|
|
3124
|
+
.mkt-page[data-page="agent-detail"] .ad-tools-strip {
|
|
3125
|
+
display: flex;
|
|
3126
|
+
align-items: center;
|
|
3127
|
+
gap: 12px;
|
|
3128
|
+
flex-wrap: wrap;
|
|
3129
|
+
padding: 12px 16px;
|
|
3130
|
+
border: 1px solid rgba(17, 19, 24, .07);
|
|
3131
|
+
border-radius: 14px;
|
|
3132
|
+
background: rgba(17, 19, 24, .02);
|
|
3133
|
+
}
|
|
3134
|
+
.mkt-page[data-page="agent-detail"] .ad-tools-icons {
|
|
3135
|
+
display: flex;
|
|
3136
|
+
align-items: center;
|
|
3137
|
+
gap: 6px;
|
|
3138
|
+
flex: 1;
|
|
3139
|
+
flex-wrap: wrap;
|
|
3140
|
+
}
|
|
3141
|
+
.mkt-page[data-page="agent-detail"] .ad-tool-chip {
|
|
3142
|
+
display: inline-flex;
|
|
3143
|
+
align-items: center;
|
|
3144
|
+
justify-content: center;
|
|
3145
|
+
width: 30px;
|
|
3146
|
+
height: 30px;
|
|
3147
|
+
border-radius: 9px;
|
|
3148
|
+
border: 1px solid rgba(17, 19, 24, .08);
|
|
3149
|
+
background: #fff;
|
|
3150
|
+
}
|
|
3151
|
+
.mkt-page[data-page="agent-detail"] .ad-tools-empty {
|
|
3152
|
+
font: 500 13px/1 var(--font-sans, system-ui);
|
|
3153
|
+
color: #9aa0a8;
|
|
3154
|
+
}
|
|
3155
|
+
.mkt-page[data-page="agent-detail"] .ad-edit-btn {
|
|
3156
|
+
display: inline-flex;
|
|
3157
|
+
align-items: center;
|
|
3158
|
+
gap: 6px;
|
|
3159
|
+
}
|
|
3160
|
+
|
|
3161
|
+
/* Shared editor drawer — animates open via grid-template-rows. */
|
|
3162
|
+
.mkt-page[data-page="agent-detail"] .ad-drawer {
|
|
3163
|
+
display: grid;
|
|
3164
|
+
grid-template-rows: 0fr;
|
|
3165
|
+
transition: grid-template-rows .26s cubic-bezier(.22, 1, .36, 1);
|
|
3166
|
+
}
|
|
3167
|
+
.mkt-page[data-page="agent-detail"] .ad-drawer[data-open="true"] { grid-template-rows: 1fr; }
|
|
3168
|
+
.mkt-page[data-page="agent-detail"] .ad-drawer-inner { overflow: hidden; }
|
|
3169
|
+
|
|
3170
|
+
.mkt-page[data-page="agent-detail"] .ad-editor {
|
|
3171
|
+
border: 1px solid rgba(17, 19, 24, .10);
|
|
3172
|
+
border-radius: 16px;
|
|
3173
|
+
background: #fff;
|
|
3174
|
+
padding: 18px;
|
|
3175
|
+
margin-top: 2px;
|
|
3176
|
+
}
|
|
3177
|
+
.mkt-page[data-page="agent-detail"] .ad-editor-head {
|
|
3178
|
+
display: flex;
|
|
3179
|
+
align-items: center;
|
|
3180
|
+
justify-content: space-between;
|
|
3181
|
+
margin-bottom: 14px;
|
|
3182
|
+
}
|
|
3183
|
+
.mkt-page[data-page="agent-detail"] .ad-editor-head h3 {
|
|
3184
|
+
margin: 0;
|
|
3185
|
+
font: 600 15px/1.2 var(--font-sans, system-ui);
|
|
3186
|
+
letter-spacing: -.01em;
|
|
3187
|
+
color: #1d2026;
|
|
3188
|
+
}
|
|
3189
|
+
.mkt-page[data-page="agent-detail"] .ad-editor-close {
|
|
3190
|
+
display: inline-flex;
|
|
3191
|
+
border: 0;
|
|
3192
|
+
background: transparent;
|
|
3193
|
+
color: #9aa0a8;
|
|
3194
|
+
cursor: pointer;
|
|
3195
|
+
padding: 4px;
|
|
3196
|
+
border-radius: 8px;
|
|
3197
|
+
transition: color .15s ease, background .15s ease;
|
|
3198
|
+
}
|
|
3199
|
+
.mkt-page[data-page="agent-detail"] .ad-editor-close:hover { color: #1d2026; background: rgba(17, 19, 24, .05); }
|
|
3200
|
+
|
|
3201
|
+
.mkt-page[data-page="agent-detail"] .ad-editor-form {
|
|
3202
|
+
display: flex;
|
|
3203
|
+
flex-direction: column;
|
|
3204
|
+
gap: 14px;
|
|
3205
|
+
}
|
|
3206
|
+
.mkt-page[data-page="agent-detail"] .ad-editor-row {
|
|
3207
|
+
display: flex;
|
|
3208
|
+
gap: 10px;
|
|
3209
|
+
flex-wrap: wrap;
|
|
3210
|
+
}
|
|
3211
|
+
.mkt-page[data-page="agent-detail"] .ad-editor-row select,
|
|
3212
|
+
.mkt-page[data-page="agent-detail"] .ad-editor-row input {
|
|
3213
|
+
flex: 1;
|
|
3214
|
+
min-width: 160px;
|
|
3215
|
+
border: 1px solid rgba(17, 19, 24, .12);
|
|
3216
|
+
border-radius: 10px;
|
|
3217
|
+
background: #fff;
|
|
3218
|
+
padding: 9px 12px;
|
|
3219
|
+
font: 500 13px/1.4 var(--font-sans, system-ui);
|
|
3220
|
+
color: #1d2026;
|
|
3221
|
+
}
|
|
3222
|
+
.mkt-page[data-page="agent-detail"] .ad-editor-actions {
|
|
3223
|
+
display: flex;
|
|
3083
3224
|
gap: 8px;
|
|
3084
3225
|
}
|
|
3085
|
-
|
|
3226
|
+
|
|
3227
|
+
/* Schedule composer. */
|
|
3228
|
+
.mkt-page[data-page="agent-detail"] .ad-sched-grid {
|
|
3229
|
+
display: grid;
|
|
3230
|
+
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
|
|
3231
|
+
gap: 12px;
|
|
3232
|
+
}
|
|
3233
|
+
.mkt-page[data-page="agent-detail"] .ad-field {
|
|
3234
|
+
display: flex;
|
|
3235
|
+
flex-direction: column;
|
|
3236
|
+
gap: 6px;
|
|
3237
|
+
}
|
|
3238
|
+
.mkt-page[data-page="agent-detail"] .ad-field--wide { grid-column: 1 / -1; }
|
|
3239
|
+
.mkt-page[data-page="agent-detail"] .ad-field > span {
|
|
3240
|
+
font: 700 10.5px/1 var(--font-sans, system-ui);
|
|
3241
|
+
letter-spacing: .08em;
|
|
3242
|
+
text-transform: uppercase;
|
|
3243
|
+
color: #8a8f99;
|
|
3244
|
+
}
|
|
3245
|
+
.mkt-page[data-page="agent-detail"] .ad-field .admin-input {
|
|
3246
|
+
border-radius: 10px;
|
|
3247
|
+
}
|
|
3248
|
+
.mkt-page[data-page="agent-detail"] .ad-inline-num {
|
|
3086
3249
|
display: flex;
|
|
3087
3250
|
align-items: center;
|
|
3088
3251
|
gap: 8px;
|
|
3089
3252
|
}
|
|
3090
|
-
.mkt-page[data-page="agent-detail"] .ad-
|
|
3253
|
+
.mkt-page[data-page="agent-detail"] .ad-inline-num input { width: 80px; }
|
|
3254
|
+
.mkt-page[data-page="agent-detail"] .ad-inline-num em {
|
|
3255
|
+
font: 500 13px/1 var(--font-sans, system-ui);
|
|
3256
|
+
font-style: normal;
|
|
3257
|
+
color: #6b7280;
|
|
3258
|
+
}
|
|
3259
|
+
.mkt-page[data-page="agent-detail"] .ad-sched-preview {
|
|
3260
|
+
margin: 0;
|
|
3261
|
+
font: 600 13.5px/1.4 var(--font-sans, system-ui);
|
|
3262
|
+
color: #2a2d33;
|
|
3263
|
+
}
|
|
3264
|
+
|
|
3265
|
+
/* Tools picker. */
|
|
3266
|
+
.mkt-page[data-page="agent-detail"] .ad-tools-search {
|
|
3267
|
+
display: flex;
|
|
3268
|
+
align-items: center;
|
|
3269
|
+
gap: 9px;
|
|
3270
|
+
padding: 9px 12px;
|
|
3271
|
+
border: 1px solid rgba(17, 19, 24, .12);
|
|
3272
|
+
border-radius: 10px;
|
|
3273
|
+
color: #9aa0a8;
|
|
3274
|
+
}
|
|
3275
|
+
.mkt-page[data-page="agent-detail"] .ad-tools-search input {
|
|
3091
3276
|
flex: 1;
|
|
3092
|
-
|
|
3093
|
-
|
|
3094
|
-
|
|
3095
|
-
-
|
|
3096
|
-
|
|
3097
|
-
|
|
3098
|
-
|
|
3099
|
-
|
|
3100
|
-
|
|
3277
|
+
border: 0;
|
|
3278
|
+
outline: 0;
|
|
3279
|
+
background: transparent;
|
|
3280
|
+
font: 500 13px/1.4 var(--font-sans, system-ui);
|
|
3281
|
+
color: #1d2026;
|
|
3282
|
+
}
|
|
3283
|
+
.mkt-page[data-page="agent-detail"] .ad-tools-count {
|
|
3284
|
+
font: 600 11.5px/1 var(--font-sans, system-ui);
|
|
3285
|
+
color: #8a8f99;
|
|
3286
|
+
white-space: nowrap;
|
|
3287
|
+
}
|
|
3288
|
+
.mkt-page[data-page="agent-detail"] .ad-tools-groups {
|
|
3289
|
+
display: flex;
|
|
3290
|
+
flex-direction: column;
|
|
3291
|
+
gap: 16px;
|
|
3292
|
+
max-height: 340px;
|
|
3293
|
+
overflow-y: auto;
|
|
3294
|
+
padding-right: 2px;
|
|
3295
|
+
}
|
|
3296
|
+
.mkt-page[data-page="agent-detail"] .ad-tools-group-head {
|
|
3297
|
+
display: flex;
|
|
3298
|
+
align-items: center;
|
|
3299
|
+
gap: 7px;
|
|
3300
|
+
margin-bottom: 9px;
|
|
3301
|
+
font: 700 10.5px/1 var(--font-sans, system-ui);
|
|
3302
|
+
letter-spacing: .08em;
|
|
3303
|
+
text-transform: uppercase;
|
|
3304
|
+
color: #6b7280;
|
|
3305
|
+
}
|
|
3306
|
+
.mkt-page[data-page="agent-detail"] .ad-tools-options {
|
|
3307
|
+
display: flex;
|
|
3308
|
+
flex-wrap: wrap;
|
|
3309
|
+
gap: 8px;
|
|
3310
|
+
}
|
|
3311
|
+
.mkt-page[data-page="agent-detail"] .ad-tool-option {
|
|
3312
|
+
display: inline-flex;
|
|
3313
|
+
align-items: center;
|
|
3314
|
+
gap: 7px;
|
|
3315
|
+
padding: 8px 12px;
|
|
3316
|
+
border: 1px solid rgba(17, 19, 24, .12);
|
|
3317
|
+
border-radius: 999px;
|
|
3318
|
+
background: #fff;
|
|
3319
|
+
cursor: pointer;
|
|
3320
|
+
font: 500 12.5px/1 var(--font-sans, system-ui);
|
|
3321
|
+
color: #2a2d33;
|
|
3322
|
+
transition: border-color .14s ease, background .14s ease, color .14s ease;
|
|
3323
|
+
}
|
|
3324
|
+
.mkt-page[data-page="agent-detail"] .ad-tool-option:hover { border-color: rgba(17, 19, 24, .26); }
|
|
3325
|
+
.mkt-page[data-page="agent-detail"] .ad-tool-option.is-on {
|
|
3326
|
+
border-color: #1d2026;
|
|
3327
|
+
background: #1d2026;
|
|
3328
|
+
color: #fff;
|
|
3329
|
+
}
|
|
3330
|
+
.mkt-page[data-page="agent-detail"] .ad-tool-tag {
|
|
3331
|
+
font: 700 9px/1 var(--font-sans, system-ui);
|
|
3332
|
+
letter-spacing: .06em;
|
|
3333
|
+
text-transform: uppercase;
|
|
3334
|
+
color: #9aa0a8;
|
|
3335
|
+
padding: 3px 6px;
|
|
3336
|
+
border-radius: 6px;
|
|
3337
|
+
background: rgba(17, 19, 24, .05);
|
|
3338
|
+
}
|
|
3339
|
+
.mkt-page[data-page="agent-detail"] .ad-tool-option.is-on .ad-tool-tag { color: #cfd3d9; background: rgba(255, 255, 255, .12); }
|
|
3340
|
+
.mkt-page[data-page="agent-detail"] .ad-tool-tag.warn { color: #9a6324; background: rgba(194, 132, 42, .12); }
|
|
3341
|
+
.mkt-page[data-page="agent-detail"] .ad-tools-noresult {
|
|
3342
|
+
font: 500 13px/1.5 var(--font-sans, system-ui);
|
|
3343
|
+
color: #8a8f99;
|
|
3101
3344
|
}
|
|
3102
|
-
.mkt-page[data-page="agent-detail"] .ad-space-select::-ms-expand { display: none; }
|
|
3103
3345
|
|
|
3104
|
-
/* Recent activity. */
|
|
3346
|
+
/* Recent activity feed — executions + approvals, searchable. */
|
|
3105
3347
|
.mkt-page[data-page="agent-detail"] .ad-activity-head {
|
|
3348
|
+
display: flex;
|
|
3349
|
+
align-items: center;
|
|
3350
|
+
justify-content: space-between;
|
|
3351
|
+
gap: 14px;
|
|
3352
|
+
flex-wrap: wrap;
|
|
3353
|
+
margin-bottom: 10px;
|
|
3354
|
+
}
|
|
3355
|
+
.mkt-page[data-page="agent-detail"] .ad-activity-title {
|
|
3106
3356
|
font: 700 11px/1 var(--font-sans, system-ui);
|
|
3107
3357
|
letter-spacing: .10em;
|
|
3108
3358
|
text-transform: uppercase;
|
|
3109
3359
|
color: #8a8f99;
|
|
3110
|
-
margin-bottom: 6px;
|
|
3111
3360
|
}
|
|
3112
|
-
.mkt-page[data-page="agent-detail"] .ad-
|
|
3361
|
+
.mkt-page[data-page="agent-detail"] .ad-activity-search {
|
|
3362
|
+
display: flex;
|
|
3363
|
+
align-items: center;
|
|
3364
|
+
gap: 8px;
|
|
3365
|
+
padding: 7px 11px;
|
|
3366
|
+
border: 1px solid rgba(17, 19, 24, .12);
|
|
3367
|
+
border-radius: 999px;
|
|
3368
|
+
color: #9aa0a8;
|
|
3369
|
+
min-width: 220px;
|
|
3370
|
+
}
|
|
3371
|
+
.mkt-page[data-page="agent-detail"] .ad-activity-search input {
|
|
3372
|
+
flex: 1;
|
|
3373
|
+
border: 0;
|
|
3374
|
+
outline: 0;
|
|
3375
|
+
background: transparent;
|
|
3376
|
+
font: 500 13px/1.2 var(--font-sans, system-ui);
|
|
3377
|
+
color: #1d2026;
|
|
3378
|
+
}
|
|
3379
|
+
.mkt-page[data-page="agent-detail"] .ad-feed {
|
|
3113
3380
|
list-style: none;
|
|
3114
3381
|
margin: 0;
|
|
3115
3382
|
padding: 0;
|
|
3116
|
-
display: flex;
|
|
3117
|
-
flex-direction: column;
|
|
3118
3383
|
}
|
|
3119
|
-
.mkt-page[data-page="agent-detail"] .ad-
|
|
3120
|
-
display:
|
|
3384
|
+
.mkt-page[data-page="agent-detail"] .ad-feed-row {
|
|
3385
|
+
display: grid;
|
|
3386
|
+
grid-template-columns: auto 1fr auto auto;
|
|
3121
3387
|
align-items: center;
|
|
3122
|
-
|
|
3123
|
-
gap: 12px;
|
|
3388
|
+
gap: 14px;
|
|
3124
3389
|
padding: 13px 2px;
|
|
3125
3390
|
border-bottom: 1px solid rgba(17, 19, 24, .06);
|
|
3126
|
-
font: 500 13px/1.4 var(--font-sans, system-ui);
|
|
3127
3391
|
}
|
|
3128
|
-
.mkt-page[data-page="agent-detail"] .ad-
|
|
3129
|
-
.mkt-page[data-page="agent-detail"] .ad-
|
|
3130
|
-
|
|
3131
|
-
|
|
3392
|
+
.mkt-page[data-page="agent-detail"] .ad-feed-row:last-child { border-bottom: 0; }
|
|
3393
|
+
.mkt-page[data-page="agent-detail"] .ad-feed-icon {
|
|
3394
|
+
display: inline-flex;
|
|
3395
|
+
align-items: center;
|
|
3396
|
+
justify-content: center;
|
|
3397
|
+
width: 30px;
|
|
3398
|
+
height: 30px;
|
|
3399
|
+
border-radius: 9px;
|
|
3400
|
+
background: rgba(17, 19, 24, .05);
|
|
3401
|
+
color: #5b626c;
|
|
3402
|
+
}
|
|
3403
|
+
.mkt-page[data-page="agent-detail"] .ad-feed-icon.kind-approval { color: #1f6c9f; background: rgba(31, 108, 159, .10); }
|
|
3404
|
+
.mkt-page[data-page="agent-detail"] .ad-feed-main {
|
|
3405
|
+
display: flex;
|
|
3406
|
+
flex-direction: column;
|
|
3407
|
+
gap: 2px;
|
|
3408
|
+
min-width: 0;
|
|
3409
|
+
}
|
|
3410
|
+
.mkt-page[data-page="agent-detail"] .ad-feed-title {
|
|
3411
|
+
font: 600 13.5px/1.35 var(--font-sans, system-ui);
|
|
3412
|
+
color: #1d2026;
|
|
3413
|
+
overflow: hidden;
|
|
3414
|
+
text-overflow: ellipsis;
|
|
3415
|
+
white-space: nowrap;
|
|
3416
|
+
}
|
|
3417
|
+
.mkt-page[data-page="agent-detail"] .ad-feed-meta {
|
|
3418
|
+
font: 500 11.5px/1 var(--font-sans, system-ui);
|
|
3419
|
+
color: #9aa0a8;
|
|
3420
|
+
}
|
|
3421
|
+
.mkt-page[data-page="agent-detail"] .ad-feed-status {
|
|
3422
|
+
font: 600 12px/1 var(--font-sans, system-ui);
|
|
3423
|
+
white-space: nowrap;
|
|
3424
|
+
}
|
|
3425
|
+
.mkt-page[data-page="agent-detail"] .ad-feed-status.tone-ok { color: #2d7044; }
|
|
3426
|
+
.mkt-page[data-page="agent-detail"] .ad-feed-status.tone-warn { color: #9a6324; }
|
|
3427
|
+
.mkt-page[data-page="agent-detail"] .ad-feed-status.tone-bad { color: #9a3325; }
|
|
3428
|
+
.mkt-page[data-page="agent-detail"] .ad-feed-status.tone-neutral { color: #6b7280; }
|
|
3429
|
+
.mkt-page[data-page="agent-detail"] .ad-feed-when {
|
|
3430
|
+
font: 500 12px/1 var(--font-sans, system-ui);
|
|
3431
|
+
color: #9aa0a8;
|
|
3132
3432
|
font-variant-numeric: tabular-nums;
|
|
3133
3433
|
white-space: nowrap;
|
|
3134
3434
|
}
|
|
3435
|
+
.mkt-page[data-page="agent-detail"] .ad-feed-empty {
|
|
3436
|
+
display: flex;
|
|
3437
|
+
flex-direction: column;
|
|
3438
|
+
gap: 4px;
|
|
3439
|
+
padding: 26px 2px;
|
|
3440
|
+
font: 500 13px/1.5 var(--font-sans, system-ui);
|
|
3441
|
+
color: #8a8f99;
|
|
3442
|
+
}
|
|
3443
|
+
.mkt-page[data-page="agent-detail"] .ad-feed-empty strong {
|
|
3444
|
+
font-weight: 600;
|
|
3445
|
+
color: #2a2d33;
|
|
3446
|
+
}
|
|
3447
|
+
|
|
3448
|
+
@media (prefers-reduced-motion: reduce) {
|
|
3449
|
+
.mkt-page[data-page="agent-detail"] .ad-drawer { transition: none; }
|
|
3450
|
+
}
|
|
3135
3451
|
|
|
3136
3452
|
/* ---- Details view ------------------------------------------- */
|
|
3137
3453
|
/* Compact overview — operative numbers, calm not debug-dumpy. */
|
|
@@ -3216,7 +3532,6 @@ a.admin-record-link{display:block;text-decoration:none;color:inherit;transition:
|
|
|
3216
3532
|
.mkt-page[data-page="agent-detail"] .ad-facts,
|
|
3217
3533
|
.mkt-page[data-page="agent-detail"] .ad-overview { grid-template-columns: 1fr 1fr; }
|
|
3218
3534
|
.mkt-page[data-page="agent-detail"] .ad-kv-grid { grid-template-columns: 1fr; }
|
|
3219
|
-
.mkt-page[data-page="agent-detail"] .ad-fact--publish { grid-column: 1 / -1; }
|
|
3220
3535
|
}
|
|
3221
3536
|
|
|
3222
3537
|
/* ============================================================== */
|
package/lib/agent-templates.js
CHANGED
|
@@ -18,6 +18,18 @@ export const AGENT_TEMPLATES = [
|
|
|
18
18
|
['finance-ops','Finance and Ops','finance_ops','anthropic',['file_read','create_artifact'],[], 'Reads finance docs and drafts advisory runway and ops summaries.'],
|
|
19
19
|
['legal-compliance','Legal and Compliance','legal_compliance','anthropic',['file_read','web_fetch','create_artifact'],[], 'Reviews policy and compliance documents as advisory output only.'],
|
|
20
20
|
['customer-support','Customer Support','customer_support','anthropic',['gmail_message_read','file_write'],[], 'Drafts customer replies and escalates approval-required sends.'],
|
|
21
|
+
// ── Business Agent Suite roles (P4) ───────────────────────────────────────
|
|
22
|
+
// Each role's external-write capabilities are unlocked by connecting the
|
|
23
|
+
// matching service and granting through the connection grant flow; the
|
|
24
|
+
// template ships only the safe built-in tools so a fresh install is runnable
|
|
25
|
+
// and every spend/send stays approval-gated.
|
|
26
|
+
['chief-of-staff','Chief of Staff','chief_of_staff','anthropic',['web_search','file_read','file_write','create_artifact','create_workflow_definition'],['report-builder','market-research'],'Translates founder intent into delegated work across the company, runs the weekly cadence, and surfaces decisions. No direct external writes.'],
|
|
27
|
+
['ads-media-buyer','Ads / Media Buyer','ads_media_buyer','anthropic',['web_search','file_write','create_artifact'],['design-shotgun'],'Plans, builds, and reports on paid campaigns across Meta/Google/TikTok within budget caps. Every campaign publish and budget set is approval-gated.'],
|
|
28
|
+
['content-social','Content / Social Manager','content_social','anthropic',['web_search','file_write','create_artifact','voice_speak'],['design-shotgun'],'Produces and schedules organic posts, reels, and videos and maintains brand voice. Every publish is approval-gated.'],
|
|
29
|
+
['sales-bd','Sales / BD','sales_bd','anthropic',['web_search','web_fetch','gmail_messages_list','email_send','create_artifact'],['inbox-triage'],'Builds target lists, enriches leads, runs outreach, and logs CRM activity. Bulk sends and CRM writes are approval-gated.'],
|
|
30
|
+
['ops-manager','Operations','ops_manager','anthropic',['calendar_events_list','calendar_event_read','file_read','file_write','create_artifact'],['meeting-scheduler','report-builder'],'Keeps the business running — scheduling, internal docs, recurring checklists, vendor coordination. Calendar invites and webhooks are approval-gated.'],
|
|
31
|
+
['product-pm','Product / Project Manager','product_pm','claude-code',['gh_repo_read','gh_issue_list','gh_issue_create','gh_pr_list','file_read','file_write','create_workflow_definition'],['review'],'Maintains the roadmap, writes specs, tracks delivery, and runs standups. Issue/PR creates respect the GitHub allowlist.'],
|
|
32
|
+
['web-ecommerce','Web / Ecommerce','web_ecommerce','claude-code',['web_fetch','supabase_rest_select','browser_open','file_read','file_write','create_artifact'],['web-automation'],'Manages site/store content, products, SEO, and deploys. Deploys, store writes, and DB writes are approval-gated.'],
|
|
21
33
|
].map(([slug,title,role,engine_default,tools_required,skills,description_long]) => ({
|
|
22
34
|
slug, title, role, engine_default, tools_required, tools_optional: [], skills,
|
|
23
35
|
memory_scopes: ['agent','project'], approval_profile: role === 'personal_assistant' ? 'strict' : 'standard', description_long,
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
// lib/connection-grant.js — post-connect grant foundation.
|
|
2
|
+
//
|
|
3
|
+
// After a connection verifies, the operator chooses which agents get the tools it
|
|
4
|
+
// unlocks. This is the missing UX glue, not a missing primitive: it composes the
|
|
5
|
+
// connection manifest's `unlocks_tool_slugs` with the existing per-agent
|
|
6
|
+
// enforcement layer (agent_tool_permissions via setAgentToolPermission).
|
|
7
|
+
//
|
|
8
|
+
// SAFE DEFAULTS (load-bearing): a granted tool's permission mode is derived from
|
|
9
|
+
// its registry risk tier — NEVER from the caller:
|
|
10
|
+
// low / medium → 'auto' (runs without a per-call gate)
|
|
11
|
+
// high / irreversible_* → 'approval_required' (always stops for a human)
|
|
12
|
+
// irreversible_external additionally ALWAYS gates at execution regardless of the
|
|
13
|
+
// stored mode, so 'approval_required' here is belt-and-suspenders, not the only
|
|
14
|
+
// guard. Unknown tools (no registry descriptor) fall back to 'approval_required'.
|
|
15
|
+
|
|
16
|
+
import { getDb, nowIso, newId } from './db.js';
|
|
17
|
+
import { listMarketplaceTools } from './tools/registry.js';
|
|
18
|
+
import { getConnection } from './connections.js';
|
|
19
|
+
import { setAgentToolPermission } from './runtime.js';
|
|
20
|
+
|
|
21
|
+
const AUTO_RISK = new Set(['low', 'medium']);
|
|
22
|
+
|
|
23
|
+
/** Resolve the safe default permission mode for a tool by its risk tier. */
|
|
24
|
+
export function defaultModeForRisk(riskLevel) {
|
|
25
|
+
return AUTO_RISK.has(riskLevel) ? 'auto' : 'approval_required';
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
function writeAudit(meta) {
|
|
29
|
+
try {
|
|
30
|
+
getDb().prepare(`
|
|
31
|
+
INSERT INTO audit_logs (id, at, type, summary, status, meta)
|
|
32
|
+
VALUES (?, ?, ?, ?, ?, ?)
|
|
33
|
+
`).run(
|
|
34
|
+
newId('audit'),
|
|
35
|
+
nowIso(),
|
|
36
|
+
'connection.grant',
|
|
37
|
+
`Granted ${meta.service_key} tools to ${meta.agent_ids.length} agent(s)`,
|
|
38
|
+
'ok',
|
|
39
|
+
JSON.stringify(meta),
|
|
40
|
+
);
|
|
41
|
+
} catch {
|
|
42
|
+
// best-effort
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Grant a connection's unlocked tools to one or more agents.
|
|
48
|
+
*
|
|
49
|
+
* @param {object} args
|
|
50
|
+
* @param {string} [args.service_key] connection slug; its manifest supplies unlocks_tool_slugs
|
|
51
|
+
* @param {string[]} [args.tool_slugs] explicit tool slugs (overrides service_key lookup)
|
|
52
|
+
* @param {string[]} args.agent_ids agents to grant to
|
|
53
|
+
* @returns {{ ok, granted: Array, skipped: Array, agent_ids: string[] }}
|
|
54
|
+
*/
|
|
55
|
+
export function grantConnectionToAgents(args = {}) {
|
|
56
|
+
const agentIds = Array.isArray(args.agent_ids) ? args.agent_ids.filter(Boolean).map(String) : [];
|
|
57
|
+
if (!agentIds.length) return { ok: false, error: 'no_agents', granted: [], skipped: [] };
|
|
58
|
+
|
|
59
|
+
// Resolve the unlocked tool slugs: explicit list wins, else the connection manifest.
|
|
60
|
+
let toolSlugs = Array.isArray(args.tool_slugs) ? args.tool_slugs.filter(Boolean).map(String) : null;
|
|
61
|
+
let serviceKey = args.service_key || null;
|
|
62
|
+
if (!toolSlugs) {
|
|
63
|
+
if (!serviceKey) return { ok: false, error: 'no_service_or_tools', granted: [], skipped: [] };
|
|
64
|
+
const connection = getConnection(serviceKey);
|
|
65
|
+
if (!connection) return { ok: false, error: 'connection_not_found', granted: [], skipped: [] };
|
|
66
|
+
const manifest = connection.manifest || {};
|
|
67
|
+
toolSlugs = Array.isArray(manifest.unlocks_tool_slugs) ? manifest.unlocks_tool_slugs.map(String) : [];
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// Risk map from the live registry (static tools + dynamic composites/connectors).
|
|
71
|
+
const riskByTool = new Map();
|
|
72
|
+
for (const tool of listMarketplaceTools()) riskByTool.set(tool.name, tool.risk_level);
|
|
73
|
+
|
|
74
|
+
const db = getDb();
|
|
75
|
+
const granted = [];
|
|
76
|
+
const skipped = [];
|
|
77
|
+
|
|
78
|
+
for (const agentId of agentIds) {
|
|
79
|
+
const agentRow = db.prepare('SELECT id, tools FROM agents WHERE id = ?').get(agentId);
|
|
80
|
+
if (!agentRow) {
|
|
81
|
+
skipped.push({ agent_id: agentId, reason: 'agent_not_found' });
|
|
82
|
+
continue;
|
|
83
|
+
}
|
|
84
|
+
// Union the declared toolset so the agent card reflects the new tools.
|
|
85
|
+
let declared = [];
|
|
86
|
+
try { declared = JSON.parse(agentRow.tools || '[]'); } catch { declared = []; }
|
|
87
|
+
if (!Array.isArray(declared)) declared = [];
|
|
88
|
+
const declaredSet = new Set(declared);
|
|
89
|
+
|
|
90
|
+
for (const slug of toolSlugs) {
|
|
91
|
+
const risk = riskByTool.get(slug);
|
|
92
|
+
const mode = defaultModeForRisk(risk);
|
|
93
|
+
try {
|
|
94
|
+
setAgentToolPermission(agentId, slug, mode);
|
|
95
|
+
declaredSet.add(slug);
|
|
96
|
+
granted.push({ agent_id: agentId, tool: slug, mode, risk_level: risk || null });
|
|
97
|
+
} catch (err) {
|
|
98
|
+
skipped.push({ agent_id: agentId, tool: slug, reason: String(err?.message || err) });
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
db.prepare('UPDATE agents SET tools = ? WHERE id = ?').run(JSON.stringify([...declaredSet]), agentId);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
writeAudit({ service_key: serviceKey, agent_ids: agentIds, tool_slugs: toolSlugs, granted_count: granted.length });
|
|
105
|
+
return { ok: true, granted, skipped, agent_ids: agentIds };
|
|
106
|
+
}
|