aimeat 1.32.0 → 1.33.1

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 (229) hide show
  1. package/dist/locales/en.json +359 -2
  2. package/dist/locales/fi.json +359 -2
  3. package/dist/public/css/views/admin.css +8 -0
  4. package/dist/public/css/views/agents-detail.css +8 -0
  5. package/dist/public/css/views/my-company.css +41 -0
  6. package/dist/public/css/views/profile.css +51 -1
  7. package/dist/public/css/views/secretary.css +608 -0
  8. package/dist/public/js/services/admin.js +5 -0
  9. package/dist/public/js/services/agents.js +18 -3
  10. package/dist/public/js/services/generator-prompts-build.js +5 -1
  11. package/dist/public/js/services/organisms.js +48 -0
  12. package/dist/public/js/services/secretary-helpers.js +197 -0
  13. package/dist/public/js/services/secretary-policy.js +63 -0
  14. package/dist/public/js/services/secretary-routing.js +69 -0
  15. package/dist/public/llms-template.txt +5 -0
  16. package/dist/public/spa.html +37 -0
  17. package/dist/public/views/admin/apps-tab.js +170 -0
  18. package/dist/public/views/admin.js +3 -0
  19. package/dist/public/views/my-company.js +247 -3
  20. package/dist/public/views/profile/agents/agent-card.js +15 -0
  21. package/dist/public/views/profile/apps-tab.js +4 -0
  22. package/dist/public/views/profile/extensions-tab.js +30 -1
  23. package/dist/public/views/profile/generator-settings.js +28 -1
  24. package/dist/public/views/profile/organisms/workspace.js +206 -28
  25. package/dist/public/views/secretary/cards-reach.js +235 -0
  26. package/dist/public/views/secretary/cards.js +419 -0
  27. package/dist/public/views/secretary/use-access.js +95 -0
  28. package/dist/public/views/secretary/use-autonomy.js +92 -0
  29. package/dist/public/views/secretary/use-create-resource.js +86 -0
  30. package/dist/public/views/secretary/use-crew.js +173 -0
  31. package/dist/public/views/secretary/use-guided-plan.js +112 -0
  32. package/dist/public/views/secretary/use-intake.js +332 -0
  33. package/dist/public/views/secretary/use-knowledge.js +104 -0
  34. package/dist/public/views/secretary/use-learning.js +140 -0
  35. package/dist/public/views/secretary.js +368 -0
  36. package/dist/src/cli/connect/mcp/tools/agent-management.d.ts +8 -8
  37. package/dist/src/cli/connect/mcp/tools/agent-management.js +1 -1
  38. package/dist/src/cli/connect/mcp/tools/agent-management.js.map +1 -1
  39. package/dist/src/cli/connect/tool-call.d.ts.map +1 -1
  40. package/dist/src/cli/connect/tool-call.js +72 -0
  41. package/dist/src/cli/connect/tool-call.js.map +1 -1
  42. package/dist/src/enterprise/loader.d.ts.map +1 -1
  43. package/dist/src/enterprise/loader.js +2 -0
  44. package/dist/src/enterprise/loader.js.map +1 -1
  45. package/dist/src/enterprise/provider.d.ts +67 -1
  46. package/dist/src/enterprise/provider.d.ts.map +1 -1
  47. package/dist/src/enterprise/provider.js +17 -0
  48. package/dist/src/enterprise/provider.js.map +1 -1
  49. package/dist/src/generated/api-types.d.ts +526 -8
  50. package/dist/src/generated/api-types.d.ts.map +1 -1
  51. package/dist/src/generated/prisma-postgres/edge.js +7 -3
  52. package/dist/src/generated/prisma-postgres/index-browser.js +4 -0
  53. package/dist/src/generated/prisma-postgres/index.d.ts +117 -1
  54. package/dist/src/generated/prisma-postgres/index.js +7 -3
  55. package/dist/src/generated/prisma-postgres/package.json +1 -1
  56. package/dist/src/generated/prisma-postgres/schema.prisma +16 -12
  57. package/dist/src/generated/prisma-postgres/wasm.js +7 -3
  58. package/dist/src/mcp/agent-management.d.ts +2 -0
  59. package/dist/src/mcp/agent-management.d.ts.map +1 -1
  60. package/dist/src/mcp/agent-management.js +5 -1
  61. package/dist/src/mcp/agent-management.js.map +1 -1
  62. package/dist/src/mcp/catalog/definitions.d.ts.map +1 -1
  63. package/dist/src/mcp/catalog/definitions.js +14 -4
  64. package/dist/src/mcp/catalog/definitions.js.map +1 -1
  65. package/dist/src/mcp/catalog/scopes.d.ts +47 -0
  66. package/dist/src/mcp/catalog/scopes.d.ts.map +1 -1
  67. package/dist/src/mcp/catalog/scopes.js +87 -0
  68. package/dist/src/mcp/catalog/scopes.js.map +1 -1
  69. package/dist/src/mcp/catalog/surfaces.d.ts.map +1 -1
  70. package/dist/src/mcp/catalog/surfaces.js +4 -2
  71. package/dist/src/mcp/catalog/surfaces.js.map +1 -1
  72. package/dist/src/routes/agent-directives.d.ts +12 -1
  73. package/dist/src/routes/agent-directives.d.ts.map +1 -1
  74. package/dist/src/routes/agent-directives.js +30 -4
  75. package/dist/src/routes/agent-directives.js.map +1 -1
  76. package/dist/src/routes/agents.d.ts +3 -0
  77. package/dist/src/routes/agents.d.ts.map +1 -1
  78. package/dist/src/routes/agents.js +11 -4
  79. package/dist/src/routes/agents.js.map +1 -1
  80. package/dist/src/routes/ai.d.ts +2 -0
  81. package/dist/src/routes/ai.d.ts.map +1 -1
  82. package/dist/src/routes/ai.js +15 -2
  83. package/dist/src/routes/ai.js.map +1 -1
  84. package/dist/src/routes/apps.d.ts +11 -0
  85. package/dist/src/routes/apps.d.ts.map +1 -1
  86. package/dist/src/routes/apps.js +123 -3
  87. package/dist/src/routes/apps.js.map +1 -1
  88. package/dist/src/routes/catalogue.d.ts +11 -0
  89. package/dist/src/routes/catalogue.d.ts.map +1 -1
  90. package/dist/src/routes/catalogue.js +14 -1
  91. package/dist/src/routes/catalogue.js.map +1 -1
  92. package/dist/src/routes/extensions.d.ts +4 -0
  93. package/dist/src/routes/extensions.d.ts.map +1 -1
  94. package/dist/src/routes/extensions.js +75 -11
  95. package/dist/src/routes/extensions.js.map +1 -1
  96. package/dist/src/routes/openrouter.d.ts +3 -0
  97. package/dist/src/routes/openrouter.d.ts.map +1 -1
  98. package/dist/src/routes/openrouter.js +23 -1
  99. package/dist/src/routes/openrouter.js.map +1 -1
  100. package/dist/src/routes/organism-templates.d.ts +22 -0
  101. package/dist/src/routes/organism-templates.d.ts.map +1 -0
  102. package/dist/src/routes/organism-templates.js +110 -0
  103. package/dist/src/routes/organism-templates.js.map +1 -0
  104. package/dist/src/routes/organisms.d.ts.map +1 -1
  105. package/dist/src/routes/organisms.js +4 -2
  106. package/dist/src/routes/organisms.js.map +1 -1
  107. package/dist/src/routes/portal.d.ts.map +1 -1
  108. package/dist/src/routes/portal.js +1 -0
  109. package/dist/src/routes/portal.js.map +1 -1
  110. package/dist/src/routes/schedules.d.ts +2 -0
  111. package/dist/src/routes/schedules.d.ts.map +1 -1
  112. package/dist/src/routes/schedules.js +3 -1
  113. package/dist/src/routes/schedules.js.map +1 -1
  114. package/dist/src/routes/specialists.d.ts +28 -0
  115. package/dist/src/routes/specialists.d.ts.map +1 -0
  116. package/dist/src/routes/specialists.js +227 -0
  117. package/dist/src/routes/specialists.js.map +1 -0
  118. package/dist/src/routes/subdomains.d.ts +3 -0
  119. package/dist/src/routes/subdomains.d.ts.map +1 -1
  120. package/dist/src/routes/subdomains.js +12 -2
  121. package/dist/src/routes/subdomains.js.map +1 -1
  122. package/dist/src/server-bootstrap/routes-loader.d.ts.map +1 -1
  123. package/dist/src/server-bootstrap/routes-loader.js +11 -3
  124. package/dist/src/server-bootstrap/routes-loader.js.map +1 -1
  125. package/dist/src/services/ai-completion.d.ts +8 -0
  126. package/dist/src/services/ai-completion.d.ts.map +1 -1
  127. package/dist/src/services/ai-completion.js +7 -1
  128. package/dist/src/services/ai-completion.js.map +1 -1
  129. package/dist/src/services/discovery/setup.d.ts +2 -1
  130. package/dist/src/services/discovery/setup.d.ts.map +1 -1
  131. package/dist/src/services/discovery/setup.js +2 -0
  132. package/dist/src/services/discovery/setup.js.map +1 -1
  133. package/dist/src/services/discovery/sources/memory-source.d.ts +2 -0
  134. package/dist/src/services/discovery/sources/memory-source.d.ts.map +1 -1
  135. package/dist/src/services/discovery/sources/memory-source.js +8 -1
  136. package/dist/src/services/discovery/sources/memory-source.js.map +1 -1
  137. package/dist/src/services/discovery/sources/template-source.d.ts +17 -0
  138. package/dist/src/services/discovery/sources/template-source.d.ts.map +1 -0
  139. package/dist/src/services/discovery/sources/template-source.js +51 -0
  140. package/dist/src/services/discovery/sources/template-source.js.map +1 -0
  141. package/dist/src/services/discovery/types.d.ts +1 -1
  142. package/dist/src/services/discovery/types.d.ts.map +1 -1
  143. package/dist/src/services/extension-secrets.d.ts +63 -0
  144. package/dist/src/services/extension-secrets.d.ts.map +1 -0
  145. package/dist/src/services/extension-secrets.js +122 -0
  146. package/dist/src/services/extension-secrets.js.map +1 -0
  147. package/dist/src/services/handbooks/agent.d.ts +4 -1
  148. package/dist/src/services/handbooks/agent.d.ts.map +1 -1
  149. package/dist/src/services/handbooks/agent.js +9 -0
  150. package/dist/src/services/handbooks/agent.js.map +1 -1
  151. package/dist/src/services/handbooks/appdev.d.ts +1 -1
  152. package/dist/src/services/handbooks/appdev.d.ts.map +1 -1
  153. package/dist/src/services/handbooks/appdev.js +1 -1
  154. package/dist/src/services/kpi-rollup.d.ts +53 -0
  155. package/dist/src/services/kpi-rollup.d.ts.map +1 -0
  156. package/dist/src/services/kpi-rollup.js +64 -0
  157. package/dist/src/services/kpi-rollup.js.map +1 -0
  158. package/dist/src/services/manifest-schema.d.ts +8 -1
  159. package/dist/src/services/manifest-schema.d.ts.map +1 -1
  160. package/dist/src/services/manifest-schema.js +48 -1
  161. package/dist/src/services/manifest-schema.js.map +1 -1
  162. package/dist/src/services/openrouter.d.ts +1 -1
  163. package/dist/src/services/openrouter.d.ts.map +1 -1
  164. package/dist/src/services/openrouter.js +18 -2
  165. package/dist/src/services/openrouter.js.map +1 -1
  166. package/dist/src/services/organism-export.d.ts +2 -0
  167. package/dist/src/services/organism-export.d.ts.map +1 -1
  168. package/dist/src/services/organism-export.js +24 -5
  169. package/dist/src/services/organism-export.js.map +1 -1
  170. package/dist/src/services/organism-import.d.ts +11 -0
  171. package/dist/src/services/organism-import.d.ts.map +1 -1
  172. package/dist/src/services/organism-import.js +16 -1
  173. package/dist/src/services/organism-import.js.map +1 -1
  174. package/dist/src/services/organism-template.d.ts +160 -0
  175. package/dist/src/services/organism-template.d.ts.map +1 -0
  176. package/dist/src/services/organism-template.js +202 -0
  177. package/dist/src/services/organism-template.js.map +1 -0
  178. package/dist/src/services/scheduler.d.ts +45 -0
  179. package/dist/src/services/scheduler.d.ts.map +1 -1
  180. package/dist/src/services/scheduler.js +358 -5
  181. package/dist/src/services/scheduler.js.map +1 -1
  182. package/dist/src/services/secretary-tick.d.ts +127 -0
  183. package/dist/src/services/secretary-tick.d.ts.map +1 -0
  184. package/dist/src/services/secretary-tick.js +169 -0
  185. package/dist/src/services/secretary-tick.js.map +1 -0
  186. package/dist/src/services/secretary.d.ts +129 -0
  187. package/dist/src/services/secretary.d.ts.map +1 -0
  188. package/dist/src/services/secretary.js +181 -0
  189. package/dist/src/services/secretary.js.map +1 -0
  190. package/dist/src/services/specialist-policy.d.ts +39 -0
  191. package/dist/src/services/specialist-policy.d.ts.map +1 -0
  192. package/dist/src/services/specialist-policy.js +59 -0
  193. package/dist/src/services/specialist-policy.js.map +1 -0
  194. package/dist/src/services/specialist.d.ts +77 -0
  195. package/dist/src/services/specialist.d.ts.map +1 -0
  196. package/dist/src/services/specialist.js +137 -0
  197. package/dist/src/services/specialist.js.map +1 -0
  198. package/dist/src/services/structure-overview.d.ts +30 -0
  199. package/dist/src/services/structure-overview.d.ts.map +1 -1
  200. package/dist/src/services/structure-overview.js +109 -12
  201. package/dist/src/services/structure-overview.js.map +1 -1
  202. package/dist/src/services/system-agent.d.ts +39 -0
  203. package/dist/src/services/system-agent.d.ts.map +1 -0
  204. package/dist/src/services/system-agent.js +43 -0
  205. package/dist/src/services/system-agent.js.map +1 -0
  206. package/dist/src/storage/interface.d.ts +7 -2
  207. package/dist/src/storage/interface.d.ts.map +1 -1
  208. package/dist/src/storage/interface.js.map +1 -1
  209. package/dist/src/storage/providers/mongodb/index.d.ts +5 -0
  210. package/dist/src/storage/providers/mongodb/index.d.ts.map +1 -1
  211. package/dist/src/storage/providers/mongodb/index.js +31 -4
  212. package/dist/src/storage/providers/mongodb/index.js.map +1 -1
  213. package/dist/src/storage/providers/sqlite/index.d.ts +5 -0
  214. package/dist/src/storage/providers/sqlite/index.d.ts.map +1 -1
  215. package/dist/src/storage/providers/sqlite/index.js +26 -6
  216. package/dist/src/storage/providers/sqlite/index.js.map +1 -1
  217. package/dist/src/storage/providers/sqlite/schema.d.ts.map +1 -1
  218. package/dist/src/storage/providers/sqlite/schema.js +8 -0
  219. package/dist/src/storage/providers/sqlite/schema.js.map +1 -1
  220. package/dist/src/storage/repositories/app.repository.d.ts +17 -0
  221. package/dist/src/storage/repositories/app.repository.d.ts.map +1 -1
  222. package/dist/src/utils/app-badge.d.ts +26 -0
  223. package/dist/src/utils/app-badge.d.ts.map +1 -0
  224. package/dist/src/utils/app-badge.js +56 -0
  225. package/dist/src/utils/app-badge.js.map +1 -0
  226. package/dist/static/app-catalog.html +55 -1
  227. package/package.json +1 -1
  228. package/prisma/schema.postgres.prisma +4 -0
  229. package/prisma/schema.prisma +4 -0
