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,97 @@
|
|
|
1
|
+
---
|
|
2
|
+
created: 2026-05-03
|
|
3
|
+
updated: 2026-05-03
|
|
4
|
+
type: wiki
|
|
5
|
+
topic: customer-use-cases
|
|
6
|
+
industry: trades
|
|
7
|
+
maturity: stub
|
|
8
|
+
tags: [wiki, customer-use-case, trades, construction, building, plumbing, electrical, roofing]
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Trades / construction — customer use cases
|
|
12
|
+
|
|
13
|
+
> Residential builders, plumbers, electricians, roofers, tilers, tradies. Coastal Built (residential builder) + Hawkesbury Roofing are demo prospects. Pillarix-adjacent for partnership conversations — relevant when LeedAB talks to vertical AI players in this space.
|
|
14
|
+
|
|
15
|
+
## Common shape — trades SMB
|
|
16
|
+
|
|
17
|
+
- **Director-led** — a licensed builder / electrician / etc. + 1-3 site supervisors + a roster of regular subbies (5-15)
|
|
18
|
+
- **Bookings come from referrals + Google + neighbour-word-of-mouth** — almost never paid acquisition
|
|
19
|
+
- **Quoting is bottlenecked on the director** — every quote requires their touch; that's the daily-operations chokepoint
|
|
20
|
+
- **Job sites are mobile** — director drives between 2-5 active jobs/day; admin time is in the ute, in evenings, in the kitchen at 22:00
|
|
21
|
+
- **Subbies are paid per-job, not salaried** — relationship management matters more than HR processes
|
|
22
|
+
- **Materials delivery is a daily fire** — stockouts at site, suppliers running late, swap-in substitutions on engineered specs
|
|
23
|
+
- **Compliance burden** — NSW Home Building Compensation Fund (HBCF), engineer sign-offs, council inspections, electrical certs, plumbing certs, asbestos protocols
|
|
24
|
+
- **Cashflow is brutal** — progress payments lag job spend; one bad month wipes the year
|
|
25
|
+
|
|
26
|
+
## Where LeedAB helps
|
|
27
|
+
|
|
28
|
+
| Pain | Agent | Action |
|
|
29
|
+
|---|---|---|
|
|
30
|
+
| Quote backlog | Sales + Ops | Pre-fill quote templates from job notes, route to director for approval, send via email |
|
|
31
|
+
| Subbie coordination | Ops + People | Maintain WhatsApp groups, coordinate site visits, track availability |
|
|
32
|
+
| Material orders | Procurement + Ops | Standing supplier accounts, exception flags ("Bunnings out of 90×35 — substitute approved?") |
|
|
33
|
+
| Site reports | Ops + CX | Daily 10-line site report from photos + voice memos, share with client |
|
|
34
|
+
| Council / engineer sign-offs | Compliance + Legal | Track inspection schedule, flag overdue, draft RFIs |
|
|
35
|
+
| Variations / change-orders | Sales + Legal + Finance | Formalise verbal "yeah she'll be right" into written variation + revised quote |
|
|
36
|
+
| Progress invoicing | Finance | Auto-draft progress claims at milestones, send to client + bookkeeper |
|
|
37
|
+
| Customer comms | CX + Concierge | "Is the demo still on Tuesday?" — proactive client updates, photos, ETAs |
|
|
38
|
+
| Compliance evidence | Compliance | Maintain folder of cert pics, sign-offs, inspection records (audit-ready) |
|
|
39
|
+
| Wet-weather / delay impact | Ops + CX | When a slip is happening, surface to client BEFORE it becomes a missed PCD |
|
|
40
|
+
|
|
41
|
+
## Likely licensed agent subset
|
|
42
|
+
|
|
43
|
+
For most trades / construction SMBs:
|
|
44
|
+
- **Always:** coo, concierge, sales, ops, procurement, finance, cx, compliance
|
|
45
|
+
- **Optional:** people (when they have admin staff or apprentices), marketing (when they want pipeline beyond word-of-mouth), legal (variations / disputes)
|
|
46
|
+
- **Drop:** engineering / build / devops, content / brand / video, automation, investor, research
|
|
47
|
+
- **Tier:** typically tier-less; per-customer manifest carries customisation
|
|
48
|
+
|
|
49
|
+
## Industry-specific knowledge to bake in
|
|
50
|
+
|
|
51
|
+
### Tone
|
|
52
|
+
- **Plain, direct, blue-collar professional.** No corporate fluff. "Done" beats "executed."
|
|
53
|
+
- **Subbie-first.** Comms via WhatsApp groups, not email. Voice notes acceptable.
|
|
54
|
+
- **Time-zoned to AEST/AEDT.** "Tomorrow" means tomorrow on this coast.
|
|
55
|
+
- **Money in writing.** Variations get formal change-orders. Verbal "she'll be right" never holds in a dispute.
|
|
56
|
+
|
|
57
|
+
### Operations
|
|
58
|
+
- **Buildxact / single-source-of-truth** is sacred. If the system says X, X is the truth, not the verbal report from site.
|
|
59
|
+
- **Engineered spec substitutions** require structural engineer sign-off. Never substitute on the builder's call alone (LVL, joist hangers, pier caps, structural fixings).
|
|
60
|
+
- **HBCF certificate** must be active before site work in NSW residential.
|
|
61
|
+
- **Subbie pay** is per-job, on-time. Late pay = subbie quits = job stops. Critical relationship.
|
|
62
|
+
- **Practical Completion Date (PCD)** slips trigger client comms BEFORE they're a slip — never let a missed PCD be the first the client hears about it.
|
|
63
|
+
|
|
64
|
+
### Marketing
|
|
65
|
+
- **Most trades don't run paid acquisition.** Referrals + Google Business Profile + neighbour word-of-mouth.
|
|
66
|
+
- **Content / social media is light** unless they're chasing premium positioning.
|
|
67
|
+
- **Reviews are the #1 acquisition lever** — most trades neglect review-solicitation.
|
|
68
|
+
|
|
69
|
+
### Compliance
|
|
70
|
+
- **Council inspections** at frame, lock-up, completion. Schedule, attend, evidence.
|
|
71
|
+
- **Engineer sign-offs** for any variation on engineered work.
|
|
72
|
+
- **HBCF + builder's licence** must be current — clients can demand evidence.
|
|
73
|
+
- **Asbestos protocols** for pre-2000 demolition / renovation. Hard rules, no shortcuts.
|
|
74
|
+
- **Electrical / plumbing certs** delivered on completion of any electrical / plumbing work.
|
|
75
|
+
|
|
76
|
+
### Channels
|
|
77
|
+
- **WhatsApp groups per site** — primary subbie comm.
|
|
78
|
+
- **Phone calls + voicemail** — primary client comm.
|
|
79
|
+
- **Email** for quotes, variations, invoices (formal record).
|
|
80
|
+
- **SMS** for "running 30 late" updates.
|
|
81
|
+
|
|
82
|
+
## Demo prospects in this industry
|
|
83
|
+
|
|
84
|
+
- **[[../../01_Customers/_demos/coastal-built]]** — residential builder, NSW Central Coast + Northern Beaches, 3-5 active builds
|
|
85
|
+
- **[[../../01_Customers/_demos/hawkesbury-roofing]]** — roofer, parser-built, sales pipeline + finance focus
|
|
86
|
+
|
|
87
|
+
## Adjacent — Pillarix conversation
|
|
88
|
+
|
|
89
|
+
This wiki is **highly relevant** to the Pillarix licensing conversation. Pillarix builds vertical AI for construction PM. LeedAB serves construction without being construction-specific — per-customer manifest + this wiki carry the vertical depth. The conversation framing: "vertical depth × horizontal substrate" — Pillarix nails the vertical, LeedAB provides the substrate.
|
|
90
|
+
|
|
91
|
+
## Cross-references
|
|
92
|
+
|
|
93
|
+
- LeedAB-OS demo manifests: `clients/coastal-built/`, `clients/hawkesbury-roofing/`
|
|
94
|
+
- Companion playbooks: `context/customers/{coastal-built,hawkesbury-roofing}/playbook.md`
|
|
95
|
+
- Pillarix licensing inbound: `[[../../02_Sales/inbound/pillarix]]`
|
|
96
|
+
- Adjacent wiki: [[supply-chain]] (overlap on materials delivery, supplier management)
|
|
97
|
+
- Sales pipeline: [[../../02_Sales/pipeline]]
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
---
|
|
2
|
+
created: 2026-05-03
|
|
3
|
+
updated: 2026-05-03
|
|
4
|
+
type: wiki
|
|
5
|
+
topic: customer-use-cases
|
|
6
|
+
industry: hospitality
|
|
7
|
+
maturity: stub
|
|
8
|
+
tags: [wiki, customer-use-case, hospitality, cafe, restaurant, hotel, fitness]
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Hospitality / wellness — customer use cases
|
|
12
|
+
|
|
13
|
+
> Service-led SMBs where the experience IS the product. Sunset Cafe and Element Pilates are demo prospects in this vertical. Promote real customer learnings upward as we land paying customers.
|
|
14
|
+
|
|
15
|
+
## Common shape — hospitality SMB
|
|
16
|
+
|
|
17
|
+
- **Single owner-operator or 2-3 partners** make all decisions; no formal management layer
|
|
18
|
+
- **Front-of-house team** is part-time + casual; high turnover (annual ~80% in hospitality, ~30-40% in fitness)
|
|
19
|
+
- **Customer relationships are first-name basis** — the founder knows half the regulars personally
|
|
20
|
+
- **Word-of-mouth + Instagram drive acquisition** — not paid search, not cold outbound
|
|
21
|
+
- **Retention is the business model** — hospitality + wellness are subscription-shaped (memberships, regulars, repeat dining); a churn-fix beats a new-customer-acquisition every time
|
|
22
|
+
- **Ops are physical-world** — booking systems (MindBody, ResDiary, OpenTable), POS (Square, Tyro), rostering (Tanda, Deputy)
|
|
23
|
+
- **Operating hours are non-business-hours** — staff messages fly at 06:00 (kitchen prep) and 22:30 (close-out)
|
|
24
|
+
|
|
25
|
+
## Where LeedAB helps
|
|
26
|
+
|
|
27
|
+
| Pain | Agent | Action |
|
|
28
|
+
|---|---|---|
|
|
29
|
+
| Customer questions ("are you open Sunday?", "do you do gluten-free?") | CX | Auto-reply via Instagram DM / Telegram bot, escalate the unusual ones |
|
|
30
|
+
| Staff rostering shift-swaps | People + Ops | Coordinate WhatsApp rosters group, find covers, update Tanda |
|
|
31
|
+
| Customer health / churn signals | CX | Surface "Sarah hasn't been in 3 weeks" patterns to the founder |
|
|
32
|
+
| Content cadence (IG, email newsletter) | Content + Marketing | Maintain pillar/timely-content split, monthly community email |
|
|
33
|
+
| New-member nurture | Email + CX | 30-day welcome + Day 7 / Day 21 check-in |
|
|
34
|
+
| Reviews | CX + Marketing | Solicit reviews from happy customers, route negatives to the founder before they hit Google |
|
|
35
|
+
| Stocktake / supplier orders | Procurement + Ops | Standing weekly orders, exception handling |
|
|
36
|
+
| Local PR / community events | Marketing + Brand | Pitch to local press, organise events |
|
|
37
|
+
|
|
38
|
+
## Likely licensed agent subset
|
|
39
|
+
|
|
40
|
+
For most hospitality / wellness SMBs:
|
|
41
|
+
- **Always:** coo, concierge, cx, marketing, content, campaigns, email, people, ops, finance
|
|
42
|
+
- **Drop:** sales, engineering / build, devops, automation, investor, video (unless content-heavy)
|
|
43
|
+
- **Tier:** typically tier-less (no `logistics-pro` equivalent yet); per-customer manifest carries the customisation
|
|
44
|
+
|
|
45
|
+
## Industry-specific knowledge to bake in
|
|
46
|
+
|
|
47
|
+
### Tone
|
|
48
|
+
- **Warm, never transactional.** "We'd love to see you" beats "Book now."
|
|
49
|
+
- **First-name, low-corporate.** No "team" pronoun; if the founder talks, the agent talks like the founder.
|
|
50
|
+
- **Aspirational without pressure.** Wellness especially: "building strength" not "transform your body in 8 weeks."
|
|
51
|
+
|
|
52
|
+
### Operations
|
|
53
|
+
- **Class / table capacity is sacred.** Waitlist priority is the trust layer; never random-discount fill.
|
|
54
|
+
- **Brunch / dinner / class rush windows** are the high-stakes moments — agents shouldn't message customers during them.
|
|
55
|
+
- **Stockouts in food** are end-of-world for a 12-cover restaurant; signal-early-not-late.
|
|
56
|
+
- **Roster legality** matters: minimum break, 18+ for late-night alcohol service, RSA / RSG certs.
|
|
57
|
+
|
|
58
|
+
### Marketing
|
|
59
|
+
- **Discount-led promotions cheapen premium positioning.** Boutique fitness / fine dining / specialty retail: avoid except acquisition (e.g. "first class free").
|
|
60
|
+
- **Influencer collabs** are a minefield — must align with brand or do more harm than good. Default no.
|
|
61
|
+
- **Local search** matters way more than global. Google Business Profile is the #1 marketing surface for most hospitality SMBs.
|
|
62
|
+
|
|
63
|
+
### Channels
|
|
64
|
+
- **Instagram DM is the primary inbound** for most. Email is secondary. Phone tertiary (and dying).
|
|
65
|
+
- **WhatsApp groups** for staff comms (already entrenched, don't try to migrate).
|
|
66
|
+
|
|
67
|
+
## Demo prospects in this industry
|
|
68
|
+
|
|
69
|
+
- **[[../../01_Customers/_demos/sunset-cafe]]** — 3 venues, premium cafe group, Bondi/Surry Hills/Newtown
|
|
70
|
+
- **[[../../01_Customers/_demos/element-pilates]]** — 2 boutique Pilates studios, Mosman/Manly
|
|
71
|
+
|
|
72
|
+
## Cross-references
|
|
73
|
+
|
|
74
|
+
- LeedAB-OS demo manifests: `clients/sunset-cafe/`, `clients/element-pilates/`
|
|
75
|
+
- Companion playbooks: `context/customers/{sunset-cafe,element-pilates}/playbook.md`
|
|
76
|
+
- Sales pipeline: [[../../02_Sales/pipeline]]
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
---
|
|
2
|
+
created: 2026-04-30
|
|
3
|
+
updated: 2026-04-30
|
|
4
|
+
type: wiki
|
|
5
|
+
topic: customer-use-cases
|
|
6
|
+
industry: supply-chain
|
|
7
|
+
maturity: stub
|
|
8
|
+
tags: [wiki, customer-use-case, supply-chain, logistics]
|
|
9
|
+
editing:
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Supply chain / logistics — customer use cases
|
|
13
|
+
|
|
14
|
+
> Stub. To be populated as we onboard supply-chain customers (Tarheel is the first; this becomes the playbook). The OS already has a `supply-chain` vertical template (`muiez/LeedAB-OS:src/templates/verticals/supply-chain/`).
|
|
15
|
+
|
|
16
|
+
## Common shape — supply-chain SMB
|
|
17
|
+
|
|
18
|
+
- **Operations team** receives dispatches by phone / email / WhatsApp, manually creates jobs in TMS
|
|
19
|
+
- **Drivers** report status via SMS or driver app; status flows are fragile
|
|
20
|
+
- **Compliance** burden in AU: Heavy Vehicle National Law (HVNL), Chain of Responsibility, Fatigue Management
|
|
21
|
+
- **Customer service** answers "where's my freight?" all day
|
|
22
|
+
- **Finance** reconciles invoices vs jobs vs proof-of-delivery
|
|
23
|
+
|
|
24
|
+
## Where LeedAB helps
|
|
25
|
+
|
|
26
|
+
| Pain | Agent | Action |
|
|
27
|
+
|---|---|---|
|
|
28
|
+
| Inbound dispatch triage | COO + Email + Ops | Triage email + WhatsApp inbound, classify, escalate or auto-handle |
|
|
29
|
+
| Job creation in TMS | Automation + Ops | Computer-use into the TMS to create job from inbound message |
|
|
30
|
+
| Driver-status nudges | Concierge + Email | Polite "any update on job 1234?" loops |
|
|
31
|
+
| Customer "where's my freight?" | CX + Concierge | Answer from TMS state without bothering ops |
|
|
32
|
+
| Compliance reminders | Compliance + Ops | HVNL/CoR/fatigue check-ins, document trail |
|
|
33
|
+
| Invoice reconciliation | Finance + Ops | Match POD → invoice → payment, flag mismatches |
|
|
34
|
+
|
|
35
|
+
## Likely licensed agent subset for a supply-chain customer
|
|
36
|
+
|
|
37
|
+
**Minimum (small operator):** COO, Onboarding, Delivery, Email, Ops, Concierge — ~6 agents
|
|
38
|
+
|
|
39
|
+
**Standard (medium operator):** + Compliance, Procurement, CX — ~9 agents
|
|
40
|
+
|
|
41
|
+
**Enterprise (multi-depot):** + Automation, Data, Finance, Legal — ~13 agents
|
|
42
|
+
|
|
43
|
+
## Industry-specific knowledge to bake into agent context
|
|
44
|
+
|
|
45
|
+
- HVNL + CoR — what's the agent's awareness level? Don't give legal advice; surface obligations + escalate to human
|
|
46
|
+
- Common TMS systems (TransVirtual, MachShip, Cartage Australia, in-house) — for computer-use integrations
|
|
47
|
+
- Common terminology: PUD (pickup-and-delivery), LTL, FTL, lashings, manifest, EDR (electronic document return), POD (proof-of-delivery)
|
|
48
|
+
- ANZSIC code for filtering targeting: 4610 (Road freight transport)
|
|
49
|
+
|
|
50
|
+
## Tarheel as the first paying customer
|
|
51
|
+
- See [[../../01_Customers/Tarheel/overview]] for customer-specific details
|
|
52
|
+
- Specifics they teach us → promote here as industry-level patterns
|
|
53
|
+
|
|
54
|
+
## Cross-references
|
|
55
|
+
- LeedAB-OS canonical vertical template: `muiez/LeedAB-OS:src/templates/verticals/supply-chain/`
|
|
56
|
+
- Email agent (newly added): `~/code/leedab-workspace/agents/email-agent.md`
|
|
57
|
+
- COO orchestrator: [[../../03_Product/ADRs/ADR-001-single-bot-per-customer]]
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
---
|
|
2
|
+
created: 2026-04-30
|
|
3
|
+
updated: 2026-04-30
|
|
4
|
+
type: wiki
|
|
5
|
+
topic: customer-use-cases
|
|
6
|
+
industry: professional-services
|
|
7
|
+
maturity: stub
|
|
8
|
+
tags: [wiki, customer-use-case, professional-services, agencies, consulting, legal]
|
|
9
|
+
editing:
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Professional services — customer use cases
|
|
13
|
+
|
|
14
|
+
> Stub. To be populated as we onboard consultancies, agencies, law firms, accountancies. Currently no LeedAB-OS vertical template exists — when we get our first professional-services customer, we extract one.
|
|
15
|
+
|
|
16
|
+
## Common shape — professional services SMB
|
|
17
|
+
|
|
18
|
+
- **Engagement management** — proposals, SOWs, time tracking, deliverables review
|
|
19
|
+
- **Client communication** — email-heavy, with sensitive financial / legal / strategic content
|
|
20
|
+
- **Knowledge management** — past client work as IP, often poorly indexed
|
|
21
|
+
- **Billing** — milestone-based or hour-based, reconciliation pain
|
|
22
|
+
- **Compliance** — varies by sub-vertical (legal: client confidentiality, conflicts checks; accounting: BAS / tax obligations; consulting: NDAs / IP)
|
|
23
|
+
|
|
24
|
+
## Where LeedAB helps
|
|
25
|
+
|
|
26
|
+
| Pain | Agent | Action |
|
|
27
|
+
|---|---|---|
|
|
28
|
+
| Email triage with sensitivity | Email + Compliance | Triage + draft, escalate sensitive (privileged / IP / financial) |
|
|
29
|
+
| Proposal drafting | Solutions + Marketing | Draft from past similar proposals + customer brief |
|
|
30
|
+
| Client meeting prep | Concierge + Research | Day-before brief: who they are, last conversation, open items |
|
|
31
|
+
| Time tracking / billing | Finance + Ops | Reconcile calendar / dispatches → billable units → invoice draft |
|
|
32
|
+
| Knowledge retrieval | Research + Data | "What did we tell ClientCo about retention strategy in 2023?" — answer from vault history |
|
|
33
|
+
| Conflicts check (legal) | Legal + Compliance | Cross-check new prospect against existing clients for conflict |
|
|
34
|
+
|
|
35
|
+
## Likely licensed agent subset
|
|
36
|
+
|
|
37
|
+
**Minimum (solo practitioner):** COO, Onboarding, Email, Concierge, Compliance — ~5 agents
|
|
38
|
+
|
|
39
|
+
**Standard (small firm 5-15 people):** + Research, Marketing, Finance, People — ~9 agents
|
|
40
|
+
|
|
41
|
+
**Enterprise (mid-size firm):** + Legal, Data, Automation, Investor — ~13 agents
|
|
42
|
+
|
|
43
|
+
## Industry-specific knowledge to bake in (per sub-vertical)
|
|
44
|
+
|
|
45
|
+
### Legal
|
|
46
|
+
- Privilege: agent-drafted communications must be reviewable for privilege classification
|
|
47
|
+
- Conflicts check workflow against vault contact graph
|
|
48
|
+
- Australian: Solicitors' Conduct Rules, AML/CTF obligations
|
|
49
|
+
|
|
50
|
+
### Accounting
|
|
51
|
+
- BAS, IAS, FBT, payroll tax — reminders + draft prep
|
|
52
|
+
- Australian: Tax Practitioners Board, ATO digital partner if integrating
|
|
53
|
+
|
|
54
|
+
### Consulting / agencies
|
|
55
|
+
- IP retention clauses in client agreements
|
|
56
|
+
- Project profitability analysis (revenue vs delivered hours)
|
|
57
|
+
|
|
58
|
+
## Cross-references
|
|
59
|
+
- (No LeedAB-OS vertical template exists for this yet — extract one when first customer onboards)
|
|
60
|
+
- Email agent (likely most important for this vertical): `~/code/leedab-workspace/agents/email-agent.md`
|
|
61
|
+
- Customer use case overview: [[supply-chain]] (the only vertical with template currently)
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
---
|
|
2
|
+
created: 2026-05-03
|
|
3
|
+
updated: 2026-05-03
|
|
4
|
+
type: wiki
|
|
5
|
+
topic: customer-use-cases
|
|
6
|
+
industry: retail
|
|
7
|
+
maturity: stub
|
|
8
|
+
tags: [wiki, customer-use-case, retail, ecommerce, maker, dtc]
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Retail / e-commerce — customer use cases
|
|
12
|
+
|
|
13
|
+
> Direct-to-consumer brands, makers, online stores. Bondi Bloom Ceramics is a demo prospect. Spans solo-founder Shopify shops up to 10-person teams running Klaviyo + Meta ads + 3PL fulfilment.
|
|
14
|
+
|
|
15
|
+
## Common shape — retail SMB
|
|
16
|
+
|
|
17
|
+
- **Single-channel or multi-channel** — Shopify-primary, Instagram + farmers markets + wholesale stockists
|
|
18
|
+
- **Founder wears every hat** below ~5 staff: marketing, ops, customer service, fulfilment
|
|
19
|
+
- **Inventory is the constraint** — overstock kills cashflow; stockouts kill momentum
|
|
20
|
+
- **Margin pressure is constant** — everyone in retail thinks they're undersold; most are
|
|
21
|
+
- **Acquisition cost matters more than ever** — Meta CPMs up YoY; organic Instagram reach down
|
|
22
|
+
- **Returns / exchanges are trust signals** — generous policy converts more than it costs (but founders fear it)
|
|
23
|
+
- **Influencer + UGC drive content velocity** — paid alone doesn't work for makers / handcrafted goods
|
|
24
|
+
- **Stockists / wholesale are 30-50% of revenue** for established makers — never undercut them with site-direct discounts
|
|
25
|
+
|
|
26
|
+
## Where LeedAB helps
|
|
27
|
+
|
|
28
|
+
| Pain | Agent | Action |
|
|
29
|
+
|---|---|---|
|
|
30
|
+
| Order status DMs ("where's my parcel?") | CX | Auto-respond with tracking, escalate the 3% that need a human |
|
|
31
|
+
| Inventory replenishment | Procurement + Ops | Compute reorder points, place POs to suppliers, flag stock-outs before they happen |
|
|
32
|
+
| Content cadence (IG, email, blog) | Content + Marketing + Brand | Maintain pillar content schedule, brand-voice consistency, drop alerts |
|
|
33
|
+
| Drop / launch coordination | Marketing + Campaigns + Email | Coordinate Insta + email + paid for product drops |
|
|
34
|
+
| Paid acquisition | Campaigns | Run Meta + Google + Pinterest, A/B test creative, optimise CAC |
|
|
35
|
+
| Email lifecycle (welcome, abandoned cart, post-purchase) | Email | Maintain Klaviyo flows, segment, win-back |
|
|
36
|
+
| Wholesale outreach | Sales + CX | Cold pitch to potential stockists, manage existing wholesale relationships |
|
|
37
|
+
| Returns / exchanges | CX + Finance | Handle return requests, refund / exchange / store credit decisions, restocking flow |
|
|
38
|
+
| Reviews + UGC | Marketing + CX | Solicit reviews, repost UGC with permission, build social proof |
|
|
39
|
+
|
|
40
|
+
## Likely licensed agent subset
|
|
41
|
+
|
|
42
|
+
For most retail / e-commerce SMBs:
|
|
43
|
+
- **Always:** coo, concierge, cx, marketing, content, campaigns, brand, email, ops, procurement, finance
|
|
44
|
+
- **Drop:** sales (unless wholesale-heavy), engineering / build, devops, automation, investor, video (unless content-heavy)
|
|
45
|
+
- **Optional:** sales (wholesale lead-gen), people (when they have actual staff)
|
|
46
|
+
- **Tier:** typically tier-less; per-customer manifest carries customisation
|
|
47
|
+
|
|
48
|
+
## Industry-specific knowledge to bake in
|
|
49
|
+
|
|
50
|
+
### Tone
|
|
51
|
+
- **Brand voice is everything.** Maker brands have a distinct tone — "studio diary" not "store newsletter." Never genericise.
|
|
52
|
+
- **Imperfection is on-brand for handmade.** Glaze pooling, kiln kisses, slight asymmetries are features, never apologies.
|
|
53
|
+
- **Avoid sale-y language** for premium / artisan brands. "Drop alert" beats "shop now"; "sold out" is a flex, not a failure.
|
|
54
|
+
|
|
55
|
+
### Operations
|
|
56
|
+
- **Inventory accuracy is the trust layer.** Every "we'll let you know when it's back" is a customer who never returns.
|
|
57
|
+
- **Drop schedule is the trust layer + #2.** Monthly cadences ("first Sunday kiln drop") build anticipation; missed drops break it.
|
|
58
|
+
- **Pack-out time per order** is the constraint for handmade makers; the agent should never promise sub-3-day shipping if average pack-out is 7.
|
|
59
|
+
|
|
60
|
+
### Marketing
|
|
61
|
+
- **Stockists first, site second.** Never run a site discount that undercuts wholesale margin — that breaks the most important business relationship.
|
|
62
|
+
- **Email > Instagram for revenue.** Instagram drives discovery; email closes. Build the list aggressively.
|
|
63
|
+
- **Avoid hashtag spam.** One pillar word per post (e.g. #handmade, #ceramicart, #bondi); algorithmic returns on volume have collapsed.
|
|
64
|
+
- **UGC > brand-shot photography.** Real customers in real homes converts better.
|
|
65
|
+
|
|
66
|
+
### Channels
|
|
67
|
+
- **Instagram DM is the #1 inbound** — questions, custom requests, wholesale enquiries.
|
|
68
|
+
- **Email** is the brand's voice in the customer's pocket. Don't waste it on transactional-only.
|
|
69
|
+
- **SMS** is rising but has a much lower trust ceiling — use sparingly.
|
|
70
|
+
|
|
71
|
+
## Demo prospects in this industry
|
|
72
|
+
|
|
73
|
+
- **[[../../01_Customers/_demos/bondi-bloom]]** — handmade ceramics, Sydney maker, Shopify + farmers markets
|
|
74
|
+
|
|
75
|
+
## Cross-references
|
|
76
|
+
|
|
77
|
+
- LeedAB-OS demo manifest: `clients/bondi-bloom/manifest.json`
|
|
78
|
+
- Companion playbook: `context/customers/bondi-bloom/playbook.md`
|
|
79
|
+
- Adjacent wiki: [[hospitality]] (overlap on local cafe + market vendors)
|
|
80
|
+
- Sales pipeline: [[../../02_Sales/pipeline]]
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
---
|
|
2
|
+
created: 2026-05-03
|
|
3
|
+
updated: 2026-05-03
|
|
4
|
+
type: wiki
|
|
5
|
+
topic: customer-use-cases
|
|
6
|
+
industry: trades
|
|
7
|
+
maturity: stub
|
|
8
|
+
tags: [wiki, customer-use-case, trades, construction, building, plumbing, electrical, roofing]
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Trades / construction — customer use cases
|
|
12
|
+
|
|
13
|
+
> Residential builders, plumbers, electricians, roofers, tilers, tradies. Coastal Built (residential builder) + Hawkesbury Roofing are demo prospects. Pillarix-adjacent for partnership conversations — relevant when LeedAB talks to vertical AI players in this space.
|
|
14
|
+
|
|
15
|
+
## Common shape — trades SMB
|
|
16
|
+
|
|
17
|
+
- **Director-led** — a licensed builder / electrician / etc. + 1-3 site supervisors + a roster of regular subbies (5-15)
|
|
18
|
+
- **Bookings come from referrals + Google + neighbour-word-of-mouth** — almost never paid acquisition
|
|
19
|
+
- **Quoting is bottlenecked on the director** — every quote requires their touch; that's the daily-operations chokepoint
|
|
20
|
+
- **Job sites are mobile** — director drives between 2-5 active jobs/day; admin time is in the ute, in evenings, in the kitchen at 22:00
|
|
21
|
+
- **Subbies are paid per-job, not salaried** — relationship management matters more than HR processes
|
|
22
|
+
- **Materials delivery is a daily fire** — stockouts at site, suppliers running late, swap-in substitutions on engineered specs
|
|
23
|
+
- **Compliance burden** — NSW Home Building Compensation Fund (HBCF), engineer sign-offs, council inspections, electrical certs, plumbing certs, asbestos protocols
|
|
24
|
+
- **Cashflow is brutal** — progress payments lag job spend; one bad month wipes the year
|
|
25
|
+
|
|
26
|
+
## Where LeedAB helps
|
|
27
|
+
|
|
28
|
+
| Pain | Agent | Action |
|
|
29
|
+
|---|---|---|
|
|
30
|
+
| Quote backlog | Sales + Ops | Pre-fill quote templates from job notes, route to director for approval, send via email |
|
|
31
|
+
| Subbie coordination | Ops + People | Maintain WhatsApp groups, coordinate site visits, track availability |
|
|
32
|
+
| Material orders | Procurement + Ops | Standing supplier accounts, exception flags ("Bunnings out of 90×35 — substitute approved?") |
|
|
33
|
+
| Site reports | Ops + CX | Daily 10-line site report from photos + voice memos, share with client |
|
|
34
|
+
| Council / engineer sign-offs | Compliance + Legal | Track inspection schedule, flag overdue, draft RFIs |
|
|
35
|
+
| Variations / change-orders | Sales + Legal + Finance | Formalise verbal "yeah she'll be right" into written variation + revised quote |
|
|
36
|
+
| Progress invoicing | Finance | Auto-draft progress claims at milestones, send to client + bookkeeper |
|
|
37
|
+
| Customer comms | CX + Concierge | "Is the demo still on Tuesday?" — proactive client updates, photos, ETAs |
|
|
38
|
+
| Compliance evidence | Compliance | Maintain folder of cert pics, sign-offs, inspection records (audit-ready) |
|
|
39
|
+
| Wet-weather / delay impact | Ops + CX | When a slip is happening, surface to client BEFORE it becomes a missed PCD |
|
|
40
|
+
|
|
41
|
+
## Likely licensed agent subset
|
|
42
|
+
|
|
43
|
+
For most trades / construction SMBs:
|
|
44
|
+
- **Always:** coo, concierge, sales, ops, procurement, finance, cx, compliance
|
|
45
|
+
- **Optional:** people (when they have admin staff or apprentices), marketing (when they want pipeline beyond word-of-mouth), legal (variations / disputes)
|
|
46
|
+
- **Drop:** engineering / build / devops, content / brand / video, automation, investor, research
|
|
47
|
+
- **Tier:** typically tier-less; per-customer manifest carries customisation
|
|
48
|
+
|
|
49
|
+
## Industry-specific knowledge to bake in
|
|
50
|
+
|
|
51
|
+
### Tone
|
|
52
|
+
- **Plain, direct, blue-collar professional.** No corporate fluff. "Done" beats "executed."
|
|
53
|
+
- **Subbie-first.** Comms via WhatsApp groups, not email. Voice notes acceptable.
|
|
54
|
+
- **Time-zoned to AEST/AEDT.** "Tomorrow" means tomorrow on this coast.
|
|
55
|
+
- **Money in writing.** Variations get formal change-orders. Verbal "she'll be right" never holds in a dispute.
|
|
56
|
+
|
|
57
|
+
### Operations
|
|
58
|
+
- **Buildxact / single-source-of-truth** is sacred. If the system says X, X is the truth, not the verbal report from site.
|
|
59
|
+
- **Engineered spec substitutions** require structural engineer sign-off. Never substitute on the builder's call alone (LVL, joist hangers, pier caps, structural fixings).
|
|
60
|
+
- **HBCF certificate** must be active before site work in NSW residential.
|
|
61
|
+
- **Subbie pay** is per-job, on-time. Late pay = subbie quits = job stops. Critical relationship.
|
|
62
|
+
- **Practical Completion Date (PCD)** slips trigger client comms BEFORE they're a slip — never let a missed PCD be the first the client hears about it.
|
|
63
|
+
|
|
64
|
+
### Marketing
|
|
65
|
+
- **Most trades don't run paid acquisition.** Referrals + Google Business Profile + neighbour word-of-mouth.
|
|
66
|
+
- **Content / social media is light** unless they're chasing premium positioning.
|
|
67
|
+
- **Reviews are the #1 acquisition lever** — most trades neglect review-solicitation.
|
|
68
|
+
|
|
69
|
+
### Compliance
|
|
70
|
+
- **Council inspections** at frame, lock-up, completion. Schedule, attend, evidence.
|
|
71
|
+
- **Engineer sign-offs** for any variation on engineered work.
|
|
72
|
+
- **HBCF + builder's licence** must be current — clients can demand evidence.
|
|
73
|
+
- **Asbestos protocols** for pre-2000 demolition / renovation. Hard rules, no shortcuts.
|
|
74
|
+
- **Electrical / plumbing certs** delivered on completion of any electrical / plumbing work.
|
|
75
|
+
|
|
76
|
+
### Channels
|
|
77
|
+
- **WhatsApp groups per site** — primary subbie comm.
|
|
78
|
+
- **Phone calls + voicemail** — primary client comm.
|
|
79
|
+
- **Email** for quotes, variations, invoices (formal record).
|
|
80
|
+
- **SMS** for "running 30 late" updates.
|
|
81
|
+
|
|
82
|
+
## Demo prospects in this industry
|
|
83
|
+
|
|
84
|
+
- **[[../../01_Customers/_demos/coastal-built]]** — residential builder, NSW Central Coast + Northern Beaches, 3-5 active builds
|
|
85
|
+
- **[[../../01_Customers/_demos/hawkesbury-roofing]]** — roofer, parser-built, sales pipeline + finance focus
|
|
86
|
+
|
|
87
|
+
## Adjacent — Pillarix conversation
|
|
88
|
+
|
|
89
|
+
This wiki is **highly relevant** to the Pillarix licensing conversation. Pillarix builds vertical AI for construction PM. LeedAB serves construction without being construction-specific — per-customer manifest + this wiki carry the vertical depth. The conversation framing: "vertical depth × horizontal substrate" — Pillarix nails the vertical, LeedAB provides the substrate.
|
|
90
|
+
|
|
91
|
+
## Cross-references
|
|
92
|
+
|
|
93
|
+
- LeedAB-OS demo manifests: `clients/coastal-built/`, `clients/hawkesbury-roofing/`
|
|
94
|
+
- Companion playbooks: `context/customers/{coastal-built,hawkesbury-roofing}/playbook.md`
|
|
95
|
+
- Pillarix licensing inbound: `[[../../02_Sales/inbound/pillarix]]`
|
|
96
|
+
- Adjacent wiki: [[supply-chain]] (overlap on materials delivery, supplier management)
|
|
97
|
+
- Sales pipeline: [[../../02_Sales/pipeline]]
|
package/dist/console-launcher.js
CHANGED
|
@@ -125,11 +125,20 @@ export async function startConsole(port = 3000) {
|
|
|
125
125
|
// Next.js standalone reads HOSTNAME and PORT from the environment.
|
|
126
126
|
// We launch with the current node binary so the customer doesn't need
|
|
127
127
|
// a `next` CLI or a populated node_modules at runtime.
|
|
128
|
+
//
|
|
129
|
+
// Workspace root: respect whatever the CLI (bin/leedab.js) already
|
|
130
|
+
// set via ensureWorkspace(). On a fresh npm install that points at
|
|
131
|
+
// ~/.leedab/workspace/ (writable copy of the bundled templates); on
|
|
132
|
+
// a dev-tree checkout it points at the repo root. Fall back to
|
|
133
|
+
// findRepoRoot() when the env is unset — happens when the console is
|
|
134
|
+
// spawned without going through the CLI.
|
|
135
|
+
const workspaceRoot = process.env.LEEDAB_WORKSPACE_ROOT ?? findRepoRoot();
|
|
128
136
|
consoleProcess = spawn(process.execPath, [serverEntry], {
|
|
129
137
|
cwd: standaloneDir,
|
|
130
138
|
env: {
|
|
131
139
|
...process.env,
|
|
132
140
|
LEEDAB_STATE_DIR: STATE_DIR,
|
|
141
|
+
LEEDAB_WORKSPACE_ROOT: workspaceRoot,
|
|
133
142
|
NODE_ENV: "production",
|
|
134
143
|
HOSTNAME: "127.0.0.1",
|
|
135
144
|
PORT: String(port),
|
package/dist/gateway.js
CHANGED
|
@@ -86,7 +86,10 @@ async function registerChannels(bin, stateDir, config) {
|
|
|
86
86
|
let secrets = {};
|
|
87
87
|
try {
|
|
88
88
|
const raw = await readFile(resolve(stateDir, "secrets.json"), "utf-8");
|
|
89
|
-
|
|
89
|
+
const parsed = JSON.parse(raw);
|
|
90
|
+
if (parsed && typeof parsed === "object") {
|
|
91
|
+
secrets = parsed;
|
|
92
|
+
}
|
|
90
93
|
}
|
|
91
94
|
catch {
|
|
92
95
|
// No secrets file yet
|
package/dist/gtm/templates.js
CHANGED
|
@@ -1,7 +1,21 @@
|
|
|
1
1
|
import { readFile, writeFile, readdir } from "node:fs/promises";
|
|
2
|
-
import { resolve } from "node:path";
|
|
2
|
+
import { resolve, sep } from "node:path";
|
|
3
3
|
import { TEMPLATES_DIR, ensureGtmDirs } from "./paths.js";
|
|
4
4
|
const FRONTMATTER_RE = /^---\n([\s\S]*?)\n---\n([\s\S]*)$/;
|
|
5
|
+
// Mirrors apps/console/lib/gtm-store.ts:SAFE_TEMPLATE_NAME_RE. Template
|
|
6
|
+
// names go onto the filesystem; reject traversal + shell metacharacters.
|
|
7
|
+
const SAFE_TEMPLATE_NAME_RE = /^[a-z0-9](?:[a-z0-9-_]{0,58}[a-z0-9])?$/;
|
|
8
|
+
function safeTemplatePath(name) {
|
|
9
|
+
const base = name.endsWith(".md") ? name.slice(0, -3) : name;
|
|
10
|
+
if (!SAFE_TEMPLATE_NAME_RE.test(base)) {
|
|
11
|
+
throw new Error(`Invalid template name "${name}" — must match ${SAFE_TEMPLATE_NAME_RE}`);
|
|
12
|
+
}
|
|
13
|
+
const candidate = resolve(TEMPLATES_DIR, `${base}.md`);
|
|
14
|
+
if (!candidate.startsWith(TEMPLATES_DIR + sep)) {
|
|
15
|
+
throw new Error(`Template name "${name}" resolves outside TEMPLATES_DIR`);
|
|
16
|
+
}
|
|
17
|
+
return candidate;
|
|
18
|
+
}
|
|
5
19
|
function parseFrontmatter(raw) {
|
|
6
20
|
const m = raw.match(FRONTMATTER_RE);
|
|
7
21
|
if (!m)
|
|
@@ -20,7 +34,7 @@ function parseFrontmatter(raw) {
|
|
|
20
34
|
}
|
|
21
35
|
export async function loadTemplate(name) {
|
|
22
36
|
await ensureGtmDirs();
|
|
23
|
-
const path =
|
|
37
|
+
const path = safeTemplatePath(name);
|
|
24
38
|
const raw = await readFile(path, "utf-8");
|
|
25
39
|
const { meta, body } = parseFrontmatter(raw);
|
|
26
40
|
const subject = meta.subject;
|
|
@@ -41,7 +55,7 @@ export async function listTemplateNames() {
|
|
|
41
55
|
}
|
|
42
56
|
export async function writeTemplate(name, subject, body) {
|
|
43
57
|
await ensureGtmDirs();
|
|
44
|
-
const path =
|
|
58
|
+
const path = safeTemplatePath(name);
|
|
45
59
|
const content = `---\nsubject: ${JSON.stringify(subject).slice(1, -1)}\n---\n${body.trim()}\n`;
|
|
46
60
|
await writeFile(path, content, "utf-8");
|
|
47
61
|
return path;
|
package/dist/license.d.ts
CHANGED
|
@@ -14,6 +14,12 @@ export interface LicenseInfo {
|
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
16
16
|
* Validate a license key against the API.
|
|
17
|
+
*
|
|
18
|
+
* Throws on transient upstream failure (5xx, network error, timeout) so
|
|
19
|
+
* the caller can fall back to the cached license. ONLY synthesizes an
|
|
20
|
+
* "invalid" payload when the upstream explicitly rejects the key with a
|
|
21
|
+
* 4xx — anything else is treated as "we couldn't reach a verdict" and
|
|
22
|
+
* must not corrupt the cache.
|
|
17
23
|
*/
|
|
18
24
|
export declare function validateLicenseKey(key: string): Promise<LicenseInfo>;
|
|
19
25
|
/**
|
package/dist/license.js
CHANGED
|
@@ -8,6 +8,12 @@ const REVALIDATE_DAYS = 7;
|
|
|
8
8
|
const REVALIDATE_DAYS_TRIAL = 1;
|
|
9
9
|
/**
|
|
10
10
|
* Validate a license key against the API.
|
|
11
|
+
*
|
|
12
|
+
* Throws on transient upstream failure (5xx, network error, timeout) so
|
|
13
|
+
* the caller can fall back to the cached license. ONLY synthesizes an
|
|
14
|
+
* "invalid" payload when the upstream explicitly rejects the key with a
|
|
15
|
+
* 4xx — anything else is treated as "we couldn't reach a verdict" and
|
|
16
|
+
* must not corrupt the cache.
|
|
11
17
|
*/
|
|
12
18
|
export async function validateLicenseKey(key) {
|
|
13
19
|
const res = await fetch(VERIFY_URL, {
|
|
@@ -18,7 +24,11 @@ export async function validateLicenseKey(key) {
|
|
|
18
24
|
},
|
|
19
25
|
signal: AbortSignal.timeout(8000),
|
|
20
26
|
});
|
|
27
|
+
if (res.status >= 500) {
|
|
28
|
+
throw new Error(`upstream unavailable (HTTP ${res.status})`);
|
|
29
|
+
}
|
|
21
30
|
if (!res.ok) {
|
|
31
|
+
// 4xx — upstream definitively rejected the key.
|
|
22
32
|
return {
|
|
23
33
|
key,
|
|
24
34
|
valid: false,
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "leedab",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "The AI operating system for
|
|
5
|
-
"license": "
|
|
3
|
+
"version": "0.6.1",
|
|
4
|
+
"description": "The AI operating system for logistics. A brain that learns how your business operates, Artificial Beings that execute on the apps your team already use. Local-first.",
|
|
5
|
+
"license": "UNLICENSED",
|
|
6
6
|
"author": "LeedAB <hello@leedab.com>",
|
|
7
7
|
"type": "module",
|
|
8
8
|
"bin": {
|
|
@@ -16,6 +16,12 @@
|
|
|
16
16
|
"apps/console/.next/standalone/",
|
|
17
17
|
"apps/console/.next/static/",
|
|
18
18
|
"apps/console/public/",
|
|
19
|
+
"agents/",
|
|
20
|
+
"context/",
|
|
21
|
+
"clients/",
|
|
22
|
+
"wiki/",
|
|
23
|
+
"_schema/",
|
|
24
|
+
"README.md",
|
|
19
25
|
"LICENSE"
|
|
20
26
|
],
|
|
21
27
|
"scripts": {
|
|
@@ -26,20 +32,24 @@
|
|
|
26
32
|
"prepublishOnly": "npm run build && npm --prefix apps/console install && npm --prefix apps/console run build"
|
|
27
33
|
},
|
|
28
34
|
"dependencies": {
|
|
35
|
+
"@anthropic-ai/sdk": "^0.92.0",
|
|
29
36
|
"@aws-sdk/client-bedrock": "^3.1021.0",
|
|
30
37
|
"@grammyjs/runner": "^2.0.3",
|
|
31
38
|
"@grammyjs/transformer-throttler": "^1.2.1",
|
|
32
39
|
"chalk": "^5.4.0",
|
|
33
40
|
"commander": "^13.0.0",
|
|
34
41
|
"conf": "^13.0.0",
|
|
42
|
+
"csv-parse": "^6.2.1",
|
|
35
43
|
"grammy": "^1.41.1",
|
|
36
44
|
"inquirer": "^12.11.1",
|
|
45
|
+
"nodemailer": "^8.0.7",
|
|
37
46
|
"openclaw": "2026.4.15",
|
|
38
47
|
"ora": "^8.1.0"
|
|
39
48
|
},
|
|
40
49
|
"devDependencies": {
|
|
41
50
|
"@types/inquirer": "^9.0.9",
|
|
42
51
|
"@types/node": "^22.0.0",
|
|
52
|
+
"@types/nodemailer": "^8.0.0",
|
|
43
53
|
"eslint": "^9.0.0",
|
|
44
54
|
"typescript": "^5.7.0"
|
|
45
55
|
},
|