@withbuddi/buddi 0.1.0-pre.43 → 0.1.0-pre.44

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 (479) hide show
  1. package/examples/agents/agent-father/agent.md +12 -5
  2. package/examples/agents/concierge/agent.md +11 -3
  3. package/extension/icons/128.png +0 -0
  4. package/extension/icons/16.png +0 -0
  5. package/extension/icons/32.png +0 -0
  6. package/extension/icons/48.png +0 -0
  7. package/extension/manifest.json +7 -3
  8. package/node_modules/@buddi/cli/dist/.tsbuildinfo +1 -1
  9. package/node_modules/@buddi/cli/dist/access-cmd.d.ts +2 -1
  10. package/node_modules/@buddi/cli/dist/access-cmd.d.ts.map +1 -1
  11. package/node_modules/@buddi/cli/dist/access-cmd.js +40 -7
  12. package/node_modules/@buddi/cli/dist/access-cmd.js.map +1 -1
  13. package/node_modules/@buddi/cli/dist/args.d.ts +2 -1
  14. package/node_modules/@buddi/cli/dist/args.d.ts.map +1 -1
  15. package/node_modules/@buddi/cli/dist/args.js +7 -3
  16. package/node_modules/@buddi/cli/dist/args.js.map +1 -1
  17. package/node_modules/@buddi/cli/dist/commands.d.ts.map +1 -1
  18. package/node_modules/@buddi/cli/dist/commands.js +3 -2
  19. package/node_modules/@buddi/cli/dist/commands.js.map +1 -1
  20. package/node_modules/@buddi/cli/dist/main.js +1 -1
  21. package/node_modules/@buddi/cli/dist/main.js.map +1 -1
  22. package/node_modules/@buddi/cli/dist/mcp/server.js +1 -1
  23. package/node_modules/@buddi/cli/dist/mcp/server.js.map +1 -1
  24. package/node_modules/@buddi/cli/dist/mcp/tools.d.ts.map +1 -1
  25. package/node_modules/@buddi/cli/dist/mcp/tools.js +60 -0
  26. package/node_modules/@buddi/cli/dist/mcp/tools.js.map +1 -1
  27. package/node_modules/@buddi/core/dist/.tsbuildinfo +1 -1
  28. package/node_modules/@buddi/core/dist/lock.d.ts +15 -1
  29. package/node_modules/@buddi/core/dist/lock.d.ts.map +1 -1
  30. package/node_modules/@buddi/core/dist/lock.js +15 -1
  31. package/node_modules/@buddi/core/dist/lock.js.map +1 -1
  32. package/node_modules/@buddi/core/dist/pages.d.ts +75 -0
  33. package/node_modules/@buddi/core/dist/pages.d.ts.map +1 -1
  34. package/node_modules/@buddi/core/dist/pages.js +14 -0
  35. package/node_modules/@buddi/core/dist/pages.js.map +1 -1
  36. package/node_modules/@buddi/core/dist/plugin/index.d.ts +2 -2
  37. package/node_modules/@buddi/core/dist/plugin/index.d.ts.map +1 -1
  38. package/node_modules/@buddi/core/dist/plugin/index.js.map +1 -1
  39. package/node_modules/@buddi/core/dist/plugin/version.d.ts +1 -1
  40. package/node_modules/@buddi/core/dist/plugin/version.js +1 -1
  41. package/node_modules/@buddi/core/dist/provider-accounts.d.ts +32 -0
  42. package/node_modules/@buddi/core/dist/provider-accounts.d.ts.map +1 -1
  43. package/node_modules/@buddi/core/dist/provider-accounts.js +22 -0
  44. package/node_modules/@buddi/core/dist/provider-accounts.js.map +1 -1
  45. package/node_modules/@buddi/core/migrations/077_lock_background_portrait.sql +5 -0
  46. package/node_modules/@buddi/gateway/dist/.tsbuildinfo +1 -1
  47. package/node_modules/@buddi/gateway/dist/agents/owner-tools.d.ts +21 -8
  48. package/node_modules/@buddi/gateway/dist/agents/owner-tools.d.ts.map +1 -1
  49. package/node_modules/@buddi/gateway/dist/agents/owner-tools.js +201 -36
  50. package/node_modules/@buddi/gateway/dist/agents/owner-tools.js.map +1 -1
  51. package/node_modules/@buddi/gateway/dist/evals/golden.d.ts +5 -0
  52. package/node_modules/@buddi/gateway/dist/evals/golden.d.ts.map +1 -1
  53. package/node_modules/@buddi/gateway/dist/evals/golden.js +48 -0
  54. package/node_modules/@buddi/gateway/dist/evals/golden.js.map +1 -1
  55. package/node_modules/@buddi/gateway/dist/mcp/requests.d.ts +8 -2
  56. package/node_modules/@buddi/gateway/dist/mcp/requests.d.ts.map +1 -1
  57. package/node_modules/@buddi/gateway/dist/mcp/requests.js +74 -1
  58. package/node_modules/@buddi/gateway/dist/mcp/requests.js.map +1 -1
  59. package/node_modules/@buddi/gateway/dist/owner-profile-edit.d.ts +160 -0
  60. package/node_modules/@buddi/gateway/dist/owner-profile-edit.d.ts.map +1 -0
  61. package/node_modules/@buddi/gateway/dist/owner-profile-edit.js +296 -0
  62. package/node_modules/@buddi/gateway/dist/owner-profile-edit.js.map +1 -0
  63. package/node_modules/@buddi/gateway/dist/provider-accounts.d.ts.map +1 -1
  64. package/node_modules/@buddi/gateway/dist/provider-accounts.js +2 -1
  65. package/node_modules/@buddi/gateway/dist/provider-accounts.js.map +1 -1
  66. package/node_modules/@buddi/gateway/dist/web/access/cloudflare-connector.d.ts +63 -0
  67. package/node_modules/@buddi/gateway/dist/web/access/cloudflare-connector.d.ts.map +1 -0
  68. package/node_modules/@buddi/gateway/dist/web/access/cloudflare-connector.js +87 -0
  69. package/node_modules/@buddi/gateway/dist/web/access/cloudflare-connector.js.map +1 -0
  70. package/node_modules/@buddi/gateway/dist/web/access/cloudflare-setup.d.ts +39 -4
  71. package/node_modules/@buddi/gateway/dist/web/access/cloudflare-setup.d.ts.map +1 -1
  72. package/node_modules/@buddi/gateway/dist/web/access/cloudflare-setup.js +99 -11
  73. package/node_modules/@buddi/gateway/dist/web/access/cloudflare-setup.js.map +1 -1
  74. package/node_modules/@buddi/gateway/dist/web/access/cloudflare-token.js +1 -1
  75. package/node_modules/@buddi/gateway/dist/web/access/cloudflare-token.js.map +1 -1
  76. package/node_modules/@buddi/gateway/dist/web/access/index.d.ts +1 -0
  77. package/node_modules/@buddi/gateway/dist/web/access/index.d.ts.map +1 -1
  78. package/node_modules/@buddi/gateway/dist/web/access/index.js +1 -0
  79. package/node_modules/@buddi/gateway/dist/web/access/index.js.map +1 -1
  80. package/node_modules/@buddi/gateway/dist/web/api-routes.d.ts.map +1 -1
  81. package/node_modules/@buddi/gateway/dist/web/api-routes.js +18 -2
  82. package/node_modules/@buddi/gateway/dist/web/api-routes.js.map +1 -1
  83. package/node_modules/@buddi/gateway/dist/web/lock-backgrounds.d.ts +9 -0
  84. package/node_modules/@buddi/gateway/dist/web/lock-backgrounds.d.ts.map +1 -0
  85. package/node_modules/@buddi/gateway/dist/web/lock-backgrounds.js +60 -0
  86. package/node_modules/@buddi/gateway/dist/web/lock-backgrounds.js.map +1 -0
  87. package/node_modules/@buddi/gateway/dist/web/lock.d.ts +13 -1
  88. package/node_modules/@buddi/gateway/dist/web/lock.d.ts.map +1 -1
  89. package/node_modules/@buddi/gateway/dist/web/lock.js +84 -23
  90. package/node_modules/@buddi/gateway/dist/web/lock.js.map +1 -1
  91. package/node_modules/@buddi/gateway/dist/web/places.d.ts +5 -0
  92. package/node_modules/@buddi/gateway/dist/web/places.d.ts.map +1 -1
  93. package/node_modules/@buddi/gateway/dist/web/places.js +11 -4
  94. package/node_modules/@buddi/gateway/dist/web/places.js.map +1 -1
  95. package/node_modules/@buddi/gateway/dist/web/server.d.ts +3 -0
  96. package/node_modules/@buddi/gateway/dist/web/server.d.ts.map +1 -1
  97. package/node_modules/@buddi/gateway/dist/web/server.js +33 -45
  98. package/node_modules/@buddi/gateway/dist/web/server.js.map +1 -1
  99. package/node_modules/@buddi/install/dist/.tsbuildinfo +1 -1
  100. package/node_modules/@buddi/install/dist/cloudflared.d.ts +121 -0
  101. package/node_modules/@buddi/install/dist/cloudflared.d.ts.map +1 -0
  102. package/node_modules/@buddi/install/dist/cloudflared.js +451 -0
  103. package/node_modules/@buddi/install/dist/cloudflared.js.map +1 -0
  104. package/node_modules/@buddi/install/dist/index.d.ts +1 -0
  105. package/node_modules/@buddi/install/dist/index.d.ts.map +1 -1
  106. package/node_modules/@buddi/install/dist/index.js +1 -0
  107. package/node_modules/@buddi/install/dist/index.js.map +1 -1
  108. package/node_modules/@buddi/install/dist/supervisor.d.ts +6 -1
  109. package/node_modules/@buddi/install/dist/supervisor.d.ts.map +1 -1
  110. package/node_modules/@buddi/install/dist/supervisor.js +51 -5
  111. package/node_modules/@buddi/install/dist/supervisor.js.map +1 -1
  112. package/node_modules/@buddi/runtime/dist/.tsbuildinfo +1 -1
  113. package/node_modules/@buddi/tool-artifacts/dist/.tsbuildinfo +1 -1
  114. package/node_modules/@buddi/tool-browser/dist/.tsbuildinfo +1 -1
  115. package/node_modules/@buddi/tool-email/dist/.tsbuildinfo +1 -1
  116. package/node_modules/@buddi/tool-email/dist/html.d.ts +16 -0
  117. package/node_modules/@buddi/tool-email/dist/html.d.ts.map +1 -0
  118. package/node_modules/@buddi/tool-email/dist/html.js +273 -0
  119. package/node_modules/@buddi/tool-email/dist/html.js.map +1 -0
  120. package/node_modules/@buddi/tool-email/dist/imap/imapflow-client.d.ts +7 -0
  121. package/node_modules/@buddi/tool-email/dist/imap/imapflow-client.d.ts.map +1 -1
  122. package/node_modules/@buddi/tool-email/dist/imap/imapflow-client.js +53 -0
  123. package/node_modules/@buddi/tool-email/dist/imap/imapflow-client.js.map +1 -1
  124. package/node_modules/@buddi/tool-email/dist/mail.d.ts.map +1 -1
  125. package/node_modules/@buddi/tool-email/dist/mail.js +4 -0
  126. package/node_modules/@buddi/tool-email/dist/mail.js.map +1 -1
  127. package/node_modules/@buddi/tool-email/dist/pages/descriptors.d.ts.map +1 -1
  128. package/node_modules/@buddi/tool-email/dist/pages/descriptors.js +208 -176
  129. package/node_modules/@buddi/tool-email/dist/pages/descriptors.js.map +1 -1
  130. package/node_modules/@buddi/tool-email/dist/pages/index.d.ts +1 -0
  131. package/node_modules/@buddi/tool-email/dist/pages/index.d.ts.map +1 -1
  132. package/node_modules/@buddi/tool-email/dist/pages/index.js +3 -0
  133. package/node_modules/@buddi/tool-email/dist/pages/index.js.map +1 -1
  134. package/node_modules/@buddi/tool-email/dist/pages/queries.d.ts +14 -1
  135. package/node_modules/@buddi/tool-email/dist/pages/queries.d.ts.map +1 -1
  136. package/node_modules/@buddi/tool-email/dist/pages/queries.js +267 -58
  137. package/node_modules/@buddi/tool-email/dist/pages/queries.js.map +1 -1
  138. package/node_modules/@buddi/tool-email/dist/pages/thread-tools.d.ts +25 -0
  139. package/node_modules/@buddi/tool-email/dist/pages/thread-tools.d.ts.map +1 -0
  140. package/node_modules/@buddi/tool-email/dist/pages/thread-tools.js +33 -0
  141. package/node_modules/@buddi/tool-email/dist/pages/thread-tools.js.map +1 -0
  142. package/node_modules/@buddi/tool-email/dist/ports.d.ts +10 -0
  143. package/node_modules/@buddi/tool-email/dist/ports.d.ts.map +1 -1
  144. package/node_modules/@buddi/tool-email/dist/ports.js.map +1 -1
  145. package/node_modules/@buddi/tool-email/dist/retention.d.ts.map +1 -1
  146. package/node_modules/@buddi/tool-email/dist/retention.js +1 -0
  147. package/node_modules/@buddi/tool-email/dist/retention.js.map +1 -1
  148. package/node_modules/@buddi/tool-email/dist/sources/inbox-poll.d.ts.map +1 -1
  149. package/node_modules/@buddi/tool-email/dist/sources/inbox-poll.js +4 -2
  150. package/node_modules/@buddi/tool-email/dist/sources/inbox-poll.js.map +1 -1
  151. package/node_modules/@buddi/tool-email/migrations/028_reading.sql +20 -0
  152. package/node_modules/@buddi/tool-email/package.json +1 -0
  153. package/node_modules/@buddi/tool-host/dist/.tsbuildinfo +1 -1
  154. package/node_modules/@buddi/tool-mcp/dist/.tsbuildinfo +1 -1
  155. package/node_modules/@buddi/tool-memory/dist/.tsbuildinfo +1 -1
  156. package/node_modules/@buddi/tool-web/dist/.tsbuildinfo +1 -1
  157. package/node_modules/entities/LICENSE +11 -0
  158. package/node_modules/entities/decode.d.ts +1 -0
  159. package/node_modules/entities/decode.js +3 -0
  160. package/node_modules/entities/dist/commonjs/decode-codepoint.d.ts +19 -0
  161. package/node_modules/entities/dist/commonjs/decode-codepoint.d.ts.map +1 -0
  162. package/node_modules/entities/dist/commonjs/decode-codepoint.js +77 -0
  163. package/node_modules/entities/dist/commonjs/decode-codepoint.js.map +1 -0
  164. package/node_modules/entities/dist/commonjs/decode.d.ts +209 -0
  165. package/node_modules/entities/dist/commonjs/decode.d.ts.map +1 -0
  166. package/node_modules/entities/dist/commonjs/decode.js +511 -0
  167. package/node_modules/entities/dist/commonjs/decode.js.map +1 -0
  168. package/node_modules/entities/dist/commonjs/encode.d.ts +22 -0
  169. package/node_modules/entities/dist/commonjs/encode.d.ts.map +1 -0
  170. package/node_modules/entities/dist/commonjs/encode.js +73 -0
  171. package/node_modules/entities/dist/commonjs/encode.js.map +1 -0
  172. package/node_modules/entities/dist/commonjs/escape.d.ts +43 -0
  173. package/node_modules/entities/dist/commonjs/escape.d.ts.map +1 -0
  174. package/node_modules/entities/dist/commonjs/escape.js +121 -0
  175. package/node_modules/entities/dist/commonjs/escape.js.map +1 -0
  176. package/node_modules/entities/dist/commonjs/generated/decode-data-html.d.ts +2 -0
  177. package/node_modules/entities/dist/commonjs/generated/decode-data-html.d.ts.map +1 -0
  178. package/node_modules/entities/dist/commonjs/generated/decode-data-html.js +10 -0
  179. package/node_modules/entities/dist/commonjs/generated/decode-data-html.js.map +1 -0
  180. package/node_modules/entities/dist/commonjs/generated/decode-data-xml.d.ts +2 -0
  181. package/node_modules/entities/dist/commonjs/generated/decode-data-xml.d.ts.map +1 -0
  182. package/node_modules/entities/dist/commonjs/generated/decode-data-xml.js +10 -0
  183. package/node_modules/entities/dist/commonjs/generated/decode-data-xml.js.map +1 -0
  184. package/node_modules/entities/dist/commonjs/generated/encode-html.d.ts +8 -0
  185. package/node_modules/entities/dist/commonjs/generated/encode-html.d.ts.map +1 -0
  186. package/node_modules/entities/dist/commonjs/generated/encode-html.js +13 -0
  187. package/node_modules/entities/dist/commonjs/generated/encode-html.js.map +1 -0
  188. package/node_modules/entities/dist/commonjs/index.d.ts +96 -0
  189. package/node_modules/entities/dist/commonjs/index.d.ts.map +1 -0
  190. package/node_modules/entities/dist/commonjs/index.js +131 -0
  191. package/node_modules/entities/dist/commonjs/index.js.map +1 -0
  192. package/node_modules/entities/dist/commonjs/package.json +3 -0
  193. package/node_modules/entities/dist/esm/decode-codepoint.d.ts +19 -0
  194. package/node_modules/entities/dist/esm/decode-codepoint.d.ts.map +1 -0
  195. package/node_modules/entities/dist/esm/decode-codepoint.js +72 -0
  196. package/node_modules/entities/dist/esm/decode-codepoint.js.map +1 -0
  197. package/node_modules/entities/dist/esm/decode.d.ts +209 -0
  198. package/node_modules/entities/dist/esm/decode.d.ts.map +1 -0
  199. package/node_modules/entities/dist/esm/decode.js +497 -0
  200. package/node_modules/entities/dist/esm/decode.js.map +1 -0
  201. package/node_modules/entities/dist/esm/encode.d.ts +22 -0
  202. package/node_modules/entities/dist/esm/encode.d.ts.map +1 -0
  203. package/node_modules/entities/dist/esm/encode.js +69 -0
  204. package/node_modules/entities/dist/esm/encode.js.map +1 -0
  205. package/node_modules/entities/dist/esm/escape.d.ts +43 -0
  206. package/node_modules/entities/dist/esm/escape.d.ts.map +1 -0
  207. package/node_modules/entities/dist/esm/escape.js +117 -0
  208. package/node_modules/entities/dist/esm/escape.js.map +1 -0
  209. package/node_modules/entities/dist/esm/generated/decode-data-html.d.ts +2 -0
  210. package/node_modules/entities/dist/esm/generated/decode-data-html.d.ts.map +1 -0
  211. package/node_modules/entities/dist/esm/generated/decode-data-html.js +7 -0
  212. package/node_modules/entities/dist/esm/generated/decode-data-html.js.map +1 -0
  213. package/node_modules/entities/dist/esm/generated/decode-data-xml.d.ts +2 -0
  214. package/node_modules/entities/dist/esm/generated/decode-data-xml.d.ts.map +1 -0
  215. package/node_modules/entities/dist/esm/generated/decode-data-xml.js +7 -0
  216. package/node_modules/entities/dist/esm/generated/decode-data-xml.js.map +1 -0
  217. package/node_modules/entities/dist/esm/generated/encode-html.d.ts +8 -0
  218. package/node_modules/entities/dist/esm/generated/encode-html.d.ts.map +1 -0
  219. package/node_modules/entities/dist/esm/generated/encode-html.js +10 -0
  220. package/node_modules/entities/dist/esm/generated/encode-html.js.map +1 -0
  221. package/node_modules/entities/dist/esm/index.d.ts +96 -0
  222. package/node_modules/entities/dist/esm/index.d.ts.map +1 -0
  223. package/node_modules/entities/dist/esm/index.js +107 -0
  224. package/node_modules/entities/dist/esm/index.js.map +1 -0
  225. package/node_modules/entities/dist/esm/package.json +3 -0
  226. package/node_modules/entities/escape.d.ts +1 -0
  227. package/node_modules/entities/escape.js +3 -0
  228. package/node_modules/entities/package.json +118 -0
  229. package/node_modules/entities/readme.md +122 -0
  230. package/node_modules/entities/src/decode-codepoint.ts +81 -0
  231. package/node_modules/entities/src/decode.spec.ts +320 -0
  232. package/node_modules/entities/src/decode.ts +620 -0
  233. package/node_modules/entities/src/encode.spec.ts +78 -0
  234. package/node_modules/entities/src/encode.ts +77 -0
  235. package/node_modules/entities/src/escape.spec.ts +14 -0
  236. package/node_modules/entities/src/escape.ts +148 -0
  237. package/node_modules/entities/src/generated/.eslintrc.json +10 -0
  238. package/node_modules/entities/src/generated/decode-data-html.ts +8 -0
  239. package/node_modules/entities/src/generated/decode-data-xml.ts +8 -0
  240. package/node_modules/entities/src/generated/encode-html.ts +17 -0
  241. package/node_modules/entities/src/index.spec.ts +125 -0
  242. package/node_modules/entities/src/index.ts +188 -0
  243. package/node_modules/parse5/LICENSE +19 -0
  244. package/node_modules/parse5/README.md +38 -0
  245. package/node_modules/parse5/dist/cjs/common/doctype.d.ts +4 -0
  246. package/node_modules/parse5/dist/cjs/common/doctype.js +118 -0
  247. package/node_modules/parse5/dist/cjs/common/error-codes.d.ts +67 -0
  248. package/node_modules/parse5/dist/cjs/common/error-codes.js +66 -0
  249. package/node_modules/parse5/dist/cjs/common/foreign-content.d.ts +9 -0
  250. package/node_modules/parse5/dist/cjs/common/foreign-content.js +237 -0
  251. package/node_modules/parse5/dist/cjs/common/html.d.ts +289 -0
  252. package/node_modules/parse5/dist/cjs/common/html.js +528 -0
  253. package/node_modules/parse5/dist/cjs/common/token.d.ts +84 -0
  254. package/node_modules/parse5/dist/cjs/common/token.js +24 -0
  255. package/node_modules/parse5/dist/cjs/common/unicode.d.ts +42 -0
  256. package/node_modules/parse5/dist/cjs/common/unicode.js +70 -0
  257. package/node_modules/parse5/dist/cjs/index.d.ts +71 -0
  258. package/node_modules/parse5/dist/cjs/index.js +54 -0
  259. package/node_modules/parse5/dist/cjs/package.json +1 -0
  260. package/node_modules/parse5/dist/cjs/parser/formatting-element-list.d.ts +36 -0
  261. package/node_modules/parse5/dist/cjs/parser/formatting-element-list.js +114 -0
  262. package/node_modules/parse5/dist/cjs/parser/index.d.ts +221 -0
  263. package/node_modules/parse5/dist/cjs/parser/index.js +3240 -0
  264. package/node_modules/parse5/dist/cjs/parser/open-element-stack.d.ts +53 -0
  265. package/node_modules/parse5/dist/cjs/parser/open-element-stack.js +328 -0
  266. package/node_modules/parse5/dist/cjs/serializer/index.d.ts +60 -0
  267. package/node_modules/parse5/dist/cjs/serializer/index.js +172 -0
  268. package/node_modules/parse5/dist/cjs/tokenizer/index.d.ts +247 -0
  269. package/node_modules/parse5/dist/cjs/tokenizer/index.js +2714 -0
  270. package/node_modules/parse5/dist/cjs/tokenizer/preprocessor.d.ts +36 -0
  271. package/node_modules/parse5/dist/cjs/tokenizer/preprocessor.js +200 -0
  272. package/node_modules/parse5/dist/cjs/tree-adapters/default.d.ts +84 -0
  273. package/node_modules/parse5/dist/cjs/tree-adapters/default.js +176 -0
  274. package/node_modules/parse5/dist/cjs/tree-adapters/interface.d.ts +255 -0
  275. package/node_modules/parse5/dist/cjs/tree-adapters/interface.js +2 -0
  276. package/node_modules/parse5/dist/common/doctype.d.ts +4 -0
  277. package/node_modules/parse5/dist/common/doctype.js +114 -0
  278. package/node_modules/parse5/dist/common/error-codes.d.ts +67 -0
  279. package/node_modules/parse5/dist/common/error-codes.js +63 -0
  280. package/node_modules/parse5/dist/common/foreign-content.d.ts +9 -0
  281. package/node_modules/parse5/dist/common/foreign-content.js +228 -0
  282. package/node_modules/parse5/dist/common/html.d.ts +289 -0
  283. package/node_modules/parse5/dist/common/html.js +523 -0
  284. package/node_modules/parse5/dist/common/token.d.ts +84 -0
  285. package/node_modules/parse5/dist/common/token.js +20 -0
  286. package/node_modules/parse5/dist/common/unicode.d.ts +42 -0
  287. package/node_modules/parse5/dist/common/unicode.js +62 -0
  288. package/node_modules/parse5/dist/index.d.ts +71 -0
  289. package/node_modules/parse5/dist/index.js +42 -0
  290. package/node_modules/parse5/dist/parser/formatting-element-list.d.ts +36 -0
  291. package/node_modules/parse5/dist/parser/formatting-element-list.js +110 -0
  292. package/node_modules/parse5/dist/parser/index.d.ts +221 -0
  293. package/node_modules/parse5/dist/parser/index.js +3245 -0
  294. package/node_modules/parse5/dist/parser/open-element-stack.d.ts +53 -0
  295. package/node_modules/parse5/dist/parser/open-element-stack.js +324 -0
  296. package/node_modules/parse5/dist/serializer/index.d.ts +60 -0
  297. package/node_modules/parse5/dist/serializer/index.js +168 -0
  298. package/node_modules/parse5/dist/tokenizer/index.d.ts +247 -0
  299. package/node_modules/parse5/dist/tokenizer/index.js +2710 -0
  300. package/node_modules/parse5/dist/tokenizer/preprocessor.d.ts +36 -0
  301. package/node_modules/parse5/dist/tokenizer/preprocessor.js +196 -0
  302. package/node_modules/parse5/dist/tree-adapters/default.d.ts +84 -0
  303. package/node_modules/parse5/dist/tree-adapters/default.js +173 -0
  304. package/node_modules/parse5/dist/tree-adapters/interface.d.ts +255 -0
  305. package/node_modules/parse5/dist/tree-adapters/interface.js +1 -0
  306. package/node_modules/parse5/package.json +50 -0
  307. package/package.json +2 -2
  308. package/packages/cli/dist/.tsbuildinfo +1 -1
  309. package/packages/cli/dist/access-cmd.d.ts +2 -1
  310. package/packages/cli/dist/access-cmd.d.ts.map +1 -1
  311. package/packages/cli/dist/access-cmd.js +40 -7
  312. package/packages/cli/dist/access-cmd.js.map +1 -1
  313. package/packages/cli/dist/args.d.ts +2 -1
  314. package/packages/cli/dist/args.d.ts.map +1 -1
  315. package/packages/cli/dist/args.js +7 -3
  316. package/packages/cli/dist/args.js.map +1 -1
  317. package/packages/cli/dist/commands.d.ts.map +1 -1
  318. package/packages/cli/dist/commands.js +3 -2
  319. package/packages/cli/dist/commands.js.map +1 -1
  320. package/packages/cli/dist/main.js +1 -1
  321. package/packages/cli/dist/main.js.map +1 -1
  322. package/packages/cli/dist/mcp/server.js +1 -1
  323. package/packages/cli/dist/mcp/server.js.map +1 -1
  324. package/packages/cli/dist/mcp/tools.d.ts.map +1 -1
  325. package/packages/cli/dist/mcp/tools.js +60 -0
  326. package/packages/cli/dist/mcp/tools.js.map +1 -1
  327. package/packages/core/dist/.tsbuildinfo +1 -1
  328. package/packages/core/dist/lock.d.ts +15 -1
  329. package/packages/core/dist/lock.d.ts.map +1 -1
  330. package/packages/core/dist/lock.js +15 -1
  331. package/packages/core/dist/lock.js.map +1 -1
  332. package/packages/core/dist/pages.d.ts +75 -0
  333. package/packages/core/dist/pages.d.ts.map +1 -1
  334. package/packages/core/dist/pages.js +14 -0
  335. package/packages/core/dist/pages.js.map +1 -1
  336. package/packages/core/dist/plugin/index.d.ts +2 -2
  337. package/packages/core/dist/plugin/index.d.ts.map +1 -1
  338. package/packages/core/dist/plugin/index.js.map +1 -1
  339. package/packages/core/dist/plugin/version.d.ts +1 -1
  340. package/packages/core/dist/plugin/version.js +1 -1
  341. package/packages/core/dist/provider-accounts.d.ts +32 -0
  342. package/packages/core/dist/provider-accounts.d.ts.map +1 -1
  343. package/packages/core/dist/provider-accounts.js +22 -0
  344. package/packages/core/dist/provider-accounts.js.map +1 -1
  345. package/packages/core/migrations/077_lock_background_portrait.sql +5 -0
  346. package/packages/gateway/dist/.tsbuildinfo +1 -1
  347. package/packages/gateway/dist/agents/owner-tools.d.ts +21 -8
  348. package/packages/gateway/dist/agents/owner-tools.d.ts.map +1 -1
  349. package/packages/gateway/dist/agents/owner-tools.js +201 -36
  350. package/packages/gateway/dist/agents/owner-tools.js.map +1 -1
  351. package/packages/gateway/dist/evals/golden.d.ts +5 -0
  352. package/packages/gateway/dist/evals/golden.d.ts.map +1 -1
  353. package/packages/gateway/dist/evals/golden.js +48 -0
  354. package/packages/gateway/dist/evals/golden.js.map +1 -1
  355. package/packages/gateway/dist/mcp/requests.d.ts +8 -2
  356. package/packages/gateway/dist/mcp/requests.d.ts.map +1 -1
  357. package/packages/gateway/dist/mcp/requests.js +74 -1
  358. package/packages/gateway/dist/mcp/requests.js.map +1 -1
  359. package/packages/gateway/dist/owner-profile-edit.d.ts +160 -0
  360. package/packages/gateway/dist/owner-profile-edit.d.ts.map +1 -0
  361. package/packages/gateway/dist/owner-profile-edit.js +296 -0
  362. package/packages/gateway/dist/owner-profile-edit.js.map +1 -0
  363. package/packages/gateway/dist/provider-accounts.d.ts.map +1 -1
  364. package/packages/gateway/dist/provider-accounts.js +2 -1
  365. package/packages/gateway/dist/provider-accounts.js.map +1 -1
  366. package/packages/gateway/dist/web/access/cloudflare-connector.d.ts +63 -0
  367. package/packages/gateway/dist/web/access/cloudflare-connector.d.ts.map +1 -0
  368. package/packages/gateway/dist/web/access/cloudflare-connector.js +87 -0
  369. package/packages/gateway/dist/web/access/cloudflare-connector.js.map +1 -0
  370. package/packages/gateway/dist/web/access/cloudflare-setup.d.ts +39 -4
  371. package/packages/gateway/dist/web/access/cloudflare-setup.d.ts.map +1 -1
  372. package/packages/gateway/dist/web/access/cloudflare-setup.js +99 -11
  373. package/packages/gateway/dist/web/access/cloudflare-setup.js.map +1 -1
  374. package/packages/gateway/dist/web/access/cloudflare-token.js +1 -1
  375. package/packages/gateway/dist/web/access/cloudflare-token.js.map +1 -1
  376. package/packages/gateway/dist/web/access/index.d.ts +1 -0
  377. package/packages/gateway/dist/web/access/index.d.ts.map +1 -1
  378. package/packages/gateway/dist/web/access/index.js +1 -0
  379. package/packages/gateway/dist/web/access/index.js.map +1 -1
  380. package/packages/gateway/dist/web/api-routes.d.ts.map +1 -1
  381. package/packages/gateway/dist/web/api-routes.js +18 -2
  382. package/packages/gateway/dist/web/api-routes.js.map +1 -1
  383. package/packages/gateway/dist/web/lock-backgrounds.d.ts +9 -0
  384. package/packages/gateway/dist/web/lock-backgrounds.d.ts.map +1 -0
  385. package/packages/gateway/dist/web/lock-backgrounds.js +60 -0
  386. package/packages/gateway/dist/web/lock-backgrounds.js.map +1 -0
  387. package/packages/gateway/dist/web/lock.d.ts +13 -1
  388. package/packages/gateway/dist/web/lock.d.ts.map +1 -1
  389. package/packages/gateway/dist/web/lock.js +84 -23
  390. package/packages/gateway/dist/web/lock.js.map +1 -1
  391. package/packages/gateway/dist/web/places.d.ts +5 -0
  392. package/packages/gateway/dist/web/places.d.ts.map +1 -1
  393. package/packages/gateway/dist/web/places.js +11 -4
  394. package/packages/gateway/dist/web/places.js.map +1 -1
  395. package/packages/gateway/dist/web/server.d.ts +3 -0
  396. package/packages/gateway/dist/web/server.d.ts.map +1 -1
  397. package/packages/gateway/dist/web/server.js +33 -45
  398. package/packages/gateway/dist/web/server.js.map +1 -1
  399. package/packages/install/dist/.tsbuildinfo +1 -1
  400. package/packages/install/dist/cloudflared.d.ts +121 -0
  401. package/packages/install/dist/cloudflared.d.ts.map +1 -0
  402. package/packages/install/dist/cloudflared.js +451 -0
  403. package/packages/install/dist/cloudflared.js.map +1 -0
  404. package/packages/install/dist/index.d.ts +1 -0
  405. package/packages/install/dist/index.d.ts.map +1 -1
  406. package/packages/install/dist/index.js +1 -0
  407. package/packages/install/dist/index.js.map +1 -1
  408. package/packages/install/dist/supervisor.d.ts +6 -1
  409. package/packages/install/dist/supervisor.d.ts.map +1 -1
  410. package/packages/install/dist/supervisor.js +51 -5
  411. package/packages/install/dist/supervisor.js.map +1 -1
  412. package/packages/runtime/dist/.tsbuildinfo +1 -1
  413. package/packages/tools/artifacts/dist/.tsbuildinfo +1 -1
  414. package/packages/tools/browser/dist/.tsbuildinfo +1 -1
  415. package/packages/tools/email/dist/.tsbuildinfo +1 -1
  416. package/packages/tools/email/dist/html.d.ts +16 -0
  417. package/packages/tools/email/dist/html.d.ts.map +1 -0
  418. package/packages/tools/email/dist/html.js +273 -0
  419. package/packages/tools/email/dist/html.js.map +1 -0
  420. package/packages/tools/email/dist/imap/imapflow-client.d.ts +7 -0
  421. package/packages/tools/email/dist/imap/imapflow-client.d.ts.map +1 -1
  422. package/packages/tools/email/dist/imap/imapflow-client.js +53 -0
  423. package/packages/tools/email/dist/imap/imapflow-client.js.map +1 -1
  424. package/packages/tools/email/dist/mail.d.ts.map +1 -1
  425. package/packages/tools/email/dist/mail.js +4 -0
  426. package/packages/tools/email/dist/mail.js.map +1 -1
  427. package/packages/tools/email/dist/pages/descriptors.d.ts.map +1 -1
  428. package/packages/tools/email/dist/pages/descriptors.js +208 -176
  429. package/packages/tools/email/dist/pages/descriptors.js.map +1 -1
  430. package/packages/tools/email/dist/pages/index.d.ts +1 -0
  431. package/packages/tools/email/dist/pages/index.d.ts.map +1 -1
  432. package/packages/tools/email/dist/pages/index.js +3 -0
  433. package/packages/tools/email/dist/pages/index.js.map +1 -1
  434. package/packages/tools/email/dist/pages/queries.d.ts +14 -1
  435. package/packages/tools/email/dist/pages/queries.d.ts.map +1 -1
  436. package/packages/tools/email/dist/pages/queries.js +267 -58
  437. package/packages/tools/email/dist/pages/queries.js.map +1 -1
  438. package/packages/tools/email/dist/pages/thread-tools.d.ts +25 -0
  439. package/packages/tools/email/dist/pages/thread-tools.d.ts.map +1 -0
  440. package/packages/tools/email/dist/pages/thread-tools.js +33 -0
  441. package/packages/tools/email/dist/pages/thread-tools.js.map +1 -0
  442. package/packages/tools/email/dist/ports.d.ts +10 -0
  443. package/packages/tools/email/dist/ports.d.ts.map +1 -1
  444. package/packages/tools/email/dist/ports.js.map +1 -1
  445. package/packages/tools/email/dist/retention.d.ts.map +1 -1
  446. package/packages/tools/email/dist/retention.js +1 -0
  447. package/packages/tools/email/dist/retention.js.map +1 -1
  448. package/packages/tools/email/dist/sources/inbox-poll.d.ts.map +1 -1
  449. package/packages/tools/email/dist/sources/inbox-poll.js +4 -2
  450. package/packages/tools/email/dist/sources/inbox-poll.js.map +1 -1
  451. package/packages/tools/email/migrations/028_reading.sql +20 -0
  452. package/packages/tools/email/package.json +1 -0
  453. package/packages/tools/host/dist/.tsbuildinfo +1 -1
  454. package/packages/tools/mcp/dist/.tsbuildinfo +1 -1
  455. package/packages/tools/memory/dist/.tsbuildinfo +1 -1
  456. package/packages/tools/web/dist/.tsbuildinfo +1 -1
  457. package/packages/web/dist/apple-touch-icon.png +0 -0
  458. package/packages/web/dist/assets/index-C1sRt7zd.js +149 -0
  459. package/packages/web/dist/assets/index-CdZpSJ4_.css +1 -0
  460. package/packages/web/dist/assets/{lottie_light-CHWAvOde.js → lottie_light-DnYl9yaP.js} +1 -1
  461. package/packages/web/dist/backgrounds/golden-streak-portrait.jpg +0 -0
  462. package/packages/web/dist/backgrounds/golden-streak-thumb.jpg +0 -0
  463. package/packages/web/dist/backgrounds/manifest.json +18 -0
  464. package/packages/web/dist/backgrounds/peoria-autumn-waterfront-thumb.jpg +0 -0
  465. package/packages/web/dist/backgrounds/peoria-autumn-waterfront.jpg +0 -0
  466. package/packages/web/dist/build.json +1 -1
  467. package/packages/web/dist/favicon-16.png +0 -0
  468. package/packages/web/dist/favicon-32.png +0 -0
  469. package/packages/web/dist/favicon.ico +0 -0
  470. package/packages/web/dist/icon-192.png +0 -0
  471. package/packages/web/dist/icon-512.png +0 -0
  472. package/packages/web/dist/index.html +6 -3
  473. package/packages/web/dist/manifest.webmanifest +1 -1
  474. package/packages/web/dist/maskable-512.png +0 -0
  475. package/packages/web/dist/precache.json +7 -5
  476. package/packages/web/dist/assets/index-BB52n8Fa.js +0 -146
  477. package/packages/web/dist/assets/index-CY4cPN4I.css +0 -1
  478. package/packages/web/dist/favicon.png +0 -0
  479. package/packages/web/dist/icon-maskable-512.png +0 -0
