@yolk-sdk/emulators 0.1.0-canary.96

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 (333) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +2135 -0
  3. package/dist/anthropic.d.mts +269 -0
  4. package/dist/anthropic.d.mts.map +1 -0
  5. package/dist/anthropic.mjs +177 -0
  6. package/dist/anthropic.mjs.map +1 -0
  7. package/dist/chat-completions.d.mts +288 -0
  8. package/dist/chat-completions.d.mts.map +1 -0
  9. package/dist/chat-completions.mjs +451 -0
  10. package/dist/chat-completions.mjs.map +1 -0
  11. package/dist/codex.d.mts +265 -0
  12. package/dist/codex.d.mts.map +1 -0
  13. package/dist/codex.mjs +199 -0
  14. package/dist/codex.mjs.map +1 -0
  15. package/dist/dropbox/api.d.mts +63 -0
  16. package/dist/dropbox/api.d.mts.map +1 -0
  17. package/dist/dropbox/api.mjs +565 -0
  18. package/dist/dropbox/api.mjs.map +1 -0
  19. package/dist/dropbox/state.d.mts +136 -0
  20. package/dist/dropbox/state.d.mts.map +1 -0
  21. package/dist/dropbox/state.mjs +209 -0
  22. package/dist/dropbox/state.mjs.map +1 -0
  23. package/dist/dropbox.d.mts +79 -0
  24. package/dist/dropbox.d.mts.map +1 -0
  25. package/dist/dropbox.mjs +124 -0
  26. package/dist/dropbox.mjs.map +1 -0
  27. package/dist/email-fixtures.d.mts +36 -0
  28. package/dist/email-fixtures.d.mts.map +1 -0
  29. package/dist/email-fixtures.mjs +1080 -0
  30. package/dist/email-fixtures.mjs.map +1 -0
  31. package/dist/email.d.mts +160 -0
  32. package/dist/email.d.mts.map +1 -0
  33. package/dist/email.mjs +608 -0
  34. package/dist/email.mjs.map +1 -0
  35. package/dist/emulator-compose.d.mts +40 -0
  36. package/dist/emulator-compose.d.mts.map +1 -0
  37. package/dist/emulator-compose.mjs +91 -0
  38. package/dist/emulator-compose.mjs.map +1 -0
  39. package/dist/emulator-http.d.mts +53 -0
  40. package/dist/emulator-http.d.mts.map +1 -0
  41. package/dist/emulator-http.mjs +117 -0
  42. package/dist/emulator-http.mjs.map +1 -0
  43. package/dist/emulator-kernel.d.mts +176 -0
  44. package/dist/emulator-kernel.d.mts.map +1 -0
  45. package/dist/emulator-kernel.mjs +413 -0
  46. package/dist/emulator-kernel.mjs.map +1 -0
  47. package/dist/fixture-route.d.mts +129 -0
  48. package/dist/fixture-route.d.mts.map +1 -0
  49. package/dist/fixture-route.mjs +257 -0
  50. package/dist/fixture-route.mjs.map +1 -0
  51. package/dist/fortnox/api.d.mts +92 -0
  52. package/dist/fortnox/api.d.mts.map +1 -0
  53. package/dist/fortnox/api.mjs +750 -0
  54. package/dist/fortnox/api.mjs.map +1 -0
  55. package/dist/fortnox/state.d.mts +533 -0
  56. package/dist/fortnox/state.d.mts.map +1 -0
  57. package/dist/fortnox/state.mjs +612 -0
  58. package/dist/fortnox/state.mjs.map +1 -0
  59. package/dist/fortnox.d.mts +128 -0
  60. package/dist/fortnox.d.mts.map +1 -0
  61. package/dist/fortnox.mjs +403 -0
  62. package/dist/fortnox.mjs.map +1 -0
  63. package/dist/gateway-evaluate-recordings.d.mts +12 -0
  64. package/dist/gateway-evaluate-recordings.d.mts.map +1 -0
  65. package/dist/gateway-evaluate-recordings.mjs +128 -0
  66. package/dist/gateway-evaluate-recordings.mjs.map +1 -0
  67. package/dist/gateway.d.mts +272 -0
  68. package/dist/gateway.d.mts.map +1 -0
  69. package/dist/gateway.mjs +400 -0
  70. package/dist/gateway.mjs.map +1 -0
  71. package/dist/github/api.d.mts +63 -0
  72. package/dist/github/api.d.mts.map +1 -0
  73. package/dist/github/api.mjs +527 -0
  74. package/dist/github/api.mjs.map +1 -0
  75. package/dist/github/state.d.mts +272 -0
  76. package/dist/github/state.d.mts.map +1 -0
  77. package/dist/github/state.mjs +303 -0
  78. package/dist/github/state.mjs.map +1 -0
  79. package/dist/github.d.mts +77 -0
  80. package/dist/github.d.mts.map +1 -0
  81. package/dist/github.mjs +180 -0
  82. package/dist/github.mjs.map +1 -0
  83. package/dist/google/calendar.d.mts +10 -0
  84. package/dist/google/calendar.d.mts.map +1 -0
  85. package/dist/google/calendar.mjs +252 -0
  86. package/dist/google/calendar.mjs.map +1 -0
  87. package/dist/google/drive.d.mts +8 -0
  88. package/dist/google/drive.d.mts.map +1 -0
  89. package/dist/google/drive.mjs +252 -0
  90. package/dist/google/drive.mjs.map +1 -0
  91. package/dist/google/gmail.d.mts +10 -0
  92. package/dist/google/gmail.d.mts.map +1 -0
  93. package/dist/google/gmail.mjs +591 -0
  94. package/dist/google/gmail.mjs.map +1 -0
  95. package/dist/google/shared.d.mts +107 -0
  96. package/dist/google/shared.d.mts.map +1 -0
  97. package/dist/google/shared.mjs +146 -0
  98. package/dist/google/shared.mjs.map +1 -0
  99. package/dist/google/state.d.mts +385 -0
  100. package/dist/google/state.d.mts.map +1 -0
  101. package/dist/google/state.mjs +496 -0
  102. package/dist/google/state.mjs.map +1 -0
  103. package/dist/google.d.mts +75 -0
  104. package/dist/google.d.mts.map +1 -0
  105. package/dist/google.mjs +210 -0
  106. package/dist/google.mjs.map +1 -0
  107. package/dist/linkedin-search/api.d.mts +45 -0
  108. package/dist/linkedin-search/api.d.mts.map +1 -0
  109. package/dist/linkedin-search/api.mjs +181 -0
  110. package/dist/linkedin-search/api.mjs.map +1 -0
  111. package/dist/linkedin-search/state.d.mts +123 -0
  112. package/dist/linkedin-search/state.d.mts.map +1 -0
  113. package/dist/linkedin-search/state.mjs +261 -0
  114. package/dist/linkedin-search/state.mjs.map +1 -0
  115. package/dist/linkedin-search.d.mts +69 -0
  116. package/dist/linkedin-search.d.mts.map +1 -0
  117. package/dist/linkedin-search.mjs +158 -0
  118. package/dist/linkedin-search.mjs.map +1 -0
  119. package/dist/mcp/api.d.mts +44 -0
  120. package/dist/mcp/api.d.mts.map +1 -0
  121. package/dist/mcp/api.mjs +557 -0
  122. package/dist/mcp/api.mjs.map +1 -0
  123. package/dist/mcp/recordings.d.mts +40 -0
  124. package/dist/mcp/recordings.d.mts.map +1 -0
  125. package/dist/mcp/recordings.mjs +2390 -0
  126. package/dist/mcp/recordings.mjs.map +1 -0
  127. package/dist/mcp/state.d.mts +71 -0
  128. package/dist/mcp/state.d.mts.map +1 -0
  129. package/dist/mcp/state.mjs +83 -0
  130. package/dist/mcp/state.mjs.map +1 -0
  131. package/dist/mcp.d.mts +84 -0
  132. package/dist/mcp.d.mts.map +1 -0
  133. package/dist/mcp.mjs +241 -0
  134. package/dist/mcp.mjs.map +1 -0
  135. package/dist/messages.d.mts +183 -0
  136. package/dist/messages.d.mts.map +1 -0
  137. package/dist/messages.mjs +532 -0
  138. package/dist/messages.mjs.map +1 -0
  139. package/dist/microsoft/api.d.mts +47 -0
  140. package/dist/microsoft/api.d.mts.map +1 -0
  141. package/dist/microsoft/api.mjs +178 -0
  142. package/dist/microsoft/api.mjs.map +1 -0
  143. package/dist/microsoft/calendar.d.mts +30 -0
  144. package/dist/microsoft/calendar.d.mts.map +1 -0
  145. package/dist/microsoft/calendar.mjs +271 -0
  146. package/dist/microsoft/calendar.mjs.map +1 -0
  147. package/dist/microsoft/drive.d.mts +36 -0
  148. package/dist/microsoft/drive.d.mts.map +1 -0
  149. package/dist/microsoft/drive.mjs +298 -0
  150. package/dist/microsoft/drive.mjs.map +1 -0
  151. package/dist/microsoft/graph.d.mts +198 -0
  152. package/dist/microsoft/graph.d.mts.map +1 -0
  153. package/dist/microsoft/graph.mjs +264 -0
  154. package/dist/microsoft/graph.mjs.map +1 -0
  155. package/dist/microsoft/mail.d.mts +48 -0
  156. package/dist/microsoft/mail.d.mts.map +1 -0
  157. package/dist/microsoft/mail.mjs +488 -0
  158. package/dist/microsoft/mail.mjs.map +1 -0
  159. package/dist/microsoft/state.d.mts +480 -0
  160. package/dist/microsoft/state.d.mts.map +1 -0
  161. package/dist/microsoft/state.mjs +625 -0
  162. package/dist/microsoft/state.mjs.map +1 -0
  163. package/dist/microsoft.d.mts +168 -0
  164. package/dist/microsoft.d.mts.map +1 -0
  165. package/dist/microsoft.mjs +483 -0
  166. package/dist/microsoft.mjs.map +1 -0
  167. package/dist/node.d.mts +47 -0
  168. package/dist/node.d.mts.map +1 -0
  169. package/dist/node.mjs +178 -0
  170. package/dist/node.mjs.map +1 -0
  171. package/dist/notion/api.d.mts +51 -0
  172. package/dist/notion/api.d.mts.map +1 -0
  173. package/dist/notion/api.mjs +507 -0
  174. package/dist/notion/api.mjs.map +1 -0
  175. package/dist/notion/state.d.mts +329 -0
  176. package/dist/notion/state.d.mts.map +1 -0
  177. package/dist/notion/state.mjs +432 -0
  178. package/dist/notion/state.mjs.map +1 -0
  179. package/dist/notion.d.mts +72 -0
  180. package/dist/notion.d.mts.map +1 -0
  181. package/dist/notion.mjs +127 -0
  182. package/dist/notion.mjs.map +1 -0
  183. package/dist/openai.d.mts +165 -0
  184. package/dist/openai.d.mts.map +1 -0
  185. package/dist/openai.mjs +141 -0
  186. package/dist/openai.mjs.map +1 -0
  187. package/dist/opencode-recordings.d.mts +7 -0
  188. package/dist/opencode-recordings.d.mts.map +1 -0
  189. package/dist/opencode-recordings.mjs +222 -0
  190. package/dist/opencode-recordings.mjs.map +1 -0
  191. package/dist/opencode.d.mts +70 -0
  192. package/dist/opencode.d.mts.map +1 -0
  193. package/dist/opencode.mjs +217 -0
  194. package/dist/opencode.mjs.map +1 -0
  195. package/dist/r2-fixtures.d.mts +36 -0
  196. package/dist/r2-fixtures.d.mts.map +1 -0
  197. package/dist/r2-fixtures.mjs +245 -0
  198. package/dist/r2-fixtures.mjs.map +1 -0
  199. package/dist/r2-guard.d.mts +43 -0
  200. package/dist/r2-guard.d.mts.map +1 -0
  201. package/dist/r2-guard.mjs +215 -0
  202. package/dist/r2-guard.mjs.map +1 -0
  203. package/dist/r2.d.mts +166 -0
  204. package/dist/r2.d.mts.map +1 -0
  205. package/dist/r2.mjs +517 -0
  206. package/dist/r2.mjs.map +1 -0
  207. package/dist/responses.d.mts +231 -0
  208. package/dist/responses.d.mts.map +1 -0
  209. package/dist/responses.mjs +556 -0
  210. package/dist/responses.mjs.map +1 -0
  211. package/dist/route-evidence.d.mts +45 -0
  212. package/dist/route-evidence.d.mts.map +1 -0
  213. package/dist/route-evidence.mjs +56 -0
  214. package/dist/route-evidence.mjs.map +1 -0
  215. package/dist/router.d.mts +93 -0
  216. package/dist/router.d.mts.map +1 -0
  217. package/dist/router.mjs +259 -0
  218. package/dist/router.mjs.map +1 -0
  219. package/dist/stateful-core.d.mts +17 -0
  220. package/dist/stateful-core.d.mts.map +1 -0
  221. package/dist/stateful-core.mjs +41 -0
  222. package/dist/stateful-core.mjs.map +1 -0
  223. package/dist/stateful-emulator.d.mts +565 -0
  224. package/dist/stateful-emulator.d.mts.map +1 -0
  225. package/dist/stateful-emulator.mjs +1228 -0
  226. package/dist/stateful-emulator.mjs.map +1 -0
  227. package/dist/stateful-secrets.d.mts +84 -0
  228. package/dist/stateful-secrets.d.mts.map +1 -0
  229. package/dist/stateful-secrets.mjs +216 -0
  230. package/dist/stateful-secrets.mjs.map +1 -0
  231. package/dist/subscription-usage-recordings.d.mts +9 -0
  232. package/dist/subscription-usage-recordings.d.mts.map +1 -0
  233. package/dist/subscription-usage-recordings.mjs +53 -0
  234. package/dist/subscription-usage-recordings.mjs.map +1 -0
  235. package/dist/subscription-usage.d.mts +53 -0
  236. package/dist/subscription-usage.d.mts.map +1 -0
  237. package/dist/subscription-usage.mjs +21 -0
  238. package/dist/subscription-usage.mjs.map +1 -0
  239. package/dist/telegram/api.d.mts +34 -0
  240. package/dist/telegram/api.d.mts.map +1 -0
  241. package/dist/telegram/api.mjs +257 -0
  242. package/dist/telegram/api.mjs.map +1 -0
  243. package/dist/telegram/state.d.mts +128 -0
  244. package/dist/telegram/state.d.mts.map +1 -0
  245. package/dist/telegram/state.mjs +154 -0
  246. package/dist/telegram/state.mjs.map +1 -0
  247. package/dist/telegram.d.mts +62 -0
  248. package/dist/telegram.d.mts.map +1 -0
  249. package/dist/telegram.mjs +127 -0
  250. package/dist/telegram.mjs.map +1 -0
  251. package/dist/todoist/api.d.mts +55 -0
  252. package/dist/todoist/api.d.mts.map +1 -0
  253. package/dist/todoist/api.mjs +415 -0
  254. package/dist/todoist/api.mjs.map +1 -0
  255. package/dist/todoist/state.d.mts +275 -0
  256. package/dist/todoist/state.d.mts.map +1 -0
  257. package/dist/todoist/state.mjs +345 -0
  258. package/dist/todoist/state.mjs.map +1 -0
  259. package/dist/todoist.d.mts +68 -0
  260. package/dist/todoist.d.mts.map +1 -0
  261. package/dist/todoist.mjs +181 -0
  262. package/dist/todoist.mjs.map +1 -0
  263. package/dist/xai.d.mts +267 -0
  264. package/dist/xai.d.mts.map +1 -0
  265. package/dist/xai.mjs +252 -0
  266. package/dist/xai.mjs.map +1 -0
  267. package/package.json +157 -0
  268. package/src/anthropic.ts +289 -0
  269. package/src/chat-completions.ts +924 -0
  270. package/src/codex.ts +296 -0
  271. package/src/dropbox/api.ts +1084 -0
  272. package/src/dropbox/state.ts +364 -0
  273. package/src/dropbox.ts +203 -0
  274. package/src/email-fixtures.ts +1297 -0
  275. package/src/email.ts +1108 -0
  276. package/src/emulator-compose.ts +147 -0
  277. package/src/emulator-http.ts +184 -0
  278. package/src/emulator-kernel.ts +844 -0
  279. package/src/fixture-route.ts +561 -0
  280. package/src/fortnox/api.ts +1352 -0
  281. package/src/fortnox/state.ts +798 -0
  282. package/src/fortnox.ts +801 -0
  283. package/src/gateway-evaluate-recordings.ts +153 -0
  284. package/src/gateway.ts +530 -0
  285. package/src/github/api.ts +986 -0
  286. package/src/github/state.ts +439 -0
  287. package/src/github.ts +271 -0
  288. package/src/google/calendar.ts +486 -0
  289. package/src/google/drive.ts +471 -0
  290. package/src/google/gmail.ts +1011 -0
  291. package/src/google/shared.ts +321 -0
  292. package/src/google/state.ts +686 -0
  293. package/src/google.ts +298 -0
  294. package/src/linkedin-search/api.ts +363 -0
  295. package/src/linkedin-search/state.ts +373 -0
  296. package/src/linkedin-search.ts +241 -0
  297. package/src/mcp/api.ts +995 -0
  298. package/src/mcp/recordings.ts +2665 -0
  299. package/src/mcp/state.ts +125 -0
  300. package/src/mcp.ts +319 -0
  301. package/src/messages.ts +844 -0
  302. package/src/microsoft/api.ts +426 -0
  303. package/src/microsoft/calendar.ts +491 -0
  304. package/src/microsoft/drive.ts +541 -0
  305. package/src/microsoft/graph.ts +550 -0
  306. package/src/microsoft/mail.ts +833 -0
  307. package/src/microsoft/state.ts +822 -0
  308. package/src/microsoft.ts +982 -0
  309. package/src/node.ts +293 -0
  310. package/src/notion/api.ts +976 -0
  311. package/src/notion/state.ts +512 -0
  312. package/src/notion.ts +210 -0
  313. package/src/openai.ts +198 -0
  314. package/src/opencode-recordings.ts +257 -0
  315. package/src/opencode.ts +271 -0
  316. package/src/r2-fixtures.ts +295 -0
  317. package/src/r2-guard.ts +323 -0
  318. package/src/r2.ts +890 -0
  319. package/src/responses.ts +901 -0
  320. package/src/route-evidence.ts +90 -0
  321. package/src/router.ts +490 -0
  322. package/src/stateful-core.ts +70 -0
  323. package/src/stateful-emulator.ts +2571 -0
  324. package/src/stateful-secrets.ts +299 -0
  325. package/src/subscription-usage-recordings.ts +77 -0
  326. package/src/subscription-usage.ts +68 -0
  327. package/src/telegram/api.ts +437 -0
  328. package/src/telegram/state.ts +229 -0
  329. package/src/telegram.ts +227 -0
  330. package/src/todoist/api.ts +736 -0
  331. package/src/todoist/state.ts +456 -0
  332. package/src/todoist.ts +316 -0
  333. package/src/xai.ts +341 -0
