@copera.ai/sdk 2.1.0 → 2.1.2
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/README.md +38 -0
- package/dist/index.cjs +6 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +10 -1
- package/dist/index.d.mts +10 -1
- package/dist/index.mjs +6 -2
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -201,6 +201,43 @@ const newRow = await copera.board.createTableRow({
|
|
|
201
201
|
|
|
202
202
|
**Returns:** `Promise<Row>`
|
|
203
203
|
|
|
204
|
+
#### `authenticateTableRow(params)`
|
|
205
|
+
|
|
206
|
+
Authenticate a table row by matching an identifier column and verifying a password column. Useful for building custom authentication systems using board tables.
|
|
207
|
+
|
|
208
|
+
```typescript
|
|
209
|
+
const row = await copera.board.authenticateTableRow({
|
|
210
|
+
boardId: 'board-id',
|
|
211
|
+
tableId: 'table-id',
|
|
212
|
+
identifierColumnId: 'email-column-id',
|
|
213
|
+
identifierColumnValue: 'user@example.com',
|
|
214
|
+
passwordColumnId: 'password-column-id',
|
|
215
|
+
passwordColumnValue: 'user-password'
|
|
216
|
+
});
|
|
217
|
+
|
|
218
|
+
if ('error' in row) {
|
|
219
|
+
// Handle authentication error (400: not found, 401: invalid password)
|
|
220
|
+
console.error('Auth failed:', row.error);
|
|
221
|
+
} else {
|
|
222
|
+
// Authentication successful
|
|
223
|
+
console.log('Authenticated user:', row);
|
|
224
|
+
}
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
**Parameters:**
|
|
228
|
+
- `boardId` (string, required) - The board ID
|
|
229
|
+
- `tableId` (string, required) - The table ID
|
|
230
|
+
- `identifierColumnId` (string, required) - The column ID to use as identifier (e.g., email, username)
|
|
231
|
+
- `identifierColumnValue` (string, required) - The value to match in the identifier column
|
|
232
|
+
- `passwordColumnId` (string, required) - The password column ID
|
|
233
|
+
- `passwordColumnValue` (string, required) - The plaintext password to verify
|
|
234
|
+
|
|
235
|
+
**Returns:** `Promise<Row>` - The authenticated row (password columns are masked with `********`)
|
|
236
|
+
|
|
237
|
+
**Errors:**
|
|
238
|
+
- `400 Bad Request` - No row found with the provided identifier
|
|
239
|
+
- `401 Unauthorized` - Invalid password
|
|
240
|
+
|
|
204
241
|
### Channel Methods
|
|
205
242
|
|
|
206
243
|
#### `sendMessage(params)`
|
|
@@ -234,6 +271,7 @@ import {
|
|
|
234
271
|
Column,
|
|
235
272
|
ColumnValue,
|
|
236
273
|
SendMessageParams,
|
|
274
|
+
AuthenticateTableRowParams,
|
|
237
275
|
CoperaAIError
|
|
238
276
|
} from '@copera.ai/sdk';
|
|
239
277
|
```
|
package/dist/index.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
2
2
|
|
|
3
3
|
//#region src/version.ts
|
|
4
|
-
const COPERA_SDK_VERSION = "2.1.
|
|
4
|
+
const COPERA_SDK_VERSION = "2.1.2";
|
|
5
5
|
|
|
6
6
|
//#endregion
|
|
7
7
|
//#region src/constants.ts
|
|
@@ -51,7 +51,11 @@ function createRequest(apiKey, sandbox = false) {
|
|
|
51
51
|
}
|
|
52
52
|
});
|
|
53
53
|
const data = await response.json();
|
|
54
|
-
if (!response.ok) return {
|
|
54
|
+
if (!response.ok) return {
|
|
55
|
+
...data,
|
|
56
|
+
responseCode: response.status,
|
|
57
|
+
responseStatus: response.statusText
|
|
58
|
+
};
|
|
55
59
|
return data;
|
|
56
60
|
} catch (error) {
|
|
57
61
|
return { error: error.message };
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":[],"sources":["../src/version.ts","../src/constants.ts","../src/exceptions.ts","../src/requests.ts","../src/services/board/authenticate-table-row.ts","../src/services/board/create-table-row.ts","../src/services/board/get-board-details.ts","../src/services/board/get-board-table.ts","../src/services/board/get-table-row.ts","../src/services/board/list-board-tables.ts","../src/services/board/list-boards.ts","../src/services/board/list-table-rows.ts","../src/services/board/index.ts","../src/services/channel/send-message.ts","../src/services/channel/index.ts","../src/services/index.ts","../src/index.ts"],"sourcesContent":["/*This file is auto generated during build, DO NOT CHANGE OR MODIFY */\n\nexport const COPERA_SDK_VERSION = \"2.1.0\";\n","import { COPERA_SDK_VERSION } from \"./version.js\";\n\nexport const BASE_URL = \"https://api.copera.ai/public/v1\";\nexport const BASE_URL_DEV = \"https://api-dev.copera.ai/public/v1\";\n\nexport const COPERA_DOCS = \"https://developers.copera.ai\";\n\nexport function getHeaders(apiKey: string) {\n return {\n Authorization: `Bearer ${apiKey}`,\n \"Content-Type\": \"application/json\",\n \"User-Agent\": `NodeJS SDK ${COPERA_SDK_VERSION}`,\n };\n}\n","import { COPERA_DOCS } from \"./constants.js\";\n\n/**\n * Default class for CoperaAI exceptions and errors.\n *\n * It can be serialized to JSON through the `toJSON` method.\n */\nexport class CoperaAIError extends Error {\n constructor(message: string) {\n super(\n `CoperaAI SDK Error: ${message}\\n\\nPlease, refer to the documentation at: ${COPERA_DOCS}`,\n );\n this.name = \"CoperaAIError\";\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n };\n }\n}\n","import { BASE_URL, BASE_URL_DEV, getHeaders } from \"./constants.js\";\n\nexport function createRequest(\n apiKey: string,\n sandbox: boolean = false,\n): <TResponse>(path: string, options: RequestInit) => Promise<TResponse> {\n const defaultHeaders = getHeaders(apiKey);\n\n const baseUrl = sandbox ? BASE_URL_DEV : BASE_URL;\n\n return async <TResponse>(\n path: string,\n options: RequestInit,\n ): Promise<TResponse> => {\n try {\n const response = await fetch(`${baseUrl}${path}`, {\n ...options,\n headers: { ...defaultHeaders, ...options?.headers },\n });\n\n const data = await response.json();\n\n if (!response.ok) {\n return { error: data.message } as TResponse;\n }\n\n return data;\n } catch (error) {\n return { error: (error as Error).message } as TResponse;\n }\n };\n}\n","import type { createRequest } from \"../../requests.js\";\nimport type { AuthenticateTableRowParams, Row } from \"../../types.js\";\n\nexport function createAuthenticateTableRow(\n request: ReturnType<typeof createRequest>,\n) {\n return async function authenticateTableRow({\n boardId,\n tableId,\n identifierColumnId,\n identifierColumnValue,\n passwordColumnId,\n passwordColumnValue,\n }: AuthenticateTableRowParams) {\n return request<Row>(`/board/${boardId}/table/${tableId}/row/authenticate`, {\n method: \"POST\",\n body: JSON.stringify({\n identifierColumnId,\n identifierColumnValue,\n passwordColumnId,\n passwordColumnValue,\n }),\n });\n };\n}\n","import type { createRequest } from \"../../requests.js\";\nimport type { ColumnValue, Row } from \"../../types.js\";\n\nexport function createCreateTableRow(\n request: ReturnType<typeof createRequest>,\n) {\n return async function createTableRow({\n boardId,\n tableId,\n description,\n columns,\n }: {\n boardId: string;\n tableId: string;\n description?: string;\n columns: ColumnValue[];\n }) {\n return request<Row>(`/board/${boardId}/table/${tableId}/row`, {\n method: \"POST\",\n body: JSON.stringify({\n description,\n columns,\n }),\n });\n };\n}\n","import type { createRequest } from \"../../requests.js\";\nimport type { Board } from \"../../types.js\";\n\nexport function createGetBoardDetails(\n request: ReturnType<typeof createRequest>,\n) {\n return async function getBoardDetails({ boardId }: { boardId: string }) {\n return request<Board>(`/board/${boardId}`, {\n method: \"GET\",\n });\n };\n}\n","import type { createRequest } from \"../../requests.js\";\nimport type { Table } from \"../../types.js\";\n\nexport function createGetBoardTable(request: ReturnType<typeof createRequest>) {\n return async function getBoardTable({\n boardId,\n tableId,\n }: {\n boardId: string;\n tableId: string;\n }) {\n return request<Table>(`/board/${boardId}/table/${tableId}`, {\n method: \"GET\",\n });\n };\n}\n","import type { createRequest } from \"../../requests.js\";\nimport type { Row } from \"../../types.js\";\n\nexport function createGetTableRow(request: ReturnType<typeof createRequest>) {\n return async function getTableRow({\n boardId,\n tableId,\n rowId,\n }: {\n boardId: string;\n tableId: string;\n rowId: string;\n }) {\n return request<Row>(`/board/${boardId}/table/${tableId}/row/${rowId}`, {\n method: \"GET\",\n });\n };\n}\n","import type { createRequest } from \"../../requests.js\";\nimport type { Table } from \"../../types.js\";\n\nexport function createListBoardTables(\n request: ReturnType<typeof createRequest>,\n) {\n return async function listBoardTables({ boardId }: { boardId: string }) {\n return request<Table[]>(`/board/${boardId}/tables`, {\n method: \"GET\",\n });\n };\n}\n","import type { createRequest } from \"../../requests.js\";\nimport type { Board } from \"../../types.js\";\n\nexport function createListBoards(request: ReturnType<typeof createRequest>) {\n return async function listBoards() {\n return request<Board[]>(\"/board/list-boards\", {\n method: \"GET\",\n });\n };\n}\n","import type { createRequest } from \"../../requests.js\";\nimport type { Row } from \"../../types.js\";\n\nexport function createListTableRows(request: ReturnType<typeof createRequest>) {\n return async function listTableRows({\n boardId,\n tableId,\n }: {\n boardId: string;\n tableId: string;\n }) {\n return request<Row[]>(`/board/${boardId}/table/${tableId}/rows`, {\n method: \"GET\",\n });\n };\n}\n","import type { createRequest } from \"../../requests.js\";\nimport { createAuthenticateTableRow } from \"./authenticate-table-row.js\";\nimport { createCreateTableRow } from \"./create-table-row.js\";\nimport { createGetBoardDetails } from \"./get-board-details.js\";\nimport { createGetBoardTable } from \"./get-board-table.js\";\nimport { createGetTableRow } from \"./get-table-row.js\";\nimport { createListBoardTables } from \"./list-board-tables.js\";\nimport { createListBoards } from \"./list-boards.js\";\nimport { createListTableRows } from \"./list-table-rows.js\";\n\nexport function createBoardHandlers(request: ReturnType<typeof createRequest>) {\n return {\n listBoards: createListBoards(request),\n getBoardDetails: createGetBoardDetails(request),\n listBoardTables: createListBoardTables(request),\n getBoardTable: createGetBoardTable(request),\n listTableRows: createListTableRows(request),\n getTableRow: createGetTableRow(request),\n createTableRow: createCreateTableRow(request),\n authenticateTableRow: createAuthenticateTableRow(request),\n };\n}\n","import type { createRequest } from \"../../requests.js\";\nimport type { SendMessageParams } from \"../../types.js\";\n\nexport function createSendMessage(request: ReturnType<typeof createRequest>) {\n return async function sendMessage({\n channelId,\n message,\n name,\n }: SendMessageParams) {\n return request<void>(`/chat/channel/${channelId}/send-message`, {\n method: \"POST\",\n body: JSON.stringify({\n message,\n name,\n }),\n });\n };\n}\n","import type { createRequest } from \"../../requests.js\";\nimport { createSendMessage } from \"./send-message.js\";\n\nexport function createChannelHandlers(\n request: ReturnType<typeof createRequest>,\n) {\n return {\n sendMessage: createSendMessage(request),\n };\n}\n","import type { createRequest } from \"../requests.js\";\nimport { createBoardHandlers } from \"./board/index.js\";\nimport { createChannelHandlers } from \"./channel/index.js\";\n\nexport function getHandlers(request: ReturnType<typeof createRequest>) {\n return {\n board: createBoardHandlers(request),\n channel: createChannelHandlers(request),\n };\n}\n","import { CoperaAIError } from \"./exceptions.js\";\nimport { createRequest } from \"./requests.js\";\nimport { getHandlers } from \"./services/index.js\";\n\ninterface CoperaAIOptions {\n apiKey: string;\n sandbox?: boolean;\n}\nexport function CoperaAI({ apiKey, sandbox = false }: CoperaAIOptions) {\n if (!apiKey) throw new CoperaAIError(\"API key is required!\");\n const request = createRequest(apiKey, sandbox);\n\n return getHandlers(request);\n}\n\nexport { CoperaAIError };\n\nexport default CoperaAI;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs","names":[],"sources":["../src/version.ts","../src/constants.ts","../src/exceptions.ts","../src/requests.ts","../src/services/board/authenticate-table-row.ts","../src/services/board/create-table-row.ts","../src/services/board/get-board-details.ts","../src/services/board/get-board-table.ts","../src/services/board/get-table-row.ts","../src/services/board/list-board-tables.ts","../src/services/board/list-boards.ts","../src/services/board/list-table-rows.ts","../src/services/board/index.ts","../src/services/channel/send-message.ts","../src/services/channel/index.ts","../src/services/index.ts","../src/index.ts"],"sourcesContent":["/*This file is auto generated during build, DO NOT CHANGE OR MODIFY */\n\nexport const COPERA_SDK_VERSION = \"2.1.2\";\n","import { COPERA_SDK_VERSION } from \"./version.js\";\n\nexport const BASE_URL = \"https://api.copera.ai/public/v1\";\nexport const BASE_URL_DEV = \"https://api-dev.copera.ai/public/v1\";\n\nexport const COPERA_DOCS = \"https://developers.copera.ai\";\n\nexport function getHeaders(apiKey: string) {\n return {\n Authorization: `Bearer ${apiKey}`,\n \"Content-Type\": \"application/json\",\n \"User-Agent\": `NodeJS SDK ${COPERA_SDK_VERSION}`,\n };\n}\n","import { COPERA_DOCS } from \"./constants.js\";\n\n/**\n * Default class for CoperaAI exceptions and errors.\n *\n * It can be serialized to JSON through the `toJSON` method.\n */\nexport class CoperaAIError extends Error {\n constructor(message: string) {\n super(\n `CoperaAI SDK Error: ${message}\\n\\nPlease, refer to the documentation at: ${COPERA_DOCS}`,\n );\n this.name = \"CoperaAIError\";\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n };\n }\n}\n","import { BASE_URL, BASE_URL_DEV, getHeaders } from \"./constants.js\";\n\nexport function createRequest(\n apiKey: string,\n sandbox: boolean = false,\n): <TResponse>(path: string, options: RequestInit) => Promise<TResponse> {\n const defaultHeaders = getHeaders(apiKey);\n\n const baseUrl = sandbox ? BASE_URL_DEV : BASE_URL;\n\n return async <TResponse>(\n path: string,\n options: RequestInit,\n ): Promise<TResponse> => {\n try {\n const response = await fetch(`${baseUrl}${path}`, {\n ...options,\n headers: { ...defaultHeaders, ...options?.headers },\n });\n\n const data = await response.json();\n\n if (!response.ok) {\n return {\n ...data,\n responseCode: response.status,\n responseStatus: response.statusText,\n } as TResponse;\n }\n\n return data;\n } catch (error) {\n return { error: (error as Error).message } as TResponse;\n }\n };\n}\n","import type { createRequest } from \"../../requests.js\";\nimport type { AuthenticateTableRowParams, Row } from \"../../types.js\";\n\nexport function createAuthenticateTableRow(\n request: ReturnType<typeof createRequest>,\n) {\n return async function authenticateTableRow({\n boardId,\n tableId,\n identifierColumnId,\n identifierColumnValue,\n passwordColumnId,\n passwordColumnValue,\n }: AuthenticateTableRowParams) {\n return request<Row>(`/board/${boardId}/table/${tableId}/row/authenticate`, {\n method: \"POST\",\n body: JSON.stringify({\n identifierColumnId,\n identifierColumnValue,\n passwordColumnId,\n passwordColumnValue,\n }),\n });\n };\n}\n","import type { createRequest } from \"../../requests.js\";\nimport type { ColumnValue, Row } from \"../../types.js\";\n\nexport function createCreateTableRow(\n request: ReturnType<typeof createRequest>,\n) {\n return async function createTableRow({\n boardId,\n tableId,\n description,\n columns,\n }: {\n boardId: string;\n tableId: string;\n description?: string;\n columns: ColumnValue[];\n }) {\n return request<Row>(`/board/${boardId}/table/${tableId}/row`, {\n method: \"POST\",\n body: JSON.stringify({\n description,\n columns,\n }),\n });\n };\n}\n","import type { createRequest } from \"../../requests.js\";\nimport type { Board } from \"../../types.js\";\n\nexport function createGetBoardDetails(\n request: ReturnType<typeof createRequest>,\n) {\n return async function getBoardDetails({ boardId }: { boardId: string }) {\n return request<Board>(`/board/${boardId}`, {\n method: \"GET\",\n });\n };\n}\n","import type { createRequest } from \"../../requests.js\";\nimport type { Table } from \"../../types.js\";\n\nexport function createGetBoardTable(request: ReturnType<typeof createRequest>) {\n return async function getBoardTable({\n boardId,\n tableId,\n }: {\n boardId: string;\n tableId: string;\n }) {\n return request<Table>(`/board/${boardId}/table/${tableId}`, {\n method: \"GET\",\n });\n };\n}\n","import type { createRequest } from \"../../requests.js\";\nimport type { Row } from \"../../types.js\";\n\nexport function createGetTableRow(request: ReturnType<typeof createRequest>) {\n return async function getTableRow({\n boardId,\n tableId,\n rowId,\n }: {\n boardId: string;\n tableId: string;\n rowId: string;\n }) {\n return request<Row>(`/board/${boardId}/table/${tableId}/row/${rowId}`, {\n method: \"GET\",\n });\n };\n}\n","import type { createRequest } from \"../../requests.js\";\nimport type { Table } from \"../../types.js\";\n\nexport function createListBoardTables(\n request: ReturnType<typeof createRequest>,\n) {\n return async function listBoardTables({ boardId }: { boardId: string }) {\n return request<Table[]>(`/board/${boardId}/tables`, {\n method: \"GET\",\n });\n };\n}\n","import type { createRequest } from \"../../requests.js\";\nimport type { Board } from \"../../types.js\";\n\nexport function createListBoards(request: ReturnType<typeof createRequest>) {\n return async function listBoards() {\n return request<Board[]>(\"/board/list-boards\", {\n method: \"GET\",\n });\n };\n}\n","import type { createRequest } from \"../../requests.js\";\nimport type { Row } from \"../../types.js\";\n\nexport function createListTableRows(request: ReturnType<typeof createRequest>) {\n return async function listTableRows({\n boardId,\n tableId,\n }: {\n boardId: string;\n tableId: string;\n }) {\n return request<Row[]>(`/board/${boardId}/table/${tableId}/rows`, {\n method: \"GET\",\n });\n };\n}\n","import type { createRequest } from \"../../requests.js\";\nimport { createAuthenticateTableRow } from \"./authenticate-table-row.js\";\nimport { createCreateTableRow } from \"./create-table-row.js\";\nimport { createGetBoardDetails } from \"./get-board-details.js\";\nimport { createGetBoardTable } from \"./get-board-table.js\";\nimport { createGetTableRow } from \"./get-table-row.js\";\nimport { createListBoardTables } from \"./list-board-tables.js\";\nimport { createListBoards } from \"./list-boards.js\";\nimport { createListTableRows } from \"./list-table-rows.js\";\n\nexport function createBoardHandlers(request: ReturnType<typeof createRequest>) {\n return {\n listBoards: createListBoards(request),\n getBoardDetails: createGetBoardDetails(request),\n listBoardTables: createListBoardTables(request),\n getBoardTable: createGetBoardTable(request),\n listTableRows: createListTableRows(request),\n getTableRow: createGetTableRow(request),\n createTableRow: createCreateTableRow(request),\n authenticateTableRow: createAuthenticateTableRow(request),\n };\n}\n","import type { createRequest } from \"../../requests.js\";\nimport type { SendMessageParams } from \"../../types.js\";\n\nexport function createSendMessage(request: ReturnType<typeof createRequest>) {\n return async function sendMessage({\n channelId,\n message,\n name,\n }: SendMessageParams) {\n return request<void>(`/chat/channel/${channelId}/send-message`, {\n method: \"POST\",\n body: JSON.stringify({\n message,\n name,\n }),\n });\n };\n}\n","import type { createRequest } from \"../../requests.js\";\nimport { createSendMessage } from \"./send-message.js\";\n\nexport function createChannelHandlers(\n request: ReturnType<typeof createRequest>,\n) {\n return {\n sendMessage: createSendMessage(request),\n };\n}\n","import type { createRequest } from \"../requests.js\";\nimport { createBoardHandlers } from \"./board/index.js\";\nimport { createChannelHandlers } from \"./channel/index.js\";\n\nexport function getHandlers(request: ReturnType<typeof createRequest>) {\n return {\n board: createBoardHandlers(request),\n channel: createChannelHandlers(request),\n };\n}\n","import { CoperaAIError } from \"./exceptions.js\";\nimport { createRequest } from \"./requests.js\";\nimport { getHandlers } from \"./services/index.js\";\n\ninterface CoperaAIOptions {\n apiKey: string;\n sandbox?: boolean;\n}\nexport function CoperaAI({ apiKey, sandbox = false }: CoperaAIOptions) {\n if (!apiKey) throw new CoperaAIError(\"API key is required!\");\n const request = createRequest(apiKey, sandbox);\n\n return getHandlers(request);\n}\n\nexport { CoperaAIError };\n\nexport * from \"./types.js\";\n\nexport default CoperaAI;\n"],"mappings":"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"}
|
package/dist/index.d.cts
CHANGED
|
@@ -39,6 +39,12 @@ interface SendMessageParams {
|
|
|
39
39
|
message: string;
|
|
40
40
|
name?: string;
|
|
41
41
|
}
|
|
42
|
+
interface CreateRowParams {
|
|
43
|
+
boardId: string;
|
|
44
|
+
tableId: string;
|
|
45
|
+
description?: string;
|
|
46
|
+
columns: ColumnValue[];
|
|
47
|
+
}
|
|
42
48
|
interface AuthenticateTableRowParams {
|
|
43
49
|
boardId: string;
|
|
44
50
|
tableId: string;
|
|
@@ -47,6 +53,9 @@ interface AuthenticateTableRowParams {
|
|
|
47
53
|
passwordColumnId: string;
|
|
48
54
|
passwordColumnValue: string;
|
|
49
55
|
}
|
|
56
|
+
interface ApiError {
|
|
57
|
+
error: string;
|
|
58
|
+
}
|
|
50
59
|
//#endregion
|
|
51
60
|
//#region src/exceptions.d.ts
|
|
52
61
|
/**
|
|
@@ -135,5 +144,5 @@ declare function CoperaAI({
|
|
|
135
144
|
};
|
|
136
145
|
};
|
|
137
146
|
//#endregion
|
|
138
|
-
export { CoperaAI, CoperaAI as default, CoperaAIError };
|
|
147
|
+
export { ApiError, AuthenticateTableRowParams, Board, Column, ColumnValue, CoperaAI, CoperaAI as default, CoperaAIError, CreateRowParams, Row, SendMessageParams, Table };
|
|
139
148
|
//# sourceMappingURL=index.d.cts.map
|
package/dist/index.d.mts
CHANGED
|
@@ -39,6 +39,12 @@ interface SendMessageParams {
|
|
|
39
39
|
message: string;
|
|
40
40
|
name?: string;
|
|
41
41
|
}
|
|
42
|
+
interface CreateRowParams {
|
|
43
|
+
boardId: string;
|
|
44
|
+
tableId: string;
|
|
45
|
+
description?: string;
|
|
46
|
+
columns: ColumnValue[];
|
|
47
|
+
}
|
|
42
48
|
interface AuthenticateTableRowParams {
|
|
43
49
|
boardId: string;
|
|
44
50
|
tableId: string;
|
|
@@ -47,6 +53,9 @@ interface AuthenticateTableRowParams {
|
|
|
47
53
|
passwordColumnId: string;
|
|
48
54
|
passwordColumnValue: string;
|
|
49
55
|
}
|
|
56
|
+
interface ApiError {
|
|
57
|
+
error: string;
|
|
58
|
+
}
|
|
50
59
|
//#endregion
|
|
51
60
|
//#region src/exceptions.d.ts
|
|
52
61
|
/**
|
|
@@ -135,5 +144,5 @@ declare function CoperaAI({
|
|
|
135
144
|
};
|
|
136
145
|
};
|
|
137
146
|
//#endregion
|
|
138
|
-
export { CoperaAI, CoperaAI as default, CoperaAIError };
|
|
147
|
+
export { ApiError, AuthenticateTableRowParams, Board, Column, ColumnValue, CoperaAI, CoperaAI as default, CoperaAIError, CreateRowParams, Row, SendMessageParams, Table };
|
|
139
148
|
//# sourceMappingURL=index.d.mts.map
|
package/dist/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
//#region src/version.ts
|
|
2
|
-
const COPERA_SDK_VERSION = "2.1.
|
|
2
|
+
const COPERA_SDK_VERSION = "2.1.2";
|
|
3
3
|
|
|
4
4
|
//#endregion
|
|
5
5
|
//#region src/constants.ts
|
|
@@ -49,7 +49,11 @@ function createRequest(apiKey, sandbox = false) {
|
|
|
49
49
|
}
|
|
50
50
|
});
|
|
51
51
|
const data = await response.json();
|
|
52
|
-
if (!response.ok) return {
|
|
52
|
+
if (!response.ok) return {
|
|
53
|
+
...data,
|
|
54
|
+
responseCode: response.status,
|
|
55
|
+
responseStatus: response.statusText
|
|
56
|
+
};
|
|
53
57
|
return data;
|
|
54
58
|
} catch (error) {
|
|
55
59
|
return { error: error.message };
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":["../src/version.ts","../src/constants.ts","../src/exceptions.ts","../src/requests.ts","../src/services/board/authenticate-table-row.ts","../src/services/board/create-table-row.ts","../src/services/board/get-board-details.ts","../src/services/board/get-board-table.ts","../src/services/board/get-table-row.ts","../src/services/board/list-board-tables.ts","../src/services/board/list-boards.ts","../src/services/board/list-table-rows.ts","../src/services/board/index.ts","../src/services/channel/send-message.ts","../src/services/channel/index.ts","../src/services/index.ts","../src/index.ts"],"sourcesContent":["/*This file is auto generated during build, DO NOT CHANGE OR MODIFY */\n\nexport const COPERA_SDK_VERSION = \"2.1.0\";\n","import { COPERA_SDK_VERSION } from \"./version.js\";\n\nexport const BASE_URL = \"https://api.copera.ai/public/v1\";\nexport const BASE_URL_DEV = \"https://api-dev.copera.ai/public/v1\";\n\nexport const COPERA_DOCS = \"https://developers.copera.ai\";\n\nexport function getHeaders(apiKey: string) {\n return {\n Authorization: `Bearer ${apiKey}`,\n \"Content-Type\": \"application/json\",\n \"User-Agent\": `NodeJS SDK ${COPERA_SDK_VERSION}`,\n };\n}\n","import { COPERA_DOCS } from \"./constants.js\";\n\n/**\n * Default class for CoperaAI exceptions and errors.\n *\n * It can be serialized to JSON through the `toJSON` method.\n */\nexport class CoperaAIError extends Error {\n constructor(message: string) {\n super(\n `CoperaAI SDK Error: ${message}\\n\\nPlease, refer to the documentation at: ${COPERA_DOCS}`,\n );\n this.name = \"CoperaAIError\";\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n };\n }\n}\n","import { BASE_URL, BASE_URL_DEV, getHeaders } from \"./constants.js\";\n\nexport function createRequest(\n apiKey: string,\n sandbox: boolean = false,\n): <TResponse>(path: string, options: RequestInit) => Promise<TResponse> {\n const defaultHeaders = getHeaders(apiKey);\n\n const baseUrl = sandbox ? BASE_URL_DEV : BASE_URL;\n\n return async <TResponse>(\n path: string,\n options: RequestInit,\n ): Promise<TResponse> => {\n try {\n const response = await fetch(`${baseUrl}${path}`, {\n ...options,\n headers: { ...defaultHeaders, ...options?.headers },\n });\n\n const data = await response.json();\n\n if (!response.ok) {\n return { error: data.message } as TResponse;\n }\n\n return data;\n } catch (error) {\n return { error: (error as Error).message } as TResponse;\n }\n };\n}\n","import type { createRequest } from \"../../requests.js\";\nimport type { AuthenticateTableRowParams, Row } from \"../../types.js\";\n\nexport function createAuthenticateTableRow(\n request: ReturnType<typeof createRequest>,\n) {\n return async function authenticateTableRow({\n boardId,\n tableId,\n identifierColumnId,\n identifierColumnValue,\n passwordColumnId,\n passwordColumnValue,\n }: AuthenticateTableRowParams) {\n return request<Row>(`/board/${boardId}/table/${tableId}/row/authenticate`, {\n method: \"POST\",\n body: JSON.stringify({\n identifierColumnId,\n identifierColumnValue,\n passwordColumnId,\n passwordColumnValue,\n }),\n });\n };\n}\n","import type { createRequest } from \"../../requests.js\";\nimport type { ColumnValue, Row } from \"../../types.js\";\n\nexport function createCreateTableRow(\n request: ReturnType<typeof createRequest>,\n) {\n return async function createTableRow({\n boardId,\n tableId,\n description,\n columns,\n }: {\n boardId: string;\n tableId: string;\n description?: string;\n columns: ColumnValue[];\n }) {\n return request<Row>(`/board/${boardId}/table/${tableId}/row`, {\n method: \"POST\",\n body: JSON.stringify({\n description,\n columns,\n }),\n });\n };\n}\n","import type { createRequest } from \"../../requests.js\";\nimport type { Board } from \"../../types.js\";\n\nexport function createGetBoardDetails(\n request: ReturnType<typeof createRequest>,\n) {\n return async function getBoardDetails({ boardId }: { boardId: string }) {\n return request<Board>(`/board/${boardId}`, {\n method: \"GET\",\n });\n };\n}\n","import type { createRequest } from \"../../requests.js\";\nimport type { Table } from \"../../types.js\";\n\nexport function createGetBoardTable(request: ReturnType<typeof createRequest>) {\n return async function getBoardTable({\n boardId,\n tableId,\n }: {\n boardId: string;\n tableId: string;\n }) {\n return request<Table>(`/board/${boardId}/table/${tableId}`, {\n method: \"GET\",\n });\n };\n}\n","import type { createRequest } from \"../../requests.js\";\nimport type { Row } from \"../../types.js\";\n\nexport function createGetTableRow(request: ReturnType<typeof createRequest>) {\n return async function getTableRow({\n boardId,\n tableId,\n rowId,\n }: {\n boardId: string;\n tableId: string;\n rowId: string;\n }) {\n return request<Row>(`/board/${boardId}/table/${tableId}/row/${rowId}`, {\n method: \"GET\",\n });\n };\n}\n","import type { createRequest } from \"../../requests.js\";\nimport type { Table } from \"../../types.js\";\n\nexport function createListBoardTables(\n request: ReturnType<typeof createRequest>,\n) {\n return async function listBoardTables({ boardId }: { boardId: string }) {\n return request<Table[]>(`/board/${boardId}/tables`, {\n method: \"GET\",\n });\n };\n}\n","import type { createRequest } from \"../../requests.js\";\nimport type { Board } from \"../../types.js\";\n\nexport function createListBoards(request: ReturnType<typeof createRequest>) {\n return async function listBoards() {\n return request<Board[]>(\"/board/list-boards\", {\n method: \"GET\",\n });\n };\n}\n","import type { createRequest } from \"../../requests.js\";\nimport type { Row } from \"../../types.js\";\n\nexport function createListTableRows(request: ReturnType<typeof createRequest>) {\n return async function listTableRows({\n boardId,\n tableId,\n }: {\n boardId: string;\n tableId: string;\n }) {\n return request<Row[]>(`/board/${boardId}/table/${tableId}/rows`, {\n method: \"GET\",\n });\n };\n}\n","import type { createRequest } from \"../../requests.js\";\nimport { createAuthenticateTableRow } from \"./authenticate-table-row.js\";\nimport { createCreateTableRow } from \"./create-table-row.js\";\nimport { createGetBoardDetails } from \"./get-board-details.js\";\nimport { createGetBoardTable } from \"./get-board-table.js\";\nimport { createGetTableRow } from \"./get-table-row.js\";\nimport { createListBoardTables } from \"./list-board-tables.js\";\nimport { createListBoards } from \"./list-boards.js\";\nimport { createListTableRows } from \"./list-table-rows.js\";\n\nexport function createBoardHandlers(request: ReturnType<typeof createRequest>) {\n return {\n listBoards: createListBoards(request),\n getBoardDetails: createGetBoardDetails(request),\n listBoardTables: createListBoardTables(request),\n getBoardTable: createGetBoardTable(request),\n listTableRows: createListTableRows(request),\n getTableRow: createGetTableRow(request),\n createTableRow: createCreateTableRow(request),\n authenticateTableRow: createAuthenticateTableRow(request),\n };\n}\n","import type { createRequest } from \"../../requests.js\";\nimport type { SendMessageParams } from \"../../types.js\";\n\nexport function createSendMessage(request: ReturnType<typeof createRequest>) {\n return async function sendMessage({\n channelId,\n message,\n name,\n }: SendMessageParams) {\n return request<void>(`/chat/channel/${channelId}/send-message`, {\n method: \"POST\",\n body: JSON.stringify({\n message,\n name,\n }),\n });\n };\n}\n","import type { createRequest } from \"../../requests.js\";\nimport { createSendMessage } from \"./send-message.js\";\n\nexport function createChannelHandlers(\n request: ReturnType<typeof createRequest>,\n) {\n return {\n sendMessage: createSendMessage(request),\n };\n}\n","import type { createRequest } from \"../requests.js\";\nimport { createBoardHandlers } from \"./board/index.js\";\nimport { createChannelHandlers } from \"./channel/index.js\";\n\nexport function getHandlers(request: ReturnType<typeof createRequest>) {\n return {\n board: createBoardHandlers(request),\n channel: createChannelHandlers(request),\n };\n}\n","import { CoperaAIError } from \"./exceptions.js\";\nimport { createRequest } from \"./requests.js\";\nimport { getHandlers } from \"./services/index.js\";\n\ninterface CoperaAIOptions {\n apiKey: string;\n sandbox?: boolean;\n}\nexport function CoperaAI({ apiKey, sandbox = false }: CoperaAIOptions) {\n if (!apiKey) throw new CoperaAIError(\"API key is required!\");\n const request = createRequest(apiKey, sandbox);\n\n return getHandlers(request);\n}\n\nexport { CoperaAIError };\n\nexport default CoperaAI;\n"],"mappings":";AAEA,MAAa,qBAAqB;;;;ACAlC,MAAa,WAAW;AACxB,MAAa,eAAe;AAE5B,MAAa,cAAc;AAE3B,SAAgB,WAAW,QAAgB;AACzC,QAAO;EACL,eAAe,UAAU;EACzB,gBAAgB;EAChB,cAAc,cAAc;EAC7B;;;;;;;;;;ACLH,IAAa,gBAAb,cAAmC,MAAM;CACvC,YAAY,SAAiB;AAC3B,QACE,uBAAuB,QAAQ,6CAA6C,cAC7E;AACD,OAAK,OAAO;;CAGd,SAAS;AACP,SAAO;GACL,MAAM,KAAK;GACX,SAAS,KAAK;GACf;;;;;;ACjBL,SAAgB,cACd,QACA,UAAmB,OACoD;CACvE,MAAM,iBAAiB,WAAW,OAAO;CAEzC,MAAM,UAAU,UAAU,eAAe;AAEzC,QAAO,OACL,MACA,YACuB;AACvB,MAAI;GACF,MAAM,WAAW,MAAM,MAAM,GAAG,UAAU,QAAQ;IAChD,GAAG;IACH,SAAS;KAAE,GAAG;KAAgB,GAAG,SAAS;KAAS;IACpD,CAAC;GAEF,MAAM,OAAO,MAAM,SAAS,MAAM;AAElC,OAAI,CAAC,SAAS,GACZ,QAAO,EAAE,OAAO,KAAK,SAAS;AAGhC,UAAO;WACA,OAAO;AACd,UAAO,EAAE,OAAQ,MAAgB,SAAS;;;;;;;ACzBhD,SAAgB,2BACd,SACA;AACA,QAAO,eAAe,qBAAqB,EACzC,SACA,SACA,oBACA,uBACA,kBACA,uBAC6B;AAC7B,SAAO,QAAa,UAAU,QAAQ,SAAS,QAAQ,oBAAoB;GACzE,QAAQ;GACR,MAAM,KAAK,UAAU;IACnB;IACA;IACA;IACA;IACD,CAAC;GACH,CAAC;;;;;;ACnBN,SAAgB,qBACd,SACA;AACA,QAAO,eAAe,eAAe,EACnC,SACA,SACA,aACA,WAMC;AACD,SAAO,QAAa,UAAU,QAAQ,SAAS,QAAQ,OAAO;GAC5D,QAAQ;GACR,MAAM,KAAK,UAAU;IACnB;IACA;IACD,CAAC;GACH,CAAC;;;;;;ACpBN,SAAgB,sBACd,SACA;AACA,QAAO,eAAe,gBAAgB,EAAE,WAAgC;AACtE,SAAO,QAAe,UAAU,WAAW,EACzC,QAAQ,OACT,CAAC;;;;;;ACNN,SAAgB,oBAAoB,SAA2C;AAC7E,QAAO,eAAe,cAAc,EAClC,SACA,WAIC;AACD,SAAO,QAAe,UAAU,QAAQ,SAAS,WAAW,EAC1D,QAAQ,OACT,CAAC;;;;;;ACVN,SAAgB,kBAAkB,SAA2C;AAC3E,QAAO,eAAe,YAAY,EAChC,SACA,SACA,SAKC;AACD,SAAO,QAAa,UAAU,QAAQ,SAAS,QAAQ,OAAO,SAAS,EACrE,QAAQ,OACT,CAAC;;;;;;ACZN,SAAgB,sBACd,SACA;AACA,QAAO,eAAe,gBAAgB,EAAE,WAAgC;AACtE,SAAO,QAAiB,UAAU,QAAQ,UAAU,EAClD,QAAQ,OACT,CAAC;;;;;;ACNN,SAAgB,iBAAiB,SAA2C;AAC1E,QAAO,eAAe,aAAa;AACjC,SAAO,QAAiB,sBAAsB,EAC5C,QAAQ,OACT,CAAC;;;;;;ACJN,SAAgB,oBAAoB,SAA2C;AAC7E,QAAO,eAAe,cAAc,EAClC,SACA,WAIC;AACD,SAAO,QAAe,UAAU,QAAQ,SAAS,QAAQ,QAAQ,EAC/D,QAAQ,OACT,CAAC;;;;;;ACHN,SAAgB,oBAAoB,SAA2C;AAC7E,QAAO;EACL,YAAY,iBAAiB,QAAQ;EACrC,iBAAiB,sBAAsB,QAAQ;EAC/C,iBAAiB,sBAAsB,QAAQ;EAC/C,eAAe,oBAAoB,QAAQ;EAC3C,eAAe,oBAAoB,QAAQ;EAC3C,aAAa,kBAAkB,QAAQ;EACvC,gBAAgB,qBAAqB,QAAQ;EAC7C,sBAAsB,2BAA2B,QAAQ;EAC1D;;;;;ACjBH,SAAgB,kBAAkB,SAA2C;AAC3E,QAAO,eAAe,YAAY,EAChC,WACA,SACA,QACoB;AACpB,SAAO,QAAc,iBAAiB,UAAU,gBAAgB;GAC9D,QAAQ;GACR,MAAM,KAAK,UAAU;IACnB;IACA;IACD,CAAC;GACH,CAAC;;;;;;ACZN,SAAgB,sBACd,SACA;AACA,QAAO,EACL,aAAa,kBAAkB,QAAQ,EACxC;;;;;ACJH,SAAgB,YAAY,SAA2C;AACrE,QAAO;EACL,OAAO,oBAAoB,QAAQ;EACnC,SAAS,sBAAsB,QAAQ;EACxC;;;;;ACAH,SAAgB,SAAS,EAAE,QAAQ,UAAU,SAA0B;AACrE,KAAI,CAAC,OAAQ,OAAM,IAAI,cAAc,uBAAuB;AAG5D,QAAO,YAFS,cAAc,QAAQ,QAAQ,CAEnB;;AAK7B,kBAAe"}
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../src/version.ts","../src/constants.ts","../src/exceptions.ts","../src/requests.ts","../src/services/board/authenticate-table-row.ts","../src/services/board/create-table-row.ts","../src/services/board/get-board-details.ts","../src/services/board/get-board-table.ts","../src/services/board/get-table-row.ts","../src/services/board/list-board-tables.ts","../src/services/board/list-boards.ts","../src/services/board/list-table-rows.ts","../src/services/board/index.ts","../src/services/channel/send-message.ts","../src/services/channel/index.ts","../src/services/index.ts","../src/index.ts"],"sourcesContent":["/*This file is auto generated during build, DO NOT CHANGE OR MODIFY */\n\nexport const COPERA_SDK_VERSION = \"2.1.2\";\n","import { COPERA_SDK_VERSION } from \"./version.js\";\n\nexport const BASE_URL = \"https://api.copera.ai/public/v1\";\nexport const BASE_URL_DEV = \"https://api-dev.copera.ai/public/v1\";\n\nexport const COPERA_DOCS = \"https://developers.copera.ai\";\n\nexport function getHeaders(apiKey: string) {\n return {\n Authorization: `Bearer ${apiKey}`,\n \"Content-Type\": \"application/json\",\n \"User-Agent\": `NodeJS SDK ${COPERA_SDK_VERSION}`,\n };\n}\n","import { COPERA_DOCS } from \"./constants.js\";\n\n/**\n * Default class for CoperaAI exceptions and errors.\n *\n * It can be serialized to JSON through the `toJSON` method.\n */\nexport class CoperaAIError extends Error {\n constructor(message: string) {\n super(\n `CoperaAI SDK Error: ${message}\\n\\nPlease, refer to the documentation at: ${COPERA_DOCS}`,\n );\n this.name = \"CoperaAIError\";\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n };\n }\n}\n","import { BASE_URL, BASE_URL_DEV, getHeaders } from \"./constants.js\";\n\nexport function createRequest(\n apiKey: string,\n sandbox: boolean = false,\n): <TResponse>(path: string, options: RequestInit) => Promise<TResponse> {\n const defaultHeaders = getHeaders(apiKey);\n\n const baseUrl = sandbox ? BASE_URL_DEV : BASE_URL;\n\n return async <TResponse>(\n path: string,\n options: RequestInit,\n ): Promise<TResponse> => {\n try {\n const response = await fetch(`${baseUrl}${path}`, {\n ...options,\n headers: { ...defaultHeaders, ...options?.headers },\n });\n\n const data = await response.json();\n\n if (!response.ok) {\n return {\n ...data,\n responseCode: response.status,\n responseStatus: response.statusText,\n } as TResponse;\n }\n\n return data;\n } catch (error) {\n return { error: (error as Error).message } as TResponse;\n }\n };\n}\n","import type { createRequest } from \"../../requests.js\";\nimport type { AuthenticateTableRowParams, Row } from \"../../types.js\";\n\nexport function createAuthenticateTableRow(\n request: ReturnType<typeof createRequest>,\n) {\n return async function authenticateTableRow({\n boardId,\n tableId,\n identifierColumnId,\n identifierColumnValue,\n passwordColumnId,\n passwordColumnValue,\n }: AuthenticateTableRowParams) {\n return request<Row>(`/board/${boardId}/table/${tableId}/row/authenticate`, {\n method: \"POST\",\n body: JSON.stringify({\n identifierColumnId,\n identifierColumnValue,\n passwordColumnId,\n passwordColumnValue,\n }),\n });\n };\n}\n","import type { createRequest } from \"../../requests.js\";\nimport type { ColumnValue, Row } from \"../../types.js\";\n\nexport function createCreateTableRow(\n request: ReturnType<typeof createRequest>,\n) {\n return async function createTableRow({\n boardId,\n tableId,\n description,\n columns,\n }: {\n boardId: string;\n tableId: string;\n description?: string;\n columns: ColumnValue[];\n }) {\n return request<Row>(`/board/${boardId}/table/${tableId}/row`, {\n method: \"POST\",\n body: JSON.stringify({\n description,\n columns,\n }),\n });\n };\n}\n","import type { createRequest } from \"../../requests.js\";\nimport type { Board } from \"../../types.js\";\n\nexport function createGetBoardDetails(\n request: ReturnType<typeof createRequest>,\n) {\n return async function getBoardDetails({ boardId }: { boardId: string }) {\n return request<Board>(`/board/${boardId}`, {\n method: \"GET\",\n });\n };\n}\n","import type { createRequest } from \"../../requests.js\";\nimport type { Table } from \"../../types.js\";\n\nexport function createGetBoardTable(request: ReturnType<typeof createRequest>) {\n return async function getBoardTable({\n boardId,\n tableId,\n }: {\n boardId: string;\n tableId: string;\n }) {\n return request<Table>(`/board/${boardId}/table/${tableId}`, {\n method: \"GET\",\n });\n };\n}\n","import type { createRequest } from \"../../requests.js\";\nimport type { Row } from \"../../types.js\";\n\nexport function createGetTableRow(request: ReturnType<typeof createRequest>) {\n return async function getTableRow({\n boardId,\n tableId,\n rowId,\n }: {\n boardId: string;\n tableId: string;\n rowId: string;\n }) {\n return request<Row>(`/board/${boardId}/table/${tableId}/row/${rowId}`, {\n method: \"GET\",\n });\n };\n}\n","import type { createRequest } from \"../../requests.js\";\nimport type { Table } from \"../../types.js\";\n\nexport function createListBoardTables(\n request: ReturnType<typeof createRequest>,\n) {\n return async function listBoardTables({ boardId }: { boardId: string }) {\n return request<Table[]>(`/board/${boardId}/tables`, {\n method: \"GET\",\n });\n };\n}\n","import type { createRequest } from \"../../requests.js\";\nimport type { Board } from \"../../types.js\";\n\nexport function createListBoards(request: ReturnType<typeof createRequest>) {\n return async function listBoards() {\n return request<Board[]>(\"/board/list-boards\", {\n method: \"GET\",\n });\n };\n}\n","import type { createRequest } from \"../../requests.js\";\nimport type { Row } from \"../../types.js\";\n\nexport function createListTableRows(request: ReturnType<typeof createRequest>) {\n return async function listTableRows({\n boardId,\n tableId,\n }: {\n boardId: string;\n tableId: string;\n }) {\n return request<Row[]>(`/board/${boardId}/table/${tableId}/rows`, {\n method: \"GET\",\n });\n };\n}\n","import type { createRequest } from \"../../requests.js\";\nimport { createAuthenticateTableRow } from \"./authenticate-table-row.js\";\nimport { createCreateTableRow } from \"./create-table-row.js\";\nimport { createGetBoardDetails } from \"./get-board-details.js\";\nimport { createGetBoardTable } from \"./get-board-table.js\";\nimport { createGetTableRow } from \"./get-table-row.js\";\nimport { createListBoardTables } from \"./list-board-tables.js\";\nimport { createListBoards } from \"./list-boards.js\";\nimport { createListTableRows } from \"./list-table-rows.js\";\n\nexport function createBoardHandlers(request: ReturnType<typeof createRequest>) {\n return {\n listBoards: createListBoards(request),\n getBoardDetails: createGetBoardDetails(request),\n listBoardTables: createListBoardTables(request),\n getBoardTable: createGetBoardTable(request),\n listTableRows: createListTableRows(request),\n getTableRow: createGetTableRow(request),\n createTableRow: createCreateTableRow(request),\n authenticateTableRow: createAuthenticateTableRow(request),\n };\n}\n","import type { createRequest } from \"../../requests.js\";\nimport type { SendMessageParams } from \"../../types.js\";\n\nexport function createSendMessage(request: ReturnType<typeof createRequest>) {\n return async function sendMessage({\n channelId,\n message,\n name,\n }: SendMessageParams) {\n return request<void>(`/chat/channel/${channelId}/send-message`, {\n method: \"POST\",\n body: JSON.stringify({\n message,\n name,\n }),\n });\n };\n}\n","import type { createRequest } from \"../../requests.js\";\nimport { createSendMessage } from \"./send-message.js\";\n\nexport function createChannelHandlers(\n request: ReturnType<typeof createRequest>,\n) {\n return {\n sendMessage: createSendMessage(request),\n };\n}\n","import type { createRequest } from \"../requests.js\";\nimport { createBoardHandlers } from \"./board/index.js\";\nimport { createChannelHandlers } from \"./channel/index.js\";\n\nexport function getHandlers(request: ReturnType<typeof createRequest>) {\n return {\n board: createBoardHandlers(request),\n channel: createChannelHandlers(request),\n };\n}\n","import { CoperaAIError } from \"./exceptions.js\";\nimport { createRequest } from \"./requests.js\";\nimport { getHandlers } from \"./services/index.js\";\n\ninterface CoperaAIOptions {\n apiKey: string;\n sandbox?: boolean;\n}\nexport function CoperaAI({ apiKey, sandbox = false }: CoperaAIOptions) {\n if (!apiKey) throw new CoperaAIError(\"API key is required!\");\n const request = createRequest(apiKey, sandbox);\n\n return getHandlers(request);\n}\n\nexport { CoperaAIError };\n\nexport * from \"./types.js\";\n\nexport default CoperaAI;\n"],"mappings":"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"}
|