aimeat 3.2.0 → 3.3.0

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 (507) hide show
  1. package/dist/.env.example +58 -1
  2. package/dist/build-stamp.json +4 -4
  3. package/dist/locales/en.json +41 -1
  4. package/dist/locales/es.json +41 -1
  5. package/dist/locales/fi.json +43 -3
  6. package/dist/public/changelog.json +12 -0
  7. package/dist/public/css/views/chat.css +388 -0
  8. package/dist/public/js/services/chat.js +190 -0
  9. package/dist/public/js/services/speech-reader.js +26 -0
  10. package/dist/public/lib/VENDORED.md +1 -0
  11. package/dist/public/lib/duckdb-wasm@1.32.0/duckdb-browser-eh.worker.js +14 -0
  12. package/dist/public/lib/duckdb-wasm@1.32.0/duckdb-browser.js +23 -0
  13. package/dist/public/lib/duckdb-wasm@1.32.0/duckdb-eh.wasm +0 -0
  14. package/dist/public/lib/duckdb-wasm@1.32.0/extensions/v1.4.3/wasm_eh/parquet.duckdb_extension.wasm +0 -0
  15. package/dist/public/lib/vendored-assets.json +19 -0
  16. package/dist/public/llms-full-template.txt +2706 -0
  17. package/dist/public/llms-index-template.txt +60 -0
  18. package/dist/public/robots.node.txt +64 -23
  19. package/dist/public/spa.html +8 -1
  20. package/dist/public/views/chat/parts.js +257 -0
  21. package/dist/public/views/chat.js +327 -0
  22. package/dist/public/views/landing.js +24 -1
  23. package/dist/public/views/profile/agents/scope-model.js +320 -315
  24. package/dist/scripts/audit-mcp-schemas.js +41 -0
  25. package/dist/scripts/audit-mcp-schemas.js.map +1 -1
  26. package/dist/scripts/build-sdk-libs.d.ts.map +1 -1
  27. package/dist/scripts/build-sdk-libs.js +1 -0
  28. package/dist/scripts/build-sdk-libs.js.map +1 -1
  29. package/dist/scripts/check-ai-disclosure.js +11 -0
  30. package/dist/scripts/check-ai-disclosure.js.map +1 -1
  31. package/dist/scripts/check-denial-coverage.d.ts +29 -0
  32. package/dist/scripts/check-denial-coverage.d.ts.map +1 -0
  33. package/dist/scripts/check-denial-coverage.js +237 -0
  34. package/dist/scripts/check-denial-coverage.js.map +1 -0
  35. package/dist/scripts/check-ext-entrypoints.js +14 -2
  36. package/dist/scripts/check-ext-entrypoints.js.map +1 -1
  37. package/dist/scripts/check-outbound-fetch.d.ts.map +1 -1
  38. package/dist/scripts/check-outbound-fetch.js +16 -2
  39. package/dist/scripts/check-outbound-fetch.js.map +1 -1
  40. package/dist/scripts/check-sse-parity.js +14 -0
  41. package/dist/scripts/check-sse-parity.js.map +1 -1
  42. package/dist/scripts/indexnow.js +9 -7
  43. package/dist/scripts/indexnow.js.map +1 -1
  44. package/dist/src/auth/middleware.d.ts +7 -0
  45. package/dist/src/auth/middleware.d.ts.map +1 -1
  46. package/dist/src/auth/middleware.js +15 -21
  47. package/dist/src/auth/middleware.js.map +1 -1
  48. package/dist/src/cli/connect/mcp/tools/agent-tasks.d.ts +4 -0
  49. package/dist/src/cli/connect/mcp/tools/agent-tasks.d.ts.map +1 -1
  50. package/dist/src/cli/connect/mcp/tools/agent-tasks.js +11 -1
  51. package/dist/src/cli/connect/mcp/tools/agent-tasks.js.map +1 -1
  52. package/dist/src/cli/connect/mcp/tools/apps.d.ts.map +1 -1
  53. package/dist/src/cli/connect/mcp/tools/apps.js +88 -0
  54. package/dist/src/cli/connect/mcp/tools/apps.js.map +1 -1
  55. package/dist/src/cli/connect/mcp/tools/core.d.ts +7 -0
  56. package/dist/src/cli/connect/mcp/tools/core.d.ts.map +1 -1
  57. package/dist/src/cli/connect/mcp/tools/core.js +83 -4
  58. package/dist/src/cli/connect/mcp/tools/core.js.map +1 -1
  59. package/dist/src/cli/connect/onboarding-prompt.js +1 -1
  60. package/dist/src/cli/connect/skill-bundle.js +1 -1
  61. package/dist/src/cli/connect/tool-call-defs-app-draft-edit.d.ts +21 -0
  62. package/dist/src/cli/connect/tool-call-defs-app-draft-edit.d.ts.map +1 -0
  63. package/dist/src/cli/connect/tool-call-defs-app-draft-edit.js +137 -0
  64. package/dist/src/cli/connect/tool-call-defs-app-draft-edit.js.map +1 -0
  65. package/dist/src/cli/connect/tool-call-defs-core.d.ts +1 -0
  66. package/dist/src/cli/connect/tool-call-defs-core.d.ts.map +1 -1
  67. package/dist/src/cli/connect/tool-call-defs-core.js +30 -0
  68. package/dist/src/cli/connect/tool-call-defs-core.js.map +1 -1
  69. package/dist/src/cli/connect/tool-call.d.ts.map +1 -1
  70. package/dist/src/cli/connect/tool-call.js +2 -0
  71. package/dist/src/cli/connect/tool-call.js.map +1 -1
  72. package/dist/src/config-types-ai.d.ts +76 -0
  73. package/dist/src/config-types-ai.d.ts.map +1 -0
  74. package/dist/src/config-types-ai.js +15 -0
  75. package/dist/src/config-types-ai.js.map +1 -0
  76. package/dist/src/config-types.d.ts +11 -2
  77. package/dist/src/config-types.d.ts.map +1 -1
  78. package/dist/src/config.d.ts.map +1 -1
  79. package/dist/src/config.js +25 -4
  80. package/dist/src/config.js.map +1 -1
  81. package/dist/src/data/builtin-skills.d.ts.map +1 -1
  82. package/dist/src/data/builtin-skills.js +3 -2
  83. package/dist/src/data/builtin-skills.js.map +1 -1
  84. package/dist/src/data/digital-signage-package.js +1 -1
  85. package/dist/src/data/library-packs/sdk.d.ts.map +1 -1
  86. package/dist/src/data/library-packs/sdk.js +76 -0
  87. package/dist/src/data/library-packs/sdk.js.map +1 -1
  88. package/dist/src/data/library-packs/vendored.d.ts.map +1 -1
  89. package/dist/src/data/library-packs/vendored.js +81 -0
  90. package/dist/src/data/library-packs/vendored.js.map +1 -1
  91. package/dist/src/data/library-packs.d.ts +2 -2
  92. package/dist/src/data/library-packs.js +2 -2
  93. package/dist/src/data/public-pages.d.ts +13 -0
  94. package/dist/src/data/public-pages.d.ts.map +1 -1
  95. package/dist/src/data/public-pages.js +153 -113
  96. package/dist/src/data/public-pages.js.map +1 -1
  97. package/dist/src/generated/api-types.d.ts +1652 -36
  98. package/dist/src/generated/api-types.d.ts.map +1 -1
  99. package/dist/src/index-start.d.ts.map +1 -1
  100. package/dist/src/index-start.js +3 -0
  101. package/dist/src/index-start.js.map +1 -1
  102. package/dist/src/mcp/agent-tasks.d.ts.map +1 -1
  103. package/dist/src/mcp/agent-tasks.js +5 -0
  104. package/dist/src/mcp/agent-tasks.js.map +1 -1
  105. package/dist/src/mcp/ai-image.d.ts +22 -0
  106. package/dist/src/mcp/ai-image.d.ts.map +1 -0
  107. package/dist/src/mcp/ai-image.js +60 -0
  108. package/dist/src/mcp/ai-image.js.map +1 -0
  109. package/dist/src/mcp/annotations.d.ts +5 -0
  110. package/dist/src/mcp/annotations.d.ts.map +1 -1
  111. package/dist/src/mcp/annotations.js +18 -0
  112. package/dist/src/mcp/annotations.js.map +1 -1
  113. package/dist/src/mcp/apps-draft-edit.d.ts +28 -0
  114. package/dist/src/mcp/apps-draft-edit.d.ts.map +1 -0
  115. package/dist/src/mcp/apps-draft-edit.js +164 -0
  116. package/dist/src/mcp/apps-draft-edit.js.map +1 -0
  117. package/dist/src/mcp/apps-screenshot.d.ts +26 -0
  118. package/dist/src/mcp/apps-screenshot.d.ts.map +1 -0
  119. package/dist/src/mcp/apps-screenshot.js +39 -0
  120. package/dist/src/mcp/apps-screenshot.js.map +1 -0
  121. package/dist/src/mcp/catalog/definitions/discovery-work-boards.d.ts +1 -0
  122. package/dist/src/mcp/catalog/definitions/discovery-work-boards.d.ts.map +1 -1
  123. package/dist/src/mcp/catalog/definitions/discovery-work-boards.js +40 -0
  124. package/dist/src/mcp/catalog/definitions/discovery-work-boards.js.map +1 -1
  125. package/dist/src/mcp/catalog/definitions/organisms-workspaces-apps.d.ts +3 -0
  126. package/dist/src/mcp/catalog/definitions/organisms-workspaces-apps.d.ts.map +1 -1
  127. package/dist/src/mcp/catalog/definitions/organisms-workspaces-apps.js +74 -0
  128. package/dist/src/mcp/catalog/definitions/organisms-workspaces-apps.js.map +1 -1
  129. package/dist/src/mcp/catalog/definitions/schedules-tasks-memory.d.ts.map +1 -1
  130. package/dist/src/mcp/catalog/definitions/schedules-tasks-memory.js +1 -0
  131. package/dist/src/mcp/catalog/definitions/schedules-tasks-memory.js.map +1 -1
  132. package/dist/src/mcp/catalog/scopes.d.ts.map +1 -1
  133. package/dist/src/mcp/catalog/scopes.js +19 -1
  134. package/dist/src/mcp/catalog/scopes.js.map +1 -1
  135. package/dist/src/mcp/catalog/surfaces.d.ts.map +1 -1
  136. package/dist/src/mcp/catalog/surfaces.js +18 -4
  137. package/dist/src/mcp/catalog/surfaces.js.map +1 -1
  138. package/dist/src/mcp/core-datapackage.d.ts +32 -0
  139. package/dist/src/mcp/core-datapackage.d.ts.map +1 -0
  140. package/dist/src/mcp/core-datapackage.js +188 -0
  141. package/dist/src/mcp/core-datapackage.js.map +1 -0
  142. package/dist/src/mcp/core-storage.d.ts +7 -3
  143. package/dist/src/mcp/core-storage.d.ts.map +1 -1
  144. package/dist/src/mcp/core-storage.js +27 -4
  145. package/dist/src/mcp/core-storage.js.map +1 -1
  146. package/dist/src/mcp/core.d.ts.map +1 -1
  147. package/dist/src/mcp/core.js +3 -0
  148. package/dist/src/mcp/core.js.map +1 -1
  149. package/dist/src/mcp/extensions.d.ts.map +1 -1
  150. package/dist/src/mcp/extensions.js +11 -1
  151. package/dist/src/mcp/extensions.js.map +1 -1
  152. package/dist/src/mcp/index.d.ts +9 -0
  153. package/dist/src/mcp/index.d.ts.map +1 -1
  154. package/dist/src/mcp/index.js +34 -0
  155. package/dist/src/mcp/index.js.map +1 -1
  156. package/dist/src/models/agent-task-schemas.d.ts.map +1 -1
  157. package/dist/src/models/agent-task-schemas.js +12 -1
  158. package/dist/src/models/agent-task-schemas.js.map +1 -1
  159. package/dist/src/models/workflow-schemas.d.ts +178 -1
  160. package/dist/src/models/workflow-schemas.d.ts.map +1 -1
  161. package/dist/src/models/workflow-schemas.js +75 -0
  162. package/dist/src/models/workflow-schemas.js.map +1 -1
  163. package/dist/src/routes/admin-extensions.d.ts +4 -0
  164. package/dist/src/routes/admin-extensions.d.ts.map +1 -1
  165. package/dist/src/routes/admin-extensions.js +135 -142
  166. package/dist/src/routes/admin-extensions.js.map +1 -1
  167. package/dist/src/routes/agent-conventions.d.ts.map +1 -1
  168. package/dist/src/routes/agent-conventions.js +4 -2
  169. package/dist/src/routes/agent-conventions.js.map +1 -1
  170. package/dist/src/routes/agent-docs.d.ts +4 -4
  171. package/dist/src/routes/agent-docs.js +145 -145
  172. package/dist/src/routes/agent-docs.js.map +1 -1
  173. package/dist/src/routes/agent-messages.d.ts +6 -0
  174. package/dist/src/routes/agent-messages.d.ts.map +1 -1
  175. package/dist/src/routes/agent-messages.js +23 -1
  176. package/dist/src/routes/agent-messages.js.map +1 -1
  177. package/dist/src/routes/agent-tasks/create-read.d.ts.map +1 -1
  178. package/dist/src/routes/agent-tasks/create-read.js +8 -1
  179. package/dist/src/routes/agent-tasks/create-read.js.map +1 -1
  180. package/dist/src/routes/agent-tasks/lifecycle.d.ts +4 -1
  181. package/dist/src/routes/agent-tasks/lifecycle.d.ts.map +1 -1
  182. package/dist/src/routes/agent-tasks/lifecycle.js +80 -2
  183. package/dist/src/routes/agent-tasks/lifecycle.js.map +1 -1
  184. package/dist/src/routes/ai.d.ts +5 -0
  185. package/dist/src/routes/ai.d.ts.map +1 -1
  186. package/dist/src/routes/ai.js +51 -1
  187. package/dist/src/routes/ai.js.map +1 -1
  188. package/dist/src/routes/app-grants.d.ts.map +1 -1
  189. package/dist/src/routes/app-grants.js +5 -0
  190. package/dist/src/routes/app-grants.js.map +1 -1
  191. package/dist/src/routes/apps/drafts.d.ts +6 -0
  192. package/dist/src/routes/apps/drafts.d.ts.map +1 -1
  193. package/dist/src/routes/apps/drafts.js +133 -1
  194. package/dist/src/routes/apps/drafts.js.map +1 -1
  195. package/dist/src/routes/apps/read.d.ts.map +1 -1
  196. package/dist/src/routes/apps/read.js +38 -1
  197. package/dist/src/routes/apps/read.js.map +1 -1
  198. package/dist/src/routes/auth-otk.d.ts +28 -0
  199. package/dist/src/routes/auth-otk.d.ts.map +1 -0
  200. package/dist/src/routes/auth-otk.js +190 -0
  201. package/dist/src/routes/auth-otk.js.map +1 -0
  202. package/dist/src/routes/auth.d.ts +17 -0
  203. package/dist/src/routes/auth.d.ts.map +1 -1
  204. package/dist/src/routes/auth.js +44 -153
  205. package/dist/src/routes/auth.js.map +1 -1
  206. package/dist/src/routes/bootstrap.d.ts +6 -0
  207. package/dist/src/routes/bootstrap.d.ts.map +1 -1
  208. package/dist/src/routes/bootstrap.js +47 -20
  209. package/dist/src/routes/bootstrap.js.map +1 -1
  210. package/dist/src/routes/chat.d.ts +23 -0
  211. package/dist/src/routes/chat.d.ts.map +1 -0
  212. package/dist/src/routes/chat.js +165 -0
  213. package/dist/src/routes/chat.js.map +1 -0
  214. package/dist/src/routes/commerce.js +4 -4
  215. package/dist/src/routes/commerce.js.map +1 -1
  216. package/dist/src/routes/datapackages.d.ts +35 -0
  217. package/dist/src/routes/datapackages.d.ts.map +1 -0
  218. package/dist/src/routes/datapackages.js +217 -0
  219. package/dist/src/routes/datapackages.js.map +1 -0
  220. package/dist/src/routes/disputes.d.ts +8 -0
  221. package/dist/src/routes/disputes.d.ts.map +1 -1
  222. package/dist/src/routes/disputes.js +52 -1
  223. package/dist/src/routes/disputes.js.map +1 -1
  224. package/dist/src/routes/ecosystem-apps-advisories.d.ts +16 -0
  225. package/dist/src/routes/ecosystem-apps-advisories.d.ts.map +1 -0
  226. package/dist/src/routes/ecosystem-apps-advisories.js +104 -0
  227. package/dist/src/routes/ecosystem-apps-advisories.js.map +1 -0
  228. package/dist/src/routes/ecosystem-apps.d.ts +6 -0
  229. package/dist/src/routes/ecosystem-apps.d.ts.map +1 -1
  230. package/dist/src/routes/ecosystem-apps.js +31 -99
  231. package/dist/src/routes/ecosystem-apps.js.map +1 -1
  232. package/dist/src/routes/extensions/actions.d.ts.map +1 -1
  233. package/dist/src/routes/extensions/actions.js +29 -1
  234. package/dist/src/routes/extensions/actions.js.map +1 -1
  235. package/dist/src/routes/federation-sync/routing.d.ts.map +1 -1
  236. package/dist/src/routes/federation-sync/routing.js +12 -3
  237. package/dist/src/routes/federation-sync/routing.js.map +1 -1
  238. package/dist/src/routes/glossary.js +1 -1
  239. package/dist/src/routes/glossary.js.map +1 -1
  240. package/dist/src/routes/home/track.d.ts +5 -1
  241. package/dist/src/routes/home/track.d.ts.map +1 -1
  242. package/dist/src/routes/home/track.js +20 -6
  243. package/dist/src/routes/home/track.js.map +1 -1
  244. package/dist/src/routes/instances/install.d.ts +3 -0
  245. package/dist/src/routes/instances/install.d.ts.map +1 -1
  246. package/dist/src/routes/instances/install.js +17 -24
  247. package/dist/src/routes/instances/install.js.map +1 -1
  248. package/dist/src/routes/libs.js +1 -1
  249. package/dist/src/routes/libs.js.map +1 -1
  250. package/dist/src/routes/markdown-mirrors.js +1 -1
  251. package/dist/src/routes/markdown-mirrors.js.map +1 -1
  252. package/dist/src/routes/odata.d.ts +36 -0
  253. package/dist/src/routes/odata.d.ts.map +1 -0
  254. package/dist/src/routes/odata.js +143 -0
  255. package/dist/src/routes/odata.js.map +1 -0
  256. package/dist/src/routes/openrouter.d.ts +4 -0
  257. package/dist/src/routes/openrouter.d.ts.map +1 -1
  258. package/dist/src/routes/openrouter.js +10 -1
  259. package/dist/src/routes/openrouter.js.map +1 -1
  260. package/dist/src/routes/organisms/gates.d.ts.map +1 -1
  261. package/dist/src/routes/organisms/gates.js +9 -2
  262. package/dist/src/routes/organisms/gates.js.map +1 -1
  263. package/dist/src/routes/portal.d.ts +1 -0
  264. package/dist/src/routes/portal.d.ts.map +1 -1
  265. package/dist/src/routes/portal.js +13 -0
  266. package/dist/src/routes/portal.js.map +1 -1
  267. package/dist/src/routes/schedules.d.ts +4 -0
  268. package/dist/src/routes/schedules.d.ts.map +1 -1
  269. package/dist/src/routes/schedules.js +9 -1
  270. package/dist/src/routes/schedules.js.map +1 -1
  271. package/dist/src/routes/storage-files.d.ts +23 -0
  272. package/dist/src/routes/storage-files.d.ts.map +1 -1
  273. package/dist/src/routes/storage-files.js +103 -82
  274. package/dist/src/routes/storage-files.js.map +1 -1
  275. package/dist/src/routes/workflows.d.ts.map +1 -1
  276. package/dist/src/routes/workflows.js +9 -1
  277. package/dist/src/routes/workflows.js.map +1 -1
  278. package/dist/src/server-bootstrap/routes-loader.d.ts +2 -0
  279. package/dist/src/server-bootstrap/routes-loader.d.ts.map +1 -1
  280. package/dist/src/server-bootstrap/routes-loader.js +20 -2
  281. package/dist/src/server-bootstrap/routes-loader.js.map +1 -1
  282. package/dist/src/server-bootstrap/service-init.d.ts.map +1 -1
  283. package/dist/src/server-bootstrap/service-init.js +12 -7
  284. package/dist/src/server-bootstrap/service-init.js.map +1 -1
  285. package/dist/src/server-bootstrap/static-files.d.ts.map +1 -1
  286. package/dist/src/server-bootstrap/static-files.js +44 -10
  287. package/dist/src/server-bootstrap/static-files.js.map +1 -1
  288. package/dist/src/services/ai-allowance.d.ts +82 -0
  289. package/dist/src/services/ai-allowance.d.ts.map +1 -0
  290. package/dist/src/services/ai-allowance.js +117 -0
  291. package/dist/src/services/ai-allowance.js.map +1 -0
  292. package/dist/src/services/ai-completion.d.ts +26 -0
  293. package/dist/src/services/ai-completion.d.ts.map +1 -1
  294. package/dist/src/services/ai-completion.js +41 -13
  295. package/dist/src/services/ai-completion.js.map +1 -1
  296. package/dist/src/services/ai-image.d.ts +70 -0
  297. package/dist/src/services/ai-image.d.ts.map +1 -0
  298. package/dist/src/services/ai-image.js +104 -0
  299. package/dist/src/services/ai-image.js.map +1 -0
  300. package/dist/src/services/ai-model-defaults.d.ts +45 -0
  301. package/dist/src/services/ai-model-defaults.d.ts.map +1 -0
  302. package/dist/src/services/ai-model-defaults.js +42 -0
  303. package/dist/src/services/ai-model-defaults.js.map +1 -0
  304. package/dist/src/services/ai-tool-setup.d.ts +5 -1
  305. package/dist/src/services/ai-tool-setup.d.ts.map +1 -1
  306. package/dist/src/services/ai-tool-setup.js +36 -0
  307. package/dist/src/services/ai-tool-setup.js.map +1 -1
  308. package/dist/src/services/ai-transcription.d.ts +5 -0
  309. package/dist/src/services/ai-transcription.d.ts.map +1 -1
  310. package/dist/src/services/ai-transcription.js +5 -2
  311. package/dist/src/services/ai-transcription.js.map +1 -1
  312. package/dist/src/services/app-agent-surfaces.js +4 -4
  313. package/dist/src/services/app-agent-surfaces.js.map +1 -1
  314. package/dist/src/services/app-draft-edit.d.ts +144 -0
  315. package/dist/src/services/app-draft-edit.d.ts.map +1 -0
  316. package/dist/src/services/app-draft-edit.js +203 -0
  317. package/dist/src/services/app-draft-edit.js.map +1 -0
  318. package/dist/src/services/auth-md.js +2 -2
  319. package/dist/src/services/auth-md.js.map +1 -1
  320. package/dist/src/services/board-write.d.ts +11 -3
  321. package/dist/src/services/board-write.d.ts.map +1 -1
  322. package/dist/src/services/board-write.js +24 -3
  323. package/dist/src/services/board-write.js.map +1 -1
  324. package/dist/src/services/chat-agent.d.ts +36 -0
  325. package/dist/src/services/chat-agent.d.ts.map +1 -0
  326. package/dist/src/services/chat-agent.js +123 -0
  327. package/dist/src/services/chat-agent.js.map +1 -0
  328. package/dist/src/services/chat-session.d.ts +58 -0
  329. package/dist/src/services/chat-session.d.ts.map +1 -0
  330. package/dist/src/services/chat-session.js +151 -0
  331. package/dist/src/services/chat-session.js.map +1 -0
  332. package/dist/src/services/chat-threads.d.ts +61 -0
  333. package/dist/src/services/chat-threads.d.ts.map +1 -0
  334. package/dist/src/services/chat-threads.js +137 -0
  335. package/dist/src/services/chat-threads.js.map +1 -0
  336. package/dist/src/services/config-schema.d.ts.map +1 -1
  337. package/dist/src/services/config-schema.js +2 -1
  338. package/dist/src/services/config-schema.js.map +1 -1
  339. package/dist/src/services/datapackage/contract.d.ts +198 -0
  340. package/dist/src/services/datapackage/contract.d.ts.map +1 -0
  341. package/dist/src/services/datapackage/contract.js +140 -0
  342. package/dist/src/services/datapackage/contract.js.map +1 -0
  343. package/dist/src/services/datapackage/ext-capability.d.ts +85 -0
  344. package/dist/src/services/datapackage/ext-capability.d.ts.map +1 -0
  345. package/dist/src/services/datapackage/ext-capability.js +72 -0
  346. package/dist/src/services/datapackage/ext-capability.js.map +1 -0
  347. package/dist/src/services/datapackage/odata.d.ts +92 -0
  348. package/dist/src/services/datapackage/odata.d.ts.map +1 -0
  349. package/dist/src/services/datapackage/odata.js +256 -0
  350. package/dist/src/services/datapackage/odata.js.map +1 -0
  351. package/dist/src/services/datapackage/odps.d.ts +24 -0
  352. package/dist/src/services/datapackage/odps.d.ts.map +1 -0
  353. package/dist/src/services/datapackage/odps.js +183 -0
  354. package/dist/src/services/datapackage/odps.js.map +1 -0
  355. package/dist/src/services/datapackage/store.d.ts +143 -0
  356. package/dist/src/services/datapackage/store.d.ts.map +1 -0
  357. package/dist/src/services/datapackage/store.js +533 -0
  358. package/dist/src/services/datapackage/store.js.map +1 -0
  359. package/dist/src/services/datapackage/table.d.ts +67 -0
  360. package/dist/src/services/datapackage/table.d.ts.map +1 -0
  361. package/dist/src/services/datapackage/table.js +0 -0
  362. package/dist/src/services/datapackage/table.js.map +1 -0
  363. package/dist/src/services/extension-ctx.d.ts +1 -0
  364. package/dist/src/services/extension-ctx.d.ts.map +1 -1
  365. package/dist/src/services/extension-ctx.js +31 -6
  366. package/dist/src/services/extension-ctx.js.map +1 -1
  367. package/dist/src/services/extension-files.d.ts +20 -0
  368. package/dist/src/services/extension-files.d.ts.map +1 -1
  369. package/dist/src/services/extension-files.js +9 -2
  370. package/dist/src/services/extension-files.js.map +1 -1
  371. package/dist/src/services/extension-lifecycle.d.ts +3 -0
  372. package/dist/src/services/extension-lifecycle.d.ts.map +1 -1
  373. package/dist/src/services/extension-lifecycle.js +2 -26
  374. package/dist/src/services/extension-lifecycle.js.map +1 -1
  375. package/dist/src/services/extension-runtime.d.ts +28 -2
  376. package/dist/src/services/extension-runtime.d.ts.map +1 -1
  377. package/dist/src/services/extension-runtime.js +22 -0
  378. package/dist/src/services/extension-runtime.js.map +1 -1
  379. package/dist/src/services/extension-schedules.d.ts +90 -0
  380. package/dist/src/services/extension-schedules.d.ts.map +1 -0
  381. package/dist/src/services/extension-schedules.js +123 -0
  382. package/dist/src/services/extension-schedules.js.map +1 -0
  383. package/dist/src/services/extension-system-run.d.ts +91 -0
  384. package/dist/src/services/extension-system-run.d.ts.map +1 -0
  385. package/dist/src/services/extension-system-run.js +100 -0
  386. package/dist/src/services/extension-system-run.js.map +1 -0
  387. package/dist/src/services/extension-upsert.d.ts +2 -0
  388. package/dist/src/services/extension-upsert.d.ts.map +1 -1
  389. package/dist/src/services/extension-upsert.js +6 -24
  390. package/dist/src/services/extension-upsert.js.map +1 -1
  391. package/dist/src/services/goose-acp.d.ts +84 -0
  392. package/dist/src/services/goose-acp.d.ts.map +1 -0
  393. package/dist/src/services/goose-acp.js +304 -0
  394. package/dist/src/services/goose-acp.js.map +1 -0
  395. package/dist/src/services/markdown-negotiation.js +1 -1
  396. package/dist/src/services/markdown-negotiation.js.map +1 -1
  397. package/dist/src/services/openrouter.d.ts +20 -1
  398. package/dist/src/services/openrouter.d.ts.map +1 -1
  399. package/dist/src/services/openrouter.js +66 -0
  400. package/dist/src/services/openrouter.js.map +1 -1
  401. package/dist/src/services/prompt-defaults/tiers-core.js +4 -4
  402. package/dist/src/services/scheduler-extension-job.d.ts +29 -6
  403. package/dist/src/services/scheduler-extension-job.d.ts.map +1 -1
  404. package/dist/src/services/scheduler-extension-job.js +29 -75
  405. package/dist/src/services/scheduler-extension-job.js.map +1 -1
  406. package/dist/src/services/scope-vocabulary-migration.d.ts +34 -1
  407. package/dist/src/services/scope-vocabulary-migration.d.ts.map +1 -1
  408. package/dist/src/services/scope-vocabulary-migration.js +60 -0
  409. package/dist/src/services/scope-vocabulary-migration.js.map +1 -1
  410. package/dist/src/services/screenshot-capture.d.ts +40 -1
  411. package/dist/src/services/screenshot-capture.d.ts.map +1 -1
  412. package/dist/src/services/screenshot-capture.js +142 -60
  413. package/dist/src/services/screenshot-capture.js.map +1 -1
  414. package/dist/src/services/skill-bundle/generator.js +1 -1
  415. package/dist/src/services/skill-bundle/generic-adapter.js +1 -1
  416. package/dist/src/services/skill-bundle/hermes-adapter.js +1 -1
  417. package/dist/src/services/storage-file-write.d.ts +36 -1
  418. package/dist/src/services/storage-file-write.d.ts.map +1 -1
  419. package/dist/src/services/storage-file-write.js +49 -3
  420. package/dist/src/services/storage-file-write.js.map +1 -1
  421. package/dist/src/services/task-outcome.d.ts +53 -0
  422. package/dist/src/services/task-outcome.d.ts.map +1 -0
  423. package/dist/src/services/task-outcome.js +28 -0
  424. package/dist/src/services/task-outcome.js.map +1 -0
  425. package/dist/src/services/workflow/engine-human.d.ts +15 -0
  426. package/dist/src/services/workflow/engine-human.d.ts.map +1 -1
  427. package/dist/src/services/workflow/engine-human.js +10 -1
  428. package/dist/src/services/workflow/engine-human.js.map +1 -1
  429. package/dist/src/services/workflow/engine-steps.d.ts +48 -3
  430. package/dist/src/services/workflow/engine-steps.d.ts.map +1 -1
  431. package/dist/src/services/workflow/engine-steps.js +361 -0
  432. package/dist/src/services/workflow/engine-steps.js.map +1 -1
  433. package/dist/src/services/workflow/engine.d.ts +1 -0
  434. package/dist/src/services/workflow/engine.d.ts.map +1 -1
  435. package/dist/src/services/workflow/engine.js +2 -1
  436. package/dist/src/services/workflow/engine.js.map +1 -1
  437. package/dist/src/services/workflow/store.d.ts.map +1 -1
  438. package/dist/src/services/workflow/store.js +60 -4
  439. package/dist/src/services/workflow/store.js.map +1 -1
  440. package/dist/src/services/write-guards.d.ts +27 -1
  441. package/dist/src/services/write-guards.d.ts.map +1 -1
  442. package/dist/src/services/write-guards.js +39 -9
  443. package/dist/src/services/write-guards.js.map +1 -1
  444. package/dist/src/storage/providers/postgres-kysely/db-types.d.ts +1 -0
  445. package/dist/src/storage/providers/postgres-kysely/db-types.d.ts.map +1 -1
  446. package/dist/src/storage/providers/postgres-kysely/methods/app-grants.d.ts +1 -0
  447. package/dist/src/storage/providers/postgres-kysely/methods/app-grants.d.ts.map +1 -1
  448. package/dist/src/storage/providers/postgres-kysely/methods/app-grants.js +3 -0
  449. package/dist/src/storage/providers/postgres-kysely/methods/app-grants.js.map +1 -1
  450. package/dist/src/storage/providers/postgres-kysely/methods/files.d.ts +2 -0
  451. package/dist/src/storage/providers/postgres-kysely/methods/files.d.ts.map +1 -1
  452. package/dist/src/storage/providers/postgres-kysely/methods/files.js +34 -2
  453. package/dist/src/storage/providers/postgres-kysely/methods/files.js.map +1 -1
  454. package/dist/src/storage/providers/postgres-kysely/migrations/0039_storage_file_utf8_verified.sql +19 -0
  455. package/dist/src/storage/providers/sqlite/index.d.ts.map +1 -1
  456. package/dist/src/storage/providers/sqlite/index.js +2 -1
  457. package/dist/src/storage/providers/sqlite/index.js.map +1 -1
  458. package/dist/src/storage/providers/sqlite/methods/apps.d.ts +1 -0
  459. package/dist/src/storage/providers/sqlite/methods/apps.d.ts.map +1 -1
  460. package/dist/src/storage/providers/sqlite/methods/apps.js +33 -28
  461. package/dist/src/storage/providers/sqlite/methods/apps.js.map +1 -1
  462. package/dist/src/storage/providers/sqlite/methods/identity-nodes.d.ts +1 -12
  463. package/dist/src/storage/providers/sqlite/methods/identity-nodes.d.ts.map +1 -1
  464. package/dist/src/storage/providers/sqlite/methods/identity-nodes.js +28 -135
  465. package/dist/src/storage/providers/sqlite/methods/identity-nodes.js.map +1 -1
  466. package/dist/src/storage/providers/sqlite/methods/storage-files.d.ts +38 -0
  467. package/dist/src/storage/providers/sqlite/methods/storage-files.d.ts.map +1 -0
  468. package/dist/src/storage/providers/sqlite/methods/storage-files.js +109 -0
  469. package/dist/src/storage/providers/sqlite/methods/storage-files.js.map +1 -0
  470. package/dist/src/storage/providers/sqlite/schema.d.ts.map +1 -1
  471. package/dist/src/storage/providers/sqlite/schema.js +134 -130
  472. package/dist/src/storage/providers/sqlite/schema.js.map +1 -1
  473. package/dist/src/storage/repositories/app-grant.repository.d.ts +11 -0
  474. package/dist/src/storage/repositories/app-grant.repository.d.ts.map +1 -1
  475. package/dist/src/storage/repositories/file.repository.d.ts +13 -0
  476. package/dist/src/storage/repositories/file.repository.d.ts.map +1 -1
  477. package/dist/src/storage/types/commerce.d.ts +6 -0
  478. package/dist/src/storage/types/commerce.d.ts.map +1 -1
  479. package/dist/src/utils/agent-footer.d.ts.map +1 -1
  480. package/dist/src/utils/agent-footer.js +1 -0
  481. package/dist/src/utils/agent-footer.js.map +1 -1
  482. package/dist/src/utils/app-content-type.d.ts +57 -3
  483. package/dist/src/utils/app-content-type.d.ts.map +1 -1
  484. package/dist/src/utils/app-content-type.js +81 -12
  485. package/dist/src/utils/app-content-type.js.map +1 -1
  486. package/dist/src/utils/env-config/sections-features.d.ts.map +1 -1
  487. package/dist/src/utils/env-config/sections-features.js +9 -3
  488. package/dist/src/utils/env-config/sections-features.js.map +1 -1
  489. package/dist/src/utils/file-download-headers.d.ts +5 -3
  490. package/dist/src/utils/file-download-headers.d.ts.map +1 -1
  491. package/dist/src/utils/file-download-headers.js +18 -5
  492. package/dist/src/utils/file-download-headers.js.map +1 -1
  493. package/dist/src/utils/http-range.d.ts +151 -0
  494. package/dist/src/utils/http-range.d.ts.map +1 -0
  495. package/dist/src/utils/http-range.js +190 -0
  496. package/dist/src/utils/http-range.js.map +1 -0
  497. package/dist/src/utils/page-head.d.ts +5 -0
  498. package/dist/src/utils/page-head.d.ts.map +1 -1
  499. package/dist/src/utils/page-head.js +10 -1
  500. package/dist/src/utils/page-head.js.map +1 -1
  501. package/dist/src/utils/reserved-keys.d.ts +4 -1
  502. package/dist/src/utils/reserved-keys.d.ts.map +1 -1
  503. package/dist/src/utils/reserved-keys.js +4 -1
  504. package/dist/src/utils/reserved-keys.js.map +1 -1
  505. package/dist/static/sdk-libs/datapackage/index.js +336 -0
  506. package/dist/static/sdk-libs/dist/aimeat-datapackage.js +305 -0
  507. package/package.json +10 -2
