aimeat 1.37.0 → 1.38.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 (386) hide show
  1. package/dist/locales/en.json +236 -6
  2. package/dist/locales/fi.json +236 -6
  3. package/dist/public/components/Toast.js +55 -26
  4. package/dist/public/components/UsageChart.js +105 -0
  5. package/dist/public/components/index.js +1 -0
  6. package/dist/public/cortex-bundled/aimeat-ui-dialogs.js +6 -3
  7. package/dist/public/cortex-bundled/aimeat-ui-dialogs.yaml +1 -1
  8. package/dist/public/css/theme.css +26 -3
  9. package/dist/public/css/views/admin.css +14 -0
  10. package/dist/public/css/views/agents-detail.css +33 -0
  11. package/dist/public/css/views/foundry.css +3 -3
  12. package/dist/public/css/views/invite-accept.css +27 -0
  13. package/dist/public/css/views/profile.css +107 -4
  14. package/dist/public/css/views/scheduler.css +82 -0
  15. package/dist/public/css/views/workflows.css +22 -0
  16. package/dist/public/js/services/admin.js +10 -0
  17. package/dist/public/js/services/memory.js +21 -0
  18. package/dist/public/js/services/organisms.js +17 -0
  19. package/dist/public/js/services/schedules.js +13 -0
  20. package/dist/public/js/services/skills.js +133 -0
  21. package/dist/public/llms-template.txt +8 -0
  22. package/dist/public/spa.html +9 -0
  23. package/dist/public/views/admin/ai-usage-tab.js +145 -0
  24. package/dist/public/views/admin/apps-tab.js +36 -0
  25. package/dist/public/views/admin/skills-tab.js +178 -0
  26. package/dist/public/views/admin.js +5 -0
  27. package/dist/public/views/invite-accept.js +179 -0
  28. package/dist/public/views/profile/agents/tab-data-access.js +116 -2
  29. package/dist/public/views/profile/apps-tab.js +89 -0
  30. package/dist/public/views/profile/generator-settings.js +144 -18
  31. package/dist/public/views/profile/landing-page.js +82 -0
  32. package/dist/public/views/profile/memory-tab.js +382 -31
  33. package/dist/public/views/profile/organisms/document.js +36 -6
  34. package/dist/public/views/profile/organisms/members.js +129 -2
  35. package/dist/public/views/profile/organisms/participants-panel.js +28 -1
  36. package/dist/public/views/profile/organisms/skills-panel.js +161 -0
  37. package/dist/public/views/profile/organisms/workspace-list.js +88 -9
  38. package/dist/public/views/profile/organisms/workspace.js +4 -0
  39. package/dist/public/views/profile/schedule-item.js +3 -1
  40. package/dist/public/views/profile/scheduler-calendar.js +246 -0
  41. package/dist/public/views/profile/scheduler-tab.js +30 -2
  42. package/dist/public/views/profile/skills-tab.js +226 -0
  43. package/dist/public/views/profile/workflows-tab.js +24 -0
  44. package/dist/public/views/profile.js +18 -9
  45. package/dist/public/views/public-workspace-viewer.js +13 -4
  46. package/dist/src/auth/node-keys.d.ts.map +1 -1
  47. package/dist/src/auth/node-keys.js +2 -0
  48. package/dist/src/auth/node-keys.js.map +1 -1
  49. package/dist/src/cli/connect/mcp/tools/index.d.ts.map +1 -1
  50. package/dist/src/cli/connect/mcp/tools/index.js +2 -0
  51. package/dist/src/cli/connect/mcp/tools/index.js.map +1 -1
  52. package/dist/src/cli/connect/mcp/tools/skills.d.ts +15 -0
  53. package/dist/src/cli/connect/mcp/tools/skills.d.ts.map +1 -0
  54. package/dist/src/cli/connect/mcp/tools/skills.js +87 -0
  55. package/dist/src/cli/connect/mcp/tools/skills.js.map +1 -0
  56. package/dist/src/cli/connect/mcp/tools/workspaces.d.ts +4 -0
  57. package/dist/src/cli/connect/mcp/tools/workspaces.d.ts.map +1 -1
  58. package/dist/src/cli/connect/mcp/tools/workspaces.js +78 -3
  59. package/dist/src/cli/connect/mcp/tools/workspaces.js.map +1 -1
  60. package/dist/src/cli/connect/tool-call.d.ts.map +1 -1
  61. package/dist/src/cli/connect/tool-call.js +50 -0
  62. package/dist/src/cli/connect/tool-call.js.map +1 -1
  63. package/dist/src/data/builtin-skills.d.ts +19 -0
  64. package/dist/src/data/builtin-skills.d.ts.map +1 -0
  65. package/dist/src/data/builtin-skills.js +277 -0
  66. package/dist/src/data/builtin-skills.js.map +1 -0
  67. package/dist/src/generated/api-types.d.ts +1458 -80
  68. package/dist/src/generated/api-types.d.ts.map +1 -1
  69. package/dist/src/generated/prisma-postgres/edge.js +38 -3
  70. package/dist/src/generated/prisma-postgres/index-browser.js +35 -0
  71. package/dist/src/generated/prisma-postgres/index.d.ts +3335 -346
  72. package/dist/src/generated/prisma-postgres/index.js +38 -3
  73. package/dist/src/generated/prisma-postgres/package.json +1 -1
  74. package/dist/src/generated/prisma-postgres/schema.prisma +42 -0
  75. package/dist/src/generated/prisma-postgres/wasm.js +38 -3
  76. package/dist/src/mcp/annotations.d.ts.map +1 -1
  77. package/dist/src/mcp/annotations.js +13 -0
  78. package/dist/src/mcp/annotations.js.map +1 -1
  79. package/dist/src/mcp/apps.d.ts +6 -3
  80. package/dist/src/mcp/apps.d.ts.map +1 -1
  81. package/dist/src/mcp/apps.js +115 -5
  82. package/dist/src/mcp/apps.js.map +1 -1
  83. package/dist/src/mcp/catalog/definitions.d.ts.map +1 -1
  84. package/dist/src/mcp/catalog/definitions.js +141 -2
  85. package/dist/src/mcp/catalog/definitions.js.map +1 -1
  86. package/dist/src/mcp/catalog/output-schemas.d.ts +6 -0
  87. package/dist/src/mcp/catalog/output-schemas.d.ts.map +1 -1
  88. package/dist/src/mcp/catalog/output-schemas.js +2 -0
  89. package/dist/src/mcp/catalog/output-schemas.js.map +1 -1
  90. package/dist/src/mcp/catalog/surfaces.d.ts.map +1 -1
  91. package/dist/src/mcp/catalog/surfaces.js +5 -0
  92. package/dist/src/mcp/catalog/surfaces.js.map +1 -1
  93. package/dist/src/mcp/core.d.ts.map +1 -1
  94. package/dist/src/mcp/core.js +10 -1
  95. package/dist/src/mcp/core.js.map +1 -1
  96. package/dist/src/mcp/index.d.ts.map +1 -1
  97. package/dist/src/mcp/index.js +4 -0
  98. package/dist/src/mcp/index.js.map +1 -1
  99. package/dist/src/mcp/memory-extended.d.ts +5 -0
  100. package/dist/src/mcp/memory-extended.d.ts.map +1 -1
  101. package/dist/src/mcp/memory-extended.js +45 -12
  102. package/dist/src/mcp/memory-extended.js.map +1 -1
  103. package/dist/src/mcp/operator-config.d.ts +23 -0
  104. package/dist/src/mcp/operator-config.d.ts.map +1 -0
  105. package/dist/src/mcp/operator-config.js +215 -0
  106. package/dist/src/mcp/operator-config.js.map +1 -0
  107. package/dist/src/mcp/organisms.d.ts.map +1 -1
  108. package/dist/src/mcp/organisms.js +69 -0
  109. package/dist/src/mcp/organisms.js.map +1 -1
  110. package/dist/src/mcp/skills.d.ts +21 -0
  111. package/dist/src/mcp/skills.d.ts.map +1 -0
  112. package/dist/src/mcp/skills.js +181 -0
  113. package/dist/src/mcp/skills.js.map +1 -0
  114. package/dist/src/mcp/workflows.d.ts +2 -0
  115. package/dist/src/mcp/workflows.d.ts.map +1 -1
  116. package/dist/src/mcp/workflows.js +36 -0
  117. package/dist/src/mcp/workflows.js.map +1 -1
  118. package/dist/src/mcp/workspaces.d.ts +6 -0
  119. package/dist/src/mcp/workspaces.d.ts.map +1 -1
  120. package/dist/src/mcp/workspaces.js +114 -43
  121. package/dist/src/mcp/workspaces.js.map +1 -1
  122. package/dist/src/models/agent-task-schemas.d.ts +2 -2
  123. package/dist/src/models/workflow-schemas.d.ts +63 -1
  124. package/dist/src/models/workflow-schemas.d.ts.map +1 -1
  125. package/dist/src/models/workflow-schemas.js +12 -0
  126. package/dist/src/models/workflow-schemas.js.map +1 -1
  127. package/dist/src/routes/agent-tasks.d.ts +7 -1
  128. package/dist/src/routes/agent-tasks.d.ts.map +1 -1
  129. package/dist/src/routes/agent-tasks.js +86 -16
  130. package/dist/src/routes/agent-tasks.js.map +1 -1
  131. package/dist/src/routes/ai.d.ts +9 -5
  132. package/dist/src/routes/ai.d.ts.map +1 -1
  133. package/dist/src/routes/ai.js +38 -7
  134. package/dist/src/routes/ai.js.map +1 -1
  135. package/dist/src/routes/app-grants.d.ts +4 -0
  136. package/dist/src/routes/app-grants.d.ts.map +1 -1
  137. package/dist/src/routes/app-grants.js +13 -0
  138. package/dist/src/routes/app-grants.js.map +1 -1
  139. package/dist/src/routes/apps.d.ts +20 -0
  140. package/dist/src/routes/apps.d.ts.map +1 -1
  141. package/dist/src/routes/apps.js +339 -6
  142. package/dist/src/routes/apps.js.map +1 -1
  143. package/dist/src/routes/discover.js +1 -1
  144. package/dist/src/routes/discover.js.map +1 -1
  145. package/dist/src/routes/ghii.d.ts +11 -0
  146. package/dist/src/routes/ghii.d.ts.map +1 -1
  147. package/dist/src/routes/ghii.js +136 -2
  148. package/dist/src/routes/ghii.js.map +1 -1
  149. package/dist/src/routes/lib-live.d.ts +25 -0
  150. package/dist/src/routes/lib-live.d.ts.map +1 -0
  151. package/dist/src/routes/lib-live.js +178 -0
  152. package/dist/src/routes/lib-live.js.map +1 -0
  153. package/dist/src/routes/librarian.d.ts +11 -2
  154. package/dist/src/routes/librarian.d.ts.map +1 -1
  155. package/dist/src/routes/librarian.js +44 -7
  156. package/dist/src/routes/librarian.js.map +1 -1
  157. package/dist/src/routes/libs.d.ts +14 -0
  158. package/dist/src/routes/libs.d.ts.map +1 -1
  159. package/dist/src/routes/libs.js +212 -3
  160. package/dist/src/routes/libs.js.map +1 -1
  161. package/dist/src/routes/memory.d.ts +5 -0
  162. package/dist/src/routes/memory.d.ts.map +1 -1
  163. package/dist/src/routes/memory.js +153 -10
  164. package/dist/src/routes/memory.js.map +1 -1
  165. package/dist/src/routes/oauth-login.d.ts.map +1 -1
  166. package/dist/src/routes/oauth-login.js +5 -43
  167. package/dist/src/routes/oauth-login.js.map +1 -1
  168. package/dist/src/routes/organisms.d.ts +12 -0
  169. package/dist/src/routes/organisms.d.ts.map +1 -1
  170. package/dist/src/routes/organisms.js +553 -16
  171. package/dist/src/routes/organisms.js.map +1 -1
  172. package/dist/src/routes/portal.d.ts.map +1 -1
  173. package/dist/src/routes/portal.js +1 -0
  174. package/dist/src/routes/portal.js.map +1 -1
  175. package/dist/src/routes/schedules.d.ts +5 -0
  176. package/dist/src/routes/schedules.d.ts.map +1 -1
  177. package/dist/src/routes/schedules.js +107 -0
  178. package/dist/src/routes/schedules.js.map +1 -1
  179. package/dist/src/routes/skills.d.ts +26 -0
  180. package/dist/src/routes/skills.d.ts.map +1 -0
  181. package/dist/src/routes/skills.js +329 -0
  182. package/dist/src/routes/skills.js.map +1 -0
  183. package/dist/src/routes/storage-files.d.ts.map +1 -1
  184. package/dist/src/routes/storage-files.js +28 -6
  185. package/dist/src/routes/storage-files.js.map +1 -1
  186. package/dist/src/routes/subdomains.d.ts +3 -0
  187. package/dist/src/routes/subdomains.d.ts.map +1 -1
  188. package/dist/src/routes/subdomains.js +24 -5
  189. package/dist/src/routes/subdomains.js.map +1 -1
  190. package/dist/src/routes/upload.d.ts +3 -0
  191. package/dist/src/routes/upload.d.ts.map +1 -1
  192. package/dist/src/routes/upload.js +79 -0
  193. package/dist/src/routes/upload.js.map +1 -1
  194. package/dist/src/routes/workflows.js +1 -1
  195. package/dist/src/routes/workflows.js.map +1 -1
  196. package/dist/src/server-bootstrap/routes-loader.d.ts.map +1 -1
  197. package/dist/src/server-bootstrap/routes-loader.js +2 -0
  198. package/dist/src/server-bootstrap/routes-loader.js.map +1 -1
  199. package/dist/src/server-bootstrap/service-init.d.ts.map +1 -1
  200. package/dist/src/server-bootstrap/service-init.js +7 -0
  201. package/dist/src/server-bootstrap/service-init.js.map +1 -1
  202. package/dist/src/services/access-guard.d.ts +12 -0
  203. package/dist/src/services/access-guard.d.ts.map +1 -1
  204. package/dist/src/services/access-guard.js +35 -0
  205. package/dist/src/services/access-guard.js.map +1 -1
  206. package/dist/src/services/ai-completion.d.ts +39 -2
  207. package/dist/src/services/ai-completion.d.ts.map +1 -1
  208. package/dist/src/services/ai-completion.js +56 -3
  209. package/dist/src/services/ai-completion.js.map +1 -1
  210. package/dist/src/services/ai-usage-admin.d.ts +53 -0
  211. package/dist/src/services/ai-usage-admin.d.ts.map +1 -0
  212. package/dist/src/services/ai-usage-admin.js +62 -0
  213. package/dist/src/services/ai-usage-admin.js.map +1 -0
  214. package/dist/src/services/app-lineage.d.ts +50 -0
  215. package/dist/src/services/app-lineage.d.ts.map +1 -0
  216. package/dist/src/services/app-lineage.js +88 -0
  217. package/dist/src/services/app-lineage.js.map +1 -0
  218. package/dist/src/services/app-similarity.d.ts +51 -0
  219. package/dist/src/services/app-similarity.d.ts.map +1 -0
  220. package/dist/src/services/app-similarity.js +145 -0
  221. package/dist/src/services/app-similarity.js.map +1 -0
  222. package/dist/src/services/core-jobs.d.ts.map +1 -1
  223. package/dist/src/services/core-jobs.js +6 -0
  224. package/dist/src/services/core-jobs.js.map +1 -1
  225. package/dist/src/services/discovery/classify.d.ts.map +1 -1
  226. package/dist/src/services/discovery/classify.js +10 -0
  227. package/dist/src/services/discovery/classify.js.map +1 -1
  228. package/dist/src/services/discovery/types.d.ts +1 -1
  229. package/dist/src/services/discovery/types.d.ts.map +1 -1
  230. package/dist/src/services/email-templates.d.ts +63 -4
  231. package/dist/src/services/email-templates.d.ts.map +1 -1
  232. package/dist/src/services/email-templates.js +230 -7
  233. package/dist/src/services/email-templates.js.map +1 -1
  234. package/dist/src/services/email.d.ts +7 -1
  235. package/dist/src/services/email.d.ts.map +1 -1
  236. package/dist/src/services/email.js +23 -2
  237. package/dist/src/services/email.js.map +1 -1
  238. package/dist/src/services/extension-runtime.d.ts +6 -0
  239. package/dist/src/services/extension-runtime.d.ts.map +1 -1
  240. package/dist/src/services/extension-runtime.js +86 -23
  241. package/dist/src/services/extension-runtime.js.map +1 -1
  242. package/dist/src/services/invitations.d.ts +58 -0
  243. package/dist/src/services/invitations.d.ts.map +1 -0
  244. package/dist/src/services/invitations.js +154 -0
  245. package/dist/src/services/invitations.js.map +1 -0
  246. package/dist/src/services/job-seeding.d.ts.map +1 -1
  247. package/dist/src/services/job-seeding.js +2 -0
  248. package/dist/src/services/job-seeding.js.map +1 -1
  249. package/dist/src/services/key-credentials.d.ts +33 -0
  250. package/dist/src/services/key-credentials.d.ts.map +1 -0
  251. package/dist/src/services/key-credentials.js +48 -0
  252. package/dist/src/services/key-credentials.js.map +1 -0
  253. package/dist/src/services/librarian.d.ts +10 -7
  254. package/dist/src/services/librarian.d.ts.map +1 -1
  255. package/dist/src/services/librarian.js +3 -1
  256. package/dist/src/services/librarian.js.map +1 -1
  257. package/dist/src/services/living-pulse.js +1 -1
  258. package/dist/src/services/living-pulse.js.map +1 -1
  259. package/dist/src/services/notebook-classify-prompt.d.ts +4 -0
  260. package/dist/src/services/notebook-classify-prompt.d.ts.map +1 -1
  261. package/dist/src/services/notebook-classify-prompt.js +6 -1
  262. package/dist/src/services/notebook-classify-prompt.js.map +1 -1
  263. package/dist/src/services/notebook-classify.d.ts +4 -0
  264. package/dist/src/services/notebook-classify.d.ts.map +1 -1
  265. package/dist/src/services/notebook-classify.js +8 -2
  266. package/dist/src/services/notebook-classify.js.map +1 -1
  267. package/dist/src/services/notebook-distribute-prompt.d.ts +2 -0
  268. package/dist/src/services/notebook-distribute-prompt.d.ts.map +1 -1
  269. package/dist/src/services/notebook-distribute-prompt.js +3 -1
  270. package/dist/src/services/notebook-distribute-prompt.js.map +1 -1
  271. package/dist/src/services/notebook-plan-prompt.d.ts +3 -0
  272. package/dist/src/services/notebook-plan-prompt.d.ts.map +1 -1
  273. package/dist/src/services/notebook-plan-prompt.js +4 -0
  274. package/dist/src/services/notebook-plan-prompt.js.map +1 -1
  275. package/dist/src/services/openrouter.d.ts.map +1 -1
  276. package/dist/src/services/openrouter.js +15 -4
  277. package/dist/src/services/openrouter.js.map +1 -1
  278. package/dist/src/services/operator-confirm.d.ts +11 -0
  279. package/dist/src/services/operator-confirm.d.ts.map +1 -0
  280. package/dist/src/services/operator-confirm.js +84 -0
  281. package/dist/src/services/operator-confirm.js.map +1 -0
  282. package/dist/src/services/owner-provisioning.d.ts +30 -0
  283. package/dist/src/services/owner-provisioning.d.ts.map +1 -0
  284. package/dist/src/services/owner-provisioning.js +79 -0
  285. package/dist/src/services/owner-provisioning.js.map +1 -0
  286. package/dist/src/services/package-zip.d.ts +2 -0
  287. package/dist/src/services/package-zip.d.ts.map +1 -1
  288. package/dist/src/services/package-zip.js +5 -2
  289. package/dist/src/services/package-zip.js.map +1 -1
  290. package/dist/src/services/safe-zip.d.ts +7 -1
  291. package/dist/src/services/safe-zip.d.ts.map +1 -1
  292. package/dist/src/services/safe-zip.js +12 -1
  293. package/dist/src/services/safe-zip.js.map +1 -1
  294. package/dist/src/services/schema-validator.d.ts +1 -1
  295. package/dist/src/services/schema-validator.d.ts.map +1 -1
  296. package/dist/src/services/schema-validator.js +13 -2
  297. package/dist/src/services/schema-validator.js.map +1 -1
  298. package/dist/src/services/skill-md.d.ts +40 -0
  299. package/dist/src/services/skill-md.d.ts.map +1 -0
  300. package/dist/src/services/skill-md.js +116 -0
  301. package/dist/src/services/skill-md.js.map +1 -0
  302. package/dist/src/services/skill-seeds.d.ts +19 -0
  303. package/dist/src/services/skill-seeds.d.ts.map +1 -0
  304. package/dist/src/services/skill-seeds.js +27 -0
  305. package/dist/src/services/skill-seeds.js.map +1 -0
  306. package/dist/src/services/skills.d.ts +207 -0
  307. package/dist/src/services/skills.d.ts.map +1 -0
  308. package/dist/src/services/skills.js +539 -0
  309. package/dist/src/services/skills.js.map +1 -0
  310. package/dist/src/services/structure-overview.d.ts +25 -1
  311. package/dist/src/services/structure-overview.d.ts.map +1 -1
  312. package/dist/src/services/structure-overview.js +54 -7
  313. package/dist/src/services/structure-overview.js.map +1 -1
  314. package/dist/src/services/upload-token.d.ts +4 -2
  315. package/dist/src/services/upload-token.d.ts.map +1 -1
  316. package/dist/src/services/upload-token.js +7 -1
  317. package/dist/src/services/upload-token.js.map +1 -1
  318. package/dist/src/services/upload-zip.d.ts +2 -0
  319. package/dist/src/services/upload-zip.d.ts.map +1 -1
  320. package/dist/src/services/upload-zip.js +4 -1
  321. package/dist/src/services/upload-zip.js.map +1 -1
  322. package/dist/src/services/workflow/engine.d.ts +50 -2
  323. package/dist/src/services/workflow/engine.d.ts.map +1 -1
  324. package/dist/src/services/workflow/engine.js +351 -52
  325. package/dist/src/services/workflow/engine.js.map +1 -1
  326. package/dist/src/services/workflow/signal-eval.d.ts +14 -0
  327. package/dist/src/services/workflow/signal-eval.d.ts.map +1 -1
  328. package/dist/src/services/workflow/signal-eval.js +32 -0
  329. package/dist/src/services/workflow/signal-eval.js.map +1 -1
  330. package/dist/src/services/workflow/store.d.ts +6 -0
  331. package/dist/src/services/workflow/store.d.ts.map +1 -1
  332. package/dist/src/services/workflow/store.js +8 -1
  333. package/dist/src/services/workflow/store.js.map +1 -1
  334. package/dist/src/services/write-guards.d.ts +54 -0
  335. package/dist/src/services/write-guards.d.ts.map +1 -0
  336. package/dist/src/services/write-guards.js +108 -0
  337. package/dist/src/services/write-guards.js.map +1 -0
  338. package/dist/src/storage/interface.d.ts +38 -3
  339. package/dist/src/storage/interface.d.ts.map +1 -1
  340. package/dist/src/storage/interface.js.map +1 -1
  341. package/dist/src/storage/providers/mongodb/index.d.ts +28 -4
  342. package/dist/src/storage/providers/mongodb/index.d.ts.map +1 -1
  343. package/dist/src/storage/providers/mongodb/index.js +230 -54
  344. package/dist/src/storage/providers/mongodb/index.js.map +1 -1
  345. package/dist/src/storage/providers/sqlite/index.d.ts +23 -2
  346. package/dist/src/storage/providers/sqlite/index.d.ts.map +1 -1
  347. package/dist/src/storage/providers/sqlite/index.js +141 -12
  348. package/dist/src/storage/providers/sqlite/index.js.map +1 -1
  349. package/dist/src/storage/providers/sqlite/repos/memory.d.ts +1 -0
  350. package/dist/src/storage/providers/sqlite/repos/memory.d.ts.map +1 -1
  351. package/dist/src/storage/providers/sqlite/repos/memory.js +2 -0
  352. package/dist/src/storage/providers/sqlite/repos/memory.js.map +1 -1
  353. package/dist/src/storage/providers/sqlite/schema.d.ts.map +1 -1
  354. package/dist/src/storage/providers/sqlite/schema.js +59 -0
  355. package/dist/src/storage/providers/sqlite/schema.js.map +1 -1
  356. package/dist/src/storage/repositories/app.repository.d.ts +22 -2
  357. package/dist/src/storage/repositories/app.repository.d.ts.map +1 -1
  358. package/dist/src/storage/repositories/file.repository.d.ts +1 -1
  359. package/dist/src/storage/repositories/file.repository.d.ts.map +1 -1
  360. package/dist/src/storage/repositories/invitation.repository.d.ts +66 -0
  361. package/dist/src/storage/repositories/invitation.repository.d.ts.map +1 -0
  362. package/dist/src/storage/repositories/invitation.repository.js +18 -0
  363. package/dist/src/storage/repositories/invitation.repository.js.map +1 -0
  364. package/dist/src/storage/repositories/memory.repository.d.ts +1 -0
  365. package/dist/src/storage/repositories/memory.repository.d.ts.map +1 -1
  366. package/dist/src/utils/app-obfuscate.d.ts +6 -0
  367. package/dist/src/utils/app-obfuscate.d.ts.map +1 -0
  368. package/dist/src/utils/app-obfuscate.js +52 -0
  369. package/dist/src/utils/app-obfuscate.js.map +1 -0
  370. package/dist/src/utils/app-protect.d.ts +71 -0
  371. package/dist/src/utils/app-protect.d.ts.map +1 -0
  372. package/dist/src/utils/app-protect.js +124 -0
  373. package/dist/src/utils/app-protect.js.map +1 -0
  374. package/dist/src/utils/password-generation.d.ts +7 -0
  375. package/dist/src/utils/password-generation.d.ts.map +1 -0
  376. package/dist/src/utils/password-generation.js +50 -0
  377. package/dist/src/utils/password-generation.js.map +1 -0
  378. package/dist/src/utils/workspace-ref.d.ts +14 -0
  379. package/dist/src/utils/workspace-ref.d.ts.map +1 -0
  380. package/dist/src/utils/workspace-ref.js +22 -0
  381. package/dist/src/utils/workspace-ref.js.map +1 -0
  382. package/dist/static/app-catalog.html +414 -32
  383. package/dist/static/app-silent.js +19 -2
  384. package/package.json +2 -1
  385. package/prisma/schema.postgres.prisma +42 -0
  386. package/prisma/schema.prisma +52 -3
