workspace.ts 1.3 KB

12345678910111213141516171819202122232425262728293031323334
  1. import { AppNodeBuilder } from "@kirincode-ai/core/effect/app-node-builder"
  2. import { LayerNode } from "@kirincode-ai/core/effect/layer-node"
  3. import { Database } from "@kirincode-ai/core/database/database"
  4. import { FSUtil } from "@kirincode-ai/core/fs-util"
  5. import { Auth } from "../../src/auth"
  6. import { Workspace } from "../../src/control-plane/workspace"
  7. import { RuntimeFlags } from "../../src/effect/runtime-flags"
  8. import { InstanceBootstrap } from "../../src/project/bootstrap"
  9. import { InstanceStore } from "../../src/project/instance-store"
  10. import { Project } from "../../src/project/project"
  11. import { Vcs } from "../../src/project/vcs"
  12. import { Session } from "../../src/session/session"
  13. import { SessionPrompt } from "../../src/session/prompt"
  14. import { EventV2Bridge } from "../../src/event-v2-bridge"
  15. export const workspaceLayerWithRuntimeFlags = (overrides: Partial<RuntimeFlags.Info>) =>
  16. AppNodeBuilder.build(
  17. LayerNode.group([
  18. Workspace.node,
  19. Auth.node,
  20. Session.node,
  21. SessionPrompt.node,
  22. Project.node,
  23. Vcs.node,
  24. Database.node,
  25. EventV2Bridge.node,
  26. FSUtil.node,
  27. InstanceStore.node,
  28. ]),
  29. [
  30. [InstanceStore.bootstrapNode, InstanceBootstrap.node],
  31. [RuntimeFlags.node, RuntimeFlags.layer(overrides)],
  32. ],
  33. )