package/dist/.env.example CHANGED
@@ -296,6 +296,62 @@ AIMEAT_PORT=40050
296
296
  # AIMEAT_STORAGE_QUOTA_MB=100
297
297
  # AIMEAT_STORAGE_MAX_FILE_SIZE_MB=10
298
298
  # AIMEAT_STORAGE_MAX_CHUNKED_FILE_SIZE_GB=5
299
+ # How many on-demand app screenshots one owner may ask for per hour (POST .../screenshot/capture,
300
+ # and the aimeat_app_screenshot tool). Rendering is the most expensive thing this node does per
301
+ # request, so this is a throttle rather than a preference.
302
+ # AIMEAT_SCREENSHOT_ONDEMAND_PER_HOUR=20
303
+ # ── The chat agent (a `goose acp` child process, ACP over stdio) ──
304
+ # Empty (the default) disables the chat entirely, which is what every node does until an operator
305
+ # installs goose. The node spawns it, speaks ACP over its stdin/stdout, and stops it on shutdown.
306
+ #
307
+ # Stdio rather than `goose serve` over HTTP, and that was measured rather than preferred: the HTTP
308
+ # transport accepts requests and answers them, but never delivers a session/update notification, so
309
+ # every turn is silent. The same prompt over stdio answers in seconds. Stdio also needs no port, no
310
+ # shared secret and no loopback surface to protect.
311
+ # How many chat conversations stay open before the oldest rolls into a per-month archive record.
312
+ # A memory namespace holds 1000 keys, and one key per conversation forever would spend them.
313
+ # AIMEAT_CHAT_MAX_LIVE_THREADS=50
314
+ # AIMEAT_GOOSE_BIN=goose
315
+ # Its own config and session store, away from any human's goose profile on the same machine.
316
+ # AIMEAT_GOOSE_PATH_ROOT=
317
+ # The provider key the agent calls with. Who may spend it is decided before a turn starts.
318
+ # AIMEAT_GOOSE_PROVIDER_API_KEY=
319
+ # ── This node's own AI key, and what one person may spend of it ──
320
+ # Empty (the default) means the node pays for nothing and everyone brings their own key, which is
321
+ # how every node behaved before this existed. Set it and a person who has not brought a key can
322
+ # still do something on the day they arrive.
323
+ #
324
+ # The key is SHARED by everyone here, so the node meters each person itself rather than handing out
325
+ # provider access: that is the shape OpenRouter's terms allow. Someone who wants unmetered use
326
+ # brings their own key, which bypasses the allowance entirely and is the recommended path.
327
+ # AIMEAT_OPENROUTER_INSTANCE_KEY=
328
+ # Free starting allowance in USD, applied once per person. 0 grants nothing.
329
+ # AIMEAT_CHAT_FREE_ALLOWANCE_USD=0
330
+ # Model used when someone on the node's key has spent their allowance. Empty refuses instead of
331
+ # degrading. A free model is a worse answer, not a wrong one, as long as the person is told — and
332
+ # they are: the response says it was degraded.
333
+ # AIMEAT_MODEL_FREE_FALLBACK=openrouter/free
334
+ # ── Instance model defaults, one per role ──
335
+ # Read only when the OWNER has not chosen a model of their own: owner setting, then this, then a
336
+ # refusal that names what to set. Empty (the default) means the node states no preference and every
337
+ # role resolves exactly as it did before these existed.
338
+ #
339
+ # These belong with an instance API key rather than beside it. A key alone does not let a new person
340
+ # speak, read an image or make one, because every model role is an owner-level setting and an unset
341
+ # one is an error rather than a fallback. Speech is the sharpest case: without AIMEAT_MODEL_DEFAULT_STT
342
+ # a brand-new account cannot use the microphone at all until it finds a settings page it has no
343
+ # reason to know about.
344
+ # AIMEAT_MODEL_DEFAULT_CHAT=
345
+ # AIMEAT_MODEL_DEFAULT_REASONING=
346
+ # AIMEAT_MODEL_DEFAULT_EXECUTION=
347
+ # AIMEAT_MODEL_DEFAULT_VISION=
348
+ # AIMEAT_MODEL_DEFAULT_STT=
349
+ # AIMEAT_MODEL_DEFAULT_IMAGE=
350
+ # The image model is used by POST /v1/ai/image and aimeat_image_generate. Without one, on the
351
+ # owner or here, that route refuses by name rather than handing the request to a chat model.
352
+ # ISO-639-1 hint for speech-to-text. Empty lets the model detect it, which is what mixed-language
353
+ # speech wants, so set this only where the node knows its audio is one language.
354
+ # AIMEAT_STT_LANGUAGE_DEFAULT=
299
355
  # ── Speech-to-text (POST /v1/ai/transcribe, voice messages) ──