@@ -358,6 +358,10 @@
358
358
  "profile.workflows.recentRuns": "Recent runs",
359
359
  "profile.workflows.noRuns": "No runs yet.",
360
360
  "profile.workflows.attempt": "attempt",
361
+ "profile.workflows.progress": "leaves {count}/{min}",
362
+ "profile.workflows.progressIncreasing": "still filling",
363
+ "profile.workflows.progressStalled": "stalled",
364
+ "profile.workflows.progressTitle": "Fill progress: non-empty output keys vs the required minimum. While a step is running, a rising count means the crew is still filling keys (in progress); a flat count means it has stalled.",
361
365
  "profile.workflows.health.title": "Per-step health over recent runs (green = produced, red = failed)",
362
366
  "profile.workflows.inspectorDispatched": "{count} inspector task(s) dispatched",
363
367
  "profile.workflows.new": "New",
@@ -476,6 +480,24 @@
476
480
  "profile.scheduler.soon": "soon",
477
481
  "profile.scheduler.paused": "paused",
478
482
  "profile.scheduler.autoKey": "(auto)",
483
+ "profile.scheduler.kind.eco-capability": "Ecosystem app",
484
+ "profile.scheduler.kind.secretary": "Secretary",
485
+ "profile.scheduler.cal.title": "Calendar",
486
+ "profile.scheduler.cal.month": "Month",
487
+ "profile.scheduler.cal.week": "Week",
488
+ "profile.scheduler.cal.day": "Day",
489
+ "profile.scheduler.cal.today": "Today",
490
+ "profile.scheduler.cal.prev": "Previous",
491
+ "profile.scheduler.cal.next": "Next",
492
+ "profile.scheduler.cal.loading": "loading…",
493
+ "profile.scheduler.cal.noEvents": "Nothing scheduled in this range.",
494
+ "profile.scheduler.cal.empty": "No enabled schedules yet — create one above to see it here.",
495
+ "profile.scheduler.cal.earlier": "Earlier",
496
+ "profile.scheduler.cal.later": "Later",
497
+ "profile.scheduler.cal.truncated": "Some very frequent schedules are truncated in this view.",
498
+ "profile.scheduler.cal.ran": "ran",
499
+ "profile.scheduler.cal.upcoming": "upcoming",
500
+ "profile.scheduler.cal.unknown": "Schedule",
479
501
  "appGrant": {
480
502
  "title": "Allow this app to access your data?",
481
503
  "intro": "It will receive its own scoped, revocable token. Never your login session. You can revoke it anytime in Profile › Access.",
@@ -506,6 +528,7 @@
506
528
  "cancel": "Cancel",
507
529
  "confirm": "Confirm",
508
530
  "delete": "Delete",
531
+ "edit": "Edit",
509
532
  "back": "Back",
510
533
  "somethingWentWrong": "Something went wrong",
511
534
  "retry": "Retry",
@@ -2708,6 +2731,13 @@
2708
2731
  "permReadOnly": "Read only",
2709
2732
  "docCount": "docs",
2710
2733
  "noPackages": "No knowledge packages linked",
2734
+ "skillsTitle": "Skills",
2735
+ "linkSkill": "Link skill",
2736
+ "unlinkSkill": "Unlink",
2737
+ "skillLinked": "Skill linked",
2738
+ "skillUnlinked": "Skill unlinked",
2739
+ "skillLinkError": "Failed to update skill links",
2740
+ "skillsHelp": "Skills are attached by reference — the agent (and crew runtimes) load the current content at start. Manage skill content in the profile Skills tab.",
2711
2741
  "storedKeysTitle": "Stored Memory Keys",
2712
2742
  "scopeNote": "This scope summary is included in the agent's skill bundle so it knows its data boundaries.",
2713
2743
  "scopeFooter": "This summary is included in the agent's skill bundle so it knows its data boundaries.",
@@ -2728,6 +2758,8 @@
2728
2758
  "removeAreaError": "Failed to remove memory area",
2729
2759
  "confirmDeleteArea": "Remove this memory area from the agent?",
2730
2760
  "addKey": "Add key",
2761
+ "imagePreviewAlt": "Image stored in this memory entry",
2762
+ "openImageFull": "Open full size",
2731
2763
  "keyNamePlaceholder": "Key (e.g., agents.myagent.notes)",
2732
2764
  "keyValuePlaceholder": "Value. Plain text or JSON",
2733
2765
  "noKeys": "No memory keys stored yet",
@@ -3109,7 +3141,27 @@
3109
3141
  "importEmpty": "No entries found in file",
3110
3142
  "deleteGroup": "Delete group",
3111
3143
  "deleteGroupConfirm": "Delete all {n} entries under \"{g}\"? This cannot be undone.",
3112
- "deleteGroupUnsupported": "This group cannot be bulk-deleted"
3144
+ "deleteGroupUnsupported": "This group cannot be bulk-deleted",
3145
+ "copyValue": "Copy value",
3146
+ "valueCopied": "Value copied",
3147
+ "cartAdd": "Add to collection",
3148
+ "cartRemove": "Remove from collection",
3149
+ "cartAddSelected": "Add to collection",
3150
+ "cartTitle": "Collection",
3151
+ "cartClear": "Clear",
3152
+ "cartCopyUrls": "Copy URL list",
3153
+ "cartUrlsCopied": "URL list copied",
3154
+ "cartDownloadTxt": "URL list (.txt)",
3155
+ "cartDownloadZip": "Download ZIP",
3156
+ "cartZipDone": "Collection downloaded",
3157
+ "cartZipError": "Bundle failed",
3158
+ "cartSend": "Send to workspace",
3159
+ "cartPickOrg": "Choose organism…",
3160
+ "cartPickWs": "Choose workspace…",
3161
+ "cartSendBtn": "Add as sources",
3162
+ "cartNoOrgs": "You are not in any organism workspaces yet.",
3163
+ "cartSourcesAdded": "Added {n} sources to the workspace",
3164
+ "cartSourcesExist": "All items already attached to that workspace"
3113
3165
  },
