@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
@@ -32,12 +32,13 @@
32
32
  * The shipped examples (`examples/agents`, `examples/skills`) belong to the
33
33
  * platform and are not listed.
34
34
  */
35
- import { existsSync, mkdirSync, readdirSync, readFileSync, renameSync, rmSync, statSync } from 'node:fs';
35
+ import { cpSync, existsSync, mkdirSync, readdirSync, readFileSync, renameSync, rmSync, statSync } from 'node:fs';
36
36
  import path from 'node:path';
37
- import { applyFrontmatterPatch, currentSkillFile, parseAgentFile, parseSkillFile, parseYamlSubset, selectSkills, serializeYamlValue, skillRequestable, skillSlug, skillVersions, skillVersionsDir, splitFrontmatter, SKILLS_DIR, } from '@buddi/core';
37
+ import { applyFrontmatterPatch, currentSkillFile, parseAgentFile, parseSkillBundle, parseSkillFile, parseYamlSubset, selectSkills, serializeYamlValue, skillRequestable, skillBundleNames, skillSlug, skillVersions, skillVersionsDir, splitFrontmatter, SKILLS_DIR, SKILL_SCRIPT_TOOL, BUNDLE_SKILL_FILE, } from '@buddi/core';
38
38
  import { readProvenance } from '../plugins/provenance.js';
39
39
  import { removeLearnedSkillFromWeb } from '../agents/learned-skills.js';
40
40
  import { replaceBody, trashStamp, writeFilesAtomic } from '../agents/platform-files.js';
41
+ import { bundleFileRows, bundleFileView, bundleImage, incomingDirFor, readStaged, zipBundle } from './skill-bundles.js';
41
42
  /** The largest skill text accepted, in characters. */
42
43
  export const SKILL_TEXT_MAX = 50_000;
43
44
  const TITLE_MAX = 80;
@@ -68,7 +69,16 @@ function readDir(dir, scope) {
68
69
  // A file the loader refuses is the catalog's to report; it is not a skill anybody holds.
69
70
  }
70
71
  }
71
- return out;
72
+ // Bundles: `<name>/SKILL.md` with its files beside it.
73
+ for (const name of skillBundleNames(dir)) {
74
+ try {
75
+ out.push(parseSkillBundle(path.join(dir, name), { scope }));
76
+ }
77
+ catch {
78
+ // As above: the catalog reports it.
79
+ }
80
+ }
81
+ return out.sort((a, b) => a.name.localeCompare(b.name));
72
82
  }
73
83
  function agentRecords(catalog) {
74
84
  return catalog
@@ -83,7 +93,10 @@ function agentRecords(catalog) {
83
93
  catch {
84
94
  declared = [];
85
95
  }
86
- return { id: agent.id, handle: agent.handle, name: agent.name, file: agent.file, writable: agent.source === 'private', declared };
96
+ return {
97
+ id: agent.id, handle: agent.handle, name: agent.name, file: agent.file, writable: agent.source === 'private', declared,
98
+ canRunScripts: (agent.tools ?? []).includes(SKILL_SCRIPT_TOOL),
99
+ };
87
100
  });
88
101
  }
89
102
  function inventory(deps, agents) {
@@ -216,6 +229,7 @@ function rowOf(entry, agents, installed, entries = []) {
216
229
  editable: grouped.group !== 'plugin',
217
230
  deletable: !(from?.kind === 'plugin' && from.installed),
218
231
  shareable: entry.home === null,
232
+ bundle: skill.bundle ? { files: skill.bundle.files.length, scripts: skill.bundle.scripts, size: skill.bundle.size } : null,
219
233
  };
220
234
  }
