feat(core): initial implementation of syncing (#17814)

This commit is contained in:
James Long
2026-03-25 10:47:40 -04:00
committed by GitHub
parent 0c0c6f3bdb
commit b0017bf1b9
32 changed files with 4403 additions and 1760 deletions

View File

@@ -10,8 +10,8 @@ import { MessageID, PartID } from "../../src/session/schema"
const projectRoot = path.join(__dirname, "../..")
Log.init({ print: false })
describe("session.started event", () => {
test("should emit session.started event when session is created", async () => {
describe("session.created event", () => {
test("should emit session.created event when session is created", async () => {
await Instance.provide({
directory: projectRoot,
fn: async () => {
@@ -41,14 +41,14 @@ describe("session.started event", () => {
})
})
test("session.started event should be emitted before session.updated", async () => {
test("session.created event should be emitted before session.updated", async () => {
await Instance.provide({
directory: projectRoot,
fn: async () => {
const events: string[] = []
const unsubStarted = Bus.subscribe(Session.Event.Created, () => {
events.push("started")
const unsubCreated = Bus.subscribe(Session.Event.Created, () => {
events.push("created")
})
const unsubUpdated = Bus.subscribe(Session.Event.Updated, () => {
@@ -59,12 +59,12 @@ describe("session.started event", () => {
await new Promise((resolve) => setTimeout(resolve, 100))
unsubStarted()
unsubCreated()
unsubUpdated()
expect(events).toContain("started")
expect(events).toContain("created")
expect(events).toContain("updated")
expect(events.indexOf("started")).toBeLessThan(events.indexOf("updated"))
expect(events.indexOf("created")).toBeLessThan(events.indexOf("updated"))
await Session.remove(session.id)
},