300
356
  # Largest audio file accepted for transcription. 25 MB is the provider-side multipart ceiling, so
301
357
  # raising this past it turns a clear local refusal into an opaque upstream one.
@@ -484,7 +540,8 @@ AIMEAT_PORT=40050
484
540
 
485
541
  # ── Crawlers / Content Signals / Web Bot Auth ──────────────────
486
542
  # AIMEAT_WEB_BOT_AUTH_SIGN=false # Sign outbound HTTP (RFC 9421 Web Bot Auth, node Ed25519 key) so peers/CDNs can verify AIMEAT traffic against /.well-known/http-message-signatures-directory. OFF by default: stamps identifying Signature headers on every outbound request (linkability; rare strict endpoints may reject unknown headers). The key directory is always served.
487
- # AIMEAT_CONTENT_SIGNAL="search=yes, ai-input=yes, ai-train=no" # robots.txt Content Signals Policy directive (contentsignals.org). Keep consistent with the per-bot rules in public/robots.txt; 'off' removes the directive.
543
+ # AIMEAT_AI_TRAINING=deny # Allow the AI TRAINING crawlers (GPTBot, ClaudeBot, Google-Extended, Applebot-Extended, meta-externalagent) in robots.txt: 'allow' | 'deny'. Denied by default because a personal node holds one person's data, and a safe public default has to assume that case. Denying keeps the node out of what the models know without being pointed at it, and is a stated preference rather than an enforceable control. The SEARCH and RETRIEVAL bots (OAI-SearchBot, Claude-SearchBot, Claude-User, PerplexityBot, Googlebot, Bingbot, Applebot ...) are always allowed and are NOT affected by this: blocking those would make the node unfindable. aimeat.io runs 'allow'.
544
+ # AIMEAT_CONTENT_SIGNAL="" # robots.txt Content Signals Policy directive (contentsignals.org), e.g. "search=yes, ai-input=yes, ai-train=no". Leave empty to pair it to AIMEAT_AI_TRAINING so the directive and the per-bot rules cannot contradict each other; set it to override both; 'off' removes the directive.
488
545
 