3114
3166
  "files": {
3115
3167
  "title": "Stored Files",
@@ -3145,7 +3197,14 @@
3145
3197
  "copyUrl": "Copy URL",
3146
3198
  "urlCopied": "URL copied to clipboard",
3147
3199
  "clearFilter": "Clear",
3148
- "noMatch": "No files match selected tags"
3200
+ "noMatch": "No files match selected tags",
3201
+ "noMatchSearch": "No files match your search",
3202
+ "searchPlaceholder": "Search files by name, tag, or type…",
3203
+ "preview": "Preview",
3204
+ "openInTab": "Open in new tab",
3205
+ "previewLoading": "Loading preview…",
3206
+ "previewError": "Couldn’t load this file",
3207
+ "noPreview": "No preview for this file type — download it instead"
3149
3208
  },
3150
3209
  "work": {
3151
3210
  "title": "Work History",
@@ -3263,6 +3322,15 @@
3263
3322
  "unpark": "Unpark",
3264
3323
  "parkedBadge": "Parked",
3265
3324
  "parkedHint": "Only you can see and use this — hidden from the public catalogue.",
3325
+ "skillsLabel": "Skills",
3326
+ "skillsNone": "none — attach a skill that teaches agents this app",
3327
+ "skillsNoneToAttach": "No unbound skills — create one in the Skills tab first",
3328
+ "skillAttach": "Attach skill",
3329
+ "skillAttachConfirm": "Attach",
3330
+ "skillAttached": "Skill attached to this app",
3331
+ "skillDetach": "Detach",
3332
+ "skillDetached": "Skill detached",
3333
+ "skillAttachError": "Failed to attach skill",
3266
3334
  "parked": "App parked",
3267
3335
  "unparked": "App published",
3268
3336
  "operatorHiddenBadge": "Moderated by operator: hidden",
@@ -3774,6 +3842,9 @@
3774
3842
  },