@@ -0,0 +1,385 @@
1
+ import * as Schema from "effect/Schema";
2
+
3
+ //#region src/google/state.d.ts
4
+ /**
5
+ * The practice account's own address: exactly one plain `local@domain` (the shape the send case's
6
+ * `GooglePracticeAddress` seed takes). The fixtures use it as the sender, the only recipient, and
7
+ * the event creator. A seed may set another one, but the send answers only while it is the
8
+ * recorded `practice@example.test` (the recorded `sizeEstimate` of the sent message covers it).
9
+ */
10
+ declare const GoogleEmulatorPracticeAddress: Schema.String;
11
+ /**
12
+ * A stored Gmail message with the renderings a fixture records for it: `minimal` (true when a
13
+ * fixture records `format=minimal`), and the `metadata` and `full` payloads (null when none is
14
+ * recorded). The head fields are answered as stored.
15
+ */
16
+ declare const GoogleEmulatorGmailMessage: Schema.Struct<{
17
+ readonly id: Schema.String;
18
+ readonly threadId: Schema.String;
19
+ readonly labelIds: Schema.$Array<Schema.String>;
20
+ readonly snippet: Schema.String;
21
+ readonly sizeEstimate: Schema.Int;
22
+ readonly historyId: Schema.String;
23
+ readonly internalDate: Schema.String;
24
+ readonly minimal: Schema.Boolean;
25
+ readonly metadataPayload: Schema.NullOr<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>;
26
+ readonly fullPayload: Schema.NullOr<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>;
27
+ }>;
28
+ type GoogleEmulatorGmailMessage = typeof GoogleEmulatorGmailMessage.Type;
29
+ /** A message a fixture only names in a listing (`{ id, threadId }`), with the labels it carries. */
30
+ declare const GoogleEmulatorImpliedMessage: Schema.Struct<{
31
+ readonly id: Schema.String;
32
+ readonly threadId: Schema.String;
33
+ readonly labelIds: Schema.$Array<Schema.String>;
34
+ }>;
35
+ type GoogleEmulatorImpliedMessage = typeof GoogleEmulatorImpliedMessage.Type;
36
+ /** A label created here (`POST .../labels`), answered as the label fixture records it. */
37
+ declare const GoogleEmulatorGmailLabel: Schema.Struct<{
38
+ readonly id: Schema.String;
39
+ readonly name: Schema.String;
40
+ readonly messageListVisibility: Schema.String;
41
+ readonly labelListVisibility: Schema.String;
42
+ readonly type: Schema.String;
43
+ }>;
44
+ type GoogleEmulatorGmailLabel = typeof GoogleEmulatorGmailLabel.Type;
45
+ /** An attachment Gmail stores apart from its message: `size` bytes as base64url `data`. */
46
+ declare const GoogleEmulatorAttachment: Schema.Struct<{
47
+ readonly messageId: Schema.String;
48
+ readonly attachmentId: Schema.String;
49
+ readonly size: Schema.Int;
50
+ readonly data: Schema.String;
51
+ }>;
52
+ type GoogleEmulatorAttachment = typeof GoogleEmulatorAttachment.Type;
53
+ /** A draft created here and its current message. */
54
+ declare const GoogleEmulatorDraft: Schema.Struct<{
55
+ readonly id: Schema.String;
56
+ readonly messageId: Schema.String;
57
+ }>;
58
+ type GoogleEmulatorDraft = typeof GoogleEmulatorDraft.Type;
59
+ /** A calendar the events live in, with the fields a listing page answers. */
60
+ declare const GoogleEmulatorCalendar: Schema.Struct<{
61
+ readonly id: Schema.String;
62
+ readonly summary: Schema.String;
63
+ readonly timeZone: Schema.String;
64
+ readonly accessRole: Schema.String;
65
+ }>;
66
+ type GoogleEmulatorCalendar = typeof GoogleEmulatorCalendar.Type;
67
+ /** An event boundary: exactly one of `dateTime` (with an optional `timeZone`) or `date`. */
68
+ declare const GoogleEmulatorEventBoundary: Schema.Union<readonly [Schema.Struct<{
69
+ readonly dateTime: Schema.String;
70
+ readonly timeZone: Schema.optionalKey<Schema.String>;
71
+ }>, Schema.Struct<{
72
+ readonly date: Schema.String;
73
+ }>]>;
74
+ type GoogleEmulatorEventBoundary = typeof GoogleEmulatorEventBoundary.Type;
75
+ /** A stored calendar event with its wire fields (creator and organizer derive from the state). */
76
+ declare const GoogleEmulatorCalendarEvent: Schema.Struct<{
77
+ readonly calendarId: Schema.String;
78
+ readonly id: Schema.String;
79
+ readonly etag: Schema.String;
80
+ readonly status: Schema.Literals<readonly ["confirmed", "cancelled"]>;
81
+ readonly htmlLink: Schema.String;
82
+ readonly created: Schema.String;
83
+ readonly updated: Schema.String;
84
+ readonly summary: Schema.String;
85
+ readonly description: Schema.optionalKey<Schema.String>;
86
+ readonly start: Schema.Union<readonly [Schema.Struct<{
87
+ readonly dateTime: Schema.String;
88
+ readonly timeZone: Schema.optionalKey<Schema.String>;
89
+ }>, Schema.Struct<{
90
+ readonly date: Schema.String;
91
+ }>]>;
92
+ readonly end: Schema.Union<readonly [Schema.Struct<{
93
+ readonly dateTime: Schema.String;
94
+ readonly timeZone: Schema.optionalKey<Schema.String>;
95
+ }>, Schema.Struct<{
96
+ readonly date: Schema.String;
97
+ }>]>;
98
+ readonly iCalUID: Schema.String;
99
+ readonly sequence: Schema.Int;
100
+ }>;
101
+ type GoogleEmulatorCalendarEvent = typeof GoogleEmulatorCalendarEvent.Type;
102
+ /** A Drive file or folder with the fields the connector's `fields` selection answers. */
103
+ declare const GoogleEmulatorDriveFile: Schema.Struct<{
104
+ readonly id: Schema.String;
105
+ readonly name: Schema.String;
106
+ readonly mimeType: Schema.String;
107
+ readonly starred: Schema.Boolean;
108
+ readonly trashed: Schema.Boolean;
109
+ readonly explicitlyTrashed: Schema.Boolean;
110
+ readonly trashedTime: Schema.optionalKey<Schema.String>;
111
+ readonly parents: Schema.$Array<Schema.String>;
112
+ readonly spaces: Schema.$Array<Schema.String>;
113
+ readonly version: Schema.String;
114
+ readonly webViewLink: Schema.String;
115
+ readonly iconLink: Schema.String;
116
+ readonly hasThumbnail: Schema.Boolean;
117
+ readonly viewedByMe: Schema.Boolean;
118
+ readonly createdTime: Schema.String;
119
+ readonly modifiedTime: Schema.String;
120
+ readonly ownedByMe: Schema.Boolean;
121
+ readonly shared: Schema.Boolean;
122
+ readonly writersCanShare: Schema.Boolean;
123
+ readonly capabilities: Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>;
124
+ }>;
125
+ type GoogleEmulatorDriveFile = typeof GoogleEmulatorDriveFile.Type;
126
+ declare const Counters: Schema.Struct<{
127
+ /** Next created label number (`Label_<n>`). */readonly nextLabelNumber: Schema.Int; /** Next created draft number (`r-8<n, 18 digits>`). */
128
+ readonly nextDraftNumber: Schema.Int; /** Next draft message number (`18f…d<n>`). */
129
+ readonly nextDraftMessageNumber: Schema.Int; /** Next sent message number (`18f…e<n>`, and the `Message-ID` header). */
130
+ readonly nextSentNumber: Schema.Int; /** Next created event number (`syntheticconformance<nnnn>`). */
131
+ readonly nextEventNumber: Schema.Int; /** Next created folder number (`synthetic-conformance-folder-<nnnn>`). */
132
+ readonly nextFolderNumber: Schema.Int;
133
+ }>;
134
+ /** The whole emulator state (JSON-compatible; what `snapshot()` returns). */
135
+ declare const GoogleEmulatorStateSchema: Schema.Struct<{
136
+ readonly practiceAddress: Schema.String;
137
+ readonly messages: Schema.$Array<Schema.Struct<{
138
+ readonly id: Schema.String;
139
+ readonly threadId: Schema.String;
140
+ readonly labelIds: Schema.$Array<Schema.String>;
141
+ readonly snippet: Schema.String;
142
+ readonly sizeEstimate: Schema.Int;
143
+ readonly historyId: Schema.String;
144
+ readonly internalDate: Schema.String;
145
+ readonly minimal: Schema.Boolean;
146
+ readonly metadataPayload: Schema.NullOr<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>;
147
+ readonly fullPayload: Schema.NullOr<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>;
148
+ }>>;
149
+ readonly impliedMessages: Schema.$Array<Schema.Struct<{
150
+ readonly id: Schema.String;
151
+ readonly threadId: Schema.String;
152
+ readonly labelIds: Schema.$Array<Schema.String>;
153
+ }>>;
154
+ readonly impliedLabelIds: Schema.$Array<Schema.String>;
155
+ readonly labels: Schema.$Array<Schema.Struct<{
156
+ readonly id: Schema.String;
157
+ readonly name: Schema.String;
158
+ readonly messageListVisibility: Schema.String;
159
+ readonly labelListVisibility: Schema.String;
160
+ readonly type: Schema.String;
161
+ }>>;
162
+ readonly attachments: Schema.$Array<Schema.Struct<{
163
+ readonly messageId: Schema.String;
164
+ readonly attachmentId: Schema.String;
165
+ readonly size: Schema.Int;
166
+ readonly data: Schema.String;
167
+ }>>;
168
+ readonly drafts: Schema.$Array<Schema.Struct<{
169
+ readonly id: Schema.String;
170
+ readonly messageId: Schema.String;
171
+ }>>;
172
+ readonly calendars: Schema.$Array<Schema.Struct<{
173
+ readonly id: Schema.String;
174
+ readonly summary: Schema.String;
175
+ readonly timeZone: Schema.String;
176
+ readonly accessRole: Schema.String;
177
+ }>>;
178
+ readonly events: Schema.$Array<Schema.Struct<{
179
+ readonly calendarId: Schema.String;
180
+ readonly id: Schema.String;
181
+ readonly etag: Schema.String;
182
+ readonly status: Schema.Literals<readonly ["confirmed", "cancelled"]>;
183
+ readonly htmlLink: Schema.String;
184
+ readonly created: Schema.String;
185
+ readonly updated: Schema.String;
186
+ readonly summary: Schema.String;
187
+ readonly description: Schema.optionalKey<Schema.String>;
188
+ readonly start: Schema.Union<readonly [Schema.Struct<{
189
+ readonly dateTime: Schema.String;
190
+ readonly timeZone: Schema.optionalKey<Schema.String>;
191
+ }>, Schema.Struct<{
192
+ readonly date: Schema.String;
193
+ }>]>;
194
+ readonly end: Schema.Union<readonly [Schema.Struct<{
195
+ readonly dateTime: Schema.String;
196
+ readonly timeZone: Schema.optionalKey<Schema.String>;
197
+ }>, Schema.Struct<{
198
+ readonly date: Schema.String;
199
+ }>]>;
200
+ readonly iCalUID: Schema.String;
201
+ readonly sequence: Schema.Int;
202
+ }>>;
203
+ readonly files: Schema.$Array<Schema.Struct<{
204
+ readonly id: Schema.String;
205
+ readonly name: Schema.String;
206
+ readonly mimeType: Schema.String;
207
+ readonly starred: Schema.Boolean;
208
+ readonly trashed: Schema.Boolean;
209
+ readonly explicitlyTrashed: Schema.Boolean;
210
+ readonly trashedTime: Schema.optionalKey<Schema.String>;
211
+ readonly parents: Schema.$Array<Schema.String>;
212
+ readonly spaces: Schema.$Array<Schema.String>;
213
+ readonly version: Schema.String;
214
+ readonly webViewLink: Schema.String;
215
+ readonly iconLink: Schema.String;
216
+ readonly hasThumbnail: Schema.Boolean;
217
+ readonly viewedByMe: Schema.Boolean;
218
+ readonly createdTime: Schema.String;
219
+ readonly modifiedTime: Schema.String;
220
+ readonly ownedByMe: Schema.Boolean;
221
+ readonly shared: Schema.Boolean;
222
+ readonly writersCanShare: Schema.Boolean;
223
+ readonly capabilities: Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>;
224
+ }>>;
225
+ readonly impliedFolderIds: Schema.$Array<Schema.String>;
226
+ readonly counters: Schema.Struct<{
227
+ /** Next created label number (`Label_<n>`). */readonly nextLabelNumber: Schema.Int; /** Next created draft number (`r-8<n, 18 digits>`). */
228
+ readonly nextDraftNumber: Schema.Int; /** Next draft message number (`18f…d<n>`). */
229
+ readonly nextDraftMessageNumber: Schema.Int; /** Next sent message number (`18f…e<n>`, and the `Message-ID` header). */
230
+ readonly nextSentNumber: Schema.Int; /** Next created event number (`syntheticconformance<nnnn>`). */
231
+ readonly nextEventNumber: Schema.Int; /** Next created folder number (`synthetic-conformance-folder-<nnnn>`). */
232
+ readonly nextFolderNumber: Schema.Int;
233
+ }>;
234
+ }>;
235
+ /**
236
+ * The emulator state. The container is mutable (routes replace whole lists); every entity is
237
+ * replaced, never edited in place.
238
+ */
239
+ type GoogleEmulatorState = {
240
+ practiceAddress: string;
241
+ messages: ReadonlyArray<GoogleEmulatorGmailMessage>;
242
+ impliedMessages: ReadonlyArray<GoogleEmulatorImpliedMessage>;
243
+ impliedLabelIds: ReadonlyArray<string>;
244
+ labels: ReadonlyArray<GoogleEmulatorGmailLabel>;
245
+ attachments: ReadonlyArray<GoogleEmulatorAttachment>;
246
+ drafts: ReadonlyArray<GoogleEmulatorDraft>;
247
+ calendars: ReadonlyArray<GoogleEmulatorCalendar>;
248
+ events: ReadonlyArray<GoogleEmulatorCalendarEvent>;
249
+ files: ReadonlyArray<GoogleEmulatorDriveFile>;
250
+ impliedFolderIds: ReadonlyArray<string>;
251
+ counters: typeof Counters.Type;
252
+ };
253
+ /** Account-variance profiles for the default seed. */
254
+ declare const GoogleEmulatorProfile: Schema.Literals<readonly ["default", "empty"]>;
255
+ type GoogleEmulatorProfile = typeof GoogleEmulatorProfile.Type;
256
+ /**
257
+ * A typed seed. Start from `profile` (default `'default'`, the fixture entities); every other key,
258
+ * when given, replaces that part of the profile. Created labels and drafts are never seeded.
259
+ */
260
+ declare const GoogleEmulatorSeed: Schema.Struct<{
261
+ readonly profile: Schema.optionalKey<Schema.Literals<readonly ["default", "empty"]>>;
262
+ readonly practiceAddress: Schema.optionalKey<Schema.String>;
263
+ readonly messages: Schema.optionalKey<Schema.$Array<Schema.Struct<{
264
+ readonly id: Schema.String;
265
+ readonly threadId: Schema.String;
266
+ readonly labelIds: Schema.$Array<Schema.String>;
267
+ readonly snippet: Schema.String;
268
+ readonly sizeEstimate: Schema.Int;
269
+ readonly historyId: Schema.String;
270
+ readonly internalDate: Schema.String;
271
+ readonly minimal: Schema.Boolean;
272
+ readonly metadataPayload: Schema.NullOr<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>;
273
+ readonly fullPayload: Schema.NullOr<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>;
274
+ }>>>;
275
+ readonly impliedMessages: Schema.optionalKey<Schema.$Array<Schema.Struct<{
276
+ readonly id: Schema.String;
277
+ readonly threadId: Schema.String;
278
+ readonly labelIds: Schema.$Array<Schema.String>;
279
+ }>>>;
280
+ readonly impliedLabelIds: Schema.optionalKey<Schema.$Array<Schema.String>>;
281
+ readonly attachments: Schema.optionalKey<Schema.$Array<Schema.Struct<{
282
+ readonly messageId: Schema.String;
283
+ readonly attachmentId: Schema.String;
284
+ readonly size: Schema.Int;
285
+ readonly data: Schema.String;
286
+ }>>>;
287
+ readonly calendars: Schema.optionalKey<Schema.$Array<Schema.Struct<{
288
+ readonly id: Schema.String;
289
+ readonly summary: Schema.String;
290
+ readonly timeZone: Schema.String;
291
+ readonly accessRole: Schema.String;
292
+ }>>>;
293
+ readonly events: Schema.optionalKey<Schema.$Array<Schema.Struct<{
294
+ readonly calendarId: Schema.String;
295
+ readonly id: Schema.String;
296
+ readonly etag: Schema.String;
297
+ readonly status: Schema.Literals<readonly ["confirmed", "cancelled"]>;
298
+ readonly htmlLink: Schema.String;
299
+ readonly created: Schema.String;
300
+ readonly updated: Schema.String;
301
+ readonly summary: Schema.String;
302
+ readonly description: Schema.optionalKey<Schema.String>;
303
+ readonly start: Schema.Union<readonly [Schema.Struct<{
304
+ readonly dateTime: Schema.String;
305
+ readonly timeZone: Schema.optionalKey<Schema.String>;
306
+ }>, Schema.Struct<{
307
+ readonly date: Schema.String;
308
+ }>]>;
309
+ readonly end: Schema.Union<readonly [Schema.Struct<{
310
+ readonly dateTime: Schema.String;
311
+ readonly timeZone: Schema.optionalKey<Schema.String>;
312
+ }>, Schema.Struct<{
313
+ readonly date: Schema.String;
314
+ }>]>;
315
+ readonly iCalUID: Schema.String;
316
+ readonly sequence: Schema.Int;
317
+ }>>>;
318
+ readonly files: Schema.optionalKey<Schema.$Array<Schema.Struct<{
319
+ readonly id: Schema.String;
320
+ readonly name: Schema.String;
321
+ readonly mimeType: Schema.String;
322
+ readonly starred: Schema.Boolean;
323
+ readonly trashed: Schema.Boolean;
324
+ readonly explicitlyTrashed: Schema.Boolean;
325
+ readonly trashedTime: Schema.optionalKey<Schema.String>;
326
+ readonly parents: Schema.$Array<Schema.String>;
327
+ readonly spaces: Schema.$Array<Schema.String>;
328
+ readonly version: Schema.String;
329
+ readonly webViewLink: Schema.String;
330
+ readonly iconLink: Schema.String;
331
+ readonly hasThumbnail: Schema.Boolean;
332
+ readonly viewedByMe: Schema.Boolean;
333
+ readonly createdTime: Schema.String;
334
+ readonly modifiedTime: Schema.String;
335
+ readonly ownedByMe: Schema.Boolean;
336
+ readonly shared: Schema.Boolean;
337
+ readonly writersCanShare: Schema.Boolean;
338
+ readonly capabilities: Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>;
339
+ }>>>;
340
+ readonly impliedFolderIds: Schema.optionalKey<Schema.$Array<Schema.String>>;
341
+ }>;
342
+ type GoogleEmulatorSeed = typeof GoogleEmulatorSeed.Type;
343
+ declare const pad: (value: number, width: number) => string;
344
+ /** A minted message id: `18f`, then `d<n>` (draft) or `e<n>` (sent), zero-padded to 16. */
345
+ declare const mintedMessageId: (kind: "d" | "e", number: number) => string;
346
+ declare const mintedMessageIdPattern: RegExp;
347
+ /** A minted draft id: `r-8` and 18 digits (`r-8000000000000000001` first). */
348
+ declare const mintedDraftId: (number: number) => string;
349
+ declare const mintedEventId: (number: number) => string;
350
+ declare const mintedEventIdPattern: RegExp;
351
+ declare const mintedFolderId: (number: number) => string;
352
+ declare const mintedFolderIdPattern: RegExp;
353
+ /** The highest label number a created (minted) label id may carry: `Label_999999999`. */
354
+ declare const lastLabelNumber = 999999999;
355
+ /**
356
+ * The minted label id form, `Label_<1 to 999999999>` without leading zeros. A seeded label id of
357
+ * the `Label_<digits>` shape must have this form, so the created-label counter, which starts above
358
+ * every seeded label number, never mints an id a seed holds.
359
+ */
360
+ declare const mintedLabelIdPattern: RegExp;
361
+ /** A Gmail system label (upper case), as opposed to a user label id such as `Label_9001`. */
362
+ declare const isSystemLabel: (id: string) => boolean;
363
+ /** The practice account (`practice@example.test`) of every fixture. */
364
+ declare const googleEmulatorDefaultPracticeAddress = "practice@example.test";
365
+ /** Base64url without padding of UTF-8 text, as the fixtures encode message parts. */
366
+ declare const base64UrlOfText: (text: string) => string;
367
+ /** An event with the fixture's derived fields (`etag`, `htmlLink`, `iCalUID`). */
368
+ declare const eventFields: (id: string) => Pick<GoogleEmulatorCalendarEvent, "etag" | "htmlLink" | "iCalUID">;
369
+ /** The folder mime type Drive answers. */
370
+ declare const driveFolderMimeType = "application/vnd.google-apps.folder";
371
+ /** A Drive item with the fixture's derived and constant fields. */
372
+ declare const driveFile: (fields: {
373
+ readonly id: string;
374
+ readonly name: string;
375
+ readonly mimeType: string;
376
+ readonly parents: ReadonlyArray<string>;
377
+ readonly createdTime: string;
378
+ }) => GoogleEmulatorDriveFile;
379
+ /** Decode and build a seed; a string is the reason it is invalid. */
380
+ declare const buildSeedState: (input: unknown) => GoogleEmulatorState | string;
381
+ /** Decode a full state (a restored snapshot); a string is the reason it is invalid. */
382
+ declare const decodeState: (input: unknown) => GoogleEmulatorState | string;
383
+ //#endregion
384
+ export { GoogleEmulatorAttachment, GoogleEmulatorCalendar, GoogleEmulatorCalendarEvent, GoogleEmulatorDraft, GoogleEmulatorDriveFile, GoogleEmulatorEventBoundary, GoogleEmulatorGmailLabel, GoogleEmulatorGmailMessage, GoogleEmulatorImpliedMessage, GoogleEmulatorPracticeAddress, GoogleEmulatorProfile, GoogleEmulatorSeed, GoogleEmulatorState, GoogleEmulatorStateSchema, base64UrlOfText, buildSeedState, decodeState, driveFile, driveFolderMimeType, eventFields, googleEmulatorDefaultPracticeAddress, isSystemLabel, lastLabelNumber, mintedDraftId, mintedEventId, mintedEventIdPattern, mintedFolderId, mintedFolderIdPattern, mintedLabelIdPattern, mintedMessageId, mintedMessageIdPattern, pad };
385
+ //# sourceMappingURL=state.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.d.mts","names":[],"sources":["../../src/google/state.ts"],"mappings":"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"}