aiConnected Platform v2 — Port Map
Old path → New v2 path, with migration instructions March 2026Overview
The v2 monorepo follows the same Turborepo structure as v1. Package names and locations are preserved where possible for developer familiarity. The key differences are: a newpackages/ui package (shadcn/ui layer), a replaced packages/db schema, and three fully rebuilt apps/.
Package Port Map
packages/permissions
Action: Copy as-is. Zero changes required.
| v1 path | v2 path | Changes |
|---|---|---|
packages/permissions/src/auth.js | packages/permissions/src/auth.js | None |
packages/permissions/src/index.js | packages/permissions/src/index.js | None |
isSuperAdmin, isAgencyUser, isBusinessUser, etc.) are correct and match the v2 user model exactly. Copy verbatim.
packages/app-sdk
Action: Port + extend for events.
| v1 path | v2 path | Changes |
|---|---|---|
packages/app-sdk/src/manifests.js | packages/app-sdk/src/manifests.js | Add events_emitted and events_consumed arrays to each manifest |
packages/app-sdk/src/imports.js | packages/app-sdk/src/imports.js | Extend VALID_CONTRACT_KINDS to include event |
packages/app-sdk/src/index.js | packages/app-sdk/src/index.js | No change |
inputs, outputs, extensionPoints, permissions, and capabilities fields are correct and carry forward unchanged. The two new fields complete the event bus contract.
Updated Chat manifest (example):
packages/kb-engine
Action: Port as-is. No logic changes.
| v1 path | v2 path | Changes |
|---|---|---|
packages/kb-engine/src/scraper.js | packages/kb-engine/src/scraper.js | None |
packages/kb-engine/src/researcher.js | packages/kb-engine/src/researcher.js | None |
packages/kb-engine/src/compiler.js | packages/kb-engine/src/compiler.js | None |
packages/kb-engine/src/extractor.js | packages/kb-engine/src/extractor.js | None |
packages/kb-engine/src/generate.js | packages/kb-engine/src/generate.js | None |
packages/kb-engine/src/ai.js | packages/kb-engine/src/ai.js | None |
packages/kb-engine/src/runtime.js | packages/kb-engine/src/runtime.js | None |
packages/kb-engine/src/system-prompt.js | packages/kb-engine/src/system-prompt.js | None |
packages/kb-engine/src/starters.js | packages/kb-engine/src/starters.js | None |
packages/kb-engine/src/concern-mapper.js | packages/kb-engine/src/concern-mapper.js | None |
packages/kb-engine/src/quiz.js | packages/kb-engine/src/quiz.js | None |
crawl.sec-admn.com as the Crawl4AI endpoint. This infrastructure carries forward. No changes to the engine logic.
packages/chat-core
Action: Port as-is. One file to review.
| v1 path | v2 path | Changes |
|---|---|---|
packages/chat-core/src/runtime-config.js | packages/chat-core/src/runtime-config.js | None |
packages/chat-core/src/lead-capture.js | packages/chat-core/src/lead-capture.js | None |
packages/chat-core/src/lead-delivery.js | packages/chat-core/src/lead-delivery.js | None |
packages/chat-core/src/knowledge.js | packages/chat-core/src/knowledge.js | None |
packages/chat-core/src/ai-config.js | packages/chat-core/src/ai-config.js | None |
packages/chat-core/src/system-prompt.js | packages/chat-core/src/system-prompt.js | None |
packages/chat-core/src/structured-response.js | packages/chat-core/src/structured-response.js | None |
packages/chat-core/src/rate-limit.js | packages/chat-core/src/rate-limit.js | None |
packages/chat-core/src/composio.js | packages/chat-core/src/composio.js | Review: ensure it calls through API gateway, not direct |
packages/branding
Action: Port merge logic, replace token definitions.
| v1 path | v2 path | Changes |
|---|---|---|
packages/branding/src/index.js | packages/branding/src/index.js | Keep mergeTheme() function. Replace DEFAULT_PLATFORM_THEME object with TweakCN-compatible CSS variable names. |
mergeTheme(...themes) function logic is correct and carries forward unchanged.
packages/db
Action: Port client patterns. Rebuild schema.
| v1 path | v2 path | Changes |
|---|---|---|
packages/db/src/supabase-client.js | packages/db/src/supabase-client.js | None |
packages/db/src/supabase-server.js | packages/db/src/supabase-server.js | None |
packages/db/src/browser.js | packages/db/src/browser.js | None |
packages/db/src/server.js | packages/db/src/server.js | None |
packages/db/src/business-connectors.js | packages/db/src/business-connectors.js | Review against v2 schema |
packages/db/src/integration-sharing.js | packages/db/src/integration-sharing.js | Review against v2 schema |
packages/ui — NEW PACKAGE
Action: Create from scratch.
This package did not exist meaningfully in v1. In v2 it is the shadcn/ui component layer used by all apps and modules.
@aiconnected/ui. No app ever imports directly from shadcn/ui. This enforces design system consistency and enables global component updates.
App Port Map
apps/platform → Rebuild
Do not port. Build fresh.
New platform shell structure:
src/lib/navigation.js— sidebar menu structure logicsrc/lib/auth.js— auth utility patternssrc/context/ImpersonationContext.jsx— impersonation state logic (rewrite in TypeScript)
apps/chat → Rebuild
Do not port. Build fresh.
New chat app structure:
- All of
packages/chat-core(unchanged) apps/chat/public/widget.js— widget embed logic (review and port)
apps/kb-studio → Rebuild
Do not port. Build fresh.
- All of
packages/kb-engine(unchanged) apps/kb-studio/kb-ui/kb-editor-spec.md— reference for editor UI design
Infrastructure Port Map
| v1 resource | v2 action | Notes |
|---|---|---|
| Supabase project | Keep | Update schema via new migrations |
| DigitalOcean droplets | Keep | Redeploy v2 via Dokploy |
| Dokploy config | Update | New app paths and build commands |
Crawl4AI service (crawl.sec-admn.com) | Keep | Already referenced correctly in kb-engine |
| OpenRouter integration | Keep | Already the inference layer |
| Stripe account | Keep | Reconnect to v2 billing module |
| n8n instance | Keep | Separate from platform rebuild |
Port map v1.0 — March 2026 Read alongside: aiConnected-Platform-V2-Build-Plan.md