3775
3843
  "generator": {
3776
3844
  "tabLabel": "Generator",
3845
+ "aiUsageOverTime": "Usage over time (30 days)",
3846
+ "aiMetricCost": "Cost",
3847
+ "aiMetricTokens": "Tokens",
3777
3848
  "title": "Service Generator",
3778
3849
  "empty": "No projects yet. Create your first service!",
3779
3850
  "disabled": "Service Generator is disabled on this node.",
@@ -4009,6 +4080,10 @@
4009
4080
  "reasoningModel": "Reasoning Model (blueprints, skeletons, planning)",
4010
4081
  "executionModel": "Execution Model (code, tests, assembly)",
4011
4082
  "modelSelect": "Select model",
4083
+ "modelsRefresh": "Refresh models",
4084
+ "modelsHint": "Models are fetched from the provider's /v1/models after you save.",
4085
+ "modelsError": "Couldn't load models. Check the API URL and key, save, then refresh.",
4086
+ "modelsEmpty": "The provider returned no models. Check the API URL.",
4012
4087
  "visionModel": "Vision model (for images)",
4013
4088
  "visionModelNone": "None (don't read images)",
4014
4089
  "visionModel_hint": "A vision-capable model (e.g. qwen-2.5-VL) used to read images you attach in the Secretary. Your default model is often text-only.",
@@ -4294,6 +4369,10 @@
4294
4369
  "reasoningModel": "Reasoning Model (blueprints, skeletons, planning)",
4295
4370
  "executionModel": "Execution Model (code, tests, assembly)",
4296
4371
  "modelSelect": "Select model",
4372
+ "modelsRefresh": "Refresh models",
4373
+ "modelsHint": "Models are fetched from the provider's /v1/models after you save.",
4374
+ "modelsError": "Couldn't load models. Check the API URL and key, save, then refresh.",
4375
+ "modelsEmpty": "The provider returned no models. Check the API URL.",
4297
4376
  "visionModel": "Vision model (for images)",
4298
4377
  "visionModelNone": "None (don't read images)",
4299
4378
  "visionModel_hint": "A vision-capable model (e.g. qwen-2.5-VL) used to read images you attach in the Secretary. Your default model is often text-only.",
@@ -4433,7 +4512,9 @@
4433
4512
  "private": "Private",
4434
4513
  "owner": "My Agents",
4435
4514
  "protected": "Protected",
4436
- "group": "Group"
4515
+ "group": "Group",
4516
+ "members": "Node members",
4517
+ "workspace": "Workspace"
4437
4518
  },
