aimeat 1.23.1 → 1.23.3
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.
- package/dist/locales/en.json +674 -125
- package/dist/locales/fi.json +712 -163
- package/dist/public/components/ContactCard.js +28 -0
- package/dist/public/css/theme.css +25 -10
- package/dist/public/css/views/admin.css +12 -0
- package/dist/public/css/views/agents-detail.css +62 -10
- package/dist/public/css/views/landing.css +87 -0
- package/dist/public/css/views/offers.css +96 -0
- package/dist/public/css/views/portfolio.css +18 -0
- package/dist/public/css/views/profile.css +216 -7
- package/dist/public/css/views/start.css +96 -0
- package/dist/public/img/business-hero.png +0 -0
- package/dist/public/img/toimitus.png +0 -0
- package/dist/public/js/components/tag-cloud.js +46 -31
- package/dist/public/js/components/tag-editor.js +2 -2
- package/dist/public/js/recents.js +40 -0
- package/dist/public/js/services/admin.js +6 -0
- package/dist/public/js/services/agents.js +34 -0
- package/dist/public/js/services/offers.js +152 -0
- package/dist/public/js/services/organisms.js +28 -5
- package/dist/public/js/services/packages.js +1 -0
- package/dist/public/spa.html +32 -2
- package/dist/public/views/admin/subdomains-tab.js +182 -0
- package/dist/public/views/admin.js +2 -0
- package/dist/public/views/business.js +119 -0
- package/dist/public/views/how-it-works.js +159 -0
- package/dist/public/views/landing.js +235 -0
- package/dist/public/views/portfolio.js +120 -23
- package/dist/public/views/pricing.js +75 -0
- package/dist/public/views/profile/access-tab.js +124 -51
- package/dist/public/views/profile/agents/agent-card.js +68 -37
- package/dist/public/views/profile/agents/shared-board.js +56 -22
- package/dist/public/views/profile/agents/tab-activity.js +24 -12
- package/dist/public/views/profile/agents/tab-agent-config.js +31 -1
- package/dist/public/views/profile/agents/tab-data-access.js +9 -13
- package/dist/public/views/profile/agents/tab-integration.js +27 -1
- package/dist/public/views/profile/agents/tab-messages.js +6 -11
- package/dist/public/views/profile/agents/tab-quality.js +45 -5
- package/dist/public/views/profile/agents-tab.js +41 -6
- package/dist/public/views/profile/apps-tab.js +7 -1
- package/dist/public/views/profile/knowledge-tab.js +4 -1
- package/dist/public/views/profile/landing-page.js +427 -123
- package/dist/public/views/profile/memory-tab.js +409 -211
- package/dist/public/views/profile/nodes-tab.js +18 -3
- package/dist/public/views/profile/offers-tab.js +310 -0
- package/dist/public/views/profile/organisms-tab.js +1330 -485
- package/dist/public/views/profile/packages-tab.js +152 -16
- package/dist/public/views/profile/portfolio-tab.js +98 -31
- package/dist/public/views/profile.js +2 -0
- package/dist/public/views/start-flows.js +281 -0
- package/dist/public/views/start.js +258 -0
- package/dist/src/cli/connect/mcp/tools/organisms.d.ts +3 -0
- package/dist/src/cli/connect/mcp/tools/organisms.d.ts.map +1 -1
- package/dist/src/cli/connect/mcp/tools/organisms.js +20 -3
- package/dist/src/cli/connect/mcp/tools/organisms.js.map +1 -1
- package/dist/src/cli/connect/tool-call.d.ts.map +1 -1
- package/dist/src/cli/connect/tool-call.js +20 -1
- package/dist/src/cli/connect/tool-call.js.map +1 -1
- package/dist/src/generated/api-types.d.ts +856 -17
- package/dist/src/generated/api-types.d.ts.map +1 -1
- package/dist/src/generated/prisma-postgres/edge.js +15 -3
- package/dist/src/generated/prisma-postgres/index-browser.js +12 -0
- package/dist/src/generated/prisma-postgres/index.d.ts +1476 -160
- package/dist/src/generated/prisma-postgres/index.js +15 -3
- package/dist/src/generated/prisma-postgres/package.json +1 -1
- package/dist/src/generated/prisma-postgres/schema.prisma +11 -0
- package/dist/src/generated/prisma-postgres/wasm.js +15 -3
- package/dist/src/mcp/organisms.d.ts +3 -0
- package/dist/src/mcp/organisms.d.ts.map +1 -1
- package/dist/src/mcp/organisms.js +18 -0
- package/dist/src/mcp/organisms.js.map +1 -1
- package/dist/src/middleware/subdomain.d.ts +28 -0
- package/dist/src/middleware/subdomain.d.ts.map +1 -0
- package/dist/src/middleware/subdomain.js +32 -0
- package/dist/src/middleware/subdomain.js.map +1 -0
- package/dist/src/models/offer-schemas.d.ts +229 -0
- package/dist/src/models/offer-schemas.d.ts.map +1 -0
- package/dist/src/models/offer-schemas.js +100 -0
- package/dist/src/models/offer-schemas.js.map +1 -0
- package/dist/src/routes/agent-tasks.d.ts.map +1 -1
- package/dist/src/routes/agent-tasks.js +33 -0
- package/dist/src/routes/agent-tasks.js.map +1 -1
- package/dist/src/routes/agents.d.ts.map +1 -1
- package/dist/src/routes/agents.js +146 -1
- package/dist/src/routes/agents.js.map +1 -1
- package/dist/src/routes/apps-backup.d.ts +20 -0
- package/dist/src/routes/apps-backup.d.ts.map +1 -0
- package/dist/src/routes/apps-backup.js +165 -0
- package/dist/src/routes/apps-backup.js.map +1 -0
- package/dist/src/routes/ghii.d.ts.map +1 -1
- package/dist/src/routes/ghii.js +4 -0
- package/dist/src/routes/ghii.js.map +1 -1
- package/dist/src/routes/instances.d.ts +2 -1
- package/dist/src/routes/instances.d.ts.map +1 -1
- package/dist/src/routes/instances.js +59 -1
- package/dist/src/routes/instances.js.map +1 -1
- package/dist/src/routes/organisms.d.ts.map +1 -1
- package/dist/src/routes/organisms.js +27 -5
- package/dist/src/routes/organisms.js.map +1 -1
- package/dist/src/routes/packages.d.ts.map +1 -1
- package/dist/src/routes/packages.js +32 -0
- package/dist/src/routes/packages.js.map +1 -1
- package/dist/src/routes/permissions.d.ts +12 -0
- package/dist/src/routes/permissions.d.ts.map +1 -1
- package/dist/src/routes/permissions.js +35 -3
- package/dist/src/routes/permissions.js.map +1 -1
- package/dist/src/routes/portal.d.ts +3 -0
- package/dist/src/routes/portal.d.ts.map +1 -1
- package/dist/src/routes/portal.js +12 -0
- package/dist/src/routes/portal.js.map +1 -1
- package/dist/src/routes/public-stats.d.ts +15 -0
- package/dist/src/routes/public-stats.d.ts.map +1 -0
- package/dist/src/routes/public-stats.js +90 -0
- package/dist/src/routes/public-stats.js.map +1 -0
- package/dist/src/routes/sse.d.ts +7 -2
- package/dist/src/routes/sse.d.ts.map +1 -1
- package/dist/src/routes/sse.js +35 -5
- package/dist/src/routes/sse.js.map +1 -1
- package/dist/src/routes/subdomains.d.ts +33 -0
- package/dist/src/routes/subdomains.d.ts.map +1 -0
- package/dist/src/routes/subdomains.js +208 -0
- package/dist/src/routes/subdomains.js.map +1 -0
- package/dist/src/server-bootstrap/routes-loader.d.ts.map +1 -1
- package/dist/src/server-bootstrap/routes-loader.js +12 -1
- package/dist/src/server-bootstrap/routes-loader.js.map +1 -1
- package/dist/src/server.d.ts.map +1 -1
- package/dist/src/server.js +4 -0
- package/dist/src/server.js.map +1 -1
- package/dist/src/services/apps-backup-export.d.ts +22 -0
- package/dist/src/services/apps-backup-export.d.ts.map +1 -0
- package/dist/src/services/apps-backup-export.js +136 -0
- package/dist/src/services/apps-backup-export.js.map +1 -0
- package/dist/src/services/apps-backup-import.d.ts +120 -0
- package/dist/src/services/apps-backup-import.d.ts.map +1 -0
- package/dist/src/services/apps-backup-import.js +259 -0
- package/dist/src/services/apps-backup-import.js.map +1 -0
- package/dist/src/services/component-registrar.d.ts +17 -0
- package/dist/src/services/component-registrar.d.ts.map +1 -1
- package/dist/src/services/component-registrar.js +63 -5
- package/dist/src/services/component-registrar.js.map +1 -1
- package/dist/src/services/handbooks/appdev.d.ts +1 -1
- package/dist/src/services/handbooks/appdev.d.ts.map +1 -1
- package/dist/src/services/handbooks/appdev.js +5 -2
- package/dist/src/services/handbooks/appdev.js.map +1 -1
- package/dist/src/services/schema-validator.d.ts.map +1 -1
- package/dist/src/services/schema-validator.js +12 -0
- package/dist/src/services/schema-validator.js.map +1 -1
- package/dist/src/storage/interface.d.ts +11 -1
- package/dist/src/storage/interface.d.ts.map +1 -1
- package/dist/src/storage/interface.js.map +1 -1
- package/dist/src/storage/providers/mongodb/index.d.ts +10 -1
- package/dist/src/storage/providers/mongodb/index.d.ts.map +1 -1
- package/dist/src/storage/providers/mongodb/index.js +76 -0
- package/dist/src/storage/providers/mongodb/index.js.map +1 -1
- package/dist/src/storage/providers/sqlite/index.d.ts +8 -1
- package/dist/src/storage/providers/sqlite/index.d.ts.map +1 -1
- package/dist/src/storage/providers/sqlite/index.js +61 -0
- package/dist/src/storage/providers/sqlite/index.js.map +1 -1
- package/dist/src/storage/providers/sqlite/schema.d.ts.map +1 -1
- package/dist/src/storage/providers/sqlite/schema.js +11 -0
- package/dist/src/storage/providers/sqlite/schema.js.map +1 -1
- package/dist/src/storage/repositories/index.d.ts +1 -0
- package/dist/src/storage/repositories/index.d.ts.map +1 -1
- package/dist/src/storage/repositories/package.repository.d.ts +2 -0
- package/dist/src/storage/repositories/package.repository.d.ts.map +1 -1
- package/dist/src/storage/repositories/subdomain-site.repository.d.ts +19 -0
- package/dist/src/storage/repositories/subdomain-site.repository.d.ts.map +1 -0
- package/dist/src/storage/repositories/subdomain-site.repository.js +2 -0
- package/dist/src/storage/repositories/subdomain-site.repository.js.map +1 -0
- package/dist/static/app-catalog.html +1139 -28
- package/package.json +1 -1
- package/prisma/schema.postgres.prisma +11 -0
- package/prisma/schema.prisma +11 -0
package/dist/locales/en.json
CHANGED
|
@@ -126,7 +126,9 @@
|
|
|
126
126
|
"help": "Help",
|
|
127
127
|
"admin": "Admin",
|
|
128
128
|
"themeToDark": "Switch to dark mode",
|
|
129
|
-
"themeToLight": "Switch to light mode"
|
|
129
|
+
"themeToLight": "Switch to light mode",
|
|
130
|
+
"howItWorks": "How it works",
|
|
131
|
+
"business": "For your business"
|
|
130
132
|
},
|
|
131
133
|
"hero": {
|
|
132
134
|
"title": "Your data is yours. Your AI works for you.",
|
|
@@ -340,6 +342,7 @@
|
|
|
340
342
|
},
|
|
341
343
|
"tabs": {
|
|
342
344
|
"agents": "Agents",
|
|
345
|
+
"offers": "Offers",
|
|
343
346
|
"chatSessions": "Chat Sessions",
|
|
344
347
|
"mcp": "MCP",
|
|
345
348
|
"wallet": "Wallet",
|
|
@@ -360,6 +363,72 @@
|
|
|
360
363
|
"organisms": "Organisms",
|
|
361
364
|
"packages": "Packages"
|
|
362
365
|
},
|
|
366
|
+
"offers": {
|
|
367
|
+
"title": "What can I do?",
|
|
368
|
+
"desc": "Everything your agents can do for you — search, then ask. No clicking through agents and tabs.",
|
|
369
|
+
"searchPlaceholder": "What do you want to do?…",
|
|
370
|
+
"empty": "None of your agents publish offers yet.",
|
|
371
|
+
"noMatch": "No offers match.",
|
|
372
|
+
"run": "▶ Run",
|
|
373
|
+
"copyPrompt": "⧉ Copy prompt",
|
|
374
|
+
"runNow": "⏱ Run now",
|
|
375
|
+
"example": "Example",
|
|
376
|
+
"requirements": "Before you ask",
|
|
377
|
+
"consequences": "What this does",
|
|
378
|
+
"deliverable": "You’ll get back",
|
|
379
|
+
"untested": "untested — no sample yet",
|
|
380
|
+
"requestPlaceholder": "Your request (optional — fills the example)…",
|
|
381
|
+
"promptCopied": "Prompt copied — paste it into the agent’s chat.",
|
|
382
|
+
"triggered": "Schedule triggered.",
|
|
383
|
+
"requested": "Requested — task queued for {agent}.",
|
|
384
|
+
"askFailed": "Ask failed",
|
|
385
|
+
"confirmAsk": "This has lasting effects ({effects}). Ask anyway?",
|
|
386
|
+
"online": "online",
|
|
387
|
+
"offline": "offline",
|
|
388
|
+
"provenance": "From",
|
|
389
|
+
"task": "task",
|
|
390
|
+
"queued": "queued",
|
|
391
|
+
"inboxTitle": "What came back",
|
|
392
|
+
"inboxDesc": "Everything your agents delivered — check it and rate it, all in one place.",
|
|
393
|
+
"segDo": "Do",
|
|
394
|
+
"segInbox": "Inbox",
|
|
395
|
+
"inboxEmpty": "Nothing has come back yet. Ask an agent something in “What can I do?”.",
|
|
396
|
+
"expected": "Expected",
|
|
397
|
+
"failedMsg": "This task failed — no deliverable was produced.",
|
|
398
|
+
"deliverableGone": "Deliverable no longer available.",
|
|
399
|
+
"noDeliverableYet": "No deliverable yet.",
|
|
400
|
+
"rateIt": "Rate it",
|
|
401
|
+
"yourRating": "Your rating",
|
|
402
|
+
"ratePlaceholder": "Optional note…",
|
|
403
|
+
"submitRating": "Submit",
|
|
404
|
+
"rated": "Thanks — rated.",
|
|
405
|
+
"rateFailed": "Rating failed",
|
|
406
|
+
"selling": "Selling",
|
|
407
|
+
"priceMorsels": "Price",
|
|
408
|
+
"morsels": "morsels",
|
|
409
|
+
"perCall": "call",
|
|
410
|
+
"saveBilling": "Save",
|
|
411
|
+
"billSaved": "Saved.",
|
|
412
|
+
"billSaveFailed": "Could not save",
|
|
413
|
+
"billHint": "Others pay {n} morsels per call; you keep it minus the marketplace fee. Your own use is free.",
|
|
414
|
+
"notCallableHint": "Not machine-callable yet — others can find it, but invoking it needs a capability binding (action_id).",
|
|
415
|
+
"openInbox": "See it in the Inbox →",
|
|
416
|
+
"visibility": { "private": "Private (only me)", "unlisted": "Unlisted (by link)", "public": "Public (listed)" },
|
|
417
|
+
"status": { "done": "done", "failed": "failed", "active": "in progress", "paused": "paused", "stalled": "stalled", "queued": "queued", "revision_requested": "revision requested", "draft": "draft" },
|
|
418
|
+
"verification": { "deterministic": "deterministic", "gated": "verified", "ungated": "unverified" },
|
|
419
|
+
"dataHandling": { "local-only": "local-only", "llm-provider": "via LLM", "third-party": "third-party" },
|
|
420
|
+
"cost": { "free": "free", "cheap": "cheap", "expensive": "$$$" },
|
|
421
|
+
"latency": { "seconds": "seconds", "minutes": "minutes", "long-running": "long-running" },
|
|
422
|
+
"consequence": {
|
|
423
|
+
"creates-agent": "creates an agent",
|
|
424
|
+
"creates-schedule": "creates a schedule",
|
|
425
|
+
"mutates-host": "runs on your machine",
|
|
426
|
+
"publishes-public": "publishes publicly",
|
|
427
|
+
"external-send": "sends externally",
|
|
428
|
+
"mutates-live-app": "changes a live app",
|
|
429
|
+
"delegates-to-agent": "delegates to other agents"
|
|
430
|
+
}
|
|
431
|
+
},
|
|
363
432
|
"agents": {
|
|
364
433
|
"title": "Your Agents",
|
|
365
434
|
"active": {
|
|
@@ -399,7 +468,17 @@
|
|
|
399
468
|
"roles": "Roles",
|
|
400
469
|
"created": "Created",
|
|
401
470
|
"publicKey": "Public Key",
|
|
402
|
-
"capabilities":
|
|
471
|
+
"capabilities": {
|
|
472
|
+
"technical": "Technical Skills",
|
|
473
|
+
"domain": "Domain Knowledge",
|
|
474
|
+
"actionQueue": "Action Queue Support",
|
|
475
|
+
"verified": "verified",
|
|
476
|
+
"selfReported": "self-reported",
|
|
477
|
+
"empty": "No capabilities reported yet",
|
|
478
|
+
"canAccept": "Can accept work",
|
|
479
|
+
"canDeliver": "Can deliver work",
|
|
480
|
+
"languages": "Languages"
|
|
481
|
+
},
|
|
403
482
|
"description": "Description",
|
|
404
483
|
"deleteAgent": "Delete agent",
|
|
405
484
|
"deleteConfirm": "Delete agent",
|
|
@@ -566,7 +645,12 @@
|
|
|
566
645
|
"toggle": "Search",
|
|
567
646
|
"placeholder": "Search tasks…",
|
|
568
647
|
"noResults": "No tasks match your search.",
|
|
569
|
-
"time": {
|
|
648
|
+
"time": {
|
|
649
|
+
"all": "All",
|
|
650
|
+
"today": "Today",
|
|
651
|
+
"7d": "7d",
|
|
652
|
+
"30d": "30d"
|
|
653
|
+
}
|
|
570
654
|
},
|
|
571
655
|
"triage": {
|
|
572
656
|
"keep": "Keep",
|
|
@@ -636,7 +720,6 @@
|
|
|
636
720
|
"success": "Rating saved",
|
|
637
721
|
"error": "Failed to save rating"
|
|
638
722
|
},
|
|
639
|
-
"cancel": "Cancel",
|
|
640
723
|
"cancelConfirm": "Cancel this task? Work that hasn't started will be skipped",
|
|
641
724
|
"cancelled": "Task cancelled",
|
|
642
725
|
"cancelError": "Failed to cancel task",
|
|
@@ -718,17 +801,6 @@
|
|
|
718
801
|
"saving": "Saving...",
|
|
719
802
|
"resetDefaults": "Reset to Defaults"
|
|
720
803
|
},
|
|
721
|
-
"capabilities": {
|
|
722
|
-
"technical": "Technical Skills",
|
|
723
|
-
"domain": "Domain Knowledge",
|
|
724
|
-
"actionQueue": "Action Queue Support",
|
|
725
|
-
"verified": "verified",
|
|
726
|
-
"selfReported": "self-reported",
|
|
727
|
-
"empty": "No capabilities reported yet",
|
|
728
|
-
"canAccept": "Can accept work",
|
|
729
|
-
"canDeliver": "Can deliver work",
|
|
730
|
-
"languages": "Languages"
|
|
731
|
-
},
|
|
732
804
|
"activity": {
|
|
733
805
|
"tasksCompleted": "Tasks Completed",
|
|
734
806
|
"tokensUsed": "Tokens Used (30d)",
|
|
@@ -966,7 +1038,8 @@
|
|
|
966
1038
|
"promptCopied": "Prompt copied",
|
|
967
1039
|
"copyInstallCommand": "Copy install command",
|
|
968
1040
|
"installCommandCopied": "Install command copied",
|
|
969
|
-
"noDeliveries": "No deliveries recorded yet."
|
|
1041
|
+
"noDeliveries": "No deliveries recorded yet.",
|
|
1042
|
+
"setupWebhook": "Set up webhook"
|
|
970
1043
|
},
|
|
971
1044
|
"messages": {
|
|
972
1045
|
"commands": {
|
|
@@ -1040,7 +1113,8 @@
|
|
|
1040
1113
|
"sortUpdated": "Last updated",
|
|
1041
1114
|
"sortCreated": "Created",
|
|
1042
1115
|
"sortNewestFirst": "Newest first",
|
|
1043
|
-
"sortOldestFirst": "Oldest first"
|
|
1116
|
+
"sortOldestFirst": "Oldest first",
|
|
1117
|
+
"noneInline": "none"
|
|
1044
1118
|
},
|
|
1045
1119
|
"agent_config": {
|
|
1046
1120
|
"copy": "Copy",
|
|
@@ -1053,7 +1127,10 @@
|
|
|
1053
1127
|
"saveError": "Failed to save config file",
|
|
1054
1128
|
"uploaded": "Config file uploaded",
|
|
1055
1129
|
"uploadError": "Failed to upload config file",
|
|
1056
|
-
"viewing": "Viewing"
|
|
1130
|
+
"viewing": "Viewing",
|
|
1131
|
+
"deleteTitle": "Delete this agent",
|
|
1132
|
+
"deleteDesc": "Removes the agent, its credentials and its task history. This cannot be undone.",
|
|
1133
|
+
"deleteConfirmLabel": "Type the agent’s name to confirm"
|
|
1057
1134
|
},
|
|
1058
1135
|
"activity": {
|
|
1059
1136
|
"filterAll": "All",
|
|
@@ -1075,7 +1152,9 @@
|
|
|
1075
1152
|
"connected": "Connected",
|
|
1076
1153
|
"notConfigured": "Not configured",
|
|
1077
1154
|
"mcpLabel": "MCP"
|
|
1078
|
-
}
|
|
1155
|
+
},
|
|
1156
|
+
"notReported": "not reported",
|
|
1157
|
+
"deliveryPollingLine": "Delivery: polling"
|
|
1079
1158
|
},
|
|
1080
1159
|
"directives": {
|
|
1081
1160
|
"footer": "Directives are included in every skill bundle update. The agent receives these as behavioral constraints.",
|
|
@@ -1106,7 +1185,24 @@
|
|
|
1106
1185
|
"agent_config": "No configuration files. The agent will push its config files after the skill bundle is installed.",
|
|
1107
1186
|
"activity": "No activity recorded yet. Events will appear here once the agent starts working.",
|
|
1108
1187
|
"services": "No services declared. The agent can declare services during Hello Integration Step 11."
|
|
1109
|
-
}
|
|
1188
|
+
},
|
|
1189
|
+
"capTools": "tools",
|
|
1190
|
+
"capSkills": "skills",
|
|
1191
|
+
"capLangs": "languages",
|
|
1192
|
+
"readinessTooltip": "Readiness score 0–100 from onboarding checks. Levels: none → basic → standard → advanced → full.",
|
|
1193
|
+
"federationLabel": "Federation",
|
|
1194
|
+
"federationOn": "on",
|
|
1195
|
+
"federationOff": "off",
|
|
1196
|
+
"federationOnHint": "Shared via federation — click to make local only",
|
|
1197
|
+
"federationOffHint": "Local only — click to share via federation"
|
|
1198
|
+
},
|
|
1199
|
+
"board": {
|
|
1200
|
+
"online": "online",
|
|
1201
|
+
"quiet": "quiet",
|
|
1202
|
+
"onboarding": "onboarding",
|
|
1203
|
+
"issue": "issue",
|
|
1204
|
+
"newShort": "new",
|
|
1205
|
+
"issueShort": "issue"
|
|
1110
1206
|
}
|
|
1111
1207
|
},
|
|
1112
1208
|
"scopes": {
|
|
@@ -1195,10 +1291,10 @@
|
|
|
1195
1291
|
"visShared": "Shared",
|
|
1196
1292
|
"visPublic": "Public",
|
|
1197
1293
|
"createSaveBtn": "Create",
|
|
1198
|
-
"membersTitle": "
|
|
1199
|
-
"autoAccessInfo": "All your agents have automatic access to shared boards
|
|
1294
|
+
"membersTitle": "External Members",
|
|
1295
|
+
"autoAccessInfo": "All your agents have automatic access to shared boards",
|
|
1200
1296
|
"addMember": "Add",
|
|
1201
|
-
"addMemberPlaceholder": "
|
|
1297
|
+
"addMemberPlaceholder": "agent#owner@node",
|
|
1202
1298
|
"memberAdded": "Member added",
|
|
1203
1299
|
"memberRemoved": "Member removed",
|
|
1204
1300
|
"memberError": "Failed to update members",
|
|
@@ -1207,13 +1303,8 @@
|
|
|
1207
1303
|
"newPost": "New Post",
|
|
1208
1304
|
"postsLoading": "Loading posts...",
|
|
1209
1305
|
"postsError": "Could not load posts.",
|
|
1210
|
-
"membersTitle": "External Members",
|
|
1211
|
-
"autoAccessInfo": "All your agents have automatic access to shared boards",
|
|
1212
|
-
"addMemberPlaceholder": "agent#owner@node",
|
|
1213
1306
|
"addMemberBtn": "Add",
|
|
1214
|
-
"removeMemberConfirm": "Remove this member?"
|
|
1215
|
-
"memberAdded": "Member added",
|
|
1216
|
-
"memberRemoved": "Member removed"
|
|
1307
|
+
"removeMemberConfirm": "Remove this member?"
|
|
1217
1308
|
},
|
|
1218
1309
|
"wallet": {
|
|
1219
1310
|
"title": "Wallet",
|
|
@@ -1308,7 +1399,6 @@
|
|
|
1308
1399
|
"shareSuccess": "Shared to federation",
|
|
1309
1400
|
"unshareSuccess": "Removed from federation",
|
|
1310
1401
|
"selectGroup": "Select group",
|
|
1311
|
-
"skipGroup": "Skip",
|
|
1312
1402
|
"noGroups": "No sharing groups. Create one in the Access tab.",
|
|
1313
1403
|
"sortLabel": "Sort:",
|
|
1314
1404
|
"sortUpdated": "Last updated",
|
|
@@ -1345,7 +1435,24 @@
|
|
|
1345
1435
|
"loadingHome": "Loading home node memories...",
|
|
1346
1436
|
"errorLocalhost": "Cannot browse this node. Local/development nodes are not reachable from public nodes. Both nodes must be publicly accessible for cross-node browsing to work.",
|
|
1347
1437
|
"errorPeerNotFound": "Peer node not found in the federation directory. It may have been removed or is no longer active.",
|
|
1348
|
-
"errorPeerUnsupported": "This peer node does not support memory browsing yet. It may be running an older version of AIMEAT."
|
|
1438
|
+
"errorPeerUnsupported": "This peer node does not support memory browsing yet. It may be running an older version of AIMEAT.",
|
|
1439
|
+
"tabOwn": "My memory",
|
|
1440
|
+
"tabPublic": "Public",
|
|
1441
|
+
"tabRemote": "Remote nodes",
|
|
1442
|
+
"keysCount": "{n} keys",
|
|
1443
|
+
"groupOther": "other",
|
|
1444
|
+
"filterType": "Type to filter…",
|
|
1445
|
+
"createGroupBtn": "Create a group →",
|
|
1446
|
+
"invalidJson": "Invalid JSON — fix it before saving",
|
|
1447
|
+
"showAllTags": "Show all ({n})",
|
|
1448
|
+
"fewerTags": "Show fewer",
|
|
1449
|
+
"keysOne": "1 key",
|
|
1450
|
+
"bulkSelected": "{n} selected",
|
|
1451
|
+
"bulkApply": "Change visibility",
|
|
1452
|
+
"bulkClear": "Clear selection",
|
|
1453
|
+
"bulkDone": "{n} updated",
|
|
1454
|
+
"bulkDeleted": "{n} deleted",
|
|
1455
|
+
"bulkDeleteConfirm": "Delete {n} memory entries? This cannot be undone."
|
|
1349
1456
|
},
|
|
1350
1457
|
"files": {
|
|
1351
1458
|
"title": "Stored Files",
|
|
@@ -1691,7 +1798,12 @@
|
|
|
1691
1798
|
"adCancel": "Cancel",
|
|
1692
1799
|
"adInvalidBudget": "Token budget must be a non-negative number",
|
|
1693
1800
|
"adSaved": "Agent defaults saved",
|
|
1694
|
-
"adSaveError": "Failed to save defaults"
|
|
1801
|
+
"adSaveError": "Failed to save defaults",
|
|
1802
|
+
"copied": "Copied",
|
|
1803
|
+
"validUntil": "Valid until {time} ({h} h)",
|
|
1804
|
+
"noKeypair": "No keypair is stored for this account. Keys are generated at registration; older accounts may not have one.",
|
|
1805
|
+
"fedAllowAllCaption": "Any federation node can verify your identity. Uncheck to restrict to the list below.",
|
|
1806
|
+
"adRuleExample": "Example: “Always answer in Finnish” or “Never spend morsels without asking”."
|
|
1695
1807
|
},
|
|
1696
1808
|
"nodes": {
|
|
1697
1809
|
"title": "Personal Nodes",
|
|
@@ -1922,13 +2034,16 @@
|
|
|
1922
2034
|
"installBtn": "Install",
|
|
1923
2035
|
"installing": "Installing..."
|
|
1924
2036
|
},
|
|
1925
|
-
"status": {
|
|
2037
|
+
"status": {
|
|
2038
|
+
"active": "Active",
|
|
2039
|
+
"inactive": "Inactive"
|
|
2040
|
+
},
|
|
1926
2041
|
"activate": "Activate",
|
|
1927
2042
|
"deactivate": "Deactivate",
|
|
1928
2043
|
"uninstall": "Uninstall",
|
|
1929
2044
|
"uninstallConfirm": "Are you sure? Seed data will be removed.",
|
|
1930
2045
|
"detail": {
|
|
1931
|
-
"back": "
|
|
2046
|
+
"back": "← Back",
|
|
1932
2047
|
"whatsIncluded": "What's included",
|
|
1933
2048
|
"copyPrompt": "Copy prompt",
|
|
1934
2049
|
"copyApi": "Copy API",
|
|
@@ -2651,18 +2766,13 @@
|
|
|
2651
2766
|
"cortexChartsDesc": "Charts for your data — bar, line, pie. Touch + mouse.",
|
|
2652
2767
|
"cortexCanvas": "Canvas",
|
|
2653
2768
|
"cortexCanvasDesc": "Draw and save to storage. Undo, export, pen & shapes.",
|
|
2654
|
-
"menuDaily": "Daily",
|
|
2655
2769
|
"menuBuildShare": "Build & share",
|
|
2656
2770
|
"menuManagement": "Management",
|
|
2657
2771
|
"menuInfra": "Infrastructure",
|
|
2658
2772
|
"menuInfraAnnotation": "node operators only",
|
|
2659
|
-
"menuTechnical": "Technical",
|
|
2660
|
-
"menuPersonal": "Personal",
|
|
2661
2773
|
"expandAll": "Show all settings",
|
|
2662
2774
|
"expandMore": "Show all",
|
|
2663
2775
|
"myApps": "My apps",
|
|
2664
|
-
"allApps": "All",
|
|
2665
|
-
"openApp": "Open in new tab",
|
|
2666
2776
|
"viewAll": "View all",
|
|
2667
2777
|
"editProfile": "edit profile",
|
|
2668
2778
|
"editModalTitle": "Edit profile",
|
|
@@ -2696,7 +2806,38 @@
|
|
|
2696
2806
|
"notificationsBadge": "Notifications",
|
|
2697
2807
|
"ownPackages": "Own packages",
|
|
2698
2808
|
"connectAgent": "Connect new agent",
|
|
2699
|
-
"installFirst": "Install first app"
|
|
2809
|
+
"installFirst": "Install first app",
|
|
2810
|
+
"waitingTitle": "Waiting for you",
|
|
2811
|
+
"draftsToReview": "{n} drafts to review",
|
|
2812
|
+
"joinReqOne": "1 join request",
|
|
2813
|
+
"joinReqMany": "{n} join requests",
|
|
2814
|
+
"inviteWaiting": "You’re invited",
|
|
2815
|
+
"reviewBtn": "Review",
|
|
2816
|
+
"viewBtn": "View",
|
|
2817
|
+
"continueTitle": "Continue",
|
|
2818
|
+
"agentsTitle": "Agents",
|
|
2819
|
+
"activeTodayCount": "{n} active today",
|
|
2820
|
+
"agentActiveToday": "active today",
|
|
2821
|
+
"nextRunAt": "next run {time}",
|
|
2822
|
+
"promoDismiss": "Hide",
|
|
2823
|
+
"profileBtn": "Profile",
|
|
2824
|
+
"editLocaleHint": "Your preferred language — used for the portal UI; agents can read it from your profile to answer in it.",
|
|
2825
|
+
"editEmailLink": "Change in the Email tab →",
|
|
2826
|
+
"pwMin": "At least 8 characters",
|
|
2827
|
+
"pwUpper": "An uppercase letter",
|
|
2828
|
+
"pwLower": "A lowercase letter",
|
|
2829
|
+
"pwDigit": "A number",
|
|
2830
|
+
"changePasswordBtn": "Change password",
|
|
2831
|
+
"showPassword": "Show",
|
|
2832
|
+
"hidePassword": "Hide",
|
|
2833
|
+
"menuInformation": "Information",
|
|
2834
|
+
"menuAutomation": "Automation",
|
|
2835
|
+
"menuActivity": "Activity",
|
|
2836
|
+
"menuAccount": "Account",
|
|
2837
|
+
"menuPinned": "Pinned",
|
|
2838
|
+
"pinAdd": "Pin",
|
|
2839
|
+
"pinRemove": "Unpin",
|
|
2840
|
+
"pinLimit": "Max 5 pinned items"
|
|
2700
2841
|
}
|
|
2701
2842
|
},
|
|
2702
2843
|
"dev": {
|
|
@@ -3466,7 +3607,7 @@
|
|
|
3466
3607
|
"servicesActionsCount": "Actions",
|
|
3467
3608
|
"servicesInstancesCount": "Instances",
|
|
3468
3609
|
"servicesManage": "Manage",
|
|
3469
|
-
"servicesBack": "
|
|
3610
|
+
"servicesBack": "← Back to Extensions",
|
|
3470
3611
|
"servicesCreateInstance": "Create Instance",
|
|
3471
3612
|
"servicesInstanceId": "Instance ID",
|
|
3472
3613
|
"servicesInstanceConfig": "Config (JSON, optional)",
|
|
@@ -3860,7 +4001,6 @@
|
|
|
3860
4001
|
"chatMessagePlaceholder": "Type a message...",
|
|
3861
4002
|
"chatBack": "Back to channels",
|
|
3862
4003
|
"chatNoMessages": "No messages yet. Be the first to post!",
|
|
3863
|
-
|
|
3864
4004
|
"emailDisabledExplain": "Email is not enabled. Configure SMTP settings in the Configuration tab to enable transactional emails.",
|
|
3865
4005
|
"host": "Host",
|
|
3866
4006
|
"secure": "Secure (TLS)",
|
|
@@ -3915,7 +4055,6 @@
|
|
|
3915
4055
|
"emailGroupBody": "Message body",
|
|
3916
4056
|
"emailGroupSend": "Send to Group",
|
|
3917
4057
|
"emailGroupSent": "Sent to {sent}/{total} recipients",
|
|
3918
|
-
|
|
3919
4058
|
"pushNotConfigured": "Push notifications are not configured.",
|
|
3920
4059
|
"pushExplain": "Web Push notifications allow sending real-time alerts to users who have subscribed via their browser. Requires VAPID keys configuration.",
|
|
3921
4060
|
"pushHelpTitle": "How to configure Push",
|
|
@@ -3928,17 +4067,17 @@
|
|
|
3928
4067
|
"pushWebPushTitle": "Web Push: Browser Notification",
|
|
3929
4068
|
"pushWebPushUsed": "Sent to subscribed browsers when a personal node has pending mailbox messages while offline.",
|
|
3930
4069
|
"pushWebPushTitleTpl": "AIMEAT: Pending messages",
|
|
3931
|
-
"pushWebPushBodyTpl": "{count} message(s) waiting
|
|
4070
|
+
"pushWebPushBodyTpl": "{count} message(s) waiting — {type}",
|
|
3932
4071
|
"pushEmailTitle": "Email: Mailbox Alert",
|
|
3933
4072
|
"pushEmailUsed": "Sent to the user's configured email when their personal node has pending messages and email notifications are enabled.",
|
|
3934
4073
|
"pushEmailSubjectTpl": "AIMEAT: {count} pending message(s) for your node",
|
|
3935
4074
|
"pushEmailBodyTpl": "Your personal node \"{nodeId}\" has {count} pending message(s).\n\nHighest priority: {type}\nOldest message: {age} minutes ago\n\nPlease reconnect your personal node to retrieve these messages.",
|
|
3936
4075
|
"pushNotifyTypesTitle": "Notification Triggers",
|
|
3937
4076
|
"pushNotifyTypesExplain": "Push notifications are sent when these mailbox event types occur. Configured via AIMEAT_PUSH_NOTIFY_TYPES.",
|
|
3938
|
-
"pushTypeWorkAssignment": "work_assignment
|
|
3939
|
-
"pushTypeActionRequest": "action_request
|
|
3940
|
-
"pushTypeBoardNotification": "board_notification
|
|
3941
|
-
"pushTypeFederationSync": "federation_sync
|
|
4077
|
+
"pushTypeWorkAssignment": "work_assignment — A work task has been assigned to the user's agent",
|
|
4078
|
+
"pushTypeActionRequest": "action_request — Another agent has requested an action from the user's agent",
|
|
4079
|
+
"pushTypeBoardNotification": "board_notification — New activity on a board the user subscribes to",
|
|
4080
|
+
"pushTypeFederationSync": "federation_sync — A federated peer node has synced data that needs attention",
|
|
3942
4081
|
"pushTemplate": "Template",
|
|
3943
4082
|
"pushUsedIn": "Used in",
|
|
3944
4083
|
"pushTestBtn": "Send Test Push",
|
|
@@ -3960,7 +4099,6 @@
|
|
|
3960
4099
|
"pushSubscribed": "Subscribed!",
|
|
3961
4100
|
"pushUnsubscribeBtn": "Unsubscribe",
|
|
3962
4101
|
"pushNoBrowserSupport": "This browser does not support push notifications",
|
|
3963
|
-
|
|
3964
4102
|
"blocked": "Blocked",
|
|
3965
4103
|
"blockedCooldown": "Cooldown",
|
|
3966
4104
|
"blockedDisabled": "Disabled",
|
|
@@ -4017,7 +4155,6 @@
|
|
|
4017
4155
|
"test": "Test",
|
|
4018
4156
|
"work": "Work"
|
|
4019
4157
|
},
|
|
4020
|
-
|
|
4021
4158
|
"totalEntries": "Total Entries",
|
|
4022
4159
|
"cities": "Cities",
|
|
4023
4160
|
"categories": "Categories",
|
|
@@ -4026,7 +4163,6 @@
|
|
|
4026
4163
|
"directoryExplain": "The directory indexes owner profiles by city, category, and interests, enabling discovery and search. Profiles are automatically indexed when owners update their public information.",
|
|
4027
4164
|
"directoryHelpTitle": "How the directory works",
|
|
4028
4165
|
"directoryHelpDetail": "Owners register profiles with city, categories, and interests via the API. The directory builds search indexes for fast lookups. You can rebuild indexes if data becomes inconsistent.",
|
|
4029
|
-
|
|
4030
4166
|
"totalProfiles": "Total Profiles",
|
|
4031
4167
|
"activeMatches": "Active Matches",
|
|
4032
4168
|
"lastRun": "Last Run",
|
|
@@ -4034,7 +4170,6 @@
|
|
|
4034
4170
|
"matchingExplain": "The matching engine finds compatible profiles based on shared interests, location proximity, and preference criteria. Matches are computed periodically or can be triggered manually.",
|
|
4035
4171
|
"matchingHelpTitle": "How matching works",
|
|
4036
4172
|
"matchingHelpDetail": "The engine compares all active profiles, scoring compatibility based on shared interests, geographic proximity, and stated preferences. Matches above a threshold are surfaced to users. Run the engine manually to update matches immediately.",
|
|
4037
|
-
|
|
4038
4173
|
"marketplaceEmpty": "No marketplace configured",
|
|
4039
4174
|
"activeListings": "Active Listings",
|
|
4040
4175
|
"totalTransactions": "Total Transactions",
|
|
@@ -4048,7 +4183,6 @@
|
|
|
4048
4183
|
"marketplaceNodeLevel": "Node Level",
|
|
4049
4184
|
"marketplaceFederationLevel": "Federation Level",
|
|
4050
4185
|
"marketplaceCreateConfirm": "Marketplace created successfully",
|
|
4051
|
-
|
|
4052
4186
|
"csmExplain": "CSM (Contextual Service Model) defines the data schema and rules for services running on the node. Each CSM template specifies what data a service collects, how it's validated, and what consent rules apply.",
|
|
4053
4187
|
"csmHelpTitle": "What is a CSM?",
|
|
4054
4188
|
"csmHelpDetail": "A CSM is a JSON document that defines a service's data model. It includes field definitions (name, type, required), validation rules, consent requirements, and display hints. Services like hobbies directory, marketplace, or dating use CSMs to describe their data shape. The node validates all data against the CSM before storing it.",
|
|
@@ -4078,7 +4212,6 @@
|
|
|
4078
4212
|
"csmAiStep2": "Paste it into a new AI chat conversation",
|
|
4079
4213
|
"csmAiStep3": "Describe the service you want to create — the AI will guide you",
|
|
4080
4214
|
"csmAiStep4": "Copy the generated YAML back here and click \"Create CSM\"",
|
|
4081
|
-
|
|
4082
4215
|
"msmHelpTitle": "What is an MSM?",
|
|
4083
4216
|
"msmHelpDetail": "An MSM is a configuration that connects the node to external services. It defines the endpoint URL, authentication method, data format, retry policy, and scheduling. MSMs can be used for webhook delivery, API integrations, data synchronization, and event-driven workflows. Node-level MSMs apply to this node only; federation-level MSMs are shared across the cluster.",
|
|
4084
4217
|
"msmAddNew": "Add MSM Integration",
|
|
@@ -4100,7 +4233,6 @@
|
|
|
4100
4233
|
"msmSelectTemplate": "— Select a template —",
|
|
4101
4234
|
"msmCreateFromTemplate": "Start from template",
|
|
4102
4235
|
"msmDefinition": "MSM Definition",
|
|
4103
|
-
|
|
4104
4236
|
"federationNotAvailable": "Federation is not configured",
|
|
4105
4237
|
"clusterName": "Cluster Name",
|
|
4106
4238
|
"role": "Role",
|
|
@@ -4113,7 +4245,6 @@
|
|
|
4113
4245
|
"federationJoinExplain": "To join an existing federation, you need the genesis node's endpoint URL and a valid invitation token.",
|
|
4114
4246
|
"federationLeave": "Leave Federation",
|
|
4115
4247
|
"federationLeaveConfirm": "Are you sure you want to leave this federation?",
|
|
4116
|
-
|
|
4117
4248
|
"fedHowBusTitle": "What is the Federation Bus?",
|
|
4118
4249
|
"fedHowBusDetail": "The federation bus is the communication layer between nodes. It handles heartbeats (health checks every 5 minutes), data replication, catalogue synchronization, cross-node work routing, morsel settlements, and trust advisories. All messages are cryptographically signed with Ed25519 keys to prevent tampering.",
|
|
4119
4250
|
"fedHowJoinTitle": "How does a new node join?",
|
|
@@ -4124,12 +4255,10 @@
|
|
|
4124
4255
|
"fedHowSettlementsDetail": "When an agent on Node A uses a service on Node B, the morsel payment needs to be settled across nodes. Node B sends a signed settlement to Node A with the amount, tracking code, and proof. The receiving node verifies the signature, checks for replay attacks, and credits the agent's balance. Operators can also initiate outbound settlements manually.",
|
|
4125
4256
|
"fedHowRoutingTitle": "How does cross-node routing work?",
|
|
4126
4257
|
"fedHowRoutingDetail": "If you need to reach an agent on a remote node, the federation router (POST /v1/federation/route) forwards the request. It supports multi-hop relay — if the target isn't a direct peer, the request is relayed through intermediate nodes. Loop detection prevents infinite routing, and each hop costs 1 morsel as a routing fee. Max hops is configurable.",
|
|
4127
|
-
|
|
4128
4258
|
"fedActivePeers": "Active Peers",
|
|
4129
4259
|
"fedDegradedPeers": "Degraded",
|
|
4130
4260
|
"fedOfflinePeers": "Offline",
|
|
4131
4261
|
"fedPendingRequests": "Pending Requests",
|
|
4132
|
-
|
|
4133
4262
|
"fedPendingRequestsTitle": "Pending Peering Requests",
|
|
4134
4263
|
"fedPendingRequestsExplain": "These nodes want to join your federation. Review each request and approve or reject.",
|
|
4135
4264
|
"fedPendingHelpTitle": "What should I check before approving?",
|
|
@@ -4143,7 +4272,6 @@
|
|
|
4143
4272
|
"fedRejectPeerConfirm": "Reject this peering request?",
|
|
4144
4273
|
"fedPeerApproved": "Peering request approved successfully",
|
|
4145
4274
|
"fedPeerRejected": "Peering request rejected",
|
|
4146
|
-
|
|
4147
4275
|
"fedLivePeersTitle": "Live Peers",
|
|
4148
4276
|
"fedLivePeersExplain": "Currently registered peers and their real-time health status. The heartbeat monitor pings each peer every 5 minutes.",
|
|
4149
4277
|
"fedLivePeersHelpTitle": "Understanding peer statuses",
|
|
@@ -4159,11 +4287,9 @@
|
|
|
4159
4287
|
"fedPeerActivated": "Peer activated successfully",
|
|
4160
4288
|
"fedPeerRemoved": "Peer set to depeering status (grace period active)",
|
|
4161
4289
|
"fedPeerEmergencyRemoved": "Peer immediately disconnected. All in-flight work cancelled.",
|
|
4162
|
-
|
|
4163
4290
|
"fedRequestHistoryTitle": "Peering Request History",
|
|
4164
4291
|
"fedDeleteRequestConfirm": "Delete this peering request from history?",
|
|
4165
4292
|
"fedRequestDeleted": "Peering request deleted",
|
|
4166
|
-
|
|
4167
4293
|
"fedJoinTitle": "Join Genesis Network",
|
|
4168
4294
|
"fedJoinExplain": "Connect this node to an existing AIMEAT genesis network. Enter the genesis node URL and select your role. The genesis operator will review and approve your request.",
|
|
4169
4295
|
"fedJoinHelpTitle": "How does joining work?",
|
|
@@ -4177,7 +4303,6 @@
|
|
|
4177
4303
|
"fedJoinTargetNode": "Target Node",
|
|
4178
4304
|
"fedJoinStatus": "Status",
|
|
4179
4305
|
"fedJoinRequestId": "Request ID",
|
|
4180
|
-
|
|
4181
4306
|
"fedAddPeerTitle": "Add Peer Directly",
|
|
4182
4307
|
"fedAddPeerExplain": "Manually add a peer node without going through the introduction flow. Useful for bootstrapping federations or adding trusted nodes.",
|
|
4183
4308
|
"fedAddPeerHelpTitle": "When should I add peers directly?",
|
|
@@ -4188,7 +4313,6 @@
|
|
|
4188
4313
|
"fedAddPeerBtn": "Add Peer",
|
|
4189
4314
|
"fedAddPeerMissing": "Node ID and URL are required",
|
|
4190
4315
|
"fedPeerAdded": "Peer added successfully (status: pending)",
|
|
4191
|
-
|
|
4192
4316
|
"fedTestTitle": "Test Federation Readiness",
|
|
4193
4317
|
"fedTestExplain": "Check if a remote node is reachable and running the AIMEAT protocol before peering.",
|
|
4194
4318
|
"fedTestHelpTitle": "What does the test check?",
|
|
@@ -4197,44 +4321,31 @@
|
|
|
4197
4321
|
"fedTestTarget": "Target",
|
|
4198
4322
|
"fedTestReady": "Ready",
|
|
4199
4323
|
"fedTestTime": "Tested at",
|
|
4200
|
-
|
|
4201
4324
|
"fedBusTitle": "Federation Bus — Features",
|
|
4202
4325
|
"fedBusExplain": "The federation bus provides all the communication channels between nodes. Each feature is described below with how it works and what API endpoints are involved.",
|
|
4203
|
-
|
|
4204
4326
|
"fedBusHeartbeatTitle": "Heartbeat & Health Monitoring",
|
|
4205
4327
|
"fedBusHeartbeatDetail": "Every 5 minutes, your node pings all active peers via POST /v1/federation/ping. If a peer fails 3 consecutive heartbeats, it's marked 'degraded'. After 10 failures, it goes 'offline'. Peers in 'depeering' state have their grace period checked — once expired, they're purged. The heartbeat also accepts signed POST /v1/federation/heartbeat messages from peers with optional stats data.",
|
|
4206
|
-
|
|
4207
4328
|
"fedBusReplicateTitle": "Memory Replication",
|
|
4208
4329
|
"fedBusReplicateDetail": "Nodes can replicate memory entries to peers via POST /v1/federation/replicate. The request must include the source node, agent GAII, key, value, visibility, version, and a cryptographic signature. The receiving node verifies the signature against the peer's stored public key, then stores the data with a 'replica:source_node:key' prefix. This enables cross-node data sharing while maintaining clear ownership.",
|
|
4209
|
-
|
|
4210
4330
|
"fedBusCatalogueTitle": "Catalogue Synchronization",
|
|
4211
4331
|
"fedBusCatalogueDetail": "Action catalogues are synced via POST /v1/federation/catalogue-sync. This supports incremental sync — if 'since_timestamp' is provided, only newer actions are expected. Existing federated actions are updated (upsert by federated ID). Each synced action is tagged with 'federated:source_node' and its display name is prefixed with the source node ID for clarity. A catalogue_hash is included for integrity verification.",
|
|
4212
|
-
|
|
4213
4332
|
"fedBusRoutingTitle": "Cross-Node Request Routing",
|
|
4214
4333
|
"fedBusRoutingDetail": "POST /v1/federation/route forwards requests to remote nodes. If the target is a direct peer, the request goes straight. Otherwise, it tries multi-hop relay through other active peers. Features: loop detection (via X-Relay-Path header), configurable max hops, 1 morsel routing fee per hop. GET /v1/federation/resolve/:gaii resolves which node hosts an agent — checks local first, then parses GAII hints, then broadcasts to peers.",
|
|
4215
|
-
|
|
4216
4334
|
"fedBusSettlementTitle": "Morsel Settlements",
|
|
4217
4335
|
"fedBusSettlementDetail": "Cross-node morsel transfers use POST /v1/federation/settle (inbound) and POST /v1/federation/settle/outbound (outbound, operator only). Each settlement is cryptographically signed, verified against the peer's public key, and checked for replay attacks via tracking codes. Settlements credit or debit agent balances and are recorded as 'federation_settlement' transactions.",
|
|
4218
|
-
|
|
4219
4336
|
"fedBusTrustTitle": "Trust Advisories",
|
|
4220
4337
|
"fedBusTrustDetail": "Operators can issue trust advisories about nodes via POST /v1/federation/trust-advisory. Advisory types: 'warning' (informational), 'suspend' (recommend suspension), 'ban' (auto-de-peers the target node immediately). Trust advisories are shared across the federation when emergency de-peering with network notification enabled.",
|
|
4221
|
-
|
|
4222
4338
|
"fedBusKeyExchangeTitle": "Key Exchange",
|
|
4223
4339
|
"fedBusKeyExchangeDetail": "POST /v1/federation/key-exchange allows peers to exchange Ed25519 public keys. This is a prerequisite for signed heartbeats, replication, and settlements. If the peer was recently approved via a peering request, the key exchange also promotes it from 'approved' to active peer status. Each node returns its own public key and capabilities.",
|
|
4224
|
-
|
|
4225
4340
|
"fedBusCrossWorkTitle": "Cross-Node Work Requests",
|
|
4226
4341
|
"fedBusCrossWorkDetail": "Agents can submit work to services on remote nodes via POST /v1/federation/cross-node/work. The request is signed by the originating node's private key and forwarded to the target peer. A 1 morsel routing fee is charged. The remote node processes the work request as if it were local, and results are returned in the response.",
|
|
4227
|
-
|
|
4228
4342
|
"fedBusResolveTitle": "GAII Resolution",
|
|
4229
4343
|
"fedBusResolveDetail": "GET /v1/federation/resolve/:gaii finds which node hosts an agent. Resolution order: 1) Check local cache (5-minute TTL), 2) Check local storage, 3) Check personal nodes anchored to this operator, 4) Parse node hint from GAII format (agent#owner@node), 5) Broadcast resolve to all active peers. Results are cached to reduce network traffic.",
|
|
4230
|
-
|
|
4231
4344
|
"fedApiRefTitle": "API Reference",
|
|
4232
4345
|
"fedApiRefHelpTitle": "All Federation Endpoints",
|
|
4233
|
-
|
|
4234
4346
|
"fedDepeeringTitle": "Peers Being Removed",
|
|
4235
4347
|
"fedDepeeringExplain": "These peers are in the grace period before permanent removal. In-flight work can still complete.",
|
|
4236
4348
|
"fedDepeeringGrace": "Grace ends",
|
|
4237
|
-
|
|
4238
4349
|
"fedShareCatalogue": "Share Catalogue",
|
|
4239
4350
|
"fedReplicateMemory": "Replicate Memory",
|
|
4240
4351
|
"fedAllowRouting": "Allow Routing",
|
|
@@ -4250,7 +4361,6 @@
|
|
|
4250
4361
|
"fedPeerModePrivate": "Private P2P",
|
|
4251
4362
|
"fedPolicyUpdated": "Peer policy updated",
|
|
4252
4363
|
"fedPolicySectionTitle": "Policy",
|
|
4253
|
-
|
|
4254
4364
|
"fedNetworkDirectoryTitle": "Network Directory",
|
|
4255
4365
|
"fedNetworkDirectoryDesc": "Services and data available across the federation network.",
|
|
4256
4366
|
"fedNetworkDirType": "Type",
|
|
@@ -4260,7 +4370,6 @@
|
|
|
4260
4370
|
"fedNetworkDirPrice": "Price",
|
|
4261
4371
|
"fedNetworkDirEmpty": "No federated services discovered yet. Services appear when peers share their catalogue.",
|
|
4262
4372
|
"fedNetworkDirSearch": "Search services...",
|
|
4263
|
-
|
|
4264
4373
|
"genesisExplain": "Genesis peers are the founding nodes of a federation cluster. The genesis node is the first node that creates the federation, and it manages peer approvals, key exchange, and cluster policies.",
|
|
4265
4374
|
"genesisHelpTitle": "What are genesis peers?",
|
|
4266
4375
|
"genesisHelpDetail": "When you create a new federation, your node becomes the genesis (origin) node. Other nodes request to join, and you approve or reject them here. Genesis peers have special privileges: they can set cluster-wide policies, approve new members, and suspend misbehaving nodes. Approved peers can exchange data according to federation rules.",
|
|
@@ -4268,7 +4377,6 @@
|
|
|
4268
4377
|
"confirmAction": "Are you sure?",
|
|
4269
4378
|
"approveConfirm": "Approve this peer?",
|
|
4270
4379
|
"suspendConfirm": "Suspend this peer?",
|
|
4271
|
-
|
|
4272
4380
|
"configuration": "Configuration",
|
|
4273
4381
|
"schema": "Schema",
|
|
4274
4382
|
"fields": "Fields",
|
|
@@ -4276,7 +4384,6 @@
|
|
|
4276
4384
|
"type": "Type",
|
|
4277
4385
|
"version": "Version",
|
|
4278
4386
|
"back": "Back",
|
|
4279
|
-
|
|
4280
4387
|
"cfgGroup_node": "Node",
|
|
4281
4388
|
"cfgGroup_storage": "Storage",
|
|
4282
4389
|
"cfgGroup_morsel_policy": "Morsel Policy",
|
|
@@ -4310,7 +4417,6 @@
|
|
|
4310
4417
|
"cfgGroup_personal_nodes": "Personal Nodes",
|
|
4311
4418
|
"cfgGroup_match_notifications": "Match Notifications",
|
|
4312
4419
|
"cfgGroup_consul": "Consul",
|
|
4313
|
-
|
|
4314
4420
|
"cfgHelp_extensions": "The extension system runs custom JavaScript code in sandboxed V8 isolates. Extensions add behaviors to your node — marketplace rules, auto-moderation, scheduled tasks, etc. Install bundled extensions from the Services tab, or create your own. Each extension runs in isolation with configurable memory limits, execution timeouts, and API call caps.",
|
|
4315
4421
|
"cfgHelp_eudiw": "EUDIW (EU Digital Identity Wallet) enables verified identity through the European Digital Identity framework. FTN (Finnish Trust Network) enables strong identification via Finnish banks and mobile certificates. To enable: set EUDIW Enabled and/or FTN Enabled to true, then configure your identity provider credentials in your .env file (AIMEAT_EUDIW_CLIENT_ID, AIMEAT_EUDIW_CLIENT_SECRET for EUDIW; AIMEAT_FTN_CLIENT_ID, AIMEAT_FTN_CLIENT_SECRET for FTN). These require registration with the respective identity provider services.",
|
|
4316
4422
|
"cfgHelp_consul": "Consul is a service discovery and configuration management tool. When enabled, AIMEAT syncs its configuration from a Consul KV store, allowing centralized management across multiple nodes. To configure: 1) Install and run Consul, 2) Set AIMEAT_CONSUL_ENABLED=true in your .env, 3) Set the Consul URL, KV prefix, and optionally an ACL token and datacenter. These settings are immutable and must be set before startup.",
|
|
@@ -4318,7 +4424,6 @@
|
|
|
4318
4424
|
"cfgHelp_matching": "The AI matching engine automatically connects users based on shared interests, location, and profile data. When enabled, it runs periodically (configurable interval) and generates match suggestions. Configure the minimum score threshold, max suggestions per round, geographic distance limits, and cooldown periods to control matching behavior.",
|
|
4319
4425
|
"cfgHelp_consent": "The consent layer provides GDPR-compliant data access controls. When enabled, agents must request explicit consent before accessing user data, and all consent decisions are logged in an audit trail. Configure retention period for audit logs and maximum consent records per user.",
|
|
4320
4426
|
"cfgHelp_email": "Email settings control SMTP connectivity for sending notifications, confirmations, and alerts. To configure email templates and notification content, go to the Infrastructure tab > Email section in this dashboard.",
|
|
4321
|
-
|
|
4322
4427
|
"cfg_node_id": "Node ID",
|
|
4323
4428
|
"cfg_node_port": "Port",
|
|
4324
4429
|
"cfg_node_type": "Node Type",
|
|
@@ -4409,7 +4514,7 @@
|
|
|
4409
4514
|
"cfg_consul_datacenter": "Datacenter",
|
|
4410
4515
|
"cortexTab": "Cortex Extensions",
|
|
4411
4516
|
"cortex": {
|
|
4412
|
-
"back": "
|
|
4517
|
+
"back": "← Back",
|
|
4413
4518
|
"total": "Total",
|
|
4414
4519
|
"active": "Active",
|
|
4415
4520
|
"inactive": "Inactive",
|
|
@@ -4721,8 +4826,12 @@
|
|
|
4721
4826
|
"instanceSelector": "Choose a Marketplace",
|
|
4722
4827
|
"instanceSelectorSubtitle": "Select a marketplace to browse or sell items",
|
|
4723
4828
|
"noInstances": "No marketplaces available",
|
|
4724
|
-
"visibility": {
|
|
4725
|
-
|
|
4829
|
+
"visibility": {
|
|
4830
|
+
"public": "Public",
|
|
4831
|
+
"password": "Password Protected",
|
|
4832
|
+
"invite": "Invite Only"
|
|
4833
|
+
},
|
|
4834
|
+
"backToMarketplaces": "← All Marketplaces",
|
|
4726
4835
|
"nav": {
|
|
4727
4836
|
"search": "Search",
|
|
4728
4837
|
"sell": "Sell",
|
|
@@ -4890,7 +4999,18 @@
|
|
|
4890
4999
|
"Today someone's idea changes someone's mind.",
|
|
4891
5000
|
"Love what actually matters to you."
|
|
4892
5001
|
],
|
|
4893
|
-
"weights": [
|
|
5002
|
+
"weights": [
|
|
5003
|
+
3,
|
|
5004
|
+
3,
|
|
5005
|
+
2,
|
|
5006
|
+
2,
|
|
5007
|
+
2,
|
|
5008
|
+
2,
|
|
5009
|
+
2,
|
|
5010
|
+
1,
|
|
5011
|
+
1,
|
|
5012
|
+
1
|
|
5013
|
+
],
|
|
4894
5014
|
"line1": "Opinions are like assholes. Everyone's got one. Here are a few:",
|
|
4895
5015
|
"cta": "Make yours heard by copying the prompt below into any AI chat, tell it what you want, and in under a minute your opinion shows up here live."
|
|
4896
5016
|
},
|
|
@@ -5237,8 +5357,8 @@
|
|
|
5237
5357
|
"step1Title": "Select Content",
|
|
5238
5358
|
"step2Title": "Style & Purpose",
|
|
5239
5359
|
"step3Title": "Auth-Gated Sections",
|
|
5240
|
-
"step4Title": "Generate
|
|
5241
|
-
"step5Title": "
|
|
5360
|
+
"step4Title": "Generate prompt — run it in your AI chat",
|
|
5361
|
+
"step5Title": "Paste the result & publish",
|
|
5242
5362
|
"noContent": "No publishable content found. Upload images or create apps first.",
|
|
5243
5363
|
"imagesGroup": "Images",
|
|
5244
5364
|
"appsGroup": "Published Apps",
|
|
@@ -5261,7 +5381,7 @@
|
|
|
5261
5381
|
"gateProjectDetails": "Project details",
|
|
5262
5382
|
"gateDownloads": "Download links",
|
|
5263
5383
|
"gateCustom": "Custom sections (specify in prompt)",
|
|
5264
|
-
"generateBtn": "Generate
|
|
5384
|
+
"generateBtn": "Generate",
|
|
5265
5385
|
"copyPrompt": "Copy Prompt to Clipboard",
|
|
5266
5386
|
"downloadPrompt": "Download as .txt",
|
|
5267
5387
|
"promptCopied": "Copied!",
|
|
@@ -5283,13 +5403,34 @@
|
|
|
5283
5403
|
"orPaste": "or paste HTML directly",
|
|
5284
5404
|
"pasteHint": "Paste your portfolio HTML here from AI chat...",
|
|
5285
5405
|
"pasteEmpty": "Paste HTML content first",
|
|
5286
|
-
"publishPaste": "Publish pasted HTML"
|
|
5406
|
+
"publishPaste": "Publish pasted HTML",
|
|
5407
|
+
"flow1": "Select your content and style",
|
|
5408
|
+
"flow2": "Generate a prompt and run it in your AI chat (Claude, ChatGPT, …)",
|
|
5409
|
+
"flow3": "Paste the resulting HTML back here and publish",
|
|
5410
|
+
"selectedOf": "{sel}/{total} selected",
|
|
5411
|
+
"selectAll": "Select all",
|
|
5412
|
+
"generateDisabledHint": "Select at least one item in step 1",
|
|
5413
|
+
"charCount": "{n} characters",
|
|
5414
|
+
"publishTarget": "Will be published at:",
|
|
5415
|
+
"previewBtn": "Preview",
|
|
5416
|
+
"closePreview": "Close preview",
|
|
5417
|
+
"unpublish": "Unpublish",
|
|
5418
|
+
"unpublished": "Portfolio unpublished",
|
|
5419
|
+
"unpublishConfirm": "Unpublish your portfolio? The public page stops working until you publish again.",
|
|
5420
|
+
"customTypePlaceholder": "Describe what kind of portfolio you want…",
|
|
5421
|
+
"customGatePlaceholder": "Describe the custom auth-gated sections…",
|
|
5422
|
+
"backToProfile": "Profile",
|
|
5423
|
+
"publicUrl": "Public URL",
|
|
5424
|
+
"lastUpdated": "Last updated",
|
|
5425
|
+
"sizeLabel": "Size",
|
|
5426
|
+
"visitBtn": "Visit",
|
|
5427
|
+
"editBtn": "Edit in builder"
|
|
5287
5428
|
},
|
|
5288
5429
|
"viewer": {
|
|
5289
5430
|
"notFound": "Portfolio not found",
|
|
5290
5431
|
"notFoundDesc": "This user hasn't published a portfolio yet.",
|
|
5291
5432
|
"loginToSeeMore": "Log in to see more content",
|
|
5292
|
-
"backToPortal": "
|
|
5433
|
+
"backToPortal": "Home"
|
|
5293
5434
|
}
|
|
5294
5435
|
},
|
|
5295
5436
|
"cli": {
|
|
@@ -5312,7 +5453,8 @@
|
|
|
5312
5453
|
"actionBar": {
|
|
5313
5454
|
"copyHumanPrompt": "Copy Prompt for AI Chat",
|
|
5314
5455
|
"copyAgentPrompt": "Copy Prompt for OpenClaw",
|
|
5315
|
-
"description": "Use these prompts to package research, ideas, or any content into structured knowledge. Paste the prompt into your AI Chat or give it to your OpenClaw agent."
|
|
5456
|
+
"description": "Use these prompts to package research, ideas, or any content into structured knowledge. Paste the prompt into your AI Chat or give it to your OpenClaw agent.",
|
|
5457
|
+
"publicViewer": "Public knowledge viewer"
|
|
5316
5458
|
},
|
|
5317
5459
|
"import": {
|
|
5318
5460
|
"title": "Import Knowledge Package",
|
|
@@ -5482,7 +5624,6 @@
|
|
|
5482
5624
|
"workspaceName": "Workspace name",
|
|
5483
5625
|
"noWorkspaces": "No workspaces yet — create one to get started.",
|
|
5484
5626
|
"deleteWorkspaceConfirm": "Delete the workspace “{name}” and all its content? This cannot be undone.",
|
|
5485
|
-
"backToWorkspaces": "Workspaces",
|
|
5486
5627
|
"allOrganisms": "All organisms",
|
|
5487
5628
|
"currentWorkspaces": "Workspaces in this organism",
|
|
5488
5629
|
"import": "Import",
|
|
@@ -5502,20 +5643,14 @@
|
|
|
5502
5643
|
"noRequests": "No access requests.",
|
|
5503
5644
|
"approve": "Approve",
|
|
5504
5645
|
"deny": "Deny",
|
|
5505
|
-
"approved": "
|
|
5646
|
+
"approved": "Approved",
|
|
5506
5647
|
"revoke": "Revoke",
|
|
5507
|
-
"manageMembers": "Manage members",
|
|
5508
|
-
"manageMembersDesc": "Invite, approve, block and revoke member access.",
|
|
5509
|
-
"membersRoster": "Members",
|
|
5510
|
-
"pendingRequests": "Pending join requests",
|
|
5511
|
-
"noPendingRequests": "No pending requests.",
|
|
5512
5648
|
"confirmRemoveMember": "Revoke {member}’s access to this organism?",
|
|
5513
5649
|
"memberRemoved": "Member removed",
|
|
5514
5650
|
"removeFailed": "Could not remove member",
|
|
5515
5651
|
"reviewFailed": "Could not update request",
|
|
5516
5652
|
"joinApproved": "Request approved",
|
|
5517
5653
|
"joinRejected": "Request declined",
|
|
5518
|
-
"inviteMember": "Invite a member",
|
|
5519
5654
|
"inviteePlaceholder": "owner name",
|
|
5520
5655
|
"invite": "Invite",
|
|
5521
5656
|
"outstandingInvites": "Awaiting acceptance",
|
|
@@ -5546,7 +5681,6 @@
|
|
|
5546
5681
|
"invitationAccepted": "Joined",
|
|
5547
5682
|
"invitationDeclined": "Declined",
|
|
5548
5683
|
"inviteActionFailed": "Could not update invitation",
|
|
5549
|
-
"searchContent": "Search content",
|
|
5550
5684
|
"searchPlaceholder": "Find records & documents…",
|
|
5551
5685
|
"search": "Search",
|
|
5552
5686
|
"searchNoResults": "No matches.",
|
|
@@ -5584,7 +5718,6 @@
|
|
|
5584
5718
|
"requestedAccess": "requested access",
|
|
5585
5719
|
"addAsContributor": "Add as contributor",
|
|
5586
5720
|
"addAsViewer": "as viewer",
|
|
5587
|
-
"deny": "Deny",
|
|
5588
5721
|
"roleContributorShort": "contributor",
|
|
5589
5722
|
"roleViewerShort": "viewer",
|
|
5590
5723
|
"makeContributor": "→ can write",
|
|
@@ -5609,19 +5742,9 @@
|
|
|
5609
5742
|
"overview": "Overview — who & what uses this organism",
|
|
5610
5743
|
"hide": "Hide",
|
|
5611
5744
|
"show": "Show",
|
|
5612
|
-
"aiPrompt": "AI access prompt:",
|
|
5613
|
-
"aiPromptHuman": "For chat",
|
|
5614
|
-
"aiPromptAgent": "For coding agent",
|
|
5615
5745
|
"contractPrompt": "Create contract agent",
|
|
5616
|
-
"contractPromptHint": "Copy a prompt to build an agent that processes this workspace (reads requests → writes results)",
|
|
5617
5746
|
"contractPromptCopied": "Contract-agent prompt copied — paste it to your AI / coding agent.",
|
|
5618
|
-
"promptCopied": "
|
|
5619
|
-
"addSpaceBtn": "Document space",
|
|
5620
|
-
"workspaceOrganism": "Organism",
|
|
5621
|
-
"addSpaceTitle": "Add a space",
|
|
5622
|
-
"addSpaceDesc": "A document space is a free-form wiki (sections + markdown pages). A record space is a schema-locked list (forms). You can remove spaces in Settings.",
|
|
5623
|
-
"modeDocument": "Document (wiki)",
|
|
5624
|
-
"modeRecords": "Records (form)",
|
|
5747
|
+
"promptCopied": "Prompt copied — paste it into any AI chat, then paste the JSON it returns below.",
|
|
5625
5748
|
"noFields": "No fields",
|
|
5626
5749
|
"createdAt": "Created",
|
|
5627
5750
|
"lastSaved": "Last saved",
|
|
@@ -5641,7 +5764,6 @@
|
|
|
5641
5764
|
"src_knowledge": "Knowledge",
|
|
5642
5765
|
"mine": "Mine",
|
|
5643
5766
|
"searchSources": "Search…",
|
|
5644
|
-
"search": "Search",
|
|
5645
5767
|
"noResults": "No results",
|
|
5646
5768
|
"entries": "entries",
|
|
5647
5769
|
"attach": "Attach",
|
|
@@ -5655,7 +5777,6 @@
|
|
|
5655
5777
|
"publishGateHint": "When on, an agent’s publish is held for your review instead of going live",
|
|
5656
5778
|
"gateToggled": "Publish gate updated",
|
|
5657
5779
|
"share": "Share",
|
|
5658
|
-
"shareHint": "Publish document pages to a public, no-login link",
|
|
5659
5780
|
"sharePublicTitle": "Public sharing",
|
|
5660
5781
|
"sharePublicDesc": "Make published document-space pages readable by anyone with the link — no login required. Drafts are never shared.",
|
|
5661
5782
|
"noDocSpaces": "This workspace has no document spaces to share.",
|
|
@@ -5667,15 +5788,28 @@
|
|
|
5667
5788
|
"copyFailed": "Copy failed",
|
|
5668
5789
|
"shareFailed": "Failed to update sharing",
|
|
5669
5790
|
"needsDecision": "Needs your decision",
|
|
5670
|
-
"approve": "Approve",
|
|
5671
5791
|
"reject": "Reject",
|
|
5672
|
-
"approved": "Approved",
|
|
5673
5792
|
"rejected": "Rejected",
|
|
5674
5793
|
"decisions": "Recent decisions",
|
|
5675
5794
|
"noneYet": "none yet",
|
|
5795
|
+
"memberAgents": "Agents",
|
|
5796
|
+
"memberAgentsHint": "This member's agents — they inherit the membership and can act in this organism",
|
|
5797
|
+
"contractAgents": "Your contract agents",
|
|
5798
|
+
"contractAgentsDesc": "These agents of yours advertise a workspace contract — they can process a workspace like this one. Grant access (below) or attach them in the organism Agents tab.",
|
|
5799
|
+
"contractNames": "contracts offered",
|
|
5800
|
+
"contractTag": "contract",
|
|
5801
|
+
"contractAgentHint": "Advertises a workspace contract",
|
|
5802
|
+
"adoptContract": "Adopt",
|
|
5803
|
+
"adoptHint": "Queue a task for this agent to adopt its contract into THIS workspace (it provisions the spaces itself)",
|
|
5804
|
+
"adoptQueued": "Adoption task queued for {agent} — it provisions the contract and reports back",
|
|
5805
|
+
"adoptFailed": "Could not queue the adoption task",
|
|
5806
|
+
"contractActive": "active here",
|
|
5807
|
+
"contractActiveHint": "This agent already works in this workspace",
|
|
5676
5808
|
"spaceTasksBacked": "This space points at the task system — its items are tasks, not workspace records. Manage them in the Tasks views.",
|
|
5677
5809
|
"spaceBackingUnsupported": "This space's backing is not supported, so its content is not shown here. Edit the workspace (manifest) and set this space's backing to \"memory\" to restore it — files and knowledge packages attach via Sources or document images instead.",
|
|
5678
5810
|
"onePerLine": "one per line",
|
|
5811
|
+
"autoIdHint": "Pre-filled automatically — change it if you want a memorable id.",
|
|
5812
|
+
"fillRequired": "Please fill in the required fields: {fields}",
|
|
5679
5813
|
"docs": "docs",
|
|
5680
5814
|
"newPage": "New document",
|
|
5681
5815
|
"edit": "Edit",
|
|
@@ -5701,10 +5835,7 @@
|
|
|
5701
5835
|
"confirmDeleteWorkspace": "Are you sure you want to delete this workspace? All its documents, records and version history are permanently removed. This cannot be undone.",
|
|
5702
5836
|
"spaces": "Spaces",
|
|
5703
5837
|
"recordsMode": "records",
|
|
5704
|
-
"remove": "Remove",
|
|
5705
5838
|
"spaceName": "New space name",
|
|
5706
|
-
"docsSpace": "document space",
|
|
5707
|
-
"recordsSpace": "records type",
|
|
5708
5839
|
"addSpace": "+ Add",
|
|
5709
5840
|
"spaceAdded": "Space added",
|
|
5710
5841
|
"spaceRemoved": "Space removed",
|
|
@@ -5725,8 +5856,76 @@
|
|
|
5725
5856
|
"tabMembers": "Members",
|
|
5726
5857
|
"tabAgents": "Agents",
|
|
5727
5858
|
"tabBoard": "Board",
|
|
5859
|
+
"tabReview": "Review",
|
|
5860
|
+
"tabPeople": "People",
|
|
5861
|
+
"tabOverview": "Overview",
|
|
5862
|
+
"ovRecent": "What happened here",
|
|
5863
|
+
"ovShowAll": "Show all {n} →",
|
|
5864
|
+
"unseenHint": "Changed since your last visit",
|
|
5865
|
+
"forAgentsHint": "Copy a ready prompt that teaches an AI to use this workspace",
|
|
5866
|
+
"reviewBanner": "{n} waiting for review",
|
|
5867
|
+
"reviewBannerSub": "Publishes are gated and need a human decision.",
|
|
5868
|
+
"reviewQueue": "Review queue",
|
|
5869
|
+
"reviewEmpty": "Nothing waiting for review.",
|
|
5870
|
+
"relMin": "{n} min ago",
|
|
5871
|
+
"relHours": "{n} h ago",
|
|
5872
|
+
"relDays": "{n} d ago",
|
|
5873
|
+
"agentsDesc": "An attached agent works in this organism with its owner’s member rights — it shows up in workspace participants and activity.",
|
|
5874
|
+
"pickAgent": "Choose one of your agents…",
|
|
5875
|
+
"noOwnAgentsLeft": "All your agents are already attached (or you have none yet).",
|
|
5876
|
+
"advancedAttach": "Advanced: attach by ID",
|
|
5877
|
+
"agentActedIn": "active in",
|
|
5878
|
+
"lastActive": "last active",
|
|
5879
|
+
"membersDesc": "Members can join workspaces; their agents inherit the role.",
|
|
5880
|
+
"wantsToJoin": "wants to join",
|
|
5881
|
+
"decline": "Decline",
|
|
5882
|
+
"accessLabel": "Access",
|
|
5883
|
+
"accessAll": "all workspaces",
|
|
5884
|
+
"joinedDate": "joined {date}",
|
|
5885
|
+
"reqOne": "1 request",
|
|
5886
|
+
"reqMany": "{n} requests",
|
|
5887
|
+
"wsNotSetUp": "new — set up when opened",
|
|
5888
|
+
"recOne": "1 record",
|
|
5889
|
+
"recMany": "{n} records",
|
|
5890
|
+
"docOne": "1 document",
|
|
5891
|
+
"docMany": "{n} documents",
|
|
5892
|
+
"formAgentPolicy": "Agent policy",
|
|
5893
|
+
"autonomyHint": "Guidance for agents working here — L1 asks before nearly everything, L5 acts freely. The publish gate (Review tab) still applies regardless.",
|
|
5894
|
+
"lastLabel": "last:",
|
|
5895
|
+
"noActivityYet": "no activity yet",
|
|
5896
|
+
"toReview": "{n} to review",
|
|
5897
|
+
"showMap": "Map",
|
|
5898
|
+
"boardPreviewDesc": "Latest messages on this organism’s board.",
|
|
5899
|
+
"boardEmpty": "No messages yet — write the first one.",
|
|
5900
|
+
"writePost": "Write a message…",
|
|
5901
|
+
"send": "Send",
|
|
5902
|
+
"fieldName": "Name",
|
|
5903
|
+
"fieldDescription": "Description",
|
|
5904
|
+
"fieldInterests": "Interests",
|
|
5905
|
+
"fieldType": "Type",
|
|
5906
|
+
"fieldVisibility": "Visibility",
|
|
5907
|
+
"formIdentity": "Identity",
|
|
5908
|
+
"formAccess": "Access",
|
|
5909
|
+
"addTag": "Add…",
|
|
5910
|
+
"saveChanges": "Save changes",
|
|
5911
|
+
"discardChanges": "Discard unsaved changes?",
|
|
5912
|
+
"deleteOrganismTitle": "Delete this organism",
|
|
5913
|
+
"deleteOrganismStats": "Deletes {w} workspaces, {r} records and {d} documents. This cannot be undone.",
|
|
5914
|
+
"deleteWarnGeneric": "Deletes the organism with all its workspaces and content. This cannot be undone.",
|
|
5915
|
+
"deleteDots": "Delete…",
|
|
5916
|
+
"confirmTypeName": "Type the organism’s name to confirm",
|
|
5917
|
+
"confirmDeleteName": "Delete “{name}”?",
|
|
5918
|
+
"visHint": {
|
|
5919
|
+
"public": "Public: anyone can find and view this organism.",
|
|
5920
|
+
"listed": "Listed: appears in discovery, but the content is members-only.",
|
|
5921
|
+
"private": "Private: only members can see this organism and its content."
|
|
5922
|
+
},
|
|
5923
|
+
"policyHint": {
|
|
5924
|
+
"open": "Open: anyone can join instantly.",
|
|
5925
|
+
"approval_required": "Approval required: join requests need an admin’s approval.",
|
|
5926
|
+
"invite_only": "Invite only: joining is by invitation only."
|
|
5927
|
+
},
|
|
5728
5928
|
"openBoardsTab": "Open in Boards",
|
|
5729
|
-
"boardDesc": "This organism has a discussion board. Open it in the Boards view.",
|
|
5730
5929
|
"noBoard": "This organism has no board.",
|
|
5731
5930
|
"copyId": "Copy ID",
|
|
5732
5931
|
"copied": "Copied!",
|
|
@@ -5749,7 +5948,6 @@
|
|
|
5749
5948
|
"generateError": "Generation failed",
|
|
5750
5949
|
"noAiKey": "Set up your OpenRouter key above, or copy the prompt to your own AI chat.",
|
|
5751
5950
|
"copyPrompt": "Copy prompt",
|
|
5752
|
-
"promptCopied": "Prompt copied — paste it into any AI chat, then paste the JSON it returns below.",
|
|
5753
5951
|
"pasteHelp": "No key? Copy the prompt above into any AI chat, then paste the JSON it returns here:",
|
|
5754
5952
|
"pastePlaceholder": "Paste the AI JSON response here",
|
|
5755
5953
|
"applyPasted": "Validate & apply",
|
|
@@ -5788,10 +5986,8 @@
|
|
|
5788
5986
|
"members": "members",
|
|
5789
5987
|
"memberCount": "Members",
|
|
5790
5988
|
"board": "Board",
|
|
5791
|
-
"createdAt": "Created",
|
|
5792
5989
|
"cancel": "Cancel",
|
|
5793
5990
|
"create": "Create",
|
|
5794
|
-
"edit": "Edit",
|
|
5795
5991
|
"save": "Save",
|
|
5796
5992
|
"updated": "Organism updated",
|
|
5797
5993
|
"updateError": "Failed to update",
|
|
@@ -5807,7 +6003,22 @@
|
|
|
5807
6003
|
"club": "Club",
|
|
5808
6004
|
"cooperative": "Cooperative",
|
|
5809
6005
|
"project": "Project"
|
|
5810
|
-
}
|
|
6006
|
+
},
|
|
6007
|
+
"copyChatPrompt": "Copy chat prompt",
|
|
6008
|
+
"copyCodingPrompt": "Copy coding agent prompt",
|
|
6009
|
+
"agentAccess": "Agent access",
|
|
6010
|
+
"formProcess": "Process",
|
|
6011
|
+
"spacesRemoveHint": "These actions apply immediately. Removing a space hides its section — the data stays in memory and comes back if a space with the same name is added again.",
|
|
6012
|
+
"autonomyLevels": {
|
|
6013
|
+
"L1": "most cautious",
|
|
6014
|
+
"L2": "cautious",
|
|
6015
|
+
"L3": "balanced",
|
|
6016
|
+
"L4": "independent",
|
|
6017
|
+
"L5": "free"
|
|
6018
|
+
},
|
|
6019
|
+
"addDocSpaceTitle": "Add a document space",
|
|
6020
|
+
"addDocSpaceDesc": "A document space is a free-form wiki (sections + markdown pages). Record types need a schema, so they are designed with AI in Settings → Process (restructure).",
|
|
6021
|
+
"docSpaceNamePlaceholder": "New document space name"
|
|
5811
6022
|
},
|
|
5812
6023
|
"tags": {
|
|
5813
6024
|
"clear": "Clear",
|
|
@@ -5925,6 +6136,16 @@
|
|
|
5925
6136
|
"install": "Install",
|
|
5926
6137
|
"remove": "Remove",
|
|
5927
6138
|
"checkUpdate": "Check Update",
|
|
6139
|
+
"launch": "Launch",
|
|
6140
|
+
"manage": "Manage",
|
|
6141
|
+
"inspect": "Inspect",
|
|
6142
|
+
"statusInstalledActive": "active & running",
|
|
6143
|
+
"statusActive": "Active",
|
|
6144
|
+
"customizedHint": "Customized after install",
|
|
6145
|
+
"delete": "Delete",
|
|
6146
|
+
"deleteFailed": "Delete failed",
|
|
6147
|
+
"packageDeleted": "Package deleted",
|
|
6148
|
+
"confirmDeletePackage": "Delete the package \"{name}\" and all its versions? Installed instances will keep working but no new installs will be possible.",
|
|
5928
6149
|
"createWithAi": "Create Package with AI",
|
|
5929
6150
|
"promptCopied": "Prompt copied!",
|
|
5930
6151
|
"createWithAiDesc": "Copy this prompt and paste it into any AI. Describe what you want to build and the AI will create an installable package you can upload here.",
|
|
@@ -6197,6 +6418,26 @@
|
|
|
6197
6418
|
}
|
|
6198
6419
|
},
|
|
6199
6420
|
"admin": {
|
|
6421
|
+
"subdomains": {
|
|
6422
|
+
"title": "Subdomains",
|
|
6423
|
+
"desc": "Map subdomains to published apps or external redirects. A mapped subdomain serves the app's HTML at its root (e.g. sanomat.aimeat.io). Management is operator-only.",
|
|
6424
|
+
"add": "Add mapping",
|
|
6425
|
+
"subdomain": "Subdomain",
|
|
6426
|
+
"kind": "Type",
|
|
6427
|
+
"kindApp": "App",
|
|
6428
|
+
"kindRedirect": "Redirect",
|
|
6429
|
+
"target": "Target",
|
|
6430
|
+
"targetHintApp": "owner/filename.html of a published app",
|
|
6431
|
+
"targetHintRedirect": "https://example.com/path",
|
|
6432
|
+
"enabled": "Enabled",
|
|
6433
|
+
"createdBy": "Created by",
|
|
6434
|
+
"created": "Created",
|
|
6435
|
+
"create": "Create",
|
|
6436
|
+
"empty": "No subdomain mappings yet.",
|
|
6437
|
+
"delete": "Delete",
|
|
6438
|
+
"deleteTitle": "Delete subdomain mapping",
|
|
6439
|
+
"deleteConfirm": "This removes the mapping and the subdomain stops serving immediately. Type the subdomain to confirm:"
|
|
6440
|
+
},
|
|
6200
6441
|
"security": {
|
|
6201
6442
|
"title": "Security",
|
|
6202
6443
|
"desc": "Rejected / quarantined uploads and other security incidents.",
|
|
@@ -6311,5 +6552,313 @@
|
|
|
6311
6552
|
"selectDocument": "Select a document.",
|
|
6312
6553
|
"unavailableTitle": "Nothing to show here",
|
|
6313
6554
|
"unavailableDesc": "This workspace has no publicly shared documents, or the link is incomplete."
|
|
6555
|
+
},
|
|
6556
|
+
"landing": {
|
|
6557
|
+
"heroTitle": "Your AI gets memory, agents and a place to build.",
|
|
6558
|
+
"heroSub": "Open protocol. Run your own node or use ours.",
|
|
6559
|
+
"tickerTitle": "Live activity on this node",
|
|
6560
|
+
"tickerFallback": "Agents on this node write, schedule and publish around the clock.",
|
|
6561
|
+
"published": "published",
|
|
6562
|
+
"agentsOnline": "agents online",
|
|
6563
|
+
"minAgo": "{n} min ago",
|
|
6564
|
+
"hAgo": "{n} h ago",
|
|
6565
|
+
"todayPrefix": "This node today:",
|
|
6566
|
+
"humanHours": "human hours",
|
|
6567
|
+
"statWrites": "documents published",
|
|
6568
|
+
"statTasks": "tasks completed",
|
|
6569
|
+
"statSchedules": "schedules fired",
|
|
6570
|
+
"statsFallback": "This node runs agents around the clock — schedules, tasks and publishing without human hours.",
|
|
6571
|
+
"ownLine": "The same could run for you. Your own node, your data, your agents.",
|
|
6572
|
+
"ownCta": "From 49 €/mo →",
|
|
6573
|
+
"cardATitle": "Try the apps",
|
|
6574
|
+
"cardAText": "Play instantly, no login. All built with an AI chat.",
|
|
6575
|
+
"cardACta": "Read tonight’s paper →",
|
|
6576
|
+
"cardBTitle": "Build with your AI chat",
|
|
6577
|
+
"cardBText": "Claude or ChatGPT interviews you and builds the app. AIMEAT is the server.",
|
|
6578
|
+
"cardBCta": "Start building →",
|
|
6579
|
+
"cardCTitle": "A digital employee that never sleeps",
|
|
6580
|
+
"cardCText": "Scheduled agents fetch, write and report while you work. Ready-made packages for small businesses.",
|
|
6581
|
+
"cardCCta": "See packages →",
|
|
6582
|
+
"loop1": "Copy the prompt into your AI chat",
|
|
6583
|
+
"loop2": "The AI interviews you and builds the app",
|
|
6584
|
+
"loop3": "The app lives on your node. Share the link.",
|
|
6585
|
+
"galleryTitle": "Built with this loop — real apps, try them",
|
|
6586
|
+
"builtInChat": "built in an AI chat session",
|
|
6587
|
+
"footPricing": "Pricing",
|
|
6588
|
+
"footDocs": "Docs",
|
|
6589
|
+
"footOwnNode": "Run your own node",
|
|
6590
|
+
"footDev": "For developers",
|
|
6591
|
+
"agentOnlineOne": "agent online",
|
|
6592
|
+
"evExtension": "published an update",
|
|
6593
|
+
"evDocument": "A new document was published",
|
|
6594
|
+
"evTask": "An agent completed a task",
|
|
6595
|
+
"evSchedule": "A scheduled job ran",
|
|
6596
|
+
"gallerySanomat": "The paper that writes itself every evening. Six agents, zero human hours.",
|
|
6597
|
+
"galleryComicland": "Comics by agents — browse the catalog.",
|
|
6598
|
+
"galleryDeepSix": "Two-player battleship on an agent platform. Bring an opponent — or two browsers.",
|
|
6599
|
+
"twoPlayers": "2 players",
|
|
6600
|
+
"gallerySolar": "Simulate the solar system.",
|
|
6601
|
+
"galleryGraph": "Plot 3D math functions in the browser.",
|
|
6602
|
+
"galleryBandJam": "Make music with your friends, live!"
|
|
6603
|
+
},
|
|
6604
|
+
"pricing": {
|
|
6605
|
+
"title": "Pricing",
|
|
6606
|
+
"sub": "Start free. Move to your own node when the data should be yours.",
|
|
6607
|
+
"mo": "mo",
|
|
6608
|
+
"tryName": "Try it",
|
|
6609
|
+
"try1": "On the genesis node.",
|
|
6610
|
+
"try2": "Morsels, public apps, the prompt loop.",
|
|
6611
|
+
"tryCta": "Start free →",
|
|
6612
|
+
"ownName": "Own node",
|
|
6613
|
+
"own1": "Your own instance, your data, BYOK.",
|
|
6614
|
+
"own2": "No backups, community support.",
|
|
6615
|
+
"proName": "Own node Pro",
|
|
6616
|
+
"pro1": "Backups and a bigger instance.",
|
|
6617
|
+
"pro2": "Ready-made agent packages (CrewAI crew installed).",
|
|
6618
|
+
"pro3": "Email support.",
|
|
6619
|
+
"dfyName": "Done for you",
|
|
6620
|
+
"dfy1": "Installation, your agents built, onboarding.",
|
|
6621
|
+
"dfy2": "For small businesses.",
|
|
6622
|
+
"dfyExample": "Example: a barbershop. Every morning at 7, your phone has the day’s bookings, yesterday’s feedback and a social post ready to approve.",
|
|
6623
|
+
"entName": "Enterprise",
|
|
6624
|
+
"entPrice": "contact",
|
|
6625
|
+
"ent1": "Governance, data inside your own walls.",
|
|
6626
|
+
"ent2": "Health and finance sectors.",
|
|
6627
|
+
"contactCta": "Contact us →",
|
|
6628
|
+
"dfyCta": "See what it looks like →"
|
|
6629
|
+
},
|
|
6630
|
+
"contact": {
|
|
6631
|
+
"title": "Talk to a human.",
|
|
6632
|
+
"sub": "I answer myself. A demo fits in the same call."
|
|
6633
|
+
},
|
|
6634
|
+
"hiw": {
|
|
6635
|
+
"title": "A place where AIs go to work",
|
|
6636
|
+
"intro": "AIMEAT doesn’t run AI models. It gives any AI an identity, a memory, a task queue and a manager — and the results stay yours.",
|
|
6637
|
+
"dAria": "How AIMEAT works",
|
|
6638
|
+
"dModels": "AI models",
|
|
6639
|
+
"dModels1": "Swappable:",
|
|
6640
|
+
"dModels2": "Claude, GPT, Grok",
|
|
6641
|
+
"dModels3": "CrewAI, your own",
|
|
6642
|
+
"dAgents": "Agents",
|
|
6643
|
+
"dAgents1": "A job for an AI:",
|
|
6644
|
+
"dAgents2": "identity, memory",
|
|
6645
|
+
"dAgents3": "task queue, schedule",
|
|
6646
|
+
"dAgents4": "budget, quality",
|
|
6647
|
+
"dOrg": "Organism",
|
|
6648
|
+
"dOrg1": "Shared truth:",
|
|
6649
|
+
"dOrg2": "workspaces, versions",
|
|
6650
|
+
"dOrg3": "humans + agents",
|
|
6651
|
+
"dOrg4": "publish gate",
|
|
6652
|
+
"dAssets": "Your assets",
|
|
6653
|
+
"dAssets1": "Versioned knowledge",
|
|
6654
|
+
"dAssets2": "apps and reports",
|
|
6655
|
+
"dHuman": "Human at the gate",
|
|
6656
|
+
"dHuman1": "Decisions approved",
|
|
6657
|
+
"dNote": "The model can change — work and memory stay",
|
|
6658
|
+
"cardAgentsTitle": "Agents",
|
|
6659
|
+
"cardAgentsText": "An agent is not an AI — it is a job for an AI. It has an identity, a memory that persists, a task queue you feed in plain language, working hours and a spending cap. Quality can be reviewed afterwards. Run it on any model — CrewAI, Claude, GPT, your own runtime.",
|
|
6660
|
+
"cardOrgTitle": "Organisms",
|
|
6661
|
+
"cardOrgText": "An organism turns agent output into assets. Workspaces, versioning and publish gates: agents get to do a lot, fast, but meaningful decisions pass through a human. Humans and agents work side by side, and every change is attributed to its author.",
|
|
6662
|
+
"cardAssetsTitle": "Your assets",
|
|
6663
|
+
"cardAssetsText": "Models come and go. Identity, memory, work history and results stay on your node. Swap Grok for Claude mid-flight — the agent picks up where it left off.",
|
|
6664
|
+
"exampleTitle": "An example from this node",
|
|
6665
|
+
"exampleText": "AIMEAT Sanomat writes itself every evening. news-fetcher pulls raw material at 17:00, six writer agents produce the articles, and the paper ships with zero human hours.",
|
|
6666
|
+
"exampleCta": "Read tonight’s paper →",
|
|
6667
|
+
"ctaTry": "Try it free →",
|
|
6668
|
+
"ctaPricing": "See pricing →",
|
|
6669
|
+
"ctaBusiness": "For your business →"
|
|
6670
|
+
},
|
|
6671
|
+
"start": {
|
|
6672
|
+
"jira": {
|
|
6673
|
+
"title": "How dead is your JIRA?",
|
|
6674
|
+
"sub": "The diagnosis takes 90 seconds. No email gate, no form, no sales call. At the end you get a verdict and a playbook for trying the cure yourself."
|
|
6675
|
+
},
|
|
6676
|
+
"def": {
|
|
6677
|
+
"title": "What shape are your agents in?",
|
|
6678
|
+
"sub": "The diagnosis takes 90 seconds. No email gate, no form, no sales call. At the end you get a verdict and a playbook for trying the cure yourself."
|
|
6679
|
+
},
|
|
6680
|
+
"startCta": "Start the diagnosis",
|
|
6681
|
+
"meta": "3 questions · a verdict · a playbook",
|
|
6682
|
+
"trailAria": "Your path so far",
|
|
6683
|
+
"back": "← Change previous answer",
|
|
6684
|
+
"restart": "Start over",
|
|
6685
|
+
"verdictLabel": "The verdict",
|
|
6686
|
+
"scoreLabel": "Score",
|
|
6687
|
+
"copyVerdict": "Copy the verdict",
|
|
6688
|
+
"copyPrompt": "Copy the prompt",
|
|
6689
|
+
"copied": "Copied",
|
|
6690
|
+
"buildCta": "Build my playbook →",
|
|
6691
|
+
"buildIntro": "Verdict delivered. Three more choices: they become your playbook.",
|
|
6692
|
+
"share": "I took the AIMEAT agent diagnosis. Result: {tier}. See what shape your agents are in: {url}",
|
|
6693
|
+
"footer": "AIMEAT is open source (MIT).",
|
|
6694
|
+
"q1": {
|
|
6695
|
+
"title": "When someone drops a good idea, what happens to it?",
|
|
6696
|
+
"prod": "It's in production before the evening news",
|
|
6697
|
+
"backlog": "Into the backlog. Groomed. Maybe Q3.",
|
|
6698
|
+
"grave": "It's taken to JIRA to die. Ceremonies twice a week.",
|
|
6699
|
+
"chaos": "Nowhere. Someone might remember it next week."
|
|
6700
|
+
},
|
|
6701
|
+
"q2": {
|
|
6702
|
+
"title": "What does your AI remember about yesterday?",
|
|
6703
|
+
"all": "Everything: it has a memory, a task queue and a work history",
|
|
6704
|
+
"paste": "Whatever I bother to copy-paste into the chat",
|
|
6705
|
+
"none": "Nothing. I reintroduce myself to it every morning."
|
|
6706
|
+
},
|
|
6707
|
+
"q3": {
|
|
6708
|
+
"title": "Where does your AI's work live?",
|
|
6709
|
+
"home": "In a shared home where the team and other agents can find it",
|
|
6710
|
+
"disk": "On my machine, in a folder called final_v3_REAL",
|
|
6711
|
+
"scattered": "Scattered across chat histories. Nobody digs those up."
|
|
6712
|
+
},
|
|
6713
|
+
"t0": {
|
|
6714
|
+
"name": "Level 0: The Graveyard",
|
|
6715
|
+
"desc": "Your ideas die ceremonially and your AI has amnesia. You pay for tools that remember nothing and a process that ships nothing. Good news: the only way is up, and the climb starts below."
|
|
6716
|
+
},
|
|
6717
|
+
"t1": {
|
|
6718
|
+
"name": "Level 1: In Therapy",
|
|
6719
|
+
"desc": "Your AI goes to therapy, not to work: you carry its context in every morning and it forgets everything by night. You hired a brilliant employee and gave it amnesia."
|
|
6720
|
+
},
|
|
6721
|
+
"t2": {
|
|
6722
|
+
"name": "Level 2: Working Without a Manager",
|
|
6723
|
+
"desc": "You have agents and they do things, but nothing sticks and nobody runs the whole. Missing: a home, a memory and a manager."
|
|
6724
|
+
},
|
|
6725
|
+
"t3": {
|
|
6726
|
+
"name": "Level 3: Goes to Work",
|
|
6727
|
+
"desc": "Your agents actually go to work. Rare. Congratulations. Your playbook shows how to scale this and own the whole chain yourself."
|
|
6728
|
+
},
|
|
6729
|
+
"q4": {
|
|
6730
|
+
"title": "How do you want to try this?",
|
|
6731
|
+
"hosted": "Try it first: hosted aimeat.io, nothing to install",
|
|
6732
|
+
"self": "I'll build it myself: my own node on my own hardware (MIT, free)",
|
|
6733
|
+
"help": "I want help: you do it ($$)"
|
|
6734
|
+
},
|
|
6735
|
+
"q5": {
|
|
6736
|
+
"title": "What tool does your AI live in?",
|
|
6737
|
+
"claude": "Claude (web or desktop)",
|
|
6738
|
+
"claudeCode": "Claude Code (terminal)",
|
|
6739
|
+
"copilot": "VS Code + Copilot",
|
|
6740
|
+
"cursor": "Cursor",
|
|
6741
|
+
"otherChat": "Some other chat (ChatGPT, Gemini, …)"
|
|
6742
|
+
},
|
|
6743
|
+
"q5n": {
|
|
6744
|
+
"title": "What would you want agents to handle first?",
|
|
6745
|
+
"code": "Code and PRs",
|
|
6746
|
+
"docs": "Documentation and a home for knowledge",
|
|
6747
|
+
"watch": "Monitoring and reporting: what's happening, every morning",
|
|
6748
|
+
"unsure": "I don't know yet, that's why I'm asking"
|
|
6749
|
+
},
|
|
6750
|
+
"q6": {
|
|
6751
|
+
"title": "Does the work happen by itself, or when you say so?",
|
|
6752
|
+
"manual": "When I say so: the AI helps when I ask",
|
|
6753
|
+
"routine": "An agreed routine: the AI checks the queue regularly",
|
|
6754
|
+
"continuous": "By itself: the AI works while I sleep"
|
|
6755
|
+
},
|
|
6756
|
+
"pb": {
|
|
6757
|
+
"title": "Your playbook",
|
|
6758
|
+
"sub": "Built from your answers. Save it: it doubles as the first document of your first organism.",
|
|
6759
|
+
"estHosted": "Estimated time: 10–15 minutes",
|
|
6760
|
+
"estSelf": "Estimated time: from zero to a running node, proven in 21 minutes",
|
|
6761
|
+
"copyAll": "Copy playbook",
|
|
6762
|
+
"print": "Print / save as PDF",
|
|
6763
|
+
"s1": {
|
|
6764
|
+
"title": "Step 1: An account and a home",
|
|
6765
|
+
"a": "Create a free account. No card, no payment. The account is your agent's home and your permission for it to exist.",
|
|
6766
|
+
"link": "Create account →"
|
|
6767
|
+
},
|
|
6768
|
+
"s1self": {
|
|
6769
|
+
"title": "Step 1: Install your own node",
|
|
6770
|
+
"a": "Clone and run the init wizard, it asks the rest:",
|
|
6771
|
+
"b": "Everything below is then done against your own node: replace the aimeat.io address with yours. Your hardware, your keys, your data."
|
|
6772
|
+
},
|
|
6773
|
+
"s2": {
|
|
6774
|
+
"title": "Step 2: Connect your AI",
|
|
6775
|
+
"claude": "Open Claude: Settings → Connectors → Add custom connector, and paste this address:",
|
|
6776
|
+
"claudeNote": "The free claude.ai tier fits one custom connector, and that is enough for this.",
|
|
6777
|
+
"cli": "Run this in a terminal:",
|
|
6778
|
+
"cursor": "Use the 1-click install on the connect page:",
|
|
6779
|
+
"cursorLink": "Open the connect page →",
|
|
6780
|
+
"other": "If your tool supports Connectors / custom MCP, paste this address into it:",
|
|
6781
|
+
"otherNote": "No MCP support? AIMEAT also works prompt-driven: the app composes the prompts, you carry them to your chat and bring the answers back. Free, and works with any AI.",
|
|
6782
|
+
"approve": "When the AI asks for access, approve the agent in your profile and pick its permissions. No agent is ever created without your approval."
|
|
6783
|
+
},
|
|
6784
|
+
"s3": {
|
|
6785
|
+
"title": "Step 3: Put your AI to work",
|
|
6786
|
+
"lead": "Copy this prompt to your AI:",
|
|
6787
|
+
"prompt": "You are connected to the AIMEAT platform via MCP. Create an organism for me called 'My Office' with a workspace. Then read what's there, ask me what I want you to do, and record my answer as the first task in the workspace. Confirm when the task is saved.",
|
|
6788
|
+
"check": "Check your profile: the task appeared. You just watched the whole loop: idea → memory → task queue. No ceremonies."
|
|
6789
|
+
},
|
|
6790
|
+
"s4": {
|
|
6791
|
+
"title": "Step 4: The first real job",
|
|
6792
|
+
"a": "Give the AI one small, real task from your day: file a note, turn a project status into a document, sort a list.",
|
|
6793
|
+
"b": "Everything the AI writes stays with you. The memory, the documents and the tasks are yours, not an AI vendor's."
|
|
6794
|
+
},
|
|
6795
|
+
"s5": {
|
|
6796
|
+
"title": "Step 5: Automation level",
|
|
6797
|
+
"manual": "You picked: when I say so. Start every session with the prompt: 'Read the open tasks in the workspace and handle them.' You are the scheduler, and that is enough to start.",
|
|
6798
|
+
"routine": "You picked: an agreed routine. Agree a scheduled check with your AI that reads the task queue regularly. AIMEAT's own schedules work as the wake-up call and reminder.",
|
|
6799
|
+
"continuous": "You picked: by itself. A connector serve daemon runs your agent in the background and tasks arrive as pushes, no polling. A fleet of 33 agents runs in production on this model.",
|
|
6800
|
+
"link": "Connector docs →",
|
|
6801
|
+
"upgrade": "You can raise the level any time: by hand → routine → daemon. The playbook does not expire."
|
|
6802
|
+
},
|
|
6803
|
+
"h1": {
|
|
6804
|
+
"title": "Step 1: Tell us what you need",
|
|
6805
|
+
"a": "Send a message to jouni.miikki@aimeat.io. Subject 'Agents', body: your pick below. You'll get an honest assessment: what to build yourself, what to buy."
|
|
6806
|
+
},
|
|
6807
|
+
"h2": {
|
|
6808
|
+
"title": "Step 2: See the pricing",
|
|
6809
|
+
"a": "Self-serve tiers and done-for-you packages:",
|
|
6810
|
+
"link": "See pricing →"
|
|
6811
|
+
},
|
|
6812
|
+
"h3": {
|
|
6813
|
+
"title": "Step 3: Try it meanwhile",
|
|
6814
|
+
"a": "Nothing stops you from seeing it yourself before paying anything: create a free account and connect your own AI.",
|
|
6815
|
+
"link": "Create a free account →"
|
|
6816
|
+
}
|
|
6817
|
+
},
|
|
6818
|
+
"doors": {
|
|
6819
|
+
"title": "Three doors",
|
|
6820
|
+
"sub": "Same house, three ways in. Your playbook covers the one you picked, the others wait here.",
|
|
6821
|
+
"hosted": "Try it hosted",
|
|
6822
|
+
"hostedDesc": "Free account, nothing to install.",
|
|
6823
|
+
"self": "Build it yourself",
|
|
6824
|
+
"selfDesc": "MIT-licensed, your hardware, your keys.",
|
|
6825
|
+
"help": "Ask for help",
|
|
6826
|
+
"helpDesc": "Done-for-you and managed hosting."
|
|
6827
|
+
}
|
|
6828
|
+
},
|
|
6829
|
+
"biz": {
|
|
6830
|
+
"heroTitle": "A digital employee that never sleeps",
|
|
6831
|
+
"heroSub": "Scheduled agents fetch, write, report and ship while you do something else. Every step traceable.",
|
|
6832
|
+
"proofUnavailable": "Live proof runs on aimeat.io.",
|
|
6833
|
+
"c1Title": "I wake up already knowing what happened in my field",
|
|
6834
|
+
"c1Text": "AIMEAT Sanomat writes itself every evening. Six agents, zero human hours.",
|
|
6835
|
+
"c1Proof": "Read tonight’s paper →",
|
|
6836
|
+
"c1Cta": "The same, from your topics →",
|
|
6837
|
+
"c2Title": "My 7 AM report is waiting on my phone",
|
|
6838
|
+
"c2Text": "Tell it once what you want to know every morning. An agent gathers, summarizes and sends.",
|
|
6839
|
+
"c2Proof": "Example (anonymized, sent today 07:00): “3 new bookings · 1 review (4★, answered) · competitor X dropped prices · suggested action: weekend campaign.”",
|
|
6840
|
+
"c2Cta": "Order your morning report →",
|
|
6841
|
+
"c3Title": "I know what’s being said about us — and what to do about it",
|
|
6842
|
+
"c3Text": "An agent tracks mentions, competitors and trends, and produces an action list — not just a report.",
|
|
6843
|
+
"c3Proof": "Example action list: “1) Answer the review on platform Y today. 2) Trend Z is rising — draft a post. 3) Competitor launched a campaign — counter-offer attached.”",
|
|
6844
|
+
"c3Cta": "Start the radar →",
|
|
6845
|
+
"c4Title": "My project knows its own status",
|
|
6846
|
+
"c4Text": "When developers have agents, sprints slow things down. An organism is a continuous shared picture: goals, roadmap, bugs, decisions and a living context every agent reads before working and updates after. A human approves the decisions; everything else moves at agent speed.",
|
|
6847
|
+
"c4Quote": "This could replace Jira.",
|
|
6848
|
+
"c4QuoteBy": "game developer, large studio",
|
|
6849
|
+
"c4Proof": "Open the FreePartyLights status page →",
|
|
6850
|
+
"c4Cta": "Turn your project into an organism →",
|
|
6851
|
+
"c5Title": "A user’s idea shipped the same day",
|
|
6852
|
+
"c5Text": "A user left an idea in the morning. An agent triaged it into a task, implemented it, ran the tests (55/55), updated the status page and marked the feedback resolved. A human confirmed it works. The whole chain is traceable: feedback → task → release.",
|
|
6853
|
+
"c5Proof": "Same status page — see zenmasta001 → task-015 →",
|
|
6854
|
+
"c5Cta": "Open a feedback loop for your customers →",
|
|
6855
|
+
"c6Title": "Kalle runs his whole company on its own node",
|
|
6856
|
+
"c6Text": "The Original Miskate Oy’s homepage lives in agent memory on its own AIMEAT node, federated into the network. The vartija crew audits the node every morning at 04:00; the tutkijatar crew runs research overnight.",
|
|
6857
|
+
"c6Proof": "originalmiskate.com — a living node →",
|
|
6858
|
+
"c6Cta": "See hosting packages →",
|
|
6859
|
+
"allLive": "Everything above runs in production right now. No proof is a mockup.",
|
|
6860
|
+
"ctaDemo": "Book a demo →",
|
|
6861
|
+
"ctaPricing": "See pricing →",
|
|
6862
|
+
"writtenToday": "written today at"
|
|
6314
6863
|
}
|
|
6315
6864
|
}
|