489
546
  # ── IndexNow (Bing/Yandex search indexing) ─────────────────────
490
547
  # Generate a key: openssl rand -hex 16
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "schema_version": 1,
3
- "version": "3.2.0",
4
- "commit": "7203892dd55a775494be52d44d6a18678aefe211",
3
+ "version": "3.3.0",
4
+ "commit": "ff14a2711f15567c13f31d005ac6e39cbe5cf346",
5
5
  "dirty": false,
6
- "built_at": "2026-08-15T13:38:51.424Z",
7
- "newest_source_mtime": 1786800873978.1787,
6
+ "built_at": "2026-08-16T11:14:52.462Z",
7
+ "newest_source_mtime": 1786878872198.984,
8
8
  "source_dirs": [
9
9
  "src",
10
10
  "bin",
@@ -687,6 +687,41 @@
687
687
  "openBtn": "Open App Catalog",
688
688
  "downloadBtn": "Download HTML"
689
689
  },
690
+ "chat.allowance": "{n} USD left of your allowance.",
691
+ "chat.backToChat": "Back to the conversation",
692
+ "chat.closeList": "Close",
693
+ "chat.delete": "Delete conversation",
694
+ "chat.disabledPlaceholder": "This node has no chat agent yet.",
695
+ "chat.heardNothing": "Nothing was heard in that recording.",
696
+ "chat.hearing": "Working out what you said…",
697
+ "chat.listen": "Listen",
698
+ "chat.loadFailed": "The chat could not be loaded.",
699
+ "chat.modelTitle": "The model that answered this turn",
700
+ "chat.new": "New conversation",
701
+ "chat.noThreads": "Nothing here yet. Say something and this is where it will be.",
702
+ "chat.openList": "Conversations",
703
+ "chat.ownKey": "Running on your own OpenRouter key.",
704
+ "chat.placeholder": "Ask for something, or describe what you want built.",
705
+ "chat.reset": "Reset session",
706
+ "chat.resetTitle": "Start a fresh agent session for this conversation. Needed after changing what the agent may do.",
707
+ "chat.retry": "Try again",
708
+ "chat.send": "Send",
709
+ "chat.signIn": "Sign in and your first agent is waiting here.",
710
+ "chat.stop": "Stop",
711
+ "chat.stopListening": "Stop",
712
+ "chat.title": "Chat",
713
+ "chat.transcribeFailed": "That recording could not be turned into text.",
714
+ "chat.turnCount": "{n} messages",
715
+ "chat.turnFailed": "The turn could not be completed.",
716
+ "chat.welcomeBody": "It works here the way your own AI tool would, with the same permissions and the same record of what it did. Ask it for something.",
717
+ "chat.welcomeTitle": "Your first agent",
718
+ "chat.work.completed": "done",
719
+ "chat.work.failed": "failed",
720
+ "chat.work.in_progress": "running",
721
+ "chat.work.pending": "starting",
722
+ "chat.work.title": "What was done",
723
+ "chat.work.untitled": "a tool call",
724
+ "chat.working": "Working…",
690
725
  "classic": {
691
726
  "nav": {
692
727
  "devView": "For Developers"
@@ -4053,6 +4088,7 @@
4053
4088
  "exchange": "EXCHANGE",
4054
4089
  "members": "Members"
4055
4090
  },
4091
+ "nav.chat": "Chat",
4056
4092
  "nav.glossary": "Glossary",
4057
4093
  "nav.members": "Members",
4058
4094
  "notif": {
@@ -5730,6 +5766,9 @@
5730
5766
  },
5731
5767
  "operator": {
5732
5768
  "organism-repair": "Put an owner back on an organism this account does not own. Only works for a node operator: on any other account this permission does nothing. It is the way back when an organism's owner account can no longer be reached, and it hands that organism to whoever the agent names."
5769
+ },
5770
+ "packages": {
5771
+ "write": "Install packages for you. That sets up the package's app, its extensions and any scheduled jobs it brings, under your name."
5733
5772
  }
5734
5773
  },