4438
4519
  "knowledge": {
4439
4520
  "parseError": "Could not parse the pasted content as JSON",
@@ -4542,6 +4623,12 @@
4542
4623
  "usageExtensions": "Extensions",
4543
4624
  "usageCortexes": "Cortexes",
4544
4625
  "usageServices": "Services",
4626
+ "aiSpendTitle": "AI apps spend",
4627
+ "aiTokensWord": "tokens",
4628
+ "aiWin24h": "Today",
4629
+ "aiWin7d": "7 days",
4630
+ "aiWin30d": "30 days",
4631
+ "aiWhereMoney": "Where it went (30d)",
4545
4632
  "activeTodayCount": "{n} active today",
4546
4633
  "agentActiveToday": "active today",
4547
4634
  "nextRunAt": "next run {time}",
@@ -5092,6 +5179,16 @@
5092
5179
  "emailLabel": "Email",
5093
5180
  "sendUsername": "Send My Username",
5094
5181
  "usernameSent": "If an account with that email exists, your username was sent.",
5182
+ "completeAccountTitle": "One last step",
5183
+ "completeAccountDesc": "Add an email to finish setting up your account. We’ll send a verification code to confirm it.",
5184
+ "completeAccountDescResend": "Confirm your email to finish signing in. We’ll send a verification code — edit the address if it’s wrong.",
5185
+ "sendVerificationCode": "Send Verification Code",
5186
+ "enterCodeTitle": "Enter Verification Code",
5187
+ "enterCodeDesc": "We sent a 6-digit code to your email. Enter it below to finish and sign in.",
5188
+ "confirmAndSignIn": "Confirm & Sign In",
5189
+ "emailVerifiedSigningIn": "Verified! Signing you in...",
5190
+ "errEmailInvalid": "Please enter a valid email address.",
5191
+ "errCodeRequired": "Enter the verification code.",
5095
5192
  "signupTitle": "Choose your username",
5096
5193
  "signupIntro": "You're signing in for the first time. Pick the username for your AIMEAT account.",
5097
5194
  "signupEmailNote": "Signing up as {email}",
@@ -5111,7 +5208,7 @@
5111
5208
  "whyPrivacy": "Your own private memory space, protected by your password",
5112
5209
  "whyControl": "Full control: only you can access your data, no need to share with anyone",
5113
5210
  "whyAgents": "Connect AI agents that remember you and work on your behalf",
5114
- "whyMorsels": "100 free heart morsels to start! E.g. memory request ~ 1 ❤️, board post ~ 2 ❤️. You get 50 more every day"
5211
+ "whyMorsels": "Your own AI-built apps and agents work for you a digital agency under your own roof."
5115
5212
  },
