data.tsx 778 B

1234567891011121314151617181920212223242526272829
  1. import type { Message, Session, Part, FileDiff, SessionStatus } from "@opencode-ai/sdk/v2"
  2. import { createSimpleContext } from "./helper"
  3. import { PreloadMultiFileDiffResult } from "@pierre/precision-diffs/ssr"
  4. type Data = {
  5. session: Session[]
  6. session_status: {
  7. [sessionID: string]: SessionStatus
  8. }
  9. session_diff: {
  10. [sessionID: string]: FileDiff[]
  11. }
  12. session_diff_preload?: {
  13. [sessionID: string]: PreloadMultiFileDiffResult<any>[]
  14. }
  15. message: {
  16. [sessionID: string]: Message[]
  17. }
  18. part: {
  19. [messageID: string]: Part[]
  20. }
  21. }
  22. export const { use: useData, provider: DataProvider } = createSimpleContext({
  23. name: "Data",
  24. init: (props: { data: Data; directory: string }) => {
  25. return { store: props.data, directory: props.directory }
  26. },
  27. })