@@ -544,7 +544,271 @@
544
544
  "howItWorks": "How it works",
545
545
  "business": "For your business",
546
546
  "myCompany": "My Company",
547
- "companies": "Companies"
547
+ "companies": "Companies",
548
+ "secretary": "Secretary"
549
+ },
550
+ "secretary": {
551
+ "title": "Secretary",
552
+ "desc": "Your personal AIMEAT secretary — set up and ready to help.",
553
+ "ready": "Secretary is set up",
554
+ "notReady": "Your Secretary isn't set up yet. Configure OpenRouter in your profile settings to enable it.",
555
+ "identity": "Identity",
556
+ "scopes": "Permissions",
557
+ "soon": "Chat, schedule, and decisions are coming soon.",
558
+ "hireTitle": "Set up your Secretary",
559
+ "hireIntro": "Run a quick interview in your own AI chat so your Secretary learns what you need — then it sets up its brain and organizes a space for your information automatically.",
560
+ "hireStep1": "Copy this prompt into your AI chat (Claude, ChatGPT, …) and answer its questions.",
561
+ "hireStep2": "Paste the AI's final result here and apply it.",
562
+ "copyPrompt": "Copy setup prompt",
563
+ "copied": "Copied",
564
+ "pastePlaceholder": "Paste the JSON your AI produced here…",
565
+ "apply": "Set up my Secretary",
566
+ "applying": "Setting up…",
567
+ "hireDone": "Your Secretary is set up.",
568
+ "hireError": "Couldn't set up the Secretary",
569
+ "hireBadShape": "The pasted result is missing required fields (brain.purpose, organism.name, workspaces).",
570
+ "hiredStatus": "Secretary is set up",
571
+ "brain": "Brain",
572
+ "selfOrganism": "Your space",
573
+ "optionA": "Option A — use your own AI chat",
574
+ "optionB": "Option B — set it up here (uses your OpenRouter key)",
575
+ "needsPlaceholder": "Describe in a few words what you'd like help with…",
576
+ "generate": "Generate with my AI",
577
+ "generating": "Generating…",
578
+ "inappDone": "Draft ready below — review it, then set up.",
579
+ "inappError": "Couldn't generate",
580
+ "inappEmpty": "The AI returned nothing.",
581
+ "howIWork": "How I work",
582
+ "stopSpending": "Stop spending",
583
+ "stopSpendingHint": "Pause everything that costs morsels or acts on its own. The Secretary can still think, draft, and message you.",
584
+ "dailyBudget": "Daily morsel budget",
585
+ "dailyBudgetHint": "Cap on what autonomous actions may spend per day.",
586
+ "noLimit": "No limit",
587
+ "bandsNote": "These set what the Secretary may do on its own. Each takes effect as that capability ships.",
588
+ "band": { "act": "Act", "draft": "Draft", "ask": "Ask", "off": "Off" },
589
+ "locked": "always on",
590
+ "enterprise": "Enterprise",
591
+ "capCosts": "costs / outbound",
592
+ "cap": {
593
+ "discover": "Discover what already exists",
594
+ "file_intake": "File notes & documents",
595
+ "briefing": "Daily / weekly briefing",
596
+ "reminders": "Reminders & nudges",
597
+ "curate_knowledge": "Curate my knowledge",
598
+ "draft_replies": "Draft replies",
599
+ "resource_invoke": "Use a found agent or service",
600
+ "delegate": "Delegate to my other agents",
601
+ "third_party_message": "Message someone else",
602
+ "create_resource": "Create something that's missing",
603
+ "spend": "Spend morsels"
604
+ },
605
+ "history": "Brain history",
606
+ "restore": "Restore",
607
+ "restored": "Restored an earlier brain.",
608
+ "rerun": "Re-run setup",
609
+ "cancel": "Cancel",
610
+ "addContext": "Add a context",
611
+ "addContextTitle": "Add a context",
612
+ "applyEdit": "Update this context",
613
+ "chatTitle": "Chat",
614
+ "chatEmpty": "Ask your Secretary anything in this context.",
615
+ "chatPlaceholder": "Message your Secretary…",
616
+ "chatSend": "Send",
617
+ "chatSending": "…",
618
+ "chatError": "Couldn't reach your Secretary",
619
+ "findTitle": "Find what already exists",
620
+ "findHint": "Before building anything, your Secretary scouts the network — useful agents, services, and other companies' offerings.",
621
+ "findPlaceholder": "What are you looking for? (leave blank to browse)",
622
+ "findScopePublic": "Across the network",
623
+ "findScopeMine": "My own",
624
+ "findSearch": "Find",
625
+ "findSearching": "Finding…",
626
+ "findEmpty": "Nothing found — you may be the first. Your Secretary could help you create it.",
627
+ "findError": "Search failed",
628
+ "routeSuggest": "This sounds like it belongs to",
629
+ "routeSwitch": "Switch",
630
+ "routeBelongs": "This looks like it belongs to",
631
+ "routeFileThere": "File it there",
632
+ "routeUnsure": "Not sure which context this fits — save it here, or let me ask you in your inbox.",
633
+ "routedTo": "Routed to",
634
+ "attach": "Attach",
635
+ "attachHint": "Attach a document or image — I'll file it into the right workspace. Images are summarized so you can find them by content.",
636
+ "attaching": "Filing your attachment…",
637
+ "attachFiled": "Filed into",
638
+ "attachError": "Couldn't file the attachment",
639
+ "attachVisionFailed": "Couldn't read the image, filing it anyway",
640
+ "attachVisionPrompt": "Describe this image for filing. Give a short title line, then 1–3 sentences covering what it shows and any text, names, dates, or amounts visible. Reply in the user's language.",
641
+ "attachVisionSystem": "You help a personal assistant file an uploaded image. Be concise and factual; do not invent details you cannot see.",
642
+ "decisionAutoRationale": "Chosen by the owner.",
643
+ "decisionAutoExpectedFile": "Filed where it can be found and acted on later.",
644
+ "create": {
645
+ "title": "Create what's missing",
646
+ "emptyHint": "Nothing turned up. Your Secretary can scaffold a capability for this so it exists going forward.",
647
+ "start": "Draft a capability",
648
+ "reviewHint": "Review the draft, then approve to create it (kept private to you).",
649
+ "name": "Capability name",
650
+ "summary": "What it does",
651
+ "whenToUse": "When to use it",
652
+ "approve": "Approve & create",
653
+ "done": "Capability created",
654
+ "error": "Couldn't create the capability",
655
+ "summaryPrefix": "A capability to help with:",
656
+ "whenPrefix": "Use this when you need:",
657
+ "disabled": "Capability creation is disabled on this node — ask your operator to enable it."
658
+ },
659
+ "knowledge": {
660
+ "title": "Curate my knowledge",
661
+ "add": "Add knowledge",
662
+ "hint": "Promote a refined note or decision into your shareable knowledge base. You approve before anything is saved.",
663
+ "titlePlaceholder": "Title",
664
+ "bodyPlaceholder": "The knowledge to capture…",
665
+ "shareCatalog": "Also list it in the public catalogue",
666
+ "contribute": "Approve & contribute",
667
+ "done": "Added to your knowledge base",
668
+ "error": "Couldn't contribute the knowledge",
669
+ "synthDesc": "Curated by your Secretary",
670
+ "linkTitle": "Link knowledge",
671
+ "linkAdd": "Add a link",
672
+ "linkSource": "From package…",
673
+ "linkTarget": "To package…",
674
+ "linkDesc": "How are they related?",
675
+ "linkApprove": "Approve & link",
676
+ "linked": "Knowledge linked.",
677
+ "linkError": "Couldn't link the packages"
678
+ },
679
+ "access": {
680
+ "title": "Manage access",
681
+ "hint": "Help managing your own sharing groups and consent grants. Changes apply only when you approve them.",
682
+ "grantsTitle": "Consent grants",
683
+ "propose": "Propose a grant",
684
+ "dataPattern": "Data pattern (e.g. organism.abc.* )",
685
+ "recipient": "Recipient (GAII, ghii:, organism., node:, domain:, or *)",
686
+ "purpose": "Purpose",
687
+ "approveGrant": "Approve & grant",
688
+ "noGrants": "No active consent grants.",
689
+ "revoke": "Revoke",
690
+ "granted": "Consent granted.",
691
+ "revoked": "Consent revoked.",
692
+ "error": "Access change failed",
693
+ "groupsTitle": "Sharing groups",
694
+ "newGroup": "New group",
695
+ "groupName": "Group name",
696
+ "createGroup": "Create",
697
+ "noGroups": "No sharing groups yet.",
698
+ "members": "members",
699
+ "groupCreated": "Sharing group created."
700
+ },
701
+ "crew": {
702
+ "title": "Set up my crew",
703
+ "hint": "Connect and configure your other agents — approve a pending request, then set its mode and tags.",
704
+ "pendingTitle": "Pending connection requests",
705
+ "noPending": "No pending requests.",
706
+ "unnamed": "Unnamed agent",
707
+ "expiresIn": "expires in",
708
+ "approve": "Approve",
709
+ "deny": "Deny",
710
+ "agentsTitle": "Your other agents",
711
+ "noAgents": "No other agents connected yet.",
712
+ "tagsPlaceholder": "tags (comma-separated), Enter to save",
713
+ "approved": "Agent approved.",
714
+ "denied": "Request denied.",
715
+ "approveError": "Couldn't approve the request",
716
+ "configured": "Agent updated.",
717
+ "configError": "Couldn't update the agent",
718
+ "addSpecTitle": "Add a specialist",
719
+ "addSpecHint": "Provision a job-role specialist. It runs on a safe, least-privilege default — some roles can request extra capabilities, which you approve.",
720
+ "specName": "name",
721
+ "specCreate": "Create",
722
+ "specCreated": "Specialist created.",
723
+ "specError": "Couldn't create the specialist",
724
+ "consentTitle": "Approve extra capabilities for",
725
+ "consentNote": "These go beyond the safe default. Approve only what this specialist needs — you can change this later.",
726
+ "consentSkip": "Keep safe default",
727
+ "consentGrant": "Grant selected",
728
+ "extrasGranted": "Extra capabilities granted."
729
+ },
730
+ "noteTitle": "Save a note to my space",
731
+ "noteHint": "Write anything down — your Secretary files it into the right workspace. You confirm where.",
732
+ "notePlaceholder": "Jot something down…",
733
+ "noteInto": "Into",
734
+ "noteSave": "Save",
735
+ "noteSaving": "Saving…",
736
+ "noteSaved": "Saved to",
737
+ "noteError": "Couldn't save the note",
738
+ "askInInbox": "Ask me in inbox",
739
+ "askInInboxHint": "Let the Secretary ask you where to file this — answer in your inbox, then apply it here.",
740
+ "askWhereContent": "Where should I file this note?",
741
+ "askWhereQ": "Which workspace should this go into?",
742
+ "askedInInbox": "Asked you in your inbox.",
743
+ "decisionsTitle": "Decisions awaiting you",
744
+ "decisionApply": "Apply",
745
+ "decisionAwaiting": "Awaiting your answer in the inbox…",
746
+ "feed": {
747
+ "title": "What I've done",
748
+ "empty": "Nothing yet. Enable the daily check-in below and I'll start keeping you posted here."
749
+ },
750
+ "learn": {
751
+ "goalsTitle": "Goals",
752
+ "goalsEmpty": "No goals yet. Add what you're aiming for and I'll work toward it.",
753
+ "addGoal": "Add goal",
754
+ "goalTitle": "What are you aiming for?",
755
+ "goalWhy": "Why does it matter? (optional)",
756
+ "saveGoal": "Save goal",
757
+ "done": "Done",
758
+ "reopen": "Reopen",
759
+ "decisionsTitle": "Decision log",
760
+ "decisionsEmpty": "No decisions logged. Log a choice with an expected outcome and I'll review how it turned out.",
761
+ "logDecision": "Log a decision",
762
+ "decision": "What did you decide?",
763
+ "options": "Options considered (one per line)",
764
+ "chosen": "Chosen option",
765
+ "rationale": "Why this one?",
766
+ "expected": "Expected outcome",
767
+ "goalRef": "Goal",
768
+ "revisitIn": "Review in (days)",
769
+ "revisit": "Review on",
770
+ "saveDecision": "Log decision",
771
+ "reviewNow": "Review now",
772
+ "enableFirst": "Enable the daily check-in first — the review runs on each check-in.",
773
+ "error": "Something went wrong"
774
+ },
775
+ "auto": {
776
+ "title": "Autonomous check-in",
777
+ "hint": "Let me check in on my own on a schedule and post a short briefing here — using your OpenRouter key. Stop-spending always pauses it.",
778
+ "enable": "Enable daily check-in",
779
+ "enabled": "Daily check-in enabled.",
780
+ "scheduleName": "Secretary daily check-in",
781
+ "nextRun": "Next run",
782
+ "paused": "paused",
783
+ "pause": "Pause",
784
+ "resume": "Resume",
785
+ "runNow": "Run now",
786
+ "running": "Running…",
787
+ "ran": "Check-in done — see the feed.",
788
+ "skipped": "Skipped",
789
+ "budgetLeft": "Budget left today",
790
+ "error": "Couldn't update the check-in"
791
+ },
792
+ "reliability": "Reliability",
793
+ "reliabilityBuilding": "building…",
794
+ "reliabilityHint": "Average score of the Secretary's reviewed decisions — its own track record, not its marketplace trust.",
795
+ "plan": {
796
+ "title": "Guided plan",
797
+ "hint": "Tell me a goal — I'll propose a few steps. Approve them and I'll file the plan and scout what already exists.",
798
+ "placeholder": "What do you want to get done?",
799
+ "go": "Plan it",
800
+ "planning": "Planning…",
801
+ "approve": "Approve & run",
802
+ "running": "Running…",
803
+ "ran": "Plan carried out",
804
+ "filed": "Filed the plan into",
805
+ "found": "Existing resources found:",
806
+ "new": "New plan",
807
+ "bad": "The AI didn't return a usable plan.",
808
+ "error": "Couldn't make the plan",
809
+ "decisionChosen": "Approved & ran this plan",
810
+ "decisionExpected": "The plan makes real progress on the goal."
811
+ }
548
812
  },
