@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,327 @@
1
+ /** Optional S3 flush control for mailbox SQLite mutations. */
2
+ export type AutoCommitParams = {
3
+ readonly autoCommit?: boolean | null;
4
+ };
5
+ /** Caller-supplied parameters for creating a workspace mailbox. */
6
+ export type CreateMailboxParams = {
7
+ readonly mailboxId: string;
8
+ readonly displayName: string;
9
+ readonly metadata?: Readonly<Record<string, unknown>>;
10
+ readonly recreate?: boolean;
11
+ };
12
+ /** Result of create_mailbox; carries the persisted Drive location. */
13
+ export type CreateMailboxResult = {
14
+ readonly mailboxId: string;
15
+ readonly dbInode: string;
16
+ readonly drivePath: string;
17
+ };
18
+ /** Compact mailbox row returned by listMailboxes. */
19
+ export type MailboxSummary = {
20
+ readonly mailboxId: string;
21
+ readonly displayName: string;
22
+ readonly dbInode: string;
23
+ readonly recordCount: number;
24
+ readonly sizeBytes: number;
25
+ readonly updatedAt: string;
26
+ };
27
+ /** Idempotent mailbox-schema bootstrap result. */
28
+ export type InitMailboxResult = {
29
+ readonly mailboxId: string;
30
+ readonly schemaVersion: number;
31
+ };
32
+ /** Reports whether a mailbox existed prior to the delete. */
33
+ export type DeleteMailboxResult = {
34
+ readonly mailboxId: string;
35
+ readonly deleted: boolean;
36
+ };
37
+ /** Idempotent folder upsert parameters; metadata holds protocol-specific sync state. */
38
+ export type UpsertFolderParams = {
39
+ readonly folderId: string;
40
+ readonly displayName: string;
41
+ readonly metadata?: Readonly<Record<string, unknown>>;
42
+ readonly autoCommit?: boolean | null;
43
+ };
44
+ /** Reports whether the folder was created (true) or updated (false). */
45
+ export type UpsertFolderResult = {
46
+ readonly folderId: string;
47
+ readonly created: boolean;
48
+ };
49
+ /** Compact folder row returned by list/get. */
50
+ export type FolderSummary = {
51
+ readonly folderId: string;
52
+ readonly displayName: string;
53
+ readonly metadata: Readonly<Record<string, unknown>>;
54
+ readonly messageCount: number;
55
+ readonly updatedAt: string;
56
+ };
57
+ /** Reports cascade size for caller telemetry. */
58
+ export type DeleteFolderResult = {
59
+ readonly folderId: string;
60
+ readonly deleted: boolean;
61
+ readonly deletedMessageCount: number;
62
+ };
63
+ /** Caller-supplied message; payload is opaque JSON the store never inspects. */
64
+ export type IncomingMessage = {
65
+ readonly externalId: string;
66
+ readonly payload: Readonly<Record<string, unknown>>;
67
+ };
68
+ /** Bulk-upsert parameters; folder is implied by the scoping client. */
69
+ export type UpsertBatchParams = {
70
+ readonly items: readonly IncomingMessage[];
71
+ readonly autoCommit?: boolean | null;
72
+ };
73
+ /** Counts split between insertions and updates; commit is implicit. */
74
+ export type UpsertBatchResult = {
75
+ readonly inserted: number;
76
+ readonly updated: number;
77
+ };
78
+ /** Bulk-delete parameters; folder is implied by the scoping client. */
79
+ export type DeleteBatchParams = {
80
+ readonly externalIds: readonly string[];
81
+ readonly autoCommit?: boolean | null;
82
+ };
83
+ /** Reports the count actually deleted (missing ids skipped). */
84
+ export type DeleteBatchResult = {
85
+ readonly deleted: number;
86
+ };
87
+ /** Cursor-paginated message-list parameters. */
88
+ export type ListMessagesParams = {
89
+ readonly limit?: number;
90
+ readonly cursor?: string;
91
+ };
92
+ /** One stored message row, payload opaque. */
93
+ export type StoredMessage = {
94
+ readonly externalId: string;
95
+ readonly payload: Readonly<Record<string, unknown>>;
96
+ readonly createdAt: string;
97
+ readonly updatedAt: string;
98
+ };
99
+ /** One page of messages plus the next cursor (null at end). */
100
+ export type ListMessagesResult = {
101
+ readonly items: readonly StoredMessage[];
102
+ readonly nextCursor: string | null;
103
+ };
104
+ /** Begin per-attachment upload; mirrors drive/upload/start. */
105
+ export type AttachmentUploadStartParams = {
106
+ readonly attachmentId: string;
107
+ readonly filename: string;
108
+ readonly contentType: string;
109
+ readonly sizeBytes: number;
110
+ readonly autoCommit?: boolean | null;
111
+ };
112
+ /** Intent envelope; passes through Drive's upload-intent contract. */
113
+ export type AttachmentUploadStartResult = {
114
+ readonly intentId: string;
115
+ readonly uploadUrl: string;
116
+ };
117
+ /** Finalize an upload and register the attachment row. */
118
+ export type AttachmentUploadCommitParams = {
119
+ readonly attachmentId: string;
120
+ readonly intentId: string;
121
+ readonly etag: string;
122
+ readonly autoCommit?: boolean | null;
123
+ };
124
+ /** Reports the inode of the persisted file plus its size. */
125
+ export type AttachmentUploadCommitResult = {
126
+ readonly attachmentId: string;
127
+ readonly driveInode: string;
128
+ readonly sizeBytes: number;
129
+ };
130
+ /** Compact attachment row returned by attachments.list. */
131
+ export type AttachmentSummary = {
132
+ readonly attachmentId: string;
133
+ readonly filename: string;
134
+ readonly contentType: string;
135
+ readonly sizeBytes: number;
136
+ readonly driveInode: string;
137
+ readonly createdAt: string;
138
+ };
139
+ /** Single-attachment lookup parameters. */
140
+ export type AttachmentDownloadUrlParams = {
141
+ readonly attachmentId: string;
142
+ };
143
+ /** Presigned URL with explicit expiry. */
144
+ export type AttachmentDownloadUrlResult = {
145
+ readonly url: string;
146
+ readonly expiresAt: string;
147
+ };
148
+ /** Identifier-only attachment delete; cascades the Drive file. */
149
+ export type AttachmentDeleteParams = {
150
+ readonly attachmentId: string;
151
+ readonly autoCommit?: boolean | null;
152
+ };
153
+ /** Reports whether the attachment existed prior to the call. */
154
+ export type AttachmentDeleteResult = {
155
+ readonly deleted: boolean;
156
+ };
157
+ /**
158
+ * Scoped to a single message identified by `(mailboxId, folderId,
159
+ * externalId)`. Returned by {@link FolderScopedClient.message}.
160
+ *
161
+ * Carries the five attachment methods so callers don't repeat the
162
+ * triple on every call. Attachments live in Drive under
163
+ * `/Mailboxes/<mailboxId>/<per-message-folder>/`; the per-message
164
+ * folder is created lazily on the first
165
+ * {@link MessageScopedClient.attachments.uploadStart} call.
166
+ */
167
+ export type MessageScopedClient = {
168
+ readonly attachments: {
169
+ /**
170
+ * Begin a per-attachment upload. Returns an upload intent
171
+ * (`intentId` + `uploadUrl`). PUT the bytes to the upload URL
172
+ * with header `X-Upload-Intent-Id: <intentId>`, then call
173
+ * {@link MessageScopedClient.attachments.uploadCommit}.
174
+ */
175
+ readonly uploadStart: (params: AttachmentUploadStartParams) => Promise<AttachmentUploadStartResult>;
176
+ /**
177
+ * Finalize a previously-started upload. Registers the
178
+ * attachment row in the mailbox SQLite and returns the
179
+ * persisted Drive inode + size.
180
+ */
181
+ readonly uploadCommit: (params: AttachmentUploadCommitParams) => Promise<AttachmentUploadCommitResult>;
182
+ /** Enumerate all attachments owned by this message. */
183
+ readonly list: () => Promise<readonly AttachmentSummary[]>;
184
+ /**
185
+ * Return a presigned URL for one attachment with explicit
186
+ * `expiresAt`. Use this for client-side downloads without
187
+ * exposing storage credentials.
188
+ */
189
+ readonly downloadUrl: (params: AttachmentDownloadUrlParams) => Promise<AttachmentDownloadUrlResult>;
190
+ /** Remove the attachment row and cascade-delete the Drive file. */
191
+ readonly delete: (params: AttachmentDeleteParams) => Promise<AttachmentDeleteResult>;
192
+ };
193
+ };
194
+ /**
195
+ * Scoped to a single folder identified by `(mailboxId, folderId)`.
196
+ * Returned by {@link MailboxScopedClient.folder}.
197
+ *
198
+ * Carries CRUD for the folder itself plus the four message
199
+ * methods, and a {@link FolderScopedClient.message} factory that
200
+ * drills into per-message attachment operations.
201
+ */
202
+ export type FolderScopedClient = {
203
+ /**
204
+ * Idempotent folder upsert; mirrors
205
+ * {@link MailboxScopedClient.upsertFolder} but the `folderId`
206
+ * is implicit. Use this to update folder display name or
207
+ * metadata (e.g. IMAP `UIDVALIDITY`/`UIDNEXT`).
208
+ */
209
+ readonly upsert: (params: Omit<UpsertFolderParams, 'folderId'>) => Promise<UpsertFolderResult>;
210
+ /** Fetch the {@link FolderSummary} for this folder. */
211
+ readonly get: () => Promise<FolderSummary>;
212
+ /**
213
+ * Cascade-delete the folder, all messages it owns, and any
214
+ * per-message attachment Drive subtrees. Returns the count of
215
+ * deleted messages so callers can report telemetry.
216
+ */
217
+ readonly delete: (params?: AutoCommitParams) => Promise<DeleteFolderResult>;
218
+ /**
219
+ * Bulk insert-or-update messages keyed by `externalId`. The
220
+ * batch is committed before this method returns by default; pass
221
+ * `autoCommit: false` to defer the S3 flush.
222
+ */
223
+ readonly upsertBatch: (params: UpsertBatchParams) => Promise<UpsertBatchResult>;
224
+ /**
225
+ * Bulk-delete messages by `externalId` list. Missing ids are
226
+ * silently skipped; the response reports the count actually
227
+ * deleted. Cascades attachment Drive files.
228
+ */
229
+ readonly deleteBatch: (params: DeleteBatchParams) => Promise<DeleteBatchResult>;
230
+ /**
231
+ * Cursor-paginated message listing. Pass the previous response's
232
+ * `nextCursor` to continue; `null` means end of stream. Default
233
+ * page size is server-defined (currently 100, max 1000).
234
+ */
235
+ readonly listMessages: (params?: ListMessagesParams) => Promise<ListMessagesResult>;
236
+ /**
237
+ * Read one message by `externalId`. Throws when the message
238
+ * does not exist (server returns a `MESSAGE_NOT_FOUND` failure).
239
+ */
240
+ readonly getMessage: (params: {
241
+ readonly externalId: string;
242
+ }) => Promise<StoredMessage>;
243
+ /**
244
+ * Bind a message-scoped client over `(mailboxId, folderId,
245
+ * externalId)`. The returned client exposes attachment operations
246
+ * for that message.
247
+ */
248
+ readonly message: (params: {
249
+ readonly externalId: string;
250
+ }) => MessageScopedClient;
251
+ };
252
+ /**
253
+ * Scoped to a single mailbox identified by `mailboxId`. Returned
254
+ * by {@link MessagesStoreClient.mailbox}.
255
+ *
256
+ * Carries CRUD for the mailbox itself plus folder-level helpers
257
+ * and a {@link MailboxScopedClient.folder} factory.
258
+ */
259
+ export type MailboxScopedClient = {
260
+ /**
261
+ * Idempotent SQLite-schema bootstrap. Creates `mailbox_meta`,
262
+ * `folders`, `messages`, and `attachments` tables on first call
263
+ * and is safe to re-run. Required before any folder/message ops.
264
+ */
265
+ readonly init: (params?: AutoCommitParams) => Promise<InitMailboxResult>;
266
+ /**
267
+ * Delete the mailbox file and the per-mailbox attachment Drive
268
+ * subtree (`/Mailboxes/<mailboxId>/`). Reports whether the
269
+ * mailbox existed prior to the call.
270
+ */
271
+ readonly delete: () => Promise<DeleteMailboxResult>;
272
+ /**
273
+ * Idempotent folder upsert. `folderId` is opaque (caller-chosen,
274
+ * e.g. the IMAP folder name). `metadata` is opaque JSON the
275
+ * store never inspects -- ideal for protocol-specific sync state.
276
+ */
277
+ readonly upsertFolder: (params: UpsertFolderParams) => Promise<UpsertFolderResult>;
278
+ /** Enumerate all folders in this mailbox. */
279
+ readonly listFolders: () => Promise<readonly FolderSummary[]>;
280
+ /**
281
+ * Bind a folder-scoped client over `(mailboxId, folderId)`. The
282
+ * returned client exposes folder CRUD plus message operations.
283
+ */
284
+ readonly folder: (params: {
285
+ readonly folderId: string;
286
+ }) => FolderScopedClient;
287
+ };
288
+ /**
289
+ * Workspace-scoped messages-store client. Returned by
290
+ * `diskd.os.messagesStore({ auth })`.
291
+ *
292
+ * Workspace identity is auth-derived (X-Workspace-Id from API key
293
+ * or `ext.workspace_id` from OAuth JWT); callers never pass
294
+ * `workspaceId` on the wire.
295
+ *
296
+ * Functional scoping pattern -- drill into a single mailbox,
297
+ * folder, or message to skip repeating identifiers:
298
+ *
299
+ * ```ts
300
+ * const messagesStore = diskd.os.messagesStore({ auth });
301
+ * const mailbox = messagesStore.mailbox({ mailboxId: 'gmail-acme' });
302
+ * const folder = mailbox.folder({ folderId: 'INBOX' });
303
+ * const message = folder.message({ externalId: 'imap-uid-1001' });
304
+ * ```
305
+ */
306
+ export type MessagesStoreClient = {
307
+ /**
308
+ * Allocate a new mailbox SQLite file at
309
+ * `/Mailboxes/<mailboxId>.mailbox`. `mailboxId` is a workspace-
310
+ * unique slug (`[a-z0-9-]{1,64}`). `metadata` is opaque JSON
311
+ * stashed on the underlying drive_databases record.
312
+ *
313
+ * The mailbox SQLite schema is bootstrapped lazily by
314
+ * {@link MailboxScopedClient.init}, not by this call.
315
+ */
316
+ readonly createMailbox: (params: CreateMailboxParams) => Promise<CreateMailboxResult>;
317
+ /** Workspace-scoped mailbox enumeration. Read-only. */
318
+ readonly listMailboxes: () => Promise<readonly MailboxSummary[]>;
319
+ /**
320
+ * Bind a mailbox-scoped client over `mailboxId`. The returned
321
+ * client exposes mailbox CRUD plus folder/message operations.
322
+ */
323
+ readonly mailbox: (params: {
324
+ readonly mailboxId: string;
325
+ }) => MailboxScopedClient;
326
+ };
327
+ //# sourceMappingURL=messagesStoreTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messagesStoreTypes.d.ts","sourceRoot":"","sources":["../../src/messagesStore/messagesStoreTypes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ // ---------------------------------------------------------------------------
2
+ // Drive Messages Store API -- pure types (no classes, no I/O)
3
+ //
4
+ // Concept: opaque, protocol-agnostic message store served by drive's
5
+ // `messages_store/*` JSON-RPC namespace. Four boundaries (mailboxes,
6
+ // folders, messages, attachments) exposed as functionally-scoped
7
+ // clients so callers don't repeat (mailboxId, folderId, externalId)
8
+ // on every call.
9
+ // ---------------------------------------------------------------------------
10
+ export {};
11
+ //# sourceMappingURL=messagesStoreTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messagesStoreTypes.js","sourceRoot":"","sources":["../../src/messagesStore/messagesStoreTypes.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,8DAA8D;AAC9D,EAAE;AACF,qEAAqE;AACrE,qEAAqE;AACrE,iEAAiE;AACjE,oEAAoE;AACpE,iBAAiB;AACjB,8EAA8E"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=fastDns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fastDns.d.ts","sourceRoot":"","sources":["../../src/node/fastDns.ts"],"names":[],"mappings":""}
@@ -0,0 +1,119 @@
1
+ import dns from 'node:dns';
2
+ import fs from 'node:fs';
3
+ import { Agent, setGlobalDispatcher } from 'undici';
4
+ import { resolveDiskdBaseUrl } from '../env/baseUrl.js';
5
+ const parseHostsFile = (raw) => {
6
+ const map = new Map();
7
+ for (const lineRaw of raw.split(/\r?\n/u)) {
8
+ const line = lineRaw.trim();
9
+ if (line.length === 0 || line.startsWith('#'))
10
+ continue;
11
+ const parts = line.split(/\s+/u).filter((part) => part.length > 0);
12
+ const ip = parts[0];
13
+ if (!ip)
14
+ continue;
15
+ for (const host of parts.slice(1)) {
16
+ const normalized = host.trim().toLowerCase();
17
+ if (normalized.length === 0)
18
+ continue;
19
+ if (!map.has(normalized)) {
20
+ map.set(normalized, ip);
21
+ }
22
+ }
23
+ }
24
+ return map;
25
+ };
26
+ const readHostsMap = () => {
27
+ const content = fs.readFileSync('/etc/hosts', 'utf8');
28
+ return parseHostsFile(content);
29
+ };
30
+ const hasAll = (options) => typeof options === 'object' &&
31
+ options !== null &&
32
+ options.all === true;
33
+ const readFamily = (options) => {
34
+ if (typeof options === 'number')
35
+ return options;
36
+ if (typeof options !== 'object' || options === null)
37
+ return undefined;
38
+ const family = options.family;
39
+ return typeof family === 'number' ? family : undefined;
40
+ };
41
+ const callFallbackLookup = (hostname, options, callback) => {
42
+ if (typeof options === 'function') {
43
+ dns.lookup(hostname, options);
44
+ return;
45
+ }
46
+ if (typeof callback !== 'function')
47
+ return;
48
+ if (options === undefined) {
49
+ dns.lookup(hostname, callback);
50
+ return;
51
+ }
52
+ if (typeof options === 'number') {
53
+ dns.lookup(hostname, options, callback);
54
+ return;
55
+ }
56
+ if (hasAll(options)) {
57
+ dns.lookup(hostname, options, callback);
58
+ return;
59
+ }
60
+ dns.lookup(hostname, options, callback);
61
+ };
62
+ const createHostsLookup = (map) => {
63
+ const lookupImpl = (...args) => {
64
+ const hostnameRaw = args[0];
65
+ if (typeof hostnameRaw !== 'string')
66
+ return;
67
+ const hostname = hostnameRaw.toLowerCase();
68
+ const options = args[1];
69
+ const callback = args[2] ?? args[1];
70
+ const mapped = map.get(hostname);
71
+ if (!mapped) {
72
+ callFallbackLookup(hostnameRaw, options, callback);
73
+ return;
74
+ }
75
+ const family = mapped.includes(':') ? 6 : 4;
76
+ const requestedFamily = readFamily(options);
77
+ if (requestedFamily && requestedFamily !== 0 && requestedFamily !== family) {
78
+ callFallbackLookup(hostnameRaw, options, callback);
79
+ return;
80
+ }
81
+ if (hasAll(options)) {
82
+ callback(null, [{ address: mapped, family }]);
83
+ return;
84
+ }
85
+ callback(null, mapped, family);
86
+ };
87
+ return lookupImpl;
88
+ };
89
+ const shouldEnableFastDns = () => {
90
+ const toggle = process.env.DISKD_SDK_FAST_DNS;
91
+ if (toggle === '0' || toggle === 'false')
92
+ return false;
93
+ if (toggle === '1' || toggle === 'true')
94
+ return true;
95
+ const baseUrl = resolveDiskdBaseUrl();
96
+ return baseUrl.includes('.local');
97
+ };
98
+ const safeReadHostname = (rawUrl) => {
99
+ try {
100
+ return new URL(rawUrl).hostname.toLowerCase();
101
+ }
102
+ catch {
103
+ return null;
104
+ }
105
+ };
106
+ const configureFastDns = () => {
107
+ if (!shouldEnableFastDns())
108
+ return;
109
+ const baseUrlHostname = safeReadHostname(resolveDiskdBaseUrl());
110
+ if (!baseUrlHostname)
111
+ return;
112
+ const map = readHostsMap();
113
+ if (!map.has(baseUrlHostname))
114
+ return;
115
+ const lookup = createHostsLookup(map);
116
+ setGlobalDispatcher(new Agent({ connect: { lookup } }));
117
+ };
118
+ configureFastDns();
119
+ //# sourceMappingURL=fastDns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fastDns.js","sourceRoot":"","sources":["../../src/node/fastDns.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import type { AuthModule } from '../auth/types.js';
2
+ import type { OperativesClient } from './operativesTypes.js';
3
+ /**
4
+ * Creates an Operatives REST client bound to a given auth module.
5
+ *
6
+ * The URL defaults to the centralized `APIS_BASE_URL` gateway with the
7
+ * `/v1/platform/operatives` path prefix.
8
+ *
9
+ * Example:
10
+ * ```ts
11
+ * const ops = createOperativesClient({ auth });
12
+ * const list = await ops.list({ projectId: 'proj-1' });
13
+ * await ops.files.add('op-01', { paths: ['/docs/notes'] });
14
+ * await ops.skills.add('op-01', { refIds: ['web-search'] });
15
+ * await ops.tools.add('op-01', { selectors: ['github/search_repos'] });
16
+ * ```
17
+ */
18
+ export declare const createOperativesClient: (params: {
19
+ readonly auth: AuthModule;
20
+ readonly url?: string;
21
+ }) => OperativesClient;
22
+ //# sourceMappingURL=operatives.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operatives.d.ts","sourceRoot":"","sources":["../../src/operatives/operatives.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGnD,OAAO,KAAK,EAUV,gBAAgB,EAGjB,MAAM,sBAAsB,CAAC;AAwI9B;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,sBAAsB,GAAI,QAAQ;IAC7C,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACvB,KAAG,gBAiLH,CAAC"}