5735
5774
  "domainAi": "AI",
@@ -5748,7 +5787,8 @@
5748
5787
  "domainCapability": "Services you sell",
5749
5788
  "domainAccount": "Your account and how you sign in",
5750
5789
  "domainOperator": "Running this node",
5751
- "permInvoke": "Run"
5790
+ "permInvoke": "Run",
5791
+ "domainPackages": "Packages"
5752
5792
  },
5753
5793
  "deviceAuth": {
5754
5794
  "title": "Device Authorization",
@@ -687,6 +687,41 @@
687
687
  "openBtn": "Abrir el catálogo",
688
688
  "downloadBtn": "Descargar el HTML"
689
689
  },
690
+ "chat.allowance": "Te quedan {n} USD de tu saldo.",
691
+ "chat.backToChat": "Volver a la conversación",
692
+ "chat.closeList": "Cerrar",
693
+ "chat.delete": "Eliminar conversación",
694
+ "chat.disabledPlaceholder": "Este nodo todavía no tiene un agente de chat.",
695
+ "chat.heardNothing": "No se escuchó nada en esa grabación.",
696
+ "chat.hearing": "Descifrando lo que dijiste…",
697
+ "chat.listen": "Escuchar",
698
+ "chat.loadFailed": "No se pudo cargar el chat.",
699
+ "chat.modelTitle": "El modelo que respondió este turno",
700
+ "chat.new": "Nueva conversación",
701
+ "chat.noThreads": "Todavía no hay nada. Di algo y la conversación aparecerá aquí.",
702
+ "chat.openList": "Conversaciones",
703
+ "chat.ownKey": "Se está usando tu propia clave de OpenRouter.",
704
+ "chat.placeholder": "Pide algo o describe lo que quieres que se construya.",
705
+ "chat.reset": "Reiniciar sesión",
706
+ "chat.resetTitle": "Empieza una sesión nueva del agente para esta conversación. Se necesita después de cambiar lo que el agente puede hacer.",
707
+ "chat.retry": "Intentar de nuevo",
708
+ "chat.send": "Enviar",
709
+ "chat.signIn": "Inicia sesión y tu primer agente te está esperando aquí.",
710
+ "chat.stop": "Detener",
711
+ "chat.stopListening": "Detener",
712
+ "chat.title": "Chat",
713
+ "chat.transcribeFailed": "Esa grabación no se pudo convertir en texto.",
714
+ "chat.turnCount": "{n} mensajes",
715
+ "chat.turnFailed": "No se pudo completar el turno.",
716
+ "chat.welcomeBody": "Funciona aquí igual que tu propia herramienta de IA: con los mismos permisos y el mismo registro de lo que hizo. Pídele algo.",
717
+ "chat.welcomeTitle": "Tu primer agente",
718
+ "chat.work.completed": "listo",
719
+ "chat.work.failed": "falló",
720
+ "chat.work.in_progress": "en curso",
721
+ "chat.work.pending": "iniciando",
722
+ "chat.work.title": "Lo que se hizo",
723
+ "chat.work.untitled": "llamada a herramienta",
724
+ "chat.working": "Trabajando…",
690
725
  "classic": {
691
726
  "nav": {
692
727
  "devView": "Para desarrolladores"
@@ -4051,6 +4086,7 @@
4051
4086
  "learn": "Aprende",
4052
4087
  "exchange": "EXCHANGE"
4053
4088
  },
4089
+ "nav.chat": "Chat",
4054
4090
  "nav.glossary": "Glosario",
4055
4091
  "nav.members": "Miembros",
4056
4092
  "notif": {
@@ -5723,6 +5759,9 @@
5723
5759
  },
5724
5760
  "operator": {
5725
5761
  "organism-repair": "Devuelve un propietario a un organismo que esta cuenta no posee. Solo funciona para el operador del nodo: en cualquier otra cuenta este permiso no hace nada. Es la vuelta atrás cuando ya no se alcanza la cuenta propietaria de un organismo, y entrega ese organismo a quien el agente nombre."
5762
+ },
5763
+ "packages": {
5764
+ "write": "Instalar paquetes por ti. Eso pone en marcha la aplicación del paquete, sus extensiones y las tareas programadas que traiga, a tu nombre."
5726
5765
  }
5727
5766
  },
