@diskd-ai/sdk 5.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/LICENSE +190 -0
- package/README.md +1036 -0
- package/dist/agentHub/StreamProtocolFetcher.d.ts +55 -0
- package/dist/agentHub/StreamProtocolFetcher.d.ts.map +1 -0
- package/dist/agentHub/StreamProtocolFetcher.js +176 -0
- package/dist/agentHub/StreamProtocolFetcher.js.map +1 -0
- package/dist/agentHub/StreamProtocolHandler.d.ts +18 -0
- package/dist/agentHub/StreamProtocolHandler.d.ts.map +1 -0
- package/dist/agentHub/StreamProtocolHandler.js +63 -0
- package/dist/agentHub/StreamProtocolHandler.js.map +1 -0
- package/dist/agentHub/agentHub.d.ts +30 -0
- package/dist/agentHub/agentHub.d.ts.map +1 -0
- package/dist/agentHub/agentHub.js +200 -0
- package/dist/agentHub/agentHub.js.map +1 -0
- package/dist/agentHub/agentHubTypes.d.ts +110 -0
- package/dist/agentHub/agentHubTypes.d.ts.map +1 -0
- package/dist/agentHub/agentHubTypes.js +8 -0
- package/dist/agentHub/agentHubTypes.js.map +1 -0
- package/dist/agentHub/streamProtocolMap.d.ts +328 -0
- package/dist/agentHub/streamProtocolMap.d.ts.map +1 -0
- package/dist/agentHub/streamProtocolMap.js +8 -0
- package/dist/agentHub/streamProtocolMap.js.map +1 -0
- package/dist/auth/createApiKeyAuth.d.ts +11 -0
- package/dist/auth/createApiKeyAuth.d.ts.map +1 -0
- package/dist/auth/createApiKeyAuth.js +31 -0
- package/dist/auth/createApiKeyAuth.js.map +1 -0
- package/dist/auth/createAuth.d.ts +3 -0
- package/dist/auth/createAuth.d.ts.map +1 -0
- package/dist/auth/createAuth.js +128 -0
- package/dist/auth/createAuth.js.map +1 -0
- package/dist/auth/createAuthBrowser.d.ts +3 -0
- package/dist/auth/createAuthBrowser.d.ts.map +1 -0
- package/dist/auth/createAuthBrowser.js +104 -0
- package/dist/auth/createAuthBrowser.js.map +1 -0
- package/dist/auth/jwtClaims.d.ts +3 -0
- package/dist/auth/jwtClaims.d.ts.map +1 -0
- package/dist/auth/jwtClaims.js +23 -0
- package/dist/auth/jwtClaims.js.map +1 -0
- package/dist/auth/keyfile.d.ts +10 -0
- package/dist/auth/keyfile.d.ts.map +1 -0
- package/dist/auth/keyfile.js +28 -0
- package/dist/auth/keyfile.js.map +1 -0
- package/dist/auth/oidcDiscovery.d.ts +9 -0
- package/dist/auth/oidcDiscovery.d.ts.map +1 -0
- package/dist/auth/oidcDiscovery.js +27 -0
- package/dist/auth/oidcDiscovery.js.map +1 -0
- package/dist/auth/pkce.d.ts +4 -0
- package/dist/auth/pkce.d.ts.map +1 -0
- package/dist/auth/pkce.js +43 -0
- package/dist/auth/pkce.js.map +1 -0
- package/dist/auth/sessionStorage.d.ts +8 -0
- package/dist/auth/sessionStorage.d.ts.map +1 -0
- package/dist/auth/sessionStorage.js +8 -0
- package/dist/auth/sessionStorage.js.map +1 -0
- package/dist/auth/tokenRequests.d.ts +15 -0
- package/dist/auth/tokenRequests.d.ts.map +1 -0
- package/dist/auth/tokenRequests.js +89 -0
- package/dist/auth/tokenRequests.js.map +1 -0
- package/dist/auth/types.d.ts +35 -0
- package/dist/auth/types.d.ts.map +1 -0
- package/dist/auth/types.js +2 -0
- package/dist/auth/types.js.map +1 -0
- package/dist/auth/urlRuntime.d.ts +7 -0
- package/dist/auth/urlRuntime.d.ts.map +1 -0
- package/dist/auth/urlRuntime.js +17 -0
- package/dist/auth/urlRuntime.js.map +1 -0
- package/dist/browser/index.d.ts +8 -0
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/index.js +3 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/calendar/calendar.d.ts +21 -0
- package/dist/calendar/calendar.d.ts.map +1 -0
- package/dist/calendar/calendar.js +105 -0
- package/dist/calendar/calendar.js.map +1 -0
- package/dist/calendar/calendarTypes.d.ts +191 -0
- package/dist/calendar/calendarTypes.d.ts.map +1 -0
- package/dist/calendar/calendarTypes.js +4 -0
- package/dist/calendar/calendarTypes.js.map +1 -0
- package/dist/contacts/contacts.d.ts +10 -0
- package/dist/contacts/contacts.d.ts.map +1 -0
- package/dist/contacts/contacts.js +86 -0
- package/dist/contacts/contacts.js.map +1 -0
- package/dist/contacts/contactsTypes.d.ts +81 -0
- package/dist/contacts/contactsTypes.d.ts.map +1 -0
- package/dist/contacts/contactsTypes.js +4 -0
- package/dist/contacts/contactsTypes.js.map +1 -0
- package/dist/drive/DriveRepository.d.ts +88 -0
- package/dist/drive/DriveRepository.d.ts.map +1 -0
- package/dist/drive/DriveRepository.js +156 -0
- package/dist/drive/DriveRepository.js.map +1 -0
- package/dist/drive/crontab.d.ts +7 -0
- package/dist/drive/crontab.d.ts.map +1 -0
- package/dist/drive/crontab.js +374 -0
- package/dist/drive/crontab.js.map +1 -0
- package/dist/drive/crontabTypes.d.ts +136 -0
- package/dist/drive/crontabTypes.d.ts.map +1 -0
- package/dist/drive/crontabTypes.js +2 -0
- package/dist/drive/crontabTypes.js.map +1 -0
- package/dist/drive/drive.d.ts +8 -0
- package/dist/drive/drive.d.ts.map +1 -0
- package/dist/drive/drive.js +711 -0
- package/dist/drive/drive.js.map +1 -0
- package/dist/drive/driveDb.d.ts +6 -0
- package/dist/drive/driveDb.d.ts.map +1 -0
- package/dist/drive/driveDb.js +220 -0
- package/dist/drive/driveDb.js.map +1 -0
- package/dist/drive/driveDbTypes.d.ts +138 -0
- package/dist/drive/driveDbTypes.d.ts.map +1 -0
- package/dist/drive/driveDbTypes.js +5 -0
- package/dist/drive/driveDbTypes.js.map +1 -0
- package/dist/drive/driveTypes.d.ts +322 -0
- package/dist/drive/driveTypes.d.ts.map +1 -0
- package/dist/drive/driveTypes.js +5 -0
- package/dist/drive/driveTypes.js.map +1 -0
- package/dist/drive/rpc.d.ts +14 -0
- package/dist/drive/rpc.d.ts.map +1 -0
- package/dist/drive/rpc.js +48 -0
- package/dist/drive/rpc.js.map +1 -0
- package/dist/drive/session.d.ts +7 -0
- package/dist/drive/session.d.ts.map +1 -0
- package/dist/drive/session.js +450 -0
- package/dist/drive/session.js.map +1 -0
- package/dist/drive/sessionBuilder.d.ts +33 -0
- package/dist/drive/sessionBuilder.d.ts.map +1 -0
- package/dist/drive/sessionBuilder.js +77 -0
- package/dist/drive/sessionBuilder.js.map +1 -0
- package/dist/drive/sessionObject.d.ts +57 -0
- package/dist/drive/sessionObject.d.ts.map +1 -0
- package/dist/drive/sessionObject.js +191 -0
- package/dist/drive/sessionObject.js.map +1 -0
- package/dist/drive/sessionTypes.d.ts +182 -0
- package/dist/drive/sessionTypes.d.ts.map +1 -0
- package/dist/drive/sessionTypes.js +2 -0
- package/dist/drive/sessionTypes.js.map +1 -0
- package/dist/drive/typeorm/DriveDriver.d.ts +27 -0
- package/dist/drive/typeorm/DriveDriver.d.ts.map +1 -0
- package/dist/drive/typeorm/DriveDriver.js +86 -0
- package/dist/drive/typeorm/DriveDriver.js.map +1 -0
- package/dist/drive/typeorm/DriveQueryRunner.d.ts +15 -0
- package/dist/drive/typeorm/DriveQueryRunner.d.ts.map +1 -0
- package/dist/drive/typeorm/DriveQueryRunner.js +76 -0
- package/dist/drive/typeorm/DriveQueryRunner.js.map +1 -0
- package/dist/drive/typeorm/createDriveDataSource.d.ts +3 -0
- package/dist/drive/typeorm/createDriveDataSource.d.ts.map +1 -0
- package/dist/drive/typeorm/createDriveDataSource.js +36 -0
- package/dist/drive/typeorm/createDriveDataSource.js.map +1 -0
- package/dist/drive/typeorm/datasourceTypes.d.ts +56 -0
- package/dist/drive/typeorm/datasourceTypes.d.ts.map +1 -0
- package/dist/drive/typeorm/datasourceTypes.js +5 -0
- package/dist/drive/typeorm/datasourceTypes.js.map +1 -0
- package/dist/drive/types.d.ts +48 -0
- package/dist/drive/types.d.ts.map +1 -0
- package/dist/drive/types.js +2 -0
- package/dist/drive/types.js.map +1 -0
- package/dist/env/apiKey.d.ts +2 -0
- package/dist/env/apiKey.d.ts.map +1 -0
- package/dist/env/apiKey.js +11 -0
- package/dist/env/apiKey.js.map +1 -0
- package/dist/env/baseUrl.d.ts +3 -0
- package/dist/env/baseUrl.d.ts.map +1 -0
- package/dist/env/baseUrl.js +31 -0
- package/dist/env/baseUrl.js.map +1 -0
- package/dist/inbox/inboxTypes.d.ts +34 -0
- package/dist/inbox/inboxTypes.d.ts.map +1 -0
- package/dist/inbox/inboxTypes.js +5 -0
- package/dist/inbox/inboxTypes.js.map +1 -0
- package/dist/index.d.ts +56 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +43 -0
- package/dist/index.js.map +1 -0
- package/dist/llmRouter/llmRouter.d.ts +23 -0
- package/dist/llmRouter/llmRouter.d.ts.map +1 -0
- package/dist/llmRouter/llmRouter.js +566 -0
- package/dist/llmRouter/llmRouter.js.map +1 -0
- package/dist/llmRouter/llmRouterTypes.d.ts +350 -0
- package/dist/llmRouter/llmRouterTypes.d.ts.map +1 -0
- package/dist/llmRouter/llmRouterTypes.js +5 -0
- package/dist/llmRouter/llmRouterTypes.js.map +1 -0
- package/dist/mcpHub/mcpHub.d.ts +23 -0
- package/dist/mcpHub/mcpHub.d.ts.map +1 -0
- package/dist/mcpHub/mcpHub.js +223 -0
- package/dist/mcpHub/mcpHub.js.map +1 -0
- package/dist/mcpHub/mcpHubTypes.d.ts +228 -0
- package/dist/mcpHub/mcpHubTypes.d.ts.map +1 -0
- package/dist/mcpHub/mcpHubTypes.js +5 -0
- package/dist/mcpHub/mcpHubTypes.js.map +1 -0
- package/dist/mcpTools/mcpTools.d.ts +31 -0
- package/dist/mcpTools/mcpTools.d.ts.map +1 -0
- package/dist/mcpTools/mcpTools.js +144 -0
- package/dist/mcpTools/mcpTools.js.map +1 -0
- package/dist/mcpTools/mcpToolsTypes.d.ts +45 -0
- package/dist/mcpTools/mcpToolsTypes.d.ts.map +1 -0
- package/dist/mcpTools/mcpToolsTypes.js +5 -0
- package/dist/mcpTools/mcpToolsTypes.js.map +1 -0
- package/dist/messagesStore/messagesStore.d.ts +22 -0
- package/dist/messagesStore/messagesStore.d.ts.map +1 -0
- package/dist/messagesStore/messagesStore.js +402 -0
- package/dist/messagesStore/messagesStore.js.map +1 -0
- package/dist/messagesStore/messagesStoreTypes.d.ts +327 -0
- package/dist/messagesStore/messagesStoreTypes.d.ts.map +1 -0
- package/dist/messagesStore/messagesStoreTypes.js +11 -0
- package/dist/messagesStore/messagesStoreTypes.js.map +1 -0
- package/dist/node/fastDns.d.ts +2 -0
- package/dist/node/fastDns.d.ts.map +1 -0
- package/dist/node/fastDns.js +119 -0
- package/dist/node/fastDns.js.map +1 -0
- package/dist/operatives/operatives.d.ts +22 -0
- package/dist/operatives/operatives.d.ts.map +1 -0
- package/dist/operatives/operatives.js +199 -0
- package/dist/operatives/operatives.js.map +1 -0
- package/dist/operatives/operativesTypes.d.ts +141 -0
- package/dist/operatives/operativesTypes.d.ts.map +1 -0
- package/dist/operatives/operativesTypes.js +6 -0
- package/dist/operatives/operativesTypes.js.map +1 -0
- package/dist/platformEvents/platformEvents.d.ts +14 -0
- package/dist/platformEvents/platformEvents.d.ts.map +1 -0
- package/dist/platformEvents/platformEvents.js +70 -0
- package/dist/platformEvents/platformEvents.js.map +1 -0
- package/dist/platformEvents/platformEventsTypes.d.ts +31 -0
- package/dist/platformEvents/platformEventsTypes.d.ts.map +1 -0
- package/dist/platformEvents/platformEventsTypes.js +8 -0
- package/dist/platformEvents/platformEventsTypes.js.map +1 -0
- package/dist/projects/projects.d.ts +19 -0
- package/dist/projects/projects.d.ts.map +1 -0
- package/dist/projects/projects.js +52 -0
- package/dist/projects/projects.js.map +1 -0
- package/dist/projects/projectsTypes.d.ts +47 -0
- package/dist/projects/projectsTypes.d.ts.map +1 -0
- package/dist/projects/projectsTypes.js +4 -0
- package/dist/projects/projectsTypes.js.map +1 -0
- package/dist/routineRuns/routineRuns.d.ts +19 -0
- package/dist/routineRuns/routineRuns.d.ts.map +1 -0
- package/dist/routineRuns/routineRuns.js +47 -0
- package/dist/routineRuns/routineRuns.js.map +1 -0
- package/dist/routineRuns/routineRunsTypes.d.ts +39 -0
- package/dist/routineRuns/routineRunsTypes.d.ts.map +1 -0
- package/dist/routineRuns/routineRunsTypes.js +4 -0
- package/dist/routineRuns/routineRunsTypes.js.map +1 -0
- package/dist/routines/routines.d.ts +19 -0
- package/dist/routines/routines.d.ts.map +1 -0
- package/dist/routines/routines.js +77 -0
- package/dist/routines/routines.js.map +1 -0
- package/dist/routines/routinesTypes.d.ts +106 -0
- package/dist/routines/routinesTypes.d.ts.map +1 -0
- package/dist/routines/routinesTypes.js +4 -0
- package/dist/routines/routinesTypes.js.map +1 -0
- package/dist/sdk/diskd.d.ts +3 -0
- package/dist/sdk/diskd.d.ts.map +1 -0
- package/dist/sdk/diskd.js +126 -0
- package/dist/sdk/diskd.js.map +1 -0
- package/dist/sdk/http.d.ts +13 -0
- package/dist/sdk/http.d.ts.map +1 -0
- package/dist/sdk/http.js +80 -0
- package/dist/sdk/http.js.map +1 -0
- package/dist/sdk/types.d.ts +115 -0
- package/dist/sdk/types.d.ts.map +1 -0
- package/dist/sdk/types.js +2 -0
- package/dist/sdk/types.js.map +1 -0
- package/dist/testing/auth.d.ts +8 -0
- package/dist/testing/auth.d.ts.map +1 -0
- package/dist/testing/auth.js +14 -0
- package/dist/testing/auth.js.map +1 -0
- package/dist/testing/fetchMock.d.ts +17 -0
- package/dist/testing/fetchMock.d.ts.map +1 -0
- package/dist/testing/fetchMock.js +46 -0
- package/dist/testing/fetchMock.js.map +1 -0
- package/dist/testing/index.d.ts +11 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +11 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/integration.d.ts +33 -0
- package/dist/testing/integration.d.ts.map +1 -0
- package/dist/testing/integration.js +32 -0
- package/dist/testing/integration.js.map +1 -0
- package/dist/testing/jsonRpc.d.ts +9 -0
- package/dist/testing/jsonRpc.d.ts.map +1 -0
- package/dist/testing/jsonRpc.js +24 -0
- package/dist/testing/jsonRpc.js.map +1 -0
- package/dist/testing/rpcMock.d.ts +16 -0
- package/dist/testing/rpcMock.d.ts.map +1 -0
- package/dist/testing/rpcMock.js +28 -0
- package/dist/testing/rpcMock.js.map +1 -0
- package/dist/tgUserbot/tgUserbot.d.ts +23 -0
- package/dist/tgUserbot/tgUserbot.d.ts.map +1 -0
- package/dist/tgUserbot/tgUserbot.js +314 -0
- package/dist/tgUserbot/tgUserbot.js.map +1 -0
- package/dist/tgUserbot/tgUserbotTypes.d.ts +124 -0
- package/dist/tgUserbot/tgUserbotTypes.d.ts.map +1 -0
- package/dist/tgUserbot/tgUserbotTypes.js +5 -0
- package/dist/tgUserbot/tgUserbotTypes.js.map +1 -0
- package/dist/webNavigator/webNavigator.d.ts +22 -0
- package/dist/webNavigator/webNavigator.d.ts.map +1 -0
- package/dist/webNavigator/webNavigator.js +46 -0
- package/dist/webNavigator/webNavigator.js.map +1 -0
- package/dist/webNavigator/webNavigatorTypes.d.ts +133 -0
- package/dist/webNavigator/webNavigatorTypes.d.ts.map +1 -0
- package/dist/webNavigator/webNavigatorTypes.js +5 -0
- package/dist/webNavigator/webNavigatorTypes.js.map +1 -0
- package/package.json +90 -0
|
@@ -0,0 +1,314 @@
|
|
|
1
|
+
import { resolveDiskdGatewayUrl } from '../env/baseUrl.js';
|
|
2
|
+
const isObject = (value) => typeof value === 'object' && value !== null;
|
|
3
|
+
const str = (obj, key) => {
|
|
4
|
+
const v = obj[key];
|
|
5
|
+
return typeof v === 'string' ? v : undefined;
|
|
6
|
+
};
|
|
7
|
+
const num = (obj, key) => {
|
|
8
|
+
const v = obj[key];
|
|
9
|
+
return typeof v === 'number' ? v : undefined;
|
|
10
|
+
};
|
|
11
|
+
const bool = (obj, key) => {
|
|
12
|
+
const v = obj[key];
|
|
13
|
+
return typeof v === 'boolean' ? v : undefined;
|
|
14
|
+
};
|
|
15
|
+
const buildQueryString = (params) => {
|
|
16
|
+
const entries = Object.entries(params).filter(([, v]) => v !== undefined && v !== '');
|
|
17
|
+
if (entries.length === 0)
|
|
18
|
+
return '';
|
|
19
|
+
const searchParams = new URLSearchParams();
|
|
20
|
+
for (const [key, value] of entries) {
|
|
21
|
+
searchParams.set(key, String(value));
|
|
22
|
+
}
|
|
23
|
+
return `?${searchParams.toString()}`;
|
|
24
|
+
};
|
|
25
|
+
// ---------------------------------------------------------------------------
|
|
26
|
+
// Response decoders -- explicit snake_case -> camelCase per field
|
|
27
|
+
// ---------------------------------------------------------------------------
|
|
28
|
+
const decodeTask = (o) => {
|
|
29
|
+
if (!isObject(o))
|
|
30
|
+
throw new Error('Invalid TG Userbot response: task must be an object');
|
|
31
|
+
return {
|
|
32
|
+
taskUuid: str(o, 'task_uuid') ?? '',
|
|
33
|
+
status: str(o, 'status') ?? 'running',
|
|
34
|
+
progressPercentage: num(o, 'progress_percentage') ?? 0,
|
|
35
|
+
messagesProcessed: num(o, 'messages_processed') ?? 0,
|
|
36
|
+
totalMessagesToProcess: num(o, 'total_messages_to_process') ?? 0,
|
|
37
|
+
errorMessage: str(o, 'error_message'),
|
|
38
|
+
createdAt: str(o, 'created_at') ?? '',
|
|
39
|
+
updatedAt: str(o, 'updated_at') ?? '',
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
const decodeChannel = (o) => {
|
|
43
|
+
if (!isObject(o))
|
|
44
|
+
throw new Error('Invalid TG Userbot response: channel must be an object');
|
|
45
|
+
return {
|
|
46
|
+
id: num(o, 'id') ?? 0,
|
|
47
|
+
telegramId: num(o, 'telegram_id') ?? 0,
|
|
48
|
+
title: str(o, 'title') ?? '',
|
|
49
|
+
username: str(o, 'username'),
|
|
50
|
+
isPublic: bool(o, 'is_public') ?? false,
|
|
51
|
+
participantsCount: num(o, 'participants_count'),
|
|
52
|
+
status: str(o, 'status') ?? 'new',
|
|
53
|
+
totalMessages: num(o, 'total_messages') ?? 0,
|
|
54
|
+
createdAt: str(o, 'created_at') ?? '',
|
|
55
|
+
updatedAt: str(o, 'updated_at') ?? '',
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
const decodeChannelResolveResult = (o) => {
|
|
59
|
+
if (!isObject(o))
|
|
60
|
+
throw new Error('Invalid TG Userbot response: resolve result must be an object');
|
|
61
|
+
return {
|
|
62
|
+
telegramId: num(o, 'telegram_id') ?? 0,
|
|
63
|
+
title: str(o, 'title') ?? '',
|
|
64
|
+
username: str(o, 'username'),
|
|
65
|
+
isPublic: bool(o, 'is_public') ?? false,
|
|
66
|
+
participantsCount: num(o, 'participants_count'),
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
const decodeChannelAddResult = (o) => {
|
|
70
|
+
if (!isObject(o))
|
|
71
|
+
throw new Error('Invalid TG Userbot response: channel add result must be an object');
|
|
72
|
+
const rawTask = o.task;
|
|
73
|
+
return {
|
|
74
|
+
message: str(o, 'message') ?? '',
|
|
75
|
+
action: str(o, 'action') ?? 'created',
|
|
76
|
+
channel: decodeChannel(o.channel),
|
|
77
|
+
task: rawTask !== undefined && rawTask !== null ? decodeTask(rawTask) : undefined,
|
|
78
|
+
};
|
|
79
|
+
};
|
|
80
|
+
const decodeChannelStatusResult = (o) => {
|
|
81
|
+
if (!isObject(o))
|
|
82
|
+
throw new Error('Invalid TG Userbot response: channel status must be an object');
|
|
83
|
+
const rawLastTask = o.last_task;
|
|
84
|
+
return {
|
|
85
|
+
channelStatus: str(o, 'channel_status') ?? '',
|
|
86
|
+
lastTask: rawLastTask !== undefined && rawLastTask !== null ? decodeTask(rawLastTask) : undefined,
|
|
87
|
+
};
|
|
88
|
+
};
|
|
89
|
+
const decodeMessage = (o) => {
|
|
90
|
+
if (!isObject(o))
|
|
91
|
+
throw new Error('Invalid TG Userbot response: message must be an object');
|
|
92
|
+
return {
|
|
93
|
+
id: num(o, 'id') ?? 0,
|
|
94
|
+
channelTelegramId: num(o, 'channel_telegram_id') ?? 0,
|
|
95
|
+
senderId: num(o, 'sender_id'),
|
|
96
|
+
senderName: str(o, 'sender_name'),
|
|
97
|
+
text: str(o, 'text'),
|
|
98
|
+
date: str(o, 'date') ?? '',
|
|
99
|
+
replyToMessageId: num(o, 'reply_to_message_id'),
|
|
100
|
+
isForward: bool(o, 'is_forward') ?? false,
|
|
101
|
+
views: num(o, 'views'),
|
|
102
|
+
createdAt: str(o, 'created_at'),
|
|
103
|
+
};
|
|
104
|
+
};
|
|
105
|
+
const decodeMessagesResult = (o) => {
|
|
106
|
+
if (!isObject(o))
|
|
107
|
+
throw new Error('Invalid TG Userbot response: messages result must be an object');
|
|
108
|
+
const rawMessages = o.messages;
|
|
109
|
+
const messages = Array.isArray(rawMessages) ? rawMessages.map(decodeMessage) : [];
|
|
110
|
+
return {
|
|
111
|
+
totalMessagesInDb: num(o, 'total_messages_in_db') ?? 0,
|
|
112
|
+
messages,
|
|
113
|
+
};
|
|
114
|
+
};
|
|
115
|
+
const decodeChannelStatsResult = (o) => {
|
|
116
|
+
if (!isObject(o))
|
|
117
|
+
throw new Error('Invalid TG Userbot response: stats result must be an object');
|
|
118
|
+
const rawDateRange = o.date_range;
|
|
119
|
+
let dateRange;
|
|
120
|
+
if (isObject(rawDateRange)) {
|
|
121
|
+
dateRange = {
|
|
122
|
+
earliest: str(rawDateRange, 'earliest') ?? '',
|
|
123
|
+
latest: str(rawDateRange, 'latest') ?? '',
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
return {
|
|
127
|
+
totalMessages: num(o, 'total_messages') ?? 0,
|
|
128
|
+
dateRange,
|
|
129
|
+
};
|
|
130
|
+
};
|
|
131
|
+
const decodeTaskListResult = (o) => {
|
|
132
|
+
if (!isObject(o))
|
|
133
|
+
throw new Error('Invalid TG Userbot response: task list result must be an object');
|
|
134
|
+
const rawRunning = o.running_tasks;
|
|
135
|
+
const runningTasks = {};
|
|
136
|
+
if (isObject(rawRunning)) {
|
|
137
|
+
for (const [uuid, rawTask] of Object.entries(rawRunning)) {
|
|
138
|
+
runningTasks[uuid] = decodeTask(rawTask);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
return { runningTasks };
|
|
142
|
+
};
|
|
143
|
+
const encodeChannelAddParams = (params) => ({
|
|
144
|
+
channel_identifier: params.channelIdentifier,
|
|
145
|
+
...(params.limit !== undefined ? { limit: params.limit } : {}),
|
|
146
|
+
...(params.forceRecreate !== undefined ? { force_recreate: params.forceRecreate } : {}),
|
|
147
|
+
});
|
|
148
|
+
const encodeChannelSyncParams = (params) => ({
|
|
149
|
+
telegram_id: params.telegramId,
|
|
150
|
+
...(params.limit !== undefined ? { limit: params.limit } : {}),
|
|
151
|
+
});
|
|
152
|
+
const encodeMessagesParams = (params) => ({
|
|
153
|
+
limit: params.limit,
|
|
154
|
+
offset: params.offset,
|
|
155
|
+
start_date: params.startDate,
|
|
156
|
+
end_date: params.endDate,
|
|
157
|
+
search_text: params.searchText,
|
|
158
|
+
});
|
|
159
|
+
const httpRequest = async (options) => {
|
|
160
|
+
const headers = { ...options.authHeaders };
|
|
161
|
+
if (options.body !== undefined) {
|
|
162
|
+
headers['Content-Type'] = 'application/json';
|
|
163
|
+
}
|
|
164
|
+
if (options.workspaceId !== undefined) {
|
|
165
|
+
headers['X-Workspace-Id'] = options.workspaceId;
|
|
166
|
+
}
|
|
167
|
+
const response = await fetch(options.url, {
|
|
168
|
+
method: options.method,
|
|
169
|
+
headers,
|
|
170
|
+
body: options.body !== undefined ? JSON.stringify(options.body) : undefined,
|
|
171
|
+
});
|
|
172
|
+
if (!response.ok) {
|
|
173
|
+
let message = `HTTP ${response.status}`;
|
|
174
|
+
try {
|
|
175
|
+
const errorData = (await response.json());
|
|
176
|
+
if (isObject(errorData)) {
|
|
177
|
+
const err = errorData.error;
|
|
178
|
+
if (isObject(err) && typeof err.message === 'string') {
|
|
179
|
+
message = err.message;
|
|
180
|
+
}
|
|
181
|
+
else if (typeof errorData.message === 'string') {
|
|
182
|
+
message = errorData.message;
|
|
183
|
+
}
|
|
184
|
+
else if (typeof errorData.detail === 'string') {
|
|
185
|
+
message = errorData.detail;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
catch {
|
|
190
|
+
// Could not parse error body -- use default message
|
|
191
|
+
}
|
|
192
|
+
throw new Error(`TG Userbot request failed (${response.status}): ${message}`);
|
|
193
|
+
}
|
|
194
|
+
if (response.status === 204) {
|
|
195
|
+
return undefined;
|
|
196
|
+
}
|
|
197
|
+
return (await response.json());
|
|
198
|
+
};
|
|
199
|
+
// ---------------------------------------------------------------------------
|
|
200
|
+
// Client factory
|
|
201
|
+
// ---------------------------------------------------------------------------
|
|
202
|
+
/**
|
|
203
|
+
* Creates a TG Userbot REST client bound to a given auth module and workspace.
|
|
204
|
+
*
|
|
205
|
+
* The URL defaults to the centralized `APIS_BASE_URL` gateway with the
|
|
206
|
+
* `/v1/utils/tg-userbot` path prefix.
|
|
207
|
+
*
|
|
208
|
+
* The workspace is derived from `auth.getWorkspaceId()` and forwarded as
|
|
209
|
+
* `X-Workspace-Id` on all authenticated endpoints. The `channels.resolve`
|
|
210
|
+
* endpoint is public and does not require it.
|
|
211
|
+
*
|
|
212
|
+
* Example:
|
|
213
|
+
* ```ts
|
|
214
|
+
* const tg = createTgUserbotClient({ auth });
|
|
215
|
+
* const channels = await tg.channels.list();
|
|
216
|
+
* ```
|
|
217
|
+
*/
|
|
218
|
+
export const createTgUserbotClient = (params) => {
|
|
219
|
+
const baseUrl = (params.url ?? resolveDiskdGatewayUrl('utils/tg-userbot')).replace(/\/+$/, '');
|
|
220
|
+
const resolveWorkspaceId = async () => await params.auth.getWorkspaceId();
|
|
221
|
+
const getAuthHeaders = async () => {
|
|
222
|
+
if (params.auth.getRequestHeaders) {
|
|
223
|
+
return params.auth.getRequestHeaders();
|
|
224
|
+
}
|
|
225
|
+
const token = await params.auth.getAccessToken();
|
|
226
|
+
return { Authorization: `Bearer ${token}` };
|
|
227
|
+
};
|
|
228
|
+
const request = async (method, path, opts = {}) => {
|
|
229
|
+
const authHeaders = await getAuthHeaders();
|
|
230
|
+
const qs = opts.query ? buildQueryString(opts.query) : '';
|
|
231
|
+
return httpRequest({
|
|
232
|
+
method,
|
|
233
|
+
url: `${baseUrl}${path}${qs}`,
|
|
234
|
+
authHeaders,
|
|
235
|
+
workspaceId: opts.withWorkspace !== false ? await resolveWorkspaceId() : undefined,
|
|
236
|
+
body: opts.body,
|
|
237
|
+
});
|
|
238
|
+
};
|
|
239
|
+
/** Public request -- no auth headers, no workspace id. */
|
|
240
|
+
const publicRequest = async (path, query) => {
|
|
241
|
+
const qs = query ? buildQueryString(query) : '';
|
|
242
|
+
return httpRequest({
|
|
243
|
+
method: 'GET',
|
|
244
|
+
url: `${baseUrl}${path}${qs}`,
|
|
245
|
+
authHeaders: {},
|
|
246
|
+
});
|
|
247
|
+
};
|
|
248
|
+
return {
|
|
249
|
+
channels: {
|
|
250
|
+
resolve: async (identifier) => {
|
|
251
|
+
const raw = await publicRequest('/api/v1/channels/resolve', {
|
|
252
|
+
identifier,
|
|
253
|
+
});
|
|
254
|
+
return decodeChannelResolveResult(raw);
|
|
255
|
+
},
|
|
256
|
+
add: async (addParams) => {
|
|
257
|
+
const raw = await request('POST', '/api/v1/channels', {
|
|
258
|
+
withWorkspace: true,
|
|
259
|
+
body: encodeChannelAddParams(addParams),
|
|
260
|
+
});
|
|
261
|
+
return decodeChannelAddResult(raw);
|
|
262
|
+
},
|
|
263
|
+
sync: async (syncParams) => {
|
|
264
|
+
const raw = await request('POST', `/api/v1/channels/${syncParams.telegramId}/sync`, {
|
|
265
|
+
withWorkspace: true,
|
|
266
|
+
body: encodeChannelSyncParams(syncParams),
|
|
267
|
+
});
|
|
268
|
+
return decodeChannelAddResult(raw);
|
|
269
|
+
},
|
|
270
|
+
list: async () => {
|
|
271
|
+
const raw = await request('GET', '/api/v1/channels', {
|
|
272
|
+
withWorkspace: true,
|
|
273
|
+
});
|
|
274
|
+
return raw.map(decodeChannel);
|
|
275
|
+
},
|
|
276
|
+
getStatus: async (channelId) => {
|
|
277
|
+
const raw = await request('GET', `/api/v1/channels/${channelId}/status`, {
|
|
278
|
+
withWorkspace: true,
|
|
279
|
+
});
|
|
280
|
+
return decodeChannelStatusResult(raw);
|
|
281
|
+
},
|
|
282
|
+
getMessages: async (channelId, msgParams) => {
|
|
283
|
+
const raw = await request('GET', `/api/v1/channels/${channelId}/messages`, {
|
|
284
|
+
withWorkspace: true,
|
|
285
|
+
query: msgParams ? encodeMessagesParams(msgParams) : undefined,
|
|
286
|
+
});
|
|
287
|
+
return decodeMessagesResult(raw);
|
|
288
|
+
},
|
|
289
|
+
getStats: async (channelId) => {
|
|
290
|
+
const raw = await request('GET', `/api/v1/channels/${channelId}/stats`, {
|
|
291
|
+
withWorkspace: true,
|
|
292
|
+
});
|
|
293
|
+
return decodeChannelStatsResult(raw);
|
|
294
|
+
},
|
|
295
|
+
delete: async (channelId) => {
|
|
296
|
+
await request('DELETE', `/api/v1/channels/${channelId}`, { withWorkspace: true });
|
|
297
|
+
},
|
|
298
|
+
},
|
|
299
|
+
tasks: {
|
|
300
|
+
list: async () => {
|
|
301
|
+
const raw = await request('GET', '/api/v1/tasks', {
|
|
302
|
+
withWorkspace: true,
|
|
303
|
+
});
|
|
304
|
+
return decodeTaskListResult(raw);
|
|
305
|
+
},
|
|
306
|
+
cancel: async (taskUuid) => {
|
|
307
|
+
await request('DELETE', `/api/v1/tasks/${encodeURIComponent(taskUuid)}`, {
|
|
308
|
+
withWorkspace: true,
|
|
309
|
+
});
|
|
310
|
+
},
|
|
311
|
+
},
|
|
312
|
+
};
|
|
313
|
+
};
|
|
314
|
+
//# sourceMappingURL=tgUserbot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tgUserbot.js","sourceRoot":"","sources":["../../src/tgUserbot/tgUserbot.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
export type TgChannelStatus = 'new' | 'idle' | 'syncing' | 'error';
|
|
2
|
+
export type TgChannel = {
|
|
3
|
+
readonly id: number;
|
|
4
|
+
readonly telegramId: number;
|
|
5
|
+
readonly title: string;
|
|
6
|
+
readonly username?: string;
|
|
7
|
+
readonly isPublic: boolean;
|
|
8
|
+
readonly participantsCount?: number;
|
|
9
|
+
readonly status: TgChannelStatus;
|
|
10
|
+
readonly totalMessages: number;
|
|
11
|
+
readonly createdAt: string;
|
|
12
|
+
readonly updatedAt: string;
|
|
13
|
+
};
|
|
14
|
+
export type TgChannelResolveResult = {
|
|
15
|
+
readonly telegramId: number;
|
|
16
|
+
readonly title: string;
|
|
17
|
+
readonly username?: string;
|
|
18
|
+
readonly isPublic: boolean;
|
|
19
|
+
readonly participantsCount?: number;
|
|
20
|
+
};
|
|
21
|
+
export type TgTaskStatus = 'running' | 'completed' | 'failed' | 'cancelled';
|
|
22
|
+
export type TgTask = {
|
|
23
|
+
readonly taskUuid: string;
|
|
24
|
+
readonly status: TgTaskStatus;
|
|
25
|
+
readonly progressPercentage: number;
|
|
26
|
+
readonly messagesProcessed: number;
|
|
27
|
+
readonly totalMessagesToProcess: number;
|
|
28
|
+
readonly errorMessage?: string;
|
|
29
|
+
readonly createdAt: string;
|
|
30
|
+
readonly updatedAt: string;
|
|
31
|
+
};
|
|
32
|
+
export type TgChannelAddParams = {
|
|
33
|
+
readonly channelIdentifier: string;
|
|
34
|
+
readonly limit?: number;
|
|
35
|
+
readonly forceRecreate?: boolean;
|
|
36
|
+
};
|
|
37
|
+
export type TgChannelAddAction = 'created' | 'sync_started' | 'already_syncing' | 'recreated';
|
|
38
|
+
export type TgChannelAddResult = {
|
|
39
|
+
readonly message: string;
|
|
40
|
+
readonly action: TgChannelAddAction;
|
|
41
|
+
readonly channel: TgChannel;
|
|
42
|
+
readonly task?: TgTask;
|
|
43
|
+
};
|
|
44
|
+
export type TgChannelSyncParams = {
|
|
45
|
+
readonly telegramId: number;
|
|
46
|
+
readonly limit?: number;
|
|
47
|
+
};
|
|
48
|
+
export type TgChannelStatusResult = {
|
|
49
|
+
readonly channelStatus: string;
|
|
50
|
+
readonly lastTask?: TgTask;
|
|
51
|
+
};
|
|
52
|
+
export type TgMessage = {
|
|
53
|
+
readonly id: number;
|
|
54
|
+
readonly channelTelegramId: number;
|
|
55
|
+
readonly senderId?: number;
|
|
56
|
+
readonly senderName?: string;
|
|
57
|
+
readonly text?: string;
|
|
58
|
+
readonly date: string;
|
|
59
|
+
readonly replyToMessageId?: number;
|
|
60
|
+
readonly isForward: boolean;
|
|
61
|
+
readonly views?: number;
|
|
62
|
+
readonly createdAt?: string;
|
|
63
|
+
};
|
|
64
|
+
export type TgMessagesParams = {
|
|
65
|
+
/** Number of messages to return (1-1000, default 100). */
|
|
66
|
+
readonly limit?: number;
|
|
67
|
+
readonly offset?: number;
|
|
68
|
+
readonly startDate?: string;
|
|
69
|
+
readonly endDate?: string;
|
|
70
|
+
readonly searchText?: string;
|
|
71
|
+
};
|
|
72
|
+
export type TgMessagesResult = {
|
|
73
|
+
readonly totalMessagesInDb: number;
|
|
74
|
+
readonly messages: readonly TgMessage[];
|
|
75
|
+
};
|
|
76
|
+
export type TgChannelStatsResult = {
|
|
77
|
+
readonly totalMessages: number;
|
|
78
|
+
readonly dateRange?: {
|
|
79
|
+
readonly earliest: string;
|
|
80
|
+
readonly latest: string;
|
|
81
|
+
};
|
|
82
|
+
};
|
|
83
|
+
/**
|
|
84
|
+
* Wire-format map of running tasks keyed by task UUID.
|
|
85
|
+
* Record<string, TgTask> is acceptable here because it represents a
|
|
86
|
+
* server-side keyed map, not a domain object.
|
|
87
|
+
*/
|
|
88
|
+
export type TgTaskListResult = {
|
|
89
|
+
readonly runningTasks: Record<string, TgTask>;
|
|
90
|
+
};
|
|
91
|
+
/**
|
|
92
|
+
* TG Userbot REST client organized by namespace.
|
|
93
|
+
*
|
|
94
|
+
* Obtain via `createTgUserbotClient`. The workspace is derived from `auth.getWorkspaceId()`
|
|
95
|
+
* time and is forwarded as `X-Workspace-Id` on all authenticated endpoints.
|
|
96
|
+
* The `channels.resolve` endpoint is public and does not require auth.
|
|
97
|
+
*/
|
|
98
|
+
export type TgUserbotClient = {
|
|
99
|
+
readonly channels: {
|
|
100
|
+
/** GET /api/v1/channels/resolve?identifier={identifier} -- resolve a channel by username or invite link (no auth). */
|
|
101
|
+
readonly resolve: (identifier: string) => Promise<TgChannelResolveResult>;
|
|
102
|
+
/** POST /api/v1/channels -- add a channel and start sync. */
|
|
103
|
+
readonly add: (params: TgChannelAddParams) => Promise<TgChannelAddResult>;
|
|
104
|
+
/** POST /api/v1/channels/{channelId}/sync -- trigger a sync for an existing channel. */
|
|
105
|
+
readonly sync: (params: TgChannelSyncParams) => Promise<TgChannelAddResult>;
|
|
106
|
+
/** GET /api/v1/channels -- list all channels for the workspace. */
|
|
107
|
+
readonly list: () => Promise<readonly TgChannel[]>;
|
|
108
|
+
/** GET /api/v1/channels/{channelId}/status -- get current status and last task. */
|
|
109
|
+
readonly getStatus: (channelId: number) => Promise<TgChannelStatusResult>;
|
|
110
|
+
/** GET /api/v1/channels/{channelId}/messages -- fetch messages with optional filters. */
|
|
111
|
+
readonly getMessages: (channelId: number, params?: TgMessagesParams) => Promise<TgMessagesResult>;
|
|
112
|
+
/** GET /api/v1/channels/{channelId}/stats -- get aggregate stats. */
|
|
113
|
+
readonly getStats: (channelId: number) => Promise<TgChannelStatsResult>;
|
|
114
|
+
/** DELETE /api/v1/channels/{channelId} -- delete a channel and all its data. */
|
|
115
|
+
readonly delete: (channelId: number) => Promise<void>;
|
|
116
|
+
};
|
|
117
|
+
readonly tasks: {
|
|
118
|
+
/** GET /api/v1/tasks -- list all running tasks. */
|
|
119
|
+
readonly list: () => Promise<TgTaskListResult>;
|
|
120
|
+
/** DELETE /api/v1/tasks/{taskUuid} -- cancel a running task. */
|
|
121
|
+
readonly cancel: (taskUuid: string) => Promise<void>;
|
|
122
|
+
};
|
|
123
|
+
};
|
|
124
|
+
//# sourceMappingURL=tgUserbotTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tgUserbotTypes.d.ts","sourceRoot":"","sources":["../../src/tgUserbot/tgUserbotTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tgUserbotTypes.js","sourceRoot":"","sources":["../../src/tgUserbot/tgUserbotTypes.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,yEAAyE;AACzE,8FAA8F"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { AuthModule } from '../auth/types.js';
|
|
2
|
+
import type { WebNavigatorClient } from './webNavigatorTypes.js';
|
|
3
|
+
/**
|
|
4
|
+
* Creates a Web Navigator REST client bound to a given auth module and workspace.
|
|
5
|
+
*
|
|
6
|
+
* The URL defaults to the centralized `APIS_BASE_URL` gateway with the
|
|
7
|
+
* `/v1/utils/web-navigator` path prefix.
|
|
8
|
+
*
|
|
9
|
+
* The workspace is derived from `auth.getWorkspaceId()` and forwarded as
|
|
10
|
+
* `X-Workspace-Id` on all requests.
|
|
11
|
+
*
|
|
12
|
+
* Example:
|
|
13
|
+
* ```ts
|
|
14
|
+
* const nav = createWebNavigatorClient({ auth });
|
|
15
|
+
* const job = await nav.scrape.submit({ url: 'https://example.com', depth: 1 });
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
export declare const createWebNavigatorClient: (params: {
|
|
19
|
+
readonly auth: AuthModule;
|
|
20
|
+
readonly url?: string;
|
|
21
|
+
}) => WebNavigatorClient;
|
|
22
|
+
//# sourceMappingURL=webNavigator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webNavigator.d.ts","sourceRoot":"","sources":["../../src/webNavigator/webNavigator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGnD,OAAO,KAAK,EAQV,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAMhC;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,wBAAwB,GAAI,QAAQ;IAC/C,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACvB,KAAG,kBAkDH,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { resolveDiskdGatewayUrl } from '../env/baseUrl.js';
|
|
2
|
+
import { httpRequest, resolveAuthHeaders } from '../sdk/http.js';
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
// Client factory
|
|
5
|
+
// ---------------------------------------------------------------------------
|
|
6
|
+
/**
|
|
7
|
+
* Creates a Web Navigator REST client bound to a given auth module and workspace.
|
|
8
|
+
*
|
|
9
|
+
* The URL defaults to the centralized `APIS_BASE_URL` gateway with the
|
|
10
|
+
* `/v1/utils/web-navigator` path prefix.
|
|
11
|
+
*
|
|
12
|
+
* The workspace is derived from `auth.getWorkspaceId()` and forwarded as
|
|
13
|
+
* `X-Workspace-Id` on all requests.
|
|
14
|
+
*
|
|
15
|
+
* Example:
|
|
16
|
+
* ```ts
|
|
17
|
+
* const nav = createWebNavigatorClient({ auth });
|
|
18
|
+
* const job = await nav.scrape.submit({ url: 'https://example.com', depth: 1 });
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export const createWebNavigatorClient = (params) => {
|
|
22
|
+
const baseUrl = (params.url ?? resolveDiskdGatewayUrl('utils/web-navigator')).replace(/\/+$/, '');
|
|
23
|
+
const resolveWorkspaceId = async () => await params.auth.getWorkspaceId();
|
|
24
|
+
const request = async (method, path, opts = {}) => {
|
|
25
|
+
const authHeaders = await resolveAuthHeaders(params.auth);
|
|
26
|
+
return httpRequest({
|
|
27
|
+
method,
|
|
28
|
+
url: `${baseUrl}${path}`,
|
|
29
|
+
authHeaders,
|
|
30
|
+
workspaceId: await resolveWorkspaceId(),
|
|
31
|
+
body: opts.body,
|
|
32
|
+
}, 'Web Navigator');
|
|
33
|
+
};
|
|
34
|
+
return {
|
|
35
|
+
scrape: {
|
|
36
|
+
submit: async (scrapeParams) => request('POST', '/api/v1/scrape', { body: scrapeParams }),
|
|
37
|
+
sync: async (scrapeParams) => request('POST', '/api/v1/scrape/sync', { body: scrapeParams }),
|
|
38
|
+
getJob: async (jobId) => request('GET', `/api/v1/scrape/${encodeURIComponent(jobId)}`),
|
|
39
|
+
getStatus: async (jobId) => request('GET', `/api/v1/scrape/${encodeURIComponent(jobId)}/status`),
|
|
40
|
+
getResult: async (jobId) => request('GET', `/api/v1/scrape/${encodeURIComponent(jobId)}/result`),
|
|
41
|
+
cancel: async (jobId) => request('POST', `/api/v1/scrape/${encodeURIComponent(jobId)}/cancel`),
|
|
42
|
+
},
|
|
43
|
+
resolve: async (resolveParams) => request('POST', '/api/v1/resolve', { body: resolveParams }),
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=webNavigator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webNavigator.js","sourceRoot":"","sources":["../../src/webNavigator/webNavigator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAmB,WAAW,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAYlF,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,MAGxC,EAAsB,EAAE;IACvB,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,sBAAsB,CAAC,qBAAqB,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAElG,MAAM,kBAAkB,GAAG,KAAK,IAAiC,EAAE,CACjE,MAAM,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;IAErC,MAAM,OAAO,GAAG,KAAK,EACnB,MAAkB,EAClB,IAAY,EACZ,OAEI,EAAE,EACM,EAAE;QACd,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1D,OAAO,WAAW,CAChB;YACE,MAAM;YACN,GAAG,EAAE,GAAG,OAAO,GAAG,IAAI,EAAE;YACxB,WAAW;YACX,WAAW,EAAE,MAAM,kBAAkB,EAAE;YACvC,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,EACD,eAAe,CAChB,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO;QACL,MAAM,EAAE;YACN,MAAM,EAAE,KAAK,EAAE,YAA0B,EAA+B,EAAE,CACxE,OAAO,CAAqB,MAAM,EAAE,gBAAgB,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;YAE/E,IAAI,EAAE,KAAK,EAAE,YAA0B,EAA+B,EAAE,CACtE,OAAO,CAAqB,MAAM,EAAE,qBAAqB,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;YAEpF,MAAM,EAAE,KAAK,EAAE,KAAa,EAAsB,EAAE,CAClD,OAAO,CAAY,KAAK,EAAE,kBAAkB,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;YAE1E,SAAS,EAAE,KAAK,EAAE,KAAa,EAA4B,EAAE,CAC3D,OAAO,CAAkB,KAAK,EAAE,kBAAkB,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC;YAEvF,SAAS,EAAE,KAAK,EAAE,KAAa,EAAyB,EAAE,CACxD,OAAO,CAAe,KAAK,EAAE,kBAAkB,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC;YAEpF,MAAM,EAAE,KAAK,EAAE,KAAa,EAAsB,EAAE,CAClD,OAAO,CAAY,MAAM,EAAE,kBAAkB,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC;SACnF;QAED,OAAO,EAAE,KAAK,EAAE,aAA4B,EAA0B,EAAE,CACtE,OAAO,CAAgB,MAAM,EAAE,iBAAiB,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;KAC7E,CAAC;AACJ,CAAC,CAAC"}
|