@posthog/agent
Version:
TypeScript agent framework wrapping Claude Agent SDK with Git-based task execution for PostHog
48 lines • 1.84 kB
TypeScript
import type { Readable, Writable } from "node:stream";
import { ReadableStream, WritableStream } from "node:stream/web";
import type { Logger } from "@/utils/logger.js";
export declare class Pushable<T> implements AsyncIterable<T> {
private queue;
private resolvers;
private done;
push(item: T): void;
end(): void;
[Symbol.asyncIterator](): AsyncIterator<T>;
}
export declare function nodeToWebWritable(nodeStream: Writable): WritableStream<Uint8Array>;
export declare function nodeToWebReadable(nodeStream: Readable): ReadableStream<Uint8Array>;
export declare function unreachable(value: never, logger: Logger): void;
export declare function sleep(time: number): Promise<void>;
interface ManagedSettings {
permissions?: {
allow?: string[];
deny?: string[];
};
env?: Record<string, string>;
}
export declare function loadManagedSettings(): ManagedSettings | null;
export declare function applyEnvironmentSettings(settings: ManagedSettings): void;
export type StreamPair = {
readable: globalThis.ReadableStream<Uint8Array>;
writable: globalThis.WritableStream<Uint8Array>;
};
export type BidirectionalStreamPair = {
client: StreamPair;
agent: StreamPair;
};
export declare function createBidirectionalStreams(): BidirectionalStreamPair;
export interface ExtractLinesResult {
content: string;
wasLimited: boolean;
linesRead: number;
}
/**
* Extracts lines from file content with byte limit enforcement.
*
* @param fullContent - The complete file content
* @param maxContentLength - Maximum number of UTF-16 Code Units to return
* @returns Object containing extracted content and metadata
*/
export declare function extractLinesWithByteLimit(fullContent: string, maxContentLength: number): ExtractLinesResult;
export {};
//# sourceMappingURL=utils.d.ts.map