@invezgo/sdk 1.0.1 → 1.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.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/client.ts","../src/endpoints/analysis.ts","../src/endpoints/watchlists.ts","../src/endpoints/journals.ts","../src/endpoints/portfolios.ts","../src/endpoints/ai.ts","../src/endpoints/search.ts","../src/endpoints/profile.ts","../src/endpoints/membership.ts","../src/endpoints/posts.ts","../src/endpoints/trades.ts","../src/endpoints/screener.ts","../src/endpoints/health.ts","../src/invezgo.ts","../src/index.ts"],"sourcesContent":["import type { InvezgoConfig, RequestOptions } from './types';\n\nexport class InvezgoError extends Error {\n constructor(\n public statusCode: number,\n public message: string,\n public error?: string,\n public response?: any\n ) {\n super(message);\n this.name = 'InvezgoError';\n Object.setPrototypeOf(this, InvezgoError.prototype);\n }\n}\n\nexport class HttpClient {\n public baseURL: string;\n public apiKey: string;\n private timeout: number;\n\n constructor(config: InvezgoConfig) {\n // Ensure baseURL doesn't have trailing slash since paths start with /\n const baseURL = config.baseURL || 'https://api.invezgo.com';\n this.baseURL = baseURL.endsWith('/') ? baseURL.slice(0, -1) : baseURL;\n this.apiKey = config.apiKey;\n this.timeout = config.timeout || 30000;\n\n if (!this.apiKey) {\n throw new Error('API Key is required');\n }\n }\n\n private async request<T>(\n method: string,\n path: string,\n options: RequestOptions = {}\n ): Promise<T> {\n const url = `${this.baseURL}${path}`;\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), options.timeout || this.timeout);\n\n try {\n const headers: Record<string, string> = {\n 'Authorization': `Bearer ${this.apiKey}`,\n 'Content-Type': 'application/json',\n ...options.headers,\n };\n\n const response = await fetch(url, {\n method,\n headers,\n signal: controller.signal,\n });\n\n clearTimeout(timeoutId);\n\n // Handle 204 No Content\n if (response.status === 204) {\n return [] as any;\n }\n\n const data = await response.json().catch(() => ({})) as any;\n\n // Handle error responses\n if (!response.ok) {\n throw new InvezgoError(\n response.status,\n (data?.message as string) || response.statusText,\n data?.error as string | undefined,\n data\n );\n }\n\n return data as T;\n } catch (error: any) {\n clearTimeout(timeoutId);\n\n if (error.name === 'AbortError') {\n throw new InvezgoError(408, 'Request timeout', 'Timeout');\n }\n\n if (error instanceof InvezgoError) {\n throw error;\n }\n\n throw new InvezgoError(\n 500,\n error.message || 'Unknown error occurred',\n 'InternalError',\n error\n );\n }\n }\n\n async get<T>(path: string, params?: Record<string, any>, options?: RequestOptions): Promise<T> {\n let url = path;\n \n if (params && Object.keys(params).length > 0) {\n const searchParams = new URLSearchParams();\n Object.entries(params).forEach(([key, value]) => {\n if (value !== undefined && value !== null) {\n if (Array.isArray(value)) {\n value.forEach(v => searchParams.append(key, String(v)));\n } else {\n searchParams.append(key, String(value));\n }\n }\n });\n url = `${path}?${searchParams.toString()}`;\n }\n\n return this.request<T>('GET', url, options);\n }\n\n async post<T>(path: string, body?: any, options?: RequestOptions): Promise<T> {\n const requestOptions: RequestOptions = {\n ...options,\n headers: {\n ...options?.headers,\n },\n };\n\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), requestOptions.timeout || this.timeout);\n\n try {\n const url = `${this.baseURL}${path}`;\n const headers: Record<string, string> = {\n 'Authorization': `Bearer ${this.apiKey}`,\n 'Content-Type': 'application/json',\n ...requestOptions.headers,\n };\n\n const response = await fetch(url, {\n method: 'POST',\n headers,\n body: body ? JSON.stringify(body) : undefined,\n signal: controller.signal,\n });\n\n clearTimeout(timeoutId);\n\n if (response.status === 204) {\n return {} as any;\n }\n\n const data = await response.json().catch(() => ({})) as any;\n\n if (!response.ok) {\n throw new InvezgoError(\n response.status,\n (data?.message as string) || response.statusText,\n data?.error as string | undefined,\n data\n );\n }\n\n return data as T;\n } catch (error: any) {\n clearTimeout(timeoutId);\n\n if (error.name === 'AbortError') {\n throw new InvezgoError(408, 'Request timeout', 'Timeout');\n }\n\n if (error instanceof InvezgoError) {\n throw error;\n }\n\n throw new InvezgoError(\n 500,\n error.message || 'Unknown error occurred',\n 'InternalError',\n error\n );\n }\n }\n\n async put<T>(path: string, body?: any, options?: RequestOptions): Promise<T> {\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), options?.timeout || this.timeout);\n\n try {\n const url = `${this.baseURL}${path}`;\n const headers: Record<string, string> = {\n 'Authorization': `Bearer ${this.apiKey}`,\n 'Content-Type': 'application/json',\n ...options?.headers,\n };\n\n const response = await fetch(url, {\n method: 'PUT',\n headers,\n body: body ? JSON.stringify(body) : undefined,\n signal: controller.signal,\n });\n\n clearTimeout(timeoutId);\n\n if (response.status === 204) {\n return {} as any;\n }\n\n const data = await response.json().catch(() => ({})) as any;\n\n if (!response.ok) {\n throw new InvezgoError(\n response.status,\n (data?.message as string) || response.statusText,\n data?.error as string | undefined,\n data\n );\n }\n\n return data as T;\n } catch (error: any) {\n clearTimeout(timeoutId);\n\n if (error.name === 'AbortError') {\n throw new InvezgoError(408, 'Request timeout', 'Timeout');\n }\n\n if (error instanceof InvezgoError) {\n throw error;\n }\n\n throw new InvezgoError(\n 500,\n error.message || 'Unknown error occurred',\n 'InternalError',\n error\n );\n }\n }\n\n async patch<T>(path: string, body?: any, options?: RequestOptions): Promise<T> {\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), options?.timeout || this.timeout);\n\n try {\n const url = `${this.baseURL}${path}`;\n const headers: Record<string, string> = {\n 'Authorization': `Bearer ${this.apiKey}`,\n 'Content-Type': 'application/json',\n ...options?.headers,\n };\n\n const response = await fetch(url, {\n method: 'PATCH',\n headers,\n body: body ? JSON.stringify(body) : undefined,\n signal: controller.signal,\n });\n\n clearTimeout(timeoutId);\n\n if (response.status === 204) {\n return {} as any;\n }\n\n const data = await response.json().catch(() => ({})) as any;\n\n if (!response.ok) {\n throw new InvezgoError(\n response.status,\n (data?.message as string) || response.statusText,\n data?.error as string | undefined,\n data\n );\n }\n\n return data as T;\n } catch (error: any) {\n clearTimeout(timeoutId);\n\n if (error.name === 'AbortError') {\n throw new InvezgoError(408, 'Request timeout', 'Timeout');\n }\n\n if (error instanceof InvezgoError) {\n throw error;\n }\n\n throw new InvezgoError(\n 500,\n error.message || 'Unknown error occurred',\n 'InternalError',\n error\n );\n }\n }\n\n async delete<T>(path: string, params?: Record<string, any>, options?: RequestOptions): Promise<T> {\n let url = path;\n \n if (params && Object.keys(params).length > 0) {\n const searchParams = new URLSearchParams();\n Object.entries(params).forEach(([key, value]) => {\n if (value !== undefined && value !== null) {\n if (Array.isArray(value)) {\n value.forEach(v => searchParams.append(key, String(v)));\n } else {\n searchParams.append(key, String(value));\n }\n }\n });\n url = `${path}?${searchParams.toString()}`;\n }\n\n return this.request<T>('DELETE', url, options);\n }\n}\n\n","import { HttpClient } from '../client';\r\nimport type {\r\n Stock,\r\n Broker,\r\n CompanyInformation,\r\n TopChangeResponse,\r\n TopForeignResponse,\r\n TopAccumulationResponse,\r\n ChartResponse,\r\n IntradayChartData,\r\n OrderBookResponse,\r\n ShareholderDetail,\r\n ShareholderComposition,\r\n ShareholderKSEI,\r\n BrokerSummary,\r\n SummaryChartItem,\r\n InventoryChartResponse,\r\n MomentumChartData,\r\n PriceTableData,\r\n TimeTableData,\r\n PriceDiaryData,\r\n ShareholderAbove5,\r\n PaginatedResponse,\r\n InsiderTransaction,\r\n FinancialStatementResponse,\r\n KeyStatResponse,\r\n KeyStatValue,\r\n DateRangeParams,\r\n InvestorType,\r\n MarketType,\r\n ScopeType,\r\n ScopeShortType,\r\n StatementType,\r\n PeriodType,\r\n IndicatorType,\r\n} from '../types';\r\n\r\nexport class AnalysisEndpoints {\r\n constructor(private client: HttpClient) {}\r\n\r\n /**\r\n * Get list of all stocks listed on BEI\r\n */\r\n async getStockList(): Promise<Stock[]> {\r\n return this.client.get<Stock[]>('/analysis/list/stock');\r\n }\r\n\r\n /**\r\n * Get list of all brokers/securities on BEI\r\n */\r\n async getBrokerList(): Promise<Broker[]> {\r\n return this.client.get<Broker[]>('/analysis/list/broker');\r\n }\r\n\r\n /**\r\n * Get complete company information\r\n */\r\n async getInformation(code: string): Promise<CompanyInformation> {\r\n return this.client.get<CompanyInformation>(`/analysis/information/${code}`);\r\n }\r\n\r\n /**\r\n * Get top gainer and loser stocks for a specific date\r\n */\r\n async getTopChange(date: string): Promise<TopChangeResponse> {\r\n return this.client.get<TopChangeResponse>('/analysis/top/change', { date });\r\n }\r\n\r\n /**\r\n * Get top foreign accumulation and distribution\r\n */\r\n async getTopForeign(date: string): Promise<TopForeignResponse> {\r\n return this.client.get<TopForeignResponse>('/analysis/top/foreign', { date });\r\n }\r\n\r\n /**\r\n * Get top accumulation and distribution (bandarmologi)\r\n */\r\n async getTopAccumulation(date: string): Promise<TopAccumulationResponse> {\r\n return this.client.get<TopAccumulationResponse>('/analysis/top/accumulation', { date });\r\n }\r\n\r\n /**\r\n * Get intraday chart data\r\n */\r\n async getIntradayChart(\r\n code: string,\r\n market: MarketType = 'RG'\r\n ): Promise<IntradayChartData[]> {\r\n return this.client.get<IntradayChartData[]>(`/analysis/intraday/${code}`, { market });\r\n }\r\n\r\n /**\r\n * Get order book data\r\n */\r\n async getOrderBook(code: string, market: MarketType = 'RG'): Promise<OrderBookResponse> {\r\n return this.client.get<OrderBookResponse>(`/analysis/order-book/${code}`, { market });\r\n }\r\n\r\n /**\r\n * Get complete stock chart data\r\n */\r\n async getChart(code: string, params: DateRangeParams): Promise<ChartResponse> {\r\n return this.client.get<ChartResponse>(`/analysis/chart/stock/${code}`, params);\r\n }\r\n\r\n /**\r\n * Get stock chart with technical indicator\r\n */\r\n async getIndicatorChart(\r\n code: string,\r\n indicator: IndicatorType,\r\n params: DateRangeParams\r\n ): Promise<ChartResponse> {\r\n return this.client.get<ChartResponse>(\r\n `/analysis/chart/stock/${indicator}/${code}`,\r\n params\r\n );\r\n }\r\n\r\n /**\r\n * Get shareholder detail (ownership)\r\n */\r\n async getShareholderDetail(code: string): Promise<ShareholderDetail[]> {\r\n return this.client.get<ShareholderDetail[]>(`/analysis/shareholder-detail/${code}`);\r\n }\r\n\r\n /**\r\n * Get number of shareholders\r\n */\r\n async getShareholderNumber(code: string): Promise<ShareholderDetail[]> {\r\n return this.client.get<ShareholderDetail[]>(`/analysis/shareholder/number/${code}`);\r\n }\r\n\r\n /**\r\n * Get shareholder composition\r\n */\r\n async getShareholder(code: string): Promise<ShareholderComposition[]> {\r\n return this.client.get<ShareholderComposition[]>(`/analysis/shareholder/${code}`);\r\n }\r\n\r\n /**\r\n * Get KSEI shareholder data\r\n */\r\n async getShareholderKSEI(code: string, range: number): Promise<ShareholderKSEI[]> {\r\n return this.client.get<ShareholderKSEI[]>(`/analysis/shareholder/ksei/${code}`, {\r\n range: Math.min(range, 12),\r\n });\r\n }\r\n\r\n /**\r\n * Get broker summary for a stock\r\n */\r\n async getBrokerSummaryStock(\r\n code: string,\r\n params: DateRangeParams & {\r\n investor: InvestorType;\r\n market: MarketType;\r\n }\r\n ): Promise<BrokerSummary[]> {\r\n return this.client.get<BrokerSummary[]>(`/analysis/summary/stock/${code}`, params);\r\n }\r\n\r\n /**\r\n * Get broker summary for a broker\r\n */\r\n async getBrokerSummaryBroker(\r\n code: string,\r\n params: DateRangeParams & {\r\n investor: InvestorType;\r\n market: MarketType;\r\n }\r\n ): Promise<BrokerSummary[]> {\r\n return this.client.get<BrokerSummary[]>(`/analysis/summary/broker/${code}`, params);\r\n }\r\n\r\n /**\r\n * Get broker summary chart for a stock\r\n */\r\n async getBrokerSummaryChartStock(\r\n code: string,\r\n params: DateRangeParams & {\r\n scope: ScopeType;\r\n market: MarketType;\r\n }\r\n ): Promise<SummaryChartItem[]> {\r\n return this.client.get<SummaryChartItem[]>(\r\n `/analysis/summary-chart/stock/${code}`,\r\n params\r\n );\r\n }\r\n\r\n /**\r\n * Get broker summary chart for a broker\r\n */\r\n async getBrokerSummaryChartBroker(\r\n code: string,\r\n params: DateRangeParams & {\r\n scope: ScopeType;\r\n market: MarketType;\r\n }\r\n ): Promise<SummaryChartItem[]> {\r\n return this.client.get<SummaryChartItem[]>(\r\n `/analysis/summary-chart/broker/${code}`,\r\n params\r\n );\r\n }\r\n\r\n /**\r\n * Get inventory chart for a stock\r\n */\r\n async getInventoryChartStock(\r\n code: string,\r\n params: DateRangeParams & {\r\n scope: ScopeShortType;\r\n investor: InvestorType;\r\n limit: number;\r\n market: MarketType;\r\n filter?: string[];\r\n }\r\n ): Promise<InventoryChartResponse> {\r\n const requestParams: any = { ...params };\r\n if (params.filter) {\r\n requestParams.filter = params.filter;\r\n }\r\n return this.client.get<InventoryChartResponse>(\r\n `/analysis/inventory-chart/stock/${code}`,\r\n requestParams\r\n );\r\n }\r\n\r\n /**\r\n * Get inventory chart for a broker\r\n */\r\n async getInventoryChartBroker(\r\n code: string,\r\n params: DateRangeParams & {\r\n scope: ScopeShortType;\r\n investor: InvestorType;\r\n limit: number;\r\n market: MarketType;\r\n filter?: string[];\r\n }\r\n ): Promise<any[]> {\r\n const requestParams: any = { ...params };\r\n if (params.filter) {\r\n requestParams.filter = params.filter;\r\n }\r\n return this.client.get<any[]>(`/analysis/inventory-chart/broker/${code}`, requestParams);\r\n }\r\n\r\n /**\r\n * Get momentum chart\r\n */\r\n async getMomentumChart(\r\n code: string,\r\n params: {\r\n date: string;\r\n range: number;\r\n scope: ScopeShortType;\r\n }\r\n ): Promise<MomentumChartData[]> {\r\n return this.client.get<MomentumChartData[]>(`/analysis/momentum-chart/${code}`, params);\r\n }\r\n\r\n /**\r\n * Get intraday inventory chart\r\n */\r\n async getIntradayInventoryChart(\r\n code: string,\r\n params: {\r\n range: number;\r\n type: string;\r\n total: number;\r\n buyer: string;\r\n seller: string;\r\n market: MarketType;\r\n broker?: string;\r\n }\r\n ): Promise<InventoryChartResponse> {\r\n return this.client.get<InventoryChartResponse>(\r\n `/analysis/intraday-inventory-chart/${code}`,\r\n params\r\n );\r\n }\r\n\r\n /**\r\n * Get sankey/crossing chart\r\n */\r\n async getSankeyChart(\r\n code: string,\r\n params: {\r\n type: string;\r\n market: MarketType;\r\n buyer?: string;\r\n seller?: string;\r\n }\r\n ): Promise<InventoryChartResponse> {\r\n return this.client.get<InventoryChartResponse>(`/analysis/sankey-chart/${code}`, params);\r\n }\r\n\r\n /**\r\n * Get price table\r\n */\r\n async getPriceTable(code: string, date: string): Promise<PriceTableData[]> {\r\n return this.client.get<PriceTableData[]>(`/analysis/price-table/${code}`, { date });\r\n }\r\n\r\n /**\r\n * Get time table\r\n */\r\n async getTimeTable(\r\n code: string,\r\n params: {\r\n date: string;\r\n range: number;\r\n }\r\n ): Promise<TimeTableData[]> {\r\n return this.client.get<TimeTableData[]>(`/analysis/time-table/${code}`, params);\r\n }\r\n\r\n /**\r\n * Get price diary\r\n */\r\n async getPriceDiary(code: string): Promise<PriceDiaryData[]> {\r\n return this.client.get<PriceDiaryData[]>(`/analysis/price-diary/${code}`);\r\n }\r\n\r\n /**\r\n * Get price seasonality\r\n */\r\n async getPriceSeasonality(code: string, range: number): Promise<PriceDiaryData[]> {\r\n return this.client.get<PriceDiaryData[]>(`/analysis/price-seasonality/${code}`, {\r\n range: Math.min(range, 60),\r\n });\r\n }\r\n\r\n /**\r\n * Get shareholders above 5%\r\n */\r\n async getShareholderAbove(\r\n params: DateRangeParams & {\r\n limit: number;\r\n page: number;\r\n name?: string;\r\n broker?: string[];\r\n code?: string;\r\n }\r\n ): Promise<PaginatedResponse<ShareholderAbove5>> {\r\n return this.client.get<PaginatedResponse<ShareholderAbove5>>(\r\n '/analysis/shareholder-above',\r\n params\r\n );\r\n }\r\n\r\n /**\r\n * Get shareholder above 5% chart\r\n */\r\n async getShareholderAboveChart(\r\n code: string,\r\n params: {\r\n broker: string;\r\n name: string;\r\n date: string;\r\n }\r\n ): Promise<any> {\r\n return this.client.get<any>(`/analysis/shareholder-above-chart/${code}`, params);\r\n }\r\n\r\n /**\r\n * Get insider trading data\r\n */\r\n async getInsiderTrading(\r\n params: DateRangeParams & {\r\n limit: number;\r\n page: number;\r\n name?: string;\r\n code?: string;\r\n }\r\n ): Promise<PaginatedResponse<InsiderTransaction>> {\r\n return this.client.get<PaginatedResponse<InsiderTransaction>>(\r\n '/analysis/shareholder-insider',\r\n params\r\n );\r\n }\r\n\r\n /**\r\n * Get insider chart\r\n */\r\n async getInsiderChart(\r\n code: string,\r\n params: {\r\n name: string;\r\n date: string;\r\n }\r\n ): Promise<any> {\r\n return this.client.get<any>(`/analysis/insider-chart/${code}`, params);\r\n }\r\n\r\n /**\r\n * Get financial statement\r\n */\r\n async getFinancialStatement(\r\n code: string,\r\n params: {\r\n statement: StatementType;\r\n type: PeriodType;\r\n limit: number;\r\n }\r\n ): Promise<FinancialStatementResponse> {\r\n return this.client.get<FinancialStatementResponse>(\r\n `/analysis/financial-statement/${code}`,\r\n { ...params, limit: Math.min(params.limit, 20) }\r\n );\r\n }\r\n\r\n /**\r\n * Get financial statement chart\r\n */\r\n async getFinancialStatementChart(\r\n code: string,\r\n params: {\r\n statement: StatementType;\r\n type: PeriodType;\r\n limit: string;\r\n account: string;\r\n }\r\n ): Promise<FinancialStatementResponse['rows'][0]['values']> {\r\n return this.client.get(\r\n `/analysis/financial-statement-chart/${code}`,\r\n { ...params, limit: Math.min(Number(params.limit), 20).toString() }\r\n );\r\n }\r\n\r\n /**\r\n * Get key statistics\r\n */\r\n async getKeyStat(\r\n code: string,\r\n params: {\r\n type: PeriodType;\r\n limit: number;\r\n }\r\n ): Promise<KeyStatResponse> {\r\n return this.client.get<KeyStatResponse>(`/analysis/keystat/${code}`, {\r\n ...params,\r\n limit: Math.min(params.limit, 20),\r\n });\r\n }\r\n\r\n /**\r\n * Get key statistics chart\r\n */\r\n async getKeyStatChart(\r\n code: string,\r\n params: {\r\n type: PeriodType;\r\n limit: string;\r\n name: string;\r\n }\r\n ): Promise<KeyStatValue[]> {\r\n return this.client.get<KeyStatValue[]>(`/analysis/keystat-chart/${code}`, params);\r\n }\r\n}\r\n\r\n","import { HttpClient } from '../client';\r\n\r\nexport interface CreateWatchlistDto {\r\n code: string;\r\n group?: string;\r\n}\r\n\r\nexport interface UpdateWatchlistDto {\r\n id: string;\r\n code?: string;\r\n group?: string;\r\n}\r\n\r\nexport interface CreateGroupDto {\r\n name: string;\r\n}\r\n\r\nexport interface UpdateNoteWatchlistDto {\r\n note?: string;\r\n}\r\n\r\nexport class WatchlistsEndpoints {\r\n constructor(private client: HttpClient) {}\r\n\r\n /**\r\n * Get list of watchlists\r\n */\r\n async list(group?: string): Promise<any[]> {\r\n return this.client.get<any[]>('/watchlists', { group: group || 'null' });\r\n }\r\n\r\n /**\r\n * Add stock to watchlist\r\n */\r\n async add(dto: CreateWatchlistDto): Promise<any> {\r\n return this.client.post<any>('/watchlists', dto);\r\n }\r\n\r\n /**\r\n * Delete watchlist\r\n */\r\n async delete(params: { ids?: string[] }): Promise<any> {\r\n return this.client.delete<any>('/watchlists', params);\r\n }\r\n\r\n /**\r\n * Get list of watchlist groups\r\n */\r\n async listGroups(): Promise<any[]> {\r\n return this.client.get<any[]>('/watchlists/group');\r\n }\r\n\r\n /**\r\n * Add new watchlist group\r\n */\r\n async addGroup(dto: CreateGroupDto): Promise<any> {\r\n return this.client.post<any>('/watchlists/group', dto);\r\n }\r\n\r\n /**\r\n * Update watchlist\r\n */\r\n async update(id: string, dto: UpdateWatchlistDto): Promise<any> {\r\n return this.client.put<any>(`/watchlists/${id}`, dto);\r\n }\r\n\r\n /**\r\n * Update watchlist note\r\n */\r\n async updateNote(id: string, dto: UpdateNoteWatchlistDto): Promise<any> {\r\n return this.client.patch<any>(`/watchlists/${id}`, dto);\r\n }\r\n}\r\n\r\n","import { HttpClient } from '../client';\r\n\r\nexport interface AddJournalTransactionDto {\r\n code: string;\r\n date: string;\r\n type: 'buy' | 'sell';\r\n price: number;\r\n volume: number;\r\n fee?: number;\r\n note?: string;\r\n}\r\n\r\nexport interface NoteJournalTransactionDto {\r\n note?: string;\r\n}\r\n\r\nexport class JournalsEndpoints {\r\n constructor(private client: HttpClient) {}\r\n\r\n /**\r\n * Extract journal from file\r\n * Note: This method may need special handling depending on your environment\r\n */\r\n async extractFromFile(file: File | Blob): Promise<any> {\r\n const formData = new FormData();\r\n formData.append('file', file);\r\n // Note: When using FormData, don't set Content-Type header\r\n // Browser/Node will set it automatically with boundary\r\n const controller = new AbortController();\r\n const url = `${this.client.baseURL}/journals/file`;\r\n const response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Authorization': `Bearer ${this.client.apiKey}`,\r\n },\r\n body: formData,\r\n signal: controller.signal,\r\n });\r\n\r\n if (!response.ok) {\r\n const data = await response.json().catch(() => ({})) as any;\r\n throw new Error((data?.message as string) || 'Failed to extract journal from file');\r\n }\r\n\r\n return response.json().catch(() => ({}));\r\n }\r\n\r\n /**\r\n * Add new journal transaction\r\n */\r\n async add(dto: AddJournalTransactionDto): Promise<any> {\r\n return this.client.post<any>('/journals', dto);\r\n }\r\n\r\n /**\r\n * List journal transactions\r\n */\r\n async list(): Promise<any[]> {\r\n return this.client.get<any[]>('/journals');\r\n }\r\n\r\n /**\r\n * Delete journal\r\n */\r\n async delete(params: { ids?: string[] }): Promise<any> {\r\n return this.client.delete<any>('/journals', params);\r\n }\r\n\r\n /**\r\n * Get journal transactions summary\r\n */\r\n async getSummary(): Promise<any> {\r\n return this.client.get<any>('/journals/summary');\r\n }\r\n\r\n /**\r\n * Update journal transaction note\r\n */\r\n async updateNote(id: string, dto: NoteJournalTransactionDto): Promise<any> {\r\n return this.client.patch<any>(`/journals/${id}`, dto);\r\n }\r\n}\r\n\r\n","import { HttpClient } from '../client';\r\n\r\nexport class PortfoliosEndpoints {\r\n constructor(private client: HttpClient) {}\r\n\r\n /**\r\n * Get list of portfolios\r\n */\r\n async list(): Promise<any[]> {\r\n return this.client.get<any[]>('/portfolios');\r\n }\r\n\r\n /**\r\n * Get portfolio summary\r\n */\r\n async getSummary(): Promise<any> {\r\n return this.client.get<any>('/portfolios/summary');\r\n }\r\n}\r\n\r\n","import { HttpClient } from '../client';\r\n\r\nexport class AiEndpoints {\r\n constructor(private client: HttpClient) {}\r\n\r\n /**\r\n * AI analysis of KSEI shareholder data\r\n */\r\n async analyzeShareholderKSEI(code: string): Promise<any> {\r\n return this.client.get<any>(`/ai/shareholder/ksei/${code}`);\r\n }\r\n\r\n /**\r\n * AI analysis of inventory chart\r\n */\r\n async analyzeInventoryChart(\r\n code: string,\r\n params: {\r\n from: string;\r\n to: string;\r\n scope: string;\r\n investor: string;\r\n limit: string;\r\n market: string;\r\n filter?: string;\r\n }\r\n ): Promise<any> {\r\n return this.client.get<any>(`/ai/inventory-chart/stock/${code}`, params);\r\n }\r\n\r\n /**\r\n * AI analysis of stock news\r\n */\r\n async analyzeNews(code: string): Promise<any> {\r\n return this.client.get<any>(`/ai/news/${code}`);\r\n }\r\n\r\n /**\r\n * AI analysis of broker summary\r\n */\r\n async analyzeBrokerSummary(\r\n code: string,\r\n params: {\r\n from: string;\r\n to: string;\r\n investor: string;\r\n market: string;\r\n }\r\n ): Promise<any> {\r\n return this.client.get<any>(`/ai/summary/stock/${code}`, params);\r\n }\r\n\r\n /**\r\n * AI analysis of insider trading\r\n */\r\n async analyzeInsider(\r\n params: {\r\n code?: string;\r\n name: string;\r\n from: string;\r\n to: string;\r\n page: string;\r\n limit: string;\r\n }\r\n ): Promise<any> {\r\n return this.client.get<any>('/ai/shareholder-insider', params);\r\n }\r\n\r\n /**\r\n * AI analysis of shareholders above 5%\r\n */\r\n async analyzeShareholderAbove(\r\n params: {\r\n code?: string;\r\n broker: string;\r\n name: string;\r\n from: string;\r\n to: string;\r\n page: string;\r\n limit: string;\r\n }\r\n ): Promise<any> {\r\n return this.client.get<any>('/ai/shareholder-above', params);\r\n }\r\n\r\n /**\r\n * AI analysis of intraday inventory chart\r\n */\r\n async analyzeIntradayInventory(\r\n code: string,\r\n params: {\r\n range: number;\r\n type: string;\r\n total: number;\r\n buyer: string;\r\n seller: string;\r\n broker: string;\r\n market: string;\r\n }\r\n ): Promise<any> {\r\n return this.client.get<any>(`/ai/intraday-inventory-chart/${code}`, params);\r\n }\r\n\r\n /**\r\n * AI analysis of sankey/crossing chart\r\n */\r\n async analyzeSankeyChart(\r\n code: string,\r\n params: {\r\n type: string;\r\n buyer: string;\r\n seller: string;\r\n market: string;\r\n }\r\n ): Promise<any> {\r\n return this.client.get<any>(`/ai/sankey-chart/${code}`, params);\r\n }\r\n\r\n /**\r\n * AI analysis of shareholder table\r\n */\r\n async analyzeShareholder(code: string): Promise<any> {\r\n return this.client.get<any>(`/ai/shareholder/${code}`);\r\n }\r\n\r\n /**\r\n * AI analysis of financial statement\r\n */\r\n async analyzeFinancialStatement(\r\n code: string,\r\n params: {\r\n statement: string;\r\n type: string;\r\n limit: string;\r\n }\r\n ): Promise<any> {\r\n return this.client.get<any>(`/ai/financial-statement/${code}`, params);\r\n }\r\n\r\n /**\r\n * AI analysis of key statistics\r\n */\r\n async analyzeKeyStat(\r\n code: string,\r\n params: {\r\n type: string;\r\n limit: string;\r\n }\r\n ): Promise<any> {\r\n return this.client.get<any>(`/ai/keystat/${code}`, params);\r\n }\r\n}\r\n\r\n","import { HttpClient } from '../client';\r\n\r\nexport class SearchEndpoints {\r\n constructor(private client: HttpClient) {}\r\n\r\n /**\r\n * Search for stocks or users\r\n */\r\n async search(query: string): Promise<any> {\r\n return this.client.get<any>('/search', { query });\r\n }\r\n\r\n /**\r\n * Search for stocks\r\n */\r\n async searchStock(query: string, cursor: string): Promise<any> {\r\n return this.client.get<any>('/search/stock', { query, cursor });\r\n }\r\n\r\n /**\r\n * Search for users\r\n */\r\n async searchUser(query: string, cursor: string): Promise<any> {\r\n return this.client.get<any>('/search/user', { query, cursor });\r\n }\r\n}\r\n\r\n","import { HttpClient } from '../client';\r\n\r\nexport class ProfileEndpoints {\r\n constructor(private client: HttpClient) {}\r\n\r\n /**\r\n * Get user profile details\r\n */\r\n async getUserDetails(username: string): Promise<any> {\r\n return this.client.get<any>(`/profile/detail/${username}`);\r\n }\r\n\r\n /**\r\n * Get user posts\r\n */\r\n async getUserPosts(username: string, page: string, limit: string): Promise<any> {\r\n return this.client.get<any>(`/profile/posts/${username}`, { page, limit });\r\n }\r\n\r\n /**\r\n * Get user posts by category\r\n */\r\n async getCategoryPosts(\r\n username: string,\r\n category: string,\r\n page: string,\r\n limit: string\r\n ): Promise<any> {\r\n return this.client.get<any>(`/profile/posts/${username}/${category}`, { page, limit });\r\n }\r\n\r\n /**\r\n * Get user watchlist\r\n */\r\n async getUserWatchlist(username: string): Promise<any> {\r\n return this.client.get<any>(`/profile/watchlist/${username}`);\r\n }\r\n\r\n /**\r\n * Get user followers\r\n */\r\n async getFollowers(username: string): Promise<any> {\r\n return this.client.get<any>(`/profile/follow/${username}`);\r\n }\r\n\r\n /**\r\n * Get users being followed\r\n */\r\n async getFollowing(username: string): Promise<any> {\r\n return this.client.get<any>(`/profile/following/${username}`);\r\n }\r\n\r\n /**\r\n * Get user memberships\r\n */\r\n async getMemberships(username: string): Promise<any> {\r\n return this.client.get<any>(`/profile/membership/${username}`);\r\n }\r\n}\r\n\r\n","import { HttpClient } from '../client';\r\n\r\nexport interface AddMembershipDto {\r\n membershipId: string;\r\n // Add other required fields based on API\r\n}\r\n\r\nexport class MembershipEndpoints {\r\n constructor(private client: HttpClient) {}\r\n\r\n /**\r\n * Get list of memberships\r\n */\r\n async list(): Promise<any[]> {\r\n return this.client.get<any[]>('/membership');\r\n }\r\n\r\n /**\r\n * Add new membership\r\n */\r\n async add(dto: AddMembershipDto): Promise<any> {\r\n return this.client.post<any>('/membership', dto);\r\n }\r\n\r\n /**\r\n * Get membership scope\r\n */\r\n async getScope(): Promise<any> {\r\n return this.client.get<any>('/membership/scope');\r\n }\r\n\r\n /**\r\n * Get membership transactions\r\n */\r\n async getTransactions(): Promise<any[]> {\r\n return this.client.get<any[]>('/membership/list');\r\n }\r\n\r\n /**\r\n * Update membership\r\n */\r\n async update(id: string, dto: AddMembershipDto): Promise<any> {\r\n return this.client.put<any>(`/membership/${id}`, dto);\r\n }\r\n\r\n /**\r\n * Delete membership\r\n */\r\n async delete(id: string): Promise<any> {\r\n return this.client.delete<any>(`/membership/${id}`);\r\n }\r\n}\r\n\r\n","import { HttpClient } from '../client';\r\n\r\nexport class PostsEndpoints {\r\n constructor(private client: HttpClient) {}\r\n\r\n /**\r\n * Get all posts\r\n */\r\n async getAll(): Promise<any[]> {\r\n return this.client.get<any[]>('/posts');\r\n }\r\n\r\n /**\r\n * Get posts by category\r\n */\r\n async getByCategory(category: string): Promise<any[]> {\r\n return this.client.get<any[]>(`/posts/category/${category}`);\r\n }\r\n\r\n /**\r\n * Get posts for a stock\r\n */\r\n async getStockPosts(code: string): Promise<any[]> {\r\n return this.client.get<any[]>(`/posts/space/${code}`);\r\n }\r\n\r\n /**\r\n * Get stock posts by category\r\n */\r\n async getStockCategoryPosts(code: string, category: string): Promise<any[]> {\r\n return this.client.get<any[]>(`/posts/space/category/${code}/${category}`);\r\n }\r\n\r\n /**\r\n * Get post details\r\n */\r\n async getPostById(id: string): Promise<any> {\r\n return this.client.get<any>(`/posts/detail/${id}`);\r\n }\r\n\r\n /**\r\n * Get post comments\r\n */\r\n async getComments(id: string): Promise<any[]> {\r\n return this.client.get<any[]>(`/posts/comment/${id}`);\r\n }\r\n\r\n /**\r\n * Get liked posts\r\n */\r\n async getLiked(): Promise<any[]> {\r\n return this.client.get<any[]>('/posts/like');\r\n }\r\n\r\n /**\r\n * Get favorite posts\r\n */\r\n async getFavorites(): Promise<any[]> {\r\n return this.client.get<any[]>('/posts/favorite');\r\n }\r\n\r\n /**\r\n * Get post voters\r\n */\r\n async getVoters(id: string): Promise<any[]> {\r\n return this.client.get<any[]>(`/posts/vote/${id}`);\r\n }\r\n}\r\n\r\n","import { HttpClient } from '../client';\r\n\r\nexport interface NoteTradeDto {\r\n note?: string;\r\n}\r\n\r\nexport class TradesEndpoints {\r\n constructor(private client: HttpClient) {}\r\n\r\n /**\r\n * Get list of realized trades\r\n */\r\n async list(): Promise<any[]> {\r\n return this.client.get<any[]>('/trades');\r\n }\r\n\r\n /**\r\n * Delete trades\r\n */\r\n async delete(params: { ids?: string[] }): Promise<any> {\r\n return this.client.delete<any>('/trades', params);\r\n }\r\n\r\n /**\r\n * Get trades summary\r\n */\r\n async getSummary(): Promise<any> {\r\n return this.client.get<any>('/trades/summary');\r\n }\r\n\r\n /**\r\n * Get trades summary chart\r\n */\r\n async getSummaryChart(): Promise<any> {\r\n return this.client.get<any>('/trades/summary-chart');\r\n }\r\n\r\n /**\r\n * Update trade note\r\n */\r\n async updateNote(id: string, dto: NoteTradeDto): Promise<any> {\r\n return this.client.patch<any>(`/trades/${id}`, dto);\r\n }\r\n}\r\n\r\n","import { HttpClient } from '../client';\r\n\r\nexport interface ScreenCondition {\r\n ratio: 'BASIC' | 'COMPARE';\r\n column: string;\r\n operator: '>' | '>=' | '<' | '<=' | '==' | '!=';\r\n value?: string;\r\n compare?: string;\r\n multiply?: 'x' | '/';\r\n}\r\n\r\nexport interface ScreenDto {\r\n columns: string[];\r\n conditions: ScreenCondition[];\r\n}\r\n\r\nexport interface ScreenSaveDto {\r\n name: string;\r\n conditions: ScreenDto;\r\n}\r\n\r\nexport class ScreenerEndpoints {\r\n constructor(private client: HttpClient) {}\r\n\r\n /**\r\n * Get list of preset screeners\r\n */\r\n async list(): Promise<any[]> {\r\n return this.client.get<any[]>('/screener');\r\n }\r\n\r\n /**\r\n * Save preset screener\r\n */\r\n async save(dto: ScreenSaveDto): Promise<any> {\r\n return this.client.post<any>('/screener', dto);\r\n }\r\n\r\n /**\r\n * Run screener\r\n */\r\n async screen(dto: ScreenDto): Promise<any[]> {\r\n return this.client.post<any[]>('/screener/screen', dto);\r\n }\r\n}\r\n\r\n","import { HttpClient } from '../client';\r\n\r\nexport class HealthEndpoints {\r\n constructor(private client: HttpClient) {}\r\n\r\n /**\r\n * Check API status\r\n */\r\n async check(): Promise<{ status: string }> {\r\n return this.client.get<{ status: string }>('/health');\r\n }\r\n\r\n /**\r\n * Check database status\r\n */\r\n async checkDatabase(): Promise<{ status: string }> {\r\n return this.client.get<{ status: string }>('/health/database');\r\n }\r\n\r\n /**\r\n * Full health check (API and database)\r\n */\r\n async fullCheck(): Promise<{ status: string }> {\r\n return this.client.get<{ status: string }>('/health/full');\r\n }\r\n}\r\n\r\n","import { HttpClient } from './client';\r\nimport { AnalysisEndpoints } from './endpoints/analysis';\r\nimport { WatchlistsEndpoints } from './endpoints/watchlists';\r\nimport { JournalsEndpoints } from './endpoints/journals';\r\nimport { PortfoliosEndpoints } from './endpoints/portfolios';\r\nimport { AiEndpoints } from './endpoints/ai';\r\nimport { SearchEndpoints } from './endpoints/search';\r\nimport { ProfileEndpoints } from './endpoints/profile';\r\nimport { MembershipEndpoints } from './endpoints/membership';\r\nimport { PostsEndpoints } from './endpoints/posts';\r\nimport { TradesEndpoints } from './endpoints/trades';\r\nimport { ScreenerEndpoints } from './endpoints/screener';\r\nimport { HealthEndpoints } from './endpoints/health';\r\nimport type { InvezgoConfig } from './types';\r\n\r\nexport class Invezgo {\r\n public readonly analysis: AnalysisEndpoints;\r\n public readonly watchlists: WatchlistsEndpoints;\r\n public readonly journals: JournalsEndpoints;\r\n public readonly portfolios: PortfoliosEndpoints;\r\n public readonly ai: AiEndpoints;\r\n public readonly search: SearchEndpoints;\r\n public readonly profile: ProfileEndpoints;\r\n public readonly membership: MembershipEndpoints;\r\n public readonly posts: PostsEndpoints;\r\n public readonly trades: TradesEndpoints;\r\n public readonly screener: ScreenerEndpoints;\r\n public readonly health: HealthEndpoints;\r\n\r\n private client: HttpClient;\r\n\r\n constructor(config: InvezgoConfig) {\r\n this.client = new HttpClient(config);\r\n\r\n // Initialize all endpoint modules\r\n this.analysis = new AnalysisEndpoints(this.client);\r\n this.watchlists = new WatchlistsEndpoints(this.client);\r\n this.journals = new JournalsEndpoints(this.client);\r\n this.portfolios = new PortfoliosEndpoints(this.client);\r\n this.ai = new AiEndpoints(this.client);\r\n this.search = new SearchEndpoints(this.client);\r\n this.profile = new ProfileEndpoints(this.client);\r\n this.membership = new MembershipEndpoints(this.client);\r\n this.posts = new PostsEndpoints(this.client);\r\n this.trades = new TradesEndpoints(this.client);\r\n this.screener = new ScreenerEndpoints(this.client);\r\n this.health = new HealthEndpoints(this.client);\r\n }\r\n\r\n /**\r\n * Update API key\r\n */\r\n setApiKey(apiKey: string): void {\r\n (this.client as any).apiKey = apiKey;\r\n }\r\n\r\n /**\r\n * Get current API key (without exposing it)\r\n */\r\n hasApiKey(): boolean {\r\n return !!(this.client as any).apiKey;\r\n }\r\n}\r\n\r\n","/**\r\n * Invezgo SDK for JavaScript and TypeScript\r\n * \r\n * Official SDK for accessing Invezgo API - Indonesia Stock Market Data\r\n * \r\n * @packageDocumentation\r\n */\r\n\r\nexport { Invezgo } from './invezgo';\r\nexport { InvezgoError } from './client';\r\nexport * from './types';\r\n\r\n// Re-export endpoint types for convenience\r\nexport * from './endpoints/watchlists';\r\nexport * from './endpoints/journals';\r\nexport * from './endpoints/membership';\r\nexport * from './endpoints/trades';\r\nexport * from './endpoints/screener';\r\n\r\n// Default export\r\nimport { Invezgo } from './invezgo';\r\nexport default Invezgo;\r\n\r\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/client.ts","../src/endpoints/alerts.ts","../src/endpoints/analysis.ts","../src/endpoints/watchlists.ts","../src/endpoints/journals.ts","../src/endpoints/portfolios.ts","../src/endpoints/search.ts","../src/endpoints/profile.ts","../src/endpoints/membership.ts","../src/endpoints/posts.ts","../src/endpoints/recommendation.ts","../src/endpoints/trades.ts","../src/endpoints/screener.ts","../src/invezgo.ts","../src/index.ts"],"sourcesContent":["import type { InvezgoConfig, RequestOptions } from './types';\n\nexport class InvezgoError extends Error {\n constructor(\n public statusCode: number,\n public message: string,\n public error?: string,\n public response?: any\n ) {\n super(message);\n this.name = 'InvezgoError';\n Object.setPrototypeOf(this, InvezgoError.prototype);\n }\n}\n\nexport class HttpClient {\n public baseURL: string;\n public apiKey: string;\n private timeout: number;\n\n constructor(config: InvezgoConfig) {\n // Ensure baseURL doesn't have trailing slash since paths start with /\n const baseURL = config.baseURL || 'https://api.invezgo.com';\n this.baseURL = baseURL.endsWith('/') ? baseURL.slice(0, -1) : baseURL;\n this.apiKey = config.apiKey;\n this.timeout = config.timeout || 30000;\n\n if (!this.apiKey) {\n throw new Error('API Key is required');\n }\n }\n\n private async request<T>(\n method: string,\n path: string,\n options: RequestOptions = {}\n ): Promise<T> {\n const url = `${this.baseURL}${path}`;\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), options.timeout || this.timeout);\n\n try {\n const headers: Record<string, string> = {\n 'Authorization': `Bearer ${this.apiKey}`,\n 'Content-Type': 'application/json',\n ...options.headers,\n };\n\n const response = await fetch(url, {\n method,\n headers,\n signal: controller.signal,\n });\n\n clearTimeout(timeoutId);\n\n // Handle 204 No Content\n if (response.status === 204) {\n return [] as any;\n }\n\n const data = await response.json().catch(() => ({})) as any;\n\n // Handle error responses\n if (!response.ok) {\n throw new InvezgoError(\n response.status,\n (data?.message as string) || response.statusText,\n data?.error as string | undefined,\n data\n );\n }\n\n return data as T;\n } catch (error: any) {\n clearTimeout(timeoutId);\n\n if (error.name === 'AbortError') {\n throw new InvezgoError(408, 'Request timeout', 'Timeout');\n }\n\n if (error instanceof InvezgoError) {\n throw error;\n }\n\n throw new InvezgoError(\n 500,\n error.message || 'Unknown error occurred',\n 'InternalError',\n error\n );\n }\n }\n\n async get<T>(path: string, params?: Record<string, any>, options?: RequestOptions): Promise<T> {\n let url = path;\n \n if (params && Object.keys(params).length > 0) {\n const searchParams = new URLSearchParams();\n Object.entries(params).forEach(([key, value]) => {\n if (value !== undefined && value !== null) {\n if (Array.isArray(value)) {\n value.forEach(v => searchParams.append(key, String(v)));\n } else {\n searchParams.append(key, String(value));\n }\n }\n });\n url = `${path}?${searchParams.toString()}`;\n }\n\n return this.request<T>('GET', url, options);\n }\n\n async post<T>(path: string, body?: any, options?: RequestOptions): Promise<T> {\n const requestOptions: RequestOptions = {\n ...options,\n headers: {\n ...options?.headers,\n },\n };\n\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), requestOptions.timeout || this.timeout);\n\n try {\n const url = `${this.baseURL}${path}`;\n const headers: Record<string, string> = {\n 'Authorization': `Bearer ${this.apiKey}`,\n 'Content-Type': 'application/json',\n ...requestOptions.headers,\n };\n\n const response = await fetch(url, {\n method: 'POST',\n headers,\n body: body ? JSON.stringify(body) : undefined,\n signal: controller.signal,\n });\n\n clearTimeout(timeoutId);\n\n if (response.status === 204) {\n return {} as any;\n }\n\n const data = await response.json().catch(() => ({})) as any;\n\n if (!response.ok) {\n throw new InvezgoError(\n response.status,\n (data?.message as string) || response.statusText,\n data?.error as string | undefined,\n data\n );\n }\n\n return data as T;\n } catch (error: any) {\n clearTimeout(timeoutId);\n\n if (error.name === 'AbortError') {\n throw new InvezgoError(408, 'Request timeout', 'Timeout');\n }\n\n if (error instanceof InvezgoError) {\n throw error;\n }\n\n throw new InvezgoError(\n 500,\n error.message || 'Unknown error occurred',\n 'InternalError',\n error\n );\n }\n }\n\n async put<T>(path: string, body?: any, options?: RequestOptions): Promise<T> {\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), options?.timeout || this.timeout);\n\n try {\n const url = `${this.baseURL}${path}`;\n const headers: Record<string, string> = {\n 'Authorization': `Bearer ${this.apiKey}`,\n 'Content-Type': 'application/json',\n ...options?.headers,\n };\n\n const response = await fetch(url, {\n method: 'PUT',\n headers,\n body: body ? JSON.stringify(body) : undefined,\n signal: controller.signal,\n });\n\n clearTimeout(timeoutId);\n\n if (response.status === 204) {\n return {} as any;\n }\n\n const data = await response.json().catch(() => ({})) as any;\n\n if (!response.ok) {\n throw new InvezgoError(\n response.status,\n (data?.message as string) || response.statusText,\n data?.error as string | undefined,\n data\n );\n }\n\n return data as T;\n } catch (error: any) {\n clearTimeout(timeoutId);\n\n if (error.name === 'AbortError') {\n throw new InvezgoError(408, 'Request timeout', 'Timeout');\n }\n\n if (error instanceof InvezgoError) {\n throw error;\n }\n\n throw new InvezgoError(\n 500,\n error.message || 'Unknown error occurred',\n 'InternalError',\n error\n );\n }\n }\n\n async patch<T>(path: string, body?: any, options?: RequestOptions): Promise<T> {\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), options?.timeout || this.timeout);\n\n try {\n const url = `${this.baseURL}${path}`;\n const headers: Record<string, string> = {\n 'Authorization': `Bearer ${this.apiKey}`,\n 'Content-Type': 'application/json',\n ...options?.headers,\n };\n\n const response = await fetch(url, {\n method: 'PATCH',\n headers,\n body: body ? JSON.stringify(body) : undefined,\n signal: controller.signal,\n });\n\n clearTimeout(timeoutId);\n\n if (response.status === 204) {\n return {} as any;\n }\n\n const data = await response.json().catch(() => ({})) as any;\n\n if (!response.ok) {\n throw new InvezgoError(\n response.status,\n (data?.message as string) || response.statusText,\n data?.error as string | undefined,\n data\n );\n }\n\n return data as T;\n } catch (error: any) {\n clearTimeout(timeoutId);\n\n if (error.name === 'AbortError') {\n throw new InvezgoError(408, 'Request timeout', 'Timeout');\n }\n\n if (error instanceof InvezgoError) {\n throw error;\n }\n\n throw new InvezgoError(\n 500,\n error.message || 'Unknown error occurred',\n 'InternalError',\n error\n );\n }\n }\n\n async delete<T>(path: string, params?: Record<string, any>, options?: RequestOptions): Promise<T> {\n let url = path;\n \n if (params && Object.keys(params).length > 0) {\n const searchParams = new URLSearchParams();\n Object.entries(params).forEach(([key, value]) => {\n if (value !== undefined && value !== null) {\n if (Array.isArray(value)) {\n value.forEach(v => searchParams.append(key, String(v)));\n } else {\n searchParams.append(key, String(value));\n }\n }\n });\n url = `${path}?${searchParams.toString()}`;\n }\n\n return this.request<T>('DELETE', url, options);\n }\n}\n\n","import { HttpClient } from '../client';\nimport type { AlertIntervalType, AlertSendType, ScreenerCategory } from '../types';\n\nexport interface AlertDto {\n name: string;\n description?: string;\n category: ScreenerCategory[];\n every: AlertIntervalType;\n send: AlertSendType;\n scope?: string[];\n formula: string;\n}\n\nexport interface AlertTestDto {\n formula: string;\n category: ScreenerCategory[];\n}\n\nexport interface UpdateAlertDto {\n name: string;\n description?: string;\n category: ScreenerCategory[];\n every: AlertIntervalType;\n send: AlertSendType;\n formula: string;\n scope?: string[];\n}\n\nexport class AlertsEndpoints {\n constructor(private client: HttpClient) {}\n\n /**\n * Get list of alerts.\n */\n async list(): Promise<unknown[]> {\n return this.client.get<unknown[]>('/alerts');\n }\n\n /**\n * Create alert.\n */\n async add(dto: AlertDto): Promise<unknown> {\n return this.client.post<unknown>('/alerts', dto);\n }\n\n /**\n * Update alert.\n */\n async update(id: string, dto: UpdateAlertDto): Promise<unknown> {\n return this.client.put<unknown>(`/alerts/${id}`, dto);\n }\n\n /**\n * Delete alert.\n */\n async delete(id: string): Promise<unknown> {\n return this.client.delete<unknown>(`/alerts/${id}`);\n }\n\n /**\n * Test alert formula.\n */\n async test(dto: AlertTestDto): Promise<unknown> {\n return this.client.post<unknown>('/alerts/test', dto);\n }\n}\n","import { HttpClient } from '../client';\nimport type {\n Stock,\n Broker,\n StockIndex,\n CompanyInformation,\n TopChangeResponse,\n TopForeignResponse,\n TopAccumulationResponse,\n TopRetailResponse,\n ChartResponse,\n IndexChartDataPoint,\n IntradayChartData,\n IntradayStockData,\n IntradayIndexData,\n OrderBookResponse,\n ShareholderDetail,\n ShareholderComposition,\n ShareholderKSEI,\n ShareholderDetailOneItem,\n ShareholderRelationResponse,\n BrokerSummary,\n SummaryChartItem,\n InventoryChartResponse,\n InventoryBrokerChartItem,\n MomentumChartData,\n SectorStalkerResponse,\n SectorRotationResponse,\n BrokerStalkerResponse,\n BrokerStalkerListResponse,\n PriceTableData,\n TimeTableData,\n PriceDiaryData,\n ShareholderAbove5,\n ShareholderOneItem,\n ShareholderOneChartPoint,\n CorporateActionCalendarItem,\n PaginatedResponse,\n InsiderTransaction,\n FinancialStatementResponse,\n KeyStatResponse,\n KeyStatValue,\n DateRangeParams,\n InvestorType,\n TradingBoardType,\n ScopeType,\n ScopeShortType,\n StatementType,\n PeriodType,\n IndicatorType,\n SectorBaseType,\n StalkerFilterColumn,\n FilterOperatorType,\n CorporateActionType,\n} from '../types';\n\nexport class AnalysisEndpoints {\n constructor(private client: HttpClient) {}\n\n /**\n * Get list of all stocks listed on BEI.\n */\n async getStockList(): Promise<Stock[]> {\n return this.client.get<Stock[]>('/analysis/list/stock');\n }\n\n /**\n * Get list of all brokers/securities on BEI.\n */\n async getBrokerList(): Promise<Broker[]> {\n return this.client.get<Broker[]>('/analysis/list/broker');\n }\n\n /**\n * Get list of all supported IDX indexes.\n */\n async getIndexList(): Promise<StockIndex[]> {\n return this.client.get<StockIndex[]>('/analysis/list/index');\n }\n\n /**\n * Get complete company information.\n */\n async getInformation(code: string): Promise<CompanyInformation> {\n return this.client.get<CompanyInformation>(`/analysis/information/${code}`);\n }\n\n /**\n * Get top gainer and loser stocks for a specific date.\n */\n async getTopChange(date: string): Promise<TopChangeResponse> {\n return this.client.get<TopChangeResponse>('/analysis/top/change', { date });\n }\n\n /**\n * Get top foreign accumulation and distribution.\n */\n async getTopForeign(date: string): Promise<TopForeignResponse> {\n return this.client.get<TopForeignResponse>('/analysis/top/foreign', { date });\n }\n\n /**\n * Get top bandarmology accumulation and distribution.\n */\n async getTopAccumulation(date: string): Promise<TopAccumulationResponse> {\n return this.client.get<TopAccumulationResponse>('/analysis/top/accumulation', { date });\n }\n\n /**\n * Get top retail accumulation and distribution.\n */\n async getTopRitel(date: string): Promise<TopRetailResponse> {\n return this.client.get<TopRetailResponse>('/analysis/top/ritel', { date });\n }\n\n /**\n * Alias for getTopRitel.\n */\n async getTopRetail(date: string): Promise<TopRetailResponse> {\n return this.getTopRitel(date);\n }\n\n /**\n * Get intraday chart data.\n */\n async getIntradayChart(\n code: string,\n market: TradingBoardType = 'RG'\n ): Promise<IntradayChartData[]> {\n return this.client.get<IntradayChartData[]>(`/analysis/intraday/${code}`, { market });\n }\n\n /**\n * Get intraday stock summary data.\n */\n async getIntradayData(\n code: string,\n market: TradingBoardType = 'RG'\n ): Promise<IntradayStockData> {\n return this.client.get<IntradayStockData>(`/analysis/intraday-data/${code}`, { market });\n }\n\n /**\n * Get intraday index summary data.\n */\n async getIntradayIndex(\n code: string,\n market: TradingBoardType = 'RG'\n ): Promise<IntradayIndexData> {\n return this.client.get<IntradayIndexData>(`/analysis/intraday-index/${code}`, { market });\n }\n\n /**\n * Get order book data.\n */\n async getOrderBook(\n code: string,\n market: TradingBoardType = 'RG'\n ): Promise<OrderBookResponse> {\n return this.client.get<OrderBookResponse>(`/analysis/order-book/${code}`, { market });\n }\n\n /**\n * Get complete stock chart data.\n */\n async getChart(code: string, params: DateRangeParams): Promise<ChartResponse> {\n return this.client.get<ChartResponse>(`/analysis/chart/stock/${code}`, params);\n }\n\n /**\n * Get historical index chart data.\n */\n async getIndexChart(code: string, params: DateRangeParams): Promise<IndexChartDataPoint[]> {\n return this.client.get<IndexChartDataPoint[]>(`/analysis/chart/index/${code}`, params);\n }\n\n /**\n * Get stock chart with technical indicator.\n */\n async getIndicatorChart(\n code: string,\n indicator: IndicatorType,\n params: DateRangeParams\n ): Promise<ChartResponse> {\n return this.client.get<ChartResponse>(\n `/analysis/chart/stock/${indicator}/${code}`,\n params\n );\n }\n\n /**\n * Get shareholder detail above 5%.\n */\n async getShareholderDetail(code: string): Promise<ShareholderDetail[]> {\n return this.client.get<ShareholderDetail[]>(`/analysis/shareholder-detail/${code}`);\n }\n\n /**\n * Get shareholder detail above 1% for a specific holder.\n */\n async getShareholderDetailOne(params: {\n code: string;\n name: string;\n }): Promise<ShareholderDetailOneItem[]> {\n return this.client.get<ShareholderDetailOneItem[]>('/analysis/shareholder-detail-one', params);\n }\n\n /**\n * Get number of shareholders.\n */\n async getShareholderNumber(code: string): Promise<ShareholderDetail[]> {\n return this.client.get<ShareholderDetail[]>(`/analysis/shareholder/number/${code}`);\n }\n\n /**\n * Get shareholder relation graph.\n */\n async getShareholderRelation(params: {\n code?: string;\n name?: string;\n depth?: number;\n max_nodes?: number;\n neighbors?: number;\n min_percentage?: number;\n }): Promise<ShareholderRelationResponse> {\n return this.client.get<ShareholderRelationResponse>('/analysis/shareholder/relation', params);\n }\n\n /**\n * Get shareholder composition.\n */\n async getShareholder(code: string): Promise<ShareholderComposition[]> {\n return this.client.get<ShareholderComposition[]>(`/analysis/shareholder/${code}`);\n }\n\n /**\n * Get KSEI shareholder data.\n */\n async getShareholderKSEI(code: string, range: number): Promise<ShareholderKSEI[]> {\n return this.client.get<ShareholderKSEI[]>(`/analysis/shareholder/ksei/${code}`, {\n range: Math.min(range, 12),\n });\n }\n\n /**\n * Get broker summary for a stock.\n */\n async getBrokerSummaryStock(\n code: string,\n params: DateRangeParams & {\n investor: InvestorType;\n market: TradingBoardType;\n }\n ): Promise<BrokerSummary[]> {\n return this.client.get<BrokerSummary[]>(`/analysis/summary/stock/${code}`, params);\n }\n\n /**\n * Get broker summary for a broker.\n */\n async getBrokerSummaryBroker(\n code: string,\n params: DateRangeParams & {\n investor: InvestorType;\n market: TradingBoardType;\n }\n ): Promise<BrokerSummary[]> {\n return this.client.get<BrokerSummary[]>(`/analysis/summary/broker/${code}`, params);\n }\n\n /**\n * Get sector stalker data.\n */\n async getStalkerSector(params: DateRangeParams & {\n base?: SectorBaseType;\n limit?: number;\n filter?: string;\n filter_column?: StalkerFilterColumn;\n filter_operator?: FilterOperatorType;\n filter_value?: number;\n }): Promise<SectorStalkerResponse> {\n return this.client.get<SectorStalkerResponse>('/analysis/stalker/sector', params);\n }\n\n /**\n * Get sector rotation chart.\n */\n async getSectorRotation(params: DateRangeParams & {\n base?: SectorBaseType;\n length?: number;\n tail?: number;\n limit?: number;\n filter?: string;\n filter_column?: StalkerFilterColumn;\n filter_operator?: FilterOperatorType;\n filter_value?: number;\n }): Promise<SectorRotationResponse> {\n return this.client.get<SectorRotationResponse>('/analysis/sector/rotation', params);\n }\n\n /**\n * Get broker stalker data for a stock.\n */\n async getBrokerStalker(\n broker: string,\n stock: string,\n params: DateRangeParams & {\n investor: InvestorType;\n market: TradingBoardType;\n scope: 'volume' | 'value';\n }\n ): Promise<BrokerStalkerResponse> {\n return this.client.get<BrokerStalkerResponse>(\n `/analysis/stalker/broker/${broker}/${stock}`,\n params\n );\n }\n\n /**\n * Get broker stalker list.\n */\n async getBrokerStalkerList(\n code: string,\n params: DateRangeParams & {\n investor: InvestorType;\n scope: 'volume' | 'value';\n market: TradingBoardType;\n }\n ): Promise<BrokerStalkerListResponse> {\n return this.client.get<BrokerStalkerListResponse>(\n `/analysis/stalker/list/${code}`,\n params\n );\n }\n\n /**\n * Get broker summary chart for a stock.\n */\n async getBrokerSummaryChartStock(\n code: string,\n params: DateRangeParams & {\n scope: ScopeType;\n market: TradingBoardType;\n }\n ): Promise<SummaryChartItem[]> {\n return this.client.get<SummaryChartItem[]>(\n `/analysis/summary-chart/stock/${code}`,\n params\n );\n }\n\n /**\n * Get broker summary chart for a broker.\n */\n async getBrokerSummaryChartBroker(\n code: string,\n params: DateRangeParams & {\n scope: ScopeType;\n market: TradingBoardType;\n }\n ): Promise<SummaryChartItem[]> {\n return this.client.get<SummaryChartItem[]>(\n `/analysis/summary-chart/broker/${code}`,\n params\n );\n }\n\n /**\n * Get inventory chart for a stock.\n */\n async getInventoryChartStock(\n code: string,\n params: DateRangeParams & {\n scope: ScopeShortType;\n investor: InvestorType;\n limit: number;\n market: TradingBoardType;\n filter?: string[];\n }\n ): Promise<InventoryChartResponse> {\n return this.client.get<InventoryChartResponse>(\n `/analysis/inventory-chart/stock/${code}`,\n params\n );\n }\n\n /**\n * Get inventory chart for a broker.\n */\n async getInventoryChartBroker(\n code: string,\n params: DateRangeParams & {\n scope: ScopeShortType;\n investor: InvestorType;\n limit: number;\n market: TradingBoardType;\n filter?: string[];\n }\n ): Promise<InventoryBrokerChartItem[]> {\n return this.client.get<InventoryBrokerChartItem[]>(\n `/analysis/inventory-chart/broker/${code}`,\n params\n );\n }\n\n /**\n * Get momentum chart.\n */\n async getMomentumChart(\n code: string,\n params: {\n date: string;\n range: number;\n scope: ScopeShortType;\n }\n ): Promise<MomentumChartData[]> {\n return this.client.get<MomentumChartData[]>(`/analysis/momentum-chart/${code}`, params);\n }\n\n /**\n * Get intraday inventory chart.\n */\n async getIntradayInventoryChart(\n code: string,\n params: {\n range: number;\n type: string;\n total: number;\n buyer: string;\n seller: string;\n market: TradingBoardType;\n broker?: string;\n }\n ): Promise<InventoryChartResponse> {\n return this.client.get<InventoryChartResponse>(\n `/analysis/intraday-inventory-chart/${code}`,\n params\n );\n }\n\n /**\n * Get distribution or crossing chart.\n */\n async getSankeyChart(\n code: string,\n params: {\n type: string;\n market: TradingBoardType;\n buyer?: string;\n seller?: string;\n }\n ): Promise<unknown> {\n return this.client.get<unknown>(`/analysis/sankey-chart/${code}`, params);\n }\n\n /**\n * Get price table.\n */\n async getPriceTable(code: string, date: string): Promise<PriceTableData[]> {\n return this.client.get<PriceTableData[]>(`/analysis/price-table/${code}`, { date });\n }\n\n /**\n * Get time table.\n */\n async getTimeTable(\n code: string,\n params: {\n date: string;\n range: number;\n }\n ): Promise<TimeTableData[]> {\n return this.client.get<TimeTableData[]>(`/analysis/time-table/${code}`, params);\n }\n\n /**\n * Get price diary.\n */\n async getPriceDiary(code: string): Promise<PriceDiaryData[]> {\n return this.client.get<PriceDiaryData[]>(`/analysis/price-diary/${code}`);\n }\n\n /**\n * Get price seasonality.\n */\n async getPriceSeasonality(code: string, range: number): Promise<PriceDiaryData[]> {\n return this.client.get<PriceDiaryData[]>(`/analysis/price-seasonality/${code}`, {\n range: Math.min(range, 60),\n });\n }\n\n /**\n * Get shareholders above 5%.\n */\n async getShareholderAbove(\n params: DateRangeParams & {\n limit?: number;\n page?: number;\n name?: string;\n broker?: string[];\n code?: string;\n }\n ): Promise<PaginatedResponse<ShareholderAbove5>> {\n return this.client.get<PaginatedResponse<ShareholderAbove5>>(\n '/analysis/shareholder-above',\n params\n );\n }\n\n /**\n * Get shareholder above 5% chart.\n */\n async getShareholderAboveChart(\n code: string,\n params: {\n broker: string;\n name: string;\n date: string;\n }\n ): Promise<unknown> {\n return this.client.get<unknown>(`/analysis/shareholder-above-chart/${code}`, params);\n }\n\n /**\n * Get shareholders above 1%.\n */\n async getShareholderOne(\n params: DateRangeParams & {\n page?: number;\n limit?: number;\n code?: string;\n name?: string;\n }\n ): Promise<PaginatedResponse<ShareholderOneItem>> {\n return this.client.get<PaginatedResponse<ShareholderOneItem>>(\n '/analysis/shareholder-one',\n params\n );\n }\n\n /**\n * Get shareholder above 1% chart.\n */\n async getShareholderOneChart(\n code: string,\n params: {\n broker?: string;\n name?: string;\n date?: string;\n }\n ): Promise<ShareholderOneChartPoint[]> {\n return this.client.get<ShareholderOneChartPoint[]>(\n `/analysis/shareholder-one-chart/${code}`,\n params\n );\n }\n\n /**\n * Get insider trading data.\n */\n async getInsiderTrading(\n params: DateRangeParams & {\n limit?: number;\n page?: number;\n name?: string;\n code?: string;\n }\n ): Promise<PaginatedResponse<InsiderTransaction>> {\n return this.client.get<PaginatedResponse<InsiderTransaction>>(\n '/analysis/shareholder-insider',\n params\n );\n }\n\n /**\n * Get insider chart.\n */\n async getInsiderChart(\n code: string,\n params: {\n name: string;\n date: string;\n }\n ): Promise<unknown> {\n return this.client.get<unknown>(`/analysis/insider-chart/${code}`, params);\n }\n\n /**\n * Get financial statement.\n */\n async getFinancialStatement(\n code: string,\n params: {\n statement: StatementType;\n type: PeriodType;\n limit: number;\n }\n ): Promise<FinancialStatementResponse> {\n return this.client.get<FinancialStatementResponse>(\n `/analysis/financial-statement/${code}`,\n { ...params, limit: Math.min(params.limit, 20) }\n );\n }\n\n /**\n * Get financial statement chart.\n */\n async getFinancialStatementChart(\n code: string,\n params: {\n statement: StatementType;\n type: PeriodType;\n limit: number;\n account: string;\n }\n ): Promise<FinancialStatementResponse['rows'][0]['values']> {\n return this.client.get<FinancialStatementResponse['rows'][0]['values']>(\n `/analysis/financial-statement-chart/${code}`,\n { ...params, limit: Math.min(params.limit, 20) }\n );\n }\n\n /**\n * Get key statistics.\n */\n async getKeyStat(\n code: string,\n params: {\n type: PeriodType;\n limit: number;\n }\n ): Promise<KeyStatResponse> {\n return this.client.get<KeyStatResponse>(`/analysis/keystat/${code}`, {\n ...params,\n limit: Math.min(params.limit, 20),\n });\n }\n\n /**\n * Get key statistics chart.\n */\n async getKeyStatChart(\n code: string,\n params: {\n type: PeriodType;\n limit: number;\n name: string;\n }\n ): Promise<KeyStatValue[]> {\n return this.client.get<KeyStatValue[]>(`/analysis/keystat-chart/${code}`, {\n ...params,\n limit: Math.min(params.limit, 20),\n });\n }\n\n /**\n * Get corporate action calendar.\n */\n async getCalendar(params: {\n code?: string;\n type?: CorporateActionType;\n page?: number;\n limit?: number;\n }): Promise<PaginatedResponse<CorporateActionCalendarItem>> {\n return this.client.get<PaginatedResponse<CorporateActionCalendarItem>>(\n '/analysis/calendar',\n params\n );\n }\n\n /**\n * Alias for getCalendar.\n */\n async getCorporateActionCalendar(params: {\n code?: string;\n type?: CorporateActionType;\n page?: number;\n limit?: number;\n }): Promise<PaginatedResponse<CorporateActionCalendarItem>> {\n return this.getCalendar(params);\n }\n}\n","import { HttpClient } from '../client';\n\nexport interface CreateWatchlistDto {\n group: string;\n code: string;\n price: number;\n note?: string;\n scope: string[];\n}\n\nexport interface UpdateWatchlistDto {\n group: string;\n price: number;\n}\n\nexport interface CreateGroupDto {\n name: string;\n}\n\nexport interface UpdateNoteWatchlistDto {\n note?: string;\n}\n\nexport class WatchlistsEndpoints {\n constructor(private client: HttpClient) {}\n\n /**\n * Get list of watchlists.\n */\n async list(group = 'null'): Promise<unknown[]> {\n return this.client.get<unknown[]>('/watchlists', { group });\n }\n\n /**\n * Add stock to watchlist.\n */\n async add(dto: CreateWatchlistDto): Promise<unknown> {\n return this.client.post<unknown>('/watchlists', dto);\n }\n\n /**\n * Delete watchlist entries.\n *\n * The current OpenAPI spec does not describe delete filters,\n * but the SDK keeps optional query params for batch deletion support.\n */\n async delete(params?: { ids?: string[] }): Promise<unknown> {\n return this.client.delete<unknown>('/watchlists', params);\n }\n\n /**\n * Get list of watchlist groups.\n */\n async listGroups(): Promise<unknown[]> {\n return this.client.get<unknown[]>('/watchlists/group');\n }\n\n /**\n * Add new watchlist group.\n */\n async addGroup(dto: CreateGroupDto): Promise<unknown> {\n return this.client.post<unknown>('/watchlists/group', dto);\n }\n\n /**\n * Update watchlist group.\n */\n async updateGroup(id: string, dto: CreateGroupDto): Promise<unknown> {\n return this.client.put<unknown>(`/watchlists/group/${id}`, dto);\n }\n\n /**\n * Delete watchlist group.\n */\n async deleteGroup(id: string): Promise<unknown> {\n return this.client.delete<unknown>(`/watchlists/group/${id}`);\n }\n\n /**\n * Update watchlist.\n */\n async update(id: string, dto: UpdateWatchlistDto): Promise<unknown> {\n return this.client.put<unknown>(`/watchlists/${id}`, dto);\n }\n\n /**\n * Update watchlist note.\n */\n async updateNote(id: string, dto: UpdateNoteWatchlistDto): Promise<unknown> {\n return this.client.patch<unknown>(`/watchlists/${id}`, dto);\n }\n}\n","import { HttpClient, InvezgoError } from '../client';\n\nexport interface AddJournalTransactionDto {\n code: string;\n broker: string;\n date: string;\n lot: number;\n fee: number;\n price: number;\n status?: 'BUY' | 'SELL';\n scope: string[];\n note: string | null;\n}\n\nexport interface NoteJournalTransactionDto {\n note?: string;\n}\n\nexport class JournalsEndpoints {\n constructor(private client: HttpClient) {}\n\n /**\n * Extract journal transactions from uploaded file.\n */\n async extractFromFile(file: File | Blob): Promise<unknown> {\n const formData = new FormData();\n formData.append('file', file);\n\n const url = `${this.client.baseURL}/journals/file`;\n const response = await fetch(url, {\n method: 'POST',\n headers: {\n Authorization: `Bearer ${this.client.apiKey}`,\n },\n body: formData,\n });\n\n if (!response.ok) {\n const data = (await response.json().catch(() => ({}))) as {\n message?: string;\n error?: string;\n };\n\n throw new InvezgoError(\n response.status,\n data.message || 'Failed to extract journal from file',\n data.error,\n data\n );\n }\n\n return response.json().catch(() => ({}));\n }\n\n /**\n * Add new journal transaction.\n */\n async add(dto: AddJournalTransactionDto): Promise<unknown> {\n return this.client.post<unknown>('/journals', dto);\n }\n\n /**\n * List journal transactions.\n */\n async list(): Promise<unknown[]> {\n return this.client.get<unknown[]>('/journals');\n }\n\n /**\n * Delete journal entries.\n *\n * The current OpenAPI spec does not describe delete filters,\n * but the SDK keeps optional query params for batch deletion support.\n */\n async delete(params?: { ids?: string[] }): Promise<unknown> {\n return this.client.delete<unknown>('/journals', params);\n }\n\n /**\n * Get journal transactions summary.\n */\n async getSummary(): Promise<unknown> {\n return this.client.get<unknown>('/journals/summary');\n }\n\n /**\n * Update journal transaction note.\n */\n async updateNote(id: string, dto: NoteJournalTransactionDto): Promise<unknown> {\n return this.client.patch<unknown>(`/journals/${id}`, dto);\n }\n}\n","import { HttpClient } from '../client';\r\n\r\nexport class PortfoliosEndpoints {\r\n constructor(private client: HttpClient) {}\r\n\r\n /**\r\n * Get list of portfolios\r\n */\r\n async list(): Promise<any[]> {\r\n return this.client.get<any[]>('/portfolios');\r\n }\r\n\r\n /**\r\n * Get portfolio summary\r\n */\r\n async getSummary(): Promise<any> {\r\n return this.client.get<any>('/portfolios/summary');\r\n }\r\n}\r\n\r\n","import { HttpClient } from '../client';\r\n\r\nexport class SearchEndpoints {\r\n constructor(private client: HttpClient) {}\r\n\r\n /**\r\n * Search for stocks or users\r\n */\r\n async search(query: string): Promise<any> {\r\n return this.client.get<any>('/search', { query });\r\n }\r\n\r\n /**\r\n * Search for stocks\r\n */\r\n async searchStock(query: string, cursor: string): Promise<any> {\r\n return this.client.get<any>('/search/stock', { query, cursor });\r\n }\r\n\r\n /**\r\n * Search for users\r\n */\r\n async searchUser(query: string, cursor: string): Promise<any> {\r\n return this.client.get<any>('/search/user', { query, cursor });\r\n }\r\n}\r\n\r\n","import { HttpClient } from '../client';\r\n\r\nexport class ProfileEndpoints {\r\n constructor(private client: HttpClient) {}\r\n\r\n /**\r\n * Get user profile details\r\n */\r\n async getUserDetails(username: string): Promise<any> {\r\n return this.client.get<any>(`/profile/detail/${username}`);\r\n }\r\n\r\n /**\r\n * Get user posts\r\n */\r\n async getUserPosts(username: string, page: string, limit: string): Promise<any> {\r\n return this.client.get<any>(`/profile/posts/${username}`, { page, limit });\r\n }\r\n\r\n /**\r\n * Get user posts by category\r\n */\r\n async getCategoryPosts(\r\n username: string,\r\n category: string,\r\n page: string,\r\n limit: string\r\n ): Promise<any> {\r\n return this.client.get<any>(`/profile/posts/${username}/${category}`, { page, limit });\r\n }\r\n\r\n /**\r\n * Get user watchlist\r\n */\r\n async getUserWatchlist(username: string): Promise<any> {\r\n return this.client.get<any>(`/profile/watchlist/${username}`);\r\n }\r\n\r\n /**\r\n * Get user followers\r\n */\r\n async getFollowers(username: string): Promise<any> {\r\n return this.client.get<any>(`/profile/follow/${username}`);\r\n }\r\n\r\n /**\r\n * Get users being followed\r\n */\r\n async getFollowing(username: string): Promise<any> {\r\n return this.client.get<any>(`/profile/following/${username}`);\r\n }\r\n\r\n /**\r\n * Get user memberships\r\n */\r\n async getMemberships(username: string): Promise<any> {\r\n return this.client.get<any>(`/profile/membership/${username}`);\r\n }\r\n}\r\n\r\n","import { HttpClient } from '../client';\n\nexport interface AddMembershipDto {\n name: string;\n price: number;\n benefit: string[];\n}\n\nexport class MembershipEndpoints {\n constructor(private client: HttpClient) {}\n\n /**\n * Get list of memberships.\n */\n async list(): Promise<unknown[]> {\n return this.client.get<unknown[]>('/membership');\n }\n\n /**\n * Add new membership.\n */\n async add(dto: AddMembershipDto): Promise<unknown> {\n return this.client.post<unknown>('/membership', dto);\n }\n\n /**\n * Get membership scopes.\n */\n async getScope(): Promise<unknown> {\n return this.client.get<unknown>('/membership/scope');\n }\n\n /**\n * Get membership transactions.\n */\n async getTransactions(): Promise<unknown[]> {\n return this.client.get<unknown[]>('/membership/list');\n }\n\n /**\n * Update membership.\n */\n async update(id: string, dto: AddMembershipDto): Promise<unknown> {\n return this.client.put<unknown>(`/membership/${id}`, dto);\n }\n\n /**\n * Delete membership.\n */\n async delete(id: string): Promise<unknown> {\n return this.client.delete<unknown>(`/membership/${id}`);\n }\n}\n","import { HttpClient } from '../client';\r\n\r\nexport class PostsEndpoints {\r\n constructor(private client: HttpClient) {}\r\n\r\n /**\r\n * Get all posts\r\n */\r\n async getAll(): Promise<any[]> {\r\n return this.client.get<any[]>('/posts');\r\n }\r\n\r\n /**\r\n * Get posts by category\r\n */\r\n async getByCategory(category: string): Promise<any[]> {\r\n return this.client.get<any[]>(`/posts/category/${category}`);\r\n }\r\n\r\n /**\r\n * Get posts for a stock\r\n */\r\n async getStockPosts(code: string): Promise<any[]> {\r\n return this.client.get<any[]>(`/posts/space/${code}`);\r\n }\r\n\r\n /**\r\n * Get stock posts by category\r\n */\r\n async getStockCategoryPosts(code: string, category: string): Promise<any[]> {\r\n return this.client.get<any[]>(`/posts/space/category/${code}/${category}`);\r\n }\r\n\r\n /**\r\n * Get post details\r\n */\r\n async getPostById(id: string): Promise<any> {\r\n return this.client.get<any>(`/posts/detail/${id}`);\r\n }\r\n\r\n /**\r\n * Get post comments\r\n */\r\n async getComments(id: string): Promise<any[]> {\r\n return this.client.get<any[]>(`/posts/comment/${id}`);\r\n }\r\n\r\n /**\r\n * Get liked posts\r\n */\r\n async getLiked(): Promise<any[]> {\r\n return this.client.get<any[]>('/posts/like');\r\n }\r\n\r\n /**\r\n * Get favorite posts\r\n */\r\n async getFavorites(): Promise<any[]> {\r\n return this.client.get<any[]>('/posts/favorite');\r\n }\r\n\r\n /**\r\n * Get post voters\r\n */\r\n async getVoters(id: string): Promise<any[]> {\r\n return this.client.get<any[]>(`/posts/vote/${id}`);\r\n }\r\n}\r\n\r\n","import { HttpClient } from '../client';\n\nexport class RecommendationEndpoints {\n constructor(private client: HttpClient) {}\n\n /**\n * Get user recommendations.\n */\n async getUserRecommendations(): Promise<unknown[]> {\n return this.client.get<unknown[]>('/recommendation/user');\n }\n}\n","import { HttpClient } from '../client';\r\n\r\nexport interface NoteTradeDto {\r\n note?: string;\r\n}\r\n\r\nexport class TradesEndpoints {\r\n constructor(private client: HttpClient) {}\r\n\r\n /**\r\n * Get list of realized trades\r\n */\r\n async list(): Promise<any[]> {\r\n return this.client.get<any[]>('/trades');\r\n }\r\n\r\n /**\r\n * Delete trades\r\n */\r\n async delete(params: { ids?: string[] }): Promise<any> {\r\n return this.client.delete<any>('/trades', params);\r\n }\r\n\r\n /**\r\n * Get trades summary\r\n */\r\n async getSummary(): Promise<any> {\r\n return this.client.get<any>('/trades/summary');\r\n }\r\n\r\n /**\r\n * Get trades summary chart\r\n */\r\n async getSummaryChart(): Promise<any> {\r\n return this.client.get<any>('/trades/summary-chart');\r\n }\r\n\r\n /**\r\n * Update trade note\r\n */\r\n async updateNote(id: string, dto: NoteTradeDto): Promise<any> {\r\n return this.client.patch<any>(`/trades/${id}`, dto);\r\n }\r\n}\r\n\r\n","import { HttpClient } from '../client';\nimport type { ScreenerCategory } from '../types';\n\nexport interface ScreenDto {\n formula: string;\n category: ScreenerCategory[];\n}\n\nexport interface ScreenSaveDto {\n name: string;\n description?: string;\n scope?: string[];\n formula: string;\n category: ScreenerCategory[];\n}\n\nexport interface ScreenUpdateDto {\n name: string;\n description?: string;\n scope?: string[];\n formula: string;\n category: ScreenerCategory[];\n}\n\nexport class ScreenerEndpoints {\n constructor(private client: HttpClient) {}\n\n /**\n * Get list of preset screeners.\n */\n async list(): Promise<unknown[]> {\n return this.client.get<unknown[]>('/screener');\n }\n\n /**\n * Save preset screener.\n */\n async save(dto: ScreenSaveDto): Promise<unknown> {\n return this.client.post<unknown>('/screener', dto);\n }\n\n /**\n * Update preset screener.\n */\n async update(id: string, dto: ScreenUpdateDto): Promise<unknown> {\n return this.client.put<unknown>(`/screener/${id}`, dto);\n }\n\n /**\n * Delete preset screener.\n */\n async delete(id: string): Promise<unknown> {\n return this.client.delete<unknown>(`/screener/${id}`);\n }\n\n /**\n * Run screener.\n */\n async screen(dto: ScreenDto): Promise<unknown[]> {\n return this.client.post<unknown[]>('/screener/screen', dto);\n }\n}\n","import { HttpClient } from './client';\nimport { AlertsEndpoints } from './endpoints/alerts';\nimport { AnalysisEndpoints } from './endpoints/analysis';\nimport { WatchlistsEndpoints } from './endpoints/watchlists';\nimport { JournalsEndpoints } from './endpoints/journals';\nimport { PortfoliosEndpoints } from './endpoints/portfolios';\nimport { SearchEndpoints } from './endpoints/search';\nimport { ProfileEndpoints } from './endpoints/profile';\nimport { MembershipEndpoints } from './endpoints/membership';\nimport { PostsEndpoints } from './endpoints/posts';\nimport { RecommendationEndpoints } from './endpoints/recommendation';\nimport { TradesEndpoints } from './endpoints/trades';\nimport { ScreenerEndpoints } from './endpoints/screener';\nimport type { InvezgoConfig } from './types';\n\nexport class Invezgo {\n public readonly alerts: AlertsEndpoints;\n public readonly analysis: AnalysisEndpoints;\n public readonly watchlists: WatchlistsEndpoints;\n public readonly journals: JournalsEndpoints;\n public readonly portfolios: PortfoliosEndpoints;\n public readonly search: SearchEndpoints;\n public readonly profile: ProfileEndpoints;\n public readonly membership: MembershipEndpoints;\n public readonly posts: PostsEndpoints;\n public readonly recommendation: RecommendationEndpoints;\n public readonly trades: TradesEndpoints;\n public readonly screener: ScreenerEndpoints;\n\n private client: HttpClient;\n\n constructor(config: InvezgoConfig) {\n this.client = new HttpClient(config);\n\n this.alerts = new AlertsEndpoints(this.client);\n this.analysis = new AnalysisEndpoints(this.client);\n this.watchlists = new WatchlistsEndpoints(this.client);\n this.journals = new JournalsEndpoints(this.client);\n this.portfolios = new PortfoliosEndpoints(this.client);\n this.search = new SearchEndpoints(this.client);\n this.profile = new ProfileEndpoints(this.client);\n this.membership = new MembershipEndpoints(this.client);\n this.posts = new PostsEndpoints(this.client);\n this.recommendation = new RecommendationEndpoints(this.client);\n this.trades = new TradesEndpoints(this.client);\n this.screener = new ScreenerEndpoints(this.client);\n }\n\n /**\n * Update API key.\n */\n setApiKey(apiKey: string): void {\n (this.client as { apiKey: string }).apiKey = apiKey;\n }\n\n /**\n * Check whether an API key is currently configured.\n */\n hasApiKey(): boolean {\n return !!(this.client as { apiKey: string }).apiKey;\n }\n}\n","/**\n * Invezgo SDK for JavaScript and TypeScript.\n *\n * Official SDK for accessing Invezgo API.\n *\n * @packageDocumentation\n */\n\nexport { Invezgo } from './invezgo';\nexport { InvezgoError } from './client';\nexport * from './types';\n\n// Re-export endpoint DTOs for convenience.\nexport * from './endpoints/alerts';\nexport * from './endpoints/watchlists';\nexport * from './endpoints/journals';\nexport * from './endpoints/membership';\nexport * from './endpoints/trades';\nexport * from './endpoints/screener';\nexport * from './endpoints/recommendation';\n\nimport { Invezgo } from './invezgo';\n\nexport default Invezgo;\n"],"names":[],"mappings":"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"}
package/dist/invezgo.d.ts CHANGED
@@ -1,37 +1,37 @@
1
+ import { AlertsEndpoints } from './endpoints/alerts';
1
2
  import { AnalysisEndpoints } from './endpoints/analysis';
2
3
  import { WatchlistsEndpoints } from './endpoints/watchlists';
3
4
  import { JournalsEndpoints } from './endpoints/journals';
4
5
  import { PortfoliosEndpoints } from './endpoints/portfolios';
5
- import { AiEndpoints } from './endpoints/ai';
6
6
  import { SearchEndpoints } from './endpoints/search';
7
7
  import { ProfileEndpoints } from './endpoints/profile';
8
8
  import { MembershipEndpoints } from './endpoints/membership';
9
9
  import { PostsEndpoints } from './endpoints/posts';
10
+ import { RecommendationEndpoints } from './endpoints/recommendation';
10
11
  import { TradesEndpoints } from './endpoints/trades';
11
12
  import { ScreenerEndpoints } from './endpoints/screener';
12
- import { HealthEndpoints } from './endpoints/health';
13
13
  import type { InvezgoConfig } from './types';
14
14
  export declare class Invezgo {
15
+ readonly alerts: AlertsEndpoints;
15
16
  readonly analysis: AnalysisEndpoints;
16
17
  readonly watchlists: WatchlistsEndpoints;
17
18
  readonly journals: JournalsEndpoints;
18
19
  readonly portfolios: PortfoliosEndpoints;
19
- readonly ai: AiEndpoints;
20
20
  readonly search: SearchEndpoints;
21
21
  readonly profile: ProfileEndpoints;
22
22
  readonly membership: MembershipEndpoints;
23
23
  readonly posts: PostsEndpoints;
24
+ readonly recommendation: RecommendationEndpoints;
24
25
  readonly trades: TradesEndpoints;
25
26
  readonly screener: ScreenerEndpoints;
26
- readonly health: HealthEndpoints;
27
27
  private client;
28
28
  constructor(config: InvezgoConfig);
29
29
  /**
30
- * Update API key
30
+ * Update API key.
31
31
  */
32
32
  setApiKey(apiKey: string): void;
33
33
  /**
34
- * Get current API key (without exposing it)
34
+ * Check whether an API key is currently configured.
35
35
  */
36
36
  hasApiKey(): boolean;
37
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"invezgo.d.ts","sourceRoot":"","sources":["../src/invezgo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,qBAAa,OAAO;IAClB,SAAgB,QAAQ,EAAE,iBAAiB,CAAC;IAC5C,SAAgB,UAAU,EAAE,mBAAmB,CAAC;IAChD,SAAgB,QAAQ,EAAE,iBAAiB,CAAC;IAC5C,SAAgB,UAAU,EAAE,mBAAmB,CAAC;IAChD,SAAgB,EAAE,EAAE,WAAW,CAAC;IAChC,SAAgB,MAAM,EAAE,eAAe,CAAC;IACxC,SAAgB,OAAO,EAAE,gBAAgB,CAAC;IAC1C,SAAgB,UAAU,EAAE,mBAAmB,CAAC;IAChD,SAAgB,KAAK,EAAE,cAAc,CAAC;IACtC,SAAgB,MAAM,EAAE,eAAe,CAAC;IACxC,SAAgB,QAAQ,EAAE,iBAAiB,CAAC;IAC5C,SAAgB,MAAM,EAAE,eAAe,CAAC;IAExC,OAAO,CAAC,MAAM,CAAa;gBAEf,MAAM,EAAE,aAAa;IAkBjC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B;;OAEG;IACH,SAAS,IAAI,OAAO;CAGrB"}
1
+ {"version":3,"file":"invezgo.d.ts","sourceRoot":"","sources":["../src/invezgo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,qBAAa,OAAO;IAClB,SAAgB,MAAM,EAAE,eAAe,CAAC;IACxC,SAAgB,QAAQ,EAAE,iBAAiB,CAAC;IAC5C,SAAgB,UAAU,EAAE,mBAAmB,CAAC;IAChD,SAAgB,QAAQ,EAAE,iBAAiB,CAAC;IAC5C,SAAgB,UAAU,EAAE,mBAAmB,CAAC;IAChD,SAAgB,MAAM,EAAE,eAAe,CAAC;IACxC,SAAgB,OAAO,EAAE,gBAAgB,CAAC;IAC1C,SAAgB,UAAU,EAAE,mBAAmB,CAAC;IAChD,SAAgB,KAAK,EAAE,cAAc,CAAC;IACtC,SAAgB,cAAc,EAAE,uBAAuB,CAAC;IACxD,SAAgB,MAAM,EAAE,eAAe,CAAC;IACxC,SAAgB,QAAQ,EAAE,iBAAiB,CAAC;IAE5C,OAAO,CAAC,MAAM,CAAa;gBAEf,MAAM,EAAE,aAAa;IAiBjC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B;;OAEG;IACH,SAAS,IAAI,OAAO;CAGrB"}