5728
5767
  "domainAi": "IA",
@@ -5741,7 +5780,8 @@
5741
5780
  "domainCapability": "Servicios que vendes",
5742
5781
  "domainAccount": "Tu cuenta y cómo entras",
5743
5782
  "domainOperator": "Administración de este nodo",
5744
- "permInvoke": "Ejecutar"
5783
+ "permInvoke": "Ejecutar",
5784
+ "domainPackages": "Paquetes"
5745
5785
  },
5746
5786
  "deviceAuth": {
5747
5787
  "title": "Autorización de dispositivo",
@@ -687,6 +687,41 @@
687
687
  "openBtn": "Avaa sovelluskatalogi",
688
688
  "downloadBtn": "Lataa HTML"
689
689
  },
690
+ "chat.allowance": "Saldoa jäljellä {n} USD.",
691
+ "chat.backToChat": "Takaisin keskusteluun",
692
+ "chat.closeList": "Sulje",
693
+ "chat.delete": "Poista keskustelu",
694
+ "chat.disabledPlaceholder": "Tällä nodella ei ole vielä chat-agenttia.",
695
+ "chat.heardNothing": "Nauhoituksesta ei kuulunut mitään.",
696
+ "chat.hearing": "Selvitetään mitä sanoit…",
697
+ "chat.listen": "Kuuntele",
698
+ "chat.loadFailed": "Chatin lataaminen ei onnistunut.",
699
+ "chat.modelTitle": "Malli, joka vastasi tähän vuoroon",
700
+ "chat.new": "Uusi keskustelu",
701
+ "chat.noThreads": "Täällä ei ole vielä mitään. Sano jotain, niin keskustelu ilmestyy tähän.",
702
+ "chat.openList": "Keskustelut",
703
+ "chat.ownKey": "Käytössä on oma OpenRouter-avaimesi.",
704
+ "chat.placeholder": "Pyydä jotain tai kerro, mitä haluat rakennettavan.",
705
+ "chat.reset": "Nollaa sessio",
706
+ "chat.resetTitle": "Aloita tälle keskustelulle uusi agenttisessio. Sitä tarvitaan, kun olet muuttanut sitä, mitä agentti saa tehdä.",
707
+ "chat.retry": "Yritä uudelleen",
708
+ "chat.send": "Lähetä",
709
+ "chat.signIn": "Kirjaudu sisään, niin ensimmäinen agenttisi odottaa täällä.",
710
+ "chat.stop": "Pysäytä",
711
+ "chat.stopListening": "Pysäytä",
712
+ "chat.title": "Chat",
713
+ "chat.transcribeFailed": "Nauhoitusta ei saatu muutettua tekstiksi.",
714
+ "chat.turnCount": "{n} viestiä",
715
+ "chat.turnFailed": "Vuoroa ei saatu vietyä loppuun.",
716
+ "chat.welcomeBody": "Se toimii täällä samalla tavalla kuin oma tekoälytyökalusi: samat oikeudet ja sama kirjaus siitä, mitä se teki. Pyydä siltä jotain.",
717
+ "chat.welcomeTitle": "Ensimmäinen agenttisi",
718
+ "chat.work.completed": "valmis",
719
+ "chat.work.failed": "epäonnistui",
720
+ "chat.work.in_progress": "käynnissä",
721
+ "chat.work.pending": "alkaa",
722
+ "chat.work.title": "Mitä tehtiin",
723
+ "chat.work.untitled": "työkalukutsu",
724
+ "chat.working": "Työn alla…",
690
725
  "classic": {
691
726
  "nav": {
692
727
  "devView": "Kehittäjille"
@@ -4053,6 +4088,7 @@
4053
4088
  "exchange": "EXCHANGE",
4054
4089
  "members": "Jäsenet"
4055
4090
  },
4091
+ "nav.chat": "Chat",
4056
4092
  "nav.glossary": "Sanasto",
4057
4093
  "nav.members": "Jäsenet",
4058
4094
  "notif": {
@@ -5730,6 +5766,9 @@
5730
5766
  },
5731
5767
  "operator": {
5732
5768
  "organism-repair": "Palauta omistaja organismiin jota tämä tili ei omista. Toimii vain noden operaattorilla: muulla tilillä tämä oikeus ei tee mitään. Tällä pääsee takaisin organismiin jonka omistajatiliin ei enää saa yhteyttä, ja se antaa organismin sille jonka agentti nimeää."
5769
+ },
5770
+ "packages": {
5771
+ "write": "Asenna puolestasi paketteja. Se ottaa käyttöön paketin sovelluksen, laajennukset ja mahdolliset ajastetut työt sinun nimissäsi."
5733
5772
  }
5734
5773
  },
