feat(schema): publish package

This commit is contained in:
Dax Raad 2026-07-01 13:33:59 -04:00
commit 5e47501b8b
77 changed files with 413 additions and 325 deletions

View file

@ -1,5 +1,5 @@
import { describe, expect, test } from "bun:test"
import { FileSystem } from "../src/filesystem"
import { FileSystem } from "../src/filesystem.js"
describe("schema compatibility", () => {
test("moved class schemas remain constructible", () => {

View file

@ -1,14 +1,14 @@
import { describe, expect, test } from "bun:test"
import { Schema } from "effect"
import { Agent } from "../src/agent"
import { FileSystem } from "../src/filesystem"
import { Model } from "../src/model"
import { Project } from "../src/project"
import { Pty } from "../src/pty"
import { Question } from "../src/question"
import { Session } from "../src/session"
import { SessionTodo } from "../src/session-todo"
import { optional } from "../src/schema"
import { Agent } from "../src/agent.js"
import { FileSystem } from "../src/filesystem.js"
import { Model } from "../src/model.js"
import { Project } from "../src/project.js"
import { Pty } from "../src/pty.js"
import { Question } from "../src/question.js"
import { Session } from "../src/session.js"
import { SessionTodo } from "../src/session-todo.js"
import { optional } from "../src/schema.js"
describe("contract hygiene", () => {
test("optional properties preserve transformations and omit undefined while encoding", () => {

View file

@ -1,11 +1,11 @@
import { describe, expect, test } from "bun:test"
import { Agent, FileSystem, Integration, Permission, Project, Reference, Session, Workspace } from "../src"
import { EventManifest } from "../src/event-manifest"
import { IdeEvent } from "../src/ide-event"
import { SessionEvent } from "../src/session-event"
import { SessionTodo } from "../src/session-todo"
import { SessionV1 } from "../src/session-v1"
import { WorkspaceEvent } from "../src/workspace-event"
import { Agent, FileSystem, Integration, Permission, Project, Reference, Session, Workspace } from "../src/index.js"
import { EventManifest } from "../src/event-manifest.js"
import { IdeEvent } from "../src/ide-event.js"
import { SessionEvent } from "../src/session-event.js"
import { SessionTodo } from "../src/session-todo.js"
import { SessionV1 } from "../src/session-v1.js"
import { WorkspaceEvent } from "../src/workspace-event.js"
describe("public event manifest", () => {
test("owns the complete public event surface", () => {

View file

@ -1,6 +1,6 @@
import { describe, expect, test } from "bun:test"
import { Schema } from "effect"
import { Event } from "../src/event"
import { Event } from "../src/event.js"
describe("public event schemas", () => {
test("definition is pure", () => {

View file

@ -1,9 +1,9 @@
import { describe, expect, test } from "bun:test"
import { LegacyEvent } from "../src/legacy-event"
import { PermissionV1 } from "../src/permission-v1"
import { QuestionV1 } from "../src/question-v1"
import { Project } from "../src/project"
import { SessionV1 } from "../src/session-v1"
import { LegacyEvent } from "../src/legacy-event.js"
import { PermissionV1 } from "../src/permission-v1.js"
import { QuestionV1 } from "../src/question-v1.js"
import { Project } from "../src/project.js"
import { SessionV1 } from "../src/session-v1.js"
describe("legacy public event schemas", () => {
test("owns all SessionV1 definitions", () => {

View file

@ -1,12 +1,12 @@
import { expect, test } from "bun:test"
import { LegacyEvent } from "../src/legacy-event"
import { PermissionV1 } from "../src/permission-v1"
import { QuestionV1 } from "../src/question-v1"
import { SessionV1 } from "../src/session-v1"
import { LegacyEvent as IsolatedLegacyEvent } from "../src/v1/legacy-event"
import { PermissionV1 as IsolatedPermissionV1 } from "../src/v1/permission"
import { QuestionV1 as IsolatedQuestionV1 } from "../src/v1/question"
import { SessionV1 as IsolatedSessionV1 } from "../src/v1/session"
import { LegacyEvent } from "../src/legacy-event.js"
import { PermissionV1 } from "../src/permission-v1.js"
import { QuestionV1 } from "../src/question-v1.js"
import { SessionV1 } from "../src/session-v1.js"
import { LegacyEvent as IsolatedLegacyEvent } from "../src/v1/legacy-event.js"
import { PermissionV1 as IsolatedPermissionV1 } from "../src/v1/permission.js"
import { QuestionV1 as IsolatedQuestionV1 } from "../src/v1/question.js"
import { SessionV1 as IsolatedSessionV1 } from "../src/v1/session.js"
test("compatibility entrypoints preserve isolated V1 schema identity", () => {
expect(LegacyEvent).toBe(IsolatedLegacyEvent)