@ariadng/sheets 0.3.3 → 0.4.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/api/index.d.ts +30 -1
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +260 -0
- package/dist/api/index.js.map +1 -1
- package/dist/auth/constants.js +1 -1
- package/dist/auth/constants.js.map +1 -1
- package/dist/auth/oauth.d.ts +22 -1
- package/dist/auth/oauth.d.ts.map +1 -1
- package/dist/auth/oauth.js +68 -2
- package/dist/auth/oauth.js.map +1 -1
- package/dist/cli.js +419 -5
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/types/index.d.ts +67 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/package.json +2 -2
- package/README.md +0 -601
package/dist/api/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Google Sheets API Client
|
|
3
3
|
*/
|
|
4
|
-
import type { Spreadsheet, SheetProperties, ValueRange, GetValuesOptions, SheetsClientOptions, BatchGetValuesResponse } from '../types/index.js';
|
|
4
|
+
import type { Spreadsheet, SheetProperties, ValueRange, GetValuesOptions, SheetsClientOptions, BatchGetValuesResponse, ClearValuesResponse, BatchClearValuesResponse, RawCellValue, UpdateValuesOptions, UpdateValuesResponse, BatchUpdateValuesResponse, AppendValuesOptions, AppendValuesResponse, SearchOptions, SearchResult } from '../types/index.js';
|
|
5
5
|
export declare class SheetsClient {
|
|
6
6
|
private http;
|
|
7
7
|
constructor(options: SheetsClientOptions);
|
|
@@ -25,6 +25,35 @@ export declare class SheetsClient {
|
|
|
25
25
|
* Read multiple ranges at once
|
|
26
26
|
*/
|
|
27
27
|
batchGetValues(spreadsheetId: string, ranges: string[], options?: GetValuesOptions): Promise<BatchGetValuesResponse>;
|
|
28
|
+
/**
|
|
29
|
+
* Clear values from a single range
|
|
30
|
+
*/
|
|
31
|
+
clearValues(spreadsheetId: string, range: string): Promise<ClearValuesResponse>;
|
|
32
|
+
/**
|
|
33
|
+
* Clear values from multiple ranges
|
|
34
|
+
*/
|
|
35
|
+
batchClearValues(spreadsheetId: string, ranges: string[]): Promise<BatchClearValuesResponse>;
|
|
36
|
+
/**
|
|
37
|
+
* Write values to a range (or starting cell)
|
|
38
|
+
* Range can be "A1" or "A1:D10" - data array determines actual extent
|
|
39
|
+
*/
|
|
40
|
+
updateValues(spreadsheetId: string, range: string, values: RawCellValue[][], options?: UpdateValuesOptions): Promise<UpdateValuesResponse>;
|
|
41
|
+
/**
|
|
42
|
+
* Write to multiple ranges in one request
|
|
43
|
+
*/
|
|
44
|
+
batchUpdateValues(spreadsheetId: string, data: {
|
|
45
|
+
range: string;
|
|
46
|
+
values: RawCellValue[][];
|
|
47
|
+
}[], options?: UpdateValuesOptions): Promise<BatchUpdateValuesResponse>;
|
|
48
|
+
/**
|
|
49
|
+
* Append rows after the last row of detected table
|
|
50
|
+
*/
|
|
51
|
+
appendValues(spreadsheetId: string, range: string, values: RawCellValue[][], options?: AppendValuesOptions): Promise<AppendValuesResponse>;
|
|
52
|
+
/**
|
|
53
|
+
* Search for values matching a query across sheets
|
|
54
|
+
*/
|
|
55
|
+
searchValues(spreadsheetId: string, query: string, options?: SearchOptions): Promise<SearchResult>;
|
|
56
|
+
private collectMatches;
|
|
28
57
|
private normalizeValueRange;
|
|
29
58
|
}
|
|
30
59
|
export declare function createClient(options: SheetsClientOptions): SheetsClient;
|
package/dist/api/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACR,WAAW,EACX,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACzB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACR,WAAW,EACX,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,EACxB,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,EACpB,yBAAyB,EACzB,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,EACb,YAAY,EAEf,MAAM,mBAAmB,CAAC;AAgE3B,qBAAa,YAAY;IACrB,OAAO,CAAC,IAAI,CAAa;gBAEb,OAAO,EAAE,mBAAmB;IAOxC;;OAEG;IACG,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAIjE;;OAEG;IACG,SAAS,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAKlE;;OAEG;IACG,SAAS,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;IAsBtG;;OAEG;IACG,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAI5E;;OAEG;IACG,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IA0B1H;;OAEG;IACG,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAQrF;;OAEG;IACG,gBAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAOlG;;;OAGG;IACG,YAAY,CACd,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,YAAY,EAAE,EAAE,EACxB,OAAO,CAAC,EAAE,mBAAmB,GAC9B,OAAO,CAAC,oBAAoB,CAAC;IA6BhC;;OAEG;IACG,iBAAiB,CACnB,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,YAAY,EAAE,EAAE,CAAA;KAAE,EAAE,EACnD,OAAO,CAAC,EAAE,mBAAmB,GAC9B,OAAO,CAAC,yBAAyB,CAAC;IAoBrC;;OAEG;IACG,YAAY,CACd,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,YAAY,EAAE,EAAE,EACxB,OAAO,CAAC,EAAE,mBAAmB,GAC9B,OAAO,CAAC,oBAAoB,CAAC;IAgChC;;OAEG;IACG,YAAY,CACd,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,aAAa,GACxB,OAAO,CAAC,YAAY,CAAC;IAqHxB,OAAO,CAAC,cAAc;IA2CtB,OAAO,CAAC,mBAAmB;CAa9B;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,YAAY,CAEvE"}
|
package/dist/api/index.js
CHANGED
|
@@ -3,6 +3,49 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { HttpClient } from '../http/index.js';
|
|
5
5
|
import { createAuthProvider } from '../auth/index.js';
|
|
6
|
+
/**
|
|
7
|
+
* Convert column letter(s) to 1-based column number
|
|
8
|
+
* A=1, B=2, ..., Z=26, AA=27, AB=28, etc.
|
|
9
|
+
*/
|
|
10
|
+
function columnLetterToNumber(letters) {
|
|
11
|
+
let result = 0;
|
|
12
|
+
for (let i = 0; i < letters.length; i++) {
|
|
13
|
+
result = result * 26 + (letters.charCodeAt(i) - 64);
|
|
14
|
+
}
|
|
15
|
+
return result;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Convert 1-based column number to column letter(s)
|
|
19
|
+
* 1=A, 2=B, ..., 26=Z, 27=AA, 28=AB, etc.
|
|
20
|
+
*/
|
|
21
|
+
function columnNumberToLetter(num) {
|
|
22
|
+
let result = '';
|
|
23
|
+
while (num > 0) {
|
|
24
|
+
const remainder = (num - 1) % 26;
|
|
25
|
+
result = String.fromCharCode(65 + remainder) + result;
|
|
26
|
+
num = Math.floor((num - 1) / 26);
|
|
27
|
+
}
|
|
28
|
+
return result;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Parse A1 notation to extract starting row and column
|
|
32
|
+
* Returns { startRow, startCol } (1-based)
|
|
33
|
+
*/
|
|
34
|
+
function parseA1Range(range) {
|
|
35
|
+
// Remove sheet name if present (e.g., "Sheet1!A1:D10" -> "A1:D10")
|
|
36
|
+
const cellRef = range.includes('!') ? range.split('!')[1] : range;
|
|
37
|
+
// Extract first cell (e.g., "A1:D10" -> "A1", "A1" -> "A1")
|
|
38
|
+
const firstCell = cellRef.split(':')[0];
|
|
39
|
+
// Parse column letters and row number
|
|
40
|
+
const match = firstCell.match(/^([A-Z]+)(\d+)$/i);
|
|
41
|
+
if (!match) {
|
|
42
|
+
return { startRow: 1, startCol: 1 };
|
|
43
|
+
}
|
|
44
|
+
return {
|
|
45
|
+
startCol: columnLetterToNumber(match[1].toUpperCase()),
|
|
46
|
+
startRow: parseInt(match[2], 10),
|
|
47
|
+
};
|
|
48
|
+
}
|
|
6
49
|
export class SheetsClient {
|
|
7
50
|
http;
|
|
8
51
|
constructor(options) {
|
|
@@ -70,6 +113,223 @@ export class SheetsClient {
|
|
|
70
113
|
valueRanges: (response.valueRanges || []).map(vr => this.normalizeValueRange(vr)),
|
|
71
114
|
};
|
|
72
115
|
}
|
|
116
|
+
/**
|
|
117
|
+
* Clear values from a single range
|
|
118
|
+
*/
|
|
119
|
+
async clearValues(spreadsheetId, range) {
|
|
120
|
+
const encodedRange = encodeURIComponent(range);
|
|
121
|
+
return this.http.request(`/spreadsheets/${spreadsheetId}/values/${encodedRange}:clear`, { method: 'POST' });
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Clear values from multiple ranges
|
|
125
|
+
*/
|
|
126
|
+
async batchClearValues(spreadsheetId, ranges) {
|
|
127
|
+
return this.http.request(`/spreadsheets/${spreadsheetId}/values:batchClear`, { method: 'POST', body: { ranges } });
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Write values to a range (or starting cell)
|
|
131
|
+
* Range can be "A1" or "A1:D10" - data array determines actual extent
|
|
132
|
+
*/
|
|
133
|
+
async updateValues(spreadsheetId, range, values, options) {
|
|
134
|
+
const params = {
|
|
135
|
+
valueInputOption: options?.valueInputOption || 'USER_ENTERED',
|
|
136
|
+
};
|
|
137
|
+
if (options?.includeValuesInResponse) {
|
|
138
|
+
params.includeValuesInResponse = 'true';
|
|
139
|
+
}
|
|
140
|
+
if (options?.responseValueRenderOption) {
|
|
141
|
+
params.responseValueRenderOption = options.responseValueRenderOption;
|
|
142
|
+
}
|
|
143
|
+
if (options?.responseDateTimeRenderOption) {
|
|
144
|
+
params.responseDateTimeRenderOption = options.responseDateTimeRenderOption;
|
|
145
|
+
}
|
|
146
|
+
const encodedRange = encodeURIComponent(range);
|
|
147
|
+
return this.http.request(`/spreadsheets/${spreadsheetId}/values/${encodedRange}`, {
|
|
148
|
+
method: 'PUT',
|
|
149
|
+
params,
|
|
150
|
+
body: {
|
|
151
|
+
majorDimension: options?.majorDimension || 'ROWS',
|
|
152
|
+
values,
|
|
153
|
+
},
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Write to multiple ranges in one request
|
|
158
|
+
*/
|
|
159
|
+
async batchUpdateValues(spreadsheetId, data, options) {
|
|
160
|
+
return this.http.request(`/spreadsheets/${spreadsheetId}/values:batchUpdate`, {
|
|
161
|
+
method: 'POST',
|
|
162
|
+
body: {
|
|
163
|
+
valueInputOption: options?.valueInputOption || 'USER_ENTERED',
|
|
164
|
+
data: data.map(d => ({
|
|
165
|
+
range: d.range,
|
|
166
|
+
majorDimension: options?.majorDimension || 'ROWS',
|
|
167
|
+
values: d.values,
|
|
168
|
+
})),
|
|
169
|
+
includeValuesInResponse: options?.includeValuesInResponse || false,
|
|
170
|
+
responseValueRenderOption: options?.responseValueRenderOption,
|
|
171
|
+
responseDateTimeRenderOption: options?.responseDateTimeRenderOption,
|
|
172
|
+
},
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Append rows after the last row of detected table
|
|
177
|
+
*/
|
|
178
|
+
async appendValues(spreadsheetId, range, values, options) {
|
|
179
|
+
const params = {
|
|
180
|
+
valueInputOption: options?.valueInputOption || 'USER_ENTERED',
|
|
181
|
+
};
|
|
182
|
+
if (options?.insertDataOption) {
|
|
183
|
+
params.insertDataOption = options.insertDataOption;
|
|
184
|
+
}
|
|
185
|
+
if (options?.includeValuesInResponse) {
|
|
186
|
+
params.includeValuesInResponse = 'true';
|
|
187
|
+
}
|
|
188
|
+
if (options?.responseValueRenderOption) {
|
|
189
|
+
params.responseValueRenderOption = options.responseValueRenderOption;
|
|
190
|
+
}
|
|
191
|
+
if (options?.responseDateTimeRenderOption) {
|
|
192
|
+
params.responseDateTimeRenderOption = options.responseDateTimeRenderOption;
|
|
193
|
+
}
|
|
194
|
+
const encodedRange = encodeURIComponent(range);
|
|
195
|
+
return this.http.request(`/spreadsheets/${spreadsheetId}/values/${encodedRange}:append`, {
|
|
196
|
+
method: 'POST',
|
|
197
|
+
params,
|
|
198
|
+
body: {
|
|
199
|
+
majorDimension: options?.majorDimension || 'ROWS',
|
|
200
|
+
values,
|
|
201
|
+
},
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Search for values matching a query across sheets
|
|
206
|
+
*/
|
|
207
|
+
async searchValues(spreadsheetId, query, options) {
|
|
208
|
+
const caseSensitive = options?.caseSensitive ?? false;
|
|
209
|
+
const exactMatch = options?.exactMatch ?? false;
|
|
210
|
+
const useRegex = options?.regex ?? false;
|
|
211
|
+
const limit = options?.limit;
|
|
212
|
+
// Determine match type for response
|
|
213
|
+
const matchType = useRegex ? 'regex' : (exactMatch ? 'exact' : 'contains');
|
|
214
|
+
// Build the matcher function
|
|
215
|
+
let matcher;
|
|
216
|
+
if (useRegex) {
|
|
217
|
+
const flags = caseSensitive ? '' : 'i';
|
|
218
|
+
const regex = new RegExp(query, flags);
|
|
219
|
+
matcher = (cellValue) => regex.test(cellValue);
|
|
220
|
+
}
|
|
221
|
+
else if (exactMatch) {
|
|
222
|
+
if (caseSensitive) {
|
|
223
|
+
matcher = (cellValue) => cellValue === query;
|
|
224
|
+
}
|
|
225
|
+
else {
|
|
226
|
+
const lowerQuery = query.toLowerCase();
|
|
227
|
+
matcher = (cellValue) => cellValue.toLowerCase() === lowerQuery;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
else {
|
|
231
|
+
// Contains match (default)
|
|
232
|
+
if (caseSensitive) {
|
|
233
|
+
matcher = (cellValue) => cellValue.includes(query);
|
|
234
|
+
}
|
|
235
|
+
else {
|
|
236
|
+
const lowerQuery = query.toLowerCase();
|
|
237
|
+
matcher = (cellValue) => cellValue.toLowerCase().includes(lowerQuery);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
const matches = [];
|
|
241
|
+
// Get sheets to search
|
|
242
|
+
const allSheets = await this.getSheets(spreadsheetId);
|
|
243
|
+
let sheetsToSearch;
|
|
244
|
+
if (options?.sheetIndex !== undefined) {
|
|
245
|
+
const sheet = allSheets.find(s => s.index === options.sheetIndex);
|
|
246
|
+
if (!sheet) {
|
|
247
|
+
throw new Error(`Sheet index ${options.sheetIndex} not found.`);
|
|
248
|
+
}
|
|
249
|
+
sheetsToSearch = [sheet];
|
|
250
|
+
}
|
|
251
|
+
else if (options?.gid !== undefined) {
|
|
252
|
+
const sheet = allSheets.find(s => s.sheetId === options.gid);
|
|
253
|
+
if (!sheet) {
|
|
254
|
+
throw new Error(`Sheet with gid ${options.gid} not found.`);
|
|
255
|
+
}
|
|
256
|
+
sheetsToSearch = [sheet];
|
|
257
|
+
}
|
|
258
|
+
else if (options?.range && options.range.includes('!')) {
|
|
259
|
+
// Range includes sheet name, use as-is
|
|
260
|
+
sheetsToSearch = []; // Will handle specially below
|
|
261
|
+
}
|
|
262
|
+
else {
|
|
263
|
+
// Search all sheets
|
|
264
|
+
sheetsToSearch = allSheets.filter(s => !s.hidden);
|
|
265
|
+
}
|
|
266
|
+
// Search logic
|
|
267
|
+
if (options?.range && options.range.includes('!')) {
|
|
268
|
+
// Specific range with sheet name provided
|
|
269
|
+
const valueRange = await this.getValues(spreadsheetId, options.range);
|
|
270
|
+
const sheetName = options.range.split('!')[0].replace(/^'|'$/g, '').replace(/''/g, "'");
|
|
271
|
+
const sheet = allSheets.find(s => s.title === sheetName);
|
|
272
|
+
const { startRow, startCol } = parseA1Range(options.range);
|
|
273
|
+
this.collectMatches(valueRange, sheetName, sheet?.sheetId ?? 0, startRow, startCol, matcher, matches, limit);
|
|
274
|
+
}
|
|
275
|
+
else {
|
|
276
|
+
// Search across sheets
|
|
277
|
+
for (const sheet of sheetsToSearch) {
|
|
278
|
+
if (limit && matches.length >= limit)
|
|
279
|
+
break;
|
|
280
|
+
const escapedTitle = sheet.title.replace(/'/g, "''");
|
|
281
|
+
const range = options?.range
|
|
282
|
+
? `'${escapedTitle}'!${options.range}`
|
|
283
|
+
: `'${escapedTitle}'`; // Entire sheet
|
|
284
|
+
try {
|
|
285
|
+
const valueRange = await this.getValues(spreadsheetId, range);
|
|
286
|
+
const { startRow, startCol } = parseA1Range(valueRange.range);
|
|
287
|
+
this.collectMatches(valueRange, sheet.title, sheet.sheetId, startRow, startCol, matcher, matches, limit);
|
|
288
|
+
}
|
|
289
|
+
catch {
|
|
290
|
+
// Skip sheets that fail (e.g., empty sheets)
|
|
291
|
+
continue;
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
return {
|
|
296
|
+
query,
|
|
297
|
+
matchType,
|
|
298
|
+
caseSensitive,
|
|
299
|
+
totalMatches: matches.length,
|
|
300
|
+
matches,
|
|
301
|
+
};
|
|
302
|
+
}
|
|
303
|
+
collectMatches(valueRange, sheetName, sheetId, startRow, startCol, matcher, matches, limit) {
|
|
304
|
+
for (let rowIndex = 0; rowIndex < valueRange.values.length; rowIndex++) {
|
|
305
|
+
if (limit && matches.length >= limit)
|
|
306
|
+
return;
|
|
307
|
+
const row = valueRange.values[rowIndex];
|
|
308
|
+
for (let colIndex = 0; colIndex < row.length; colIndex++) {
|
|
309
|
+
if (limit && matches.length >= limit)
|
|
310
|
+
return;
|
|
311
|
+
const cell = row[colIndex];
|
|
312
|
+
const cellValue = cell.value;
|
|
313
|
+
// Skip null/undefined values
|
|
314
|
+
if (cellValue == null)
|
|
315
|
+
continue;
|
|
316
|
+
// Convert to string for matching
|
|
317
|
+
const stringValue = String(cellValue);
|
|
318
|
+
if (matcher(stringValue)) {
|
|
319
|
+
const actualRow = startRow + rowIndex;
|
|
320
|
+
const actualCol = startCol + colIndex;
|
|
321
|
+
matches.push({
|
|
322
|
+
sheet: sheetName,
|
|
323
|
+
sheetId,
|
|
324
|
+
address: columnNumberToLetter(actualCol) + actualRow,
|
|
325
|
+
row: actualRow,
|
|
326
|
+
column: actualCol,
|
|
327
|
+
value: cellValue,
|
|
328
|
+
});
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
}
|
|
73
333
|
normalizeValueRange(raw) {
|
|
74
334
|
const values = (raw.values || []).map(row => row.map(cell => ({
|
|
75
335
|
value: cell,
|
package/dist/api/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAqBH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAatD;;;GAGG;AACH,SAAS,oBAAoB,CAAC,OAAe;IACzC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,GAAG,MAAM,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,SAAS,oBAAoB,CAAC,GAAW;IACrC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC;QACb,MAAM,SAAS,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QACjC,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,MAAM,CAAC;QACtD,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY,CAAC,KAAa;IAC/B,mEAAmE;IACnE,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAElE,4DAA4D;IAC5D,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAExC,sCAAsC;IACtC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAClD,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACxC,CAAC;IAED,OAAO;QACH,QAAQ,EAAE,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACtD,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;KACnC,CAAC;AACN,CAAC;AAED,MAAM,OAAO,YAAY;IACb,IAAI,CAAa;IAEzB,YAAY,OAA4B;QACpC,MAAM,YAAY,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,IAAI,GAAG,IAAI,UAAU,CAAC;YACvB,cAAc,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE;SACtD,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,aAAqB;QACtC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAc,iBAAiB,aAAa,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,aAAqB;QACjC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QAC7D,OAAO,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,aAAqB,EAAE,KAAa,EAAE,OAA0B;QAC5E,MAAM,MAAM,GAA2B,EAAE,CAAC;QAE1C,IAAI,OAAO,EAAE,iBAAiB,EAAE,CAAC;YAC7B,MAAM,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;QACzD,CAAC;QACD,IAAI,OAAO,EAAE,oBAAoB,EAAE,CAAC;YAChC,MAAM,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC;QAC/D,CAAC;QACD,IAAI,OAAO,EAAE,cAAc,EAAE,CAAC;YAC1B,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QACnD,CAAC;QAED,MAAM,YAAY,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CACpC,iBAAiB,aAAa,WAAW,YAAY,EAAE,EACvD,EAAE,MAAM,EAAE,CACb,CAAC;QAEF,OAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,aAAqB,EAAE,KAAa;QAClD,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC,CAAC;IAClF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,aAAqB,EAAE,MAAgB,EAAE,OAA0B;QACpF,MAAM,MAAM,GAA2B;YACnC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;SAC3B,CAAC;QAEF,IAAI,OAAO,EAAE,iBAAiB,EAAE,CAAC;YAC7B,MAAM,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;QACzD,CAAC;QACD,IAAI,OAAO,EAAE,oBAAoB,EAAE,CAAC;YAChC,MAAM,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC;QAC/D,CAAC;QACD,IAAI,OAAO,EAAE,cAAc,EAAE,CAAC;YAC1B,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QACnD,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CACpC,iBAAiB,aAAa,kBAAkB,EAChD,EAAE,MAAM,EAAE,CACb,CAAC;QAEF,OAAO;YACH,aAAa,EAAE,QAAQ,CAAC,aAAa;YACrC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;SACpF,CAAC;IACN,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,aAAqB,EAAE,KAAa;QAClD,MAAM,YAAY,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CACpB,iBAAiB,aAAa,WAAW,YAAY,QAAQ,EAC7D,EAAE,MAAM,EAAE,MAAM,EAAE,CACrB,CAAC;IACN,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,aAAqB,EAAE,MAAgB;QAC1D,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CACpB,iBAAiB,aAAa,oBAAoB,EAClD,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,CACvC,CAAC;IACN,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CACd,aAAqB,EACrB,KAAa,EACb,MAAwB,EACxB,OAA6B;QAE7B,MAAM,MAAM,GAA2B;YACnC,gBAAgB,EAAE,OAAO,EAAE,gBAAgB,IAAI,cAAc;SAChE,CAAC;QAEF,IAAI,OAAO,EAAE,uBAAuB,EAAE,CAAC;YACnC,MAAM,CAAC,uBAAuB,GAAG,MAAM,CAAC;QAC5C,CAAC;QACD,IAAI,OAAO,EAAE,yBAAyB,EAAE,CAAC;YACrC,MAAM,CAAC,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,CAAC;QACzE,CAAC;QACD,IAAI,OAAO,EAAE,4BAA4B,EAAE,CAAC;YACxC,MAAM,CAAC,4BAA4B,GAAG,OAAO,CAAC,4BAA4B,CAAC;QAC/E,CAAC;QAED,MAAM,YAAY,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CACpB,iBAAiB,aAAa,WAAW,YAAY,EAAE,EACvD;YACI,MAAM,EAAE,KAAK;YACb,MAAM;YACN,IAAI,EAAE;gBACF,cAAc,EAAE,OAAO,EAAE,cAAc,IAAI,MAAM;gBACjD,MAAM;aACT;SACJ,CACJ,CAAC;IACN,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CACnB,aAAqB,EACrB,IAAmD,EACnD,OAA6B;QAE7B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CACpB,iBAAiB,aAAa,qBAAqB,EACnD;YACI,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACF,gBAAgB,EAAE,OAAO,EAAE,gBAAgB,IAAI,cAAc;gBAC7D,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACjB,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,cAAc,EAAE,OAAO,EAAE,cAAc,IAAI,MAAM;oBACjD,MAAM,EAAE,CAAC,CAAC,MAAM;iBACnB,CAAC,CAAC;gBACH,uBAAuB,EAAE,OAAO,EAAE,uBAAuB,IAAI,KAAK;gBAClE,yBAAyB,EAAE,OAAO,EAAE,yBAAyB;gBAC7D,4BAA4B,EAAE,OAAO,EAAE,4BAA4B;aACtE;SACJ,CACJ,CAAC;IACN,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CACd,aAAqB,EACrB,KAAa,EACb,MAAwB,EACxB,OAA6B;QAE7B,MAAM,MAAM,GAA2B;YACnC,gBAAgB,EAAE,OAAO,EAAE,gBAAgB,IAAI,cAAc;SAChE,CAAC;QAEF,IAAI,OAAO,EAAE,gBAAgB,EAAE,CAAC;YAC5B,MAAM,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;QACvD,CAAC;QACD,IAAI,OAAO,EAAE,uBAAuB,EAAE,CAAC;YACnC,MAAM,CAAC,uBAAuB,GAAG,MAAM,CAAC;QAC5C,CAAC;QACD,IAAI,OAAO,EAAE,yBAAyB,EAAE,CAAC;YACrC,MAAM,CAAC,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,CAAC;QACzE,CAAC;QACD,IAAI,OAAO,EAAE,4BAA4B,EAAE,CAAC;YACxC,MAAM,CAAC,4BAA4B,GAAG,OAAO,CAAC,4BAA4B,CAAC;QAC/E,CAAC;QAED,MAAM,YAAY,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CACpB,iBAAiB,aAAa,WAAW,YAAY,SAAS,EAC9D;YACI,MAAM,EAAE,MAAM;YACd,MAAM;YACN,IAAI,EAAE;gBACF,cAAc,EAAE,OAAO,EAAE,cAAc,IAAI,MAAM;gBACjD,MAAM;aACT;SACJ,CACJ,CAAC;IACN,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CACd,aAAqB,EACrB,KAAa,EACb,OAAuB;QAEvB,MAAM,aAAa,GAAG,OAAO,EAAE,aAAa,IAAI,KAAK,CAAC;QACtD,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,KAAK,CAAC;QAChD,MAAM,QAAQ,GAAG,OAAO,EAAE,KAAK,IAAI,KAAK,CAAC;QACzC,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,CAAC;QAE7B,oCAAoC;QACpC,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAE3E,6BAA6B;QAC7B,IAAI,OAAuC,CAAC;QAE5C,IAAI,QAAQ,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;YACvC,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACvC,OAAO,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnD,CAAC;aAAM,IAAI,UAAU,EAAE,CAAC;YACpB,IAAI,aAAa,EAAE,CAAC;gBAChB,OAAO,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,KAAK,KAAK,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACJ,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;gBACvC,OAAO,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC;YACpE,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,2BAA2B;YAC3B,IAAI,aAAa,EAAE,CAAC;gBAChB,OAAO,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACvD,CAAC;iBAAM,CAAC;gBACJ,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;gBACvC,OAAO,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAC1E,CAAC;QACL,CAAC;QAED,MAAM,OAAO,GAAkB,EAAE,CAAC;QAElC,uBAAuB;QACvB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QACtD,IAAI,cAAiC,CAAC;QAEtC,IAAI,OAAO,EAAE,UAAU,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;YAClE,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,MAAM,IAAI,KAAK,CAAC,eAAe,OAAO,CAAC,UAAU,aAAa,CAAC,CAAC;YACpE,CAAC;YACD,cAAc,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;aAAM,IAAI,OAAO,EAAE,GAAG,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;YAC7D,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,MAAM,IAAI,KAAK,CAAC,kBAAkB,OAAO,CAAC,GAAG,aAAa,CAAC,CAAC;YAChE,CAAC;YACD,cAAc,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;aAAM,IAAI,OAAO,EAAE,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvD,uCAAuC;YACvC,cAAc,GAAG,EAAE,CAAC,CAAE,8BAA8B;QACxD,CAAC;aAAM,CAAC;YACJ,oBAAoB;YACpB,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACtD,CAAC;QAED,eAAe;QACf,IAAI,OAAO,EAAE,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAChD,0CAA0C;YAC1C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YACtE,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACxF,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;YACzD,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAE3D,IAAI,CAAC,cAAc,CACf,UAAU,EACV,SAAS,EACT,KAAK,EAAE,OAAO,IAAI,CAAC,EACnB,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,OAAO,EACP,KAAK,CACR,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,uBAAuB;YACvB,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;gBACjC,IAAI,KAAK,IAAI,OAAO,CAAC,MAAM,IAAI,KAAK;oBAAE,MAAM;gBAE5C,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACrD,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK;oBACxB,CAAC,CAAC,IAAI,YAAY,KAAK,OAAO,CAAC,KAAK,EAAE;oBACtC,CAAC,CAAC,IAAI,YAAY,GAAG,CAAC,CAAE,eAAe;gBAE3C,IAAI,CAAC;oBACD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;oBAC9D,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;oBAE9D,IAAI,CAAC,cAAc,CACf,UAAU,EACV,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,OAAO,EACb,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,OAAO,EACP,KAAK,CACR,CAAC;gBACN,CAAC;gBAAC,MAAM,CAAC;oBACL,6CAA6C;oBAC7C,SAAS;gBACb,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO;YACH,KAAK;YACL,SAAS;YACT,aAAa;YACb,YAAY,EAAE,OAAO,CAAC,MAAM;YAC5B,OAAO;SACV,CAAC;IACN,CAAC;IAEO,cAAc,CAClB,UAAsB,EACtB,SAAiB,EACjB,OAAe,EACf,QAAgB,EAChB,QAAgB,EAChB,OAAmC,EACnC,OAAsB,EACtB,KAAc;QAEd,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC;YACrE,IAAI,KAAK,IAAI,OAAO,CAAC,MAAM,IAAI,KAAK;gBAAE,OAAO;YAE7C,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACxC,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC;gBACvD,IAAI,KAAK,IAAI,OAAO,CAAC,MAAM,IAAI,KAAK;oBAAE,OAAO;gBAE7C,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;gBAE7B,6BAA6B;gBAC7B,IAAI,SAAS,IAAI,IAAI;oBAAE,SAAS;gBAEhC,iCAAiC;gBACjC,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;gBAEtC,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;oBACvB,MAAM,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;oBACtC,MAAM,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;oBAEtC,OAAO,CAAC,IAAI,CAAC;wBACT,KAAK,EAAE,SAAS;wBAChB,OAAO;wBACP,OAAO,EAAE,oBAAoB,CAAC,SAAS,CAAC,GAAG,SAAS;wBACpD,GAAG,EAAE,SAAS;wBACd,MAAM,EAAE,SAAS;wBACjB,KAAK,EAAE,SAAS;qBACnB,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAEO,mBAAmB,CAAC,GAAkB;QAC1C,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CACxC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACb,KAAK,EAAE,IAAI;SACd,CAAC,CAAC,CACN,CAAC;QAEF,OAAO;YACH,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,cAAc,EAAE,GAAG,CAAC,cAAc,IAAI,MAAM;YAC5C,MAAM;SACT,CAAC;IACN,CAAC;CACJ;AAED,MAAM,UAAU,YAAY,CAAC,OAA4B;IACrD,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC"}
|
package/dist/auth/constants.js
CHANGED
|
@@ -15,7 +15,7 @@ export const OAUTH_TOKEN_URL = 'https://oauth2.googleapis.com/token';
|
|
|
15
15
|
export const OAUTH_USERINFO_URL = 'https://www.googleapis.com/oauth2/v2/userinfo';
|
|
16
16
|
// Scopes
|
|
17
17
|
export const OAUTH_SCOPES = [
|
|
18
|
-
'https://www.googleapis.com/auth/spreadsheets
|
|
18
|
+
'https://www.googleapis.com/auth/spreadsheets',
|
|
19
19
|
'https://www.googleapis.com/auth/userinfo.email',
|
|
20
20
|
];
|
|
21
21
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/auth/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,2CAA2C;AAC3C,0BAA0B;AAC1B,MAAM,CAAC,MAAM,eAAe,GAAG,0EAA0E,CAAC;AAC1G,MAAM,CAAC,MAAM,mBAAmB,GAAG,qCAAqC,CAAC;AAEzE,yCAAyC;AACzC,MAAM,CAAC,MAAM,kBAAkB,GAAG,gCAAgC,CAAC;AACnE,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAExC,kBAAkB;AAClB,MAAM,CAAC,MAAM,cAAc,GAAG,8CAA8C,CAAC;AAC7E,MAAM,CAAC,MAAM,eAAe,GAAG,qCAAqC,CAAC;AACrE,MAAM,CAAC,MAAM,kBAAkB,GAAG,+CAA+C,CAAC;AAElF,SAAS;AACT,MAAM,CAAC,MAAM,YAAY,GAAG;IACxB,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/auth/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,2CAA2C;AAC3C,0BAA0B;AAC1B,MAAM,CAAC,MAAM,eAAe,GAAG,0EAA0E,CAAC;AAC1G,MAAM,CAAC,MAAM,mBAAmB,GAAG,qCAAqC,CAAC;AAEzE,yCAAyC;AACzC,MAAM,CAAC,MAAM,kBAAkB,GAAG,gCAAgC,CAAC;AACnE,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAExC,kBAAkB;AAClB,MAAM,CAAC,MAAM,cAAc,GAAG,8CAA8C,CAAC;AAC7E,MAAM,CAAC,MAAM,eAAe,GAAG,qCAAqC,CAAC;AACrE,MAAM,CAAC,MAAM,kBAAkB,GAAG,+CAA+C,CAAC;AAElF,SAAS;AACT,MAAM,CAAC,MAAM,YAAY,GAAG;IACxB,8CAA8C;IAC9C,gDAAgD;CACnD,CAAC"}
|
package/dist/auth/oauth.d.ts
CHANGED
|
@@ -1,11 +1,32 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* OAuth 2.0 Authentication
|
|
3
|
-
*
|
|
3
|
+
* Supports pre-obtained access tokens with optional auto-refresh
|
|
4
|
+
*
|
|
5
|
+
* For automation (e.g., n8n), provide:
|
|
6
|
+
* - accessToken: Current access token
|
|
7
|
+
* - refreshToken: For obtaining new tokens when expired
|
|
8
|
+
* - clientId: OAuth client ID
|
|
9
|
+
* - clientSecret: OAuth client secret
|
|
10
|
+
* - expiresAt: When the access token expires (Unix timestamp in ms)
|
|
4
11
|
*/
|
|
5
12
|
import type { OAuthConfig } from '../types/index.js';
|
|
6
13
|
export declare class OAuthAuth {
|
|
7
14
|
private config;
|
|
15
|
+
private cachedToken;
|
|
16
|
+
private expiresAt;
|
|
8
17
|
constructor(config: OAuthConfig);
|
|
9
18
|
getAccessToken(): Promise<string>;
|
|
19
|
+
private canRefresh;
|
|
20
|
+
private isExpired;
|
|
21
|
+
private refreshToken;
|
|
22
|
+
/**
|
|
23
|
+
* Get current token state for persistence in automation tools
|
|
24
|
+
* Returns updated tokens after any refresh operations
|
|
25
|
+
*/
|
|
26
|
+
getTokenState(): {
|
|
27
|
+
accessToken: string;
|
|
28
|
+
refreshToken?: string;
|
|
29
|
+
expiresAt: number;
|
|
30
|
+
};
|
|
10
31
|
}
|
|
11
32
|
//# sourceMappingURL=oauth.d.ts.map
|
package/dist/auth/oauth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../src/auth/oauth.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../src/auth/oauth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAUrD,qBAAa,SAAS;IAClB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,EAAE,WAAW;IAMzB,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAcvC,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,SAAS;YAIH,YAAY;IAgC1B;;;OAGG;IACH,aAAa,IAAI;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;CAOrF"}
|
package/dist/auth/oauth.js
CHANGED
|
@@ -1,14 +1,80 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* OAuth 2.0 Authentication
|
|
3
|
-
*
|
|
3
|
+
* Supports pre-obtained access tokens with optional auto-refresh
|
|
4
|
+
*
|
|
5
|
+
* For automation (e.g., n8n), provide:
|
|
6
|
+
* - accessToken: Current access token
|
|
7
|
+
* - refreshToken: For obtaining new tokens when expired
|
|
8
|
+
* - clientId: OAuth client ID
|
|
9
|
+
* - clientSecret: OAuth client secret
|
|
10
|
+
* - expiresAt: When the access token expires (Unix timestamp in ms)
|
|
4
11
|
*/
|
|
12
|
+
import { OAUTH_TOKEN_URL } from './constants.js';
|
|
5
13
|
export class OAuthAuth {
|
|
6
14
|
config;
|
|
15
|
+
cachedToken;
|
|
16
|
+
expiresAt;
|
|
7
17
|
constructor(config) {
|
|
8
18
|
this.config = config;
|
|
19
|
+
this.cachedToken = config.accessToken;
|
|
20
|
+
this.expiresAt = config.expiresAt || 0;
|
|
9
21
|
}
|
|
10
22
|
async getAccessToken() {
|
|
11
|
-
return
|
|
23
|
+
// If no expiration tracking or no refresh credentials, return cached token
|
|
24
|
+
if (!this.canRefresh()) {
|
|
25
|
+
return this.cachedToken;
|
|
26
|
+
}
|
|
27
|
+
// Check if token is expired (with 60 second buffer)
|
|
28
|
+
if (this.isExpired()) {
|
|
29
|
+
await this.refreshToken();
|
|
30
|
+
}
|
|
31
|
+
return this.cachedToken;
|
|
32
|
+
}
|
|
33
|
+
canRefresh() {
|
|
34
|
+
return !!(this.config.refreshToken &&
|
|
35
|
+
this.config.clientId &&
|
|
36
|
+
this.config.clientSecret &&
|
|
37
|
+
this.expiresAt > 0);
|
|
38
|
+
}
|
|
39
|
+
isExpired() {
|
|
40
|
+
return Date.now() >= this.expiresAt - 60000;
|
|
41
|
+
}
|
|
42
|
+
async refreshToken() {
|
|
43
|
+
if (!this.config.refreshToken || !this.config.clientId || !this.config.clientSecret) {
|
|
44
|
+
throw new Error('Token expired and missing refresh credentials (refreshToken, clientId, clientSecret)');
|
|
45
|
+
}
|
|
46
|
+
const response = await fetch(OAUTH_TOKEN_URL, {
|
|
47
|
+
method: 'POST',
|
|
48
|
+
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
|
|
49
|
+
body: new URLSearchParams({
|
|
50
|
+
client_id: this.config.clientId,
|
|
51
|
+
client_secret: this.config.clientSecret,
|
|
52
|
+
refresh_token: this.config.refreshToken,
|
|
53
|
+
grant_type: 'refresh_token',
|
|
54
|
+
}),
|
|
55
|
+
});
|
|
56
|
+
if (!response.ok) {
|
|
57
|
+
const error = await response.text();
|
|
58
|
+
throw new Error(`Token refresh failed: ${error}`);
|
|
59
|
+
}
|
|
60
|
+
const tokenResponse = await response.json();
|
|
61
|
+
this.cachedToken = tokenResponse.access_token;
|
|
62
|
+
this.expiresAt = Date.now() + (tokenResponse.expires_in * 1000);
|
|
63
|
+
// Update config with new refresh token if provided
|
|
64
|
+
if (tokenResponse.refresh_token) {
|
|
65
|
+
this.config.refreshToken = tokenResponse.refresh_token;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Get current token state for persistence in automation tools
|
|
70
|
+
* Returns updated tokens after any refresh operations
|
|
71
|
+
*/
|
|
72
|
+
getTokenState() {
|
|
73
|
+
return {
|
|
74
|
+
accessToken: this.cachedToken,
|
|
75
|
+
refreshToken: this.config.refreshToken,
|
|
76
|
+
expiresAt: this.expiresAt,
|
|
77
|
+
};
|
|
12
78
|
}
|
|
13
79
|
}
|
|
14
80
|
//# sourceMappingURL=oauth.js.map
|
package/dist/auth/oauth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../src/auth/oauth.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../src/auth/oauth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AASjD,MAAM,OAAO,SAAS;IACV,MAAM,CAAc;IACpB,WAAW,CAAS;IACpB,SAAS,CAAS;IAE1B,YAAY,MAAmB;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,cAAc;QAChB,2EAA2E;QAC3E,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC,WAAW,CAAC;QAC5B,CAAC;QAED,oDAAoD;QACpD,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;YACnB,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC9B,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAEO,UAAU;QACd,OAAO,CAAC,CAAC,CACL,IAAI,CAAC,MAAM,CAAC,YAAY;YACxB,IAAI,CAAC,MAAM,CAAC,QAAQ;YACpB,IAAI,CAAC,MAAM,CAAC,YAAY;YACxB,IAAI,CAAC,SAAS,GAAG,CAAC,CACrB,CAAC;IACN,CAAC;IAEO,SAAS;QACb,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IAChD,CAAC;IAEO,KAAK,CAAC,YAAY;QACtB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YAClF,MAAM,IAAI,KAAK,CAAC,sFAAsF,CAAC,CAAC;QAC5G,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,eAAe,EAAE;YAC1C,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,mCAAmC,EAAE;YAChE,IAAI,EAAE,IAAI,eAAe,CAAC;gBACtB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;gBAC/B,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;gBACvC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;gBACvC,UAAU,EAAE,eAAe;aAC9B,CAAC;SACL,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAmB,CAAC;QAE7D,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC,YAAY,CAAC;QAC9C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;QAEhE,mDAAmD;QACnD,IAAI,aAAa,CAAC,aAAa,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,aAAa,CAAC,aAAa,CAAC;QAC3D,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,aAAa;QACT,OAAO;YACH,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;YACtC,SAAS,EAAE,IAAI,CAAC,SAAS;SAC5B,CAAC;IACN,CAAC;CACJ"}
|