@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.
Files changed (299) hide show
  1. package/LICENSE +190 -0
  2. package/README.md +1036 -0
  3. package/dist/agentHub/StreamProtocolFetcher.d.ts +55 -0
  4. package/dist/agentHub/StreamProtocolFetcher.d.ts.map +1 -0
  5. package/dist/agentHub/StreamProtocolFetcher.js +176 -0
  6. package/dist/agentHub/StreamProtocolFetcher.js.map +1 -0
  7. package/dist/agentHub/StreamProtocolHandler.d.ts +18 -0
  8. package/dist/agentHub/StreamProtocolHandler.d.ts.map +1 -0
  9. package/dist/agentHub/StreamProtocolHandler.js +63 -0
  10. package/dist/agentHub/StreamProtocolHandler.js.map +1 -0
  11. package/dist/agentHub/agentHub.d.ts +30 -0
  12. package/dist/agentHub/agentHub.d.ts.map +1 -0
  13. package/dist/agentHub/agentHub.js +200 -0
  14. package/dist/agentHub/agentHub.js.map +1 -0
  15. package/dist/agentHub/agentHubTypes.d.ts +110 -0
  16. package/dist/agentHub/agentHubTypes.d.ts.map +1 -0
  17. package/dist/agentHub/agentHubTypes.js +8 -0
  18. package/dist/agentHub/agentHubTypes.js.map +1 -0
  19. package/dist/agentHub/streamProtocolMap.d.ts +328 -0
  20. package/dist/agentHub/streamProtocolMap.d.ts.map +1 -0
  21. package/dist/agentHub/streamProtocolMap.js +8 -0
  22. package/dist/agentHub/streamProtocolMap.js.map +1 -0
  23. package/dist/auth/createApiKeyAuth.d.ts +11 -0
  24. package/dist/auth/createApiKeyAuth.d.ts.map +1 -0
  25. package/dist/auth/createApiKeyAuth.js +31 -0
  26. package/dist/auth/createApiKeyAuth.js.map +1 -0
  27. package/dist/auth/createAuth.d.ts +3 -0
  28. package/dist/auth/createAuth.d.ts.map +1 -0
  29. package/dist/auth/createAuth.js +128 -0
  30. package/dist/auth/createAuth.js.map +1 -0
  31. package/dist/auth/createAuthBrowser.d.ts +3 -0
  32. package/dist/auth/createAuthBrowser.d.ts.map +1 -0
  33. package/dist/auth/createAuthBrowser.js +104 -0
  34. package/dist/auth/createAuthBrowser.js.map +1 -0
  35. package/dist/auth/jwtClaims.d.ts +3 -0
  36. package/dist/auth/jwtClaims.d.ts.map +1 -0
  37. package/dist/auth/jwtClaims.js +23 -0
  38. package/dist/auth/jwtClaims.js.map +1 -0
  39. package/dist/auth/keyfile.d.ts +10 -0
  40. package/dist/auth/keyfile.d.ts.map +1 -0
  41. package/dist/auth/keyfile.js +28 -0
  42. package/dist/auth/keyfile.js.map +1 -0
  43. package/dist/auth/oidcDiscovery.d.ts +9 -0
  44. package/dist/auth/oidcDiscovery.d.ts.map +1 -0
  45. package/dist/auth/oidcDiscovery.js +27 -0
  46. package/dist/auth/oidcDiscovery.js.map +1 -0
  47. package/dist/auth/pkce.d.ts +4 -0
  48. package/dist/auth/pkce.d.ts.map +1 -0
  49. package/dist/auth/pkce.js +43 -0
  50. package/dist/auth/pkce.js.map +1 -0
  51. package/dist/auth/sessionStorage.d.ts +8 -0
  52. package/dist/auth/sessionStorage.d.ts.map +1 -0
  53. package/dist/auth/sessionStorage.js +8 -0
  54. package/dist/auth/sessionStorage.js.map +1 -0
  55. package/dist/auth/tokenRequests.d.ts +15 -0
  56. package/dist/auth/tokenRequests.d.ts.map +1 -0
  57. package/dist/auth/tokenRequests.js +89 -0
  58. package/dist/auth/tokenRequests.js.map +1 -0
  59. package/dist/auth/types.d.ts +35 -0
  60. package/dist/auth/types.d.ts.map +1 -0
  61. package/dist/auth/types.js +2 -0
  62. package/dist/auth/types.js.map +1 -0
  63. package/dist/auth/urlRuntime.d.ts +7 -0
  64. package/dist/auth/urlRuntime.d.ts.map +1 -0
  65. package/dist/auth/urlRuntime.js +17 -0
  66. package/dist/auth/urlRuntime.js.map +1 -0
  67. package/dist/browser/index.d.ts +8 -0
  68. package/dist/browser/index.d.ts.map +1 -0
  69. package/dist/browser/index.js +3 -0
  70. package/dist/browser/index.js.map +1 -0
  71. package/dist/calendar/calendar.d.ts +21 -0
  72. package/dist/calendar/calendar.d.ts.map +1 -0
  73. package/dist/calendar/calendar.js +105 -0
  74. package/dist/calendar/calendar.js.map +1 -0
  75. package/dist/calendar/calendarTypes.d.ts +191 -0
  76. package/dist/calendar/calendarTypes.d.ts.map +1 -0
  77. package/dist/calendar/calendarTypes.js +4 -0
  78. package/dist/calendar/calendarTypes.js.map +1 -0
  79. package/dist/contacts/contacts.d.ts +10 -0
  80. package/dist/contacts/contacts.d.ts.map +1 -0
  81. package/dist/contacts/contacts.js +86 -0
  82. package/dist/contacts/contacts.js.map +1 -0
  83. package/dist/contacts/contactsTypes.d.ts +81 -0
  84. package/dist/contacts/contactsTypes.d.ts.map +1 -0
  85. package/dist/contacts/contactsTypes.js +4 -0
  86. package/dist/contacts/contactsTypes.js.map +1 -0
  87. package/dist/drive/DriveRepository.d.ts +88 -0
  88. package/dist/drive/DriveRepository.d.ts.map +1 -0
  89. package/dist/drive/DriveRepository.js +156 -0
  90. package/dist/drive/DriveRepository.js.map +1 -0
  91. package/dist/drive/crontab.d.ts +7 -0
  92. package/dist/drive/crontab.d.ts.map +1 -0
  93. package/dist/drive/crontab.js +374 -0
  94. package/dist/drive/crontab.js.map +1 -0
  95. package/dist/drive/crontabTypes.d.ts +136 -0
  96. package/dist/drive/crontabTypes.d.ts.map +1 -0
  97. package/dist/drive/crontabTypes.js +2 -0
  98. package/dist/drive/crontabTypes.js.map +1 -0
  99. package/dist/drive/drive.d.ts +8 -0
  100. package/dist/drive/drive.d.ts.map +1 -0
  101. package/dist/drive/drive.js +711 -0
  102. package/dist/drive/drive.js.map +1 -0
  103. package/dist/drive/driveDb.d.ts +6 -0
  104. package/dist/drive/driveDb.d.ts.map +1 -0
  105. package/dist/drive/driveDb.js +220 -0
  106. package/dist/drive/driveDb.js.map +1 -0
  107. package/dist/drive/driveDbTypes.d.ts +138 -0
  108. package/dist/drive/driveDbTypes.d.ts.map +1 -0
  109. package/dist/drive/driveDbTypes.js +5 -0
  110. package/dist/drive/driveDbTypes.js.map +1 -0
  111. package/dist/drive/driveTypes.d.ts +322 -0
  112. package/dist/drive/driveTypes.d.ts.map +1 -0
  113. package/dist/drive/driveTypes.js +5 -0
  114. package/dist/drive/driveTypes.js.map +1 -0
  115. package/dist/drive/rpc.d.ts +14 -0
  116. package/dist/drive/rpc.d.ts.map +1 -0
  117. package/dist/drive/rpc.js +48 -0
  118. package/dist/drive/rpc.js.map +1 -0
  119. package/dist/drive/session.d.ts +7 -0
  120. package/dist/drive/session.d.ts.map +1 -0
  121. package/dist/drive/session.js +450 -0
  122. package/dist/drive/session.js.map +1 -0
  123. package/dist/drive/sessionBuilder.d.ts +33 -0
  124. package/dist/drive/sessionBuilder.d.ts.map +1 -0
  125. package/dist/drive/sessionBuilder.js +77 -0
  126. package/dist/drive/sessionBuilder.js.map +1 -0
  127. package/dist/drive/sessionObject.d.ts +57 -0
  128. package/dist/drive/sessionObject.d.ts.map +1 -0
  129. package/dist/drive/sessionObject.js +191 -0
  130. package/dist/drive/sessionObject.js.map +1 -0
  131. package/dist/drive/sessionTypes.d.ts +182 -0
  132. package/dist/drive/sessionTypes.d.ts.map +1 -0
  133. package/dist/drive/sessionTypes.js +2 -0
  134. package/dist/drive/sessionTypes.js.map +1 -0
  135. package/dist/drive/typeorm/DriveDriver.d.ts +27 -0
  136. package/dist/drive/typeorm/DriveDriver.d.ts.map +1 -0
  137. package/dist/drive/typeorm/DriveDriver.js +86 -0
  138. package/dist/drive/typeorm/DriveDriver.js.map +1 -0
  139. package/dist/drive/typeorm/DriveQueryRunner.d.ts +15 -0
  140. package/dist/drive/typeorm/DriveQueryRunner.d.ts.map +1 -0
  141. package/dist/drive/typeorm/DriveQueryRunner.js +76 -0
  142. package/dist/drive/typeorm/DriveQueryRunner.js.map +1 -0
  143. package/dist/drive/typeorm/createDriveDataSource.d.ts +3 -0
  144. package/dist/drive/typeorm/createDriveDataSource.d.ts.map +1 -0
  145. package/dist/drive/typeorm/createDriveDataSource.js +36 -0
  146. package/dist/drive/typeorm/createDriveDataSource.js.map +1 -0
  147. package/dist/drive/typeorm/datasourceTypes.d.ts +56 -0
  148. package/dist/drive/typeorm/datasourceTypes.d.ts.map +1 -0
  149. package/dist/drive/typeorm/datasourceTypes.js +5 -0
  150. package/dist/drive/typeorm/datasourceTypes.js.map +1 -0
  151. package/dist/drive/types.d.ts +48 -0
  152. package/dist/drive/types.d.ts.map +1 -0
  153. package/dist/drive/types.js +2 -0
  154. package/dist/drive/types.js.map +1 -0
  155. package/dist/env/apiKey.d.ts +2 -0
  156. package/dist/env/apiKey.d.ts.map +1 -0
  157. package/dist/env/apiKey.js +11 -0
  158. package/dist/env/apiKey.js.map +1 -0
  159. package/dist/env/baseUrl.d.ts +3 -0
  160. package/dist/env/baseUrl.d.ts.map +1 -0
  161. package/dist/env/baseUrl.js +31 -0
  162. package/dist/env/baseUrl.js.map +1 -0
  163. package/dist/inbox/inboxTypes.d.ts +34 -0
  164. package/dist/inbox/inboxTypes.d.ts.map +1 -0
  165. package/dist/inbox/inboxTypes.js +5 -0
  166. package/dist/inbox/inboxTypes.js.map +1 -0
  167. package/dist/index.d.ts +56 -0
  168. package/dist/index.d.ts.map +1 -0
  169. package/dist/index.js +43 -0
  170. package/dist/index.js.map +1 -0
  171. package/dist/llmRouter/llmRouter.d.ts +23 -0
  172. package/dist/llmRouter/llmRouter.d.ts.map +1 -0
  173. package/dist/llmRouter/llmRouter.js +566 -0
  174. package/dist/llmRouter/llmRouter.js.map +1 -0
  175. package/dist/llmRouter/llmRouterTypes.d.ts +350 -0
  176. package/dist/llmRouter/llmRouterTypes.d.ts.map +1 -0
  177. package/dist/llmRouter/llmRouterTypes.js +5 -0
  178. package/dist/llmRouter/llmRouterTypes.js.map +1 -0
  179. package/dist/mcpHub/mcpHub.d.ts +23 -0
  180. package/dist/mcpHub/mcpHub.d.ts.map +1 -0
  181. package/dist/mcpHub/mcpHub.js +223 -0
  182. package/dist/mcpHub/mcpHub.js.map +1 -0
  183. package/dist/mcpHub/mcpHubTypes.d.ts +228 -0
  184. package/dist/mcpHub/mcpHubTypes.d.ts.map +1 -0
  185. package/dist/mcpHub/mcpHubTypes.js +5 -0
  186. package/dist/mcpHub/mcpHubTypes.js.map +1 -0
  187. package/dist/mcpTools/mcpTools.d.ts +31 -0
  188. package/dist/mcpTools/mcpTools.d.ts.map +1 -0
  189. package/dist/mcpTools/mcpTools.js +144 -0
  190. package/dist/mcpTools/mcpTools.js.map +1 -0
  191. package/dist/mcpTools/mcpToolsTypes.d.ts +45 -0
  192. package/dist/mcpTools/mcpToolsTypes.d.ts.map +1 -0
  193. package/dist/mcpTools/mcpToolsTypes.js +5 -0
  194. package/dist/mcpTools/mcpToolsTypes.js.map +1 -0
  195. package/dist/messagesStore/messagesStore.d.ts +22 -0
  196. package/dist/messagesStore/messagesStore.d.ts.map +1 -0
  197. package/dist/messagesStore/messagesStore.js +402 -0
  198. package/dist/messagesStore/messagesStore.js.map +1 -0
  199. package/dist/messagesStore/messagesStoreTypes.d.ts +327 -0
  200. package/dist/messagesStore/messagesStoreTypes.d.ts.map +1 -0
  201. package/dist/messagesStore/messagesStoreTypes.js +11 -0
  202. package/dist/messagesStore/messagesStoreTypes.js.map +1 -0
  203. package/dist/node/fastDns.d.ts +2 -0
  204. package/dist/node/fastDns.d.ts.map +1 -0
  205. package/dist/node/fastDns.js +119 -0
  206. package/dist/node/fastDns.js.map +1 -0
  207. package/dist/operatives/operatives.d.ts +22 -0
  208. package/dist/operatives/operatives.d.ts.map +1 -0
  209. package/dist/operatives/operatives.js +199 -0
  210. package/dist/operatives/operatives.js.map +1 -0
  211. package/dist/operatives/operativesTypes.d.ts +141 -0
  212. package/dist/operatives/operativesTypes.d.ts.map +1 -0
  213. package/dist/operatives/operativesTypes.js +6 -0
  214. package/dist/operatives/operativesTypes.js.map +1 -0
  215. package/dist/platformEvents/platformEvents.d.ts +14 -0
  216. package/dist/platformEvents/platformEvents.d.ts.map +1 -0
  217. package/dist/platformEvents/platformEvents.js +70 -0
  218. package/dist/platformEvents/platformEvents.js.map +1 -0
  219. package/dist/platformEvents/platformEventsTypes.d.ts +31 -0
  220. package/dist/platformEvents/platformEventsTypes.d.ts.map +1 -0
  221. package/dist/platformEvents/platformEventsTypes.js +8 -0
  222. package/dist/platformEvents/platformEventsTypes.js.map +1 -0
  223. package/dist/projects/projects.d.ts +19 -0
  224. package/dist/projects/projects.d.ts.map +1 -0
  225. package/dist/projects/projects.js +52 -0
  226. package/dist/projects/projects.js.map +1 -0
  227. package/dist/projects/projectsTypes.d.ts +47 -0
  228. package/dist/projects/projectsTypes.d.ts.map +1 -0
  229. package/dist/projects/projectsTypes.js +4 -0
  230. package/dist/projects/projectsTypes.js.map +1 -0
  231. package/dist/routineRuns/routineRuns.d.ts +19 -0
  232. package/dist/routineRuns/routineRuns.d.ts.map +1 -0
  233. package/dist/routineRuns/routineRuns.js +47 -0
  234. package/dist/routineRuns/routineRuns.js.map +1 -0
  235. package/dist/routineRuns/routineRunsTypes.d.ts +39 -0
  236. package/dist/routineRuns/routineRunsTypes.d.ts.map +1 -0
  237. package/dist/routineRuns/routineRunsTypes.js +4 -0
  238. package/dist/routineRuns/routineRunsTypes.js.map +1 -0
  239. package/dist/routines/routines.d.ts +19 -0
  240. package/dist/routines/routines.d.ts.map +1 -0
  241. package/dist/routines/routines.js +77 -0
  242. package/dist/routines/routines.js.map +1 -0
  243. package/dist/routines/routinesTypes.d.ts +106 -0
  244. package/dist/routines/routinesTypes.d.ts.map +1 -0
  245. package/dist/routines/routinesTypes.js +4 -0
  246. package/dist/routines/routinesTypes.js.map +1 -0
  247. package/dist/sdk/diskd.d.ts +3 -0
  248. package/dist/sdk/diskd.d.ts.map +1 -0
  249. package/dist/sdk/diskd.js +126 -0
  250. package/dist/sdk/diskd.js.map +1 -0
  251. package/dist/sdk/http.d.ts +13 -0
  252. package/dist/sdk/http.d.ts.map +1 -0
  253. package/dist/sdk/http.js +80 -0
  254. package/dist/sdk/http.js.map +1 -0
  255. package/dist/sdk/types.d.ts +115 -0
  256. package/dist/sdk/types.d.ts.map +1 -0
  257. package/dist/sdk/types.js +2 -0
  258. package/dist/sdk/types.js.map +1 -0
  259. package/dist/testing/auth.d.ts +8 -0
  260. package/dist/testing/auth.d.ts.map +1 -0
  261. package/dist/testing/auth.js +14 -0
  262. package/dist/testing/auth.js.map +1 -0
  263. package/dist/testing/fetchMock.d.ts +17 -0
  264. package/dist/testing/fetchMock.d.ts.map +1 -0
  265. package/dist/testing/fetchMock.js +46 -0
  266. package/dist/testing/fetchMock.js.map +1 -0
  267. package/dist/testing/index.d.ts +11 -0
  268. package/dist/testing/index.d.ts.map +1 -0
  269. package/dist/testing/index.js +11 -0
  270. package/dist/testing/index.js.map +1 -0
  271. package/dist/testing/integration.d.ts +33 -0
  272. package/dist/testing/integration.d.ts.map +1 -0
  273. package/dist/testing/integration.js +32 -0
  274. package/dist/testing/integration.js.map +1 -0
  275. package/dist/testing/jsonRpc.d.ts +9 -0
  276. package/dist/testing/jsonRpc.d.ts.map +1 -0
  277. package/dist/testing/jsonRpc.js +24 -0
  278. package/dist/testing/jsonRpc.js.map +1 -0
  279. package/dist/testing/rpcMock.d.ts +16 -0
  280. package/dist/testing/rpcMock.d.ts.map +1 -0
  281. package/dist/testing/rpcMock.js +28 -0
  282. package/dist/testing/rpcMock.js.map +1 -0
  283. package/dist/tgUserbot/tgUserbot.d.ts +23 -0
  284. package/dist/tgUserbot/tgUserbot.d.ts.map +1 -0
  285. package/dist/tgUserbot/tgUserbot.js +314 -0
  286. package/dist/tgUserbot/tgUserbot.js.map +1 -0
  287. package/dist/tgUserbot/tgUserbotTypes.d.ts +124 -0
  288. package/dist/tgUserbot/tgUserbotTypes.d.ts.map +1 -0
  289. package/dist/tgUserbot/tgUserbotTypes.js +5 -0
  290. package/dist/tgUserbot/tgUserbotTypes.js.map +1 -0
  291. package/dist/webNavigator/webNavigator.d.ts +22 -0
  292. package/dist/webNavigator/webNavigator.d.ts.map +1 -0
  293. package/dist/webNavigator/webNavigator.js +46 -0
  294. package/dist/webNavigator/webNavigator.js.map +1 -0
  295. package/dist/webNavigator/webNavigatorTypes.d.ts +133 -0
  296. package/dist/webNavigator/webNavigatorTypes.d.ts.map +1 -0
  297. package/dist/webNavigator/webNavigatorTypes.js +5 -0
  298. package/dist/webNavigator/webNavigatorTypes.js.map +1 -0
  299. package/package.json +90 -0