221
235
  function snapshot(deps) {
@@ -235,7 +249,7 @@ export function listSkillsRoute(deps) {
235
249
  return { status: 200, body: { skills, agents: agentsView(snap.agents) } };
236
250
  }
237
251
  function agentsView(agents) {
238
- return agents.map(({ id, handle, name, writable }) => ({ id, handle, name, writable }));
252
+ return agents.map(({ id, handle, name, writable, canRunScripts }) => ({ id, handle, name, writable, canRunScripts }));
239
253
  }
240
254
  function detail(snap, entry) {
241
255
  const row = rowOf(entry, snap.agents, snap.installed, snap.entries);
@@ -245,6 +259,7 @@ function detail(snap, entry) {
245
259
  body: entry.skill.body,
246
260
  text: readFileSync(entry.skill.file, 'utf8'),
247
261
  ...(versions.length > 0 ? { versions } : {}),
262
+ ...(entry.skill.bundle ? { bundle: { files: bundleFileRows(entry.skill.bundle.dir), size: entry.skill.bundle.size, scripts: entry.skill.bundle.scripts } } : {}),
248
263
  /*
249
264
  * What a delete does, for the confirmation: who stops using it, and what
250
265
  * becomes of the file (the trash; a learned one's versions stay and it is
@@ -267,13 +282,29 @@ export function skillDetailRoute(deps, id) {
267
282
  return fail(404, `There is no skill "${id}".`);
268
283
  return { status: 200, body: detail(snap, entry) };
269
284
  }
270
- /** `GET /api/skills/:id/download`: the file as it is on disk. Null when there is none. */
285
+ /** `GET /api/skills/:id/download`: the file as it is on disk, or a bundle as a .zip. Null when there is none. */
271
286
  export function skillDownload(deps, id) {
272
287
  const entry = find(snapshot(deps), id);
273
288
  if (!entry)
274
289
  return null;
290
+ if (entry.skill.bundle)
291
+ return { filename: `${entry.skill.name}.zip`, zip: zipBundle(entry.skill.bundle.dir, entry.skill.name) };
275
292
  return { filename: `${entry.skill.name}.md`, text: readFileSync(entry.skill.file, 'utf8') };
276
293
  }
294
+ /** `GET /api/skills/:id/file?path=`: one of a bundle's files, for the sheet's viewer. */
295
+ export function skillFileRoute(deps, id, rel) {
296
+ const entry = find(snapshot(deps), id);
297
+ if (!entry)
298
+ return fail(404, `There is no skill "${id}".`);
299
+ if (!entry.skill.bundle)
300
+ return fail(404, `"${id}" is one file, not a bundle.`);
301
+ return bundleFileView(entry.skill.bundle.dir, rel);
302
+ }
303
+ /** `GET /api/skills/:id/image?path=`: a bundle's picture. Null when it is not one. */
304
+ export function skillImage(deps, id, rel) {
305
+ const entry = find(snapshot(deps), id);
306
+ return entry?.skill.bundle ? bundleImage(entry.skill.bundle.dir, rel) : null;
307
+ }
277
308
  /* ------------------------------------------------------------------ *
278
309
  * Writing, checked by a reload
279
310
  * ------------------------------------------------------------------ */
@@ -469,7 +500,8 @@ function oneLine(value, field, max) {
469
500
  }
470
501
  /** A free name for a new shared skill: not a shared one, and not any agent's own (that would collide in its prompt). */
471
502
  function freeName(snap, wanted) {
472
- const taken = new Set(snap.entries.map((e) => e.skill.name));
503
+ // `bundles` is the upload's own path under /api/skills.
504
+ const taken = new Set([...snap.entries.map((e) => e.skill.name), 'bundles']);
473
505
  // The owner's agents' own skills are in the inventory already; the shipped ones' are not.
474
506
  for (const agent of snap.agents) {
475
507
  if (agent.writable)
@@ -725,10 +757,140 @@ export async function deleteSkillRoute(deps, id) {
725
757
  };
726
758
  }
727
759
  const stamp = trashStamp(deps.now());
728
- const movedTo = path.join(deps.trashRoot, 'skills', `${entry.home === null ? '' : `${entry.home}-`}${entry.skill.name}-${stamp}.md`);
729
- const refused = commit(deps, writes, [{ from: entry.skill.file, to: movedTo }]);
760
+ const bundleDir = entry.skill.bundle?.dir;
761
+ const movedTo = path.join(deps.trashRoot, 'skills', `${entry.home === null ? '' : `${entry.home}-`}${entry.skill.name}-${stamp}${bundleDir ? '' : '.md'}`);
762
+ const refused = commit(deps, writes, [{ from: bundleDir ?? entry.skill.file, to: movedTo }]);
730
763
  if (refused)
731
764
  return fail(409, refused);
732
765
  return { status: 200, body: { deleted: id, stopped, movedTo } };
733
766
  }
767
+ /* ------------------------------------------------------------------ *
768
+ * Bundles: taking a staged upload, and what the exec tool asks
769
+ * ------------------------------------------------------------------ */
770
+ /** Where a staged upload waits: beside the skills folder, never inside it. */
771
+ function incomingOf(deps) {
772
+ return deps.incomingDir ?? incomingDirFor(deps.skillsDir);
773
+ }
774
+ /** `GET /api/skills/bundles/:staged/file?path=`: one file of an upload not kept yet, for the preview's viewer. */
775
+ export function stagedFileRoute(deps, stagedId, rel) {
776
+ const found = readStaged(incomingOf(deps), stagedId);
777
+ if (!found)
778
+ return fail(404, 'That upload is gone: upload the .zip again.');
779
+ return bundleFileView(found.dir, rel);
780
+ }
781
+ /** `GET /api/skills/bundles/:staged/image?path=`. */
782
+ export function stagedImage(deps, stagedId, rel) {
783
+ const found = readStaged(incomingOf(deps), stagedId);
784
+ return found ? bundleImage(found.dir, rel) : null;
785
+ }
786
+ /**
787
+ * `POST /api/skills/bundles/:staged` `{ every?, agents?, mine? }`: keep a
788
+ * checked upload. Its files move into the skills folder under their own
789
+ * directory, its SKILL.md is written in buddi's front matter (the name, the
790
+ * title, when it's used, where it came from, untrusted unless `mine`), and
791
+ * the grant is written in each agent's file — all checked by a reload, and
792
+ * undone, folder included, when the reload refuses.
793
+ */
794
+ export function acceptBundleRoute(deps, stagedId, body) {
795
+ const grant = parseGrant(body);
796
+ if (typeof grant === 'string')
797
+ return fail(400, grant);
798
+ if (body.mine !== undefined && typeof body.mine !== 'boolean')
799
+ return fail(400, '`mine` must be true or false.');
800
+ const mine = body.mine === true;
801
+ const found = readStaged(incomingOf(deps), stagedId);
802
+ if (!found)
803
+ return fail(404, 'That upload is gone: upload the .zip again.');
804
+ const { staged } = found;
805
+ const snap = snapshot(deps);
806
+ const name = freeName(snap, skillSlug(staged.skill.name || staged.skill.title));
807
+ const dir = path.join(deps.skillsDir, name);
808
+ if (existsSync(dir))
809
+ return fail(409, `A folder called "${name}" is already in the skills folder.`);
810
+ const today = deps.now().toISOString().slice(0, 10);
811
+ const lines = [
812
+ `name: ${name}`,
813
+ `title: ${serializeYamlValue(staged.skill.title)}`,
814
+ `description: ${serializeYamlValue(staged.skill.description.replace(/\s+/g, ' ').trim())}`,
815
+ `provenance: ${mine ? 'owner' : 'imported'}`,
816
+ `source: ${serializeYamlValue(`upload/${staged.filename}`)}`,
817
+ `created: "${today}"`,
818
+ ...(grant.every ? [] : ['agents: []']),
819
+ ...(mine ? [] : ['untrusted: true']),
820
+ ...(staged.skill.network === true ? ['network: true'] : []),
821
+ ];
822
+ const skillText = `---\n${lines.join('\n')}\n---\n\n${staged.skill.body.trim()}\n`;
823
+ mkdirSync(deps.skillsDir, { recursive: true });
824
+ try {
825
+ renameSync(found.dir, dir);
826
+ }
827
+ catch {
828
+ cpSync(found.dir, dir, { recursive: true });
829
+ }
830
+ rmSync(found.root, { recursive: true, force: true });
831
+ const undo = () => rmSync(dir, { recursive: true, force: true });
832
+ let entry;
833
+ try {
834
+ const file = path.join(dir, BUNDLE_SKILL_FILE);
835
+ parseSkillFile(skillText, { fileName: name, file, scope: 'shared' });
836
+ writeFilesAtomic([{ path: file, content: skillText }]);
837
+ entry = { skill: parseSkillBundle(dir, { scope: 'shared' }), home: null };
838
+ }
839
+ catch (err) {
840
+ undo();
841
+ return fail(400, err instanceof Error ? err.message : String(err));
842
+ }
843
+ const plan = planGrant({ ...snap, entries: [...snap.entries, entry] }, entry, grant.every, grant.agents, skillText);
844
+ if (plan.error) {
845
+ undo();
846
+ return plan.error;
847
+ }
848
+ const refused = commit(deps, plan.writes);
849
+ if (refused) {
850
+ undo();
851
+ try {
852
+ deps.catalog.reload?.();
853
+ }
854
+ catch {
855
+ // The previous catalog is still serving.
856
+ }
857
+ return fail(409, refused);
858
+ }
859
+ return answer(deps, name, 201);
860
+ }
861
+ /**
862
+ * What `host.exec`'s `skill` form asks (tools/host `SkillBundles`): the
863
+ * bundle called `name` that this agent loads, read fresh from its SKILL.md so
864
+ * a mark made a moment ago counts. Only a shared bundle in the owner's skills
865
+ * folder, and only one the catalog composes into this agent's prompt.
866
+ */
867
+ export function skillBundlesFor(deps) {
868
+ return {
869
+ root: () => deps.skillsDir,
870
+ held(agentId, name) {
871
+ const agent = deps.catalog.get(agentId);
872
+ const dir = path.join(deps.skillsDir, name);
873
+ const file = path.join(dir, BUNDLE_SKILL_FILE);
874
+ if (!agent || !agent.skills.some((s) => s.name === name && path.resolve(s.file) === path.resolve(file)))
875
+ return null;
876
+ let skill;
877
+ try {
878
+ skill = parseSkillBundle(dir, { scope: 'shared' });
879
+ }
880
+ catch {
881
+ return null;
882
+ }
883
+ const bundle = skill.bundle;
884
+ return {
885
+ name,
886
+ title: titleOf(skill),
887
+ dir,
888
+ untrusted: skill.untrusted && !skill.learned,
889
+ network: skill.network === true,
890
+ files: [BUNDLE_SKILL_FILE, ...bundle.files.map((f) => f.path)],
891
+ scripts: bundle.scripts,
892
+ };
893
+ },
894
+ };
895
+ }
734
896
  //# sourceMappingURL=skills.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/web/skills.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/web/skills.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ export interface ZipEntry {
2
+ name: string;
3
+ /** Ends in `/`. */
4
+ directory: boolean;
5
+ method: number;
6
+ encrypted: boolean;
7
+ compressedSize: number;
8
+ size: number;
9
+ /** The Unix mode when the archive was made on Unix, else null. */
10
+ mode: number | null;
11
+ /** Where the member's local header starts. */
12
+ offset: number;
13
+ }
14
+ export declare class ZipFormatError extends Error {
15
+ readonly name = "ZipFormatError";
16
+ }
17
+ export declare class ZipLimitError extends Error {
18
+ readonly name = "ZipLimitError";
19
+ }
20
+ /** The central directory, entry by entry. Throws `ZipFormatError` on anything that is not a plain zip. */
21
+ export declare function readZipEntries(zip: Uint8Array): ZipEntry[];
22
+ /** The mode's file type is a symbolic link. */
23
+ export declare function isSymlink(entry: Pick<ZipEntry, 'mode'>): boolean;
24
+ /** The mode has an executable bit, on a file. */
25
+ export declare function isExecutableMode(entry: Pick<ZipEntry, 'mode' | 'directory'>): boolean;
26
+ /**
27
+ * One member's bytes. `limit` caps what it may inflate to (its declared size,
28
+ * and what is left of the bundle's allowance); one byte more is a `ZipLimitError`.
29
+ */
30
+ export declare function readZipMember(zip: Uint8Array, entry: ZipEntry, limit: number): Uint8Array;
31
+ //# sourceMappingURL=zip-read.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zip-read.d.ts","sourceRoot":"","sources":["../../src/web/zip-read.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,8CAA8C;IAC9C,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,cAAe,SAAQ,KAAK;IACvC,SAAkB,IAAI,oBAAoB;CAC3C;AAED,qBAAa,aAAc,SAAQ,KAAK;IACtC,SAAkB,IAAI,mBAAmB;CAC1C;AAMD,0GAA0G;AAC1G,wBAAgB,cAAc,CAAC,GAAG,EAAE,UAAU,GAAG,QAAQ,EAAE,CAsC1D;AAED,+CAA+C;AAC/C,wBAAgB,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,OAAO,CAEhE;AAED,iDAAiD;AACjD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAAC,GAAG,OAAO,CAErF;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,CAqCzF"}
@@ -0,0 +1,125 @@
1
+ /**
2
+ * Reading a `.zip` the owner uploaded, without trusting it.
3
+ *
4
+ * Written here rather than with fflate's `unzipSync` because the checks a
5
+ * skill bundle needs live in the central directory, which that API does not
6
+ * show: the Unix mode (a symbolic link, an executable bit), the encryption
7
+ * flag, the declared sizes. Inflating goes through fflate's streaming
8
+ * `Inflate`, counted as it goes, so a member that inflates past what it
9
+ * declared — a zip bomb — stops at the first byte over.
10
+ */
11
+ import { Inflate } from 'fflate';
12
+ export class ZipFormatError extends Error {
13
+ name = 'ZipFormatError';
14
+ }
15
+ export class ZipLimitError extends Error {
16
+ name = 'ZipLimitError';
17
+ }
18
+ const EOCD = 0x06054b50;
19
+ const CENTRAL = 0x02014b50;
20
+ const LOCAL = 0x04034b50;
21
+ /** The central directory, entry by entry. Throws `ZipFormatError` on anything that is not a plain zip. */
22
+ export function readZipEntries(zip) {
23
+ const view = new DataView(zip.buffer, zip.byteOffset, zip.byteLength);
24
+ let end = -1;
25
+ for (let i = zip.length - 22; i >= Math.max(0, zip.length - 22 - 0xffff); i -= 1) {
26
+ if (view.getUint32(i, true) === EOCD) {
27
+ end = i;
28
+ break;
29
+ }
30
+ }
31
+ if (end < 0)
32
+ throw new ZipFormatError('It is not a zip file (no central directory).');
33
+ const count = view.getUint16(end + 10, true);
34
+ const cdSize = view.getUint32(end + 12, true);
35
+ const cdOffset = view.getUint32(end + 16, true);
36
+ if (count === 0xffff || cdOffset === 0xffffffff)
37
+ throw new ZipFormatError('It is a zip64 archive, which a skill bundle never needs.');
38
+ if (cdOffset + cdSize > zip.length)
39
+ throw new ZipFormatError('Its central directory runs past the end of the file.');
40
+ const entries = [];
41
+ const decoder = new TextDecoder('utf-8', { fatal: false });
42
+ let at = cdOffset;
43
+ for (let n = 0; n < count; n += 1) {
44
+ if (at + 46 > zip.length || view.getUint32(at, true) !== CENTRAL)
45
+ throw new ZipFormatError('Its central directory is damaged.');
46
+ const madeBy = view.getUint16(at + 4, true);
47
+ const flags = view.getUint16(at + 8, true);
48
+ const method = view.getUint16(at + 10, true);
49
+ const compressedSize = view.getUint32(at + 20, true);
50
+ const size = view.getUint32(at + 24, true);
51
+ const nameLength = view.getUint16(at + 28, true);
52
+ const extraLength = view.getUint16(at + 30, true);
53
+ const commentLength = view.getUint16(at + 32, true);
54
+ const external = view.getUint32(at + 38, true);
55
+ const offset = view.getUint32(at + 42, true);
56
+ if (at + 46 + nameLength > zip.length)
57
+ throw new ZipFormatError('Its central directory is damaged.');
58
+ const name = decoder.decode(zip.subarray(at + 46, at + 46 + nameLength));
59
+ const unix = madeBy >> 8 === 3 || madeBy >> 8 === 19;
60
+ const mode = unix ? (external >>> 16) & 0xffff : null;
61
+ entries.push({ name, directory: name.endsWith('/'), method, encrypted: (flags & 1) === 1, compressedSize, size, mode: mode === 0 ? null : mode, offset });
62
+ at += 46 + nameLength + extraLength + commentLength;
63
+ }
64
+ return entries;
65
+ }
66
+ /** The mode's file type is a symbolic link. */
67
+ export function isSymlink(entry) {
68
+ return entry.mode !== null && (entry.mode & 0o170000) === 0o120000;
69
+ }
70
+ /** The mode has an executable bit, on a file. */
71
+ export function isExecutableMode(entry) {
72
+ return !entry.directory && entry.mode !== null && (entry.mode & 0o170000) !== 0o040000 && (entry.mode & 0o111) !== 0;
73
+ }
74
+ /**
75
+ * One member's bytes. `limit` caps what it may inflate to (its declared size,
76
+ * and what is left of the bundle's allowance); one byte more is a `ZipLimitError`.
77
+ */
78
+ export function readZipMember(zip, entry, limit) {
79
+ const view = new DataView(zip.buffer, zip.byteOffset, zip.byteLength);
80
+ if (entry.offset + 30 > zip.length || view.getUint32(entry.offset, true) !== LOCAL)
81
+ throw new ZipFormatError(`"${entry.name}" is damaged.`);
82
+ const nameLength = view.getUint16(entry.offset + 26, true);
83
+ const extraLength = view.getUint16(entry.offset + 28, true);
84
+ const start = entry.offset + 30 + nameLength + extraLength;
85
+ const data = zip.subarray(start, start + entry.compressedSize);
86
+ if (data.length !== entry.compressedSize)
87
+ throw new ZipFormatError(`"${entry.name}" runs past the end of the file.`);
88
+ const cap = Math.min(limit, entry.size);
89
+ if (entry.method === 0) {
90
+ if (data.length > cap)
91
+ throw new ZipLimitError(`"${entry.name}" is larger than it says.`);
92
+ return data.slice();
93
+ }
94
+ if (entry.method !== 8)
95
+ throw new ZipFormatError(`"${entry.name}" uses a compression buddi does not read (method ${entry.method}).`);
96
+ const chunks = [];
97
+ let total = 0;
98
+ let over = false;
99
+ const inflate = new Inflate((chunk) => {
100
+ total += chunk.length;
101
+ if (total > cap)
102
+ over = true;
103
+ else
104
+ chunks.push(chunk);
105
+ });
106
+ // Fed in slices, so a bomb is noticed after one slice's output, not after all of it.
107
+ const SLICE = 16 * 1024;
108
+ try {
109
+ for (let i = 0; i < data.length && !over; i += SLICE)
110
+ inflate.push(data.subarray(i, i + SLICE), i + SLICE >= data.length);
111
+ }
112
+ catch (err) {
113
+ throw new ZipFormatError(`"${entry.name}" could not be inflated: ${err instanceof Error ? err.message : String(err)}`);
114
+ }
115
+ if (over)
116
+ throw new ZipLimitError(`"${entry.name}" inflates to more than it says (${entry.size} bytes).`);
117
+ const out = new Uint8Array(total);
118
+ let at = 0;
119
+ for (const c of chunks) {
120
+ out.set(c, at);
121
+ at += c.length;
122
+ }
123
+ return out;
124
+ }
125
+ //# sourceMappingURL=zip-read.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zip-read.js","sourceRoot":"","sources":["../../src/web/zip-read.ts"],"names":[],"mappings":"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"}