leedab 0.5.3 → 0.6.1
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/README.md +7 -2
- package/_schema/customer-brain-template/01_Customers/engagement.md +42 -0
- package/_schema/customer-brain-template/01_Customers/qbr-template.md +49 -0
- package/_schema/customer-brain-template/02_Sales/pipeline.md +43 -0
- package/_schema/customer-brain-template/04_Operations/runbook.md +54 -0
- package/_schema/customer-brain-template/05_Finance/runway-snapshot.md +40 -0
- package/_schema/customer-brain-template/CLAUDE.md +66 -0
- package/_schema/customer-brain-template/README.md +43 -0
- package/_schema/customer-brain-template/_inbox/champion-day-0.md +69 -0
- package/_schema/customer-brain-template/_inbox/weekly-digest-template.md +53 -0
- package/_schema/customer-brain-template/_templates/customer.md +33 -0
- package/_schema/customer-brain-template/_templates/decision.md +30 -0
- package/agents/INDEX.md +151 -0
- package/agents/automation-agent.md +199 -0
- package/agents/backend-agent.md +104 -0
- package/agents/brand-agent.md +130 -0
- package/agents/campaigns-agent.md +98 -0
- package/agents/champion-agent.md +123 -0
- package/agents/compliance-agent.md +124 -0
- package/agents/concierge-agent.md +120 -0
- package/agents/content-agent.md +98 -0
- package/agents/coo-agent.md +191 -0
- package/agents/cx-agent.md +85 -0
- package/agents/data-agent.md +129 -0
- package/agents/delivery-agent.md +154 -0
- package/agents/devops-agent.md +117 -0
- package/agents/email-agent.md +114 -0
- package/agents/engineering-agent.md +136 -0
- package/agents/finance-agent.md +94 -0
- package/agents/frontend-agent.md +98 -0
- package/agents/implementation-agent.md +130 -0
- package/agents/investor-agent.md +127 -0
- package/agents/legal-agent.md +109 -0
- package/agents/marketing-agent.md +91 -0
- package/agents/onboarding-agent.md +122 -0
- package/agents/ops-agent.md +92 -0
- package/agents/people-agent.md +127 -0
- package/agents/procurement-agent.md +147 -0
- package/agents/product-agent.md +133 -0
- package/agents/research-agent.md +147 -0
- package/agents/sales-agent.md +112 -0
- package/agents/solutions-agent.md +111 -0
- package/agents/strategy-agent.md +107 -0
- package/agents/video-agent.md +94 -0
- package/apps/console/.next/standalone/.next/BUILD_ID +1 -1
- package/apps/console/.next/standalone/.next/app-build-manifest.json +542 -143
- package/apps/console/.next/standalone/.next/app-path-routes-manifest.json +77 -19
- package/apps/console/.next/standalone/.next/build-manifest.json +8 -8
- package/apps/console/.next/standalone/.next/prerender-manifest.json +39 -10
- package/apps/console/.next/standalone/.next/required-server-files.json +4 -0
- package/apps/console/.next/standalone/.next/routes-manifest.json +44 -0
- package/apps/console/.next/standalone/.next/server/app/_not-found/page.js +2 -2
- package/apps/console/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/apps/console/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/apps/console/.next/standalone/.next/server/app/_not-found.rsc +8 -4
- package/apps/console/.next/standalone/.next/server/app/api/agent/route.js +2 -2
- package/apps/console/.next/standalone/.next/server/app/api/agent/route.js.nft.json +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/agent/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/approvals/route.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/approvals/route.js.nft.json +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/approvals/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/approvals/stream/route.js +2 -2
- package/apps/console/.next/standalone/.next/server/app/api/approvals/stream/route.js.nft.json +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/approvals/stream/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/automation/workflow-blueprint/route.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/automation/workflow-blueprint/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/automation/workflow-blueprint/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/backend/endpoint-spec/route.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/backend/endpoint-spec/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/backend/endpoint-spec/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/bootstrap-admin-token/route.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/bootstrap-admin-token/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/bootstrap-admin-token/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/brand/brand-audit/route.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/brand/brand-audit/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/brand/brand-audit/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/campaigns/campaign-brief/route.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/campaigns/campaign-brief/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/campaigns/campaign-brief/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/champion/confidence/route.js +3 -0
- package/apps/console/.next/standalone/.next/server/app/api/champion/confidence/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/champion/confidence/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/champion/customer/route.js +3 -0
- package/apps/console/.next/standalone/.next/server/app/api/champion/customer/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/champion/customer/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/champion/dispatches/route.js +3 -0
- package/apps/console/.next/standalone/.next/server/app/api/champion/dispatches/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/champion/dispatches/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/champion/engagement/route.js +3 -0
- package/apps/console/.next/standalone/.next/server/app/api/champion/engagement/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/champion/engagement/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/champion/escalate/route.js +11 -0
- package/apps/console/.next/standalone/.next/server/app/api/champion/escalate/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/champion/escalate/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/champion/profile/route.js +4 -0
- package/apps/console/.next/standalone/.next/server/app/api/champion/profile/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/champion/profile/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/champion/screenshare/route.js +36 -0
- package/apps/console/.next/standalone/.next/server/app/api/champion/screenshare/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/champion/screenshare/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/champion/track-question/route.js +2 -0
- package/apps/console/.next/standalone/.next/server/app/api/champion/track-question/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/champion/track-question/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/champion/use-case-wiki/route.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/champion/use-case-wiki/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/champion/use-case-wiki/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/chat/route.js +2 -2
- package/apps/console/.next/standalone/.next/server/app/api/chat/route.js.nft.json +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/chat/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/compliance/risk-register-seed/route.js +33 -0
- package/apps/console/.next/standalone/.next/server/app/api/compliance/risk-register-seed/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/compliance/risk-register-seed/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/computer-use/[id]/route.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/computer-use/[id]/route.js.nft.json +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/computer-use/[id]/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/computer-use/route.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/computer-use/route.js.nft.json +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/computer-use/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/concierge/morning-brief/route.js +3 -0
- package/apps/console/.next/standalone/.next/server/app/api/concierge/morning-brief/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/concierge/morning-brief/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/contacts/route.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/contacts/route.js.nft.json +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/contacts/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/content/seo-brief/route.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/content/seo-brief/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/content/seo-brief/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/conversations/route.js +3 -9
- package/apps/console/.next/standalone/.next/server/app/api/conversations/route.js.nft.json +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/conversations/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/coo/route.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/coo/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/coo/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/cx/escalation-triage/route.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/cx/escalation-triage/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/cx/escalation-triage/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/cx/health-score/route.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/cx/health-score/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/cx/health-score/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/data/cohort-brief/route.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/data/cohort-brief/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/data/cohort-brief/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/delivery/qbr-brief/route.js +57 -0
- package/apps/console/.next/standalone/.next/server/app/api/delivery/qbr-brief/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/delivery/qbr-brief/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/delivery/weekly-brief/route.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/delivery/weekly-brief/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/delivery/weekly-brief/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/dev/invalidate-cache/route.js +3 -0
- package/apps/console/.next/standalone/.next/server/app/api/dev/invalidate-cache/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/dev/invalidate-cache/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/devops/runbook/route.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/devops/runbook/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/devops/runbook/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/email/sequence-brief/route.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/email/sequence-brief/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/email/sequence-brief/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/engineering/adr-draft/route.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/engineering/adr-draft/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/engineering/adr-draft/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/finance/runway-snapshot/route.js +49 -0
- package/apps/console/.next/standalone/.next/server/app/api/finance/runway-snapshot/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/finance/runway-snapshot/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/frontend/component-spec/route.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/frontend/component-spec/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/frontend/component-spec/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/health/route.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/health/route.js.nft.json +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/implementation/brief/route.js +79 -0
- package/apps/console/.next/standalone/.next/server/app/api/implementation/brief/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/implementation/brief/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/implementation/scaffold-migration-script/route.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/implementation/scaffold-migration-script/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/implementation/scaffold-migration-script/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/implementation/scaffold-n8n-workflow/route.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/implementation/scaffold-n8n-workflow/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/implementation/scaffold-n8n-workflow/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/implementation/scaffold-skill-override/route.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/implementation/scaffold-skill-override/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/implementation/scaffold-skill-override/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/inbox/route.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/inbox/route.js.nft.json +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/inbox/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/inbox/stream/route.js +2 -2
- package/apps/console/.next/standalone/.next/server/app/api/inbox/stream/route.js.nft.json +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/inbox/stream/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/investor/kpi-tracker/route.js +59 -0
- package/apps/console/.next/standalone/.next/server/app/api/investor/kpi-tracker/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/investor/kpi-tracker/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/leedab/channels/status/route.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/leedab/channels/status/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/leedab/channels/telegram/connect/route.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/leedab/channels/telegram/connect/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/leedab/channels/whatsapp/connect/route.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/leedab/channels/whatsapp/connect/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/leedab/gtm/leads/[id]/route.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/leedab/gtm/leads/[id]/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/leedab/gtm/leads/[id]/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/leedab/gtm/leads/[id]/status/route.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/leedab/gtm/leads/[id]/status/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/leedab/gtm/leads/[id]/status/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/leedab/gtm/templates/[name]/route.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/leedab/gtm/templates/[name]/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/leedab/gtm/templates/[name]/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/leedab/license/route.js +3 -1
- package/apps/console/.next/standalone/.next/server/app/api/leedab/license/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/leedab/providers/route.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/leedab/providers/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/leedab/sessions/[id]/route.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/leedab/sessions/[id]/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/leedab/sessions/route.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/leedab/sessions/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/leedab/team/[id]/route.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/leedab/team/[id]/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/leedab/team/route.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/leedab/team/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/leedab/vault/route.js +2 -2
- package/apps/console/.next/standalone/.next/server/app/api/leedab/vault/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/leedab/workflows/route.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/leedab/workflows/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/legal/clause-template/route.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/legal/clause-template/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/legal/clause-template/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/marketing/cadence-planner/route.js +35 -0
- package/apps/console/.next/standalone/.next/server/app/api/marketing/cadence-planner/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/marketing/cadence-planner/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/marketing/competitive-snapshot/route.js +18 -0
- package/apps/console/.next/standalone/.next/server/app/api/marketing/competitive-snapshot/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/marketing/competitive-snapshot/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/onboarding/engagement-plan/route.js +17 -0
- package/apps/console/.next/standalone/.next/server/app/api/onboarding/engagement-plan/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/onboarding/engagement-plan/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/onboarding/kickoff-brief/route.js +63 -0
- package/apps/console/.next/standalone/.next/server/app/api/onboarding/kickoff-brief/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/onboarding/kickoff-brief/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/openclaw/status/route.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/openclaw/status/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/ops/dispatch-brief/route.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/ops/dispatch-brief/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/ops/dispatch-brief/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/pack/route.js +3 -31
- package/apps/console/.next/standalone/.next/server/app/api/pack/route.js.nft.json +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/pack/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/people/job-brief/route.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/people/job-brief/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/people/job-brief/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/preferences/route.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/preferences/route.js.nft.json +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/preferences/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/procurement/po-brief/route.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/procurement/po-brief/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/procurement/po-brief/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/product/prd-draft/route.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/product/prd-draft/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/product/prd-draft/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/research/prospect-intel/route.js +15 -0
- package/apps/console/.next/standalone/.next/server/app/api/research/prospect-intel/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/research/prospect-intel/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/research/search/route.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/research/search/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/research/search/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/routing/route.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/routing/route.js.nft.json +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/routing/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/runs/route.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/runs/route.js.nft.json +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/runs/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/sales/pipeline-summary/route.js +63 -0
- package/apps/console/.next/standalone/.next/server/app/api/sales/pipeline-summary/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/sales/pipeline-summary/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/sales/prospect-brief/route.js +6 -0
- package/apps/console/.next/standalone/.next/server/app/api/sales/prospect-brief/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/sales/prospect-brief/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/solutions/build/route.js +66 -0
- package/apps/console/.next/standalone/.next/server/app/api/solutions/build/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/solutions/build/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/solutions/quickstart-regenerate/route.js +3 -0
- package/apps/console/.next/standalone/.next/server/app/api/solutions/quickstart-regenerate/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/solutions/quickstart-regenerate/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/solutions/refine/route.js +22 -0
- package/apps/console/.next/standalone/.next/server/app/api/solutions/refine/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/solutions/refine/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/strategy/market-pulse/route.js +17 -0
- package/apps/console/.next/standalone/.next/server/app/api/strategy/market-pulse/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/strategy/market-pulse/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/telegram/[customerId]/route.js +61 -0
- package/apps/console/.next/standalone/.next/server/app/api/telegram/[customerId]/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/telegram/[customerId]/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/templates/regenerate/route.js +23 -0
- package/apps/console/.next/standalone/.next/server/app/api/templates/regenerate/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/templates/regenerate/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/templates/route.js +1 -31
- package/apps/console/.next/standalone/.next/server/app/api/templates/route.js.nft.json +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/templates/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/uploads/[id]/route.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/uploads/[id]/route.js.nft.json +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/uploads/[id]/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/uploads/route.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/uploads/route.js.nft.json +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/uploads/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/usage/route.js +3 -9
- package/apps/console/.next/standalone/.next/server/app/api/usage/route.js.nft.json +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/usage/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/video/video-script/route.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/video/video-script/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/video/video-script/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/webhooks/workflow/[id]/route.js +3 -1
- package/apps/console/.next/standalone/.next/server/app/api/webhooks/workflow/[id]/route.js.nft.json +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/webhooks/workflow/[id]/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/workflows/[id]/history/[runId]/route.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/workflows/[id]/history/[runId]/route.js.nft.json +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/workflows/[id]/history/[runId]/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/workflows/[id]/history/route.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/workflows/[id]/history/route.js.nft.json +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/workflows/[id]/history/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/workflows/[id]/route.js +3 -1
- package/apps/console/.next/standalone/.next/server/app/api/workflows/[id]/route.js.nft.json +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/workflows/[id]/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/workflows/[id]/run/route.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/workflows/[id]/run/route.js.nft.json +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/workflows/[id]/run/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/workflows/route.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/workflows/route.js.nft.json +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/workflows/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/apple-icon.png/route.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/apple-icon.png/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/apple-icon.png.body +0 -0
- package/apps/console/.next/standalone/.next/server/app/apple-icon.png.meta +1 -0
- package/apps/console/.next/standalone/.next/server/app/gtm/page.js +2 -0
- package/apps/console/.next/standalone/.next/server/app/gtm/page.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/gtm/page_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/icon.png/route.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/index.html +1 -1
- package/apps/console/.next/standalone/.next/server/app/index.rsc +9 -5
- package/apps/console/.next/standalone/.next/server/app/page.js +5 -2
- package/apps/console/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/apps/console/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app-paths-manifest.json +77 -19
- package/apps/console/.next/standalone/.next/server/chunks/1372.js +9 -0
- package/apps/console/.next/standalone/.next/server/chunks/1558.js +38 -0
- package/apps/console/.next/standalone/.next/server/chunks/1692.js +1 -1
- package/apps/console/.next/standalone/.next/server/chunks/4768.js +17 -0
- package/apps/console/.next/standalone/.next/server/chunks/5611.js +3 -3
- package/apps/console/.next/standalone/.next/server/chunks/5670.js +3 -0
- package/apps/console/.next/standalone/.next/server/chunks/5873.js +10 -10
- package/apps/console/.next/standalone/.next/server/chunks/6150.js +22 -0
- package/apps/console/.next/standalone/.next/server/chunks/6235.js +9 -0
- package/apps/console/.next/standalone/.next/server/chunks/6255.js +1 -0
- package/apps/console/.next/standalone/.next/server/chunks/697.js +19 -0
- package/apps/console/.next/standalone/.next/server/chunks/7087.js +1 -9
- package/apps/console/.next/standalone/.next/server/chunks/7242.js +28 -0
- package/apps/console/.next/standalone/.next/server/chunks/7907.js +86 -0
- package/apps/console/.next/standalone/.next/server/chunks/854.js +1287 -0
- package/apps/console/.next/standalone/.next/server/chunks/897.js +3 -0
- package/apps/console/.next/standalone/.next/server/functions-config-manifest.json +73 -17
- package/apps/console/.next/standalone/.next/server/instrumentation.js +1 -1
- package/apps/console/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/next-font-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/next-font-manifest.json +1 -1
- package/apps/console/.next/standalone/.next/server/pages/404.html +1 -1
- package/apps/console/.next/standalone/.next/server/pages/500.html +1 -1
- package/apps/console/.next/standalone/.next/server/pages/_app.js +1 -1
- package/apps/console/.next/standalone/.next/server/pages/_document.js +1 -1
- package/apps/console/.next/standalone/.next/server/pages/_error.js +3 -3
- package/apps/console/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/apps/console/.next/standalone/.next/static/cSGyydhlqn2VGaYXt0uuW/_buildManifest.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/1255-b28ea36bf0cdbd65.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/8118-681f2688832ccc66.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/agent/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/approvals/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/approvals/stream/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/automation/workflow-blueprint/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/backend/endpoint-spec/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/bootstrap-admin-token/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/brand/brand-audit/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/campaigns/campaign-brief/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/champion/confidence/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/champion/customer/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/champion/dispatches/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/champion/engagement/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/champion/escalate/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/champion/profile/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/champion/screenshare/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/champion/track-question/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/champion/use-case-wiki/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/chat/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/compliance/risk-register-seed/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/computer-use/[id]/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/computer-use/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/concierge/morning-brief/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/contacts/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/content/seo-brief/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/conversations/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/coo/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/cx/escalation-triage/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/cx/health-score/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/data/cohort-brief/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/delivery/qbr-brief/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/delivery/weekly-brief/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/dev/invalidate-cache/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/devops/runbook/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/email/sequence-brief/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/engineering/adr-draft/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/finance/runway-snapshot/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/frontend/component-spec/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/health/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/implementation/brief/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/implementation/scaffold-migration-script/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/implementation/scaffold-n8n-workflow/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/implementation/scaffold-skill-override/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/inbox/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/inbox/stream/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/investor/kpi-tracker/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/channels/status/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/channels/telegram/connect/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/channels/whatsapp/connect/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/gtm/leads/[id]/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/gtm/leads/[id]/status/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/gtm/templates/[name]/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/license/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/providers/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/sessions/[id]/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/sessions/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/team/[id]/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/team/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/vault/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/workflows/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/legal/clause-template/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/marketing/cadence-planner/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/marketing/competitive-snapshot/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/onboarding/engagement-plan/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/onboarding/kickoff-brief/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/openclaw/status/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/ops/dispatch-brief/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/pack/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/people/job-brief/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/preferences/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/procurement/po-brief/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/product/prd-draft/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/research/prospect-intel/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/research/search/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/routing/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/runs/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/sales/pipeline-summary/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/sales/prospect-brief/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/solutions/build/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/solutions/quickstart-regenerate/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/solutions/refine/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/strategy/market-pulse/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/telegram/[customerId]/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/templates/regenerate/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/templates/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/uploads/[id]/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/uploads/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/usage/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/video/video-script/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/webhooks/workflow/[id]/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/workflows/[id]/history/[runId]/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/workflows/[id]/history/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/workflows/[id]/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/workflows/[id]/run/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/workflows/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/gtm/page-caca5eaacd3c81f2.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/layout-bd27cc63fde6b953.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/page-01558715b1be9361.js +1 -0
- package/apps/console/.next/{static/chunks/main-48aa5dd07474f897.js → standalone/.next/static/chunks/main-d8fbd90b2bd781f8.js} +1 -1
- package/apps/console/.next/standalone/.next/static/chunks/{webpack-cdf4ab3c7a3034db.js → webpack-43f535d639053361.js} +1 -1
- package/apps/console/.next/standalone/.next/static/css/4bdbd0680d42c54d.css +3 -0
- package/apps/console/.next/standalone/.next/static/media/0f1bdadaf30e2d5f-s.woff2 +0 -0
- package/apps/console/.next/standalone/.next/static/media/22a5144ee8d83bca-s.p.woff2 +0 -0
- package/apps/console/.next/standalone/.next/static/media/2c34d62a75506231-s.woff2 +0 -0
- package/apps/console/.next/standalone/.next/static/media/35f3de0ebb1cfc70-s.woff2 +0 -0
- package/apps/console/.next/standalone/.next/static/media/5ece437c7024c161-s.woff2 +0 -0
- package/apps/console/.next/standalone/.next/static/media/601f5c280d60caca-s.woff2 +0 -0
- package/apps/console/.next/standalone/.next/static/media/9766a7e9e2e0ad5a-s.woff2 +0 -0
- package/apps/console/.next/standalone/.next/static/media/9cc5b37ab1350db7-s.p.woff2 +0 -0
- package/apps/console/.next/standalone/.next/static/media/a115172161b307bb-s.woff2 +0 -0
- package/apps/console/.next/standalone/.next/static/media/aa016aab0e6d1295-s.woff2 +0 -0
- package/apps/console/.next/standalone/.next/static/media/b66cf8e69499582a-s.woff2 +0 -0
- package/apps/console/.next/standalone/.next/static/media/d100b2a099e34044-s.woff2 +0 -0
- package/apps/console/.next/standalone/.next/static/media/e6099e249fd938cc-s.p.woff2 +0 -0
- package/apps/console/.next/standalone/.next/static/media/f5271587012faf78-s.p.woff2 +0 -0
- package/apps/console/.next/standalone/.next/static/media/f639721981034f88-s.woff2 +0 -0
- package/apps/console/.next/standalone/data/conversations/coo.json +116 -1
- package/apps/console/.next/standalone/data/conversations/procurement.json +33 -1
- package/apps/console/.next/standalone/data/uploads/316e1ef7-870d-4666-93fa-e439548fc0b6.pdf +0 -0
- package/apps/console/.next/standalone/data/uploads/_index.json +11 -0
- package/apps/console/.next/standalone/data/usage.json +81 -0
- package/apps/console/.next/standalone/node_modules/@next/env/package.json +1 -1
- package/apps/console/.next/standalone/node_modules/next/dist/build/analysis/get-page-static-info.js +12 -1
- package/apps/console/.next/standalone/node_modules/next/dist/build/next-config-ts/transpile-config.js +2 -1
- package/apps/console/.next/standalone/node_modules/next/dist/build/swc/index.js +1 -1
- package/apps/console/.next/standalone/node_modules/next/dist/build/webpack-config.js +2 -2
- package/apps/console/.next/standalone/node_modules/next/dist/client/components/router-reducer/fetch-server-response.js +2 -2
- package/apps/console/.next/standalone/node_modules/next/dist/client/components/router-reducer/set-cache-busting-search-param.js +9 -2
- package/apps/console/.next/standalone/node_modules/next/dist/client/script.js +5 -4
- package/apps/console/.next/standalone/node_modules/next/dist/compiled/next-server/app-page-experimental.runtime.prod.js +11 -11
- package/apps/console/.next/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +11 -11
- package/apps/console/.next/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +13 -13
- package/apps/console/.next/standalone/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js +9 -9
- package/apps/console/.next/standalone/node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js +2 -2
- package/apps/console/.next/standalone/node_modules/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +5 -5
- package/apps/console/.next/standalone/node_modules/next/dist/compiled/next-server/pages.runtime.prod.js +3 -3
- package/apps/console/.next/standalone/node_modules/next/dist/lib/typescript/required-packages.js +40 -0
- package/apps/console/.next/standalone/node_modules/next/dist/lib/verify-typescript-setup.js +7 -2
- package/apps/console/.next/standalone/node_modules/next/dist/pages/_document.js +1 -1
- package/apps/console/.next/standalone/node_modules/next/dist/server/app-render/action-handler.js +3 -6
- package/apps/console/.next/standalone/node_modules/next/dist/server/app-render/app-render.js +2 -1
- package/apps/console/.next/standalone/node_modules/next/dist/server/app-render/get-script-nonce-from-header.js +8 -20
- package/apps/console/.next/standalone/node_modules/next/dist/server/app-render/metadata-insertion/create-server-inserted-metadata.js +8 -7
- package/apps/console/.next/standalone/node_modules/next/dist/server/app-render/use-flight-response.js +2 -2
- package/apps/console/.next/standalone/node_modules/next/dist/server/base-server.js +12 -4
- package/apps/console/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +1 -1
- package/apps/console/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1 -1
- package/apps/console/.next/standalone/node_modules/next/dist/server/image-optimizer.js +22 -2
- package/apps/console/.next/standalone/node_modules/next/dist/server/lib/app-info-log.js +1 -1
- package/apps/console/.next/standalone/node_modules/next/dist/server/lib/is-rsc-request.js +18 -0
- package/apps/console/.next/standalone/node_modules/next/dist/server/lib/mock-request.js +30 -5
- package/apps/console/.next/standalone/node_modules/next/dist/server/lib/router-server.js +6 -3
- package/apps/console/.next/standalone/node_modules/next/dist/server/lib/router-utils/resolve-routes.js +18 -4
- package/apps/console/.next/standalone/node_modules/next/dist/server/lib/server-ipc/utils.js +4 -1
- package/apps/console/.next/standalone/node_modules/next/dist/server/lib/start-server.js +1 -1
- package/apps/console/.next/standalone/node_modules/next/dist/server/next-server.js +2 -1
- package/apps/console/.next/standalone/node_modules/next/dist/server/route-modules/route-module.js +9 -3
- package/apps/console/.next/standalone/node_modules/next/dist/server/web/adapter.js +2 -1
- package/apps/console/.next/standalone/node_modules/next/dist/shared/lib/canary-only.js +1 -1
- package/apps/console/.next/standalone/node_modules/next/dist/{server → shared/lib}/htmlescape.js +15 -0
- package/apps/console/.next/standalone/node_modules/next/dist/shared/lib/router/utils/cache-busting-search-param.js +56 -10
- package/apps/console/.next/standalone/node_modules/next/dist/telemetry/anonymous-meta.js +1 -1
- package/apps/console/.next/standalone/node_modules/next/dist/telemetry/events/version.js +2 -2
- package/apps/console/.next/standalone/node_modules/next/package.json +15 -15
- package/apps/console/.next/standalone/package.json +6 -0
- package/apps/console/.next/standalone/server.js +1 -1
- package/apps/console/.next/static/cSGyydhlqn2VGaYXt0uuW/_buildManifest.js +1 -0
- package/apps/console/.next/static/chunks/1255-b28ea36bf0cdbd65.js +1 -0
- package/apps/console/.next/static/chunks/8118-681f2688832ccc66.js +1 -0
- package/apps/console/.next/static/chunks/app/api/agent/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/approvals/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/approvals/stream/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/automation/workflow-blueprint/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/backend/endpoint-spec/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/bootstrap-admin-token/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/brand/brand-audit/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/campaigns/campaign-brief/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/champion/confidence/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/champion/customer/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/champion/dispatches/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/champion/engagement/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/champion/escalate/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/champion/profile/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/champion/screenshare/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/champion/track-question/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/champion/use-case-wiki/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/chat/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/compliance/risk-register-seed/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/computer-use/[id]/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/computer-use/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/concierge/morning-brief/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/contacts/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/content/seo-brief/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/conversations/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/coo/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/cx/escalation-triage/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/cx/health-score/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/data/cohort-brief/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/delivery/qbr-brief/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/delivery/weekly-brief/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/dev/invalidate-cache/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/devops/runbook/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/email/sequence-brief/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/engineering/adr-draft/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/finance/runway-snapshot/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/frontend/component-spec/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/health/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/implementation/brief/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/implementation/scaffold-migration-script/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/implementation/scaffold-n8n-workflow/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/implementation/scaffold-skill-override/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/inbox/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/inbox/stream/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/investor/kpi-tracker/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/leedab/channels/status/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/leedab/channels/telegram/connect/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/leedab/channels/whatsapp/connect/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/leedab/gtm/leads/[id]/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/leedab/gtm/leads/[id]/status/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/leedab/gtm/templates/[name]/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/leedab/license/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/leedab/providers/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/leedab/sessions/[id]/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/leedab/sessions/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/leedab/team/[id]/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/leedab/team/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/leedab/vault/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/leedab/workflows/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/legal/clause-template/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/marketing/cadence-planner/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/marketing/competitive-snapshot/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/onboarding/engagement-plan/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/onboarding/kickoff-brief/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/openclaw/status/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/ops/dispatch-brief/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/pack/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/people/job-brief/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/preferences/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/procurement/po-brief/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/product/prd-draft/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/research/prospect-intel/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/research/search/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/routing/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/runs/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/sales/pipeline-summary/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/sales/prospect-brief/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/solutions/build/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/solutions/quickstart-regenerate/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/solutions/refine/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/strategy/market-pulse/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/telegram/[customerId]/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/templates/regenerate/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/templates/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/uploads/[id]/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/uploads/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/usage/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/video/video-script/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/webhooks/workflow/[id]/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/workflows/[id]/history/[runId]/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/workflows/[id]/history/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/workflows/[id]/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/workflows/[id]/run/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/api/workflows/route-4178c1913c80eb12.js +1 -0
- package/apps/console/.next/static/chunks/app/gtm/page-caca5eaacd3c81f2.js +1 -0
- package/apps/console/.next/static/chunks/app/layout-bd27cc63fde6b953.js +1 -0
- package/apps/console/.next/static/chunks/app/page-01558715b1be9361.js +1 -0
- package/apps/console/.next/{standalone/.next/static/chunks/main-48aa5dd07474f897.js → static/chunks/main-d8fbd90b2bd781f8.js} +1 -1
- package/apps/console/.next/static/chunks/{webpack-cdf4ab3c7a3034db.js → webpack-43f535d639053361.js} +1 -1
- package/apps/console/.next/static/css/4bdbd0680d42c54d.css +3 -0
- package/apps/console/.next/static/media/0f1bdadaf30e2d5f-s.woff2 +0 -0
- package/apps/console/.next/static/media/22a5144ee8d83bca-s.p.woff2 +0 -0
- package/apps/console/.next/static/media/2c34d62a75506231-s.woff2 +0 -0
- package/apps/console/.next/static/media/35f3de0ebb1cfc70-s.woff2 +0 -0
- package/apps/console/.next/static/media/5ece437c7024c161-s.woff2 +0 -0
- package/apps/console/.next/static/media/601f5c280d60caca-s.woff2 +0 -0
- package/apps/console/.next/static/media/9766a7e9e2e0ad5a-s.woff2 +0 -0
- package/apps/console/.next/static/media/9cc5b37ab1350db7-s.p.woff2 +0 -0
- package/apps/console/.next/static/media/a115172161b307bb-s.woff2 +0 -0
- package/apps/console/.next/static/media/aa016aab0e6d1295-s.woff2 +0 -0
- package/apps/console/.next/static/media/b66cf8e69499582a-s.woff2 +0 -0
- package/apps/console/.next/static/media/d100b2a099e34044-s.woff2 +0 -0
- package/apps/console/.next/static/media/e6099e249fd938cc-s.p.woff2 +0 -0
- package/apps/console/.next/static/media/f5271587012faf78-s.p.woff2 +0 -0
- package/apps/console/.next/static/media/f639721981034f88-s.woff2 +0 -0
- package/apps/console/README.md +199 -0
- package/bin/leedab.js +271 -2
- package/bin/onboard-cofounder.sh +263 -0
- package/bin/onboard-customer.sh +303 -0
- package/bin/scan-secrets-tree.sh +138 -0
- package/bin/seed-workflows.mjs +80 -0
- package/bin/validate-manifests.sh +256 -0
- package/bin/wiring-status.sh +123 -0
- package/clients/default/manifest.json +191 -0
- package/clients/tarheel/INSTALL.md +333 -0
- package/clients/tarheel/manifest.json +34 -0
- package/context/brand-guide.md +95 -0
- package/context/competitor-landscape.md +120 -0
- package/context/customer-personas.md +91 -0
- package/context/customers/acme-logistics/playbook.md +19 -0
- package/context/customers/bondi-bloom/playbook.md +30 -0
- package/context/customers/chip-pro/playbook.md +107 -0
- package/context/customers/coastal-built/playbook.md +31 -0
- package/context/customers/element-pilates/playbook.md +33 -0
- package/context/customers/hawkesbury-roofing/playbook.md +21 -0
- package/context/customers/howard-partners/playbook.md +33 -0
- package/context/customers/ledbetter-advisory/playbook.md +21 -0
- package/context/customers/sunset-cafe/playbook.md +27 -0
- package/context/customers/tarheel/playbook.md +28 -0
- package/context/metrics.md +74 -0
- package/context/product-brief.md +134 -0
- package/context/roadmap.md +76 -0
- package/context/skills/brand-skills.md +62 -0
- package/context/skills/campaigns-skills.md +161 -0
- package/context/skills/compliance-skills.md +83 -0
- package/context/skills/concierge-skills.md +55 -0
- package/context/skills/content-skills.md +179 -0
- package/context/skills/cx-skills.md +296 -0
- package/context/skills/dashboard-ops.md +43 -0
- package/context/skills/email-skills.md +137 -0
- package/context/skills/finance-skills.md +314 -0
- package/context/skills/marketing-skills.md +843 -0
- package/context/skills/n8n-skills.md +110 -0
- package/context/skills/ops-skills.md +324 -0
- package/context/skills/people-skills.md +52 -0
- package/context/skills/procurement-skills.md +69 -0
- package/context/skills/product-skills.md +569 -0
- package/context/skills/research-skills.md +62 -0
- package/context/skills/sales-skills.md +827 -0
- package/context/skills/strategy-investor-skills.md +530 -0
- package/context/skills/video-skills.md +109 -0
- package/context/use-cases/construction.md +97 -0
- package/context/use-cases/hospitality.md +76 -0
- package/context/use-cases/logistics.md +57 -0
- package/context/use-cases/professional.md +61 -0
- package/context/use-cases/retail.md +80 -0
- package/context/use-cases/trades.md +97 -0
- package/dist/console-launcher.js +9 -0
- package/dist/gateway.js +4 -1
- package/dist/gtm/templates.js +17 -3
- package/dist/license.d.ts +6 -0
- package/dist/license.js +10 -0
- package/package.json +13 -3
- package/wiki/README.md +27 -0
- package/wiki/customer-use-cases/README.md +26 -0
- package/wiki/customer-use-cases/_template.md +42 -0
- package/wiki/customer-use-cases/agencies.md +47 -0
- package/wiki/customer-use-cases/ecommerce.md +47 -0
- package/wiki/customer-use-cases/food-service.md +45 -0
- package/wiki/customer-use-cases/healthcare.md +49 -0
- package/wiki/customer-use-cases/hospitality.md +47 -0
- package/wiki/customer-use-cases/logistics.md +58 -0
- package/wiki/customer-use-cases/manufacturing.md +45 -0
- package/wiki/customer-use-cases/professional.md +48 -0
- package/wiki/customer-use-cases/retail.md +44 -0
- package/wiki/customer-use-cases/trades.md +47 -0
- package/apps/console/.next/standalone/.next/server/app/api/demo/route.js +0 -19
- package/apps/console/.next/standalone/.next/server/app/api/demo/route.js.nft.json +0 -1
- package/apps/console/.next/standalone/.next/server/app/api/demo/route_client-reference-manifest.js +0 -1
- package/apps/console/.next/standalone/.next/server/chunks/2126.js +0 -9
- package/apps/console/.next/standalone/.next/server/chunks/4296.js +0 -9
- package/apps/console/.next/standalone/.next/server/chunks/5267.js +0 -9
- package/apps/console/.next/standalone/.next/server/chunks/7515.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/1255-5fe68596fe147850.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/856-71ac9b098091e245.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/agent/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/approvals/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/approvals/stream/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/chat/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/computer-use/[id]/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/computer-use/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/contacts/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/conversations/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/demo/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/health/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/inbox/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/inbox/stream/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/channels/status/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/channels/telegram/connect/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/channels/whatsapp/connect/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/license/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/providers/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/sessions/[id]/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/sessions/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/team/[id]/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/team/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/vault/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/workflows/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/openclaw/status/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/pack/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/preferences/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/routing/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/runs/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/templates/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/uploads/[id]/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/uploads/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/usage/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/webhooks/workflow/[id]/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/workflows/[id]/history/[runId]/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/workflows/[id]/history/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/workflows/[id]/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/workflows/[id]/run/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/workflows/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/layout-6be76a69bef30b9d.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/page-4b700096636d1cae.js +0 -1
- package/apps/console/.next/standalone/.next/static/css/5c5c01673617cce6.css +0 -3
- package/apps/console/.next/standalone/.next/static/waL1Qm5zCQrO1oi52jYdI/_buildManifest.js +0 -1
- package/apps/console/.next/static/chunks/1255-5fe68596fe147850.js +0 -1
- package/apps/console/.next/static/chunks/856-71ac9b098091e245.js +0 -1
- package/apps/console/.next/static/chunks/app/api/agent/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/static/chunks/app/api/approvals/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/static/chunks/app/api/approvals/stream/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/static/chunks/app/api/chat/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/static/chunks/app/api/computer-use/[id]/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/static/chunks/app/api/computer-use/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/static/chunks/app/api/contacts/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/static/chunks/app/api/conversations/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/static/chunks/app/api/demo/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/static/chunks/app/api/health/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/static/chunks/app/api/inbox/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/static/chunks/app/api/inbox/stream/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/static/chunks/app/api/leedab/channels/status/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/static/chunks/app/api/leedab/channels/telegram/connect/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/static/chunks/app/api/leedab/channels/whatsapp/connect/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/static/chunks/app/api/leedab/license/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/static/chunks/app/api/leedab/providers/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/static/chunks/app/api/leedab/sessions/[id]/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/static/chunks/app/api/leedab/sessions/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/static/chunks/app/api/leedab/team/[id]/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/static/chunks/app/api/leedab/team/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/static/chunks/app/api/leedab/vault/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/static/chunks/app/api/leedab/workflows/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/static/chunks/app/api/openclaw/status/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/static/chunks/app/api/pack/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/static/chunks/app/api/preferences/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/static/chunks/app/api/routing/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/static/chunks/app/api/runs/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/static/chunks/app/api/templates/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/static/chunks/app/api/uploads/[id]/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/static/chunks/app/api/uploads/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/static/chunks/app/api/usage/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/static/chunks/app/api/webhooks/workflow/[id]/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/static/chunks/app/api/workflows/[id]/history/[runId]/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/static/chunks/app/api/workflows/[id]/history/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/static/chunks/app/api/workflows/[id]/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/static/chunks/app/api/workflows/[id]/run/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/static/chunks/app/api/workflows/route-35bf83db0bc9ad19.js +0 -1
- package/apps/console/.next/static/chunks/app/layout-6be76a69bef30b9d.js +0 -1
- package/apps/console/.next/static/chunks/app/page-4b700096636d1cae.js +0 -1
- package/apps/console/.next/static/css/5c5c01673617cce6.css +0 -3
- package/apps/console/.next/static/waL1Qm5zCQrO1oi52jYdI/_buildManifest.js +0 -1
- /package/apps/console/.next/standalone/.next/static/{waL1Qm5zCQrO1oi52jYdI → cSGyydhlqn2VGaYXt0uuW}/_ssgManifest.js +0 -0
- /package/apps/console/.next/static/{waL1Qm5zCQrO1oi52jYdI → cSGyydhlqn2VGaYXt0uuW}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";exports.id=6150,exports.ids=[6150],exports.modules={7506:(a,b,c)=>{c.d(b,{sb:()=>j});var d=c(73024),e=c(76760),f=c.n(e),g=c(57477);let h=/^[a-z0-9](?:[a-z0-9-]{0,58}[a-z0-9])?$/,i=/^[a-z][a-z0-9_]{1,40}\.[a-z][a-z0-9_]{1,40}$/;async function j(a){try{if(!h.test(a.clientId))return{ok:!1,error:`Invalid clientId: ${a.clientId}`};if(!i.test(a.agent))return{ok:!1,error:`Invalid agent format: ${a.agent} (expected agent.tool)`};if(!await (0,g.xB)(a.clientId))return{ok:!1,error:`No brain for ${a.clientId} — audit not written`};let b={...a,inputSummary:function(a){if(!a)return;let b={};for(let[c,d]of Object.entries(a))"string"==typeof d?b[c]=d.length>200?`${d.slice(0,200)}…[+${d.length-200} chars]`:d:"number"==typeof d||"boolean"==typeof d||null===d?b[c]=d:Array.isArray(d)?b[c]=`[array length=${d.length}]`:"object"==typeof d?b[c]=`[object keys=${Object.keys(d).length}]`:b[c]=`[${typeof d}]`;return b}(a.inputSummary)},c=function(a,b){let c=`${b.getUTCFullYear()}-${String(b.getUTCMonth()+1).padStart(2,"0")}`;return f().join((0,g.Ip)(a),"_inbox",`audit-${c}.jsonl`)}(a.clientId,new Date(a.ts));await d.promises.mkdir(f().dirname(c),{recursive:!0});let e=JSON.stringify(b)+"\n";return await d.promises.appendFile(c,e,"utf8"),{ok:!0,path:c,bytes:Buffer.byteLength(e,"utf8")}}catch(a){return{ok:!1,error:a.message}}}},8714:(a,b,c)=>{c.d(b,{D:()=>l});var d=c(73024),e=c(76760),f=c.n(e),g=c(37098),h=c(22709),i=c(87755);Object.fromEntries(Object.entries(i.jw).map(([a,b])=>[a,b.code])),Object.fromEntries(Object.entries(i.jw).map(([a,b])=>[a,b.section])),Object.fromEntries(Object.entries(i.jw).map(([a,b])=>[a,b.status])),Object.fromEntries(Object.entries(i.jw).map(([a,b])=>[a,b.tasks]));let j={coo:["Draft today's ops brief — what's moving, what's blocked, what needs founder input.","We're launching a new campaign next week. Build a cross-team plan for Marketing, Product, and Engineering.","Which team is most bottlenecked right now and what should we do about it?"],marketing:["Write a LinkedIn post about why local-first AI beats cloud for SMBs.","Draft 3 subject line variants for a cold outreach email to logistics companies.","Write a one-paragraph product description for our website hero section."],content:["Write a 1000-word SEO post targeting 'how to automate payroll deductions without APIs'.","Draft newsletter #8 — main story: our new computer-use workflow. Two short items.","Write a case study for a 12-truck logistics fleet that cut payroll time by 80%."],video:["Write a 90-second LinkedIn video script: the problem with manual ops reconciliation.","Storyboard a 4-minute YouTube demo: LeedAB automating a driver hours workflow.","Write a talking-head outline for the founder: 'why we built LeedAB locally-first'."],campaigns:["Design a Google Search campaign targeting SMB ops managers. ICP, ad groups, copy variants.","Write an A/B test plan for our LinkedIn headline: pain-first vs outcome-first.","Build a UTM taxonomy for Q2. Channels: Google, LinkedIn, newsletter, referral."],email:["Write a 5-email welcome sequence for a new SMB customer who just signed up to LeedAB.","Write a cold outreach sequence targeting ops managers at 10-50 person logistics companies.","Build a re-engagement sequence for customers who haven't logged in for 30 days."],automation:["Build me a workflow: when a new lead fills out our contact form, add them to Google Sheets and send a Slack notification.","Create a daily 9am workflow that fetches our top metrics and sends a summary email.","List all my active n8n workflows and show me which ones have run in the last 24 hours."],product:["Draft a feature spec for voice message tasks via WhatsApp.","Write user stories for the onboarding flow for a new SMB customer.","Create acceptance criteria for computer-use task execution."],engineering:["Write an ADR for the provider abstraction layer (Anthropic / OpenAI / local).","Review the streaming architecture and suggest reliability improvements.","Design the data model for multi-tenant task queues."],frontend:["Write a component spec for the AgentCard — props, variants, hover/selected states.","Review our current Tailwind setup and flag performance or accessibility issues.","Design the empty state for a new agent with no messages yet."],backend:["Design the API for multi-agent broadcast: one prompt → all 18 agents in parallel.","Write a Zod schema for the /api/chat request body with full validation.","ADR: when should we migrate from SQLite to Postgres? What's the trigger?"],devops:["Write a GitHub Actions CI pipeline: typecheck → lint → test → build → deploy.","Write a runbook for: deploy failed on Railway, dashboard is down, it's 2am.","Design the Docker build for the Next.js dashboard — multi-stage, minimal image."],strategy:["Build a one-page competitive battlecard: LeedAB vs Zapier.","What's our ideal ICP and why? Give me a crisp two-paragraph answer.","Suggest three pricing tiers with rationale for each."],sales:["Write a 3-email cold outreach sequence for ops managers at 10–50 person logistics SMBs.","Write a demo script: one workflow, 6 minutes, maximum impact.","Build an objection handling guide for 'we already use Zapier'."],finance:["Build a runway model: $180k cash, $22k monthly burn. Three scenarios.","Calculate CAC and LTV: $8k/month spend, 4 new customers, $400 ACV, 24-month lifetime.","Write a budget vs actuals template for a 6-category monthly review."],"customer success":["Write an onboarding playbook for a new SMB customer — Day 1, Week 1, Month 1.","Design a customer health score framework for our ICP (5–50 person logistics SMB).","Write a QBR deck template for a quarterly review with a mid-tier customer."],investor:["Draft the April investor update. Wins: 30 customers. Ask: senior Node engineer hire.","Write a two-sentence answer to 'What makes LeedAB defensible?'","Summarise our traction story for a seed-stage VC intro email."],operations:["Write a job post for a senior Node.js engineer, AU remote, $160-200k + equity.","Draft a partnership outreach email to a WhatsApp Business API reseller.","Write an internal onboarding doc for a new founding team member."],legal:["Review our standard customer MSA — flag any clauses that expose us given our local-first data model.","Draft a privacy policy for a local-first AI agent that stores all data on the customer's machine.","What should we have in order before a seed raise? Give me a legal due diligence checklist."],data:["Design a retention dashboard for a local-first SMB tool. What D1/D7/D30 metrics matter most?","We have 30 customers. Build a cohort analysis framework to identify which segments stick longest.","Map our full activation funnel from install → first workflow live. What are the drop-off points?"],concierge:["Send my morning brief — schedule, top priority, one decision to make today.","I'm flying Sydney → Melbourne next Tuesday for a 2pm meeting. Build the trip itinerary.","Categorise my last 30 days of expenses and flag anything unusual."],brand:["Audit slide 4 of our investor deck — three things to fix, one to keep.","Write an asset brief for a launch banner: 1200\xd7630, ICP = logistics SMB, tone confident-direct.","Review our marketing site visuals and flag anything off-brand."],delivery:["Draft a 30/60/90 engagement plan for a new logistics customer signed yesterday.","Build this week's delivery brief — what's moving, what's at risk, what needs founders.","Score our active customers on health (red/amber/green) and propose one action per amber/red."],solutions:["/build north-shore-freight, NSW logistics co, 200 dispatches/day, similar to Tarheel","/build hudson-fab, fabless designer, advanced packaging allocation pain","Show me the last three prospects you built and which ones converted."],onboarding:["Draft the Day 0 kickoff brief for a new logistics client — three week-1 wins, calendar invite.","Run the Day 30 check-in template against this client's recent activity and flag anything drifting.","Write a one-paragraph 'first task replaced' celebration message for a Day 7 milestone."],implementation:["Write a one-page implementation brief for pulling Cario TMS dispatches into the ops workflow.","Scope a Xero direct-read integration for the finance agent — risks, effort, in/out of scope.","Three customers want the same MYOB sync — frame this as a reusable integration, not a one-off."],champion:["The Champion at Tarheel hasn't messaged in 8 days — draft a check-in DM.","Walk a Champion through adding their first n8n workflow without doing it for them.","The Champion is asking the same routing question for the third time — surface a pattern + adjust pacing."],research:["Build a prospect brief on Acme Logistics — recent moves, tech stack signals, decision-makers.","Compare 3 competitor agentic ops platforms across deployment, voice channels, computer-use, pricing.","Size the AU SMB logistics ops automation market — TAM/SAM/SOM with sources."],people:["Write a job description for a senior backend engineer, Sydney remote, $160-200k + 0.25-0.75% equity.","Build an onboarding plan for a new ops hire starting Monday — day 1, week 1, month 1.","Draft a Q2 performance review template — quarterly cadence, 15-min written + 15-min call."],procurement:["Compare these 3 freight quotes for SYD→MEL 32 pallets and recommend one.","Build a supplier scorecard for our top carrier this quarter — on-time, defects, response time, pricing.","Coles deducted $2,400 against PO 8821. Draft the dispute response with evidence."],compliance:["Run a SOC 2 Type 1 gap analysis for us — top 5 gaps blocking certification today.","Build a risk register starter — 8-10 likely operational risks for a 12-person SaaS.","Draft an Acceptable Use Policy in plain English — one page, examples on every rule."]},k=`You are the LeedAB Solutions agent writing quick-start chat chips for an SMB operator.
|
|
2
|
+
|
|
3
|
+
Return RAW JSON only. No markdown, no prose, no code fence.
|
|
4
|
+
|
|
5
|
+
JSON shape:
|
|
6
|
+
{
|
|
7
|
+
"<agent_id>": ["prompt", "prompt", "prompt"]
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
Rules:
|
|
11
|
+
- Include exactly one key for each licensed agent provided.
|
|
12
|
+
- Each agent gets 3-5 prompts.
|
|
13
|
+
- Each prompt must be plain text, no markdown, no numbering, no quotes.
|
|
14
|
+
- Max 72 characters per prompt.
|
|
15
|
+
- Start with an action verb.
|
|
16
|
+
- Make prompts specific to this customer, their stack, rules, contacts, tone, and industry.
|
|
17
|
+
- Customer playbook and per-agent override blocks outrank industry wiki.
|
|
18
|
+
- Industry wiki is fallback context only; never overwrite customer-specific facts.
|
|
19
|
+
- Do not invent systems, customers, contacts, volumes, or policies.
|
|
20
|
+
- If context is thin, write useful role-based prompts using the customer name/industry.
|
|
21
|
+
- Only use licensed agent IDs.`;async function l(a){let b,c;if(!a.industry){let b={};for(let c of a.agents){let a=j[c.toLowerCase()]??[];a.length>0&&(b[c]=a.slice(0,5))}return{ok:!0,quickstartByAgent:b,mode:"generic"}}let d=await m(a),e=function(a){let b=Object.entries(a.overrides??{});return 0===b.length?"":b.map(([a,b])=>`### ${a}
|
|
22
|
+
${b.append_block}`).join("\n\n").slice(0,6e3)}(a),f=await n(a.industry),h=a.agents.map(a=>{let b=i.jw[a];return b?`- ${a}: ${b.name} — ${b.tagline}`:`- ${a}: (not in registry)`}).join("\n"),l=[`Customer: ${a.display_name} (id: ${a.client_id})`,`Industry: ${a.industry}`,a.tier?`Tier: ${a.tier}`:"","","## Customer playbook",d||"(no playbook on file — use generic-but-named prompts)","","## Per-agent overrides",e||"(none — agents inherit playbook + industry context)","","## Industry use-case wiki (fallback context)",f||"(no wiki entry for this industry)","","## Licensed agents (one entry per id below)",h].filter(Boolean).join("\n");try{let d=await (0,g.GL)({systemPrompt:k,userMessage:l,model:"claude-sonnet-4-6",user:`solutions:quickstart:${a.client_id}`});b=d.text,c={inputTokens:d.inputTokens,outputTokens:d.outputTokens}}catch(a){return{ok:!1,error:`LLM call failed: ${a.message}`}}let o=function(a,b){let c,d=a.trim().replace(/^```(?:json)?\s*/i,"").replace(/\s*```\s*$/i,"").trim();try{c=JSON.parse(d)}catch{return{ok:!1,error:`LLM returned non-JSON: ${d.slice(0,100)}`}}if(!c||"object"!=typeof c||Array.isArray(c))return{ok:!1,error:"LLM returned non-object JSON"};let e=c,f=new Set(b),g={};for(let[a,b]of Object.entries(e)){if(!f.has(a)||!Array.isArray(b))continue;let c=b.filter(a=>"string"==typeof a).map(a=>a.trim()).filter(a=>a.length>0&&a.length<=80).slice(0,5);c.length>=3&&(g[a]=c)}return 0===Object.keys(g).length?{ok:!1,error:"no valid prompts after validation"}:{ok:!0,value:g}}(b,a.agents);return o.ok?{ok:!0,quickstartByAgent:o.value,mode:"llm",cost:c}:{ok:!1,error:o.error}}async function m(a){if(!a.playbook_files||0===a.playbook_files.length)return"";let b=(0,h.YB)(),c=[];for(let e of a.playbook_files)try{let a=await d.promises.readFile(f().join(b,e),"utf8");c.push(a)}catch{}return c.join("\n\n").slice(0,8e3)}async function n(a){let b=(0,h.YB)();if(!/^[a-z0-9-]{1,60}$/.test(a))return"";let c=f().join(b,"wiki","customer-use-cases",`${a}.md`);try{return(await d.promises.readFile(c,"utf8")).slice(0,6e3)}catch{return""}}},14084:(a,b,c)=>{c.d(b,{k:()=>j});var d=c(73024),e=c(76760),f=c.n(e),g=c(91975),h=c(89004);let i=/^[a-z0-9](?:[a-z0-9-]{0,58}[a-z0-9])?$/;async function j(a,b,c={}){let e,k,l;try{e=function(a,b){if(!i.test(a))throw Error(`unsafe slug: ${JSON.stringify(a)}`);let c=b??(0,g.W)();return f().join(c,"clients",a,"manifest.json")}(a,c.workspaceFallback)}catch(a){return{ok:!1,error:a.message}}try{k=await d.promises.readFile(e,"utf8")}catch(a){return{ok:!1,error:`manifest not found at ${e}: ${a.message}`}}try{l=JSON.parse(k)}catch(a){return{ok:!1,error:`manifest at ${e} is not valid JSON: ${a.message}`}}let m={...l,...b},n=e+".tmp",o=JSON.stringify(m,null,2)+"\n";return await d.promises.writeFile(n,o,"utf8"),await d.promises.rename(n,e),(0,h.v$)(a),{ok:!0,path:e,bytes:Buffer.byteLength(o,"utf8")}}},37098:(a,b,c)=>{c.d(b,{GL:()=>m,K7:()=>k,MS:()=>j,jy:()=>l});var d=c(73024),e=c(48161),f=c(76760);let g=null,h=0;function i(){let a=Date.now();if(g&&a-h<3e4)return g;let b=process.env.LEEDAB_STATE_DIR??(0,f.join)((0,e.homedir)(),".leedab"),c=(0,f.join)(b,"openclaw.json");try{let a=(0,d.readFileSync)(c,"utf8"),b=JSON.parse(a),e=b.gateway?.port??18789;g={url:`http://127.0.0.1:${e}`,token:b.gateway?.auth?.token}}catch{g={url:"http://127.0.0.1:18789"}}return h=a,g}function j(){return process.env.OPENCLAW_GATEWAY_URL??i().url}function k(){let a=process.env.OPENCLAW_GATEWAY_TOKEN??i().token;return a?{authorization:`Bearer ${a}`}:{}}function l(){return process.env.OPENCLAW_AGENT_TARGET??"openclaw/default"}async function m(a){let b=await fetch(`${j()}/v1/chat/completions`,{method:"POST",headers:{"content-type":"application/json",...a.model?{"x-openclaw-model":a.model}:{},...k()},body:JSON.stringify({model:l(),messages:[{role:"system",content:a.systemPrompt},{role:"user",content:a.userMessage}],stream:!1,...a.user?{user:a.user}:{}})});if(!b.ok){let a=await b.text().catch(()=>"");throw Error(`gateway ${b.status}: ${a.slice(0,200)||"no body"}`)}let c=await b.json(),d=c.choices?.[0]?.message?.content??"",e=c.usage?.completion_tokens??0,f=c.usage?.total_tokens??0,g=c.usage?.prompt_tokens??0;return{text:d,inputTokens:f>g+e?f-e:g,outputTokens:e}}},91975:(a,b,c)=>{c.d(b,{E:()=>k,W:()=>i});var d=c(73024),e=c(76760),f=c.n(e),g=c(22709),h=c(89004);function i(){return process.env.LEEDAB_PROSPECT_REPO_PATH?f().resolve(process.env.LEEDAB_PROSPECT_REPO_PATH):(0,g.YB)()}let j=/^[a-z0-9](?:[a-z0-9-]{0,58}[a-z0-9])?$/;async function k(a){var b=a.slug;if(!j.test(b))throw Error(`Invalid slug "${b}" — must be lowercase alphanumeric + hyphens, 1-60 chars, no leading/trailing hyphen, no path separators`);let c=i(),e=f().join(c,"clients",a.slug),g=f().join(c,"context","customers",a.slug),k=f().resolve(e),l=f().resolve(g),m=f().resolve(c);if(!k.startsWith(m+f().sep)||!l.startsWith(m+f().sep))throw Error(`Refused to write outside target root: ${m}`);await d.promises.mkdir(e,{recursive:!0}),a.playbookBody&&await d.promises.mkdir(g,{recursive:!0});let n={schema_version:"1.0",client_id:a.slug,display_name:a.displayName,industry:a.industry,tier:a.tier,license_key:null,status:"prospect",agents:a.agents,overrides:a.overrides,playbook_files:a.playbookBody?[`context/customers/${a.slug}/playbook.md`]:[],template_ids:null},o=f().join(e,"manifest.json");await d.promises.writeFile(o,JSON.stringify(n,null,2)+"\n","utf8");let p=null;return a.playbookBody&&(p=f().join(g,"playbook.md"),await d.promises.writeFile(p,a.playbookBody,"utf8")),(0,h.v$)(a.slug),{manifestPath:o,playbookPath:p,targetRoot:c}}}};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";exports.id=6235,exports.ids=[6235],exports.modules={11702:(a,b,c)=>{c.d(b,{AU:()=>h,xH:()=>g});var d=c(10641),e=c(90897);function f(a){return a.ok?null:"agentId"in a?d.NextResponse.json({error:a.error,message:a.message,clientId:a.clientId,agentId:a.agentId},{status:a.status}):"reason"in a&&void 0!==a.reason?d.NextResponse.json({error:a.error,reason:a.reason,message:a.message},{status:a.status}):d.NextResponse.json({error:a.error,message:a.message},{status:a.status})}async function g(){return f(await (0,e.b)())}async function h(a,b){return f(await (0,e.s)(a,b))}},57477:(a,b,c)=>{c.d(b,{B0:()=>t,Ip:()=>k,T8:()=>q,_T:()=>p,dR:()=>r,mx:()=>o,nj:()=>v,st:()=>s,xB:()=>l,yv:()=>u,zG:()=>n,zY:()=>w});var d=c(73024),e=c(76760),f=c.n(e),g=c(48161),h=c.n(g);let i=/^[a-z0-9](?:[a-z0-9-]{0,58}[a-z0-9])?$/,j=["_inbox/","_Workflows/","00_Org/","01_Customers/","02_Sales/","03_Product/","04_Operations/","05_Finance/","06_Legal/","Permanent/","Wiki/"];function k(a){if(!i.test(a))throw Error(`Invalid clientId: ${a}`);return f().join(process.env.LEEDAB_BRAINS_ROOT?f().resolve(process.env.LEEDAB_BRAINS_ROOT):f().resolve(h().homedir(),"leedab-brains"),a)}async function l(a){try{return(await d.promises.stat(k(a))).isDirectory()}catch{return!1}}function m(a,b){if(b.includes("..")||f().isAbsolute(b))throw Error(`Refused: path contains traversal or is absolute: ${b}`);if(!j.some(a=>b.startsWith(a)))throw Error(`Refused: path "${b}" doesn't start with an allowed prefix (${j.join(", ")})`);let c=k(a),d=f().resolve(c,b);if(!d.startsWith(c+f().sep))throw Error(`Refused: path resolves outside brain root: ${b}`);return d}async function n(a,b){try{if(!await l(a))return{ok:!1,error:`No brain at ${k(a)}. Run bin/onboard-customer.sh first.`};let c=m(a,b),e=await d.promises.readFile(c,"utf8");return{ok:!0,body:e,path:c}}catch(a){return{ok:!1,error:a.message}}}async function o(a,b,c){try{if(!await l(a))return{ok:!1,error:`No brain at ${k(a)}. Run bin/onboard-customer.sh first.`};let e=m(a,b);return await d.promises.mkdir(f().dirname(e),{recursive:!0}),await d.promises.writeFile(e,c,"utf8"),{ok:!0,path:e,bytes:Buffer.byteLength(c,"utf8")}}catch(a){return{ok:!1,error:a.message}}}async function p(a,b,c={}){try{if(!await l(a))return{ok:!1,error:`No brain at ${k(a)}.`};let e=b.endsWith("/")?b:b+"/",g=m(a,e+"__list_sentinel__"),h=f().dirname(g),i=[];try{i=await d.promises.readdir(h)}catch{return{ok:!0,entries:[]}}let j=c.extension??".md",n=c.sinceISO?Date.parse(c.sinceISO):0,o=[];for(let a of i){if(j&&!a.endsWith(j))continue;let b=f().join(h,a),c=await d.promises.stat(b);c.isFile()&&(n&&c.mtimeMs<n||o.push({relativePath:e+a,absolutePath:b,bytes:c.size,modifiedISO:new Date(c.mtimeMs).toISOString()}))}return o.sort((a,b)=>Date.parse(b.modifiedISO)-Date.parse(a.modifiedISO)),{ok:!0,entries:c.limit?o.slice(0,c.limit):o}}catch(a){return{ok:!1,error:a.message}}}async function q(a,b,c){try{if(!await l(a))return{ok:!1,error:`No brain at ${k(a)}. Run bin/onboard-customer.sh first.`};let e=m(a,b);await d.promises.mkdir(f().dirname(e),{recursive:!0});let g="";try{let a=await d.promises.readFile(e,"utf8");a.length>0&&!a.endsWith("\n")&&(g="\n")}catch{}return await d.promises.appendFile(e,g+c,"utf8"),{ok:!0,path:e,bytes:Buffer.byteLength(g+c,"utf8")}}catch(a){return{ok:!1,error:a.message}}}function r(){return new Date().toISOString().slice(0,10)}function s(){return new Date().toISOString()}function t(a){return a.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,60)}function u(a){if(!a.startsWith("---\n")&&!a.startsWith("---\r\n"))return{frontmatter:{},body:a};let b=a.indexOf("\n---",4);if(-1===b)return{frontmatter:{},body:a};let c=a.slice(4,b),d=a.slice(b+4).replace(/^\r?\n/,""),e={},f=null,g=[],h=()=>{null!==f&&(e[f]=[...g],g.length=0,f=null)};for(let a of c.split(/\r?\n/)){if(""===a.trim())continue;let b=a.match(/^\s*-\s+(.*)$/);if(b&&null!==f){let a=b[1].trim(),c=a.startsWith('"')&&a.endsWith('"')||a.startsWith("'")&&a.endsWith("'")?a.slice(1,-1):a;g.push(c);continue}let c=a.match(/^([A-Za-z0-9_\-.]+)\s*:\s*(.*)$/);if(c){h();let a=c[1],b=c[2];if(""===b){f=a;continue}e[a]=function(a){let b=a.trim();if(""===b||"null"===b||"~"===b)return null;if("true"===b)return!0;if("false"===b)return!1;if(b.startsWith('"')&&b.endsWith('"'))return b.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,"\\");if(b.startsWith("'")&&b.endsWith("'"))return b.slice(1,-1).replace(/\\'/g,"'");if(b.startsWith("[")&&b.endsWith("]")){let a=b.slice(1,-1).trim();return a?a.split(/\s*,\s*/).map(a=>{let b=a.trim();return b.startsWith('"')&&b.endsWith('"')||b.startsWith("'")&&b.endsWith("'")?b.slice(1,-1):b}):[]}return/^-?\d+$/.test(b)||/^-?\d*\.\d+$/.test(b)?Number(b):b}(b)}}return h(),{frontmatter:e,body:d}}function v(a,b){let c=Object.keys(a);if(0===c.length)return b.startsWith("---"),b;let d=["---"];for(let b of c){var e;d.push(`${b}: ${null===(e=a[b])?"null":"boolean"==typeof e||"number"==typeof e?String(e):Array.isArray(e)?"["+e.map(a=>/[,\s:#]/.test(a)?`"${a.replace(/"/g,'\\"')}"`:a).join(", ")+"]":""===e||/^[\d\s]/.test(e)||/[:#\n"']/.test(e)||"true"===e||"false"===e||"null"===e||"~"===e?`"${e.replace(/"/g,'\\"')}"`:e}`)}return d.push("---",""),d.join("\n")+b.replace(/^\n+/,"")}function w(a){if(!a||"object"!=typeof a||Array.isArray(a))return{ok:!1,error:"patch must be a flat object"};let b={};for(let[c,d]of Object.entries(a)){if(!/^[A-Za-z0-9_\-.]+$/.test(c))return{ok:!1,error:`invalid frontmatter key "${c}" (allowed: letters / digits / _ - .)`};if(null===d||"string"==typeof d||"number"==typeof d||"boolean"==typeof d)b[c]=d;else{if(!(Array.isArray(d)&&d.every(a=>"string"==typeof a)))return{ok:!1,error:`value for "${c}" must be string / number / boolean / null / string[] — got ${typeof d}`};b[c]=d}}return{ok:!0,patch:b}}},92956:(a,b,c)=>{c.d(b,{t:()=>g});var d=c(97242);let e=null,f=`You are a careful, evidence-based researcher writing for LeedAB internal use.
|
|
2
|
+
|
|
3
|
+
When you receive a research query:
|
|
4
|
+
1. Use web_search to find authoritative sources.
|
|
5
|
+
2. Synthesise findings into clear, factual prose. No hedging, no speculation beyond what the sources support.
|
|
6
|
+
3. Cite every claim. Phrasing like "per LinkedIn (cited)" or "company website states X" is mandatory.
|
|
7
|
+
4. When sources conflict, surface the conflict instead of resolving it silently.
|
|
8
|
+
5. Never invent details (founder names, employee counts, customer lists) without a citation.
|
|
9
|
+
6. Output format: tight prose, then a Sources list at the end.`;async function g(a){try{let b=function(){if(e)return e;let a=process.env.ANTHROPIC_API_KEY;if(!a)throw Error("ANTHROPIC_API_KEY env var not set — required for web search");return e=new d.Ay({apiKey:a})}(),c=[{type:"web_search_20250305",name:"web_search",max_uses:a.maxSearches??5,...a.allowedDomains?{allowed_domains:a.allowedDomains}:{},...a.blockedDomains?{blocked_domains:a.blockedDomains}:{}}],g=await b.messages.create({model:a.model??"claude-sonnet-4-6",max_tokens:4096,system:a.systemPrompt??f,tools:c,messages:[{role:"user",content:a.query}]}),h="",i=[],j=0;for(let a of g.content)if("text"===a.type){h+=a.text;let b=a.citations;if(Array.isArray(b))for(let a of b)a.url&&i.push({url:a.url,title:a.title??a.url,encryptedIndex:a.encrypted_index})}else"server_tool_use"===a.type&&j++;let k=new Set,l=i.filter(a=>!k.has(a.url)&&(k.add(a.url),!0));return{ok:!0,text:h.trim(),citations:l,searchesUsed:j,inputTokens:g.usage.input_tokens,outputTokens:g.usage.output_tokens}}catch(a){return{ok:!1,error:a instanceof Error?a.message:"unknown web-search error"}}}}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
exports.id=6255,exports.ids=[6255],exports.modules={78335:()=>{},87755:(a,b,c)=>{"use strict";c.d(b,{jw:()=>d,vi:()=>e});let d={coo:{id:"coo",name:"COO",tagline:"Org coordination, daily briefs",description:"Cross-team coordination, priority calls, daily ops briefs, delegation recommendations.",defaultModel:"claude-opus-4-7",availableModels:["claude-opus-4-7","claude-sonnet-4-6"],accent:"#10b981",glyph:"CO",team:"executive",contextFiles:["context/product-brief.md","context/metrics.md","context/roadmap.md","context/skills/ops-skills.md","context/skills/dashboard-ops.md"],agentFile:"agents/coo-agent.md",code:"COO",section:"\xa7 00",status:"active",tasks:["Drafted weekly ops brief","Flagged 2 cross-team blockers"]},marketing:{id:"marketing",name:"Marketing",tagline:"Team lead, brand, ICP, strategy",description:"Marketing team lead. Brand voice, ICP definition, marketing strategy, and cross-channel oversight.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7","claude-haiku-4-5-20251001"],accent:"#f59e0b",glyph:"MK",team:"marketing",contextFiles:["context/product-brief.md","context/brand-guide.md","context/customer-personas.md","context/competitor-landscape.md","context/skills/marketing-skills.md","context/skills/content-skills.md"],agentFile:"agents/marketing-agent.md",code:"MKT",section:"\xa7 10",status:"active",tasks:["Drafted 3 email sequences","Updated ICP scoring"]},content:{id:"content",name:"Content",tagline:"Copywriting, SEO, social, newsletters",description:"Conversion copywriting, SEO blog posts, social media content, newsletters, and case studies.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7","claude-haiku-4-5-20251001"],accent:"#f59e0b",glyph:"CN",team:"marketing",contextFiles:["context/product-brief.md","context/brand-guide.md","context/customer-personas.md","context/skills/content-skills.md"],agentFile:"agents/content-agent.md",code:"CNT",section:"\xa7 11",status:"active",tasks:["Published 2 SEO blog posts","Drafted newsletter #8"]},video:{id:"video",name:"Video",tagline:"AI video, scripts, programmatic production",description:"Video production using AI tools: Hyperframes, HeyGen, Veo, Runway. Scripts, storyboards, and demo walkthroughs.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7"],accent:"#f59e0b",glyph:"VD",team:"marketing",contextFiles:["context/product-brief.md","context/brand-guide.md","context/customer-personas.md","context/skills/video-skills.md"],agentFile:"agents/video-agent.md",code:"VDO",section:"\xa7 12",status:"idle",tasks:["Scripted demo walkthrough","LinkedIn video brief"]},campaigns:{id:"campaigns",name:"Campaigns",tagline:"Paid ads, A/B tests, growth experiments",description:"Paid acquisition on Google/Meta/LinkedIn, A/B test programs, UTM taxonomy, CAC/LTV analysis, ad copy variants.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7"],accent:"#f59e0b",glyph:"CM",team:"marketing",contextFiles:["context/product-brief.md","context/customer-personas.md","context/competitor-landscape.md","context/metrics.md","context/skills/campaigns-skills.md"],agentFile:"agents/campaigns-agent.md",code:"CMP",section:"\xa7 13",status:"active",tasks:["Launched Google Search test","A/B test plan for headlines"]},email:{id:"email",name:"Email",tagline:"Sequences, cold outreach, nurture flows",description:"Email sequences, cold outreach campaigns, lifecycle drips, and re-engagement flows.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7","claude-haiku-4-5-20251001"],accent:"#f59e0b",glyph:"EM",team:"marketing",contextFiles:["context/product-brief.md","context/brand-guide.md","context/customer-personas.md","context/skills/email-skills.md"],agentFile:"agents/email-agent.md",code:"EML",section:"\xa7 14",status:"active",tasks:["Wrote 5-email welcome sequence","Cold outreach drafted for 3 segments"]},product:{id:"product",name:"Product",tagline:"Specs, PRDs, release notes",description:"Turns fuzzy ideas into implementable specs. Feature docs, user stories, release notes.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7"],accent:"#fbbf24",glyph:"PR",team:"product",contextFiles:["context/product-brief.md","context/roadmap.md","context/skills/product-skills.md"],agentFile:"agents/product-agent.md",code:"PRD",section:"\xa7 30",status:"active",tasks:["Summarised 47 user tickets","Updated roadmap priorities"]},engineering:{id:"engineering",name:"Engineering",tagline:"Tech lead, architecture, code review",description:"Engineering team lead. Architecture decisions, code review, technical documentation, ADRs.",defaultModel:"claude-opus-4-7",availableModels:["claude-opus-4-7","claude-sonnet-4-6","claude-opus-4-6"],accent:"#d97706",glyph:"EN",team:"engineering",contextFiles:["context/product-brief.md"],agentFile:"agents/engineering-agent.md",code:"ENG",section:"\xa7 40",status:"active",tasks:["Reviewed 4 PRs","Provider abstraction ADR"]},frontend:{id:"frontend",name:"Frontend",tagline:"React, UI, design implementation",description:"React/Next.js/Tailwind specialist. Component specs, UI implementation, accessibility, performance.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7"],accent:"#d97706",glyph:"FE",team:"engineering",contextFiles:["context/product-brief.md"],agentFile:"agents/frontend-agent.md",code:"FE",section:"\xa7 41",status:"active",tasks:["Shipped agent belt redesign","Accessibility audit pass"]},backend:{id:"backend",name:"Backend",tagline:"APIs, databases, server architecture",description:"Node.js/TypeScript specialist. API design, database schemas, server architecture, security.",defaultModel:"claude-opus-4-7",availableModels:["claude-opus-4-7","claude-sonnet-4-6"],accent:"#d97706",glyph:"BE",team:"engineering",contextFiles:["context/product-brief.md"],agentFile:"agents/backend-agent.md",code:"BE",section:"\xa7 42",status:"idle",tasks:["Built SSE streaming endpoint","Added Zod validation layer"]},devops:{id:"devops",name:"DevOps",tagline:"CI/CD, infra, monitoring, runbooks",description:"GitHub Actions, Docker, deployment pipelines, uptime monitoring, incident runbooks.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7"],accent:"#d97706",glyph:"DV",team:"engineering",contextFiles:["context/product-brief.md"],agentFile:"agents/devops-agent.md",code:"DVP",section:"\xa7 43",status:"idle",tasks:["Set up CI pipeline","Deploy runbook written"]},strategy:{id:"strategy",name:"Strategy",tagline:"GTM, competitive, pricing",description:"GTM plans, competitive analysis, pricing strategy, roadmap prioritization, OKRs.",defaultModel:"claude-opus-4-7",availableModels:["claude-opus-4-7","claude-sonnet-4-6"],accent:"#f59e0b",glyph:"ST",team:"strategy",contextFiles:["context/product-brief.md","context/competitor-landscape.md","context/customer-personas.md","context/metrics.md","context/roadmap.md","context/skills/strategy-investor-skills.md"],agentFile:"agents/strategy-agent.md",code:"STR",section:"\xa7 50",status:"active",tasks:["Scanned 12 competitor updates","TAM model draft"]},sales:{id:"sales",name:"Sales",tagline:"Deals, proposals, outreach, pipeline",description:"Deal-stage work: proposal decks, outreach sequences, demo scripts, objection handling, CRM notes.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7"],accent:"#10b981",glyph:"SL",team:"sales",contextFiles:["context/product-brief.md","context/customer-personas.md","context/competitor-landscape.md","context/skills/sales-skills.md"],agentFile:"agents/sales-agent.md",code:"SLS",section:"\xa7 20",status:"active",tasks:["3 outreach sequences ready","Demo script v2 done"]},finance:{id:"finance",name:"Finance",tagline:"Runway, burn, scenario planning",description:"Internal financial ops: runway models, burn analysis, scenario planning, budget vs actuals.",defaultModel:"claude-opus-4-7",availableModels:["claude-opus-4-7","claude-sonnet-4-6"],accent:"#10b981",glyph:"FN",team:"finance",contextFiles:["context/product-brief.md","context/metrics.md","context/skills/finance-skills.md"],agentFile:"agents/finance-agent.md",code:"CFN",section:"\xa7 70",status:"active",tasks:["Runway model updated","Q2 budget vs actuals"]},cx:{id:"cx",name:"Customer Success",tagline:"Onboarding, health scores, churn",description:"Customer health scoring, onboarding playbooks, churn risk memos, QBR decks, escalation templates.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7"],accent:"#10b981",glyph:"CX",team:"cx",contextFiles:["context/product-brief.md","context/customer-personas.md","context/metrics.md","context/skills/cx-skills.md"],agentFile:"agents/cx-agent.md",code:"CXS",section:"\xa7 80",status:"active",tasks:["Onboarding playbook v1","Health score framework"]},investor:{id:"investor",name:"Investor",tagline:"Deck, updates, fundraising",description:"Pitch decks, investor updates, financial models, due diligence prep.",defaultModel:"claude-opus-4-7",availableModels:["claude-opus-4-7","claude-sonnet-4-6"],accent:"#fde68a",glyph:"IN",team:"investor",contextFiles:["context/product-brief.md","context/metrics.md","context/competitor-landscape.md","context/customer-personas.md","context/skills/strategy-investor-skills.md"],agentFile:"agents/investor-agent.md",code:"INV",section:"\xa7 71",status:"active",tasks:["Board memo draft ready","KPI tracker updated"]},legal:{id:"legal",name:"Legal",tagline:"Contracts, privacy, compliance",description:"Customer contracts, privacy policy, data handling compliance, term sheets, due diligence.",defaultModel:"claude-opus-4-7",availableModels:["claude-opus-4-7","claude-sonnet-4-6"],accent:"#6366f1",glyph:"LG",team:"legal",contextFiles:["context/product-brief.md"],agentFile:"agents/legal-agent.md",code:"LGL",section:"\xa7 90",status:"idle",tasks:["Reviewed customer MSA","Privacy policy gap analysis"]},automation:{id:"automation",name:"Automation",tagline:"Build & manage n8n workflows",description:"Build, deploy, and manage n8n workflows from natural language. Connect any app, trigger any automation, inspect execution history.",defaultModel:"claude-opus-4-7",availableModels:["claude-opus-4-7","claude-sonnet-4-6"],accent:"#f97316",glyph:"N8",team:"automation",contextFiles:["context/product-brief.md","context/skills/n8n-skills.md","context/skills/dashboard-ops.md"],agentFile:"agents/automation-agent.md",code:"N8N",section:"\xa7 45",status:"active",tasks:["Built 3 n8n workflows","Lead capture → Sheets live"]},data:{id:"data",name:"Data",tagline:"Metrics, cohorts, retention",description:"Product analytics, cohort analysis, funnel metrics, retention modeling, growth instrumentation.",defaultModel:"claude-opus-4-7",availableModels:["claude-opus-4-7","claude-sonnet-4-6"],accent:"#06b6d4",glyph:"DT",team:"data",contextFiles:["context/product-brief.md","context/metrics.md"],agentFile:"agents/data-agent.md",code:"DAT",section:"\xa7 72",status:"active",tasks:["D7/D30 retention model","Funnel drop-off analysis"]},ops:{id:"ops",name:"Operations",tagline:"Hiring, internal, partnerships",description:"Hiring posts, internal processes, support templates, partner outreach.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7","claude-haiku-4-5-20251001"],accent:"#fbbf24",glyph:"OP",team:"ops",contextFiles:["context/product-brief.md","context/brand-guide.md","context/skills/ops-skills.md"],agentFile:"agents/ops-agent.md",code:"OPS",section:"\xa7 60",status:"active",tasks:["Drafted 2 job posts","Payroll files sent"]},concierge:{id:"concierge",name:"Concierge",tagline:"Calendar, travel, life logistics",description:"Founder-only personal assistant. Calendar defence, travel, expenses, meeting prep.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7","claude-haiku-4-5-20251001"],accent:"#10b981",glyph:"CC",team:"executive",contextFiles:["context/skills/concierge-skills.md"],agentFile:"agents/concierge-agent.md",code:"CON",section:"\xa7 01",status:"active",tasks:["Daily brief sent 07:00","Booked Sydney→Melbourne flights"]},brand:{id:"brand",name:"Brand",tagline:"Visual identity, decks, guardrails",description:"Brand consistency, deck design, visual identity, asset briefs, brand audits.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7","claude-haiku-4-5-20251001"],accent:"#f59e0b",glyph:"BR",team:"marketing",contextFiles:["context/brand-guide.md","context/skills/brand-skills.md","context/skills/marketing-skills.md"],agentFile:"agents/brand-agent.md",code:"BR",section:"\xa7 15",status:"active",tasks:["Audited investor deck v3","Drafted social card spec"]},research:{id:"research",name:"Research",tagline:"Cited findings, prospect briefs, intel",description:"Competitive intel, market sizing, prospect briefs, vendor evaluation. Cite or shut up.",defaultModel:"claude-opus-4-7",availableModels:["claude-opus-4-7","claude-sonnet-4-6"],accent:"#4a7c8a",glyph:"RS",team:"strategy",contextFiles:["context/product-brief.md","context/competitor-landscape.md","context/skills/research-skills.md"],agentFile:"agents/research-agent.md",code:"RES",section:"\xa7 51",status:"active",tasks:["Prospect brief: Acme Logistics","Vendor eval: EU payroll tools"]},people:{id:"people",name:"People",tagline:"Hiring, onboarding, leave, performance",description:"HR for SMBs. Job descriptions, onboarding plans, performance reviews, employee comms.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7","claude-haiku-4-5-20251001"],accent:"#8a5e7a",glyph:"PE",team:"people",contextFiles:["context/product-brief.md","context/brand-guide.md","context/skills/people-skills.md"],agentFile:"agents/people-agent.md",code:"PPL",section:"\xa7 55",status:"active",tasks:["Drafted senior BE engineer JD","Q2 review template ready"]},procurement:{id:"procurement",name:"Procurement",tagline:"Suppliers, POs, freight, disputes",description:"Purchase orders, supplier scoring, freight rate sourcing, deduction disputes.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7","claude-haiku-4-5-20251001"],accent:"#7a6248",glyph:"PR",team:"ops",contextFiles:["context/product-brief.md","context/skills/procurement-skills.md","context/skills/finance-skills.md"],agentFile:"agents/procurement-agent.md",code:"PRC",section:"\xa7 61",status:"active",tasks:["Negotiated SYD→MEL rate","Coles deduction dispute drafted"]},compliance:{id:"compliance",name:"Compliance",tagline:"SOC 2, ISO, insurance, risk register",description:"Compliance frameworks, audit prep, insurance tracking, vendor due diligence, risk register.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7"],accent:"#5a6b80",glyph:"CP",team:"legal",contextFiles:["context/product-brief.md","context/skills/compliance-skills.md"],agentFile:"agents/compliance-agent.md",code:"RSK",section:"\xa7 91",status:"active",tasks:["SOC 2 gap analysis v1","Risk register Q2 review"]},delivery:{id:"delivery",name:"Delivery",tagline:"Lifecycle ownership, 30/60/90, escalations",description:"Head of Delivery. Owns paying-client engagements signature → first 90 days. Delegates to Solutions, Onboarding, Implementation. Surfaces what needs founders.",defaultModel:"claude-opus-4-7",availableModels:["claude-opus-4-7","claude-sonnet-4-6"],accent:"#9b6e2a",glyph:"DL",team:"lifecycle",contextFiles:["context/product-brief.md","context/metrics.md","context/skills/cx-skills.md"],agentFile:"agents/delivery-agent.md",code:"DEL",section:"\xa7 95",status:"active",tasks:["30/60/90 plan drafted for new pilot","Weekly delivery brief sent to founders"]},solutions:{id:"solutions",name:"Solutions",tagline:"Pre-sale prospect demos, /build trigger",description:"Pre-sale prospect demos. Mina sends `/build <slug>` from Telegram → drafts manifest preview → on `go`, commits to private prospect repo with shareable demo URL.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7"],accent:"#9b6e2a",glyph:"SO",team:"lifecycle",contextFiles:["context/product-brief.md","context/customer-personas.md","context/skills/sales-skills.md"],agentFile:"agents/solutions-agent.md",code:"SOL",section:"\xa7 96",status:"active",tasks:["Built 3 prospect demos via /build","Logistics use-case wiki updated"]},onboarding:{id:"onboarding",name:"Onboarding",tagline:"Day 0–90 lifecycle, kickoff briefs, milestones",description:"Owns the first 30–90 days of a paying client's life. Goal: 'replaced a real task' by Day 7, 'I'd be sad to lose this' by Day 30. Reports to Delivery.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7","claude-haiku-4-5-20251001"],accent:"#9b6e2a",glyph:"ON",team:"lifecycle",contextFiles:["context/product-brief.md","context/skills/cx-skills.md"],agentFile:"agents/onboarding-agent.md",code:"ONB",section:"\xa7 97",status:"active",tasks:["Day 7 check-in scheduled","Kickoff brief drafted for new client"]},implementation:{id:"implementation",name:"Implementation",tagline:"Custom integrations, data migrations, technical bring-up",description:"Technical bring-up beyond the standard install. Custom integrations, data migrations, bespoke workflows. Writes a one-page implementation brief before code.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7"],accent:"#9b6e2a",glyph:"IM",team:"lifecycle",contextFiles:["context/product-brief.md","context/skills/devops-skills.md"],agentFile:"agents/implementation-agent.md",code:"IMP",section:"\xa7 98",status:"active",tasks:["Custom Cario TMS integration spec drafted","Xero pull integration scoped"]},champion:{id:"champion",name:"Champion",tagline:"Customer-side enablement coach, 1:1 with the Champion",description:"Customer-side enablement. Serves the customer's designated Champion 1:1 — Telegram-first, always-on. Goal: Champion self-sufficiency. Escalates to Implementation/Onboarding, never directly to founders.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7"],accent:"#9b6e2a",glyph:"CH",team:"lifecycle",contextFiles:["context/product-brief.md","context/skills/cx-skills.md"],agentFile:"agents/champion-agent.md",code:"CHM",section:"\xa7 99",status:"active",tasks:["Day 30 milestone walkthrough delivered","Workflow-of-the-week DM sent"]}};function e(a){return a in d}},96487:()=>{}};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";exports.id=697,exports.ids=[697],exports.modules={697:(a,b,c)=>{let d;c.d(b,{initScheduler:()=>U});var e=c(42703),f=c.n(e),g=c(29021),h=c(33873),i=c.n(h),j=c(50200);let k=(0,j.dataPath)("workflows"),l=(0,j.dataPath)("workflow-runs");async function m(a){await g.promises.mkdir(a,{recursive:!0})}function n(a,b){if(!/^[\w-]{1,64}$/.test(a))throw Error(`Invalid ${b}: ${a}`)}async function o(){await m(k);let a=await g.promises.readdir(k).catch(()=>[]);return(await Promise.all(a.filter(a=>a.endsWith(".json")).map(async a=>JSON.parse(await g.promises.readFile(i().join(k,a),"utf8"))))).sort((a,b)=>b.updatedAt-a.updatedAt)}async function p(a){try{let b=await g.promises.readFile((n(a,"workflow id"),i().join(k,`${a}.json`)),"utf8");return JSON.parse(b)}catch{return null}}async function q(a){var b,c,d;await m((n(b=a.workflowId,"workflowId"),i().join(l,b))),await g.promises.writeFile((c=a.workflowId,d=a.id,n(c,"workflowId"),n(d,"runId"),i().join(l,c,`${d}.json`)),JSON.stringify(a,null,2),"utf8")}let r={coo:{id:"coo",name:"COO",tagline:"Org coordination, daily briefs",description:"Cross-team coordination, priority calls, daily ops briefs, delegation recommendations.",defaultModel:"claude-opus-4-7",availableModels:["claude-opus-4-7","claude-sonnet-4-6"],accent:"#10b981",glyph:"CO",team:"executive",contextFiles:["context/product-brief.md","context/metrics.md","context/roadmap.md","context/skills/ops-skills.md","context/skills/dashboard-ops.md"],agentFile:"agents/coo-agent.md",code:"COO",section:"\xa7 00",status:"active",tasks:["Drafted weekly ops brief","Flagged 2 cross-team blockers"]},marketing:{id:"marketing",name:"Marketing",tagline:"Team lead, brand, ICP, strategy",description:"Marketing team lead. Brand voice, ICP definition, marketing strategy, and cross-channel oversight.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7","claude-haiku-4-5-20251001"],accent:"#f59e0b",glyph:"MK",team:"marketing",contextFiles:["context/product-brief.md","context/brand-guide.md","context/customer-personas.md","context/competitor-landscape.md","context/skills/marketing-skills.md","context/skills/content-skills.md"],agentFile:"agents/marketing-agent.md",code:"MKT",section:"\xa7 10",status:"active",tasks:["Drafted 3 email sequences","Updated ICP scoring"]},content:{id:"content",name:"Content",tagline:"Copywriting, SEO, social, newsletters",description:"Conversion copywriting, SEO blog posts, social media content, newsletters, and case studies.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7","claude-haiku-4-5-20251001"],accent:"#f59e0b",glyph:"CN",team:"marketing",contextFiles:["context/product-brief.md","context/brand-guide.md","context/customer-personas.md","context/skills/content-skills.md"],agentFile:"agents/content-agent.md",code:"CNT",section:"\xa7 11",status:"active",tasks:["Published 2 SEO blog posts","Drafted newsletter #8"]},video:{id:"video",name:"Video",tagline:"AI video, scripts, programmatic production",description:"Video production using AI tools: Hyperframes, HeyGen, Veo, Runway. Scripts, storyboards, and demo walkthroughs.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7"],accent:"#f59e0b",glyph:"VD",team:"marketing",contextFiles:["context/product-brief.md","context/brand-guide.md","context/customer-personas.md","context/skills/video-skills.md"],agentFile:"agents/video-agent.md",code:"VDO",section:"\xa7 12",status:"idle",tasks:["Scripted demo walkthrough","LinkedIn video brief"]},campaigns:{id:"campaigns",name:"Campaigns",tagline:"Paid ads, A/B tests, growth experiments",description:"Paid acquisition on Google/Meta/LinkedIn, A/B test programs, UTM taxonomy, CAC/LTV analysis, ad copy variants.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7"],accent:"#f59e0b",glyph:"CM",team:"marketing",contextFiles:["context/product-brief.md","context/customer-personas.md","context/competitor-landscape.md","context/metrics.md","context/skills/campaigns-skills.md"],agentFile:"agents/campaigns-agent.md",code:"CMP",section:"\xa7 13",status:"active",tasks:["Launched Google Search test","A/B test plan for headlines"]},email:{id:"email",name:"Email",tagline:"Sequences, cold outreach, nurture flows",description:"Email sequences, cold outreach campaigns, lifecycle drips, and re-engagement flows.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7","claude-haiku-4-5-20251001"],accent:"#f59e0b",glyph:"EM",team:"marketing",contextFiles:["context/product-brief.md","context/brand-guide.md","context/customer-personas.md","context/skills/email-skills.md"],agentFile:"agents/email-agent.md",code:"EML",section:"\xa7 14",status:"active",tasks:["Wrote 5-email welcome sequence","Cold outreach drafted for 3 segments"]},product:{id:"product",name:"Product",tagline:"Specs, PRDs, release notes",description:"Turns fuzzy ideas into implementable specs. Feature docs, user stories, release notes.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7"],accent:"#fbbf24",glyph:"PR",team:"product",contextFiles:["context/product-brief.md","context/roadmap.md","context/skills/product-skills.md"],agentFile:"agents/product-agent.md",code:"PRD",section:"\xa7 30",status:"active",tasks:["Summarised 47 user tickets","Updated roadmap priorities"]},engineering:{id:"engineering",name:"Engineering",tagline:"Tech lead, architecture, code review",description:"Engineering team lead. Architecture decisions, code review, technical documentation, ADRs.",defaultModel:"claude-opus-4-7",availableModels:["claude-opus-4-7","claude-sonnet-4-6","claude-opus-4-6"],accent:"#d97706",glyph:"EN",team:"engineering",contextFiles:["context/product-brief.md"],agentFile:"agents/engineering-agent.md",code:"ENG",section:"\xa7 40",status:"active",tasks:["Reviewed 4 PRs","Provider abstraction ADR"]},frontend:{id:"frontend",name:"Frontend",tagline:"React, UI, design implementation",description:"React/Next.js/Tailwind specialist. Component specs, UI implementation, accessibility, performance.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7"],accent:"#d97706",glyph:"FE",team:"engineering",contextFiles:["context/product-brief.md"],agentFile:"agents/frontend-agent.md",code:"FE",section:"\xa7 41",status:"active",tasks:["Shipped agent belt redesign","Accessibility audit pass"]},backend:{id:"backend",name:"Backend",tagline:"APIs, databases, server architecture",description:"Node.js/TypeScript specialist. API design, database schemas, server architecture, security.",defaultModel:"claude-opus-4-7",availableModels:["claude-opus-4-7","claude-sonnet-4-6"],accent:"#d97706",glyph:"BE",team:"engineering",contextFiles:["context/product-brief.md"],agentFile:"agents/backend-agent.md",code:"BE",section:"\xa7 42",status:"idle",tasks:["Built SSE streaming endpoint","Added Zod validation layer"]},devops:{id:"devops",name:"DevOps",tagline:"CI/CD, infra, monitoring, runbooks",description:"GitHub Actions, Docker, deployment pipelines, uptime monitoring, incident runbooks.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7"],accent:"#d97706",glyph:"DV",team:"engineering",contextFiles:["context/product-brief.md"],agentFile:"agents/devops-agent.md",code:"DVP",section:"\xa7 43",status:"idle",tasks:["Set up CI pipeline","Deploy runbook written"]},strategy:{id:"strategy",name:"Strategy",tagline:"GTM, competitive, pricing",description:"GTM plans, competitive analysis, pricing strategy, roadmap prioritization, OKRs.",defaultModel:"claude-opus-4-7",availableModels:["claude-opus-4-7","claude-sonnet-4-6"],accent:"#f59e0b",glyph:"ST",team:"strategy",contextFiles:["context/product-brief.md","context/competitor-landscape.md","context/customer-personas.md","context/metrics.md","context/roadmap.md","context/skills/strategy-investor-skills.md"],agentFile:"agents/strategy-agent.md",code:"STR",section:"\xa7 50",status:"active",tasks:["Scanned 12 competitor updates","TAM model draft"]},sales:{id:"sales",name:"Sales",tagline:"Deals, proposals, outreach, pipeline",description:"Deal-stage work: proposal decks, outreach sequences, demo scripts, objection handling, CRM notes.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7"],accent:"#10b981",glyph:"SL",team:"sales",contextFiles:["context/product-brief.md","context/customer-personas.md","context/competitor-landscape.md","context/skills/sales-skills.md"],agentFile:"agents/sales-agent.md",code:"SLS",section:"\xa7 20",status:"active",tasks:["3 outreach sequences ready","Demo script v2 done"]},finance:{id:"finance",name:"Finance",tagline:"Runway, burn, scenario planning",description:"Internal financial ops: runway models, burn analysis, scenario planning, budget vs actuals.",defaultModel:"claude-opus-4-7",availableModels:["claude-opus-4-7","claude-sonnet-4-6"],accent:"#10b981",glyph:"FN",team:"finance",contextFiles:["context/product-brief.md","context/metrics.md","context/skills/finance-skills.md"],agentFile:"agents/finance-agent.md",code:"CFN",section:"\xa7 70",status:"active",tasks:["Runway model updated","Q2 budget vs actuals"]},cx:{id:"cx",name:"Customer Success",tagline:"Onboarding, health scores, churn",description:"Customer health scoring, onboarding playbooks, churn risk memos, QBR decks, escalation templates.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7"],accent:"#10b981",glyph:"CX",team:"cx",contextFiles:["context/product-brief.md","context/customer-personas.md","context/metrics.md","context/skills/cx-skills.md"],agentFile:"agents/cx-agent.md",code:"CXS",section:"\xa7 80",status:"active",tasks:["Onboarding playbook v1","Health score framework"]},investor:{id:"investor",name:"Investor",tagline:"Deck, updates, fundraising",description:"Pitch decks, investor updates, financial models, due diligence prep.",defaultModel:"claude-opus-4-7",availableModels:["claude-opus-4-7","claude-sonnet-4-6"],accent:"#fde68a",glyph:"IN",team:"investor",contextFiles:["context/product-brief.md","context/metrics.md","context/competitor-landscape.md","context/customer-personas.md","context/skills/strategy-investor-skills.md"],agentFile:"agents/investor-agent.md",code:"INV",section:"\xa7 71",status:"active",tasks:["Board memo draft ready","KPI tracker updated"]},legal:{id:"legal",name:"Legal",tagline:"Contracts, privacy, compliance",description:"Customer contracts, privacy policy, data handling compliance, term sheets, due diligence.",defaultModel:"claude-opus-4-7",availableModels:["claude-opus-4-7","claude-sonnet-4-6"],accent:"#6366f1",glyph:"LG",team:"legal",contextFiles:["context/product-brief.md"],agentFile:"agents/legal-agent.md",code:"LGL",section:"\xa7 90",status:"idle",tasks:["Reviewed customer MSA","Privacy policy gap analysis"]},automation:{id:"automation",name:"Automation",tagline:"Build & manage n8n workflows",description:"Build, deploy, and manage n8n workflows from natural language. Connect any app, trigger any automation, inspect execution history.",defaultModel:"claude-opus-4-7",availableModels:["claude-opus-4-7","claude-sonnet-4-6"],accent:"#f97316",glyph:"N8",team:"automation",contextFiles:["context/product-brief.md","context/skills/n8n-skills.md","context/skills/dashboard-ops.md"],agentFile:"agents/automation-agent.md",code:"N8N",section:"\xa7 45",status:"active",tasks:["Built 3 n8n workflows","Lead capture → Sheets live"]},data:{id:"data",name:"Data",tagline:"Metrics, cohorts, retention",description:"Product analytics, cohort analysis, funnel metrics, retention modeling, growth instrumentation.",defaultModel:"claude-opus-4-7",availableModels:["claude-opus-4-7","claude-sonnet-4-6"],accent:"#06b6d4",glyph:"DT",team:"data",contextFiles:["context/product-brief.md","context/metrics.md"],agentFile:"agents/data-agent.md",code:"DAT",section:"\xa7 72",status:"active",tasks:["D7/D30 retention model","Funnel drop-off analysis"]},ops:{id:"ops",name:"Operations",tagline:"Hiring, internal, partnerships",description:"Hiring posts, internal processes, support templates, partner outreach.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7","claude-haiku-4-5-20251001"],accent:"#fbbf24",glyph:"OP",team:"ops",contextFiles:["context/product-brief.md","context/brand-guide.md","context/skills/ops-skills.md"],agentFile:"agents/ops-agent.md",code:"OPS",section:"\xa7 60",status:"active",tasks:["Drafted 2 job posts","Payroll files sent"]},concierge:{id:"concierge",name:"Concierge",tagline:"Calendar, travel, life logistics",description:"Founder-only personal assistant. Calendar defence, travel, expenses, meeting prep.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7","claude-haiku-4-5-20251001"],accent:"#10b981",glyph:"CC",team:"executive",contextFiles:["context/skills/concierge-skills.md"],agentFile:"agents/concierge-agent.md",code:"CON",section:"\xa7 01",status:"active",tasks:["Daily brief sent 07:00","Booked Sydney→Melbourne flights"]},brand:{id:"brand",name:"Brand",tagline:"Visual identity, decks, guardrails",description:"Brand consistency, deck design, visual identity, asset briefs, brand audits.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7","claude-haiku-4-5-20251001"],accent:"#f59e0b",glyph:"BR",team:"marketing",contextFiles:["context/brand-guide.md","context/skills/brand-skills.md","context/skills/marketing-skills.md"],agentFile:"agents/brand-agent.md",code:"BR",section:"\xa7 15",status:"active",tasks:["Audited investor deck v3","Drafted social card spec"]},research:{id:"research",name:"Research",tagline:"Cited findings, prospect briefs, intel",description:"Competitive intel, market sizing, prospect briefs, vendor evaluation. Cite or shut up.",defaultModel:"claude-opus-4-7",availableModels:["claude-opus-4-7","claude-sonnet-4-6"],accent:"#4a7c8a",glyph:"RS",team:"strategy",contextFiles:["context/product-brief.md","context/competitor-landscape.md","context/skills/research-skills.md"],agentFile:"agents/research-agent.md",code:"RES",section:"\xa7 51",status:"active",tasks:["Prospect brief: Acme Logistics","Vendor eval: EU payroll tools"]},people:{id:"people",name:"People",tagline:"Hiring, onboarding, leave, performance",description:"HR for SMBs. Job descriptions, onboarding plans, performance reviews, employee comms.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7","claude-haiku-4-5-20251001"],accent:"#8a5e7a",glyph:"PE",team:"people",contextFiles:["context/product-brief.md","context/brand-guide.md","context/skills/people-skills.md"],agentFile:"agents/people-agent.md",code:"PPL",section:"\xa7 55",status:"active",tasks:["Drafted senior BE engineer JD","Q2 review template ready"]},procurement:{id:"procurement",name:"Procurement",tagline:"Suppliers, POs, freight, disputes",description:"Purchase orders, supplier scoring, freight rate sourcing, deduction disputes.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7","claude-haiku-4-5-20251001"],accent:"#7a6248",glyph:"PR",team:"ops",contextFiles:["context/product-brief.md","context/skills/procurement-skills.md","context/skills/finance-skills.md"],agentFile:"agents/procurement-agent.md",code:"PRC",section:"\xa7 61",status:"active",tasks:["Negotiated SYD→MEL rate","Coles deduction dispute drafted"]},compliance:{id:"compliance",name:"Compliance",tagline:"SOC 2, ISO, insurance, risk register",description:"Compliance frameworks, audit prep, insurance tracking, vendor due diligence, risk register.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7"],accent:"#5a6b80",glyph:"CP",team:"legal",contextFiles:["context/product-brief.md","context/skills/compliance-skills.md"],agentFile:"agents/compliance-agent.md",code:"RSK",section:"\xa7 91",status:"active",tasks:["SOC 2 gap analysis v1","Risk register Q2 review"]},delivery:{id:"delivery",name:"Delivery",tagline:"Lifecycle ownership, 30/60/90, escalations",description:"Head of Delivery. Owns paying-client engagements signature → first 90 days. Delegates to Solutions, Onboarding, Implementation. Surfaces what needs founders.",defaultModel:"claude-opus-4-7",availableModels:["claude-opus-4-7","claude-sonnet-4-6"],accent:"#9b6e2a",glyph:"DL",team:"lifecycle",contextFiles:["context/product-brief.md","context/metrics.md","context/skills/cx-skills.md"],agentFile:"agents/delivery-agent.md",code:"DEL",section:"\xa7 95",status:"active",tasks:["30/60/90 plan drafted for new pilot","Weekly delivery brief sent to founders"]},solutions:{id:"solutions",name:"Solutions",tagline:"Pre-sale prospect demos, /build trigger",description:"Pre-sale prospect demos. Mina sends `/build <slug>` from Telegram → drafts manifest preview → on `go`, commits to private prospect repo with shareable demo URL.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7"],accent:"#9b6e2a",glyph:"SO",team:"lifecycle",contextFiles:["context/product-brief.md","context/customer-personas.md","context/skills/sales-skills.md"],agentFile:"agents/solutions-agent.md",code:"SOL",section:"\xa7 96",status:"active",tasks:["Built 3 prospect demos via /build","Logistics use-case wiki updated"]},onboarding:{id:"onboarding",name:"Onboarding",tagline:"Day 0–90 lifecycle, kickoff briefs, milestones",description:"Owns the first 30–90 days of a paying client's life. Goal: 'replaced a real task' by Day 7, 'I'd be sad to lose this' by Day 30. Reports to Delivery.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7","claude-haiku-4-5-20251001"],accent:"#9b6e2a",glyph:"ON",team:"lifecycle",contextFiles:["context/product-brief.md","context/skills/cx-skills.md"],agentFile:"agents/onboarding-agent.md",code:"ONB",section:"\xa7 97",status:"active",tasks:["Day 7 check-in scheduled","Kickoff brief drafted for new client"]},implementation:{id:"implementation",name:"Implementation",tagline:"Custom integrations, data migrations, technical bring-up",description:"Technical bring-up beyond the standard install. Custom integrations, data migrations, bespoke workflows. Writes a one-page implementation brief before code.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7"],accent:"#9b6e2a",glyph:"IM",team:"lifecycle",contextFiles:["context/product-brief.md","context/skills/devops-skills.md"],agentFile:"agents/implementation-agent.md",code:"IMP",section:"\xa7 98",status:"active",tasks:["Custom Cario TMS integration spec drafted","Xero pull integration scoped"]},champion:{id:"champion",name:"Champion",tagline:"Customer-side enablement coach, 1:1 with the Champion",description:"Customer-side enablement. Serves the customer's designated Champion 1:1 — Telegram-first, always-on. Goal: Champion self-sufficiency. Escalates to Implementation/Onboarding, never directly to founders.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7"],accent:"#9b6e2a",glyph:"CH",team:"lifecycle",contextFiles:["context/product-brief.md","context/skills/cx-skills.md"],agentFile:"agents/champion-agent.md",code:"CHM",section:"\xa7 99",status:"active",tasks:["Day 30 milestone walkthrough delivered","Workflow-of-the-week DM sent"]}},s={id:"starter",name:"Starter",agentOrder:["coo","concierge"],agentTeams:[{label:"EXECUTIVE",color:"#c95c0a",ids:["coo","concierge"]}],templateIds:["weekly-ops-brief"]},t={founder:{id:"founder",name:"Founder",agentOrder:["coo","concierge","ops","procurement","cx","automation","finance","investor","data","product","engineering","frontend","backend","devops","people","legal","compliance","onboarding","implementation","champion","delivery","strategy","research","marketing","content","brand","video","campaigns","email","sales","solutions"],agentTeams:[{group:"Today's company",label:"EXECUTIVE",color:"#c95c0a",ids:["coo","concierge"]},{group:"Today's company",label:"OPERATIONS",color:"#7a6248",ids:["ops","procurement","cx","automation"]},{group:"Today's company",label:"FINANCE",color:"#7a8e5a",ids:["finance","investor","data"]},{group:"Today's company",label:"PRODUCT",color:"#6b8e6b",ids:["product","engineering","frontend","backend","devops"]},{group:"Today's company",label:"PEOPLE",color:"#8a5e7a",ids:["people","legal","compliance"]},{group:"Tomorrow's growth",label:"ACTIVATION",color:"#9b6e2a",ids:["onboarding","implementation","champion","delivery"]},{group:"Tomorrow's growth",label:"INTEL",color:"#4a7c8a",ids:["strategy","research"]},{group:"Tomorrow's growth",label:"BRAND",color:"#b87850",ids:["marketing","content","brand","video"]},{group:"Tomorrow's growth",label:"SALES",color:"#b8633a",ids:["campaigns","email","sales","solutions"]}]},"chip-pro":{id:"chip-pro",name:"Chip Pro",agentOrder:["coo","concierge","procurement","ops","compliance","legal","finance","strategy"],agentTeams:[{label:"EXECUTIVE",color:"#c95c0a",ids:["coo","concierge"]},{label:"SUPPLY",color:"#7a6248",ids:["procurement","ops"]},{label:"COMPLIANCE",color:"#5a6b80",ids:["compliance","legal"]},{label:"MONEY",color:"#7a8e5a",ids:["finance"]},{label:"RESEARCH",color:"#4a7c8a",ids:["strategy"]}],instructionFiles:["context/customers/chip-pro/playbook.md"],templateIds:["allocation-control-tower","bom-risk-monitor","export-compliance-screener","ltb-eol-tracker","supplier-followup","weekly-ops-brief"]},"logistics-pro":{id:"logistics-pro",name:"Logistics Pro",agentOrder:["coo","concierge","procurement","cx","finance","sales","people"],agentTeams:[{label:"EXECUTIVE",color:"#c95c0a",ids:["coo","concierge"]},{label:"SUPPLY",color:"#7a6248",ids:["procurement"]},{label:"SUPPORT",color:"#8a4a3a",ids:["cx"]},{label:"MONEY",color:"#7a8e5a",ids:["finance"]},{label:"SALES",color:"#b8633a",ids:["sales"]},{label:"PEOPLE",color:"#8a5e7a",ids:["people"]}],instructionFiles:["context/customers/logistics-pro/playbook.md"],templateIds:["credit-note-generator","deduction-reconciler","attendance-importer","delay-detector","cold-email-drafter","weekly-ops-brief"]},starter:s};function u(a){return a?t[a]??s:s}var v=c(77598),w=c(73024),x=c(48161),y=c(76760),z=c.n(y);async function A(a,b){try{let b=await w.promises.readFile(function(...a){return(0,y.resolve)(process.env.LEEDAB_STATE_DIR??(0,y.join)((0,x.homedir)(),".leedab"),...a)}(a),"utf8");return JSON.parse(b)}catch{return b}}let B=`-----BEGIN PUBLIC KEY-----
|
|
2
|
+
MCowBQYDK2VwAyEAqTOdirAiEk9Ur/BdI4YkOZGF7NbKZUpRWbf123YTAUk=
|
|
3
|
+
-----END PUBLIC KEY-----`;async function C(){let a=await A("license.json",null);if(!a)return null;let b=function(a){let b=(void 0===d&&(d=function(){let a=process.env.LEEDAB_LICENSE_PUBKEY?.trim()||B;try{return(0,v.createPublicKey)({key:a,format:"pem"})}catch{return null}}()),d);if(!b||!a.signature)return null;try{return(0,v.verify)(null,Buffer.from(JSON.stringify({key:a.key,tier:a.tier,expiresAt:a.expiresAt??"",valid:a.valid})),b,Buffer.from(a.signature,"base64"))}catch{return!1}}(a);return{...a,signatureValid:b,stale:function(a){if(!a)return!0;let b=Date.parse(a);return!!Number.isNaN(b)||Date.now()-b>6048e5}(a.validatedAt)}}let D=null;async function E(){let a,b=Date.now();if(D&&b-D.at<3e4)return D.pack;let c=await C();return D={pack:a=c?!1!==c.signatureValid&&c.valid?u(c.tier):u("starter"):u("logistics-pro"),at:b},a}let F=new Map,G=/^[a-z0-9](?:[a-z0-9-]{0,58}[a-z0-9])?$/;async function H(a){let b=Date.now(),c=F.get(a);if(c&&b-c.at<3e4)return c.manifest;let d=function(a){if(!G.test(a))throw Error(`unsafe clientId: ${JSON.stringify(a)} (expected lowercase alphanumeric + hyphen, ≤60 chars)`);return z().join((0,j.YB)(),"clients",a,"manifest.json")}(a),e=JSON.parse(await w.promises.readFile(d,"utf8"));if("1.0"!==e.schema_version)throw Error(`Unsupported manifest schema_version: ${e.schema_version} for client ${a}`);return F.set(a,{manifest:e,at:b}),e}async function I(a){try{return await H(a)}catch{return null}}i().join(j.uV,"conversations"),i().join(j.uV,"usage.json");let J=globalThis;async function K(a){try{let b=function(a){let b=(0,j.YB)(),c=i().resolve(b,a);if(!c.startsWith(b+i().sep)&&c!==b)throw Error(`Refused to read outside workspace: ${a}`);return c}(a);return await g.promises.readFile(b,"utf8")}catch(b){return`[context file not found: ${a}]`}}async function L(a,b={}){let c=await E(),d=b.clientId??(0,j.fp)(),e=await I(d),f=await K(a.agentFile),g=await Promise.all(a.contextFiles.map(async a=>{let b=await K(a);return`
|
|
4
|
+
|
|
5
|
+
<context_file path="${a}">
|
|
6
|
+
${b}
|
|
7
|
+
</context_file>`})),h=await Promise.all((c.instructionFiles??[]).map(async a=>{let b=await K(a);return`
|
|
8
|
+
|
|
9
|
+
<pack_instruction path="${a}">
|
|
10
|
+
${b}
|
|
11
|
+
</pack_instruction>`})),i=e?await Promise.all((e.playbook_files??[]).map(async a=>{let b=await K(a);return`
|
|
12
|
+
|
|
13
|
+
<customer_playbook path="${a}">
|
|
14
|
+
${b}
|
|
15
|
+
</customer_playbook>`})):[],k=e?.industry?await (async()=>{for(let a of[`context/use-cases/${e.industry}.md`,`Wiki/customer-use-cases/${e.industry}.md`]){let b=await K(a);if(b&&!b.startsWith("[context file not found"))return`
|
|
16
|
+
|
|
17
|
+
<industry_wiki industry="${e.industry}" path="${a}">
|
|
18
|
+
${b}
|
|
19
|
+
</industry_wiki>`}return null})():null,l=e?.overrides?.[a.id]?.append_block??null;return[`You are the ${a.name} agent for LeedAB. Follow the instructions in your agent file precisely.`,...h.length>0?["","## Pack instructions (apply across every response)","These are tier-wide overrides. They take precedence over per-agent defaults wherever they conflict.",...h]:[],...i.length>0?["","## Customer playbook (apply across every response)",`Customer: ${e?.display_name??d}. Customer-wide context — supersedes pack instructions where they conflict.`,...i]:[],...k?["",`## Industry use-case wiki (${e?.industry})`,"Patterns + hooks LeedAB has learned from prior customers in this industry. Apply when relevant; cite when you do.",k]:[],"","## Your agent instructions",f,"","## Workspace context","The following files are loaded from the LeedAB workspace. Treat them as ground truth for product, brand, customers, competitors, and metrics.",...g,...l?["","## Customer-specific override for this agent",`These instructions are scoped to ${e?.display_name??d} and override anything above where they conflict.`,"",l]:[],"","## Output convention","When the user asks for a deliverable (blog post, spec, copy, analysis), produce it as a complete, ship-ready artifact in your reply. Mention that it can be saved to the appropriate outputs/ directory; the founders handle that on their side."].join("\n")}J.__storLocks??(J.__storLocks=new Map);let M=null,N=0;function O(){let a=Date.now();if(M&&a-N<3e4)return M;let b=process.env.LEEDAB_STATE_DIR??(0,y.join)((0,x.homedir)(),".leedab"),c=(0,y.join)(b,"openclaw.json");try{let a=(0,w.readFileSync)(c,"utf8"),b=JSON.parse(a),d=b.gateway?.port??18789;M={url:`http://127.0.0.1:${d}`,token:b.gateway?.auth?.token}}catch{M={url:"http://127.0.0.1:18789"}}return N=a,M}async function P(a){let b=await fetch(`${process.env.OPENCLAW_GATEWAY_URL??O().url}/v1/chat/completions`,{method:"POST",headers:{"content-type":"application/json",...a.model?{"x-openclaw-model":a.model}:{},...function(){let a=process.env.OPENCLAW_GATEWAY_TOKEN??O().token;return a?{authorization:`Bearer ${a}`}:{}}()},body:JSON.stringify({model:process.env.OPENCLAW_AGENT_TARGET??"openclaw/default",messages:[{role:"system",content:a.systemPrompt},{role:"user",content:a.userMessage}],stream:!1,...a.user?{user:a.user}:{}})});if(!b.ok){let a=await b.text().catch(()=>"");throw Error(`gateway ${b.status}: ${a.slice(0,200)||"no body"}`)}let c=await b.json(),d=c.choices?.[0]?.message?.content??"",e=c.usage?.completion_tokens??0,f=c.usage?.total_tokens??0,g=c.usage?.prompt_tokens??0;return{text:d,inputTokens:f>g+e?f-e:g,outputTokens:e}}async function Q(a,b){let c=r[a.agentId];if(!c)throw Error(`Unknown agent: ${a.agentId}`);let d=a.model??c.defaultModel,e=await L(c),f=a.promptTemplate.replace(/\{\{input\}\}/g,b),{text:g}=await P({systemPrompt:e,userMessage:f,model:d,user:`${(0,j.fp)()}:workflow:${c.id}`});return g}async function R(a,b){let{actionType:d,config:e}=a;if("gmail_send"===d||"gmail_draft"===d||"calendar_create"===d)throw Error(`Action type "${d}" was removed when the console moved tools to OpenClaw. Replace this action node with an agent node whose prompt describes the email/calendar action; OpenClaw will route the call through the himalaya / browser skills.`);if("save_output"===d){let{promises:a}=await Promise.resolve().then(c.t.bind(c,29021,23)),d=await Promise.resolve().then(c.t.bind(c,33873,23)),{dataPath:f}=await Promise.resolve().then(c.bind(c,50200)),g=f("workflow-outputs");await a.mkdir(g,{recursive:!0});let h=e.format??"md",i=`workflow-output-${Date.now()}.${h}`,j=(e.filename?.trim()||i).replace(/[^a-zA-Z0-9_\-\.]/g,"_"),k=b;if("html"===h){let a=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/#{3}\s+(.+)/g,"<h3>$1</h3>").replace(/#{2}\s+(.+)/g,"<h2>$1</h2>").replace(/#{1}\s+(.+)/g,"<h1>$1</h1>").replace(/\*\*(.+?)\*\*/g,"<strong>$1</strong>").replace(/\*(.+?)\*/g,"<em>$1</em>").replace(/`(.+?)`/g,"<code>$1</code>").replace(/\n\n/g,"</p><p>").replace(/\n/g,"<br>");k=`<!DOCTYPE html><html><head><meta charset="UTF-8"><style>body{font-family:system-ui,sans-serif;max-width:720px;margin:40px auto;padding:0 24px;line-height:1.7}code{background:#f0f0f0;padding:2px 4px;border-radius:2px}</style></head><body><p>${a}</p></body></html>`}else"txt"===h?k=b.replace(/#{1,6}\s+/g,"").replace(/\*\*(.+?)\*\*/g,"$1").replace(/\*(.+?)\*/g,"$1").replace(/`(.+?)`/g,"$1").replace(/\[(.+?)\]\(.+?\)/g,"$1"):"json"===h&&(k=JSON.stringify({content:b,generatedAt:new Date().toISOString()},null,2));return await a.writeFile(d.join(g,j),k,"utf8"),JSON.stringify({ok:!0,filename:j})}throw Error(`Unknown action type: ${d}`)}async function S(a,b,c,d){let e={id:d,workflowId:a.id,workflowName:a.name,triggerType:c,status:"running",startedAt:Date.now(),nodeLogs:[]};await q(e);try{let c=function(a,b){let c=new Map(a.map(a=>[a.id,0])),d=new Map(a.map(a=>[a.id,[]]));for(let a of b)d.get(a.source)?.push(a.target),c.set(a.target,(c.get(a.target)??0)+1);let e=a.filter(a=>(c.get(a.id)??0)===0).map(a=>a.id),f=[];for(;e.length>0;){let a=e.shift();for(let b of(f.push(a),d.get(a)??[])){let a=(c.get(b)??1)-1;c.set(b,a),0===a&&e.push(b)}}let g=new Map(a.map(a=>[a.id,a]));return f.map(a=>g.get(a)).filter(Boolean)}(a.nodes,a.edges),d=new Map,f=new Set;for(let g of c){if(f.has(g.id)){let b={nodeId:g.id,nodeType:g.type,label:g.label,status:"skipped",startedAt:Date.now(),finishedAt:Date.now()};for(let c of(e.nodeLogs.push(b),a.edges))c.source===g.id&&f.add(c.target);await q(e);continue}let c=a.edges.filter(a=>a.target===g.id),h=c.length>0?d.get(c[0].source)??b:b,i={nodeId:g.id,nodeType:g.type,label:g.label,status:"running",startedAt:Date.now(),input:h.slice(0,2e3)};e.nodeLogs.push(i),await q(e);try{let c="";if("trigger"===g.type)c=b;else if("agent"===g.type)c=await Q(g,h);else if("condition"===g.type){let b=function(a,b,c){switch(b){case"contains":return a.toLowerCase().includes(c.toLowerCase());case"not_contains":return!a.toLowerCase().includes(c.toLowerCase());case"equals":return a.trim()===c.trim();case"not_equals":return a.trim()!==c.trim();case"length_gt":return a.length>parseInt(c,10);case"length_lt":return a.length<parseInt(c,10);case"always_true":return!0;case"always_false":return!1}}(h,g.operator,g.value);for(let d of(c=b?"true":"false",a.edges))d.source===g.id&&d.sourceHandle!==(b?"true":"false")&&function(a,b,c){let d=[a];for(;d.length>0;){let a=d.shift();if(!c.has(a))for(let e of(c.add(a),b))e.source===a&&d.push(e.target)}}(d.target,a.edges,f)}else"action"===g.type&&(c=await R(g,h));d.set(g.id,c),i.output=c.slice(0,1e4),i.status="success",i.finishedAt=Date.now(),e.finalOutput=c}catch(a){return i.status="error",i.error=a instanceof Error?a.message:String(a),i.finishedAt=Date.now(),e.status="error",e.error=i.error,e.finishedAt=Date.now(),await q(e),e}await q(e)}e.status="success",e.finishedAt=Date.now(),await q(e)}catch(a){e.status="error",e.error=a instanceof Error?a.message:"Workflow execution error",e.finishedAt=Date.now(),await q(e)}return e}let T=new Map;async function U(){console.log("[scheduler] Initialising...");let a=(await o()).filter(a=>"enabled"===a.status);for(let b of a){let a=b.nodes.find(a=>"trigger"===a.type);a&&"trigger"===a.type&&("schedule"===a.triggerType?function(a,b){if(!f().validate(b))return console.warn(`[scheduler] Invalid cron "${b}" for workflow: ${a.name}`);let c=f().schedule(b,async()=>{let b=await p(a.id);b&&"enabled"===b.status&&(console.log(`[scheduler] Firing "${b.name}"`),await S(b,`Scheduled trigger: ${new Date().toISOString()}`,"schedule",`run_${Date.now()}_${Math.random().toString(36).slice(2,8)}`).catch(a=>console.error(`[scheduler] Error in "${b.name}":`,a)))});T.set(a.id,c),console.log(`[scheduler] Registered cron "${b}" → "${a.name}"`)}(b,a.config.cron??""):"gmail"===a.triggerType&&console.warn(`[scheduler] Workflow "${b.name}" uses a gmail trigger, which is no longer supported. Re-create it as a scheduled or webhook trigger that asks an agent to check mail via OpenClaw.`))}console.log(`[scheduler] ${a.length} workflow(s) loaded.`)}},50200:(a,b,c)=>{c.d(b,{YB:()=>l,dataPath:()=>i,fp:()=>m,uV:()=>h});var d=c(33873),e=c.n(d),f=c(29021),g=c.n(f);let h=process.env.LEEDAB_DATA_DIR?e().resolve(process.env.LEEDAB_DATA_DIR):e().resolve(process.cwd(),"data"),i=(...a)=>e().join(h,...a),j=function(){if(process.env.LEEDAB_WORKSPACE_ROOT)return e().resolve(process.env.LEEDAB_WORKSPACE_ROOT);let a=process.cwd();for(let b=0;b<4;b++){if(g().existsSync(e().join(a,"agents")))return a;let b=e().dirname(a);if(b===a)break;a=b}return e().resolve(process.cwd(),"..")}(),k=e().join(h,"workspace-config.json");function l(){if(process.env.LEEDAB_WORKSPACE_ROOT)return e().resolve(process.env.LEEDAB_WORKSPACE_ROOT);let a=function(){try{let a=g().readFileSync(k,"utf8");return JSON.parse(a).workspaceRoot||null}catch{return null}}();return a?e().resolve(a):j}function m(){return process.env.LEEDAB_CUSTOMER_ID||"default"}}};
|
|
@@ -1,9 +1 @@
|
|
|
1
|
-
"use strict";exports.id=7087,exports.ids=[7087],exports.modules={
|
|
2
|
-
|
|
3
|
-
<context_file path="${a}">
|
|
4
|
-
${b}
|
|
5
|
-
</context_file>`})),e=await Promise.all((b.instructionFiles??[]).map(async a=>{let b=await p(a);return`
|
|
6
|
-
|
|
7
|
-
<pack_instruction path="${a}">
|
|
8
|
-
${b}
|
|
9
|
-
</pack_instruction>`}));return[`You are the ${a.name} agent for LeedAB. Follow the instructions in your agent file precisely.`,...e.length>0?["","## Pack instructions (apply across every response)","These are customer-wide overrides. They take precedence over per-agent defaults wherever they conflict.",...e]:[],"","## Your agent instructions",c,"","## Workspace context","The following files are loaded from the LeedAB workspace. Treat them as ground truth for product, brand, customers, competitors, and metrics.",...d,"","## Output convention","When the user asks for a deliverable (blog post, spec, copy, analysis), produce it as a complete, ship-ready artifact in your reply. Mention that it can be saved to the appropriate outputs/ directory; the founders handle that on their side."].join("\n")}function r(a){if(!(a in g.jw))throw Error(`Unknown agent: ${a}`);return f().join(j,`${a}.json`)}async function s(a){await o();let b=(0,h.fp)();try{let c=await d.promises.readFile(r(a),"utf8"),e=JSON.parse(c);if(e.clientId&&e.clientId!==b)return{agentId:a,clientId:b,messages:[],createdAt:Date.now(),updatedAt:Date.now()};return e.clientId||(e.clientId=b),e}catch{return{agentId:a,clientId:b,messages:[],createdAt:Date.now(),updatedAt:Date.now()}}}async function t(a,b){return await n(r(a),async()=>{let c=await s(a);return c.messages.push(b),c.updatedAt=Date.now(),c.clientId=c.clientId||(0,h.fp)(),await o(),await d.promises.writeFile(r(a),JSON.stringify(c,null,2),"utf8"),c})}async function u(a){await o();try{await d.promises.unlink(r(a))}catch{}}let v={"claude-opus-4-7":[15,75],"claude-opus-4-6":[15,75],"claude-sonnet-4-6":[3,15],"claude-haiku-4-5-20251001":[.8,4]};async function w(){try{let a=await d.promises.readFile(k,"utf8");return JSON.parse(a)}catch{return[]}}async function x(){let a=(0,h.fp)();return(await w()).filter(b=>(b.clientId??"default")===a)}async function y(a){let b={...a,clientId:a.clientId??(0,h.fp)()};await n(k,async()=>{await o();let a=await w();a.push(b),await d.promises.writeFile(k,JSON.stringify(a,null,2),"utf8")})}async function z(){let a=await x(),b=new Date;b.setHours(0,0,0,0);let c=b.getTime(),d=new Date;d.setDate(1),d.setHours(0,0,0,0);let e=d.getTime(),f=Object.fromEntries(g.fB.map(a=>[a,{inputTokens:0,outputTokens:0,requests:0,estimatedCost:0}])),h={inputTokens:0,outputTokens:0,requests:0,estimatedCost:0},i={inputTokens:0,outputTokens:0,requests:0,estimatedCost:0},j={inputTokens:0,outputTokens:0,requests:0,estimatedCost:0};for(let b of a){let a=function(a,b,c){let[d,e]=v[a]??[3,15];return b/1e6*d+c/1e6*e}(b.model,b.inputTokens,b.outputTokens);f[b.agentId]&&(f[b.agentId].inputTokens+=b.inputTokens,f[b.agentId].outputTokens+=b.outputTokens,f[b.agentId].requests+=1,f[b.agentId].estimatedCost+=a),h.inputTokens+=b.inputTokens,h.outputTokens+=b.outputTokens,h.requests+=1,h.estimatedCost+=a,b.timestamp>=c&&(i.inputTokens+=b.inputTokens,i.outputTokens+=b.outputTokens,i.requests+=1,i.estimatedCost+=a),b.timestamp>=e&&(j.inputTokens+=b.inputTokens,j.outputTokens+=b.outputTokens,j.requests+=1,j.estimatedCost+=a)}let k=new Date,l=k.getDate(),m=new Date(k.getFullYear(),k.getMonth()+1,0).getDate(),n=l>0?j.estimatedCost/l*m:0;return{records:a.slice(-100),byAgent:f,totals:h,todayTotals:i,monthTotals:j,projectedMonthlyCost:n}}},7087:(a,b,c)=>{c.d(b,{r:()=>k});var d=c(7755),e=c(4768),f=c(7098),g=c(2709),h=c(4432);async function i(a,b){let c=d.jw[a.agentId];if(!c)throw Error(`Unknown agent: ${a.agentId}`);let h=a.model??c.defaultModel,i=await (0,e.Ex)(c),j=a.promptTemplate.replace(/\{\{input\}\}/g,b),{text:k}=await (0,f.GL)({systemPrompt:i,userMessage:j,model:h,user:`${(0,g.fp)()}:workflow:${c.id}`});return k}async function j(a,b){let{actionType:d,config:e}=a;if("gmail_send"===d||"gmail_draft"===d||"calendar_create"===d)throw Error(`Action type "${d}" was removed when the console moved tools to OpenClaw. Replace this action node with an agent node whose prompt describes the email/calendar action; OpenClaw will route the call through the himalaya / browser skills.`);if("save_output"===d){let{promises:a}=await Promise.resolve().then(c.t.bind(c,9021,23)),d=await Promise.resolve().then(c.t.bind(c,9902,23)),{dataPath:f}=await Promise.resolve().then(c.bind(c,2709)),g=f("workflow-outputs");await a.mkdir(g,{recursive:!0});let h=e.format??"md",i=`workflow-output-${Date.now()}.${h}`,j=(e.filename?.trim()||i).replace(/[^a-zA-Z0-9_\-\.]/g,"_"),k=b;if("html"===h){let a=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/#{3}\s+(.+)/g,"<h3>$1</h3>").replace(/#{2}\s+(.+)/g,"<h2>$1</h2>").replace(/#{1}\s+(.+)/g,"<h1>$1</h1>").replace(/\*\*(.+?)\*\*/g,"<strong>$1</strong>").replace(/\*(.+?)\*/g,"<em>$1</em>").replace(/`(.+?)`/g,"<code>$1</code>").replace(/\n\n/g,"</p><p>").replace(/\n/g,"<br>");k=`<!DOCTYPE html><html><head><meta charset="UTF-8"><style>body{font-family:system-ui,sans-serif;max-width:720px;margin:40px auto;padding:0 24px;line-height:1.7}code{background:#f0f0f0;padding:2px 4px;border-radius:2px}</style></head><body><p>${a}</p></body></html>`}else"txt"===h?k=b.replace(/#{1,6}\s+/g,"").replace(/\*\*(.+?)\*\*/g,"$1").replace(/\*(.+?)\*/g,"$1").replace(/`(.+?)`/g,"$1").replace(/\[(.+?)\]\(.+?\)/g,"$1"):"json"===h&&(k=JSON.stringify({content:b,generatedAt:new Date().toISOString()},null,2));return await a.writeFile(d.join(g,j),k,"utf8"),JSON.stringify({ok:!0,filename:j})}throw Error(`Unknown action type: ${d}`)}async function k(a,b,c,d){let e={id:d,workflowId:a.id,workflowName:a.name,triggerType:c,status:"running",startedAt:Date.now(),nodeLogs:[]};await (0,h.BQ)(e);try{let c=function(a,b){let c=new Map(a.map(a=>[a.id,0])),d=new Map(a.map(a=>[a.id,[]]));for(let a of b)d.get(a.source)?.push(a.target),c.set(a.target,(c.get(a.target)??0)+1);let e=a.filter(a=>(c.get(a.id)??0)===0).map(a=>a.id),f=[];for(;e.length>0;){let a=e.shift();for(let b of(f.push(a),d.get(a)??[])){let a=(c.get(b)??1)-1;c.set(b,a),0===a&&e.push(b)}}let g=new Map(a.map(a=>[a.id,a]));return f.map(a=>g.get(a)).filter(Boolean)}(a.nodes,a.edges),d=new Map,f=new Set;for(let g of c){if(f.has(g.id)){let b={nodeId:g.id,nodeType:g.type,label:g.label,status:"skipped",startedAt:Date.now(),finishedAt:Date.now()};for(let c of(e.nodeLogs.push(b),a.edges))c.source===g.id&&f.add(c.target);await (0,h.BQ)(e);continue}let c=a.edges.filter(a=>a.target===g.id),k=c.length>0?d.get(c[0].source)??b:b,l={nodeId:g.id,nodeType:g.type,label:g.label,status:"running",startedAt:Date.now(),input:k.slice(0,2e3)};e.nodeLogs.push(l),await (0,h.BQ)(e);try{let c="";if("trigger"===g.type)c=b;else if("agent"===g.type)c=await i(g,k);else if("condition"===g.type){let b=function(a,b,c){switch(b){case"contains":return a.toLowerCase().includes(c.toLowerCase());case"not_contains":return!a.toLowerCase().includes(c.toLowerCase());case"equals":return a.trim()===c.trim();case"not_equals":return a.trim()!==c.trim();case"length_gt":return a.length>parseInt(c,10);case"length_lt":return a.length<parseInt(c,10);case"always_true":return!0;case"always_false":return!1}}(k,g.operator,g.value);for(let d of(c=b?"true":"false",a.edges))d.source===g.id&&d.sourceHandle!==(b?"true":"false")&&function(a,b,c){let d=[a];for(;d.length>0;){let a=d.shift();if(!c.has(a))for(let e of(c.add(a),b))e.source===a&&d.push(e.target)}}(d.target,a.edges,f)}else"action"===g.type&&(c=await j(g,k));d.set(g.id,c),l.output=c.slice(0,1e4),l.status="success",l.finishedAt=Date.now(),e.finalOutput=c}catch(a){return l.status="error",l.error=a instanceof Error?a.message:String(a),l.finishedAt=Date.now(),e.status="error",e.error=l.error,e.finishedAt=Date.now(),await (0,h.BQ)(e),e}await (0,h.BQ)(e)}e.status="success",e.finishedAt=Date.now(),await (0,h.BQ)(e)}catch(a){e.status="error",e.error=a instanceof Error?a.message:"Workflow execution error",e.finishedAt=Date.now(),await (0,h.BQ)(e)}return e}},7098:(a,b,c)=>{c.d(b,{GL:()=>m,K7:()=>k,MS:()=>j,jy:()=>l});var d=c(3024),e=c(8161),f=c(6760);let g=null,h=0;function i(){let a=Date.now();if(g&&a-h<3e4)return g;let b=process.env.LEEDAB_STATE_DIR??(0,f.join)((0,e.homedir)(),".leedab"),c=(0,f.join)(b,"openclaw.json");try{let a=(0,d.readFileSync)(c,"utf8"),b=JSON.parse(a),e=b.gateway?.port??18789;g={url:`http://127.0.0.1:${e}`,token:b.gateway?.auth?.token}}catch{g={url:"http://127.0.0.1:18789"}}return h=a,g}function j(){return process.env.OPENCLAW_GATEWAY_URL??i().url}function k(){let a=process.env.OPENCLAW_GATEWAY_TOKEN??i().token;return a?{authorization:`Bearer ${a}`}:{}}function l(){return process.env.OPENCLAW_AGENT_TARGET??"openclaw/default"}async function m(a){let b=await fetch(`${j()}/v1/chat/completions`,{method:"POST",headers:{"content-type":"application/json",...a.model?{"x-openclaw-model":a.model}:{},...k()},body:JSON.stringify({model:l(),messages:[{role:"system",content:a.systemPrompt},{role:"user",content:a.userMessage}],stream:!1,...a.user?{user:a.user}:{}})});if(!b.ok){let a=await b.text().catch(()=>"");throw Error(`gateway ${b.status}: ${a.slice(0,200)||"no body"}`)}let c=await b.json(),d=c.choices?.[0]?.message?.content??"",e=c.usage?.completion_tokens??0,f=c.usage?.total_tokens??0,g=c.usage?.prompt_tokens??0;return{text:d,inputTokens:f>g+e?f-e:g,outputTokens:e}}}};
|
|
1
|
+
"use strict";exports.id=7087,exports.ids=[7087],exports.modules={14432:(a,b,c)=>{c.d(b,{BQ:()=>s,L6:()=>r,MW:()=>v,Mh:()=>t,Mw:()=>p,l2:()=>q,v:()=>u});var d=c(29021),e=c(33873),f=c.n(e),g=c(22709);let h=(0,g.dataPath)("workflows"),i=(0,g.dataPath)("workflow-runs");async function j(a){await d.promises.mkdir(a,{recursive:!0})}function k(a,b){if(!/^[\w-]{1,64}$/.test(a))throw Error(`Invalid ${b}: ${a}`)}function l(a){return k(a,"workflow id"),f().join(h,`${a}.json`)}function m(a){return k(a,"workflowId"),f().join(i,a)}function n(a,b){return k(a,"workflowId"),k(b,"runId"),f().join(i,a,`${b}.json`)}async function o(){await j(h);let a=await d.promises.readdir(h).catch(()=>[]);return(await Promise.all(a.filter(a=>a.endsWith(".json")).map(async a=>JSON.parse(await d.promises.readFile(f().join(h,a),"utf8"))))).sort((a,b)=>b.updatedAt-a.updatedAt)}async function p(a){try{let b=await d.promises.readFile(l(a),"utf8");return JSON.parse(b)}catch{return null}}async function q(a){await j(h),a.updatedAt=Date.now(),await d.promises.writeFile(l(a.id),JSON.stringify(a,null,2),"utf8")}async function r(a){try{await d.promises.unlink(l(a))}catch{}}async function s(a){await j(m(a.workflowId)),await d.promises.writeFile(n(a.workflowId,a.id),JSON.stringify(a,null,2),"utf8")}async function t(a,b){try{let c=await d.promises.readFile(n(a,b),"utf8");return JSON.parse(c)}catch{return null}}async function u(a,b=50){try{let c=m(a),e=await d.promises.readdir(c);return(await Promise.all(e.filter(a=>a.endsWith(".json")).map(async a=>{let b=await d.promises.readFile(f().join(c,a),"utf8");return JSON.parse(b)}))).sort((a,b)=>b.startedAt-a.startedAt).slice(0,b)}catch{return[]}}async function v(){return Promise.all((await o()).map(async a=>{let b=(await u(a.id,1))[0];return{id:a.id,name:a.name,status:a.status,triggerType:a.triggerType,lastRun:b?{id:b.id,status:b.status,startedAt:b.startedAt,finishedAt:b.finishedAt}:void 0,createdAt:a.createdAt,updatedAt:a.updatedAt}}))}},37098:(a,b,c)=>{c.d(b,{GL:()=>m,K7:()=>k,MS:()=>j,jy:()=>l});var d=c(73024),e=c(48161),f=c(76760);let g=null,h=0;function i(){let a=Date.now();if(g&&a-h<3e4)return g;let b=process.env.LEEDAB_STATE_DIR??(0,f.join)((0,e.homedir)(),".leedab"),c=(0,f.join)(b,"openclaw.json");try{let a=(0,d.readFileSync)(c,"utf8"),b=JSON.parse(a),e=b.gateway?.port??18789;g={url:`http://127.0.0.1:${e}`,token:b.gateway?.auth?.token}}catch{g={url:"http://127.0.0.1:18789"}}return h=a,g}function j(){return process.env.OPENCLAW_GATEWAY_URL??i().url}function k(){let a=process.env.OPENCLAW_GATEWAY_TOKEN??i().token;return a?{authorization:`Bearer ${a}`}:{}}function l(){return process.env.OPENCLAW_AGENT_TARGET??"openclaw/default"}async function m(a){let b=await fetch(`${j()}/v1/chat/completions`,{method:"POST",headers:{"content-type":"application/json",...a.model?{"x-openclaw-model":a.model}:{},...k()},body:JSON.stringify({model:l(),messages:[{role:"system",content:a.systemPrompt},{role:"user",content:a.userMessage}],stream:!1,...a.user?{user:a.user}:{}})});if(!b.ok){let a=await b.text().catch(()=>"");throw Error(`gateway ${b.status}: ${a.slice(0,200)||"no body"}`)}let c=await b.json(),d=c.choices?.[0]?.message?.content??"",e=c.usage?.completion_tokens??0,f=c.usage?.total_tokens??0,g=c.usage?.prompt_tokens??0;return{text:d,inputTokens:f>g+e?f-e:g,outputTokens:e}}},87087:(a,b,c)=>{c.d(b,{r:()=>k});var d=c(87755),e=c(94768),f=c(37098),g=c(22709),h=c(14432);async function i(a,b){let c=d.jw[a.agentId];if(!c)throw Error(`Unknown agent: ${a.agentId}`);let h=a.model??c.defaultModel,i=await (0,e.Ex)(c),j=a.promptTemplate.replace(/\{\{input\}\}/g,b),{text:k}=await (0,f.GL)({systemPrompt:i,userMessage:j,model:h,user:`${(0,g.fp)()}:workflow:${c.id}`});return k}async function j(a,b){let{actionType:d,config:e}=a;if("gmail_send"===d||"gmail_draft"===d||"calendar_create"===d)throw Error(`Action type "${d}" was removed when the console moved tools to OpenClaw. Replace this action node with an agent node whose prompt describes the email/calendar action; OpenClaw will route the call through the himalaya / browser skills.`);if("save_output"===d){let{promises:a}=await Promise.resolve().then(c.t.bind(c,29021,23)),d=await Promise.resolve().then(c.t.bind(c,33873,23)),{dataPath:f}=await Promise.resolve().then(c.bind(c,22709)),g=f("workflow-outputs");await a.mkdir(g,{recursive:!0});let h=e.format??"md",i=`workflow-output-${Date.now()}.${h}`,j=(e.filename?.trim()||i).replace(/[^a-zA-Z0-9_\-\.]/g,"_"),k=b;if("html"===h){let a=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/#{3}\s+(.+)/g,"<h3>$1</h3>").replace(/#{2}\s+(.+)/g,"<h2>$1</h2>").replace(/#{1}\s+(.+)/g,"<h1>$1</h1>").replace(/\*\*(.+?)\*\*/g,"<strong>$1</strong>").replace(/\*(.+?)\*/g,"<em>$1</em>").replace(/`(.+?)`/g,"<code>$1</code>").replace(/\n\n/g,"</p><p>").replace(/\n/g,"<br>");k=`<!DOCTYPE html><html><head><meta charset="UTF-8"><style>body{font-family:system-ui,sans-serif;max-width:720px;margin:40px auto;padding:0 24px;line-height:1.7}code{background:#f0f0f0;padding:2px 4px;border-radius:2px}</style></head><body><p>${a}</p></body></html>`}else"txt"===h?k=b.replace(/#{1,6}\s+/g,"").replace(/\*\*(.+?)\*\*/g,"$1").replace(/\*(.+?)\*/g,"$1").replace(/`(.+?)`/g,"$1").replace(/\[(.+?)\]\(.+?\)/g,"$1"):"json"===h&&(k=JSON.stringify({content:b,generatedAt:new Date().toISOString()},null,2));return await a.writeFile(d.join(g,j),k,"utf8"),JSON.stringify({ok:!0,filename:j})}throw Error(`Unknown action type: ${d}`)}async function k(a,b,c,d){let e={id:d,workflowId:a.id,workflowName:a.name,triggerType:c,status:"running",startedAt:Date.now(),nodeLogs:[]};await (0,h.BQ)(e);try{let c=function(a,b){let c=new Map(a.map(a=>[a.id,0])),d=new Map(a.map(a=>[a.id,[]]));for(let a of b)d.get(a.source)?.push(a.target),c.set(a.target,(c.get(a.target)??0)+1);let e=a.filter(a=>(c.get(a.id)??0)===0).map(a=>a.id),f=[];for(;e.length>0;){let a=e.shift();for(let b of(f.push(a),d.get(a)??[])){let a=(c.get(b)??1)-1;c.set(b,a),0===a&&e.push(b)}}let g=new Map(a.map(a=>[a.id,a]));return f.map(a=>g.get(a)).filter(Boolean)}(a.nodes,a.edges),d=new Map,f=new Set;for(let g of c){if(f.has(g.id)){let b={nodeId:g.id,nodeType:g.type,label:g.label,status:"skipped",startedAt:Date.now(),finishedAt:Date.now()};for(let c of(e.nodeLogs.push(b),a.edges))c.source===g.id&&f.add(c.target);await (0,h.BQ)(e);continue}let c=a.edges.filter(a=>a.target===g.id),k=c.length>0?d.get(c[0].source)??b:b,l={nodeId:g.id,nodeType:g.type,label:g.label,status:"running",startedAt:Date.now(),input:k.slice(0,2e3)};e.nodeLogs.push(l),await (0,h.BQ)(e);try{let c="";if("trigger"===g.type)c=b;else if("agent"===g.type)c=await i(g,k);else if("condition"===g.type){let b=function(a,b,c){switch(b){case"contains":return a.toLowerCase().includes(c.toLowerCase());case"not_contains":return!a.toLowerCase().includes(c.toLowerCase());case"equals":return a.trim()===c.trim();case"not_equals":return a.trim()!==c.trim();case"length_gt":return a.length>parseInt(c,10);case"length_lt":return a.length<parseInt(c,10);case"always_true":return!0;case"always_false":return!1}}(k,g.operator,g.value);for(let d of(c=b?"true":"false",a.edges))d.source===g.id&&d.sourceHandle!==(b?"true":"false")&&function(a,b,c){let d=[a];for(;d.length>0;){let a=d.shift();if(!c.has(a))for(let e of(c.add(a),b))e.source===a&&d.push(e.target)}}(d.target,a.edges,f)}else"action"===g.type&&(c=await j(g,k));d.set(g.id,c),l.output=c.slice(0,1e4),l.status="success",l.finishedAt=Date.now(),e.finalOutput=c}catch(a){return l.status="error",l.error=a instanceof Error?a.message:String(a),l.finishedAt=Date.now(),e.status="error",e.error=l.error,e.finishedAt=Date.now(),await (0,h.BQ)(e),e}await (0,h.BQ)(e)}e.status="success",e.finishedAt=Date.now(),await (0,h.BQ)(e)}catch(a){e.status="error",e.error=a instanceof Error?a.message:"Workflow execution error",e.finishedAt=Date.now(),await (0,h.BQ)(e)}return e}}};
|