UNPKG

@openai/agents-core

Version:

The OpenAI Agents SDK is a lightweight yet powerful framework for building multi-agent workflows.

84 lines • 2.48 kB
export { isBrowserEnvironment, loadEnv } from "./config-browser.mjs"; export { AsyncLocalStorage, MCPServerSSE, MCPServerStdio, MCPServerStreamableHttp, Readable, ReadableStream, ReadableStreamController, TransformStream, isTracingLoopRunningByDefault, randomUUID, supportsProcessLifecycleEvents, } from "./shims-browser.mjs"; /** * An event emitter that does not depend on DOM EventTarget or CustomEvent globals. */ export class ReactNativeEventEmitter { #listeners = new Map(); on(type, listener) { const listeners = this.#listeners.get(type) ?? []; listeners.push(listener); this.#listeners.set(type, listeners); return this; } off(type, listener) { const listeners = this.#listeners.get(type); if (!listeners) { return this; } const remaining = listeners.filter((candidate) => candidate !== listener); if (remaining.length > 0) { this.#listeners.set(type, remaining); } else { this.#listeners.delete(type); } return this; } emit(type, ...args) { const listeners = [...(this.#listeners.get(type) ?? [])]; for (const listener of listeners) { listener(...args); } return true; } once(type, listener) { const handler = (...args) => { this.off(type, handler); listener(...args); }; return this.on(type, handler); } } export { ReactNativeEventEmitter as RuntimeEventEmitter }; class ReactNativeTimer { setTimeout(callback, ms) { return new ReactNativeTimeout(callback, ms); } clearTimeout(timeoutId) { if (timeoutId instanceof ReactNativeTimeout) { timeoutId.clear(); return; } globalThis.clearTimeout(timeoutId); } } class ReactNativeTimeout { callback; ms; #id; constructor(callback, ms) { this.callback = callback; this.ms = ms; this.#id = setTimeout(callback, ms); } ref() { return this; } unref() { return this; } hasRef() { return true; } refresh() { globalThis.clearTimeout(this.#id); this.#id = setTimeout(this.callback, this.ms); return this; } clear() { globalThis.clearTimeout(this.#id); } } export const timer = new ReactNativeTimer(); //# sourceMappingURL=shims-react-native.mjs.map