diff --git a/packages/core/src/installation/index.ts b/packages/core/src/installation/index.ts index e1d299a2..e7f26256 100644 --- a/packages/core/src/installation/index.ts +++ b/packages/core/src/installation/index.ts @@ -1,6 +1,6 @@ +import z from "zod"; import path from "path"; import { $ } from "bun"; -import z from "zod"; import { Bus } from "../bus/index.js"; import { Log } from "../utils/log.js"; import { NamedError } from "../utils/error.js"; diff --git a/packages/core/src/session/index.ts b/packages/core/src/session/index.ts index 43ec3a33..5239c27c 100644 --- a/packages/core/src/session/index.ts +++ b/packages/core/src/session/index.ts @@ -98,9 +98,9 @@ export namespace Session { id: input.id, // room: input.room || undefined, machine: input.machine, - relayUrl: input.relayUrl, retry: input.retry || undefined, queue: input.queue || undefined, + relayUrl: input.relayUrl || undefined, description: input.description || undefined, maxDuration: input.maxDuration || undefined, resolution: input.resolution || undefined, diff --git a/packages/core/src/session/session.sql.ts b/packages/core/src/session/session.sql.ts index be2c7ac6..0f513b12 100644 --- a/packages/core/src/session/session.sql.ts +++ b/packages/core/src/session/session.sql.ts @@ -38,7 +38,7 @@ export const sessionTable = pgTable("sessions", { .notNull() .default("ns3-micro"), maxDuration: integer("max_duration"), - relayUrl: varchar("relay_url", { length: 500 }).notNull(), + relayUrl: varchar("relay_url", { length: 500 }), resolution: varchar("resolution", { length: 20, }).$type(), diff --git a/packages/core/src/session/types.ts b/packages/core/src/session/types.ts index 3305fdd6..26937446 100644 --- a/packages/core/src/session/types.ts +++ b/packages/core/src/session/types.ts @@ -135,14 +135,10 @@ export const SessionInfo = z example: Examples.Session.maxDuration, }), /** Nestri relay URL for streaming and signaling */ - relayUrl: z - .url() - .optional() - .meta({ - description: "Nestri relay URL for streaming and signaling", - example: Examples.Session.relayUrl, - }) - .default("https://relay.nestri.io"), + relayUrl: z.url().optional().meta({ + description: "Nestri relay URL for streaming and signaling", + example: Examples.Session.relayUrl, + }), /** Display or stream resolution in 'WxH' format */ resolution: ScreenResolutionPresetName.optional().meta({ description: "Display or stream resolution in 'WxH' format", diff --git a/packages/core/src/utils/log.ts b/packages/core/src/utils/log.ts index 2476d222..3e76bcb4 100644 --- a/packages/core/src/utils/log.ts +++ b/packages/core/src/utils/log.ts @@ -12,7 +12,7 @@ type Tags = { export namespace Log { const ctx = Context.create<{ tags: Record; - }>(); + }>("Log"); export const Level = z .enum(["DEBUG", "INFO", "WARN", "ERROR"]) diff --git a/packages/sdk/examples/test.ts b/packages/sdk/examples/test.ts index 83b2b81a..521a0cfb 100644 --- a/packages/sdk/examples/test.ts +++ b/packages/sdk/examples/test.ts @@ -9,13 +9,12 @@ const myTestSession = session({ framerate: 60, audioBitrate: 128, gpuCardPath: "/dev/dri/renderD128", - run: async (payload) => { console.log("Running test session with payload:", payload); return { message: "Test session completed" }; }, }); -myTestSession.start().then((result) => { +myTestSession.start({}).then((result) => { console.log("Session result:", result); }); diff --git a/packages/sdk/src/index.ts b/packages/sdk/src/index.ts index 4ce5226c..22c1ebb4 100644 --- a/packages/sdk/src/index.ts +++ b/packages/sdk/src/index.ts @@ -1,10 +1,15 @@ import { Session } from "@nestri/core/session/index"; +type StartOptions = { + memberID: string; + userID: string; +}; + // Simple session creation function using our clean Session types export function createSession(config: Session.Config): Session.Session { const session: Session.Session = { description: config.description, - start: async (payload: any) => { + start: async (payload: any, options: StartOptions) => { console.log( `Starting session ${config.description} with payload:`, payload,