@cortexkit/opencode-openai-auth 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ export declare function log(message: string, data?: unknown): void;
@@ -0,0 +1,33 @@
1
+ type Listener = (event: unknown) => void;
2
+ export declare class RawWebSocket {
3
+ url: string;
4
+ readyState: number;
5
+ private socket;
6
+ private readonly sessionID;
7
+ private listeners;
8
+ private rxBuffer;
9
+ private handshakeDone;
10
+ private expectedAccept;
11
+ private fragOpcode;
12
+ private fragChunks;
13
+ private writeQueue;
14
+ constructor(url: string, headers: Record<string, string>, options?: {
15
+ sessionID?: string;
16
+ });
17
+ addEventListener(type: string, fn: Listener, _opts?: {
18
+ once?: boolean;
19
+ }): void;
20
+ removeEventListener(type: string, fn: Listener): void;
21
+ private emit;
22
+ private connect;
23
+ private onData;
24
+ private drainFrames;
25
+ private handleFrame;
26
+ send(data: string): void;
27
+ private writeFrame;
28
+ private enqueueWrite;
29
+ private flushWrites;
30
+ close(): void;
31
+ private log;
32
+ }
33
+ export {};
@@ -0,0 +1,30 @@
1
+ type Listener = (event: unknown) => void;
2
+ export declare class RawWebSocket {
3
+ url: string;
4
+ readyState: number;
5
+ private socket;
6
+ private readonly sessionID;
7
+ private listeners;
8
+ private rxBuffer;
9
+ private handshakeDone;
10
+ private expectedAccept;
11
+ private fragOpcode;
12
+ private fragChunks;
13
+ constructor(url: string, headers: Record<string, string>, options?: {
14
+ sessionID?: string;
15
+ });
16
+ addEventListener(type: string, fn: Listener, _opts?: {
17
+ once?: boolean;
18
+ }): void;
19
+ removeEventListener(type: string, fn: Listener): void;
20
+ private emit;
21
+ private connect;
22
+ private onData;
23
+ private drainFrames;
24
+ private handleFrame;
25
+ send(data: string): void;
26
+ private writeFrame;
27
+ close(): void;
28
+ private log;
29
+ }
30
+ export {};
@@ -0,0 +1,3 @@
1
+ import { RawWebSocket as BunRawWebSocket } from './raw-ws-bun';
2
+ import { RawWebSocket as NodeRawWebSocket } from './raw-ws-node';
3
+ export declare const RawWebSocket: typeof BunRawWebSocket | typeof NodeRawWebSocket;
@@ -0,0 +1,3 @@
1
+ export declare class ResponseStreamError extends Error {
2
+ readonly name = "ProviderResponseStreamError";
3
+ }
@@ -0,0 +1 @@
1
+ import{b as a}from"./index-xqe8xm96.js";import"./index-6z8w05g9.js";export default a();
@@ -0,0 +1 @@
1
+ import{a as U,b as V}from"./index-xqe8xm96.js";import{c as R}from"./index-6z8w05g9.js";var E=R((M,Q)=>{var{defineProperty:K,getOwnPropertyDescriptor:W,getOwnPropertyNames:X}=Object,Y=Object.prototype.hasOwnProperty,Z=(q,v)=>{for(var z in v)K(q,z,{get:v[z],enumerable:!0})},$=(q,v,z,F)=>{if(v&&typeof v==="object"||typeof v==="function"){for(let G of X(v))if(!Y.call(q,G)&&G!==z)K(q,G,{get:()=>v[G],enumerable:!(F=W(v,G))||F.enumerable})}return q},A=(q)=>$(K({},"__esModule",{value:!0}),q),L={};Z(L,{refreshToken:()=>D});Q.exports=A(L);var H=U(),B=V();async function D(){let{projectId:q,teamId:v}=(0,B.findProjectInfo)(),z=(0,B.loadToken)(q);if(!z||(0,B.isExpired)((0,B.getTokenPayload)(z.token))){let F=await(0,B.getVercelCliToken)();if(!F)throw new H.VercelOidcTokenError("Failed to refresh OIDC token: Log in to Vercel CLI and link your project with `vc link`");if(!q)throw new H.VercelOidcTokenError("Failed to refresh OIDC token: Try re-linking your project with `vc link`");if(z=await(0,B.getVercelOidcToken)(F,q,v),!z)throw new H.VercelOidcTokenError("Failed to refresh OIDC token");(0,B.saveToken)(z,q)}process.env.VERCEL_OIDC_TOKEN=z.token;return}});export default E();
@@ -0,0 +1 @@
1
+ export declare function errorMessage(error: unknown): string;
@@ -0,0 +1,4 @@
1
+ export declare function getProxyForUrl(url: string): string | undefined;
2
+ export declare const ProxyEnv: {
3
+ getProxyForUrl: typeof getProxyForUrl;
4
+ };
@@ -0,0 +1 @@
1
+ export declare function isRecord(input: unknown): input is Record<string, unknown>;
@@ -0,0 +1 @@
1
+ export declare function stableStringify(value: unknown): string;
@@ -0,0 +1 @@
1
+ export declare function uuidV7(): string;
@@ -0,0 +1 @@
1
+ export declare const PackageVersion = "0.1.0";
@@ -0,0 +1,38 @@
1
+ export declare const TITLE_HEADER = "x-opencode-title";
2
+ export interface CreateWebSocketFetchOptions {
3
+ httpFetch?: typeof globalThis.fetch;
4
+ url?: string;
5
+ connectTimeout?: number;
6
+ idleTimeout?: number;
7
+ maxConnectionAge?: number;
8
+ streamRetries?: number;
9
+ /** Milliseconds to wait for an immediate provider-side WS error before returning response headers. */
10
+ firstEventGraceMs?: number;
11
+ /** Use the hand-rolled raw TCP/TLS WebSocket client instead of native WebSocket. */
12
+ rawWebSocket?: boolean;
13
+ }
14
+ interface PoolEntry {
15
+ socket?: WebSocket;
16
+ connectedAt?: number;
17
+ lastUsedAt: number;
18
+ busy: boolean;
19
+ fallback: boolean;
20
+ streamFailures: number;
21
+ continuation?: ContinuationState;
22
+ turnID?: string;
23
+ turnStartedAt?: number;
24
+ }
25
+ interface ContinuationState {
26
+ responseID: string;
27
+ input: unknown[];
28
+ signature: string;
29
+ }
30
+ export declare function createWebSocketFetch(options?: CreateWebSocketFetchOptions): ((input: RequestInfo | URL, init?: RequestInit) => Promise<Response>) & {
31
+ close: () => void;
32
+ remove: (sessionID: string) => void;
33
+ };
34
+ export declare function applyTurnId(entry: PoolEntry, body: Record<string, unknown>): Record<string, unknown>;
35
+ export declare function withoutInternalHeaders<T extends {
36
+ headers?: HeadersInit;
37
+ }>(init: T | undefined): T | undefined;
38
+ export * as OpenAIWebSocketPool from './ws-pool';
package/dist/ws.d.ts ADDED
@@ -0,0 +1,34 @@
1
+ import { ResponseStreamError } from './response-stream-error';
2
+ export declare const PROTOCOL_HEADER = "responses_websockets=2026-02-06";
3
+ export interface ConnectResponsesWebSocketOptions {
4
+ url: string;
5
+ headers: Record<string, string>;
6
+ timeout?: number;
7
+ /** Use the hand-rolled raw TCP/TLS WebSocket client instead of native WebSocket. */
8
+ rawWebSocket?: boolean;
9
+ signal?: AbortSignal;
10
+ }
11
+ export interface StreamResponsesWebSocketOptions {
12
+ socket: WebSocket;
13
+ body: Record<string, unknown>;
14
+ sessionID?: string;
15
+ idleTimeout?: number;
16
+ signal?: AbortSignal;
17
+ onFirstEvent?: (error?: WrappedError) => void;
18
+ onComplete?: (event: Record<string, unknown>) => void;
19
+ onTerminal?: (event: Record<string, unknown>) => void;
20
+ onRetryableTerminal?: (event: Record<string, unknown>) => Promise<WebSocket | undefined>;
21
+ onConnectionInvalid?: (error: ResponseStreamError) => void;
22
+ onAbort?: (error: Error) => void;
23
+ }
24
+ export interface WrappedError {
25
+ status: number;
26
+ headers?: Record<string, string>;
27
+ body: string;
28
+ }
29
+ export declare function toWebSocketUrl(url: string): string;
30
+ export declare function normalizeHeaders(headers: HeadersInit | undefined): Record<string, string>;
31
+ export declare function isAbortError(error: unknown): error is DOMException;
32
+ export declare function connectResponsesWebSocket(options: ConnectResponsesWebSocketOptions): Promise<WebSocket>;
33
+ export declare function streamResponsesWebSocket(options: StreamResponsesWebSocketOptions): Response;
34
+ export * as OpenAIWebSocket from './ws';
package/package.json ADDED
@@ -0,0 +1,44 @@
1
+ {
2
+ "name": "@cortexkit/opencode-openai-auth",
3
+ "version": "0.1.0",
4
+ "license": "MIT",
5
+ "type": "module",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/cortexkit/openai-auth.git",
9
+ "directory": "packages/opencode"
10
+ },
11
+ "main": "./dist/index.js",
12
+ "types": "./dist/index.d.ts",
13
+ "exports": {
14
+ ".": {
15
+ "import": "./dist/index.js",
16
+ "types": "./dist/index.d.ts"
17
+ }
18
+ },
19
+ "oc-plugin": [
20
+ "server"
21
+ ],
22
+ "engines": {
23
+ "bun": "1.3.14"
24
+ },
25
+ "files": [
26
+ "dist",
27
+ "README.md",
28
+ "LICENSE"
29
+ ],
30
+ "scripts": {
31
+ "build": "rm -rf dist && bun build src/index.ts --outdir dist --target node --format esm --splitting --external @opencode-ai/plugin --minify && tsc -p tsconfig.build.json --emitDeclarationOnly",
32
+ "build:dev": "rm -rf dist && tsc -p tsconfig.build.json",
33
+ "test": "bun test src/tests",
34
+ "typecheck": "tsc",
35
+ "types": "tsc",
36
+ "prepublishOnly": "bun run build"
37
+ },
38
+ "peerDependencies": {
39
+ "@opencode-ai/plugin": "*"
40
+ },
41
+ "dependencies": {
42
+ "ai": "^5.0.88"
43
+ }
44
+ }