@@ -0,0 +1,350 @@
1
+ export type LlmFinishReason = 'stop' | 'length' | 'tool_calls' | 'content_filter' | string;
2
+ /** Plain-text segment within a multi-part message. */
3
+ export type TextContentPart = {
4
+ readonly type: 'text';
5
+ readonly text: string;
6
+ };
7
+ /** Image referenced by URL (OpenAI-style). */
8
+ export type ImageUrlContentPart = {
9
+ readonly type: 'image_url';
10
+ readonly imageUrl: {
11
+ readonly url: string;
12
+ };
13
+ };
14
+ /** Image provided as base64 data or a URL (Anthropic-style source block). */
15
+ export type ImageContentPart = {
16
+ readonly type: 'image';
17
+ readonly source: {
18
+ readonly type: 'base64';
19
+ readonly mediaType: string | null;
20
+ readonly data: string;
21
+ } | {
22
+ readonly type: 'url';
23
+ readonly url: string;
24
+ };
25
+ };
26
+ /** Discriminated union of all inline content part variants. */
27
+ export type MessageContentPart = TextContentPart | ImageUrlContentPart | ImageContentPart;
28
+ /** The body of a message: either a plain string or a sequence of parts. */
29
+ export type MessageContent = string | readonly MessageContentPart[];
30
+ /** A single function invocation emitted by the model. */
31
+ export type ToolCall = {
32
+ readonly index: number | null;
33
+ readonly id: string | null;
34
+ readonly type: 'function' | null;
35
+ readonly function: {
36
+ readonly name: string | null;
37
+ readonly arguments: string | null;
38
+ } | null;
39
+ };
40
+ /** System instruction message. */
41
+ export type SystemMessage = {
42
+ readonly role: 'system';
43
+ readonly content: string;
44
+ };
45
+ /** User turn message, may include mixed text/image parts. */
46
+ export type UserMessage = {
47
+ readonly role: 'user';
48
+ readonly content: MessageContent;
49
+ };
50
+ /** Assistant response, optionally containing tool-call requests. */
51
+ export type AssistantMessage = {
52
+ readonly role: 'assistant';
53
+ readonly content: string | null;
54
+ readonly toolCalls?: readonly ToolCall[];
55
+ };
56
+ /** Tool execution result sent back to the model. */
57
+ export type ToolMessage = {
58
+ readonly role: 'tool';
59
+ readonly content: string;
60
+ readonly toolCallId: string;
61
+ };
62
+ /**
63
+ * Discriminated union for all message types accepted by completion endpoints.
64
+ * Narrow on `role` to access role-specific fields without unsafe casts.
65
+ */
66
+ export type ChatCompletionMessage = SystemMessage | UserMessage | AssistantMessage | ToolMessage;
67
+ /**
68
+ * A callable tool exposed to the model.
69
+ * `parameters` is a JSON Schema object; kept as `object` to remain
70
+ * compatible with arbitrary schema shapes without resorting to `unknown`.
71
+ */
72
+ export type ToolDefinition = {
73
+ readonly type: 'function';
74
+ readonly function: {
75
+ readonly name: string;
76
+ readonly description?: string;
77
+ readonly parameters: object;
78
+ };
79
+ };
80
+ /** How the model should select tools during generation. */
81
+ export type ToolChoice = 'auto' | 'none' | {
82
+ readonly type: 'function';
83
+ readonly function: {
84
+ readonly name: string;
85
+ };
86
+ };
87
+ export type ResponseFormat = {
88
+ readonly type: 'json_object';
89
+ } | {
90
+ readonly type: 'json_schema';
91
+ readonly jsonSchema: {
92
+ readonly name: string;
93
+ readonly schema: object;
94
+ };
95
+ };
96
+ /**
97
+ * Parameters for a chat or text completion request.
98
+ * Either `messages` or `prompt` must be provided.
99
+ */
100
+ export type CompletionParams = {
101
+ readonly provider: string;
102
+ readonly model: string;
103
+ readonly messages?: readonly ChatCompletionMessage[];
104
+ readonly prompt?: string;
105
+ readonly maxTokens?: number;
106
+ readonly temperature?: number;
107
+ readonly topP?: number;
108
+ readonly frequencyPenalty?: number;
109
+ readonly presencePenalty?: number;
110
+ readonly stop?: string | readonly string[];
111
+ readonly stream?: boolean;
112
+ readonly tools?: readonly ToolDefinition[];
113
+ readonly toolChoice?: ToolChoice;
114
+ readonly responseFormat?: ResponseFormat;
115
+ };
116
+ /** Usage counters returned alongside a completion. */
117
+ export type CompletionUsage = {
118
+ readonly promptTokens: number;
119
+ readonly completionTokens: number;
120
+ readonly totalTokens: number;
121
+ };
122
+ /** A single completion alternative (non-streaming or final chunk). */
123
+ export type CompletionChoice = {
124
+ readonly index: number;
125
+ readonly finishReason: LlmFinishReason | null;
126
+ /** Present in non-streaming responses. */
127
+ readonly message: {
128
+ readonly content: string | null;
129
+ readonly role: string;
130
+ readonly toolCalls: readonly ToolCall[] | null;
131
+ } | null;
132
+ /** Present in streaming chunks. */
133
+ readonly delta: {
134
+ readonly content: string | null;
135
+ readonly role: string | null;
136
+ readonly toolCalls: readonly ToolCall[] | null;
137
+ } | null;
138
+ };
139
+ /**
140
+ * A complete (non-streaming) completion response.
141
+ * `usage` may be absent on some providers.
142
+ */
143
+ export type CompletionResult = {
144
+ readonly id: string;
145
+ readonly choices: readonly CompletionChoice[];
146
+ readonly created: number;
147
+ readonly model: string;
148
+ readonly usage: CompletionUsage | null;
149
+ };
150
+ /**
151
+ * A single streaming chunk. Same shape as `CompletionResult` except
152
+ * `choices[].delta` is populated instead of `choices[].message`.
153
+ */
154
+ export type StreamChunk = {
155
+ readonly id: string;
156
+ readonly choices: readonly CompletionChoice[];
157
+ readonly created: number;
158
+ readonly model: string;
159
+ readonly usage: CompletionUsage | null;
160
+ };
161
+ /**
162
+ * Parameters for an embedding request.
163
+ * `input` may be a single string or a batch of strings.
164
+ */
165
+ export type EmbeddingParams = {
166
+ readonly provider: string;
167
+ readonly model: string;
168
+ readonly input: string | readonly string[];
169
+ readonly dimensions?: number;
170
+ };
171
+ /** A single embedding vector with its position in the batch. */
172
+ export type EmbeddingObject = {
173
+ readonly index: number;
174
+ readonly embedding: readonly number[];
175
+ };
176
+ /** Usage counters for embedding requests (no completion tokens). */
177
+ export type EmbeddingUsage = {
178
+ readonly promptTokens: number;
179
+ readonly totalTokens: number;
180
+ };
181
+ /** Batch embedding response. */
182
+ export type EmbeddingResult = {
183
+ readonly data: readonly EmbeddingObject[];
184
+ readonly model: string;
185
+ readonly usage: EmbeddingUsage;
186
+ };
187
+ /**
188
+ * Metadata for a single model offered by a provider.
189
+ * `supportedFeatures` lists capability tags, e.g. `['vision', 'tools', 'streaming']`.
190
+ */
191
+ export type ModelInfo = {
192
+ readonly provider: string;
193
+ readonly model: string;
194
+ readonly displayName: string;
195
+ readonly description: string;
196
+ readonly supportedFeatures: readonly string[];
197
+ };
198
+ /** Result of listing all models across providers. */
199
+ export type ListModelsResult = {
200
+ readonly models: readonly ModelInfo[];
201
+ };
202
+ /** Parameters for listing models from a single provider. */
203
+ export type ListProviderModelsParams = {
204
+ readonly provider: string;
205
+ };
206
+ /** Result of listing models from a single provider (raw model id strings). */
207
+ export type ListProviderModelsResult = {
208
+ readonly provider: string;
209
+ readonly models: readonly string[];
210
+ };
211
+ /** OCR source: a document accessed by URL (PDF, DOCX, etc.). */
212
+ export type OcrDocumentUrl = {
213
+ readonly type: 'document_url';
214
+ readonly documentUrl: string;
215
+ readonly documentName: string | null;
216
+ };
217
+ /** OCR source: a single image accessed by URL. */
218
+ export type OcrImageUrl = {
219
+ readonly type: 'image_url';
220
+ readonly imageUrl: string;
221
+ };
222
+ /** OCR source: a file referenced by its ID in the provider's file store. */
223
+ export type OcrFileRef = {
224
+ readonly type: 'file';
225
+ readonly fileId: string;
226
+ };
227
+ /**
228
+ * Discriminated union of all document input variants for OCR.
229
+ * Narrow on `type` to determine which field holds the reference.
230
+ */
231
+ export type OcrDocument = OcrDocumentUrl | OcrImageUrl | OcrFileRef;
232
+ /** Parameters for an OCR processing request. */
233
+ export type OcrParams = {
234
+ readonly model: string;
235
+ readonly document: OcrDocument;
236
+ /** Restrict processing to specific page numbers (1-based). */
237
+ readonly pages: readonly number[] | null;
238
+ /** Include base64-encoded images of extracted figures. */
239
+ readonly includeImageBase64?: boolean;
240
+ /** Maximum number of images to extract per page. */
241
+ readonly imageLimit?: number;
242
+ /** Minimum pixel dimension for included images. */
243
+ readonly imageMinSize?: number;
244
+ /** Render extracted tables as `'markdown'` or `'html'`. */
245
+ readonly tableFormat?: 'markdown' | 'html';
246
+ readonly extractHeader?: boolean;
247
+ readonly extractFooter?: boolean;
248
+ };
249
+ /** An image object extracted from an OCR page. */
250
+ export type OcrImageObject = {
251
+ readonly id: string;
252
+ readonly topLeftX: number | null;
253
+ readonly topLeftY: number | null;
254
+ readonly bottomRightX: number | null;
255
+ readonly bottomRightY: number | null;
256
+ readonly imageBase64: string | null;
257
+ readonly imageAnnotation: string | null;
258
+ };
259
+ /** A table object extracted from an OCR page. */
260
+ export type OcrTableObject = {
261
+ readonly id: string;
262
+ readonly content: string;
263
+ readonly format: string;
264
+ };
265
+ /** Physical dimensions of a processed page. */
266
+ export type OcrPageDimensions = {
267
+ readonly dpi: number;
268
+ readonly height: number;
269
+ readonly width: number;
270
+ };
271
+ /** Structured content extracted from a single page. */
272
+ export type OcrPage = {
273
+ readonly index: number;
274
+ readonly markdown: string;
275
+ readonly images: readonly OcrImageObject[];
276
+ readonly tables: readonly OcrTableObject[];
277
+ readonly hyperlinks: readonly string[];
278
+ readonly header: string | null;
279
+ readonly footer: string | null;
280
+ readonly dimensions: OcrPageDimensions | null;
281
+ };
282
+ /** Billing / throughput counters for an OCR response. */
283
+ export type OcrUsageInfo = {
284
+ readonly pagesProcessed: number;
285
+ readonly docSizeBytes: number | null;
286
+ };
287
+ /** Full response from an OCR processing request. */
288
+ export type OcrResult = {
289
+ readonly pages: readonly OcrPage[];
290
+ readonly model: string;
291
+ readonly documentAnnotation: string | null;
292
+ readonly usageInfo: OcrUsageInfo;
293
+ };
294
+ /**
295
+ * Parameters for an audio-to-text transcription request.
296
+ * `audio` is the raw audio bytes; format detection is provider-specific.
297
+ */
298
+ export type TranscribeParams = {
299
+ readonly provider: string;
300
+ readonly model: string;
301
+ readonly audio: Uint8Array;
302
+ readonly language?: string;
303
+ readonly prompt?: string;
304
+ readonly responseFormat?: 'json' | 'text' | 'srt' | 'vtt';
305
+ readonly temperature?: number;
306
+ };
307
+ /** A time-aligned text segment within a transcription. */
308
+ export type TranscribeSegment = {
309
+ readonly text: string;
310
+ readonly start: number;
311
+ readonly end: number;
312
+ };
313
+ /** Result of an audio transcription request. */
314
+ export type TranscribeResult = {
315
+ readonly text: string;
316
+ readonly language: string | null;
317
+ readonly duration: number | null;
318
+ readonly segments: readonly TranscribeSegment[] | null;
319
+ };
320
+ /**
321
+ * LLM Router client interface.
322
+ * Organises methods by capability namespace for discoverability.
323
+ */
324
+ export type LlmRouterClient = {
325
+ readonly completions: {
326
+ /** Non-streaming chat / text completion. */
327
+ readonly create: (params: CompletionParams) => Promise<CompletionResult>;
328
+ /** Streaming completion; yields NDJSON chunks as `StreamChunk` values. */
329
+ readonly stream: (params: CompletionParams) => AsyncGenerator<StreamChunk, void, unknown>;
330
+ };
331
+ readonly models: {
332
+ /** List model IDs available from a single provider. */
333
+ readonly list: (params: ListProviderModelsParams) => Promise<ListProviderModelsResult>;
334
+ /** List all models across all providers. */
335
+ readonly listAll: () => Promise<ListModelsResult>;
336
+ };
337
+ readonly embeddings: {
338
+ /** Generate embeddings for one or more input strings. */
339
+ readonly create: (params: EmbeddingParams) => Promise<EmbeddingResult>;
340
+ };
341
+ readonly ocr: {
342
+ /** Process a document with OCR (Mistral OCR API). */
343
+ readonly process: (params: OcrParams) => Promise<OcrResult>;
344
+ };
345
+ readonly audio: {
346
+ /** Transcribe audio bytes to text (Groq Whisper API). */
347
+ readonly transcribe: (params: TranscribeParams) => Promise<TranscribeResult>;
348
+ };
349
+ };
350
+ //# sourceMappingURL=llmRouterTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llmRouterTypes.d.ts","sourceRoot":"","sources":["../../src/llmRouter/llmRouterTypes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ // Domain types for the LLM Router API methods.
2
+ // These are pure data types only -- no classes, no I/O, no side effects.
3
+ // snake_case <-> camelCase conversion happens at the wire level (rpc.ts / llmRouter.ts).
4
+ export {};
5
+ //# sourceMappingURL=llmRouterTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llmRouterTypes.js","sourceRoot":"","sources":["../../src/llmRouter/llmRouterTypes.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,yEAAyE;AACzE,yFAAyF"}
@@ -0,0 +1,23 @@
1
+ import type { AuthModule } from '../auth/types.js';
2
+ import type { McpHubClient } from './mcpHubTypes.js';
3
+ /**
4
+ * Creates an MCP Hub 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/os/mcp` path prefix.
8
+ *
9
+ * The workspace is derived from `auth.getWorkspaceId()` and forwarded as
10
+ * `X-Workspace-Id` on all registry and integration endpoints. Catalog
11
+ * endpoints are public and do not require it.
12
+ *
13
+ * Example:
14
+ * ```ts
15
+ * const mcp = createMcpHubClient({ auth });
16
+ * const { items } = await mcp.registry.list();
17
+ * ```
18
+ */
19
+ export declare const createMcpHubClient: (params: {
20
+ readonly auth: AuthModule;
21
+ readonly url?: string;
22
+ }) => McpHubClient;
23
+ //# sourceMappingURL=mcpHub.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcpHub.d.ts","sourceRoot":"","sources":["../../src/mcpHub/mcpHub.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,KAAK,EAaV,YAAY,EAeb,MAAM,kBAAkB,CAAC;AAmI1B;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,kBAAkB,GAAI,QAAQ;IACzC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACvB,KAAG,YAmOH,CAAC"}
@@ -0,0 +1,223 @@
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 bool = (obj, key) => {
8
+ const v = obj[key];
9
+ return typeof v === 'boolean' ? v : undefined;
10
+ };
11
+ const buildQueryString = (params) => {
12
+ const entries = Object.entries(params).filter(([, v]) => v !== undefined && v !== '');
13
+ if (entries.length === 0)
14
+ return '';
15
+ const searchParams = new URLSearchParams();
16
+ for (const [key, value] of entries) {
17
+ searchParams.set(key, String(value));
18
+ }
19
+ return `?${searchParams.toString()}`;
20
+ };
21
+ // ---------------------------------------------------------------------------
22
+ // Response decoders -- minimal, since the REST API returns camelCase
23
+ // ---------------------------------------------------------------------------
24
+ const decodeServerLog = (o) => {
25
+ if (!isObject(o))
26
+ throw new Error('Invalid MCP Hub response: log entry must be an object');
27
+ return {
28
+ timestamp: str(o, 'timestamp') ?? '',
29
+ level: str(o, 'level') ?? 'info',
30
+ message: str(o, 'message') ?? '',
31
+ };
32
+ };
33
+ const decodeEnvVarKey = (o) => {
34
+ if (!isObject(o))
35
+ throw new Error('Invalid MCP Hub response: env var entry must be an object');
36
+ const raw = o.value;
37
+ return {
38
+ key: str(o, 'key') ?? '',
39
+ configured: bool(o, 'configured'),
40
+ value: raw === null ? null : typeof raw === 'string' ? raw : undefined,
41
+ };
42
+ };
43
+ const decodeCatalogServer = (o) => {
44
+ if (!isObject(o))
45
+ throw new Error('Invalid MCP Hub response: catalog server must be an object');
46
+ return o;
47
+ };
48
+ const decodeServerDetails = (o) => {
49
+ if (!isObject(o))
50
+ throw new Error('Invalid MCP Hub response: server details must be an object');
51
+ return o;
52
+ };
53
+ const decodeServer = (o) => {
54
+ if (!isObject(o))
55
+ throw new Error('Invalid MCP Hub response: server must be an object');
56
+ return o;
57
+ };
58
+ const httpRequest = async (options) => {
59
+ const headers = { ...options.authHeaders };
60
+ if (options.body !== undefined) {
61
+ headers['Content-Type'] = 'application/json';
62
+ }
63
+ if (options.workspaceId !== undefined) {
64
+ headers['X-Workspace-Id'] = options.workspaceId;
65
+ }
66
+ const response = await fetch(options.url, {
67
+ method: options.method,
68
+ headers,
69
+ body: options.body !== undefined ? JSON.stringify(options.body) : undefined,
70
+ });
71
+ if (!response.ok) {
72
+ let message = `HTTP ${response.status}`;
73
+ try {
74
+ const errorData = (await response.json());
75
+ if (isObject(errorData)) {
76
+ const err = errorData.error;
77
+ if (isObject(err) && typeof err.message === 'string') {
78
+ message = err.message;
79
+ }
80
+ else if (typeof errorData.message === 'string') {
81
+ message = errorData.message;
82
+ }
83
+ }
84
+ }
85
+ catch {
86
+ // Could not parse error body -- use default message
87
+ }
88
+ throw new Error(`MCP Hub request failed (${response.status}): ${message}`);
89
+ }
90
+ if (response.status === 204) {
91
+ return undefined;
92
+ }
93
+ return (await response.json());
94
+ };
95
+ // ---------------------------------------------------------------------------
96
+ // Client factory
97
+ // ---------------------------------------------------------------------------
98
+ /**
99
+ * Creates an MCP Hub REST client bound to a given auth module and workspace.
100
+ *
101
+ * The URL defaults to the centralized `APIS_BASE_URL` gateway with the
102
+ * `/v1/os/mcp` path prefix.
103
+ *
104
+ * The workspace is derived from `auth.getWorkspaceId()` and forwarded as
105
+ * `X-Workspace-Id` on all registry and integration endpoints. Catalog
106
+ * endpoints are public and do not require it.
107
+ *
108
+ * Example:
109
+ * ```ts
110
+ * const mcp = createMcpHubClient({ auth });
111
+ * const { items } = await mcp.registry.list();
112
+ * ```
113
+ */
114
+ export const createMcpHubClient = (params) => {
115
+ const baseUrl = (params.url ?? resolveDiskdGatewayUrl('os/mcp')).replace(/\/+$/, '');
116
+ const resolveWorkspaceId = async () => await params.auth.getWorkspaceId();
117
+ const getAuthHeaders = async () => {
118
+ if (params.auth.getRequestHeaders) {
119
+ return params.auth.getRequestHeaders();
120
+ }
121
+ const token = await params.auth.getAccessToken();
122
+ return { Authorization: `Bearer ${token}` };
123
+ };
124
+ const request = async (method, path, opts = {}) => {
125
+ const authHeaders = await getAuthHeaders();
126
+ const qs = opts.query ? buildQueryString(opts.query) : '';
127
+ return httpRequest({
128
+ method,
129
+ url: `${baseUrl}${path}${qs}`,
130
+ authHeaders,
131
+ workspaceId: opts.withWorkspace !== false ? await resolveWorkspaceId() : undefined,
132
+ body: opts.body,
133
+ });
134
+ };
135
+ return {
136
+ registry: {
137
+ list: async () => request('GET', '/api/registry', { withWorkspace: true }),
138
+ addServer: async (addParams) => request('POST', '/api/registry/servers', {
139
+ withWorkspace: true,
140
+ body: addParams,
141
+ }),
142
+ addRemoteServer: async (addParams) => request('POST', '/api/registry/servers/remote', {
143
+ withWorkspace: true,
144
+ body: addParams,
145
+ }),
146
+ updateServer: async (serverId, updateParams) => request('PATCH', `/api/registry/servers/${encodeURIComponent(serverId)}`, { withWorkspace: true, body: updateParams }),
147
+ updateServerAlias: async (serverId, aliasParams) => {
148
+ const raw = await request('PATCH', `/api/registry/servers/${encodeURIComponent(serverId)}/alias`, { withWorkspace: true, body: aliasParams });
149
+ return decodeServer(raw);
150
+ },
151
+ deleteServer: async (serverId) => request('DELETE', `/api/registry/servers/${encodeURIComponent(serverId)}`, { withWorkspace: true }),
152
+ restartServer: async (serverId) => request('POST', `/api/registry/servers/${encodeURIComponent(serverId)}/restart`, { withWorkspace: true }),
153
+ getServerLogs: async (serverId, logParams) => {
154
+ const raw = await request('GET', `/api/registry/servers/${encodeURIComponent(serverId)}/logs`, {
155
+ withWorkspace: true,
156
+ query: { since: logParams?.since, limit: logParams?.limit },
157
+ });
158
+ return {
159
+ serverId: raw.serverId,
160
+ logs: raw.logs.map(decodeServerLog),
161
+ };
162
+ },
163
+ toggleTool: async (serverId, toolId, enabled) => request('PATCH', `/api/registry/servers/${encodeURIComponent(serverId)}/tools/${encodeURIComponent(toolId)}`, { withWorkspace: true, body: { enabled } }),
164
+ listEnvVars: async (serverId) => {
165
+ const raw = await request('GET', `/api/registry/servers/${encodeURIComponent(serverId)}/env`, { withWorkspace: true });
166
+ return { items: raw.items.map(decodeEnvVarKey) };
167
+ },
168
+ upsertEnvVar: async (serverId, envParams) => {
169
+ await request('PUT', `/api/registry/servers/${encodeURIComponent(serverId)}/env`, {
170
+ withWorkspace: true,
171
+ body: envParams,
172
+ });
173
+ },
174
+ deleteEnvVar: async (serverId, key) => {
175
+ await request('DELETE', `/api/registry/servers/${encodeURIComponent(serverId)}/env/${encodeURIComponent(key)}`, { withWorkspace: true });
176
+ },
177
+ listConnectionSettings: async (serverId) => request('GET', `/api/registry/servers/${encodeURIComponent(serverId)}/settings`, { withWorkspace: true }),
178
+ revealConnectionSetting: async (serverId, settingId) => request('POST', `/api/registry/servers/${encodeURIComponent(serverId)}/settings/${encodeURIComponent(settingId)}/reveal`, { withWorkspace: true }),
179
+ updateConnectionSetting: async (serverId, settingId, settingParams) => {
180
+ await request('PUT', `/api/registry/servers/${encodeURIComponent(serverId)}/settings/${encodeURIComponent(settingId)}`, { withWorkspace: true, body: settingParams });
181
+ },
182
+ deleteConnectionSetting: async (serverId, settingId) => {
183
+ await request('DELETE', `/api/registry/servers/${encodeURIComponent(serverId)}/settings/${encodeURIComponent(settingId)}`, { withWorkspace: true });
184
+ },
185
+ },
186
+ catalog: {
187
+ list: async (catalogParams) => {
188
+ const raw = await request('GET', '/api/catalog', {
189
+ withWorkspace: false,
190
+ query: catalogParams
191
+ ? {
192
+ search: catalogParams.search,
193
+ category: catalogParams.category,
194
+ type: catalogParams.type,
195
+ page: catalogParams.page,
196
+ pageSize: catalogParams.pageSize,
197
+ }
198
+ : undefined,
199
+ });
200
+ return {
201
+ items: raw.items.map(decodeCatalogServer),
202
+ total: raw.total,
203
+ page: raw.page,
204
+ pageSize: raw.pageSize,
205
+ totalPages: raw.totalPages,
206
+ };
207
+ },
208
+ getServerDetails: async (serverId) => {
209
+ const raw = await request('GET', `/api/catalog/${encodeURIComponent(serverId)}`, {
210
+ withWorkspace: false,
211
+ });
212
+ return decodeServerDetails(raw);
213
+ },
214
+ },
215
+ integrations: {
216
+ requestIntegration: async (integrationParams) => request('POST', '/api/integration-requests', {
217
+ withWorkspace: true,
218
+ body: integrationParams,
219
+ }),
220
+ },
221
+ };
222
+ };
223
+ //# sourceMappingURL=mcpHub.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcpHub.js","sourceRoot":"","sources":["../../src/mcpHub/mcpHub.ts"],"names":[],"mappings":"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"}