549
813
  "companies": {
550
814
  "title": "Companies",
@@ -676,6 +940,55 @@
676
940
  "listedHint": "When on, your company — with its published services and pricing — appears in the corp catalogue. Turn off to stay private.",
677
941
  "unlistedBadge": "not in directory",
678
942
  "tabPortfolio": "Portfolio",
943
+ "tabSecretary": "Secretary",
944
+ "tabGovernance": "Governance",
945
+ "tabModel": "Company model",
946
+ "modelLoading": "Loading the company model…",
947
+ "modelIntro": "The real-world organisation the company Secretary works with — departments, roles, reporting lines, and people (most are not AIMEAT users). Describe your company and let AI shape the structure, then review and apply.",
948
+ "modelDescPlaceholder": "Describe your company: what it does, its departments, key roles and who reports to whom…",
949
+ "modelGenerate": "Generate model",
950
+ "modelGenerating": "Generating…",
951
+ "modelCopyPrompt": "Copy prompt",
952
+ "modelPaste": "Paste JSON",
953
+ "modelPastePlaceholder": "Paste the JSON your AI chat returned…",
954
+ "modelReview": "Review",
955
+ "modelDraft": "Draft — review before applying",
956
+ "modelApply": "Apply model",
957
+ "modelDiscard": "Discard",
958
+ "modelApplied": "Company model saved ✓",
959
+ "modelCopied": "Prompt copied ✓",
960
+ "modelParseErr": "Couldn't read a model from that — expected a JSON object.",
961
+ "modelEmpty": "No company model yet. Describe your company above to build one.",
962
+ "modelDepartments": "Departments",
963
+ "modelRoles": "Roles",
964
+ "modelPeople": "People",
965
+ "modelReporting": "Reporting lines",
966
+ "govLoading": "Loading financials…",
967
+ "govIntro": "Cost & ROI in financial terms — the company's transaction ledger, not raw tokens. Revenue, commission income, and cost-per-task per agent.",
968
+ "govRevenue": "Revenue",
969
+ "govOrders": "Orders",
970
+ "govAvg": "Avg / task",
971
+ "govCommissionIncome": "Commission income",
972
+ "govByAgent": "By agent",
973
+ "govNoActivity": "No orders yet — financials populate as the company's agents fulfil orders.",
974
+ "govAgent": "Agent",
975
+ "govTasks": "Tasks",
976
+ "govRevenueShort": "Revenue",
977
+ "govAvgShort": "Avg/task",
978
+ "govPayout": "Member payout",
979
+ "govWallet": "Org wallet",
980
+ "govCommission": "Commission",
981
+ "govFee": "Platform fee",
982
+ "govRoiNote": "ROI attribution ties to the Secretary's decision log (decisions scored against expected outcomes = cost-per-outcome); per-department breakdown and token-level cost land with the company model.",
983
+ "secLoading": "Loading the company Secretary…",
984
+ "secIntro": "Enable a company Secretary for this organization. It runs on the Enterprise edition with a managed, read-only brain and the company-admin scopes — coordinating the company's agents, preparing invoicing/compliance, and giving leadership cost & ROI visibility.",
985
+ "secEnable": "Enable company Secretary",
986
+ "secEnabling": "Enabling…",
987
+ "secTitle": "Company Secretary",
988
+ "secBrain": "Brain",
989
+ "secLocked": "Locked (managed by Enterprise)",
990
+ "secCaps": "Company-admin capabilities",
991
+ "secScopes": "Granted scopes",
679
992
  "pfIntro": "Build a public portfolio page for your company. Pick what to include, generate a prompt, paste it into your AI chat, then paste the HTML it returns back here and publish.",
680
993
  "pfLive": "Portfolio is live ✓",
681
994
  "pfVisit": "Visit",
@@ -1259,6 +1572,7 @@
1259
1572
  },
