@withbuddi/buddi 0.1.0-pre.36 → 0.1.0-pre.38

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 (975) hide show
  1. package/examples/agents/concierge/agent.md +5 -0
  2. package/examples/skills/letterhead/SKILL.md +21 -0
  3. package/examples/skills/letterhead/assets/letterhead.md +16 -0
  4. package/examples/skills/letterhead/assets/logo.svg +6 -0
  5. package/extension/background.js +130 -12
  6. package/extension/manifest.json +2 -2
  7. package/node_modules/@buddi/cli/dist/.tsbuildinfo +1 -1
  8. package/node_modules/@buddi/cli/dist/access-cmd.d.ts +10 -0
  9. package/node_modules/@buddi/cli/dist/access-cmd.d.ts.map +1 -0
  10. package/node_modules/@buddi/cli/dist/access-cmd.js +160 -0
  11. package/node_modules/@buddi/cli/dist/access-cmd.js.map +1 -0
  12. package/node_modules/@buddi/cli/dist/args.d.ts +10 -0
  13. package/node_modules/@buddi/cli/dist/args.d.ts.map +1 -1
  14. package/node_modules/@buddi/cli/dist/args.js +29 -1
  15. package/node_modules/@buddi/cli/dist/args.js.map +1 -1
  16. package/node_modules/@buddi/cli/dist/commands.d.ts.map +1 -1
  17. package/node_modules/@buddi/cli/dist/commands.js +28 -2
  18. package/node_modules/@buddi/cli/dist/commands.js.map +1 -1
  19. package/node_modules/@buddi/cli/dist/doctor-probes.d.ts.map +1 -1
  20. package/node_modules/@buddi/cli/dist/doctor-probes.js +90 -30
  21. package/node_modules/@buddi/cli/dist/doctor-probes.js.map +1 -1
  22. package/node_modules/@buddi/cli/dist/doctor.d.ts +61 -12
  23. package/node_modules/@buddi/cli/dist/doctor.d.ts.map +1 -1
  24. package/node_modules/@buddi/cli/dist/doctor.js +60 -9
  25. package/node_modules/@buddi/cli/dist/doctor.js.map +1 -1
  26. package/node_modules/@buddi/cli/dist/main.d.ts +2 -0
  27. package/node_modules/@buddi/cli/dist/main.d.ts.map +1 -1
  28. package/node_modules/@buddi/cli/dist/main.js +18 -1
  29. package/node_modules/@buddi/cli/dist/main.js.map +1 -1
  30. package/node_modules/@buddi/core/dist/.tsbuildinfo +1 -1
  31. package/node_modules/@buddi/core/dist/actions/approvals.d.ts +7 -0
  32. package/node_modules/@buddi/core/dist/actions/approvals.d.ts.map +1 -1
  33. package/node_modules/@buddi/core/dist/actions/approvals.js +11 -1
  34. package/node_modules/@buddi/core/dist/actions/approvals.js.map +1 -1
  35. package/node_modules/@buddi/core/dist/agents/catalog.d.ts +2 -0
  36. package/node_modules/@buddi/core/dist/agents/catalog.d.ts.map +1 -1
  37. package/node_modules/@buddi/core/dist/agents/catalog.js +3 -2
  38. package/node_modules/@buddi/core/dist/agents/catalog.js.map +1 -1
  39. package/node_modules/@buddi/core/dist/agents/edit.d.ts +2 -0
  40. package/node_modules/@buddi/core/dist/agents/edit.d.ts.map +1 -1
  41. package/node_modules/@buddi/core/dist/agents/edit.js +3 -1
  42. package/node_modules/@buddi/core/dist/agents/edit.js.map +1 -1
  43. package/node_modules/@buddi/core/dist/agents/frontmatter.d.ts +11 -0
  44. package/node_modules/@buddi/core/dist/agents/frontmatter.d.ts.map +1 -1
  45. package/node_modules/@buddi/core/dist/agents/frontmatter.js +7 -0
  46. package/node_modules/@buddi/core/dist/agents/frontmatter.js.map +1 -1
  47. package/node_modules/@buddi/core/dist/agents/skills.d.ts +60 -1
  48. package/node_modules/@buddi/core/dist/agents/skills.d.ts.map +1 -1
  49. package/node_modules/@buddi/core/dist/agents/skills.js +157 -17
  50. package/node_modules/@buddi/core/dist/agents/skills.js.map +1 -1
  51. package/node_modules/@buddi/core/dist/day-month.d.ts +52 -0
  52. package/node_modules/@buddi/core/dist/day-month.d.ts.map +1 -0
  53. package/node_modules/@buddi/core/dist/day-month.js +101 -0
  54. package/node_modules/@buddi/core/dist/day-month.js.map +1 -0
  55. package/node_modules/@buddi/core/dist/host/build.d.ts +11 -2
  56. package/node_modules/@buddi/core/dist/host/build.d.ts.map +1 -1
  57. package/node_modules/@buddi/core/dist/host/build.js +115 -4
  58. package/node_modules/@buddi/core/dist/host/build.js.map +1 -1
  59. package/node_modules/@buddi/core/dist/host/http.d.ts +35 -0
  60. package/node_modules/@buddi/core/dist/host/http.d.ts.map +1 -1
  61. package/node_modules/@buddi/core/dist/host/http.js +133 -29
  62. package/node_modules/@buddi/core/dist/host/http.js.map +1 -1
  63. package/node_modules/@buddi/core/dist/host/types.d.ts +72 -1
  64. package/node_modules/@buddi/core/dist/host/types.d.ts.map +1 -1
  65. package/node_modules/@buddi/core/dist/index.d.ts +3 -0
  66. package/node_modules/@buddi/core/dist/index.d.ts.map +1 -1
  67. package/node_modules/@buddi/core/dist/index.js +3 -0
  68. package/node_modules/@buddi/core/dist/index.js.map +1 -1
  69. package/node_modules/@buddi/core/dist/onboarding/store.d.ts.map +1 -1
  70. package/node_modules/@buddi/core/dist/onboarding/store.js +28 -5
  71. package/node_modules/@buddi/core/dist/onboarding/store.js.map +1 -1
  72. package/node_modules/@buddi/core/dist/onboarding/types.d.ts +10 -0
  73. package/node_modules/@buddi/core/dist/onboarding/types.d.ts.map +1 -1
  74. package/node_modules/@buddi/core/dist/onboarding/types.js.map +1 -1
  75. package/node_modules/@buddi/core/dist/pages.d.ts +145 -11
  76. package/node_modules/@buddi/core/dist/pages.d.ts.map +1 -1
  77. package/node_modules/@buddi/core/dist/pages.js +113 -5
  78. package/node_modules/@buddi/core/dist/pages.js.map +1 -1
  79. package/node_modules/@buddi/core/dist/plugin/index.d.ts +7 -0
  80. package/node_modules/@buddi/core/dist/plugin/index.d.ts.map +1 -1
  81. package/node_modules/@buddi/core/dist/plugin/index.js +5 -0
  82. package/node_modules/@buddi/core/dist/plugin/index.js.map +1 -1
  83. package/node_modules/@buddi/core/dist/plugin/sign-in.d.ts +78 -0
  84. package/node_modules/@buddi/core/dist/plugin/sign-in.d.ts.map +1 -0
  85. package/node_modules/@buddi/core/dist/plugin/sign-in.js +54 -0
  86. package/node_modules/@buddi/core/dist/plugin/sign-in.js.map +1 -0
  87. package/node_modules/@buddi/core/dist/plugin/version.d.ts +1 -1
  88. package/node_modules/@buddi/core/dist/plugin/version.js +1 -1
  89. package/node_modules/@buddi/core/dist/provider-accounts.d.ts +7 -0
  90. package/node_modules/@buddi/core/dist/provider-accounts.d.ts.map +1 -1
  91. package/node_modules/@buddi/core/dist/provider-accounts.js +15 -0
  92. package/node_modules/@buddi/core/dist/provider-accounts.js.map +1 -1
  93. package/node_modules/@buddi/core/dist/questions/store.d.ts +12 -0
  94. package/node_modules/@buddi/core/dist/questions/store.d.ts.map +1 -1
  95. package/node_modules/@buddi/core/dist/questions/store.js +11 -1
  96. package/node_modules/@buddi/core/dist/questions/store.js.map +1 -1
  97. package/node_modules/@buddi/core/dist/questions/types.d.ts +9 -1
  98. package/node_modules/@buddi/core/dist/questions/types.d.ts.map +1 -1
  99. package/node_modules/@buddi/core/dist/questions/types.js +16 -1
  100. package/node_modules/@buddi/core/dist/questions/types.js.map +1 -1
  101. package/node_modules/@buddi/core/dist/queue/jobs.d.ts +65 -2
  102. package/node_modules/@buddi/core/dist/queue/jobs.d.ts.map +1 -1
  103. package/node_modules/@buddi/core/dist/queue/jobs.js +123 -3
  104. package/node_modules/@buddi/core/dist/queue/jobs.js.map +1 -1
  105. package/node_modules/@buddi/core/dist/queue/worker.d.ts +26 -2
  106. package/node_modules/@buddi/core/dist/queue/worker.d.ts.map +1 -1
  107. package/node_modules/@buddi/core/dist/queue/worker.js +68 -12
  108. package/node_modules/@buddi/core/dist/queue/worker.js.map +1 -1
  109. package/node_modules/@buddi/core/dist/registry.d.ts +15 -1
  110. package/node_modules/@buddi/core/dist/registry.d.ts.map +1 -1
  111. package/node_modules/@buddi/core/dist/registry.js +88 -13
  112. package/node_modules/@buddi/core/dist/registry.js.map +1 -1
  113. package/node_modules/@buddi/core/dist/routes.d.ts +153 -0
  114. package/node_modules/@buddi/core/dist/routes.d.ts.map +1 -0
  115. package/node_modules/@buddi/core/dist/routes.js +47 -0
  116. package/node_modules/@buddi/core/dist/routes.js.map +1 -0
  117. package/node_modules/@buddi/core/dist/scheduler/missions.d.ts +5 -3
  118. package/node_modules/@buddi/core/dist/scheduler/missions.d.ts.map +1 -1
  119. package/node_modules/@buddi/core/dist/scheduler/missions.js +9 -7
  120. package/node_modules/@buddi/core/dist/scheduler/missions.js.map +1 -1
  121. package/node_modules/@buddi/core/dist/scheduler/types.d.ts +7 -0
  122. package/node_modules/@buddi/core/dist/scheduler/types.d.ts.map +1 -1
  123. package/node_modules/@buddi/core/dist/scheduler/types.js +1 -0
  124. package/node_modules/@buddi/core/dist/scheduler/types.js.map +1 -1
  125. package/node_modules/@buddi/core/dist/secrets/scrub.d.ts.map +1 -1
  126. package/node_modules/@buddi/core/dist/secrets/scrub.js +15 -0
  127. package/node_modules/@buddi/core/dist/secrets/scrub.js.map +1 -1
  128. package/node_modules/@buddi/core/dist/tools.d.ts +88 -2
  129. package/node_modules/@buddi/core/dist/tools.d.ts.map +1 -1
  130. package/node_modules/@buddi/core/dist/tools.js.map +1 -1
  131. package/node_modules/@buddi/core/dist/views.d.ts +12 -12
  132. package/node_modules/@buddi/core/dist/widgets.d.ts +14 -1
  133. package/node_modules/@buddi/core/dist/widgets.d.ts.map +1 -1
  134. package/node_modules/@buddi/core/dist/widgets.js +30 -0
  135. package/node_modules/@buddi/core/dist/widgets.js.map +1 -1
  136. package/node_modules/@buddi/core/migrations/074_owner_identity.sql +14 -0
  137. package/node_modules/@buddi/core/migrations/075_access_providers.sql +43 -0
  138. package/node_modules/@buddi/core/migrations/076_mission_browser.sql +7 -0
  139. package/node_modules/@buddi/gateway/dist/.tsbuildinfo +1 -1
  140. package/node_modules/@buddi/gateway/dist/agents/canvas.d.ts +12 -12
  141. package/node_modules/@buddi/gateway/dist/agents/catalog.d.ts.map +1 -1
  142. package/node_modules/@buddi/gateway/dist/agents/catalog.js +3 -3
  143. package/node_modules/@buddi/gateway/dist/agents/catalog.js.map +1 -1
  144. package/node_modules/@buddi/gateway/dist/agents/catalogue-package.d.ts +46 -20
  145. package/node_modules/@buddi/gateway/dist/agents/catalogue-package.d.ts.map +1 -1
  146. package/node_modules/@buddi/gateway/dist/agents/catalogue-package.js +17 -4
  147. package/node_modules/@buddi/gateway/dist/agents/catalogue-package.js.map +1 -1
  148. package/node_modules/@buddi/gateway/dist/agents/delegation.d.ts +10 -0
  149. package/node_modules/@buddi/gateway/dist/agents/delegation.d.ts.map +1 -1
  150. package/node_modules/@buddi/gateway/dist/agents/delegation.js +1 -0
  151. package/node_modules/@buddi/gateway/dist/agents/delegation.js.map +1 -1
  152. package/node_modules/@buddi/gateway/dist/agents/owner-tools.d.ts.map +1 -1
  153. package/node_modules/@buddi/gateway/dist/agents/owner-tools.js +36 -2
  154. package/node_modules/@buddi/gateway/dist/agents/owner-tools.js.map +1 -1
  155. package/node_modules/@buddi/gateway/dist/agents/platform-catalogue.d.ts +26 -1
  156. package/node_modules/@buddi/gateway/dist/agents/platform-catalogue.d.ts.map +1 -1
  157. package/node_modules/@buddi/gateway/dist/agents/platform-catalogue.js +123 -6
  158. package/node_modules/@buddi/gateway/dist/agents/platform-catalogue.js.map +1 -1
  159. package/node_modules/@buddi/gateway/dist/agents/platform.d.ts +4 -4
  160. package/node_modules/@buddi/gateway/dist/agents/platform.d.ts.map +1 -1
  161. package/node_modules/@buddi/gateway/dist/agents/platform.js +11 -0
  162. package/node_modules/@buddi/gateway/dist/agents/platform.js.map +1 -1
  163. package/node_modules/@buddi/gateway/dist/bootstrap.d.ts.map +1 -1
  164. package/node_modules/@buddi/gateway/dist/bootstrap.js +12 -1
  165. package/node_modules/@buddi/gateway/dist/bootstrap.js.map +1 -1
  166. package/node_modules/@buddi/gateway/dist/browser-host.d.ts +30 -1
  167. package/node_modules/@buddi/gateway/dist/browser-host.d.ts.map +1 -1
  168. package/node_modules/@buddi/gateway/dist/browser-host.js +56 -1
  169. package/node_modules/@buddi/gateway/dist/browser-host.js.map +1 -1
  170. package/node_modules/@buddi/gateway/dist/chat/session.d.ts.map +1 -1
  171. package/node_modules/@buddi/gateway/dist/chat/session.js +9 -5
  172. package/node_modules/@buddi/gateway/dist/chat/session.js.map +1 -1
  173. package/node_modules/@buddi/gateway/dist/evals/golden.d.ts +33 -1
  174. package/node_modules/@buddi/gateway/dist/evals/golden.d.ts.map +1 -1
  175. package/node_modules/@buddi/gateway/dist/evals/golden.js +168 -3
  176. package/node_modules/@buddi/gateway/dist/evals/golden.js.map +1 -1
  177. package/node_modules/@buddi/gateway/dist/index.d.ts +3 -1
  178. package/node_modules/@buddi/gateway/dist/index.d.ts.map +1 -1
  179. package/node_modules/@buddi/gateway/dist/index.js +3 -1
  180. package/node_modules/@buddi/gateway/dist/index.js.map +1 -1
  181. package/node_modules/@buddi/gateway/dist/missions/dates.d.ts +98 -0
  182. package/node_modules/@buddi/gateway/dist/missions/dates.d.ts.map +1 -0
  183. package/node_modules/@buddi/gateway/dist/missions/dates.js +252 -0
  184. package/node_modules/@buddi/gateway/dist/missions/dates.js.map +1 -0
  185. package/node_modules/@buddi/gateway/dist/missions/execute.d.ts +42 -1
  186. package/node_modules/@buddi/gateway/dist/missions/execute.d.ts.map +1 -1
  187. package/node_modules/@buddi/gateway/dist/missions/execute.js +107 -8
  188. package/node_modules/@buddi/gateway/dist/missions/execute.js.map +1 -1
  189. package/node_modules/@buddi/gateway/dist/missions/parked.d.ts +133 -0
  190. package/node_modules/@buddi/gateway/dist/missions/parked.d.ts.map +1 -0
  191. package/node_modules/@buddi/gateway/dist/missions/parked.js +249 -0
  192. package/node_modules/@buddi/gateway/dist/missions/parked.js.map +1 -0
  193. package/node_modules/@buddi/gateway/dist/missions/report.d.ts.map +1 -1
  194. package/node_modules/@buddi/gateway/dist/missions/report.js +1 -0
  195. package/node_modules/@buddi/gateway/dist/missions/report.js.map +1 -1
  196. package/node_modules/@buddi/gateway/dist/ollama-local.d.ts +90 -0
  197. package/node_modules/@buddi/gateway/dist/ollama-local.d.ts.map +1 -0
  198. package/node_modules/@buddi/gateway/dist/ollama-local.js +201 -0
  199. package/node_modules/@buddi/gateway/dist/ollama-local.js.map +1 -0
  200. package/node_modules/@buddi/gateway/dist/plugins-cli.d.ts +8 -0
  201. package/node_modules/@buddi/gateway/dist/plugins-cli.d.ts.map +1 -1
  202. package/node_modules/@buddi/gateway/dist/plugins-cli.js +22 -1
  203. package/node_modules/@buddi/gateway/dist/plugins-cli.js.map +1 -1
  204. package/node_modules/@buddi/gateway/dist/serve.d.ts +7 -0
  205. package/node_modules/@buddi/gateway/dist/serve.d.ts.map +1 -1
  206. package/node_modules/@buddi/gateway/dist/serve.js +99 -14
  207. package/node_modules/@buddi/gateway/dist/serve.js.map +1 -1
  208. package/node_modules/@buddi/gateway/dist/surfaces/browser-cards.d.ts +18 -0
  209. package/node_modules/@buddi/gateway/dist/surfaces/browser-cards.d.ts.map +1 -0
  210. package/node_modules/@buddi/gateway/dist/surfaces/browser-cards.js +42 -0
  211. package/node_modules/@buddi/gateway/dist/surfaces/browser-cards.js.map +1 -0
  212. package/node_modules/@buddi/gateway/dist/surfaces/browser-continuation.js +1 -1
  213. package/node_modules/@buddi/gateway/dist/surfaces/browser-continuation.js.map +1 -1
  214. package/node_modules/@buddi/gateway/dist/surfaces/owner-request.d.ts +6 -0
  215. package/node_modules/@buddi/gateway/dist/surfaces/owner-request.d.ts.map +1 -1
  216. package/node_modules/@buddi/gateway/dist/surfaces/owner-request.js +7 -1
  217. package/node_modules/@buddi/gateway/dist/surfaces/owner-request.js.map +1 -1
  218. package/node_modules/@buddi/gateway/dist/surfaces/pending-question.js +2 -2
  219. package/node_modules/@buddi/gateway/dist/system-context.d.ts +21 -1
  220. package/node_modules/@buddi/gateway/dist/system-context.d.ts.map +1 -1
  221. package/node_modules/@buddi/gateway/dist/system-context.js +75 -2
  222. package/node_modules/@buddi/gateway/dist/system-context.js.map +1 -1
  223. package/node_modules/@buddi/gateway/dist/telegram/approvals.d.ts.map +1 -1
  224. package/node_modules/@buddi/gateway/dist/telegram/approvals.js +4 -2
  225. package/node_modules/@buddi/gateway/dist/telegram/approvals.js.map +1 -1
  226. package/node_modules/@buddi/gateway/dist/telegram/browser-view.d.ts +17 -17
  227. package/node_modules/@buddi/gateway/dist/telegram/browser-view.d.ts.map +1 -1
  228. package/node_modules/@buddi/gateway/dist/telegram/browser-view.js +33 -37
  229. package/node_modules/@buddi/gateway/dist/telegram/browser-view.js.map +1 -1
  230. package/node_modules/@buddi/gateway/dist/telegram/channel.d.ts.map +1 -1
  231. package/node_modules/@buddi/gateway/dist/telegram/channel.js +23 -2
  232. package/node_modules/@buddi/gateway/dist/telegram/channel.js.map +1 -1
  233. package/node_modules/@buddi/gateway/dist/telegram/html.d.ts +34 -0
  234. package/node_modules/@buddi/gateway/dist/telegram/html.d.ts.map +1 -0
  235. package/node_modules/@buddi/gateway/dist/telegram/html.js +263 -0
  236. package/node_modules/@buddi/gateway/dist/telegram/html.js.map +1 -0
  237. package/node_modules/@buddi/gateway/dist/telegram/main.d.ts.map +1 -1
  238. package/node_modules/@buddi/gateway/dist/telegram/main.js +11 -3
  239. package/node_modules/@buddi/gateway/dist/telegram/main.js.map +1 -1
  240. package/node_modules/@buddi/gateway/dist/telegram/notify.d.ts +6 -0
  241. package/node_modules/@buddi/gateway/dist/telegram/notify.d.ts.map +1 -1
  242. package/node_modules/@buddi/gateway/dist/telegram/notify.js +25 -3
  243. package/node_modules/@buddi/gateway/dist/telegram/notify.js.map +1 -1
  244. package/node_modules/@buddi/gateway/dist/telegram/surface.d.ts.map +1 -1
  245. package/node_modules/@buddi/gateway/dist/telegram/surface.js +10 -0
  246. package/node_modules/@buddi/gateway/dist/telegram/surface.js.map +1 -1
  247. package/node_modules/@buddi/gateway/dist/tips/facts.d.ts +10 -0
  248. package/node_modules/@buddi/gateway/dist/tips/facts.d.ts.map +1 -1
  249. package/node_modules/@buddi/gateway/dist/tips/facts.js +12 -3
  250. package/node_modules/@buddi/gateway/dist/tips/facts.js.map +1 -1
  251. package/node_modules/@buddi/gateway/dist/tips/rules.d.ts +2 -0
  252. package/node_modules/@buddi/gateway/dist/tips/rules.d.ts.map +1 -1
  253. package/node_modules/@buddi/gateway/dist/tips/rules.js +25 -0
  254. package/node_modules/@buddi/gateway/dist/tips/rules.js.map +1 -1
  255. package/node_modules/@buddi/gateway/dist/web/access/arrival.d.ts +24 -0
  256. package/node_modules/@buddi/gateway/dist/web/access/arrival.d.ts.map +1 -0
  257. package/node_modules/@buddi/gateway/dist/web/access/arrival.js +18 -0
  258. package/node_modules/@buddi/gateway/dist/web/access/arrival.js.map +1 -0
  259. package/node_modules/@buddi/gateway/dist/web/access/cloudflare-api.d.ts +124 -0
  260. package/node_modules/@buddi/gateway/dist/web/access/cloudflare-api.d.ts.map +1 -0
  261. package/node_modules/@buddi/gateway/dist/web/access/cloudflare-api.js +206 -0
  262. package/node_modules/@buddi/gateway/dist/web/access/cloudflare-api.js.map +1 -0
  263. package/node_modules/@buddi/gateway/dist/web/access/cloudflare-setup.d.ts +163 -0
  264. package/node_modules/@buddi/gateway/dist/web/access/cloudflare-setup.d.ts.map +1 -0
  265. package/node_modules/@buddi/gateway/dist/web/access/cloudflare-setup.js +438 -0
  266. package/node_modules/@buddi/gateway/dist/web/access/cloudflare-setup.js.map +1 -0
  267. package/node_modules/@buddi/gateway/dist/web/access/cloudflare-token.d.ts +31 -0
  268. package/node_modules/@buddi/gateway/dist/web/access/cloudflare-token.d.ts.map +1 -0
  269. package/node_modules/@buddi/gateway/dist/web/access/cloudflare-token.js +74 -0
  270. package/node_modules/@buddi/gateway/dist/web/access/cloudflare-token.js.map +1 -0
  271. package/node_modules/@buddi/gateway/dist/web/access/cloudflare.d.ts +145 -0
  272. package/node_modules/@buddi/gateway/dist/web/access/cloudflare.d.ts.map +1 -0
  273. package/node_modules/@buddi/gateway/dist/web/access/cloudflare.js +474 -0
  274. package/node_modules/@buddi/gateway/dist/web/access/cloudflare.js.map +1 -0
  275. package/node_modules/@buddi/gateway/dist/web/access/index.d.ts +9 -0
  276. package/node_modules/@buddi/gateway/dist/web/access/index.d.ts.map +1 -0
  277. package/node_modules/@buddi/gateway/dist/web/access/index.js +9 -0
  278. package/node_modules/@buddi/gateway/dist/web/access/index.js.map +1 -0
  279. package/node_modules/@buddi/gateway/dist/web/access/ingress.d.ts +30 -0
  280. package/node_modules/@buddi/gateway/dist/web/access/ingress.d.ts.map +1 -0
  281. package/node_modules/@buddi/gateway/dist/web/access/ingress.js +76 -0
  282. package/node_modules/@buddi/gateway/dist/web/access/ingress.js.map +1 -0
  283. package/node_modules/@buddi/gateway/dist/web/access/provider.d.ts +173 -0
  284. package/node_modules/@buddi/gateway/dist/web/access/provider.d.ts.map +1 -0
  285. package/node_modules/@buddi/gateway/dist/web/access/provider.js +11 -0
  286. package/node_modules/@buddi/gateway/dist/web/access/provider.js.map +1 -0
  287. package/node_modules/@buddi/gateway/dist/web/access/registry.d.ts +33 -0
  288. package/node_modules/@buddi/gateway/dist/web/access/registry.d.ts.map +1 -0
  289. package/node_modules/@buddi/gateway/dist/web/access/registry.js +32 -0
  290. package/node_modules/@buddi/gateway/dist/web/access/registry.js.map +1 -0
  291. package/node_modules/@buddi/gateway/dist/web/{tailscale.d.ts → access/tailscale.d.ts} +27 -0
  292. package/node_modules/@buddi/gateway/dist/web/access/tailscale.d.ts.map +1 -0
  293. package/node_modules/@buddi/gateway/dist/web/{tailscale.js → access/tailscale.js} +118 -3
  294. package/node_modules/@buddi/gateway/dist/web/access/tailscale.js.map +1 -0
  295. package/node_modules/@buddi/gateway/dist/web/agents.d.ts +2 -0
  296. package/node_modules/@buddi/gateway/dist/web/agents.d.ts.map +1 -1
  297. package/node_modules/@buddi/gateway/dist/web/agents.js +19 -1
  298. package/node_modules/@buddi/gateway/dist/web/agents.js.map +1 -1
  299. package/node_modules/@buddi/gateway/dist/web/api-routes.d.ts +4 -3
  300. package/node_modules/@buddi/gateway/dist/web/api-routes.d.ts.map +1 -1
  301. package/node_modules/@buddi/gateway/dist/web/api-routes.js +168 -26
  302. package/node_modules/@buddi/gateway/dist/web/api-routes.js.map +1 -1
  303. package/node_modules/@buddi/gateway/dist/web/api-scan.d.ts +1 -1
  304. package/node_modules/@buddi/gateway/dist/web/api-scan.d.ts.map +1 -1
  305. package/node_modules/@buddi/gateway/dist/web/api-scan.js +1 -0
  306. package/node_modules/@buddi/gateway/dist/web/api-scan.js.map +1 -1
  307. package/node_modules/@buddi/gateway/dist/web/attention.d.ts.map +1 -1
  308. package/node_modules/@buddi/gateway/dist/web/attention.js +11 -3
  309. package/node_modules/@buddi/gateway/dist/web/attention.js.map +1 -1
  310. package/node_modules/@buddi/gateway/dist/web/chat.d.ts +23 -0
  311. package/node_modules/@buddi/gateway/dist/web/chat.d.ts.map +1 -1
  312. package/node_modules/@buddi/gateway/dist/web/chat.js +71 -2
  313. package/node_modules/@buddi/gateway/dist/web/chat.js.map +1 -1
  314. package/node_modules/@buddi/gateway/dist/web/client-key.d.ts +3 -0
  315. package/node_modules/@buddi/gateway/dist/web/client-key.d.ts.map +1 -1
  316. package/node_modules/@buddi/gateway/dist/web/client-key.js +8 -1
  317. package/node_modules/@buddi/gateway/dist/web/client-key.js.map +1 -1
  318. package/node_modules/@buddi/gateway/dist/web/composer.d.ts +45 -0
  319. package/node_modules/@buddi/gateway/dist/web/composer.d.ts.map +1 -0
  320. package/node_modules/@buddi/gateway/dist/web/composer.js +85 -0
  321. package/node_modules/@buddi/gateway/dist/web/composer.js.map +1 -0
  322. package/node_modules/@buddi/gateway/dist/web/extension.d.ts +9 -1
  323. package/node_modules/@buddi/gateway/dist/web/extension.d.ts.map +1 -1
  324. package/node_modules/@buddi/gateway/dist/web/extension.js +61 -1
  325. package/node_modules/@buddi/gateway/dist/web/extension.js.map +1 -1
  326. package/node_modules/@buddi/gateway/dist/web/http.d.ts +7 -0
  327. package/node_modules/@buddi/gateway/dist/web/http.d.ts.map +1 -1
  328. package/node_modules/@buddi/gateway/dist/web/http.js +15 -1
  329. package/node_modules/@buddi/gateway/dist/web/http.js.map +1 -1
  330. package/node_modules/@buddi/gateway/dist/web/index.d.ts +1 -1
  331. package/node_modules/@buddi/gateway/dist/web/index.d.ts.map +1 -1
  332. package/node_modules/@buddi/gateway/dist/web/index.js +1 -1
  333. package/node_modules/@buddi/gateway/dist/web/index.js.map +1 -1
  334. package/node_modules/@buddi/gateway/dist/web/market.d.ts +20 -1
  335. package/node_modules/@buddi/gateway/dist/web/market.d.ts.map +1 -1
  336. package/node_modules/@buddi/gateway/dist/web/market.js +41 -1
  337. package/node_modules/@buddi/gateway/dist/web/market.js.map +1 -1
  338. package/node_modules/@buddi/gateway/dist/web/onboarding.js +1 -1
  339. package/node_modules/@buddi/gateway/dist/web/onboarding.js.map +1 -1
  340. package/node_modules/@buddi/gateway/dist/web/people.d.ts +44 -0
  341. package/node_modules/@buddi/gateway/dist/web/people.d.ts.map +1 -0
  342. package/node_modules/@buddi/gateway/dist/web/people.js +114 -0
  343. package/node_modules/@buddi/gateway/dist/web/people.js.map +1 -0
  344. package/node_modules/@buddi/gateway/dist/web/server.d.ts +42 -2
  345. package/node_modules/@buddi/gateway/dist/web/server.d.ts.map +1 -1
  346. package/node_modules/@buddi/gateway/dist/web/server.js +713 -156
  347. package/node_modules/@buddi/gateway/dist/web/server.js.map +1 -1
  348. package/node_modules/@buddi/gateway/dist/web/sessions.d.ts +24 -14
  349. package/node_modules/@buddi/gateway/dist/web/sessions.d.ts.map +1 -1
  350. package/node_modules/@buddi/gateway/dist/web/sessions.js +42 -14
  351. package/node_modules/@buddi/gateway/dist/web/sessions.js.map +1 -1
  352. package/node_modules/@buddi/gateway/dist/web/signed-out.d.ts +10 -0
  353. package/node_modules/@buddi/gateway/dist/web/signed-out.d.ts.map +1 -1
  354. package/node_modules/@buddi/gateway/dist/web/signed-out.js +47 -0
  355. package/node_modules/@buddi/gateway/dist/web/signed-out.js.map +1 -1
  356. package/node_modules/@buddi/gateway/dist/web/skill-bundles.d.ts +101 -0
  357. package/node_modules/@buddi/gateway/dist/web/skill-bundles.d.ts.map +1 -0
  358. package/node_modules/@buddi/gateway/dist/web/skill-bundles.js +439 -0
  359. package/node_modules/@buddi/gateway/dist/web/skill-bundles.js.map +1 -0
  360. package/node_modules/@buddi/gateway/dist/web/skills.d.ts +57 -1
  361. package/node_modules/@buddi/gateway/dist/web/skills.d.ts.map +1 -1
  362. package/node_modules/@buddi/gateway/dist/web/skills.js +171 -9
  363. package/node_modules/@buddi/gateway/dist/web/skills.js.map +1 -1
  364. package/node_modules/@buddi/gateway/dist/web/zip-read.d.ts +31 -0
  365. package/node_modules/@buddi/gateway/dist/web/zip-read.d.ts.map +1 -0
  366. package/node_modules/@buddi/gateway/dist/web/zip-read.js +125 -0
  367. package/node_modules/@buddi/gateway/dist/web/zip-read.js.map +1 -0
  368. package/node_modules/@buddi/install/dist/.tsbuildinfo +1 -1
  369. package/node_modules/@buddi/runtime/dist/.tsbuildinfo +1 -1
  370. package/node_modules/@buddi/runtime/dist/delegate.d.ts +8 -0
  371. package/node_modules/@buddi/runtime/dist/delegate.d.ts.map +1 -1
  372. package/node_modules/@buddi/runtime/dist/delegate.js +19 -1
  373. package/node_modules/@buddi/runtime/dist/delegate.js.map +1 -1
  374. package/node_modules/@buddi/runtime/dist/index.d.ts +1 -0
  375. package/node_modules/@buddi/runtime/dist/index.d.ts.map +1 -1
  376. package/node_modules/@buddi/runtime/dist/index.js +1 -0
  377. package/node_modules/@buddi/runtime/dist/index.js.map +1 -1
  378. package/node_modules/@buddi/runtime/dist/loop.d.ts +2 -0
  379. package/node_modules/@buddi/runtime/dist/loop.d.ts.map +1 -1
  380. package/node_modules/@buddi/runtime/dist/loop.js +29 -5
  381. package/node_modules/@buddi/runtime/dist/loop.js.map +1 -1
  382. package/node_modules/@buddi/runtime/dist/plugin-sign-in.d.ts +12 -0
  383. package/node_modules/@buddi/runtime/dist/plugin-sign-in.d.ts.map +1 -0
  384. package/node_modules/@buddi/runtime/dist/plugin-sign-in.js +397 -0
  385. package/node_modules/@buddi/runtime/dist/plugin-sign-in.js.map +1 -0
  386. package/node_modules/@buddi/tool-artifacts/dist/.tsbuildinfo +1 -1
  387. package/node_modules/@buddi/tool-artifacts/dist/tools/write.d.ts.map +1 -1
  388. package/node_modules/@buddi/tool-artifacts/dist/tools/write.js +1 -0
  389. package/node_modules/@buddi/tool-artifacts/dist/tools/write.js.map +1 -1
  390. package/node_modules/@buddi/tool-browser/dist/.tsbuildinfo +1 -1
  391. package/node_modules/@buddi/tool-browser/dist/availability.d.ts +2 -2
  392. package/node_modules/@buddi/tool-browser/dist/availability.d.ts.map +1 -1
  393. package/node_modules/@buddi/tool-browser/dist/availability.js +2 -2
  394. package/node_modules/@buddi/tool-browser/dist/availability.js.map +1 -1
  395. package/node_modules/@buddi/tool-browser/dist/controller.d.ts +76 -58
  396. package/node_modules/@buddi/tool-browser/dist/controller.d.ts.map +1 -1
  397. package/node_modules/@buddi/tool-browser/dist/controller.js +751 -219
  398. package/node_modules/@buddi/tool-browser/dist/controller.js.map +1 -1
  399. package/node_modules/@buddi/tool-browser/dist/extension.d.ts +12 -0
  400. package/node_modules/@buddi/tool-browser/dist/extension.d.ts.map +1 -1
  401. package/node_modules/@buddi/tool-browser/dist/extension.js +8 -0
  402. package/node_modules/@buddi/tool-browser/dist/extension.js.map +1 -1
  403. package/node_modules/@buddi/tool-browser/dist/index.d.ts +13 -5
  404. package/node_modules/@buddi/tool-browser/dist/index.d.ts.map +1 -1
  405. package/node_modules/@buddi/tool-browser/dist/index.js +29 -12
  406. package/node_modules/@buddi/tool-browser/dist/index.js.map +1 -1
  407. package/node_modules/@buddi/tool-browser/dist/manager.d.ts +39 -21
  408. package/node_modules/@buddi/tool-browser/dist/manager.d.ts.map +1 -1
  409. package/node_modules/@buddi/tool-browser/dist/manager.js +229 -136
  410. package/node_modules/@buddi/tool-browser/dist/manager.js.map +1 -1
  411. package/node_modules/@buddi/tool-browser/dist/routes.d.ts +130 -0
  412. package/node_modules/@buddi/tool-browser/dist/routes.d.ts.map +1 -0
  413. package/node_modules/@buddi/tool-browser/dist/routes.js +283 -0
  414. package/node_modules/@buddi/tool-browser/dist/routes.js.map +1 -0
  415. package/node_modules/@buddi/tool-browser/dist/service.d.ts +157 -114
  416. package/node_modules/@buddi/tool-browser/dist/service.d.ts.map +1 -1
  417. package/node_modules/@buddi/tool-browser/dist/service.js +379 -390
  418. package/node_modules/@buddi/tool-browser/dist/service.js.map +1 -1
  419. package/node_modules/@buddi/tool-browser/dist/settings.d.ts +88 -0
  420. package/node_modules/@buddi/tool-browser/dist/settings.d.ts.map +1 -0
  421. package/node_modules/@buddi/tool-browser/dist/settings.js +86 -0
  422. package/node_modules/@buddi/tool-browser/dist/settings.js.map +1 -0
  423. package/node_modules/@buddi/tool-browser/dist/telemetry.d.ts +203 -0
  424. package/node_modules/@buddi/tool-browser/dist/telemetry.d.ts.map +1 -0
  425. package/node_modules/@buddi/tool-browser/dist/telemetry.js +142 -0
  426. package/node_modules/@buddi/tool-browser/dist/telemetry.js.map +1 -0
  427. package/node_modules/@buddi/tool-browser/dist/types.d.ts +14 -3
  428. package/node_modules/@buddi/tool-browser/dist/types.d.ts.map +1 -1
  429. package/node_modules/@buddi/tool-browser/dist/types.js +9 -9
  430. package/node_modules/@buddi/tool-browser/dist/types.js.map +1 -1
  431. package/node_modules/@buddi/tool-email/dist/.tsbuildinfo +1 -1
  432. package/node_modules/@buddi/tool-email/dist/widgets.d.ts.map +1 -1
  433. package/node_modules/@buddi/tool-email/dist/widgets.js +2 -1
  434. package/node_modules/@buddi/tool-email/dist/widgets.js.map +1 -1
  435. package/node_modules/@buddi/tool-host/dist/.tsbuildinfo +1 -1
  436. package/node_modules/@buddi/tool-host/dist/index.d.ts +2 -1
  437. package/node_modules/@buddi/tool-host/dist/index.d.ts.map +1 -1
  438. package/node_modules/@buddi/tool-host/dist/index.js +3 -2
  439. package/node_modules/@buddi/tool-host/dist/index.js.map +1 -1
  440. package/node_modules/@buddi/tool-host/dist/process.d.ts +4 -0
  441. package/node_modules/@buddi/tool-host/dist/process.d.ts.map +1 -1
  442. package/node_modules/@buddi/tool-host/dist/process.js +4 -2
  443. package/node_modules/@buddi/tool-host/dist/process.js.map +1 -1
  444. package/node_modules/@buddi/tool-host/dist/service.d.ts +66 -17
  445. package/node_modules/@buddi/tool-host/dist/service.d.ts.map +1 -1
  446. package/node_modules/@buddi/tool-host/dist/service.js +172 -9
  447. package/node_modules/@buddi/tool-host/dist/service.js.map +1 -1
  448. package/node_modules/@buddi/tool-host/dist/skill-run.d.ts +55 -0
  449. package/node_modules/@buddi/tool-host/dist/skill-run.d.ts.map +1 -0
  450. package/node_modules/@buddi/tool-host/dist/skill-run.js +132 -0
  451. package/node_modules/@buddi/tool-host/dist/skill-run.js.map +1 -0
  452. package/node_modules/@buddi/tool-mcp/dist/.tsbuildinfo +1 -1
  453. package/node_modules/@buddi/tool-memory/dist/.tsbuildinfo +1 -1
  454. package/node_modules/@buddi/tool-memory/dist/index.d.ts +1 -0
  455. package/node_modules/@buddi/tool-memory/dist/index.d.ts.map +1 -1
  456. package/node_modules/@buddi/tool-memory/dist/index.js +7 -2
  457. package/node_modules/@buddi/tool-memory/dist/index.js.map +1 -1
  458. package/node_modules/@buddi/tool-memory/dist/people.d.ts +218 -0
  459. package/node_modules/@buddi/tool-memory/dist/people.d.ts.map +1 -0
  460. package/node_modules/@buddi/tool-memory/dist/people.js +582 -0
  461. package/node_modules/@buddi/tool-memory/dist/people.js.map +1 -0
  462. package/node_modules/@buddi/tool-memory/dist/preamble.d.ts +4 -1
  463. package/node_modules/@buddi/tool-memory/dist/preamble.d.ts.map +1 -1
  464. package/node_modules/@buddi/tool-memory/dist/preamble.js +25 -7
  465. package/node_modules/@buddi/tool-memory/dist/preamble.js.map +1 -1
  466. package/node_modules/@buddi/tool-memory/migrations/002_people.sql +40 -0
  467. package/node_modules/@buddi/tool-web/dist/.tsbuildinfo +1 -1
  468. package/node_modules/imapflow/CHANGELOG.md +23 -0
  469. package/node_modules/imapflow/dist/cjs/commands/append.js +27 -3
  470. package/node_modules/imapflow/dist/cjs/commands/store.js +31 -6
  471. package/node_modules/imapflow/dist/cjs/imap-flow.d.ts +1 -1
  472. package/node_modules/imapflow/dist/cjs/imap-flow.js +1 -1
  473. package/node_modules/imapflow/dist/cjs/package-info.d.ts +1 -1
  474. package/node_modules/imapflow/dist/cjs/package-info.js +1 -1
  475. package/node_modules/imapflow/dist/cjs/search-compiler.js +21 -31
  476. package/node_modules/imapflow/dist/esm/commands/append.js +27 -3
  477. package/node_modules/imapflow/dist/esm/commands/store.js +31 -6
  478. package/node_modules/imapflow/dist/esm/imap-flow.d.ts +1 -1
  479. package/node_modules/imapflow/dist/esm/imap-flow.js +1 -1
  480. package/node_modules/imapflow/dist/esm/package-info.d.ts +1 -1
  481. package/node_modules/imapflow/dist/esm/package-info.js +1 -1
  482. package/node_modules/imapflow/dist/esm/search-compiler.js +21 -31
  483. package/node_modules/imapflow/package.json +3 -3
  484. package/package.json +2 -2
  485. package/packages/cli/dist/.tsbuildinfo +1 -1
  486. package/packages/cli/dist/access-cmd.d.ts +10 -0
  487. package/packages/cli/dist/access-cmd.d.ts.map +1 -0
  488. package/packages/cli/dist/access-cmd.js +160 -0
  489. package/packages/cli/dist/access-cmd.js.map +1 -0
  490. package/packages/cli/dist/args.d.ts +10 -0
  491. package/packages/cli/dist/args.d.ts.map +1 -1
  492. package/packages/cli/dist/args.js +29 -1
  493. package/packages/cli/dist/args.js.map +1 -1
  494. package/packages/cli/dist/commands.d.ts.map +1 -1
  495. package/packages/cli/dist/commands.js +28 -2
  496. package/packages/cli/dist/commands.js.map +1 -1
  497. package/packages/cli/dist/doctor-probes.d.ts.map +1 -1
  498. package/packages/cli/dist/doctor-probes.js +90 -30
  499. package/packages/cli/dist/doctor-probes.js.map +1 -1
  500. package/packages/cli/dist/doctor.d.ts +61 -12
  501. package/packages/cli/dist/doctor.d.ts.map +1 -1
  502. package/packages/cli/dist/doctor.js +60 -9
  503. package/packages/cli/dist/doctor.js.map +1 -1
  504. package/packages/cli/dist/main.d.ts +2 -0
  505. package/packages/cli/dist/main.d.ts.map +1 -1
  506. package/packages/cli/dist/main.js +18 -1
  507. package/packages/cli/dist/main.js.map +1 -1
  508. package/packages/core/dist/.tsbuildinfo +1 -1
  509. package/packages/core/dist/actions/approvals.d.ts +7 -0
  510. package/packages/core/dist/actions/approvals.d.ts.map +1 -1
  511. package/packages/core/dist/actions/approvals.js +11 -1
  512. package/packages/core/dist/actions/approvals.js.map +1 -1
  513. package/packages/core/dist/agents/catalog.d.ts +2 -0
  514. package/packages/core/dist/agents/catalog.d.ts.map +1 -1
  515. package/packages/core/dist/agents/catalog.js +3 -2
  516. package/packages/core/dist/agents/catalog.js.map +1 -1
  517. package/packages/core/dist/agents/edit.d.ts +2 -0
  518. package/packages/core/dist/agents/edit.d.ts.map +1 -1
  519. package/packages/core/dist/agents/edit.js +3 -1
  520. package/packages/core/dist/agents/edit.js.map +1 -1
  521. package/packages/core/dist/agents/frontmatter.d.ts +11 -0
  522. package/packages/core/dist/agents/frontmatter.d.ts.map +1 -1
  523. package/packages/core/dist/agents/frontmatter.js +7 -0
  524. package/packages/core/dist/agents/frontmatter.js.map +1 -1
  525. package/packages/core/dist/agents/skills.d.ts +60 -1
  526. package/packages/core/dist/agents/skills.d.ts.map +1 -1
  527. package/packages/core/dist/agents/skills.js +157 -17
  528. package/packages/core/dist/agents/skills.js.map +1 -1
  529. package/packages/core/dist/day-month.d.ts +52 -0
  530. package/packages/core/dist/day-month.d.ts.map +1 -0
  531. package/packages/core/dist/day-month.js +101 -0
  532. package/packages/core/dist/day-month.js.map +1 -0
  533. package/packages/core/dist/host/build.d.ts +11 -2
  534. package/packages/core/dist/host/build.d.ts.map +1 -1
  535. package/packages/core/dist/host/build.js +115 -4
  536. package/packages/core/dist/host/build.js.map +1 -1
  537. package/packages/core/dist/host/http.d.ts +35 -0
  538. package/packages/core/dist/host/http.d.ts.map +1 -1
  539. package/packages/core/dist/host/http.js +133 -29
  540. package/packages/core/dist/host/http.js.map +1 -1
  541. package/packages/core/dist/host/types.d.ts +72 -1
  542. package/packages/core/dist/host/types.d.ts.map +1 -1
  543. package/packages/core/dist/index.d.ts +3 -0
  544. package/packages/core/dist/index.d.ts.map +1 -1
  545. package/packages/core/dist/index.js +3 -0
  546. package/packages/core/dist/index.js.map +1 -1
  547. package/packages/core/dist/onboarding/store.d.ts.map +1 -1
  548. package/packages/core/dist/onboarding/store.js +28 -5
  549. package/packages/core/dist/onboarding/store.js.map +1 -1
  550. package/packages/core/dist/onboarding/types.d.ts +10 -0
  551. package/packages/core/dist/onboarding/types.d.ts.map +1 -1
  552. package/packages/core/dist/onboarding/types.js.map +1 -1
  553. package/packages/core/dist/pages.d.ts +145 -11
  554. package/packages/core/dist/pages.d.ts.map +1 -1
  555. package/packages/core/dist/pages.js +113 -5
  556. package/packages/core/dist/pages.js.map +1 -1
  557. package/packages/core/dist/plugin/index.d.ts +7 -0
  558. package/packages/core/dist/plugin/index.d.ts.map +1 -1
  559. package/packages/core/dist/plugin/index.js +5 -0
  560. package/packages/core/dist/plugin/index.js.map +1 -1
  561. package/packages/core/dist/plugin/sign-in.d.ts +78 -0
  562. package/packages/core/dist/plugin/sign-in.d.ts.map +1 -0
  563. package/packages/core/dist/plugin/sign-in.js +54 -0
  564. package/packages/core/dist/plugin/sign-in.js.map +1 -0
  565. package/packages/core/dist/plugin/version.d.ts +1 -1
  566. package/packages/core/dist/plugin/version.js +1 -1
  567. package/packages/core/dist/provider-accounts.d.ts +7 -0
  568. package/packages/core/dist/provider-accounts.d.ts.map +1 -1
  569. package/packages/core/dist/provider-accounts.js +15 -0
  570. package/packages/core/dist/provider-accounts.js.map +1 -1
  571. package/packages/core/dist/questions/store.d.ts +12 -0
  572. package/packages/core/dist/questions/store.d.ts.map +1 -1
  573. package/packages/core/dist/questions/store.js +11 -1
  574. package/packages/core/dist/questions/store.js.map +1 -1
  575. package/packages/core/dist/questions/types.d.ts +9 -1
  576. package/packages/core/dist/questions/types.d.ts.map +1 -1
  577. package/packages/core/dist/questions/types.js +16 -1
  578. package/packages/core/dist/questions/types.js.map +1 -1
  579. package/packages/core/dist/queue/jobs.d.ts +65 -2
  580. package/packages/core/dist/queue/jobs.d.ts.map +1 -1
  581. package/packages/core/dist/queue/jobs.js +123 -3
  582. package/packages/core/dist/queue/jobs.js.map +1 -1
  583. package/packages/core/dist/queue/worker.d.ts +26 -2
  584. package/packages/core/dist/queue/worker.d.ts.map +1 -1
  585. package/packages/core/dist/queue/worker.js +68 -12
  586. package/packages/core/dist/queue/worker.js.map +1 -1
  587. package/packages/core/dist/registry.d.ts +15 -1
  588. package/packages/core/dist/registry.d.ts.map +1 -1
  589. package/packages/core/dist/registry.js +88 -13
  590. package/packages/core/dist/registry.js.map +1 -1
  591. package/packages/core/dist/routes.d.ts +153 -0
  592. package/packages/core/dist/routes.d.ts.map +1 -0
  593. package/packages/core/dist/routes.js +47 -0
  594. package/packages/core/dist/routes.js.map +1 -0
  595. package/packages/core/dist/scheduler/missions.d.ts +5 -3
  596. package/packages/core/dist/scheduler/missions.d.ts.map +1 -1
  597. package/packages/core/dist/scheduler/missions.js +9 -7
  598. package/packages/core/dist/scheduler/missions.js.map +1 -1
  599. package/packages/core/dist/scheduler/types.d.ts +7 -0
  600. package/packages/core/dist/scheduler/types.d.ts.map +1 -1
  601. package/packages/core/dist/scheduler/types.js +1 -0
  602. package/packages/core/dist/scheduler/types.js.map +1 -1
  603. package/packages/core/dist/secrets/scrub.d.ts.map +1 -1
  604. package/packages/core/dist/secrets/scrub.js +15 -0
  605. package/packages/core/dist/secrets/scrub.js.map +1 -1
  606. package/packages/core/dist/tools.d.ts +88 -2
  607. package/packages/core/dist/tools.d.ts.map +1 -1
  608. package/packages/core/dist/tools.js.map +1 -1
  609. package/packages/core/dist/views.d.ts +12 -12
  610. package/packages/core/dist/widgets.d.ts +14 -1
  611. package/packages/core/dist/widgets.d.ts.map +1 -1
  612. package/packages/core/dist/widgets.js +30 -0
  613. package/packages/core/dist/widgets.js.map +1 -1
  614. package/packages/core/migrations/074_owner_identity.sql +14 -0
  615. package/packages/core/migrations/075_access_providers.sql +43 -0
  616. package/packages/core/migrations/076_mission_browser.sql +7 -0
  617. package/packages/gateway/dist/.tsbuildinfo +1 -1
  618. package/packages/gateway/dist/agents/canvas.d.ts +12 -12
  619. package/packages/gateway/dist/agents/catalog.d.ts.map +1 -1
  620. package/packages/gateway/dist/agents/catalog.js +3 -3
  621. package/packages/gateway/dist/agents/catalog.js.map +1 -1
  622. package/packages/gateway/dist/agents/catalogue-package.d.ts +46 -20
  623. package/packages/gateway/dist/agents/catalogue-package.d.ts.map +1 -1
  624. package/packages/gateway/dist/agents/catalogue-package.js +17 -4
  625. package/packages/gateway/dist/agents/catalogue-package.js.map +1 -1
  626. package/packages/gateway/dist/agents/delegation.d.ts +10 -0
  627. package/packages/gateway/dist/agents/delegation.d.ts.map +1 -1
  628. package/packages/gateway/dist/agents/delegation.js +1 -0
  629. package/packages/gateway/dist/agents/delegation.js.map +1 -1
  630. package/packages/gateway/dist/agents/owner-tools.d.ts.map +1 -1
  631. package/packages/gateway/dist/agents/owner-tools.js +36 -2
  632. package/packages/gateway/dist/agents/owner-tools.js.map +1 -1
  633. package/packages/gateway/dist/agents/platform-catalogue.d.ts +26 -1
  634. package/packages/gateway/dist/agents/platform-catalogue.d.ts.map +1 -1
  635. package/packages/gateway/dist/agents/platform-catalogue.js +123 -6
  636. package/packages/gateway/dist/agents/platform-catalogue.js.map +1 -1
  637. package/packages/gateway/dist/agents/platform.d.ts +4 -4
  638. package/packages/gateway/dist/agents/platform.d.ts.map +1 -1
  639. package/packages/gateway/dist/agents/platform.js +11 -0
  640. package/packages/gateway/dist/agents/platform.js.map +1 -1
  641. package/packages/gateway/dist/bootstrap.d.ts.map +1 -1
  642. package/packages/gateway/dist/bootstrap.js +12 -1
  643. package/packages/gateway/dist/bootstrap.js.map +1 -1
  644. package/packages/gateway/dist/browser-host.d.ts +30 -1
  645. package/packages/gateway/dist/browser-host.d.ts.map +1 -1
  646. package/packages/gateway/dist/browser-host.js +56 -1
  647. package/packages/gateway/dist/browser-host.js.map +1 -1
  648. package/packages/gateway/dist/chat/session.d.ts.map +1 -1
  649. package/packages/gateway/dist/chat/session.js +9 -5
  650. package/packages/gateway/dist/chat/session.js.map +1 -1
  651. package/packages/gateway/dist/evals/golden.d.ts +33 -1
  652. package/packages/gateway/dist/evals/golden.d.ts.map +1 -1
  653. package/packages/gateway/dist/evals/golden.js +168 -3
  654. package/packages/gateway/dist/evals/golden.js.map +1 -1
  655. package/packages/gateway/dist/index.d.ts +3 -1
  656. package/packages/gateway/dist/index.d.ts.map +1 -1
  657. package/packages/gateway/dist/index.js +3 -1
  658. package/packages/gateway/dist/index.js.map +1 -1
  659. package/packages/gateway/dist/missions/dates.d.ts +98 -0
  660. package/packages/gateway/dist/missions/dates.d.ts.map +1 -0
  661. package/packages/gateway/dist/missions/dates.js +252 -0
  662. package/packages/gateway/dist/missions/dates.js.map +1 -0
  663. package/packages/gateway/dist/missions/execute.d.ts +42 -1
  664. package/packages/gateway/dist/missions/execute.d.ts.map +1 -1
  665. package/packages/gateway/dist/missions/execute.js +107 -8
  666. package/packages/gateway/dist/missions/execute.js.map +1 -1
  667. package/packages/gateway/dist/missions/parked.d.ts +133 -0
  668. package/packages/gateway/dist/missions/parked.d.ts.map +1 -0
  669. package/packages/gateway/dist/missions/parked.js +249 -0
  670. package/packages/gateway/dist/missions/parked.js.map +1 -0
  671. package/packages/gateway/dist/missions/report.d.ts.map +1 -1
  672. package/packages/gateway/dist/missions/report.js +1 -0
  673. package/packages/gateway/dist/missions/report.js.map +1 -1
  674. package/packages/gateway/dist/ollama-local.d.ts +90 -0
  675. package/packages/gateway/dist/ollama-local.d.ts.map +1 -0
  676. package/packages/gateway/dist/ollama-local.js +201 -0
  677. package/packages/gateway/dist/ollama-local.js.map +1 -0
  678. package/packages/gateway/dist/plugins-cli.d.ts +8 -0
  679. package/packages/gateway/dist/plugins-cli.d.ts.map +1 -1
  680. package/packages/gateway/dist/plugins-cli.js +22 -1
  681. package/packages/gateway/dist/plugins-cli.js.map +1 -1
  682. package/packages/gateway/dist/serve.d.ts +7 -0
  683. package/packages/gateway/dist/serve.d.ts.map +1 -1
  684. package/packages/gateway/dist/serve.js +99 -14
  685. package/packages/gateway/dist/serve.js.map +1 -1
  686. package/packages/gateway/dist/surfaces/browser-cards.d.ts +18 -0
  687. package/packages/gateway/dist/surfaces/browser-cards.d.ts.map +1 -0
  688. package/packages/gateway/dist/surfaces/browser-cards.js +42 -0
  689. package/packages/gateway/dist/surfaces/browser-cards.js.map +1 -0
  690. package/packages/gateway/dist/surfaces/browser-continuation.js +1 -1
  691. package/packages/gateway/dist/surfaces/browser-continuation.js.map +1 -1
  692. package/packages/gateway/dist/surfaces/owner-request.d.ts +6 -0
  693. package/packages/gateway/dist/surfaces/owner-request.d.ts.map +1 -1
  694. package/packages/gateway/dist/surfaces/owner-request.js +7 -1
  695. package/packages/gateway/dist/surfaces/owner-request.js.map +1 -1
  696. package/packages/gateway/dist/surfaces/pending-question.js +2 -2
  697. package/packages/gateway/dist/system-context.d.ts +21 -1
  698. package/packages/gateway/dist/system-context.d.ts.map +1 -1
  699. package/packages/gateway/dist/system-context.js +75 -2
  700. package/packages/gateway/dist/system-context.js.map +1 -1
  701. package/packages/gateway/dist/telegram/approvals.d.ts.map +1 -1
  702. package/packages/gateway/dist/telegram/approvals.js +4 -2
  703. package/packages/gateway/dist/telegram/approvals.js.map +1 -1
  704. package/packages/gateway/dist/telegram/browser-view.d.ts +17 -17
  705. package/packages/gateway/dist/telegram/browser-view.d.ts.map +1 -1
  706. package/packages/gateway/dist/telegram/browser-view.js +33 -37
  707. package/packages/gateway/dist/telegram/browser-view.js.map +1 -1
  708. package/packages/gateway/dist/telegram/channel.d.ts.map +1 -1
  709. package/packages/gateway/dist/telegram/channel.js +23 -2
  710. package/packages/gateway/dist/telegram/channel.js.map +1 -1
  711. package/packages/gateway/dist/telegram/html.d.ts +34 -0
  712. package/packages/gateway/dist/telegram/html.d.ts.map +1 -0
  713. package/packages/gateway/dist/telegram/html.js +263 -0
  714. package/packages/gateway/dist/telegram/html.js.map +1 -0
  715. package/packages/gateway/dist/telegram/main.d.ts.map +1 -1
  716. package/packages/gateway/dist/telegram/main.js +11 -3
  717. package/packages/gateway/dist/telegram/main.js.map +1 -1
  718. package/packages/gateway/dist/telegram/notify.d.ts +6 -0
  719. package/packages/gateway/dist/telegram/notify.d.ts.map +1 -1
  720. package/packages/gateway/dist/telegram/notify.js +25 -3
  721. package/packages/gateway/dist/telegram/notify.js.map +1 -1
  722. package/packages/gateway/dist/telegram/surface.d.ts.map +1 -1
  723. package/packages/gateway/dist/telegram/surface.js +10 -0
  724. package/packages/gateway/dist/telegram/surface.js.map +1 -1
  725. package/packages/gateway/dist/tips/facts.d.ts +10 -0
  726. package/packages/gateway/dist/tips/facts.d.ts.map +1 -1
  727. package/packages/gateway/dist/tips/facts.js +12 -3
  728. package/packages/gateway/dist/tips/facts.js.map +1 -1
  729. package/packages/gateway/dist/tips/rules.d.ts +2 -0
  730. package/packages/gateway/dist/tips/rules.d.ts.map +1 -1
  731. package/packages/gateway/dist/tips/rules.js +25 -0
  732. package/packages/gateway/dist/tips/rules.js.map +1 -1
  733. package/packages/gateway/dist/web/access/arrival.d.ts +24 -0
  734. package/packages/gateway/dist/web/access/arrival.d.ts.map +1 -0
  735. package/packages/gateway/dist/web/access/arrival.js +18 -0
  736. package/packages/gateway/dist/web/access/arrival.js.map +1 -0
  737. package/packages/gateway/dist/web/access/cloudflare-api.d.ts +124 -0
  738. package/packages/gateway/dist/web/access/cloudflare-api.d.ts.map +1 -0
  739. package/packages/gateway/dist/web/access/cloudflare-api.js +206 -0
  740. package/packages/gateway/dist/web/access/cloudflare-api.js.map +1 -0
  741. package/packages/gateway/dist/web/access/cloudflare-setup.d.ts +163 -0
  742. package/packages/gateway/dist/web/access/cloudflare-setup.d.ts.map +1 -0
  743. package/packages/gateway/dist/web/access/cloudflare-setup.js +438 -0
  744. package/packages/gateway/dist/web/access/cloudflare-setup.js.map +1 -0
  745. package/packages/gateway/dist/web/access/cloudflare-token.d.ts +31 -0
  746. package/packages/gateway/dist/web/access/cloudflare-token.d.ts.map +1 -0
  747. package/packages/gateway/dist/web/access/cloudflare-token.js +74 -0
  748. package/packages/gateway/dist/web/access/cloudflare-token.js.map +1 -0
  749. package/packages/gateway/dist/web/access/cloudflare.d.ts +145 -0
  750. package/packages/gateway/dist/web/access/cloudflare.d.ts.map +1 -0
  751. package/packages/gateway/dist/web/access/cloudflare.js +474 -0
  752. package/packages/gateway/dist/web/access/cloudflare.js.map +1 -0
  753. package/packages/gateway/dist/web/access/index.d.ts +9 -0
  754. package/packages/gateway/dist/web/access/index.d.ts.map +1 -0
  755. package/packages/gateway/dist/web/access/index.js +9 -0
  756. package/packages/gateway/dist/web/access/index.js.map +1 -0
  757. package/packages/gateway/dist/web/access/ingress.d.ts +30 -0
  758. package/packages/gateway/dist/web/access/ingress.d.ts.map +1 -0
  759. package/packages/gateway/dist/web/access/ingress.js +76 -0
  760. package/packages/gateway/dist/web/access/ingress.js.map +1 -0
  761. package/packages/gateway/dist/web/access/provider.d.ts +173 -0
  762. package/packages/gateway/dist/web/access/provider.d.ts.map +1 -0
  763. package/packages/gateway/dist/web/access/provider.js +11 -0
  764. package/packages/gateway/dist/web/access/provider.js.map +1 -0
  765. package/packages/gateway/dist/web/access/registry.d.ts +33 -0
  766. package/packages/gateway/dist/web/access/registry.d.ts.map +1 -0
  767. package/packages/gateway/dist/web/access/registry.js +32 -0
  768. package/packages/gateway/dist/web/access/registry.js.map +1 -0
  769. package/packages/gateway/dist/web/{tailscale.d.ts → access/tailscale.d.ts} +27 -0
  770. package/packages/gateway/dist/web/access/tailscale.d.ts.map +1 -0
  771. package/packages/gateway/dist/web/{tailscale.js → access/tailscale.js} +118 -3
  772. package/packages/gateway/dist/web/access/tailscale.js.map +1 -0
  773. package/packages/gateway/dist/web/agents.d.ts +2 -0
  774. package/packages/gateway/dist/web/agents.d.ts.map +1 -1
  775. package/packages/gateway/dist/web/agents.js +19 -1
  776. package/packages/gateway/dist/web/agents.js.map +1 -1
  777. package/packages/gateway/dist/web/api-routes.d.ts +4 -3
  778. package/packages/gateway/dist/web/api-routes.d.ts.map +1 -1
  779. package/packages/gateway/dist/web/api-routes.js +168 -26
  780. package/packages/gateway/dist/web/api-routes.js.map +1 -1
  781. package/packages/gateway/dist/web/api-scan.d.ts +1 -1
  782. package/packages/gateway/dist/web/api-scan.d.ts.map +1 -1
  783. package/packages/gateway/dist/web/api-scan.js +1 -0
  784. package/packages/gateway/dist/web/api-scan.js.map +1 -1
  785. package/packages/gateway/dist/web/attention.d.ts.map +1 -1
  786. package/packages/gateway/dist/web/attention.js +11 -3
  787. package/packages/gateway/dist/web/attention.js.map +1 -1
  788. package/packages/gateway/dist/web/chat.d.ts +23 -0
  789. package/packages/gateway/dist/web/chat.d.ts.map +1 -1
  790. package/packages/gateway/dist/web/chat.js +71 -2
  791. package/packages/gateway/dist/web/chat.js.map +1 -1
  792. package/packages/gateway/dist/web/client-key.d.ts +3 -0
  793. package/packages/gateway/dist/web/client-key.d.ts.map +1 -1
  794. package/packages/gateway/dist/web/client-key.js +8 -1
  795. package/packages/gateway/dist/web/client-key.js.map +1 -1
  796. package/packages/gateway/dist/web/composer.d.ts +45 -0
  797. package/packages/gateway/dist/web/composer.d.ts.map +1 -0
  798. package/packages/gateway/dist/web/composer.js +85 -0
  799. package/packages/gateway/dist/web/composer.js.map +1 -0
  800. package/packages/gateway/dist/web/extension.d.ts +9 -1
  801. package/packages/gateway/dist/web/extension.d.ts.map +1 -1
  802. package/packages/gateway/dist/web/extension.js +61 -1
  803. package/packages/gateway/dist/web/extension.js.map +1 -1
  804. package/packages/gateway/dist/web/http.d.ts +7 -0
  805. package/packages/gateway/dist/web/http.d.ts.map +1 -1
  806. package/packages/gateway/dist/web/http.js +15 -1
  807. package/packages/gateway/dist/web/http.js.map +1 -1
  808. package/packages/gateway/dist/web/index.d.ts +1 -1
  809. package/packages/gateway/dist/web/index.d.ts.map +1 -1
  810. package/packages/gateway/dist/web/index.js +1 -1
  811. package/packages/gateway/dist/web/index.js.map +1 -1
  812. package/packages/gateway/dist/web/market.d.ts +20 -1
  813. package/packages/gateway/dist/web/market.d.ts.map +1 -1
  814. package/packages/gateway/dist/web/market.js +41 -1
  815. package/packages/gateway/dist/web/market.js.map +1 -1
  816. package/packages/gateway/dist/web/onboarding.js +1 -1
  817. package/packages/gateway/dist/web/onboarding.js.map +1 -1
  818. package/packages/gateway/dist/web/people.d.ts +44 -0
  819. package/packages/gateway/dist/web/people.d.ts.map +1 -0
  820. package/packages/gateway/dist/web/people.js +114 -0
  821. package/packages/gateway/dist/web/people.js.map +1 -0
  822. package/packages/gateway/dist/web/server.d.ts +42 -2
  823. package/packages/gateway/dist/web/server.d.ts.map +1 -1
  824. package/packages/gateway/dist/web/server.js +713 -156
  825. package/packages/gateway/dist/web/server.js.map +1 -1
  826. package/packages/gateway/dist/web/sessions.d.ts +24 -14
  827. package/packages/gateway/dist/web/sessions.d.ts.map +1 -1
  828. package/packages/gateway/dist/web/sessions.js +42 -14
  829. package/packages/gateway/dist/web/sessions.js.map +1 -1
  830. package/packages/gateway/dist/web/signed-out.d.ts +10 -0
  831. package/packages/gateway/dist/web/signed-out.d.ts.map +1 -1
  832. package/packages/gateway/dist/web/signed-out.js +47 -0
  833. package/packages/gateway/dist/web/signed-out.js.map +1 -1
  834. package/packages/gateway/dist/web/skill-bundles.d.ts +101 -0
  835. package/packages/gateway/dist/web/skill-bundles.d.ts.map +1 -0
  836. package/packages/gateway/dist/web/skill-bundles.js +439 -0
  837. package/packages/gateway/dist/web/skill-bundles.js.map +1 -0
  838. package/packages/gateway/dist/web/skills.d.ts +57 -1
  839. package/packages/gateway/dist/web/skills.d.ts.map +1 -1
  840. package/packages/gateway/dist/web/skills.js +171 -9
  841. package/packages/gateway/dist/web/skills.js.map +1 -1
  842. package/packages/gateway/dist/web/zip-read.d.ts +31 -0
  843. package/packages/gateway/dist/web/zip-read.d.ts.map +1 -0
  844. package/packages/gateway/dist/web/zip-read.js +125 -0
  845. package/packages/gateway/dist/web/zip-read.js.map +1 -0
  846. package/packages/install/dist/.tsbuildinfo +1 -1
  847. package/packages/runtime/dist/.tsbuildinfo +1 -1
  848. package/packages/runtime/dist/delegate.d.ts +8 -0
  849. package/packages/runtime/dist/delegate.d.ts.map +1 -1
  850. package/packages/runtime/dist/delegate.js +19 -1
  851. package/packages/runtime/dist/delegate.js.map +1 -1
  852. package/packages/runtime/dist/index.d.ts +1 -0
  853. package/packages/runtime/dist/index.d.ts.map +1 -1
  854. package/packages/runtime/dist/index.js +1 -0
  855. package/packages/runtime/dist/index.js.map +1 -1
  856. package/packages/runtime/dist/loop.d.ts +2 -0
  857. package/packages/runtime/dist/loop.d.ts.map +1 -1
  858. package/packages/runtime/dist/loop.js +29 -5
  859. package/packages/runtime/dist/loop.js.map +1 -1
  860. package/packages/runtime/dist/plugin-sign-in.d.ts +12 -0
  861. package/packages/runtime/dist/plugin-sign-in.d.ts.map +1 -0
  862. package/packages/runtime/dist/plugin-sign-in.js +397 -0
  863. package/packages/runtime/dist/plugin-sign-in.js.map +1 -0
  864. package/packages/tools/artifacts/dist/.tsbuildinfo +1 -1
  865. package/packages/tools/artifacts/dist/tools/write.d.ts.map +1 -1
  866. package/packages/tools/artifacts/dist/tools/write.js +1 -0
  867. package/packages/tools/artifacts/dist/tools/write.js.map +1 -1
  868. package/packages/tools/browser/dist/.tsbuildinfo +1 -1
  869. package/packages/tools/browser/dist/availability.d.ts +2 -2
  870. package/packages/tools/browser/dist/availability.d.ts.map +1 -1
  871. package/packages/tools/browser/dist/availability.js +2 -2
  872. package/packages/tools/browser/dist/availability.js.map +1 -1
  873. package/packages/tools/browser/dist/controller.d.ts +76 -58
  874. package/packages/tools/browser/dist/controller.d.ts.map +1 -1
  875. package/packages/tools/browser/dist/controller.js +751 -219
  876. package/packages/tools/browser/dist/controller.js.map +1 -1
  877. package/packages/tools/browser/dist/extension.d.ts +12 -0
  878. package/packages/tools/browser/dist/extension.d.ts.map +1 -1
  879. package/packages/tools/browser/dist/extension.js +8 -0
  880. package/packages/tools/browser/dist/extension.js.map +1 -1
  881. package/packages/tools/browser/dist/index.d.ts +13 -5
  882. package/packages/tools/browser/dist/index.d.ts.map +1 -1
  883. package/packages/tools/browser/dist/index.js +29 -12
  884. package/packages/tools/browser/dist/index.js.map +1 -1
  885. package/packages/tools/browser/dist/manager.d.ts +39 -21
  886. package/packages/tools/browser/dist/manager.d.ts.map +1 -1
  887. package/packages/tools/browser/dist/manager.js +229 -136
  888. package/packages/tools/browser/dist/manager.js.map +1 -1
  889. package/packages/tools/browser/dist/routes.d.ts +130 -0
  890. package/packages/tools/browser/dist/routes.d.ts.map +1 -0
  891. package/packages/tools/browser/dist/routes.js +283 -0
  892. package/packages/tools/browser/dist/routes.js.map +1 -0
  893. package/packages/tools/browser/dist/service.d.ts +157 -114
  894. package/packages/tools/browser/dist/service.d.ts.map +1 -1
  895. package/packages/tools/browser/dist/service.js +379 -390
  896. package/packages/tools/browser/dist/service.js.map +1 -1
  897. package/packages/tools/browser/dist/settings.d.ts +88 -0
  898. package/packages/tools/browser/dist/settings.d.ts.map +1 -0
  899. package/packages/tools/browser/dist/settings.js +86 -0
  900. package/packages/tools/browser/dist/settings.js.map +1 -0
  901. package/packages/tools/browser/dist/telemetry.d.ts +203 -0
  902. package/packages/tools/browser/dist/telemetry.d.ts.map +1 -0
  903. package/packages/tools/browser/dist/telemetry.js +142 -0
  904. package/packages/tools/browser/dist/telemetry.js.map +1 -0
  905. package/packages/tools/browser/dist/types.d.ts +14 -3
  906. package/packages/tools/browser/dist/types.d.ts.map +1 -1
  907. package/packages/tools/browser/dist/types.js +9 -9
  908. package/packages/tools/browser/dist/types.js.map +1 -1
  909. package/packages/tools/email/dist/.tsbuildinfo +1 -1
  910. package/packages/tools/email/dist/widgets.d.ts.map +1 -1
  911. package/packages/tools/email/dist/widgets.js +2 -1
  912. package/packages/tools/email/dist/widgets.js.map +1 -1
  913. package/packages/tools/host/dist/.tsbuildinfo +1 -1
  914. package/packages/tools/host/dist/index.d.ts +2 -1
  915. package/packages/tools/host/dist/index.d.ts.map +1 -1
  916. package/packages/tools/host/dist/index.js +3 -2
  917. package/packages/tools/host/dist/index.js.map +1 -1
  918. package/packages/tools/host/dist/process.d.ts +4 -0
  919. package/packages/tools/host/dist/process.d.ts.map +1 -1
  920. package/packages/tools/host/dist/process.js +4 -2
  921. package/packages/tools/host/dist/process.js.map +1 -1
  922. package/packages/tools/host/dist/service.d.ts +66 -17
  923. package/packages/tools/host/dist/service.d.ts.map +1 -1
  924. package/packages/tools/host/dist/service.js +172 -9
  925. package/packages/tools/host/dist/service.js.map +1 -1
  926. package/packages/tools/host/dist/skill-run.d.ts +55 -0
  927. package/packages/tools/host/dist/skill-run.d.ts.map +1 -0
  928. package/packages/tools/host/dist/skill-run.js +132 -0
  929. package/packages/tools/host/dist/skill-run.js.map +1 -0
  930. package/packages/tools/mcp/dist/.tsbuildinfo +1 -1
  931. package/packages/tools/memory/dist/.tsbuildinfo +1 -1
  932. package/packages/tools/memory/dist/index.d.ts +1 -0
  933. package/packages/tools/memory/dist/index.d.ts.map +1 -1
  934. package/packages/tools/memory/dist/index.js +7 -2
  935. package/packages/tools/memory/dist/index.js.map +1 -1
  936. package/packages/tools/memory/dist/people.d.ts +218 -0
  937. package/packages/tools/memory/dist/people.d.ts.map +1 -0
  938. package/packages/tools/memory/dist/people.js +582 -0
  939. package/packages/tools/memory/dist/people.js.map +1 -0
  940. package/packages/tools/memory/dist/preamble.d.ts +4 -1
  941. package/packages/tools/memory/dist/preamble.d.ts.map +1 -1
  942. package/packages/tools/memory/dist/preamble.js +25 -7
  943. package/packages/tools/memory/dist/preamble.js.map +1 -1
  944. package/packages/tools/memory/migrations/002_people.sql +40 -0
  945. package/packages/tools/web/dist/.tsbuildinfo +1 -1
  946. package/packages/web/dist/assets/index-Bac-CdD-.css +1 -0
  947. package/packages/web/dist/assets/index-DI8bp_D7.js +146 -0
  948. package/packages/web/dist/assets/{lottie_light-Dj5SSwxs.js → lottie_light-CuiSMqnl.js} +1 -1
  949. package/packages/web/dist/build.json +1 -1
  950. package/packages/web/dist/index.html +2 -2
  951. package/packages/web/dist/precache.json +4 -4
  952. package/node_modules/@buddi/gateway/dist/web/apps.d.ts +0 -18
  953. package/node_modules/@buddi/gateway/dist/web/apps.d.ts.map +0 -1
  954. package/node_modules/@buddi/gateway/dist/web/apps.js +0 -84
  955. package/node_modules/@buddi/gateway/dist/web/apps.js.map +0 -1
  956. package/node_modules/@buddi/gateway/dist/web/tailscale.d.ts.map +0 -1
  957. package/node_modules/@buddi/gateway/dist/web/tailscale.js.map +0 -1
  958. package/node_modules/@buddi/tool-browser/dist/computer.d.ts +0 -153
  959. package/node_modules/@buddi/tool-browser/dist/computer.d.ts.map +0 -1
  960. package/node_modules/@buddi/tool-browser/dist/computer.js +0 -392
  961. package/node_modules/@buddi/tool-browser/dist/computer.js.map +0 -1
  962. package/node_modules/@buddi/tool-browser/dist/native/buddi-computer +0 -0
  963. package/packages/gateway/dist/web/apps.d.ts +0 -18
  964. package/packages/gateway/dist/web/apps.d.ts.map +0 -1
  965. package/packages/gateway/dist/web/apps.js +0 -84
  966. package/packages/gateway/dist/web/apps.js.map +0 -1
  967. package/packages/gateway/dist/web/tailscale.d.ts.map +0 -1
  968. package/packages/gateway/dist/web/tailscale.js.map +0 -1
  969. package/packages/tools/browser/dist/computer.d.ts +0 -153
  970. package/packages/tools/browser/dist/computer.d.ts.map +0 -1
  971. package/packages/tools/browser/dist/computer.js +0 -392
  972. package/packages/tools/browser/dist/computer.js.map +0 -1
  973. package/packages/tools/browser/dist/native/buddi-computer +0 -0
  974. package/packages/web/dist/assets/index-B_P_ux2I.css +0 -1
  975. package/packages/web/dist/assets/index-CjOzIGL7.js +0 -134