5116
5213
  "dashboard": {
5117
5214
  "title": "AIMEAT Admin Dashboard",
@@ -5665,6 +5762,20 @@
5665
5762
  "corsSelectAgent": "Select agent...",
5666
5763
  "stats": "Statistics",
5667
5764
  "statsNotAvailable": "Statistics are disabled on this node.",
5765
+ "aiUsage": "AI Apps Usage",
5766
+ "aiMetricCost": "Cost",
5767
+ "aiMetricTokens": "Tokens",
5768
+ "aiUsageEmpty": "No AI usage yet.",
5769
+ "aiPerAppOverTime": "Per-app spend over time",
5770
+ "aiByApp": "By app",
5771
+ "aiByUser": "Top spenders",
5772
+ "aiApp": "App",
5773
+ "aiUser": "User",
5774
+ "aiShare": "Share",
5775
+ "aiTotalSpend": "Spend",
5776
+ "aiTotalTokens": "Tokens",
5777
+ "aiTotalCalls": "Calls",
5778
+ "aiActiveApps": "Apps",
5668
5779
  "requestsTotal": "Total Requests",
5669
5780
  "memoryOps": "Memory Operations",
5670
5781
  "consentOps": "Consent Operations",
@@ -5897,6 +6008,7 @@
5897
6008
  "mailboxNotifications": "Mailbox Notifications",
5898
6009
  "period30Days": "30 Days",
5899
6010
  "period7Days": "7 Days",
6011
+ "period90Days": "90 Days",
5900
6012
  "periodAll": "All",
5901
6013
  "periodApply": "Apply",
5902
6014
  "periodCustom": "Custom",
@@ -6339,6 +6451,26 @@
6339
6451
  "makePublic": "Make Public",
6340
6452
  "makePrivate": "Make Private"
6341
6453
  },