@@ -0,0 +1,63 @@
1
+ /**
2
+ * The gateway's half of the connector the supervisor runs (slate R73vdX4bOO).
3
+ *
4
+ * The tunnel's connector token is an owner secret, `CLOUDFLARE_TUNNEL_TOKEN`,
5
+ * bound pre-approved to the gateway's own `access.cloudflare` destination
6
+ * (target `connector`). "Set it up for me" keeps it there; the supervisor
7
+ * reads it at each spawn and hands it to cloudflared in its environment;
8
+ * Remove forgets it.
9
+ *
10
+ * Whether the connector should run is read from the database by the
11
+ * supervisor (`cloudflareConnectorPlan`): Cloudflare Access on, a tunnel in
12
+ * the setup record, a token kept, and the owner hasn't chosen Cloudflare's
13
+ * system service instead.
14
+ *
15
+ * The setup engine and the setting's Save reach the supervisor over its
16
+ * control socket (`supervisorConnector`): `POST /connector {action}`.
17
+ */
18
+ import { type Vault } from '@buddi/core';
19
+ import type { Pool } from 'pg';
20
+ export declare const CONNECTOR_TOKEN_SECRET = "CLOUDFLARE_TUNNEL_TOKEN";
21
+ export type ConnectorState = 'running' | 'starting' | 'stopped' | 'missing-binary' | 'system-daemon';
22
+ /** What the supervisor answers on `/connector` (install's cloudflared.ts, ConnectorStatus). */
23
+ export interface ConnectorView {
24
+ state: ConnectorState;
25
+ mode: 'buddi' | 'system';
26
+ systemDaemon: string | null;
27
+ binary: {
28
+ path: string;
29
+ source: 'path' | 'downloaded';
30
+ } | null;
31
+ detail?: string | undefined;
32
+ brew?: string | undefined;
33
+ pid: number | null;
34
+ log: string;
35
+ removedBinary?: boolean | undefined;
36
+ }
37
+ /** What the setup engine needs of the connector. */
38
+ export interface ConnectorControl {
39
+ saveToken(token: string): Promise<void>;
40
+ forgetToken(): Promise<void>;
41
+ /** Ask the supervisor to match the setting now; its status after. */
42
+ sync(): Promise<ConnectorView>;
43
+ /** Stop it and delete the binary buddi downloaded. */
44
+ remove(): Promise<ConnectorView>;
45
+ }
46
+ export interface ConnectorTokenStore {
47
+ has(): Promise<boolean>;
48
+ put(value: string): Promise<void>;
49
+ use(): Promise<string | null>;
50
+ remove(): Promise<void>;
51
+ }
52
+ export declare function connectorTokenStore(pool: Pool, vault: Vault | undefined): ConnectorTokenStore;
53
+ /** Should the supervisor run the connector, and for which tunnel? */
54
+ export declare function cloudflareConnectorPlan(pool: Pool): Promise<{
55
+ wanted: boolean;
56
+ mode: 'buddi' | 'system';
57
+ tunnelId: string | null;
58
+ }>;
59
+ /** The supervisor's `/connector`, or throws when it can't be reached. */
60
+ export declare function supervisorConnector(socket: string, tokens: ConnectorTokenStore): ConnectorControl;
61
+ /** Is a supervisor answering on this socket? */
62
+ export declare function supervisorAnswers(socket: string | undefined): Promise<boolean>;
63
+ //# sourceMappingURL=cloudflare-connector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloudflare-connector.d.ts","sourceRoot":"","sources":["../../../src/web/access/cloudflare-connector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAiG,KAAK,KAAK,EAAE,MAAM,aAAa,CAAC;AACxI,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAM/B,eAAO,MAAM,sBAAsB,4BAA4B,CAAC;AAGhE,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,gBAAgB,GAAG,eAAe,CAAC;AAErG,+FAA+F;AAC/F,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,cAAc,CAAC;IACtB,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;IACzB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAAA;KAAE,GAAG,IAAI,CAAC;IAC/D,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACrC;AAED,oDAAoD;AACpD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,qEAAqE;IACrE,IAAI,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;IAC/B,sDAAsD;IACtD,MAAM,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACxB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,GAAG,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC9B,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,SAAS,GAAG,mBAAmB,CA+B7F;AAED,qEAAqE;AACrE,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAQzI;AAED,yEAAyE;AACzE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,gBAAgB,CAYjG;AAED,gDAAgD;AAChD,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAGpF"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * The gateway's half of the connector the supervisor runs (slate R73vdX4bOO).
3
+ *
4
+ * The tunnel's connector token is an owner secret, `CLOUDFLARE_TUNNEL_TOKEN`,
5
+ * bound pre-approved to the gateway's own `access.cloudflare` destination
6
+ * (target `connector`). "Set it up for me" keeps it there; the supervisor
7
+ * reads it at each spawn and hands it to cloudflared in its environment;
8
+ * Remove forgets it.
9
+ *
10
+ * Whether the connector should run is read from the database by the
11
+ * supervisor (`cloudflareConnectorPlan`): Cloudflare Access on, a tunnel in
12
+ * the setup record, a token kept, and the owner hasn't chosen Cloudflare's
13
+ * system service instead.
14
+ *
15
+ * The setup engine and the setting's Save reach the supervisor over its
16
+ * control socket (`supervisorConnector`): `POST /connector {action}`.
17
+ */
18
+ import { deleteOwnerSecret, findSecret, putOwnerSecret, readWebSetting, useOwnerSecret } from '@buddi/core';
19
+ import { supervisorCall } from '../service.js';
20
+ import { CLOUDFLARE_SETTING_KEY, toCloudflareSetting } from './cloudflare.js';
21
+ import { CLOUDFLARE_SETUP_KEY } from './cloudflare-setup.js';
22
+ import { ACCESS_CLOUDFLARE_KIND, registerCloudflareTokenDestination } from './cloudflare-token.js';
23
+ export const CONNECTOR_TOKEN_SECRET = 'CLOUDFLARE_TUNNEL_TOKEN';
24
+ const TARGET = 'connector';
25
+ export function connectorTokenStore(pool, vault) {
26
+ registerCloudflareTokenDestination();
27
+ return {
28
+ has: async () => (await findSecret(pool, CONNECTOR_TOKEN_SECRET)) !== null,
29
+ async put(value) {
30
+ if (!vault)
31
+ throw new Error('This installation has no vault, so the connector token cannot be kept.');
32
+ await putOwnerSecret(pool, vault, {
33
+ name: CONNECTOR_TOKEN_SECRET,
34
+ value: value.trim(),
35
+ bindings: [{ kind: ACCESS_CLOUDFLARE_KIND, target: TARGET, rule: 'pre-approved' }],
36
+ });
37
+ },
38
+ async use() {
39
+ let value = null;
40
+ const result = await useOwnerSecret({
41
+ pool,
42
+ vault,
43
+ plugin: 'access',
44
+ buddi: { version: '0.0', plugin: 'access' },
45
+ now: () => new Date(),
46
+ deliverInto: (delivered) => { value = delivered; },
47
+ }, { name: CONNECTOR_TOKEN_SECRET, kind: ACCESS_CLOUDFLARE_KIND, target: TARGET });
48
+ return 'done' in result ? value : null;
49
+ },
50
+ async remove() {
51
+ if (vault && (await findSecret(pool, CONNECTOR_TOKEN_SECRET)) !== null)
52
+ await deleteOwnerSecret(pool, vault, CONNECTOR_TOKEN_SECRET);
53
+ },
54
+ };
55
+ }
56
+ /** Should the supervisor run the connector, and for which tunnel? */
57
+ export async function cloudflareConnectorPlan(pool) {
58
+ const setting = toCloudflareSetting(await readWebSetting(pool, CLOUDFLARE_SETTING_KEY));
59
+ const row = await readWebSetting(pool, CLOUDFLARE_SETUP_KEY);
60
+ const record = row && typeof row === 'object' && typeof row.host === 'string' ? row : null;
61
+ const mode = record?.connector === 'system' ? 'system' : 'buddi';
62
+ const tunnelId = record?.tunnelId ?? null;
63
+ const token = tunnelId ? (await findSecret(pool, CONNECTOR_TOKEN_SECRET)) !== null : false;
64
+ return { wanted: setting.enabled && tunnelId !== null && token, mode, tunnelId };
65
+ }
66
+ /** The supervisor's `/connector`, or throws when it can't be reached. */
67
+ export function supervisorConnector(socket, tokens) {
68
+ const ask = async (action) => {
69
+ const reply = await supervisorCall(socket, '/connector', 'POST', { action }, 200_000);
70
+ if (reply.status !== 200)
71
+ throw new Error(reply.body?.error ?? `The supervisor answered ${reply.status}.`);
72
+ return reply.body;
73
+ };
74
+ return {
75
+ saveToken: (token) => tokens.put(token),
76
+ forgetToken: () => tokens.remove(),
77
+ sync: () => ask('sync'),
78
+ remove: () => ask('remove'),
79
+ };
80
+ }
81
+ /** Is a supervisor answering on this socket? */
82
+ export async function supervisorAnswers(socket) {
83
+ if (!socket?.trim())
84
+ return false;
85
+ return supervisorCall(socket, '/status', 'GET', undefined, 3_000).then((r) => r.status === 200, () => false);
86
+ }
87
+ //# sourceMappingURL=cloudflare-connector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloudflare-connector.js","sourceRoot":"","sources":["../../../src/web/access/cloudflare-connector.ts"],"names":[],"mappings":"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"}
@@ -6,9 +6,13 @@
6
6
  * `buddi-<host>`, its ingress (`<host>` → the ingress listener), a proxied