5735
5774
  "domainAi": "Tekoäly",
@@ -5748,7 +5787,8 @@
5748
5787
  "domainCapability": "Myymäsi palvelut",
5749
5788
  "domainAccount": "Tilisi ja kirjautuminen",
5750
5789
  "domainOperator": "Tämän noden ylläpito",
5751
- "permInvoke": "Aja"
5790
+ "permInvoke": "Aja",
5791
+ "domainPackages": "Paketit"
5752
5792
  },
5753
5793
  "deviceAuth": {
5754
5794
  "title": "Laitehyväksyntä",
@@ -6413,8 +6453,8 @@
6413
6453
  "telemetryEvents": "Telemetriatapahtumia tänään",
6414
6454
  "deliveryHealth": "Toimituksen tila",
6415
6455
  "connected": "Yhdistetty",
6416
- "mcpLabel": "MCP",
6417
- "notConfigured": "Ei määritetty"
6456
+ "notConfigured": "Ei määritetty",
6457
+ "mcpLabel": "MCP"
6418
6458
  },
6419
6459
  "notReported": "ei raportoitu",
6420
6460
  "deliveryPollingLine": "Toimitus: polling"
@@ -1,6 +1,18 @@
1
1
  {
2
2
  "_format": "Node change log, newest entry FIRST. Served at /changelog.json, rendered by public/views/landing-changelog.js. Add an entry in the same change that ships the thing. Fields: date (YYYY-MM-DD), version (optional, the node version it shipped in), kind (feature|fix|security|notice), title and body. title/body are either a plain string (shown to everyone) or { en, fi } when the wording deserves both languages. Write what a person gets, not what the code does.",
3
3
  "entries": [
4
+ {
5
+ "date": "2026-08-16",
6
+ "kind": "feature",
7
+ "title": {
8
+ "en": "An AI that meets this node reads a page, not a manual",
9
+ "fi": "Tekoäly joka kohtaa tämän noden lukee sivun, ei käsikirjaa"
10
+ },
11
+ "body": {
12
+ "en": "The document an AI fetches first to find out what this node is was the whole builder's manual: 124 kB of SDK reference and endpoint examples, for a reader who only wanted to know what they had arrived at. Now /llms.txt is a one-page map that names what is here and where each thing leads, and the manual is at /llms-full.txt, which is the convention the rest of the web follows. Anything pointed at the old address is told in the first sentence where the manual went.\n\nThe map lists this node's human pages too, generated from the node's own page registry, so a person's question gets a person's page rather than the app builder's manual.\n\nTwo related fixes you may notice if you run your own node: each page now carries structured data describing that page, which had been silently skipped on every page since it was written, and a node that is not aimeat.io no longer tells search engines and AI readers that it is.",
13
+ "fi": "Dokumentti jonka tekoäly hakee ensimmäisenä saadakseen selville mikä tämä node on oli koko rakentajan käsikirja: 124 kt SDK-viitettä ja endpoint-esimerkkejä lukijalle joka halusi vain tietää minne oli tullut. Nyt /llms.txt on yhden sivun kartta joka kertoo mitä täällä on ja mihin kukin asia johtaa, ja käsikirja on osoitteessa /llms-full.txt, jota muukin verkko noudattaa. Vanhaan osoitteeseen ohjatulle kerrotaan heti ensimmäisessä lauseessa minne käsikirja siirtyi.\n\nKartta listaa myös tämän noden ihmisille tarkoitetut sivut, ja ne tulevat noden omasta sivurekisteristä, joten ihmisen kysymykseen vastaa ihmisen sivu eikä sovelluskehittäjän käsikirja.\n\nKaksi liittyvää korjausta jotka saatat huomata jos ylläpidät omaa nodea: jokainen sivu kantaa nyt rakenteista tietoa itsestään, mikä oli jäänyt hiljaisesti tekemättä joka sivulla siitä asti kun se kirjoitettiin, eikä muu kuin aimeat.io enää kerro hakukoneille ja tekoälylukijoille olevansa aimeat.io."
14
+ }
15
+ },
4
16
  {
5
17
  "date": "2026-08-12",
6
18
  "version": "2.8.0",