6454
+ "skills": {
6455
+ "tabLabel": "Skills",
6456
+ "title": "Node skills library",
6457
+ "desc": "Skills every agent on this node can load: operator runbooks and user-level how-tos. Seeded built-ins are editable; re-seeding never overwrites operator edits.",
6458
+ "newSkill": "New skill",
6459
+ "publish": "Publish",
6460
+ "publishOk": "Skill {name} published",
6461
+ "publishFailed": "Publish failed",
6462
+ "deleteConfirm": "Delete node skill {name}?",
6463
+ "deletedOk": "Skill {name} deleted",
6464
+ "deleteFailed": "Delete failed",
6465
+ "loadFailed": "Failed to load skills",
6466
+ "empty": "No node skills yet.",
6467
+ "view": "View",
6468
+ "hide": "Hide",
6469
+ "edit": "Edit",
6470
+ "visibilityLabel": "Visibility",
6471
+ "visibilityMembers": "Node members",
6472
+ "visibilityPublic": "Public (federated)"
6473
+ },
6342
6474
  "packagesTab": "Packages",
6343
6475
  "pkgTotalPackages": "Total Packages",
6344
6476
  "pkgTotalInstances": "Total Instances",
@@ -6885,7 +7017,7 @@
6885
7017
  "whyPrivacy": "Your own private memory space, protected by your password",
6886
7018
  "whyControl": "Full control: only you can access your data, no need to share with anyone",
6887
7019
  "whyAgents": "Connect AI agents that remember you and work on your behalf",
6888
- "whyMorsels": "100 free heart morsels to start! E.g. memory request ~ 1 ❤️, board post ~ 2 ❤️. You get 50 more every day"
7020
+ "whyMorsels": "Your own AI-built apps and agents work for you a digital agency under your own roof."
6889
7021
  },
6890
7022
  "promptLangNote": "The prompt is in English because AIs work best with it. You can still ask the AI to respond in your language. Works with Claude, ChatGPT, Grok, Gemini, Copilot, DeepSeek, all of them.",
6891
7023
  "morsels": {
@@ -7276,9 +7408,48 @@
7276
7408
  "document": "Document",
7277
7409
  "organism": "Organism",
7278
7410
  "app": "App",
7411
+ "template": "Template",
7412
+ "skill": "Skill",
7279
7413
  "memory": "Memory"
7280
7414
  }
7281
7415
  },