7
7
  * CNAME, a reusable Allow policy for the owner's email and a self-hosted
8
8
  * Access application for the hostname. It reads the application's AUD tag and
9
- * the team domain, fills in `access.cloudflare`, shows the one command buddi
10
- * never runs itself (`sudo cloudflared service install <token>`), waits for
11
- * the tunnel to report healthy and runs Test my setup.
9
+ * the team domain, fills in `access.cloudflare`, keeps the tunnel's connector
10
+ * token as an owner secret and asks the supervisor to run cloudflared itself
11
+ * (install's cloudflared.ts; no command to copy), waits for the tunnel to
12
+ * report healthy and runs Test my setup. A system service from an earlier
13
+ * setup (`sudo cloudflared service install`) is named, with the one line that
14
+ * removes it, or used instead when the owner says so. Without a supervisor (a
15
+ * checkout's `buddi serve`) the step falls back to the line to run by hand.
12
16
  *
13
17
  * Idempotent: the ids of what buddi made are kept in the setup record, so a
14
18
  * second run after a failure picks up where the first stopped. An object of
@@ -27,6 +31,7 @@
27
31
  */
28
32
  import type { CloudflareApi } from './cloudflare-api.js';
29
33
  import { type CloudflareAccessSetting } from './cloudflare.js';
34
+ import type { ConnectorControl, ConnectorState, ConnectorView } from './cloudflare-connector.js';
30
35
  /** Where the record of what buddi made lives (a web setting). Ids only, never a token. */
31
36
  export declare const CLOUDFLARE_SETUP_KEY = "access.cloudflare.setup";
32
37
  /** The owner secret holding the API token. */
@@ -57,12 +62,33 @@ export interface SetupInstall {
57
62
  /** What to say beside it: the brew path on a Mac, the package on Linux. */
58
63
  note: string;
59
64
  }
65
+ /** The connector the supervisor runs, as the step shows it. */
66
+ export interface SetupConnector {
67
+ state: ConnectorState;
68
+ mode: 'buddi' | 'system';
69
+ detail?: string | undefined;
70
+ /** The Homebrew line, when cloudflared is missing on a Mac with brew. */
71
+ brew?: string | undefined;
72
+ /** Cloudflare's system service is installed: the line that removes it, and why. */
73
+ systemDaemon?: {
74
+ file: string;
75
+ command: string;
76
+ why: string;
77
+ } | undefined;
78
+ /** Where cloudflared's lines go. */
79
+ log?: string | undefined;
80
+ }
81
+ /** Why a system service and buddi's own connector can't both run. */
82
+ export declare const SYSTEM_DAEMON_WHY = "Cloudflare\u2019s system service from an earlier setup is installed on this computer. Two connectors for one tunnel fight over its connections, so buddi doesn\u2019t start its own while it is there. Remove it with this line, or use it instead.";
83
+ export declare function connectorOf(view: ConnectorView, platform: NodeJS.Platform): SetupConnector;
60
84
  export interface SetupProgress {
61
85
  state: 'idle' | 'running' | 'waiting' | 'done' | 'failed' | 'stopped' | 'removing' | 'removed';
62
86
  host: string;
63
87
  email: string;
64
88
  steps: SetupStep[];
65
89
  install: SetupInstall | null;
90
+ /** The connector buddi runs (or the system service it uses), when a supervisor runs buddi. */
91
+ connector: SetupConnector | null;
66
92
  /** The sentence for a failure, a stop or a partial removal. */
67
93
  error: string | null;
68
94
  /** The address, once it is set up. */
@@ -89,6 +115,8 @@ export interface SetupRecord {
89
115
  policyId?: string | undefined;
90
116
  appId?: string | undefined;
91
117
  aud?: string | undefined;
118
+ /** Who runs the connector: buddi's supervisor (the default) or Cloudflare's system service. */
119
+ connector?: 'buddi' | 'system' | undefined;
92
120
  at: string;
93
121
  }
94
122
  export interface SetupInput {
@@ -97,6 +125,8 @@ export interface SetupInput {
97
125
  zone?: string | undefined;
98
126
  /** "Use it anyway": take over an object of buddi's name that buddi didn't make. */
99
127
  adopt?: boolean | undefined;
128
+ /** "Use Cloudflare’s system service instead": buddi starts no connector of its own. */
129
+ useSystemDaemon?: boolean | undefined;
100
130
  }
101
131
  export interface SetupDeps {
102
132
  api: CloudflareApi;
@@ -123,6 +153,11 @@ export interface SetupDeps {
123
153
  * its first await). Without one, the run claims its own and lets it go.
124
154
  */
125
155
  lease?: SetupLease | undefined;
156
+ /**
157
+ * The supervisor's connector. Absent (a checkout's `buddi serve`, a CLI
158
+ * with no supervisor answering), the step shows the line to run by hand.
159
+ */
160
+ connector?: ConnectorControl | undefined;
126
161
  }
127
162
  export type SetupOperation = 'setup' | 'remove';
128
163
  export interface SetupLease {
@@ -155,7 +190,7 @@ export declare function runCloudflareSetup(input: SetupInput, deps: SetupDeps, o
155
190
  * what is left. Turns signing in through Cloudflare off when the setting is
156
191
  * the one setup filled in, and forgets the record. Never throws.
157
192
  */
158
- export declare function removeCloudflareSetup(deps: Pick<SetupDeps, 'api' | 'platform' | 'readSetting' | 'saveSetting' | 'readRecord' | 'saveRecord' | 'lease'> & {
193
+ export declare function removeCloudflareSetup(deps: Pick<SetupDeps, 'api' | 'platform' | 'readSetting' | 'saveSetting' | 'readRecord' | 'saveRecord' | 'lease' | 'connector'> & {
159
194
  host?: string | undefined;
160
195
  }, onProgress?: (p: SetupProgress) => void): Promise<SetupProgress>;
161
196
  /** "a, b and c". */
@@ -1 +1 @@
1
- {"version":3,"file":"cloudflare-setup.d.ts","sourceRoot":"","sources":["../../../src/web/access/cloudflare-setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cloudflare-setup.d.ts","sourceRoot":"","sources":["../../../src/web/access/cloudflare-setup.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,18 @@ const ownsRecord = (r) => (r.comment ?? '').startsWith('Made by buddi');
15
15
  /** How often the tunnel's health is asked, and for how long. */
16
16
  export const HEALTH_POLL_MS = 5_000;
17
17
  export const HEALTH_WAIT_MS = 30 * 60_000;
18
+ /** Why a system service and buddi's own connector can't both run. */
19
+ export const SYSTEM_DAEMON_WHY = 'Cloudflare’s system service from an earlier setup is installed on this computer. Two connectors for one tunnel fight over its connections, so buddi doesn’t start its own while it is there. Remove it with this line, or use it instead.';
20
+ export function connectorOf(view, platform) {
21
+ return {
22
+ state: view.state,
23
+ mode: view.mode,
24
+ ...(view.detail ? { detail: view.detail } : {}),
25
+ ...(view.brew ? { brew: view.brew } : {}),
26
+ ...(view.systemDaemon ? { systemDaemon: { file: view.systemDaemon, command: uninstallFor(platform), why: SYSTEM_DAEMON_WHY } } : {}),
27
+ log: view.log,
28
+ };
29
+ }
18
30
  /** In this process, the one setup or removal going, or null. */
19
31
  let operation = null;
20
32
  /** Claim the one operation slot, synchronously; null when another holds it. */
@@ -80,7 +92,7 @@ const LABELS = {
80
92
  dns: 'Adding the DNS record',
81
93
  access: 'Creating the Access application',
82
94
  save: 'Filling in buddi’s settings',
83
- connector: 'Install the connector',
95
+ connector: 'Starting the connector…',
84
96
  healthy: 'Waiting for the tunnel to connect',
85
97
  test: 'Testing the setup',
86
98
  };
@@ -89,7 +101,7 @@ export function freshProgress(host = '', email = '') {
89
101
  return {
90
102
  state: 'idle', host, email,
91
103
  steps: ORDER.map((id) => ({ id, state: 'next', text: LABELS[id] })),
92
- install: null, error: null, url: null, removed: [], uninstall: null, adoptable: false,
104
+ install: null, connector: null, error: null, url: null, removed: [], uninstall: null, adoptable: false,
93
105
  };
94
106
  }
95
107
  function sentence(error) {
@@ -284,12 +296,53 @@ async function setupRun(input, deps, onProgress) {
284
296
  throw new SetupError(checked.error);
285
297
  await deps.saveSetting(checked.value);
286
298
  finish('save', 'buddi’s settings filled in');
287
- // 7. The one command buddi does not run.
299
+ // 7. The connector: the supervisor runs it, or (no supervisor) the owner does.
288
300
  at('connector');
289
- p.install = installFor(await api.tunnelToken(accountId, tunnel.id), deps.platform);
301
+ const connectorToken = await api.tunnelToken(accountId, tunnel.id);
302
+ if (!CONNECTOR_TOKEN.test(connectorToken))
303
+ throw new CloudflareApiError('Cloudflare answered without the tunnel’s connector token.', 200, []);
304
+ const control = deps.connector;
305
+ const systemMode = input.useSystemDaemon === true;
306
+ let view = null;
307
+ const look = async () => {
308
+ if (!control)
309
+ return;
310
+ try {
311
+ view = await control.sync();
312
+ }
313
+ catch {
314
+ view = null;
315
+ }
316
+ p.connector = view ? connectorOf(view, deps.platform) : null;
317
+ const s = step('connector');
318
+ if (s.state === 'done')
319
+ return;
320
+ const v = view;
321
+ s.text = !v ? 'Starting the connector… (buddi’s supervisor isn’t answering)'
322
+ : v.mode === 'system' ? 'Using Cloudflare’s system service'
323
+ : v.state === 'running' ? 'Connector running'
324
+ : v.state === 'missing-binary' ? 'cloudflared isn’t on this computer'
325
+ : v.state === 'system-daemon' ? 'Cloudflare’s system service is in the way'
326
+ : 'Starting the connector…';
327
+ if (v?.state === 'running' && v.mode === 'buddi')
328
+ finish('connector', 'Connector running');
329
+ };
330
+ if (control) {
331
+ record.connector = systemMode ? 'system' : 'buddi';
332
+ await deps.saveRecord(record);
333
+ await control.saveToken(connectorToken);
334
+ // The system service runs whatever token it was installed with: the line, should it be another tunnel's.
335
+ if (systemMode)
336
+ p.install = { ...installFor(connectorToken, deps.platform), note: 'Only if the system service runs another tunnel: uninstall it (sudo cloudflared service uninstall), then install it again with this line.' };
337
+ await look();
338
+ }
339
+ else {
340
+ step('connector').text = 'Install the connector';
341
+ p.install = installFor(connectorToken, deps.platform);
342
+ }
290
343
  p.state = 'waiting';
291
344
  emit();
292
- // 8. Wait for cloudflared to connect.
345
+ // 8. Wait for the tunnel to connect.
293
346
  const deadline = now().getTime() + (deps.waitMs ?? HEALTH_WAIT_MS);
294
347
  let healthy = false;
295
348
  let first = true;
@@ -307,19 +360,37 @@ async function setupRun(input, deps, onProgress) {
307
360
  if (now().getTime() >= deadline)
308
361
  break;
309
362
  await sleep(deps.pollMs ?? HEALTH_POLL_MS, deps.signal);
363
+ if (!deps.signal?.aborted && control) {
364
+ await look();
365
+ emit();
366
+ }
310
367
  }
311
368
  if (!healthy) {
312
369
  if (deps.signal?.aborted) {
313
370
  p.state = 'stopped';
314
- p.error = 'Stopped waiting. Everything buddi made stays; run the command, then Set it up again to finish.';
371
+ p.error = control
372
+ ? 'Stopped waiting. Everything buddi made stays; Set it up again to finish.'
373
+ : 'Stopped waiting. Everything buddi made stays; run the command, then Set it up again to finish.';
315
374
  emit();
316
375
  return p;
317
376
  }
318
- current = 'healthy';
319
- throw new SetupError('The tunnel hasn’t connected yet. Run the command above on this computer, then try again.');
377
+ const v = view;
378
+ current = !control || v?.state === 'running' || v?.mode === 'system' ? 'healthy' : 'connector';
379
+ if (!control)
380
+ throw new SetupError('The tunnel hasn’t connected yet. Run the command above on this computer, then try again.');
381
+ if (!v)
382
+ throw new SetupError('buddi’s supervisor didn’t answer, so the connector isn’t running. Restart buddi, then Set it up again.');
383
+ if (v.mode === 'system')
384
+ throw new SetupError('The tunnel hasn’t connected through Cloudflare’s system service. Check that it runs this tunnel’s token, then Set it up again.');
385
+ if (v.state === 'system-daemon')
386
+ throw new SetupError('Cloudflare’s system service is still installed. Remove it (sudo cloudflared service uninstall) or use it instead, then Set it up again.');
387
+ if (v.state === 'missing-binary')
388
+ throw new SetupError(`cloudflared isn’t on this computer and buddi couldn’t download it. ${v.brew ? `Run ${v.brew}` : 'Install it from Cloudflare’s downloads page'}, then Set it up again.`);
389
+ throw new SetupError('The tunnel hasn’t connected yet. cloudflared’s own lines are in logs/cloudflared.log in buddi’s data folder.');
320
390
  }
321
- finish('connector', 'Connector installed');
322
- finish('healthy', 'Tunnel connected');
391
+ const v = view;
392
+ finish('connector', !control ? 'Connector installed' : v?.mode === 'system' ? 'Cloudflare’s system service connected' : 'Connector running');
393
+ finish('healthy', 'Connected');
323
394
  // 9. Test my setup.
324
395
  at('test');
325
396
  const tested = await deps.test(teamDomain);
@@ -403,6 +474,22 @@ async function removeRun(deps, onProgress) {
403
474
  record[key] = undefined;
404
475
  await deps.saveRecord(record).catch(() => undefined);
405
476
  };
477
+ // The connector first: its token forgotten (so nothing starts it again), the child stopped, a downloaded cloudflared deleted.
478
+ let systemDaemon = !deps.connector;
479
+ if (deps.connector) {
480
+ try {
481
+ await deps.connector.forgetToken();
482
+ const view = await deps.connector.remove();
483
+ if (view.removedBinary) {
484
+ p.removed.push('the cloudflared buddi downloaded');
485
+ emit();
486
+ }
487
+ systemDaemon = view.systemDaemon !== null;
488
+ }
489
+ catch {
490
+ failures.push('buddi’s connector could not be stopped; restart buddi to stop it.');
491
+ }
492
+ }
406
493
  const account = record.accountId;
407
494
  const zone = record.zone.id;
408
495
  await attempt('the Access application', 'appId', (id) => api.deleteApp(account, id));
@@ -422,7 +509,8 @@ async function removeRun(deps, onProgress) {
422
509
  if (failures.length === 0)
423
510
  await deps.saveRecord(null).catch(() => undefined);
424
511
  p.state = 'removed';
425
- p.uninstall = uninstallFor(deps.platform);
512
+ // Cloudflare's system service is the owner's to remove: buddi never runs sudo.
513
+ p.uninstall = systemDaemon ? uninstallFor(deps.platform) : null;
426
514
  p.error = failures.length ? `Some of it is still there. ${failures.join(' ')} Try Remove again.` : null;
427
515
  emit();
428
516
  return p;
@@ -1 +1 @@
1
- {"version":3,"file":"cloudflare-setup.js","sourceRoot":"","sources":["../../../src/web/access/cloudflare-setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cloudflare-setup.js","sourceRoot":"","sources":["../../../src/web/access/cloudflare-setup.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ export function registerCloudflareTokenDestination() {
21
21
  registerSecretDestination('access', {
22
22
  kind: ACCESS_CLOUDFLARE_KIND,
23
23
  maxRule: 'pre-approved',
24
- checkTarget: (target) => target === TARGET,
24
+ checkTarget: (target) => target === TARGET || target === 'connector',
25
25
  describe: () => 'Cloudflare setup (Settings → Sign in from elsewhere)',
26
26
  deliver() {
27
27
  throw new Error('access.cloudflare delivers through the gateway itself, never through a destination');
@@ -1 +1 @@
1
- {"version":3,"file":"cloudflare-token.js","sourceRoot":"","sources":["../../../src/web/access/cloudflare-token.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cloudflare-token.js","sourceRoot":"","sources":["../../../src/web/access/cloudflare-token.ts"],"names":[],"mappings":"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"}
@@ -6,4 +6,5 @@ export * from './cloudflare.js';
6
6
  export * from './cloudflare-api.js';
7
7
  export * from './cloudflare-setup.js';
8
8
  export * from './cloudflare-token.js';
9
+ export * from './cloudflare-connector.js';
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/web/access/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/web/access/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC"}
@@ -6,4 +6,5 @@ export * from './cloudflare.js';
6
6
  export * from './cloudflare-api.js';
7
7
  export * from './cloudflare-setup.js';
8
8
  export * from './cloudflare-token.js';
9
+ export * from './cloudflare-connector.js';
9
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/web/access/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/web/access/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"api-routes.d.ts","sourceRoot":"","sources":["../../src/web/api-routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEpE,gDAAgD;AAChD,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAExE,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,SAAS,CAAC;IAClB,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;OAGG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,8EAA8E;IAC9E,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,yDAAyD;IACzD,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAED,qGAAqG;AACrG,eAAO,MAAM,cAAc;;;;;;;;CAQjB,CAAC;AACX,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,cAAc,CAAC;AAEvD,6CAA6C;AAC7C,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;CAuBZ,CAAC;AACX,MAAM,MAAM,OAAO,GAAG,MAAM,OAAO,SAAS,CAAC;AAK7C,eAAO,MAAM,UAAU,EAAE,SAAS,QAAQ,EAi4BzC,CAAC;AAYF;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CASpF;AAMD,wBAAgB,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAI9C;AAkDD,+EAA+E;AAC/E,wBAAgB,kBAAkB,CAAC,MAAM,GAAE,SAAS,QAAQ,EAAe,EAAE,KAAK,GAAE,MAAkB,GAAG,MAAM,CAuC9G;AAED,oFAAoF;AACpF,eAAO,MAAM,SAAS,q/NAoJrB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAmUtD,CAAC"}
1
+ {"version":3,"file":"api-routes.d.ts","sourceRoot":"","sources":["../../src/web/api-routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEpE,gDAAgD;AAChD,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAExE,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,SAAS,CAAC;IAClB,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;OAGG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,8EAA8E;IAC9E,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,yDAAyD;IACzD,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAED,qGAAqG;AACrG,eAAO,MAAM,cAAc;;;;;;;;CAQjB,CAAC;AACX,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,cAAc,CAAC;AAEvD,6CAA6C;AAC7C,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;CAuBZ,CAAC;AACX,MAAM,MAAM,OAAO,GAAG,MAAM,OAAO,SAAS,CAAC;AAK7C,eAAO,MAAM,UAAU,EAAE,SAAS,QAAQ,EA84BzC,CAAC;AAYF;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CASpF;AAMD,wBAAgB,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAI9C;AAkDD,+EAA+E;AAC/E,wBAAgB,kBAAkB,CAAC,MAAM,GAAE,SAAS,QAAQ,EAAe,EAAE,KAAK,GAAE,MAAkB,GAAG,MAAM,CAuC9G;AAED,oFAAoF;AACpF,eAAO,MAAM,SAAS,q/NAoJrB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAsUtD,CAAC"}