/// import Events from './apis/Events'; import BreakpointService, { IBreakpointService } from './BreakpointService'; import { NerdVisionApiKey, NerdVisionConfig } from './models/NerdVisionConfig'; import AgentRegistration from './apis/AgentRegistration'; import { Debug } from './apis/Debug'; import Configuration from './models/Configuration'; import FileLoader from './utils/FileLoader'; import { ClientConfig, IDecorator } from "./models/ClientConfig"; import SourceMapperService from "./apis/SourceMapperService"; export declare class NerdVisionAgent { private _events; private _breakpointService; private _debug; private _clientReg; private _fileLoader; private _config; private _clientConfig; private _sourceMapper; private grpc; constructor(_events: Events, _breakpointService: BreakpointService, _debug: Debug, _clientReg: AgentRegistration, _fileLoader: FileLoader, _config: Configuration, _clientConfig: ClientConfig, _sourceMapper: SourceMapperService); /** * Check the node version is correct and throw error if incorrect * * @param versions the node version to check */ static checkVersion(versions: NodeJS.ProcessVersions): void; get breakpointService(): IBreakpointService; /** * Start up the NerdVision agent * * @param config NerdVisionApiKey | NerdVisionConfig - The configuration for the agent. You can pass through an API key, or a full configuration object * @param isServerless set this as a serverless start */ start(config?: NerdVisionApiKey | NerdVisionConfig, isServerless?: boolean): Promise; /** * Start up the nerd.vision agent * * @param config NerdVisionApiKey | NerdVisionConfig - The configuration for the agent. You can pass through an API key, or a full configuration object * @deprecated use start(NerdVisionApiKey | NerdVisionConfig) */ init(config?: NerdVisionApiKey | NerdVisionConfig): Promise; /** * Start up the nerd.vision agent in serverless mode * * @param config NerdVisionApiKey | NerdVisionConfig - The configuration for the agent. You can pass through an API key, or a full configuration object * @deprecated use startServerless(NerdVisionApiKey | NerdVisionConfig) */ initLambda(config?: NerdVisionApiKey | NerdVisionConfig): Promise; /** * Start up the nerd.vision agent in serverless mode * * @param config NerdVisionApiKey | NerdVisionConfig - The configuration for the agent. You can pass through an API key, or a full configuration object */ startServerless(config?: NerdVisionApiKey | NerdVisionConfig): Promise; /** * Ensure the node agent starts and stops cleanly by wrapping the given function * * @param config NerdVisionApiKey | NerdVisionConfig - The configuration for the agent. You can pass through an API key, or a full configuration object * @param wrapped The function that should be wrapped * * @deprecated use wrapFunc */ wrap(wrapped: () => any, config?: NerdVisionApiKey | NerdVisionConfig): Promise; /** * Ensure the node agent starts and stops cleanly by wrapping the given function * NerdVision will start in serverless mode * * @param config NerdVisionApiKey | NerdVisionConfig - The configuration for the agent. You can pass through an API key, or a full configuration object * @param wrapped The function that should be wrapped * * @deprecated use wrapFunc */ wrapLambda(wrapped: () => any, config?: NerdVisionApiKey | NerdVisionConfig): Promise; /** * Wrap an arbitrary function with NerdVision. NerdVision will first initialise then call the function provided, and then * report the error to NerdVision for processing. After the function is called NerdVision will flush and shutdown. * * @param func the function to wrap * @param config the config for the NerdVision agent * * @return the wrapped function to call inplace of the original * @throws the exception caused by the original function, if one is thrown */ wrapFunc Promise | any>(func: FUNC, config?: NerdVisionApiKey | NerdVisionConfig): FUNC; /** * Close the connection to NerdVision */ close(): Promise; /** * Capture an exception and send it to NerdVision as a trigger for auto tracepoints * * @param e the error */ captureException(e: Error | string): Promise; /** * Perform the actual agent startup */ private startup; /** * Add a decorator to add meta data to data being sent to cloud * * @param decorator the decorator * @return the decorator id */ addDecorator(decorator: IDecorator): string; /** * Remove the decorator with the give id * @param id the decorator id * * @return the decorator removed */ removeDecorator(id: string): IDecorator; }