7416
+ "skills": {
7417
+ "tabLabel": "Skills",
7418
+ "title": "Skills registry",
7419
+ "desc": "SKILL.md packs — portable units of expertise your agents load by reference. Manage your own skills here and browse the node-wide library; attach skills to an agent from its Data Access tab.",
7420
+ "mySkills": "My skills",
7421
+ "nodeLibrary": "Node library",
7422
+ "nodeLibraryHint": "Skills the node operator makes available to every agent on this node.",
7423
+ "workspaceSkills": "Workspace skills",
7424
+ "workspaceSkillsHint": "Skills shared inside organism workspaces you belong to. They travel with workspace exports and templates.",
7425
+ "wsTabLabel": "Skills",
7426
+ "wsPanelTitle": "Workspace skills",
7427
+ "wsPanelDesc": "SKILL.md expertise shared with every member and agent of this workspace. Skills travel with workspace exports and templates, and show up in the AI overview map. Link one to an agent by ref from the agent's Data Access tab.",
7428
+ "wsEmpty": "No workspace skills yet — publish the first one.",
7429
+ "copyRef": "Copy ref",
7430
+ "refCopied": "Skill ref copied — link it to an agent from its Data Access tab",
7431
+ "newSkill": "New skill",
7432
+ "publish": "Publish",
7433
+ "publishing": "Publishing…",
7434
+ "publishOk": "Skill {name} published",
7435
+ "publishFailed": "Publish failed",
7436
+ "deleteConfirmTitle": "Delete skill",
7437
+ "deleteConfirmBody": "Delete skill {name}? Agents linked to it will report it as unresolved.",
7438
+ "deletedOk": "Skill {name} deleted",
7439
+ "deleteFailed": "Delete failed",
7440
+ "loadFailed": "Failed to load skills",
7441
+ "view": "View",
7442
+ "hide": "Hide",
7443
+ "filesLabel": "file(s)",
7444
+ "emptyMine": "No skills yet — create one with New skill.",
7445
+ "emptyNode": "The node library is empty.",
7446
+ "visibilityLabel": "Visibility",
7447
+ "visibilityOwner": "Only me and my agents",
7448
+ "visibilityMembers": "All node members",
7449
+ "visibilityPublic": "Public (federated)",
7450
+ "editorPlaceholder": "---\nname: my-skill\ndescription: what + when\n---\n\nThe expertise…",
7451
+ "editorHint": "Frontmatter needs name (lowercase-with-hyphens) and description (what it does + when to use it). Republishing the same name bumps the version."
7452
+ },
7282
7453
  "knowledge": {
7283
7454
  "tabLabel": "Knowledge",
7284
7455
  "actionBar": {
@@ -7698,6 +7869,10 @@
7698
7869
  "retired": "{agent} retired from this workspace",
7699
7870
  "retiredTag": "retired",
7700
7871
  "retiredUntilHint": "Retired — this agent served here until this date. Its past work stays visible.",
7872
+ "retiredFromHere": "retired from here",
7873
+ "retiredFromHereHint": "This agent is retired from this workspace — its loop skips it. Bring it back to let it work here again.",
7874
+ "bringBack": "Bring back",
7875
+ "broughtBack": "{agent} is working here again",
7701
7876
  "reAdopt": "Re-adopt",
7702
7877
  "bareContract": "contract",
7703
7878
  "spaceTasksBacked": "This space points at the task system: its items are tasks, not workspace records. Manage them in the Tasks views.",
@@ -8416,6 +8591,13 @@
8416
8591
  "searchPlaceholder": "Search by name, owner, or filename…",
8417
8592
  "hiddenOnly": "Hidden only",
8418
8593
  "hiddenChip": "hidden",
8594
+ "scanCopies": "🔍 Scan for copies",
8595
+ "scanning": "Scanning…",
8596
+ "scanned": "scanned",
8597
+ "copyScanTitle": "Unattributed-copy scan",
8598
+ "wmHits": "Watermark hits (stored bytes embed another app's serve fingerprint — strong evidence):",
8599
+ "similarPairs": "Similar content, not fork-linked:",
8600
+ "nothingFlagged": "Nothing flagged above the threshold.",
8419
8601
  "empty": "No applications match.",
8420
8602
  "colApp": "App",
8421
8603
  "colOwner": "Owner",
@@ -8922,5 +9104,53 @@
8922
9104
  "markdown.embed.empty": "(empty)",
8923
9105
  "markdown.embed.refresh": "Refresh",
8924
9106
  "markdown.embed.moreRows": "more rows",
8925
- "markdown.embed.missingKey": "The block declares no key"
9107
+ "markdown.embed.missingKey": "The block declares no key",
9108
+ "organisms.inviteByEmail": "Invite by email",
9109
+ "organisms.inviteEmailSent": "Invitation email sent",
9110
+ "organisms.inviteCreated": "Invitation created — share the link",
9111
+ "organisms.inviteCancelled": "Invitation cancelled",
9112
+ "organisms.linkCopied": "Link copied",
9113
+ "organisms.inviteEmailLabel": "Email address",
9114
+ "organisms.inviteEmailPlaceholder": "name@example.com",
9115
+ "organisms.inviteRoleLabel": "Role",
9116
+ "organisms.roleMember": "Member",
9117
+ "organisms.roleAdmin": "Admin",
9118
+ "organisms.inviteExpiryLabel": "Expires in",
9119
+ "organisms.expiry1d": "1 day",
9120
+ "organisms.expiry7d": "7 days",
9121
+ "organisms.expiry30d": "30 days",
9122
+ "organisms.inviteWorkspacesLabel": "Grant workspace access (optional)",
9123
+ "organisms.roleViewer": "Viewer",
9124
+ "organisms.roleContributor": "Contributor",
9125
+ "organisms.inviteMessageLabel": "Personal message (optional)",
9126
+ "organisms.sendInvite": "Send invitation",
9127
+ "organisms.inviteEmailSentHint": "Email sent. You can also share this link:",
9128
+ "organisms.inviteLinkHint": "Share this link with the invitee:",
9129
+ "organisms.copyLink": "Copy link",
9130
+ "organisms.pendingEmailInvites": "Pending email invitations",
9131
+ "organisms.workspacesShort": "ws",
9132
+ "organisms.expiresLabel": "expires",
9133
+ "invite.missing": "This invitation link is missing its token.",
9134
+ "invite.invalid": "This invitation is invalid, was cancelled, or has expired.",
9135
+ "invite.acceptFailed": "Could not accept the invitation.",
9136
+ "invite.usernameRequired": "Choose a username.",
9137
+ "invite.passwordRequired": "Choose a password.",
9138
+ "invite.errorTitle": "Invitation unavailable",
9139
+ "invite.badge": "Invitation",
9140
+ "invite.acceptTitle": "You're invited",
9141
+ "invite.invitedBy": "Invited by",
9142
+ "invite.asRole": "as",
9143
+ "invite.workspacesLabel": "You'll get access to:",
9144
+ "invite.emailLabel": "Your email",
9145
+ "invite.usernameLabel": "Choose a username",
9146
+ "invite.usernamePlaceholder": "e.g. alice",
9147
+ "invite.passwordLabel": "Choose a password",
9148
+ "invite.passwordPlaceholder": "At least 8 characters",
9149
+ "invite.displayNameLabel": "Display name (optional)",
9150
+ "invite.registerCta": "Create account & join",
9151
+ "invite.creating": "Creating account…",
9152
+ "invite.joining": "Joining…",
9153
+ "invite.acceptCta": "Accept & join",
9154
+ "invite.or": "OR",
9155
+ "invite.signInInstead": "Already have an account or prefer Google? Sign in"
8926
9156
  }