1260
1573
  "agents": {
1261
1574
  "title": "Your Agents",
1575
+ "specialistBadge": "Specialist",
1262
1576
  "active": {
1263
1577
  "title": "Running now",
1264
1578
  "empty": "No tasks running right now.",
@@ -2456,7 +2770,9 @@
2456
2770
  "parkedBadge": "Parked",
2457
2771
  "parkedHint": "Only you can see and use this — hidden from the public catalogue.",
2458
2772
  "parked": "App parked",
2459
- "unparked": "App published"
2773
+ "unparked": "App published",
2774
+ "operatorHiddenBadge": "Moderated by operator: hidden",
2775
+ "operatorHiddenHint": "An operator has hidden this app from public view. Only you can still see it. Contact the operator to appeal."
2460
2776
  },
2461
2777
  "v8ext": {
2462
2778
  "title": "Server Extensions",
@@ -2470,6 +2786,7 @@
2470
2786
  "instancesTitle": "Instances",
2471
2787
  "noInstances": "No instances yet. Create one to use this extension.",
2472
2788
  "instanceIdPlaceholder": "instance-id (lowercase, hyphens ok)",
2789
+ "secretField": "secret — encrypted at rest",
2473
2790
  "createInstance": "Create Instance",
2474
2791
  "deleteInstance": "Delete",
2475
2792
  "copyId": "Copy ID",
@@ -3195,6 +3512,9 @@
3195
3512
  "reasoningModel": "Reasoning Model (blueprints, skeletons, planning)",
3196
3513
  "executionModel": "Execution Model (code, tests, assembly)",
3197
3514
  "modelSelect": "Select model",
3515
+ "visionModel": "Vision model (for images)",
3516
+ "visionModelNone": "None (don't read images)",
3517
+ "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.",
3198
3518
  "autoRetry": "Auto-retry on validation error",
3199
3519
  "maxRetries": "Max retries",
3200
3520
  "temperature": "Temperature",
@@ -3477,6 +3797,9 @@
3477
3797
  "reasoningModel": "Reasoning Model (blueprints, skeletons, planning)",
3478
3798
  "executionModel": "Execution Model (code, tests, assembly)",
3479
3799
  "modelSelect": "Select model",
3800
+ "visionModel": "Vision model (for images)",
3801
+ "visionModelNone": "None (don't read images)",
3802
+ "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.",
3480
3803
  "autoRetry": "Auto-retry on validation error",
3481
3804
  "maxRetries": "Max retries",
3482
3805
  "temperature": "Temperature",
@@ -6859,6 +7182,8 @@
6859
7182
  "orPaste": "…or paste / drag an image into the editor",
6860
7183
  "saving": "Saving…",
6861
7184
  "pageSaved": "Document saved",
7185
+ "color": "Color",
7186
+ "noColor": "No color",
6862
7187
  "section": "Section",
6863
7188
  "sectionName": "Section name",
6864
7189
  "unsorted": "Unsorted",
@@ -6913,6 +7238,12 @@
6913
7238
  "descSources": "References this workspace draws on: memory entries, files, and knowledge packages. Pointers only; nothing is copied.",
6914
7239
  "descReview": "Gated publishes waiting for a human decision before they go live.",
6915
7240
  "ovRecent": "What happened here",
7241
+ "objectivesTitle": "Objectives",
7242
+ "kpiTarget": "target {t}",
7243
+ "kpiDeclared": "self-reported",
7244
+ "kpiDeclaredHint": "Self-reported — not computed from records",
7245
+ "objStatusMet": "met",
7246
+ "objStatusAbandoned": "abandoned",
6916
7247
  "ovShowAll": "Show all {n} →",
6917
7248
  "unseenHint": "Changed since your last visit",
6918
7249
  "forAgentsHint": "Copy a ready prompt that teaches an AI to use this workspace",
@@ -7494,6 +7825,32 @@
7494
7825
  "deleteTitle": "Delete subdomain mapping",
7495
7826
  "deleteConfirm": "This removes the mapping and the subdomain stops serving immediately. Type the subdomain to confirm:"
7496
7827
  },
7828
+ "apps": {
7829
+ "title": "Applications",
7830
+ "desc": "Every app published on this node. Hide an app to remove it from all public surfaces (catalogue, gallery, search, and direct download). The owner still sees it with a \"moderated by operator: hidden\" badge but cannot unhide it — only an operator can.",
7831
+ "searchPlaceholder": "Search by name, owner, or filename…",
7832
+ "hiddenOnly": "Hidden only",
7833
+ "hiddenChip": "hidden",
7834
+ "empty": "No applications match.",
7835
+ "colApp": "App",
7836
+ "colOwner": "Owner",
7837
+ "colSize": "Size",
7838
+ "colDownloads": "Downloads",
7839
+ "colStatus": "Status",
7840
+ "statusHidden": "Hidden by operator",
7841
+ "statusParked": "Parked",
7842
+ "statusLive": "Live",
7843
+ "byAt": "by {by} · {at}",
7844
+ "hide": "Hide",
7845
+ "restore": "Restore",
7846
+ "hiddenOk": "App hidden from public view.",
7847
+ "restoredOk": "App restored to public view.",
7848
+ "hideTitle": "Hide application",
7849
+ "hideConfirm": "Hide",
7850
+ "hideExplain": "This removes the app from the public catalogue, gallery, search, and direct download. The owner keeps a copy with a \"moderated by operator: hidden\" badge but cannot unhide it.",
7851
+ "reasonLabel": "Reason (shown to the owner, optional)",
7852
+ "reasonPlaceholder": "e.g. Anonymous / policy violation"
7853
+ },
7497
7854
  "security": {
7498
7855
  "title": "Security",
7499
7856
  "desc": "Rejected / quarantined uploads and other security incidents.",