|
|
@@ -53,57 +53,63 @@ import { BackgroundJob } from "@/background/job"
|
|
|
import { RuntimeFlags } from "@/effect/runtime-flags"
|
|
|
import { EventV2Bridge } from "@/event-v2-bridge"
|
|
|
import { LayerNode } from "@opencode-ai/core/effect/layer-node"
|
|
|
+import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder"
|
|
|
+import { SessionProjector } from "@opencode-ai/core/session/projector"
|
|
|
|
|
|
-export const AppLayer = Layer.mergeAll(
|
|
|
- Npm.defaultLayer,
|
|
|
- FSUtil.defaultLayer,
|
|
|
- Database.defaultLayer,
|
|
|
- Auth.defaultLayer,
|
|
|
- Account.defaultLayer,
|
|
|
- Config.defaultLayer,
|
|
|
- Git.defaultLayer,
|
|
|
- Storage.defaultLayer,
|
|
|
- Snapshot.defaultLayer,
|
|
|
- Plugin.defaultLayer,
|
|
|
- ModelsDev.defaultLayer,
|
|
|
- Provider.defaultLayer,
|
|
|
- ProviderAuth.defaultLayer,
|
|
|
- Agent.defaultLayer,
|
|
|
- Skill.defaultLayer,
|
|
|
- Discovery.defaultLayer,
|
|
|
- Question.defaultLayer,
|
|
|
- Permission.defaultLayer,
|
|
|
- Todo.defaultLayer,
|
|
|
- Session.defaultLayer,
|
|
|
- SessionStatus.defaultLayer,
|
|
|
- BackgroundJob.defaultLayer,
|
|
|
- RuntimeFlags.defaultLayer,
|
|
|
- EventV2Bridge.defaultLayer,
|
|
|
- SessionRunState.defaultLayer,
|
|
|
- SessionProcessor.defaultLayer,
|
|
|
- SessionCompaction.defaultLayer,
|
|
|
- SessionRevert.defaultLayer,
|
|
|
- SessionSummary.defaultLayer,
|
|
|
- SessionPrompt.defaultLayer,
|
|
|
- Instruction.defaultLayer,
|
|
|
- LLM.defaultLayer,
|
|
|
- LSP.defaultLayer,
|
|
|
- MCP.defaultLayer,
|
|
|
- McpAuth.defaultLayer,
|
|
|
- Command.defaultLayer,
|
|
|
- Truncate.defaultLayer,
|
|
|
- ToolRegistry.defaultLayer,
|
|
|
- Format.defaultLayer,
|
|
|
- Project.defaultLayer,
|
|
|
- Vcs.defaultLayer,
|
|
|
- Workspace.defaultLayer,
|
|
|
- Worktree.appLayer,
|
|
|
- Installation.defaultLayer,
|
|
|
- ShareNext.defaultLayer,
|
|
|
- SessionShare.defaultLayer,
|
|
|
+export const AppLayer = AppNodeBuilder.build(
|
|
|
+ LayerNode.group([
|
|
|
+ Npm.node,
|
|
|
+ FSUtil.node,
|
|
|
+ Database.node,
|
|
|
+ Auth.node,
|
|
|
+ Account.node,
|
|
|
+ Config.node,
|
|
|
+ Git.node,
|
|
|
+ Storage.node,
|
|
|
+ Snapshot.node,
|
|
|
+ Plugin.node,
|
|
|
+ ModelsDev.node,
|
|
|
+ Provider.node,
|
|
|
+ ProviderAuth.node,
|
|
|
+ Agent.node,
|
|
|
+ Skill.node,
|
|
|
+ Discovery.node,
|
|
|
+ Question.node,
|
|
|
+ Permission.node,
|
|
|
+ Todo.node,
|
|
|
+ Session.node,
|
|
|
+ SessionProjector.node,
|
|
|
+ SessionStatus.node,
|
|
|
+ BackgroundJob.node,
|
|
|
+ RuntimeFlags.node,
|
|
|
+ EventV2Bridge.node,
|
|
|
+ SessionRunState.node,
|
|
|
+ SessionProcessor.node,
|
|
|
+ SessionCompaction.node,
|
|
|
+ SessionRevert.node,
|
|
|
+ SessionSummary.node,
|
|
|
+ SessionPrompt.node,
|
|
|
+ Instruction.node,
|
|
|
+ LLM.node,
|
|
|
+ LSP.node,
|
|
|
+ MCP.node,
|
|
|
+ McpAuth.node,
|
|
|
+ Command.node,
|
|
|
+ Truncate.node,
|
|
|
+ ToolRegistry.node,
|
|
|
+ Format.node,
|
|
|
+ InstanceStore.node,
|
|
|
+ Project.node,
|
|
|
+ Vcs.node,
|
|
|
+ Workspace.node,
|
|
|
+ Worktree.node,
|
|
|
+ Installation.node,
|
|
|
+ ShareNext.node,
|
|
|
+ SessionShare.node,
|
|
|
+ ]),
|
|
|
+ [[InstanceStore.bootstrapNode, InstanceBootstrap.node]],
|
|
|
).pipe(
|
|
|
- Layer.provideMerge(Ripgrep.defaultLayer),
|
|
|
- Layer.provideMerge(LayerNode.compile(InstanceStore.node, [[InstanceStore.bootstrapNode, InstanceBootstrap.node]])),
|
|
|
+ Layer.provideMerge(AppNodeBuilder.build(Ripgrep.node)),
|
|
|
Layer.provideMerge(Observability.layer),
|
|
|
)
|
|
|
|