@@ -0,0 +1,439 @@
1
+ /**
2
+ * Skill bundles, the upload half (specs/skills-zone.md, part 2): a `.zip`
3
+ * holding a SKILL.md with `scripts/` and `assets/` beside it.
4
+ *
5
+ * Nothing in a bundle runs here, ever. The upload is streamed to a temporary
6
+ * folder, read and checked before anything is kept — size, file count, a
7
+ * SKILL.md with front matter, no absolute paths, no `..`, no links, nothing
8
+ * executable outside `scripts/` — and unpacked into a staging folder the
9
+ * preview reads from. Only the owner's "Add the skill" moves it into the
10
+ * skills folder (skills.ts, `acceptBundleRoute`); a staged upload nobody
11
+ * accepted is swept after an hour.
12
+ */
13
+ import { randomUUID } from 'node:crypto';
14
+ import { createWriteStream, existsSync, lstatSync, mkdirSync, readdirSync, readFileSync, rmSync, statSync, writeFileSync } from 'node:fs';
15
+ import { mkdir, rm } from 'node:fs/promises';
16
+ import path from 'node:path';
17
+ import { pipeline } from 'node:stream/promises';
18
+ import { zipSync } from 'fflate';
19
+ import { BUNDLE_SKILL_FILE, BUNDLE_SCRIPTS_DIR, splitFrontmatter } from '@buddi/core';
20
+ import { isExecutableMode, isSymlink, readZipEntries, readZipMember, ZipFormatError, ZipLimitError } from './zip-read.js';
21
+ /** A bundle is at most this big unpacked. */
22
+ export const BUNDLE_MAX_BYTES = 20 * 1024 * 1024;
23
+ /** A bundle holds at most this many files. */
24
+ export const BUNDLE_MAX_FILES = 500;
25
+ /** The upload itself: a zip a little over the unpacked limit (stored members carry headers). */
26
+ const UPLOAD_MAX_BYTES = BUNDLE_MAX_BYTES + 1024 * 1024;
27
+ /** A staged upload nobody accepted goes after this long. */
28
+ const STAGED_TTL_MS = 60 * 60 * 1000;
29
+ /** The largest file the viewer shows as text. */
30
+ const VIEW_TEXT_MAX = 256 * 1024;
31
+ const refuse = (status, refusal, error) => ({ status, body: { error, refusal } });
32
+ /* ------------------------------------------------------------------ *
33
+ * kinds
34
+ * ------------------------------------------------------------------ */
35
+ const FONT = /\.(ttf|otf|woff2?)$/i;
36
+ const IMAGE = /\.(png|jpe?g|gif|webp|svg|ico)$/i;
37
+ const DATA = /\.(json|csv|tsv|ya?ml|toml|xml)$/i;
38
+ const TEMPLATE = /\.(md|markdown|txt|html?|css|tex|rtf)$/i;
39
+ /** Kept out of everywhere but `scripts/`: what runs, or what a shell or a loader runs. */
40
+ const EXECUTABLE_EXT = /\.(sh|bash|zsh|fish|command|py|pyc|rb|pl|php|js|mjs|cjs|ts|exe|dll|so|dylib|bat|cmd|ps1|vbs|jar|app|bin|elf|msi|scpt|applescript)$/i;
41
+ const RASTER = { '.png': 'image/png', '.jpg': 'image/jpeg', '.jpeg': 'image/jpeg', '.gif': 'image/gif', '.webp': 'image/webp', '.svg': 'image/svg+xml', '.ico': 'image/x-icon' };
42
+ export function fileKind(rel) {
43
+ if (rel === BUNDLE_SKILL_FILE)
44
+ return 'skill';
45
+ if (rel.startsWith(`${BUNDLE_SCRIPTS_DIR}/`))
46
+ return 'script';
47
+ if (FONT.test(rel))
48
+ return 'font';
49
+ if (IMAGE.test(rel))
50
+ return 'image';
51
+ if (DATA.test(rel))
52
+ return 'data';
53
+ if (TEMPLATE.test(rel))
54
+ return 'template';
55
+ return 'other';
56
+ }
57
+ function rowOf(rel, size) {
58
+ const kind = fileKind(rel);
59
+ const setup = kind === 'script' && /^(setup|install|bootstrap)([._-]|$)/i.test(path.posix.basename(rel));
60
+ return { path: rel, size, kind, ...(setup ? { setup: true } : {}) };
61
+ }
62
+ /** Every file in a bundle's folder, SKILL.md first, then by path. */
63
+ export function bundleFileRows(dir) {
64
+ const rows = [];
65
+ const walk = (rel) => {
66
+ let entries;
67
+ try {
68
+ entries = readdirSync(path.join(dir, rel), { withFileTypes: true });
69
+ }
70
+ catch {
71
+ return;
72
+ }
73
+ for (const e of entries) {
74
+ const child = rel ? `${rel}/${e.name}` : e.name;
75
+ if (e.isDirectory())
76
+ walk(child);
77
+ else if (e.isFile())
78
+ rows.push(rowOf(child, statSync(path.join(dir, child)).size));
79
+ }
80
+ };
81
+ walk('');
82
+ return rows.sort((a, b) => (a.path === BUNDLE_SKILL_FILE ? -1 : b.path === BUNDLE_SKILL_FILE ? 1 : a.path.localeCompare(b.path)));
83
+ }
84
+ /* ------------------------------------------------------------------ *
85
+ * receiving the upload
86
+ * ------------------------------------------------------------------ */
87
+ /** The staging folder: `<private>/.incoming/skills` beside the skills folder. */
88
+ export function incomingDirFor(skillsDir) {
89
+ return path.join(path.dirname(path.resolve(skillsDir)), '.incoming', 'skills');
90
+ }
91
+ /** The filename the browser sent, as a label: its base name, no quotes or line breaks. */
92
+ export function uploadLabel(claimed) {
93
+ let name = claimed ?? '';
94
+ try {
95
+ name = decodeURIComponent(name);
96
+ }
97
+ catch {
98
+ // As sent.
99
+ }
100
+ return path.basename(name.replace(/\\/g, '/')).replace(/[\r\n"]/g, '').trim().slice(0, 200) || 'bundle.zip';
101
+ }
102
+ /**
103
+ * Stream the request body to a temporary file, counted as it arrives and
104
+ * abandoned the moment it crosses the cap. Returns the path, or the refusal.
105
+ */
106
+ export async function receiveBundleUpload(incomingDir, req, filename) {
107
+ if (!/\.zip$/i.test(filename)) {
108
+ return refuse(415, { kind: 'notzip', filename }, `“${filename}” isn’t a .zip or a .md. A skill is one Markdown file, or a .zip bundle with SKILL.md inside.`);
109
+ }
110
+ sweepStaged(incomingDir);
111
+ await mkdir(incomingDir, { recursive: true, mode: 0o700 });
112
+ const target = path.join(incomingDir, `${randomUUID()}.zip`);
113
+ const declared = Number(req.headers['content-length'] ?? NaN);
114
+ if (Number.isFinite(declared) && declared > UPLOAD_MAX_BYTES) {
115
+ req.resume();
116
+ return refuse(413, { kind: 'big', filename, size: declared }, tooBigSentence(filename, declared));
117
+ }
118
+ let bytes = 0;
119
+ let tooBig = false;
120
+ req.on('data', (chunk) => {
121
+ bytes += chunk.length;
122
+ if (bytes > UPLOAD_MAX_BYTES && !tooBig) {
123
+ tooBig = true;
124
+ req.destroy(new Error('too big'));
125
+ }
126
+ });
127
+ try {
128
+ await pipeline(req, createWriteStream(target, { mode: 0o600 }));
129
+ }
130
+ catch (err) {
131
+ await rm(target, { force: true }).catch(() => { });
132
+ if (tooBig)
133
+ return refuse(413, { kind: 'big', filename, size: bytes }, tooBigSentence(filename, bytes));
134
+ return { status: 400, body: { error: `The upload did not finish: ${err instanceof Error ? err.message : String(err)}` } };
135
+ }
136
+ if (bytes === 0) {
137
+ await rm(target, { force: true }).catch(() => { });
138
+ return { status: 400, body: { error: 'That upload was empty.' } };
139
+ }
140
+ return { path: target };
141
+ }
142
+ function mb(bytes) {
143
+ return `${Math.max(1, Math.round(bytes / (1024 * 1024)))} MB`;
144
+ }
145
+ function tooBigSentence(filename, size) {
146
+ return `“${filename}” is too big: it’s ${mb(size)}; a bundle can be up to ${mb(BUNDLE_MAX_BYTES)} unpacked. Leave large files out — SKILL.md can say where to find them.`;
147
+ }
148
+ /** Staged uploads older than an hour, and stray zips, go. */
149
+ export function sweepStaged(incomingDir, now = Date.now()) {
150
+ let names;
151
+ try {
152
+ names = readdirSync(incomingDir);
153
+ }
154
+ catch {
155
+ return;
156
+ }
157
+ for (const name of names) {
158
+ const full = path.join(incomingDir, name);
159
+ try {
160
+ if (now - lstatSync(full).mtimeMs > STAGED_TTL_MS)
161
+ rmSync(full, { recursive: true, force: true });
162
+ }
163
+ catch {
164
+ // Gone already.
165
+ }
166
+ }
167
+ }
168
+ /* ------------------------------------------------------------------ *
169
+ * checking and unpacking
170
+ * ------------------------------------------------------------------ */
171
+ const IGNORED = (name) => name.startsWith('__MACOSX/') || /(^|\/)\.DS_Store$/.test(name);
172
+ /** Why a member's path is refused, or null. */
173
+ function pathProblem(name) {
174
+ if (name.includes('\0'))
175
+ return 'has a NUL in its name';
176
+ if (name.includes('\\'))
177
+ return 'uses backslashes, which can climb out on some systems';
178
+ if (name.startsWith('/') || /^[A-Za-z]:/.test(name))
179
+ return 'is an absolute path';
180
+ if (name.split('/').some((part) => part === '..'))
181
+ return 'climbs out of the folder';
182
+ return null;
183
+ }
184
+ /** Bytes that start a program: ELF, Mach-O (thin and fat), a Windows executable. */
185
+ function looksLikeProgram(bytes) {
186
+ if (bytes.length < 4)
187
+ return false;
188
+ const b = (i) => bytes[i];
189
+ const word = ((b(0) << 24) | (b(1) << 16) | (b(2) << 8) | b(3)) >>> 0;
190
+ if (word === 0x7f454c46)
191
+ return true;
192
+ if ([0xfeedface, 0xfeedfacf, 0xcefaedfe, 0xcffaedfe, 0xcafebabe].includes(word))
193
+ return true;
194
+ return b(0) === 0x4d && b(1) === 0x5a;
195
+ }
196
+ /** The lenient read of SKILL.md's front matter: the top-level `key: value` lines, nested maps skipped. */
197
+ export function readBundleFrontmatter(text) {
198
+ let split;
199
+ try {
200
+ split = splitFrontmatter(text.replace(/^/, '').replace(/\r\n/g, '\n'));
201
+ }
202
+ catch {
203
+ return null;
204
+ }
205
+ const fields = {};
206
+ for (const line of split.frontmatter.split('\n')) {
207
+ const m = /^([A-Za-z][A-Za-z0-9_-]*):\s*(.*)$/.exec(line);
208
+ if (!m)
209
+ continue;
210
+ const value = m[2].trim().replace(/^(['"])(.*)\1$/, '$2').trim();
211
+ if (value !== '' && value !== '|' && value !== '>')
212
+ fields[m[1].toLowerCase()] = value;
213
+ }
214
+ return { fields, body: split.body };
215
+ }
216
+ /**
217
+ * Read the zip at `zipPath`, check it, and unpack it into a staging folder.
218
+ * Answers the preview, or the refusal with what buddi saw. The zip is
219
+ * removed either way.
220
+ */
221
+ export function stageBundle(incomingDir, zipPath, filename, now) {
222
+ try {
223
+ return stage(incomingDir, zipPath, filename, now);
224
+ }
225
+ finally {
226
+ rmSync(zipPath, { force: true });
227
+ }
228
+ }
229
+ function stage(incomingDir, zipPath, filename, now) {
230
+ const zip = new Uint8Array(readFileSync(zipPath));
231
+ let entries;
232
+ try {
233
+ entries = readZipEntries(zip).filter((e) => !IGNORED(e.name));
234
+ }
235
+ catch (err) {
236
+ return refuse(422, { kind: 'notzip', filename }, `“${filename}” could not be read as a zip: ${err instanceof Error ? err.message : String(err)}`);
237
+ }
238
+ // Paths and links first: one bad entry and nothing is unpacked.
239
+ const bad = [];
240
+ for (const e of entries) {
241
+ const problem = pathProblem(e.name);
242
+ if (problem)
243
+ bad.push({ path: e.name, why: problem });
244
+ else if (isSymlink(e)) {
245
+ let target;
246
+ try {
247
+ target = new TextDecoder().decode(readZipMember(zip, e, 4096)).slice(0, 200);
248
+ }
249
+ catch {
250
+ target = undefined;
251
+ }
252
+ bad.push({ path: e.name, why: 'is a link', ...(target ? { target } : {}) });
253
+ }
254
+ else if (e.encrypted)
255
+ bad.push({ path: e.name, why: 'is encrypted' });
256
+ }
257
+ if (bad.length > 0) {
258
+ return refuse(422, { kind: 'paths', filename, entries: bad }, `“${filename}” was refused: ${bad.length === 1 ? 'one entry reaches' : `${bad.length} entries reach`} outside the bundle or can’t be read (${bad.map((b) => `${b.path} ${b.why}`).join('; ')}), so nothing was unpacked.`);
259
+ }
260
+ const files = entries.filter((e) => !e.directory);
261
+ if (files.length > BUNDLE_MAX_FILES) {
262
+ return refuse(422, { kind: 'count', filename, files: files.length }, `“${filename}” holds ${files.length} files; a bundle can hold up to ${BUNDLE_MAX_FILES}.`);
263
+ }
264
+ const declared = files.reduce((sum, e) => sum + e.size, 0);
265
+ if (declared > BUNDLE_MAX_BYTES)
266
+ return refuse(413, { kind: 'big', filename, size: declared }, tooBigSentence(filename, declared));
267
+ // Where SKILL.md is: at the top, or inside the one folder everything sits in.
268
+ const tops = new Set(entries.map((e) => e.name.split('/')[0]));
269
+ const single = tops.size === 1 && entries.some((e) => e.name.includes('/')) ? `${[...tops][0]}/` : null;
270
+ const prefix = files.some((e) => e.name === BUNDLE_SKILL_FILE) ? '' : single && files.some((e) => e.name === `${single}${BUNDLE_SKILL_FILE}`) ? single : null;
271
+ if (prefix === null) {
272
+ return refuse(422, { kind: 'noskill', filename, looked: single ? ['', single] : [''] }, `No SKILL.md in “${filename}”. buddi looked at the top${single ? ` and inside ${single}` : ''}. A bundle needs SKILL.md in one of them, with scripts/ and assets/ beside it.`);
273
+ }
274
+ const rel = (e) => e.name.slice(prefix.length);
275
+ // Executables outside scripts/: by mode and by name, then by their first bytes as they unpack.
276
+ const executables = [];
277
+ for (const e of files) {
278
+ const r = rel(e);
279
+ if (r.startsWith(`${BUNDLE_SCRIPTS_DIR}/`))
280
+ continue;
281
+ if (isExecutableMode(e))
282
+ executables.push({ path: r, why: 'is marked executable' });
283
+ else if (EXECUTABLE_EXT.test(r))
284
+ executables.push({ path: r, why: 'is a script or a program' });
285
+ }
286
+ const id = randomUUID();
287
+ const root = path.join(incomingDir, id);
288
+ const filesDir = path.join(root, 'files');
289
+ const rows = [];
290
+ let unpacked = 0;
291
+ try {
292
+ mkdirSync(filesDir, { recursive: true, mode: 0o700 });
293
+ for (const e of files) {
294
+ const r = rel(e);
295
+ let bytes;
296
+ try {
297
+ bytes = readZipMember(zip, e, BUNDLE_MAX_BYTES - unpacked);
298
+ }
299
+ catch (err) {
300
+ rmSync(root, { recursive: true, force: true });
301
+ if (err instanceof ZipLimitError) {
302
+ return refuse(413, { kind: 'big', filename, size: declared }, `“${filename}” was refused: ${err.message} Nothing was kept.`);
303
+ }
304
+ if (err instanceof ZipFormatError)
305
+ return refuse(422, { kind: 'damaged', filename }, `“${filename}” is damaged: ${err.message}`);
306
+ throw err;
307
+ }
308
+ unpacked += bytes.length;
309
+ if (!r.startsWith(`${BUNDLE_SCRIPTS_DIR}/`) && looksLikeProgram(bytes) && !executables.some((x) => x.path === r)) {
310
+ executables.push({ path: r, why: 'is a program' });
311
+ }
312
+ const target = path.join(filesDir, r);
313
+ if (!target.startsWith(filesDir + path.sep))
314
+ throw new Error(`refusing ${r}`);
315
+ mkdirSync(path.dirname(target), { recursive: true, mode: 0o755 });
316
+ writeFileSync(target, bytes, { mode: 0o644, flag: 'wx' });
317
+ rows.push(rowOf(r, bytes.length));
318
+ }
319
+ }
320
+ catch (err) {
321
+ rmSync(root, { recursive: true, force: true });
322
+ if (err.code === 'EEXIST') {
323
+ return refuse(422, { kind: 'damaged', filename }, `“${filename}” lists the same file twice, so it was refused.`);
324
+ }
325
+ const code = err.code;
326
+ if (code === 'ENOTDIR' || code === 'EISDIR') {
327
+ return refuse(422, { kind: 'damaged', filename }, `“${filename}” holds a file and a folder with the same name, so it was refused.`);
328
+ }
329
+ throw err;
330
+ }
331
+ if (executables.length > 0) {
332
+ rmSync(root, { recursive: true, force: true });
333
+ return refuse(422, { kind: 'executable', filename, entries: executables }, `“${filename}” was refused: ${executables.map((x) => `${x.path} ${x.why}`).join('; ')}. A bundle keeps anything that runs in scripts/.`);
334
+ }
335
+ const skillText = readFileSync(path.join(filesDir, BUNDLE_SKILL_FILE), 'utf8');
336
+ const fm = readBundleFrontmatter(skillText);
337
+ const description = fm?.fields.description ?? '';
338
+ if (!fm || description === '' || fm.body.trim() === '') {
339
+ rmSync(root, { recursive: true, force: true });
340
+ return refuse(422, { kind: 'frontmatter', filename }, `“${filename}”’s SKILL.md needs front matter with a description (when it’s used) between --- lines, then the steps.`);
341
+ }
342
+ const body = fm.body.trim();
343
+ const heading = /^#\s+(.+)$/m.exec(body)?.[1]?.trim();
344
+ const named = fm.fields.name ?? '';
345
+ const words = (named || filename.replace(/\.zip$/i, '')).replace(/[-_]+/g, ' ').trim();
346
+ const title = (fm.fields.title ?? heading ?? (words.charAt(0).toUpperCase() + words.slice(1))).slice(0, 80);
347
+ const firstLines = body.replace(/^#.*$/m, '').replace(/\s+/g, ' ').trim().slice(0, 160);
348
+ rows.sort((a, b) => (a.path === BUNDLE_SKILL_FILE ? -1 : b.path === BUNDLE_SKILL_FILE ? 1 : a.path.localeCompare(b.path)));
349
+ const staged = {
350
+ id,
351
+ filename,
352
+ packed: zip.length,
353
+ size: unpacked,
354
+ files: rows,
355
+ scripts: rows.filter((r) => r.kind === 'script').map((r) => r.path),
356
+ skill: { name: named, title, description: description.slice(0, 300), firstLines, body, ...(fm.fields.network === 'true' ? { network: true } : {}) },
357
+ createdAt: now.toISOString(),
358
+ };
359
+ writeFileSync(path.join(root, 'meta.json'), JSON.stringify(staged), { mode: 0o600 });
360
+ return { status: 200, body: { staged: previewOf(staged) } };
361
+ }
362
+ /** What the preview shows: everything but the whole text. */
363
+ function previewOf(staged) {
364
+ const { body: _body, ...skill } = staged.skill;
365
+ return { ...staged, skill };
366
+ }
367
+ const STAGED_ID = /^[0-9a-f-]{36}$/;
368
+ /** A staged upload by its id: its meta and the folder its files are in. Null when it is gone. */
369
+ export function readStaged(incomingDir, id) {
370
+ if (!STAGED_ID.test(id))
371
+ return null;
372
+ const root = path.join(incomingDir, id);
373
+ try {
374
+ const staged = JSON.parse(readFileSync(path.join(root, 'meta.json'), 'utf8'));
375
+ return { staged, dir: path.join(root, 'files'), root };
376
+ }
377
+ catch {
378
+ return null;
379
+ }
380
+ }
381
+ export function discardStaged(incomingDir, id) {
382
+ const found = readStaged(incomingDir, id);
383
+ if (found)
384
+ rmSync(found.root, { recursive: true, force: true });
385
+ return { status: 200, body: { discarded: id } };
386
+ }
387
+ /* ------------------------------------------------------------------ *
388
+ * reading one file, for the viewer
389
+ * ------------------------------------------------------------------ */
390
+ /** A path inside `dir`, or null when it names anything else (or a link). */
391
+ export function bundlePath(dir, rel) {
392
+ if (!rel || pathProblem(rel) || rel.split('/').some((p) => p === '' || p === '.'))
393
+ return null;
394
+ const full = path.join(dir, rel);
395
+ if (!full.startsWith(path.resolve(dir) + path.sep))
396
+ return null;
397
+ try {
398
+ const st = lstatSync(full);
399
+ return st.isFile() ? full : null;
400
+ }
401
+ catch {
402
+ return null;
403
+ }
404
+ }
405
+ /** `{ path, size, kind, text }` for a text file, `{ …, binary: true }` (and `image` for a picture) for the rest. */
406
+ export function bundleFileView(dir, rel) {
407
+ const full = bundlePath(dir, rel);
408
+ if (!full)
409
+ return { status: 404, body: { error: `There is no file "${rel}" in this bundle.` } };
410
+ const row = rowOf(rel, statSync(full).size);
411
+ const image = RASTER[path.extname(rel).toLowerCase()] !== undefined;
412
+ if (row.kind === 'font' || (image && !/\.svg$/i.test(rel)) || row.size > VIEW_TEXT_MAX) {
413
+ return { status: 200, body: { file: { ...row, binary: true, ...(image ? { image: true } : {}) } } };
414
+ }
415
+ const bytes = readFileSync(full);
416
+ if (bytes.subarray(0, 8192).includes(0))
417
+ return { status: 200, body: { file: { ...row, binary: true } } };
418
+ return { status: 200, body: { file: { ...row, text: bytes.toString('utf8'), ...(image ? { image: true } : {}) } } };
419
+ }
420
+ /** A picture's bytes and type, for the viewer's <img>. Null for anything that is not a picture. */
421
+ export function bundleImage(dir, rel) {
422
+ const type = RASTER[path.extname(rel).toLowerCase()];
423
+ const full = type ? bundlePath(dir, rel) : null;
424
+ if (!full || !type)
425
+ return null;
426
+ return { bytes: readFileSync(full), type };
427
+ }
428
+ /** The bundle as a .zip, its folder at the top, for Download. */
429
+ export function zipBundle(dir, name) {
430
+ const tree = {};
431
+ for (const row of bundleFileRows(dir))
432
+ tree[`${name}/${row.path}`] = new Uint8Array(readFileSync(path.join(dir, row.path)));
433
+ return zipSync(tree, { level: 6 });
434
+ }
435
+ /** Whether a folder exists (for the accept's collision check). */
436
+ export function folderExists(dir) {
437
+ return existsSync(dir);
438
+ }
439
+ //# sourceMappingURL=skill-bundles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-bundles.js","sourceRoot":"","sources":["../../src/web/skill-bundles.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { type AgentCatalog, type Skill } from '@buddi/core';
2
2
  import type { Pool } from 'pg';
3
+ import { type BundleFileRow } from './skill-bundles.js';
3
4
  export interface RouteReply {
4
5
  status: number;
5
6
  body: unknown;
@@ -19,6 +20,8 @@ export interface SkillsDeps {
19
20
  now: () => Date;
20
21
  /** For a learned skill's delete, which counts its proposal as discarded. */
21
22
  pool?: Pool;
23
+ /** Where an uploaded bundle waits for the owner's yes; `<private>/.incoming/skills` by default. */
24
+ incomingDir?: string;
22
25
  }
23
26
  export type SkillGroup = 'mine' | 'learned' | 'plugin' | 'catalogue';
24
27
  export type SkillFrom = {
@@ -75,6 +78,12 @@ export interface SkillRow {
75
78
  deletable: boolean;
76
79
  /** It can be given to every agent (a shared skill; one in an agent's folder is granted agent by agent). */
77
80
  shareable: boolean;
81
+ /** A bundle (SKILL.md with files beside it): how many files besides the text, its scripts, its size in bytes. */
82
+ bundle: {
83
+ files: number;
84
+ scripts: string[];
85
+ size: number;
86
+ } | null;
78
87
  }
79
88
  export interface SkillsAgent {
80
89
  id: string;
@@ -82,6 +91,8 @@ export interface SkillsAgent {
82
91
  name: string;
83
92
  /** Its file is the owner's, so a grant can be written there (not a shipped example). */
84
93
  writable: boolean;
94
+ /** It holds the tool a bundle's scripts run through (`host.exec`), so it can run them, asking each time. */
95
+ canRunScripts: boolean;
85
96
  }
86
97
  /** The largest skill text accepted, in characters. */
87
98
  export declare const SKILL_TEXT_MAX = 50000;
@@ -89,10 +100,20 @@ export declare const SKILL_TEXT_MAX = 50000;
89
100
  export declare function listSkillsRoute(deps: SkillsDeps): RouteReply;
90
101
  /** `GET /api/skills/:id`: one skill whole — the row, its text and the file as written. */
91
102
  export declare function skillDetailRoute(deps: SkillsDeps, id: string): RouteReply;
92
- /** `GET /api/skills/:id/download`: the file as it is on disk. Null when there is none. */
103
+ /** `GET /api/skills/:id/download`: the file as it is on disk, or a bundle as a .zip. Null when there is none. */
93
104
  export declare function skillDownload(deps: SkillsDeps, id: string): {
94
105
  filename: string;
95
106
  text: string;
107
+ } | {
108
+ filename: string;
109
+ zip: Uint8Array;
110
+ } | null;
111
+ /** `GET /api/skills/:id/file?path=`: one of a bundle's files, for the sheet's viewer. */
112
+ export declare function skillFileRoute(deps: SkillsDeps, id: string, rel: string): RouteReply;
113
+ /** `GET /api/skills/:id/image?path=`: a bundle's picture. Null when it is not one. */
114
+ export declare function skillImage(deps: SkillsDeps, id: string, rel: string): {
115
+ bytes: Buffer;
116
+ type: string;
96
117
  } | null;
97
118
  /** `POST /api/skills/:id/grants` `{ every?, agents }`: who uses it, written in each agent's file. */
98
119
  export declare function grantSkillRoute(deps: SkillsDeps, id: string, body: Record<string, unknown>): RouteReply;
@@ -121,4 +142,39 @@ export declare function trustSkillRoute(deps: SkillsDeps, id: string): RouteRepl
121
142
  * trash folder beside the agents. A plugin's is deleted with the plugin.
122
143
  */
123
144
  export declare function deleteSkillRoute(deps: SkillsDeps, id: string): Promise<RouteReply>;
145
+ /** `GET /api/skills/bundles/:staged/file?path=`: one file of an upload not kept yet, for the preview's viewer. */
146
+ export declare function stagedFileRoute(deps: SkillsDeps, stagedId: string, rel: string): RouteReply;
147
+ /** `GET /api/skills/bundles/:staged/image?path=`. */
148
+ export declare function stagedImage(deps: SkillsDeps, stagedId: string, rel: string): {
149
+ bytes: Buffer;
150
+ type: string;
151
+ } | null;
152
+ /**
153
+ * `POST /api/skills/bundles/:staged` `{ every?, agents?, mine? }`: keep a
154
+ * checked upload. Its files move into the skills folder under their own
155
+ * directory, its SKILL.md is written in buddi's front matter (the name, the
156
+ * title, when it's used, where it came from, untrusted unless `mine`), and
157
+ * the grant is written in each agent's file — all checked by a reload, and
158
+ * undone, folder included, when the reload refuses.
159
+ */
160
+ export declare function acceptBundleRoute(deps: SkillsDeps, stagedId: string, body: Record<string, unknown>): RouteReply;
161
+ /**
162
+ * What `host.exec`'s `skill` form asks (tools/host `SkillBundles`): the
163
+ * bundle called `name` that this agent loads, read fresh from its SKILL.md so
164
+ * a mark made a moment ago counts. Only a shared bundle in the owner's skills
165
+ * folder, and only one the catalog composes into this agent's prompt.
166
+ */
167
+ export declare function skillBundlesFor(deps: Pick<SkillsDeps, 'catalog' | 'skillsDir'>): {
168
+ held(agentId: string, name: string): {
169
+ name: string;
170
+ title: string;
171
+ dir: string;
172
+ untrusted: boolean;
173
+ network: boolean;
174
+ files: string[];
175
+ scripts: string[];
176
+ } | null;
177
+ root(): string;
178
+ };
179
+ export type { BundleFileRow };
124
180
  //# sourceMappingURL=skills.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/web/skills.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/web/skills.ts"],"names":[],"mappings":"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"}