Organisasi ulang layer-first (domain/application/infrastructure) menjadi vertikal per-feature, behavior tidak berubah: - src/shared/domain/ -> fondasi bersama (ex-domain/core): message, provider, tool_call, tool_result, store, error, usage, conversation - src/features/agent/ -> LLM turn loop: domain (TurnEvent, AgentTurnParams) + application (turn_service, ports) + infrastructure (llm LlmClient + tools) - src/features/cms/ -> settings/conversation/memory persistence: domain + application (services) + infrastructure (persistence repos) - src/features/subagent/ -> orchestration: domain (AccessTier) + infrastructure (engine runner, context, provider, delegate, spawn_tools) - src/features/workflow/ -> multi-phase + hive-mind: domain + infrastructure - src/interfaces/ -> cli + tui (outer ring) tetap Subagent-runner (engine.ts runAgent, division.ts toolsFor) dipindah ke features/subagent (bukan agent tools) utk memutus coupling agent<->subagent. Alias tsconfig: @zesdex/domain -> shared/domain, + @zesdex/agent, @zesdex/agent-infra, @zesdex/cms, @zesdex/subagent, @zesdex/workflow, @zesdex/shared. Bersihkan dead: application/ports PasswordService/TokenService/AuthService. compose.ts (composition root) & bootstrap repoint ke barrel feature. Gates: tsc --noEmit 0 error, bun test 70 pass/0 fail, bun build 147 modules, ./dist/zesdex --headless -> real turn OK.
37 lines
1.2 KiB
JSON
37 lines
1.2 KiB
JSON
{
|
|
"compilerOptions": {
|
|
"target": "ESNext",
|
|
"module": "ESNext",
|
|
"moduleResolution": "bundler",
|
|
"moduleDetection": "force",
|
|
"lib": ["ESNext", "DOM"],
|
|
"types": ["bun"],
|
|
"strict": true,
|
|
"noEmit": true,
|
|
"allowImportingTsExtensions": true,
|
|
"verbatimModuleSyntax": true,
|
|
"skipLibCheck": true,
|
|
"resolveJsonModule": true,
|
|
"esModuleInterop": true,
|
|
"isolatedModules": true,
|
|
"forceConsistentCasingInFileNames": true,
|
|
"noUncheckedIndexedAccess": true,
|
|
"noUnusedLocals": true,
|
|
"noUnusedParameters": true,
|
|
"noFallthroughCasesInSwitch": true,
|
|
"jsx": "react-jsx",
|
|
"jsxImportSource": "@opentui/react",
|
|
"paths": {
|
|
"@zesdex/domain": ["./src/shared/domain/index.ts"],
|
|
"@zesdex/shared": ["./src/shared/index.ts"],
|
|
"@zesdex/agent": ["./src/features/agent/index.ts"],
|
|
"@zesdex/agent-infra": ["./src/features/agent/infrastructure/index.ts"],
|
|
"@zesdex/cms": ["./src/features/cms/index.ts"],
|
|
"@zesdex/subagent": ["./src/features/subagent/index.ts"],
|
|
"@zesdex/workflow": ["./src/features/workflow/index.ts"],
|
|
"@zesdex/tui": ["./src/interfaces/tui/index.ts"]
|
|
}
|
|
},
|
|
"include": ["src"]
|
|
}
|