@newheap/platform-ai-chat 0.17.0 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/i18n/en.json CHANGED
@@ -74,7 +74,11 @@
74
74
  "trigger": "Event",
75
75
  "rule": "Automatic rule",
76
76
  "files": "Attached files",
77
- "file-meta": "{{type}}, {{size}}"
77
+ "file-meta": "{{type}}, {{size}}",
78
+ "application": "Application",
79
+ "application-label": "Message from the application",
80
+ "application-link": "Open",
81
+ "application-trusted": "Instruction for the assistant"
78
82
  },
79
83
  "composer": {
80
84
  "label": "Message",
@@ -182,6 +186,7 @@
182
186
  "withdrawn": "Withdrawn",
183
187
  "stale": "Outdated",
184
188
  "executing": "Running",
189
+ "awaiting-application": "With the application",
185
190
  "executed": "Done",
186
191
  "execution-failed": "Failed",
187
192
  "execution-unknown": "Outcome unknown",
@@ -192,6 +197,7 @@
192
197
  "waiting-for-participant": "Waiting for the participant who started this task to decide.",
193
198
  "waiting-for-approver": "Waiting for an approver to decide.",
194
199
  "waiting-for-other-approver": "You started this work, so another approver decides.",
200
+ "waiting-for-asker": "Waiting for the person who asked to decide in their own chat.",
195
201
  "give-feedback": "What was wrong?",
196
202
  "stale-kind": {
197
203
  "already-done": "Already done",
@@ -199,7 +205,20 @@
199
205
  "not-applicable": "No longer needed"
200
206
  },
201
207
  "rationale": "Why: {{rationale}}",
202
- "superseded": "Replaced by a newer proposal"
208
+ "superseded": "Replaced by a newer proposal",
209
+ "consultation": {
210
+ "origin": "{{agent}} proposes this, about {{subject}}",
211
+ "answer": "Answer of {{agent}}",
212
+ "own-rights": "Approving runs it right away with your own rights.",
213
+ "leave": "Leave for approvers",
214
+ "leave-label": "Leave for approvers: {{summary}}",
215
+ "leave-explain": {
216
+ "subject-agent-rights": "The approvers of {{subject}} decide; it then runs with the agent's own rights.",
217
+ "subject-asker-rights": "The approvers of {{subject}} decide; it then runs with your rights."
218
+ },
219
+ "moved-status": "Left for approvers",
220
+ "moved": "It now waits for the approvers of {{subject}}."
221
+ }
203
222
  },
204
223
  "proposal-feedback": {
205
224
  "legend": "What was wrong? (optional)",
@@ -407,6 +426,11 @@
407
426
  "assistant-consult-timeout": "The agent did not answer in time.",
408
427
  "assistant-consult-failed": "The agent could not answer.",
409
428
  "assistant-consult-read-only": "A consultation cannot change anything.",
429
+ "assistant-consult-tool-not-selected": "This consultation does not offer that tool, so nothing ran.",
430
+ "assistant-consult-proposal-refused": "No route at the subject takes this proposal any more. Approve or reject it here.",
431
+ "assistant-consult-asker-decides": "The person who asked decides this proposal in their own chat.",
432
+ "assistant-consult-route-not-allowed": "None of the agent's consultations allows this route, so it cannot be switched on.",
433
+ "assistant-consult-proposal-moved": "The proposal was left for the subject's approvers.",
410
434
  "assistant-moved-to-shadow": "The work went to the agent's shadow thread, where a run in shadow takes it.",
411
435
  "assistant-shadow-variant": "A shadow variant always works in shadow.",
412
436
  "assistant-service-account-not-used": "This agent does not answer to a technical account.",
@@ -415,10 +439,11 @@
415
439
  "assistant-trigger-in-code": "This trigger is part of the code and cannot change here.",
416
440
  "assistant-trigger-filter-not-found": "The event has no filter with this name. Choose from the filters the event offers.",
417
441
  "assistant-skill-in-use": "A trigger still starts this skill. Change or remove the trigger first.",
418
- "assistant-configuration-limit": "This agent already has as many skills or triggers as allowed.",
442
+ "assistant-configuration-limit": "This agent already has as many skills, triggers or consultations as allowed.",
419
443
  "assistant-run-settings-in-code": "This agent is part of the code; its runs are configured there.",
420
- "assistant-run-settings-in-use": "Skills or triggers still belong to this agent. Remove them first.",
444
+ "assistant-run-settings-in-use": "Skills, triggers, consultations or hand-offs still belong to this agent. Remove them first.",
421
445
  "assistant-skill-candidate-not-found": "This skill has no version being evaluated in shadow.",
446
+ "assistant-trigger-candidate-not-found": "This trigger has no version being evaluated in shadow.",
422
447
  "assistant-skill-version-gone": "The skill version this run was for is no longer evaluated.",
423
448
  "assistant-account-search-unavailable": "The application offers no account search; enter the account's id.",
424
449
  "assistant-mcp-connection-required": "This server needs a connection first. Connect it and try again.",
@@ -445,7 +470,24 @@
445
470
  "assistant-file-type-not-accepted": "This type of file cannot be attached.",
446
471
  "assistant-file-upload-refused": "The application refused this file.",
447
472
  "assistant-file-upload-failed": "The file could not be stored right now. Try again in a moment.",
448
- "assistant-file-scan-refused": "The file did not pass the scan for harmful content and was not stored."
473
+ "assistant-file-scan-refused": "The file did not pass the scan for harmful content and was not stored.",
474
+ "assistant-consultation-in-code": "The agent allows consultation about this kind of object in code; it cannot change here.",
475
+ "assistant-consultation-not-found": "The consultation was not found.",
476
+ "assistant-consultations-not-allowed": "The application does not let administrators add consultations to this agent.",
477
+ "assistant-handoffs-not-allowed": "The application does not let administrators connect agents to this one.",
478
+ "assistant-handoff-in-code": "The agent accepts hand-offs about this kind of object in code; it cannot change here.",
479
+ "assistant-handoff-not-found": "The hand-off was not found.",
480
+ "assistant-shadow-variants-not-allowed": "The application does not let administrators create shadow variants of this agent.",
481
+ "assistant-metadata-entry-not-found": "The application does not register this field of agents.",
482
+ "assistant-metadata-read-only": "The application sets this field of the agent in its code; it cannot change here.",
483
+ "assistant-instructions-asset-not-found": "The application has no such text asset in this version.",
484
+ "assistant-instructions-asset-unavailable": "The application's text assets cannot be read right now. Nothing was saved; try again shortly.",
485
+ "assistant-agent-instructions-unavailable": "This agent cannot work right now: the application's text with its instructions is not available. An administrator checks the agent.",
486
+ "assistant-package-format-unsupported": "This is no agent package this version can read: its format, format version or a property is unknown.",
487
+ "assistant-package-locked": "An agent package locks this. Unlink it from the package first.",
488
+ "assistant-package-too-large": "An agent package is at most 1 MB and holds at most 20 agents.",
489
+ "assistant-package-refused": "The check refused parts of the package, so nothing was imported. Check the package again to see which.",
490
+ "assistant-package-not-linked": "This agent, or this part of it, is not linked to an agent package."
449
491
  },
450
492
  "notices": {
451
493
  "no-answer": "The assistant finished without an answer. Try again or rephrase your question.",
@@ -603,6 +645,8 @@
603
645
  "changed": "Changed by {{user}} on {{date}}.",
604
646
  "reason": "Note: {{reason}}",
605
647
  "waiting": "{{count}} events wait for the resume.",
648
+ "stopped-was-off-hint": "It was off when it stopped: releasing the kill switch switches it back off. Resume switches it on.",
649
+ "stopped-was-on-hint": "It was not off when it stopped: releasing the kill switch makes it work again, as Resume does.",
606
650
  "action": {
607
651
  "active": "Resume",
608
652
  "paused": "Pause",
@@ -690,6 +734,44 @@
690
734
  },
691
735
  "input-label-search": "Account"
692
736
  },
737
+ "consultation-routes": {
738
+ "title": "Consultation routes",
739
+ "description": "Switch a route off for all consultations of this agent at once, in code and in the administration. When another assistant consults this agent and the agent proposes a change, a route decides who decides it and whose rights run it.",
740
+ "load-failed": "The consultation routes could not be read.",
741
+ "route": {
742
+ "asker-decides": "The person who asked decides",
743
+ "subject-agent-rights": "Approvers decide, agent's rights",
744
+ "subject-asker-rights": "Approvers decide, asker's rights"
745
+ },
746
+ "explain": {
747
+ "asker-decides": "The person who asked decides in their own chat; it runs with their own rights.",
748
+ "subject-agent-rights": "The subject's approvers other than the person who asked decide; it runs with the agent's own rights.",
749
+ "subject-asker-rights": "The subject's approvers decide; it runs later with the rights of the person who asked."
750
+ },
751
+ "on": "On",
752
+ "off": "Off",
753
+ "code": "As the consultations allow",
754
+ "overridden": "Overridden",
755
+ "not-allowed": "Not allowed",
756
+ "not-allowed-hint": "No consultation of this agent allows this route, so it stays off and cannot be switched on.",
757
+ "subject-types": "For: {{types}}",
758
+ "action": {
759
+ "on": "Switch on",
760
+ "off": "Switch off",
761
+ "code": "Back to what the consultations allow"
762
+ },
763
+ "explain-change": {
764
+ "on": "Consultations use this route for new proposals again. Proposals already recorded keep their route.",
765
+ "off": "Consultations no longer use this route for new proposals; with every route off, the agent's consultations only read. Proposals already recorded keep their route.",
766
+ "code-on": "The consultations decide again: one of them allows this route, so it is on.",
767
+ "code-off": "The consultations decide again: none of them allows this route, so it stays off."
768
+ },
769
+ "confirm": {
770
+ "on": "Confirm switching on",
771
+ "off": "Confirm switching off",
772
+ "code": "Confirm"
773
+ }
774
+ },
693
775
  "run-config": "Run configuration",
694
776
  "run-now": "Run now",
695
777
  "runs": "Runs",
@@ -727,7 +809,7 @@
727
809
  "instructions": "Instructions",
728
810
  "instructions-hint": "What the agent does and how it answers.",
729
811
  "autonomy": "Autonomy",
730
- "autonomy-hint": "Only Execute allows changes, and every change still needs approval.",
812
+ "autonomy-hint": "Only Execute allows changes in the agent's own work. In a consultation that may propose, Propose and Simulate propose changes too. Every change still needs approval.",
731
813
  "required-policy": "Required policy",
732
814
  "required-policy-hint": "Optional. Only users who pass this policy see the agent.",
733
815
  "profile": "Model profile",
@@ -789,7 +871,26 @@
789
871
  "in-code": "In this group in code",
790
872
  "shadow-variant": "A shadow variant works for administrators only and joins no group."
791
873
  },
792
- "catalog-unavailable": "The building blocks of agent runs could not be read, so what this agent works on and its groups cannot be changed now. Saving keeps them as they are."
874
+ "metadata": {
875
+ "title": "Application fields",
876
+ "hint": "The application keeps its own data about agents here. Each field has an editor of the application, which saves it on its own.",
877
+ "save-first": "Save the agent first; then its fields appear here.",
878
+ "loading": "Loading the fields",
879
+ "load-failed": "The fields of this agent could not be loaded.",
880
+ "no-editor": "The application shows no editor for this field.",
881
+ "read-only": "Set in the application's code; it cannot change here.",
882
+ "saved": "Saved.",
883
+ "removed": "Removed.",
884
+ "source": {
885
+ "code": "From code",
886
+ "override": "Changed here, over the value in code",
887
+ "data": "Stored with the agent",
888
+ "none": "No value"
889
+ }
890
+ },
891
+ "catalog-unavailable": "The building blocks of agent runs could not be read, so what this agent works on and its groups cannot be changed now. Saving keeps them as they are.",
892
+ "starts-in-shadow": "Start in shadow",
893
+ "starts-in-shadow-hint": "Once it has run settings, its runs work in its shadow threads, where nobody is notified and nothing executes, until you put it live in the agent list."
793
894
  },
794
895
  "effect": {
795
896
  "read-only": "Read only",
@@ -1147,7 +1248,10 @@
1147
1248
  "agent": "Run settings:",
1148
1249
  "skill": "Skill {{id}}:",
1149
1250
  "candidate": "Candidate of skill {{id}}:",
1150
- "trigger": "Trigger {{id}}:"
1251
+ "trigger": "Trigger {{id}}:",
1252
+ "consultation": "Consultation about {{id}}:",
1253
+ "hand-off": "Hand-off about {{id}}:",
1254
+ "trigger-candidate": "Candidate of trigger {{id}}:"
1151
1255
  },
1152
1256
  "code": {
1153
1257
  "unknown-agent": "the agent can no longer run on its own.",
@@ -1163,7 +1267,29 @@
1163
1267
  "unknown-skill": "the skill no longer exists.",
1164
1268
  "invalid-schedule": "the schedule or its time zone is not valid.",
1165
1269
  "invalid": "a value is not valid.",
1166
- "not-worked-on": "it concerns a kind of object, or the whole application, that the agent does not work on."
1270
+ "not-worked-on": "it concerns a kind of object, or the whole application, that the agent does not work on.",
1271
+ "unknown-subject-type": "the kind of object no longer exists.",
1272
+ "unknown-agent-policy": "the policy the people who ask need is no longer listed.",
1273
+ "conflicts-with-tool": "another tool already has the name of its tool.",
1274
+ "not-consultable": "the application no longer lets administrators add consultations to this agent.",
1275
+ "route-not-allowed": "a route is no longer allowed, so it is left out.",
1276
+ "agent-answers-to-person": "the route with the agent's account is left out, because the agent answers to the object's responsible person.",
1277
+ "agent-has-no-rights": "the route with the agent's account is left out, because the agent answers for itself and has no rights of its own.",
1278
+ "no-approver": "the route with the agent's account is left out, because the approval policy lets only the person who caused a proposal decide it.",
1279
+ "limit-above-ceiling": "a limit is above what the application allows, so the application's applies.",
1280
+ "requests-not-allowed": "the application no longer allows requests, so it takes none.",
1281
+ "mcp-not-allowed": "the application no longer offers consultations to MCP clients, so they do not see it.",
1282
+ "tools-not-allowed": "a chosen tool is no longer among the agent's own tools, so it is left out; with none left the agent gets no tools in it.",
1283
+ "no-asset-source": "its instructions come from the application's text assets, which the application no longer offers.",
1284
+ "asset-missing": "the application no longer has the text asset with its instructions in this version.",
1285
+ "asset-changed": "the text of the asset with its instructions changed since it was saved, so it is not used. Read the asset again and save it as the next version.",
1286
+ "asset-invalid": "the application's text asset cannot be used as instructions.",
1287
+ "asset-unavailable": "the application's text assets could not be read; they are read again shortly.",
1288
+ "outside-ceiling": "the application no longer allows it.",
1289
+ "unknown-source": "an agent that may hand off can no longer run on its own.",
1290
+ "unknown-live-agent": "the agent this shadow variant follows can no longer run on its own.",
1291
+ "live-agent-not-live": "the agent this shadow variant follows is no live agent.",
1292
+ "too-many-variants": "the agent it follows has more shadow variants than the application allows."
1167
1293
  }
1168
1294
  },
1169
1295
  "field-errors": {
@@ -1180,7 +1306,11 @@
1180
1306
  "instructions-for-model": "Without fixed rules the model works from these instructions; describe what it should do.",
1181
1307
  "application-not-worked-on": "The agent does not work on the whole application. Choose a set of objects, or let the agent work on the whole application first.",
1182
1308
  "megabytes-up-to": "Enter a size above 0 and at most {{max}} MB.",
1183
- "megabytes-positive": "Enter a size above 0 MB."
1309
+ "megabytes-positive": "Enter a size above 0 MB.",
1310
+ "not-allowed": "The application does not allow this.",
1311
+ "routes-required": "Choose at least one route, or let it only answer.",
1312
+ "tools-not-allowed": "A chosen tool is outside the agent's own tools. Clear it, or add the tool to the agent first.",
1313
+ "locked": "An agent package locks this field. Unlink the part first to change it."
1184
1314
  },
1185
1315
  "settings": {
1186
1316
  "title": "Run settings",
@@ -1423,6 +1553,24 @@
1423
1553
  "set-hint": "One run each time for every object in a set, such as the active projects.",
1424
1554
  "every-division": "Every division",
1425
1555
  "dropped": "This schedule ran for the whole application, which the agent no longer works on. Choose a set of objects."
1556
+ },
1557
+ "saved-candidate": "The new version fires in shadow next to the live version, which keeps working.",
1558
+ "apply": "How the change takes effect",
1559
+ "apply-live": "Apply at once",
1560
+ "apply-live-hint": "The new version replaces the live one at once, in the mode the trigger has.",
1561
+ "apply-shadow": "Evaluate in shadow next to the live version first",
1562
+ "apply-shadow-hint": "The new version fires next to the live one into the agent's shadow threads, where nothing executes; compare them, then promote or discard it.",
1563
+ "versions": "Versions",
1564
+ "candidate": {
1565
+ "explain": "Version {{version}} fires in shadow next to the live version: its runs work in the agent's shadow threads, and the live version keeps working.",
1566
+ "out-of-effect": "The candidate does not fire: it no longer fits the code ({{problem}}). The live version keeps working.",
1567
+ "changes": "What the candidate changes",
1568
+ "no-changes": "The candidate has the same definition as the live version.",
1569
+ "change": "{{candidate}} (live: {{live}})",
1570
+ "comparison": "Live version and candidate of trigger {{trigger}}",
1571
+ "paired": "Since {{date}} both started a run on {{count}} of the same events, only the live version on {{liveOnly}} and only the candidate on {{candidateOnly}}.",
1572
+ "promoted": "The candidate is the live version of the trigger now.",
1573
+ "none": "none"
1426
1574
  }
1427
1575
  },
1428
1576
  "way-of-working": "Way of working",
@@ -1558,7 +1706,14 @@
1558
1706
  "configured-off": "Run now: not while the application's code switches the agent off.",
1559
1707
  "no-settings": "Run now: only once the agent has run settings.",
1560
1708
  "no-catalog": "Run now: not until the run catalog can be read."
1561
- }
1709
+ },
1710
+ "consultations": "When another assistant consults it",
1711
+ "no-consultations": "No other assistant can consult it yet.",
1712
+ "consultation-proposes": "Answers and proposes",
1713
+ "consultation-answers": "Only answers",
1714
+ "asked-by-none": "No agent asks it yet",
1715
+ "asked-by-one": "Asked by 1 agent",
1716
+ "asked-by": "Asked by {{count}} agents"
1562
1717
  },
1563
1718
  "skills": {
1564
1719
  "code-rules": "Fixed rules in the application's code",
@@ -1641,8 +1796,235 @@
1641
1796
  "edit-trigger": "Change the trigger",
1642
1797
  "edit-skill": "Change the skill",
1643
1798
  "edit-trigger-named": "Edit trigger {{trigger}}",
1644
- "edit-skill-named": "Edit skill {{skill}}"
1799
+ "edit-skill-named": "Edit skill {{skill}}",
1800
+ "edit-consultation": "Change the consultation",
1801
+ "edit-consultation-named": "Edit the consultation about {{type}}"
1645
1802
  }
1803
+ },
1804
+ "consultations": {
1805
+ "title": "Consultations",
1806
+ "description": "Other assistants may consult this agent about an object. It answers with the rights of the person who asked and, where allowed, proposes changes. A consultation works only once an agent that asks selects its tool.",
1807
+ "add": "Add consultation",
1808
+ "empty": "Nobody can consult this agent yet.",
1809
+ "closed": {
1810
+ "application": "The application does not let administrators add consultations; they come from its code.",
1811
+ "agent": "This agent is defined in code and does not let administrators add consultations to it.",
1812
+ "needs-settings": "Give the agent run settings before you add consultations.",
1813
+ "limit": "This agent has as many consultations as allowed ({{max}}).",
1814
+ "no-types": "Every kind of object this agent works on already has a consultation."
1815
+ },
1816
+ "requests": "Takes requests",
1817
+ "mcp": "Offered to MCP clients",
1818
+ "no-description": "No description.",
1819
+ "askers": "Asked by:",
1820
+ "open-asker": "Open the editor of {{agent}}",
1821
+ "no-askers": "No agent asks it yet. Select its tool in the tools of an agent that should ask it.",
1822
+ "code-hint": "Allowed in code; here only the route switches below change it.",
1823
+ "limits-value": "At most {{calls}} tool calls, {{seconds}} seconds, {{chars}} characters and {{history}} thread messages",
1824
+ "tools-label": "Tools:",
1825
+ "tools-all": "every tool of the agent",
1826
+ "tools-none": "none, because no chosen tool is among the agent's own tools any more",
1827
+ "edit-named": "Edit the consultation about {{type}}",
1828
+ "remove-named": "Delete the consultation about {{type}}",
1829
+ "remove-explain": "Its tools disappear; proposals it made can still be decided.",
1830
+ "added": "The consultation was added. It answers once an agent that asks selects its tool.",
1831
+ "saved": "The consultation was saved.",
1832
+ "removed": "The consultation was removed.",
1833
+ "roles": {
1834
+ "reader": "Reader",
1835
+ "participant": "Participant",
1836
+ "approver": "Approver"
1837
+ },
1838
+ "roles-lower": {
1839
+ "reader": "reader",
1840
+ "participant": "participant",
1841
+ "approver": "approver"
1842
+ },
1843
+ "summary": {
1844
+ "ask": "People who are at least {{role}} of the object may ask.",
1845
+ "asker-policy": "They also need {{policy}}.",
1846
+ "asker-policy-agent": "They also need the policy the agent requires, or else access to the assistant.",
1847
+ "read-only": "The agent only answers and proposes nothing.",
1848
+ "proposes": "The agent may propose changes when the person who asked is at least {{role}}: {{routes}}.",
1849
+ "proposes-code": "The agent may propose changes: {{routes}}."
1850
+ },
1851
+ "routes": {
1852
+ "asker-decides": "The person who asked decides in their chat",
1853
+ "subject-asker-rights": "The object's approvers decide, with the rights of the person who asked",
1854
+ "subject-agent-rights": "The object's approvers decide, with this agent's technical account"
1855
+ },
1856
+ "routes-hint": {
1857
+ "asker-decides": "Approving runs it at once with that person's own rights.",
1858
+ "subject-asker-rights": "It waits at the object and runs later with the rights of the person who asked.",
1859
+ "subject-agent-rights": "It waits at the object for an approver other than the person who asked and runs with the agent's own rights."
1860
+ },
1861
+ "route-blocks": {
1862
+ "not-in-ceiling": "The application does not allow this route.",
1863
+ "system": "Not for the whole application.",
1864
+ "agent-answers-to-person": "Not for an agent that answers to the object's responsible person.",
1865
+ "agent-has-no-rights": "Not for an agent that answers for itself: it has no rights of its own to lend."
1866
+ },
1867
+ "limits": {
1868
+ "tool-calls": "Tool calls",
1869
+ "timeout-seconds": "Time limit in seconds",
1870
+ "answer-chars": "Longest answer in characters",
1871
+ "history-messages": "Thread messages it reads"
1872
+ },
1873
+ "form": {
1874
+ "new-title": "New consultation",
1875
+ "edit-title": "Consultation about {{type}}, version {{version}}",
1876
+ "what": "What may other assistants consult it about?",
1877
+ "subject-type": "Kind of object",
1878
+ "subject-type-hint": "Only kinds of objects the agent works on and has no consultation about yet.",
1879
+ "description": "When to consult it",
1880
+ "description-hint": "The assistant that asks reads this to decide when to consult this agent.",
1881
+ "instructions": "Instructions when consulted",
1882
+ "instructions-hint": "Optional. What the agent keeps in mind when it answers, after the platform's own rules for consultations.",
1883
+ "who": "Who may ask?",
1884
+ "minimum-role": "The person who asks is at least",
1885
+ "role-hint": {
1886
+ "reader": "Anyone who may read the object.",
1887
+ "participant": "People who work on the object.",
1888
+ "approver": "People who approve changes to the object."
1889
+ },
1890
+ "asker-policy": "Policy the person needs",
1891
+ "asker-policy-agent": "The policy the agent requires",
1892
+ "asker-policy-hint": "One of the policies the application lists. Without one, the agent's own policy applies, or else access to the assistant.",
1893
+ "do": "What may it do?",
1894
+ "answer": "Only answer",
1895
+ "answer-hint": "It answers with the rights of the person who asked and proposes nothing.",
1896
+ "propose": "Answer and propose changes",
1897
+ "propose-hint": "It may also propose changes; the routes below decide who decides them.",
1898
+ "answers-only": "The application lets consultations only answer.",
1899
+ "routes": "Who decides its proposals?",
1900
+ "routes-hint": "Choose at least one. Of the two routes at the object, choose one at most.",
1901
+ "proposal-role": "Role needed for proposals",
1902
+ "proposal-role-hint": "The person who asked needs at least this role on the object before the agent may propose; with a lower role they get the answer without proposals.",
1903
+ "agent-policy": "The agent's approval policy",
1904
+ "policy-warning": {
1905
+ "four-eyes": "This approval policy uses four eyes, so the person who asked cannot decide their own proposal in their chat; that route does not apply.",
1906
+ "initiator-only": "This approval policy lets only the person who caused a proposal decide it, so the route with the agent's technical account is refused."
1907
+ },
1908
+ "advanced": "Advanced: tools, limits, requests and classification",
1909
+ "limits": "Limits of one consultation",
1910
+ "limits-hint": "Empty starts at the default within what the application allows.",
1911
+ "limit-range": "From {{min}} to {{max}}.",
1912
+ "requests": "Also take requests",
1913
+ "requests-hint": "The assistant that asks may also ask this agent to start a run, with the person as its initiator.",
1914
+ "requests-closed": "The application does not allow requests.",
1915
+ "mcp": "Offer to MCP clients",
1916
+ "mcp-hint": "External MCP clients may consult it too, with the rights of their person.",
1917
+ "mcp-closed": "The application does not offer consultations to MCP clients.",
1918
+ "classification-hint": "How sensitive its answers are in the conversation that asked. Without one, the agent's classification applies.",
1919
+ "tools": "Tools it may use",
1920
+ "tools-hint": "The agent's own tools; select some to narrow them for this consultation. None selected: every tool of the agent. Changes still need a route.",
1921
+ "tool-not-covered": "No longer among the agent's own tools.",
1922
+ "in-effect": "A consultation is in effect once saved; it answers once an agent that asks selects its tool.",
1923
+ "starts-off": "Start off",
1924
+ "starts-off-hint": "It is not offered until you switch it on in the list, for example after a review.",
1925
+ "starts-off-ceiling": "A new consultation starts off: the application wants every one reviewed before it is offered. Switch it on in the list."
1926
+ },
1927
+ "off-badge": "Off",
1928
+ "off-explain": "Off: asking agents get none of its tools until you switch it on.",
1929
+ "switch-on": "Switch on",
1930
+ "switch-off": "Switch off",
1931
+ "switch-on-named": "Switch on the consultation about {{type}}",
1932
+ "switch-off-named": "Switch off the consultation about {{type}}",
1933
+ "switched-on": "The consultation is on: agents that ask get its tools.",
1934
+ "switched-off": "The consultation is off: agents that ask get none of its tools."
1935
+ }
1936
+ },
1937
+ "hand-offs": {
1938
+ "title": "Hand-offs",
1939
+ "description": "In their runs, other agents may hand work on an object to this agent, which then works on it in a run of its own with its own approvals. The application decides in its code which agents may be connected; here you connect them within that.",
1940
+ "loading": "Loading hand-offs…",
1941
+ "load-failed": "The hand-offs could not be loaded.",
1942
+ "add": "Add hand-off",
1943
+ "empty": "No agent can hand work to this agent yet.",
1944
+ "closed": {
1945
+ "application": "The application does not let administrators connect agents to this one; its hand-offs come from its code.",
1946
+ "needs-settings": "Give the agent run settings before you connect agents to it.",
1947
+ "limit": "This agent accepts as many hand-offs as allowed ({{max}}).",
1948
+ "no-types": "Every kind of object the application lets you connect this agent about already has a hand-off."
1949
+ },
1950
+ "notifies": "Tells the source how it ended",
1951
+ "no-description": "No description.",
1952
+ "from": "From:",
1953
+ "limit-value": "At most {{max}} per source and object per day",
1954
+ "code-hint": "Accepted in code; it cannot change here.",
1955
+ "changed": "Changed by {{user}} on {{date}}",
1956
+ "edit-named": "Edit the hand-off about {{type}}",
1957
+ "remove-named": "Delete the hand-off about {{type}}",
1958
+ "remove-explain": "Its tool disappears from the sources' next runs; runs it started finish.",
1959
+ "added": "The hand-off was added. A source uses it once its tools select its tool.",
1960
+ "saved": "The hand-off was saved.",
1961
+ "removed": "The hand-off was removed.",
1962
+ "problems": {
1963
+ "invalid": "Out of effect: a stored value is not valid.",
1964
+ "outside-ceiling": "Out of effect: the application no longer lets these agents be connected about this kind of object.",
1965
+ "unknown-agent": "Out of effect: this agent can no longer run on its own.",
1966
+ "unknown-source": "Out of effect: an agent that may hand off can no longer run on its own.",
1967
+ "not-worked-on": "Out of effect: this agent does not work on this kind of object.",
1968
+ "conflicts-with-code": "Out of effect: the application now accepts hand-offs about this kind of object in code.",
1969
+ "limit-above-ceiling": "Out of effect: the daily limit is above what the application allows."
1970
+ },
1971
+ "form": {
1972
+ "new-title": "New hand-off",
1973
+ "edit-title": "Hand-off about {{type}}, version {{version}}",
1974
+ "subject-type": "Kind of object",
1975
+ "subject-type-hint": "The kinds of object the application lets you connect this agent about.",
1976
+ "sources": "Agents that may hand off",
1977
+ "no-sources": "The application allows no agent that can run on its own to hand off about this kind of object yet.",
1978
+ "source-not-allowed": "No longer allowed; clear it.",
1979
+ "sources-hint": "Only the agents the application allows; an agent created here counts once it has run settings.",
1980
+ "sources-admin": "The application also allows agents created in the administration.",
1981
+ "description": "Description for the sources",
1982
+ "description-hint": "When a source should hand work off, in a sentence or two.",
1983
+ "notify": "Give the source a follow-up when this agent's run ends",
1984
+ "notify-hint": "The source hears the outcome and the number of proposals, and the run's summary when both work on the same object.",
1985
+ "limit": "Hand-offs per source and object per day",
1986
+ "limit-hint": "1 to {{max}}; 5 when left empty.",
1987
+ "in-effect": "It is in effect once saved. A source's model gets its tool when the source's tools select it."
1988
+ }
1989
+ },
1990
+ "shadow-variants": {
1991
+ "title": "Shadow variants",
1992
+ "description": "A shadow variant receives every event of this agent and works on it in shadow, in threads only administrators see: it notifies nobody and nothing it proposes is carried out. Compare it with this agent in the evaluation.",
1993
+ "loading": "Loading shadow variants…",
1994
+ "load-failed": "The shadow variants could not be loaded.",
1995
+ "add": "New shadow variant",
1996
+ "empty": "This agent has no shadow variants.",
1997
+ "closed": {
1998
+ "not-allowed": "The application does not let administrators create shadow variants of this agent.",
1999
+ "limit": "This agent has as many shadow variants as allowed ({{max}})."
2000
+ },
2001
+ "source": {
2002
+ "code": "In code",
2003
+ "data": "Created here"
2004
+ },
2005
+ "needs-settings": "Needs run settings",
2006
+ "in-effect": "Receives this agent's events",
2007
+ "open": "Run configuration",
2008
+ "set-up": "Set up runs",
2009
+ "open-named": "Open the run configuration of {{name}}",
2010
+ "problems": {
2011
+ "invalid": "Out of effect: a stored value is not valid.",
2012
+ "outside-ceiling": "Out of effect: the application no longer lets administrators create shadow variants of this agent.",
2013
+ "unknown-live-agent": "Out of effect: the agent it follows can no longer run on its own.",
2014
+ "live-agent-not-live": "Out of effect: the agent it follows is no live agent.",
2015
+ "too-many-variants": "Out of effect: the agent it follows has more shadow variants than the application allows."
2016
+ },
2017
+ "form": {
2018
+ "title": "New shadow variant",
2019
+ "copies": "It starts from this agent's tools, MCP servers and what it works on, and its own run settings come next. It is never offered in the chat and its shadow mode cannot change.",
2020
+ "id": "Id",
2021
+ "id-hint": "Lowercase letters, digits and dashes; it cannot change later.",
2022
+ "name": "Name",
2023
+ "default-name": "{{name}} (variant)",
2024
+ "description": "Description",
2025
+ "instructions": "Instructions",
2026
+ "instructions-hint": "They start as this agent's instructions; change what the variant should try.",
2027
+ "create": "Create variant"
1646
2028
  }
1647
2029
  },
1648
2030
  "runs": {
@@ -1675,6 +2057,225 @@
1675
2057
  "id": "Account ID {{id}}",
1676
2058
  "copy-id": "Copy the account ID of {{name}}",
1677
2059
  "id-copied": "Account ID copied"
2060
+ },
2061
+ "instruction-assets": {
2062
+ "source": "Where do the instructions come from?",
2063
+ "source-inline": "Written here",
2064
+ "source-inline-hint": "Type the instructions in this form.",
2065
+ "source-asset": "The application's text",
2066
+ "source-asset-hint": "Instructions the application ships or keeps, in an exact version. A new version is used only when you save it.",
2067
+ "not-offered": "The application no longer offers its text assets; write the instructions here to keep this working.",
2068
+ "loading": "Loading the application's texts…",
2069
+ "asset": "Text",
2070
+ "asset-hint": "The application lists the texts you can choose, each in an exact version.",
2071
+ "choose": "Choose a text",
2072
+ "option": "{{asset}}, version {{version}}",
2073
+ "deprecated": "Replaced by the application",
2074
+ "deprecated-by": "Replaced by {{asset}}",
2075
+ "none-listed": "The application lists no texts; enter the id and version it gave you.",
2076
+ "asset-id": "Text id",
2077
+ "version": "Version",
2078
+ "read": "Read the text",
2079
+ "reading": "Reading the text…",
2080
+ "reference": "Uses {{asset}}, version {{version}}.",
2081
+ "hash": "Hash {{hash}}",
2082
+ "newer": "Version {{version}} of this text is available. Choose it and save to use it; the version in use stays until then.",
2083
+ "text": "Text of the instructions",
2084
+ "text-hint": "Read-only: the application owns this text. Saving stores which text and version, never a copy.",
2085
+ "agent-problem": "The agent does not work:",
2086
+ "problems": {
2087
+ "no-asset-source": "The application no longer offers its texts; the instructions are not available.",
2088
+ "asset-missing": "The application no longer has this text in this version.",
2089
+ "asset-changed": "The text changed since it was saved, so it is not used. Read it again and save to use the new text.",
2090
+ "asset-invalid": "This text cannot be used as instructions.",
2091
+ "asset-unavailable": "The application's texts could not be read; they are read again shortly."
2092
+ },
2093
+ "errors": {
2094
+ "required": "Choose a text and read it first.",
2095
+ "not-found": "The application has no such text in this version.",
2096
+ "changed": "The text changed since you read it. Read it again before you save.",
2097
+ "invalid": "Enter a text id in lowercase letters, digits and dashes, and a version of 1 or higher. The application may also not allow this text as instructions.",
2098
+ "not-allowed": "The application does not offer its texts here."
2099
+ }
2100
+ },
2101
+ "packages": {
2102
+ "export": "Export as package",
2103
+ "export-named": "Export {{name}} as a package",
2104
+ "import": "Import package",
2105
+ "linked-badge": "Package {{package}} {{version}}",
2106
+ "delete-locked": "The agent belongs to package {{package}}. Unlink the agent first to delete it.",
2107
+ "remove-locked": "Package {{package}} locks this part. Unlink it first to remove it.",
2108
+ "lock": {
2109
+ "linked": "Linked to package {{package}}, version {{version}}.",
2110
+ "agent-linked": "This agent comes from package {{package}}, version {{version}}.",
2111
+ "whole": "The package locks it as a whole: it changes with the package's next version.",
2112
+ "fields": "Locked: {{fields}}.",
2113
+ "nothing-locked": "Nothing of it is locked; the package's next version overwrites a change made here.",
2114
+ "field": "Locked by package {{package}}, version {{version}}",
2115
+ "unlink": "Unlink",
2116
+ "unlink-agent": "Unlink the agent",
2117
+ "unlink-explain": "Unlinked, this part is local: it changes here again, and later versions of {{package}} leave it as it is unless an import takes the package's version again.",
2118
+ "unlink-agent-explain": "Unlinked, every part of the agent is local: it changes here again, and later versions of {{package}} leave the agent as it is unless an import takes the package's version again.",
2119
+ "confirm-unlink": "Unlink"
2120
+ },
2121
+ "parts": {
2122
+ "agent": "Agent",
2123
+ "run-settings": "Run settings",
2124
+ "skill": "Skill {{name}}",
2125
+ "trigger": "Trigger {{name}}",
2126
+ "consultation": "Consultation about {{name}}",
2127
+ "hand-off": "Hand-off about {{name}}",
2128
+ "metadata": "Field {{name}}"
2129
+ },
2130
+ "outcomes": {
2131
+ "created": "New",
2132
+ "changed": "Changed",
2133
+ "unchanged": "Unchanged",
2134
+ "kept-local": "Kept local",
2135
+ "left-behind": "Left behind",
2136
+ "refused": "Refused"
2137
+ },
2138
+ "outcome-explain": {
2139
+ "created": "The import adds it.",
2140
+ "changed": "The import replaces it with the package's version.",
2141
+ "unchanged": "It is the same as the package's version.",
2142
+ "kept-local": "It was unlinked here, so the import leaves it as it is unless you take the package's version.",
2143
+ "left-behind": "The package no longer holds this agent: it stays here, unlinked.",
2144
+ "refused": "The import refuses it, and with it the whole package."
2145
+ },
2146
+ "changed-locally": "Changed locally",
2147
+ "changed-locally-hint": "Someone changed it here since it was imported; the import overwrites that change.",
2148
+ "export-dialog": {
2149
+ "title": "Export agents as a package",
2150
+ "close": "Close",
2151
+ "agents": "Agents in the package",
2152
+ "agents-hint": "The package holds exactly these agents, each with its run settings, skills, triggers, consultations, hand-offs, fields and groups; never runs, history, accounts or secrets.",
2153
+ "agents-required": "Choose at least one agent.",
2154
+ "too-many": "A package holds at most {{max}} agents.",
2155
+ "package-id": "Package id",
2156
+ "package-id-hint": "Lowercase letters, digits and dashes. A host upgrades the agents it imported from the same package id.",
2157
+ "package-id-default": "Empty: {{id}}",
2158
+ "version": "Version",
2159
+ "version-hint": "A whole number from 1. Empty: the next version after the one this host imported, otherwise 1.",
2160
+ "description": "Description",
2161
+ "description-hint": "Optional: what the package is for, for whoever imports it.",
2162
+ "locks": "Locks",
2163
+ "locks-hint": "Where the package is imported, a locked part shows read-only and saving refuses to change it until an administrator unlinks it.",
2164
+ "lock-none": "Not locked",
2165
+ "lock-whole": "All of it",
2166
+ "lock-fields": "Chosen fields",
2167
+ "lock-choice": "Lock {{part}}",
2168
+ "lock-fields-of": "Fields of {{part}} to lock",
2169
+ "loading-parts": "Reading the parts of the agents…",
2170
+ "parts-failed": "The parts of the agents could not be read.",
2171
+ "no-parts": "Nothing of this agent travels as data.",
2172
+ "references": "References outside the package",
2173
+ "references-hint": "These agents are not in the package, so they must exist where it is imported.",
2174
+ "add": "Add {{agent}}",
2175
+ "download": "Download package",
2176
+ "downloading": "Exporting…",
2177
+ "downloaded": "The package was downloaded as {{file}}.",
2178
+ "reference": {
2179
+ "hand-off-source": "{{referenced}} hands work to {{agent}} ({{part}}).",
2180
+ "shadow-of": "{{agent}} is a shadow variant of {{referenced}}.",
2181
+ "consultation-asker": "{{referenced}} consults {{agent}} ({{part}}).",
2182
+ "shadow-variant": "{{referenced}} is a shadow variant of {{agent}} and receives its triggers."
2183
+ }
2184
+ },
2185
+ "import-dialog": {
2186
+ "title": "Import an agent package",
2187
+ "close": "Close",
2188
+ "file": "Package file",
2189
+ "file-hint": "A JSON file of at most 1 MB, as an export writes it.",
2190
+ "file-chosen": "Read from {{name}}.",
2191
+ "paste": "Or paste the package",
2192
+ "paste-hint": "The JSON of the package.",
2193
+ "invalid-json": "This is no package: its JSON cannot be read.",
2194
+ "too-large": "A package is at most 1 MB.",
2195
+ "no-package": "Choose a package file or paste a package first.",
2196
+ "preview": "Check the package",
2197
+ "previewing": "Checking…",
2198
+ "preview-again": "Check again",
2199
+ "preview-title": "What the import does",
2200
+ "summary": "Package {{package}}, version {{version}}",
2201
+ "agent-heading": "Agent {{agent}}",
2202
+ "column-part": "Part",
2203
+ "column-outcome": "Outcome",
2204
+ "column-details": "Details",
2205
+ "column-relink": "Package's version",
2206
+ "relink": "Take the package's version of {{part}}",
2207
+ "relink-hint": "Relinks the part: the import overwrites the local version and links it to the package again.",
2208
+ "account": "Technical account of {{agent}}",
2209
+ "account-hint": "Accounts never travel: choose the account on this host that the agent answers to.",
2210
+ "apply": "Changed skills and triggers",
2211
+ "apply-live": "Take effect at once",
2212
+ "apply-live-hint": "Each change becomes the live version, as a save does.",
2213
+ "apply-shadow": "Run in shadow first",
2214
+ "apply-shadow-hint": "Each change becomes a candidate next to the live version, to compare and promote.",
2215
+ "apply-new-hint": "New skills and triggers start in shadow either way.",
2216
+ "refused": "The import refuses {{count}} parts. Fix the package or the host, then check again.",
2217
+ "options-changed": "The choices changed since the check; check again before importing.",
2218
+ "import": "Import",
2219
+ "importing": "Importing…",
2220
+ "imported": "The package was imported.",
2221
+ "result-title": "What the import did",
2222
+ "done": "Done",
2223
+ "agent-exists": "An agent with this id exists on this host and is not linked to this package. Take it over to let the package replace its configuration and link it, or remove it first.",
2224
+ "agent-exists-other-package": "An agent with this id belongs to package {{package}} on this host. Unlink it from that package first, then take it over or remove it.",
2225
+ "agent-exists-in-code": "An agent in code has this id on this host; the package's agent cannot replace it.",
2226
+ "take-over": "Take over the existing agent",
2227
+ "take-over-hint": "The package replaces its configuration and links it.",
2228
+ "refused-one": "The import refuses {{count}} part. Fix the package or the host, then check again."
2229
+ },
2230
+ "fields": {
2231
+ "display-name": "Name",
2232
+ "description": "Description",
2233
+ "instructions": "Instructions",
2234
+ "tool-selectors": "Tools",
2235
+ "required-policy": "Required policy",
2236
+ "autonomy": "Autonomy",
2237
+ "offered-in-chat": "Use in the chat",
2238
+ "works-on": "What it works on",
2239
+ "profile": "Model profile",
2240
+ "data-classification": "Data classification",
2241
+ "accountability": "Answers to",
2242
+ "delegate-from-initiator": "Rights of the person who starts a run",
2243
+ "allow-gateway-reads": "Reads through the data gateway",
2244
+ "elevated-reads": "Reads with the account's rights",
2245
+ "approval-policy": "Approval policy",
2246
+ "retry-count": "Retries after a failure",
2247
+ "daily-budget": "Daily limits",
2248
+ "max-concurrent-runs": "Runs at the same time",
2249
+ "max-runs-per-subject-per-day": "Runs per subject per day",
2250
+ "max-tokens-per-run": "Tokens per run",
2251
+ "triage-profile": "Triage profile",
2252
+ "rule-handler": "Way of working",
2253
+ "files": "Files",
2254
+ "tools": "Tools",
2255
+ "skill": "Skill",
2256
+ "source": "When it starts",
2257
+ "event": "Event",
2258
+ "filters": "Filters",
2259
+ "cron": "Schedule",
2260
+ "time-zone": "Time zone",
2261
+ "subject-set": "Subjects",
2262
+ "message": "Message to every run",
2263
+ "conflict": "While a run is busy",
2264
+ "debounce-seconds": "Wait for more events",
2265
+ "minimum-role": "Role of the person who asks",
2266
+ "asker-policy": "Policy of the person who asks",
2267
+ "routes": "Routes",
2268
+ "proposal-role": "Role before it proposes",
2269
+ "proposal-policy": "Approval policy of its proposals",
2270
+ "limits": "Limits",
2271
+ "allow-requests": "Requests",
2272
+ "expose-to-mcp": "MCP clients",
2273
+ "sources": "Agents that may hand off",
2274
+ "notify-source": "Tells the source how it ended",
2275
+ "max-per-subject-per-day": "Hand-offs per source and object per day",
2276
+ "value": "Value"
2277
+ },
2278
+ "reset-locked": "Package {{package}} locks fields of the definition. Unlink them first to reset the agent."
1678
2279
  }
1679
2280
  },
1680
2281
  "page-context": {
@@ -1780,6 +2381,7 @@
1780
2381
  "inbox": {
1781
2382
  "title": "Proposals to decide",
1782
2383
  "description": "Proposals of agents that wait for your decision, the ones that expire first on top.",
2384
+ "description-grouped": "Proposals of agents that wait for your decision, grouped by object; the group with the proposal that expires first is on top.",
1783
2385
  "empty": "No proposals wait for you.",
1784
2386
  "select": "Select this proposal",
1785
2387
  "select-all": "Select all",
@@ -1810,6 +2412,10 @@
1810
2412
  "re-execute": "Run again",
1811
2413
  "mark-resolved": "Mark as resolved",
1812
2414
  "unknown-hint": "The execution stopped without a known outcome. Check whether it happened before you run it again.",
2415
+ "hand-to-application": "Hand to the application again",
2416
+ "unknown-application-hint": "The application did not confirm that it carried this out. Check in the application whether it happened before you hand it over again.",
2417
+ "awaiting-application-hint": "The application carries out this approved proposal and reports back when it is done.",
2418
+ "report-due": "Report due {{date}}",
1813
2419
  "mode": {
1814
2420
  "inline": "The run waits",
1815
2421
  "deferred": "Decide later"
@@ -1822,6 +2428,7 @@
1822
2428
  "withdrawn": "Withdrawn",
1823
2429
  "stale": "Outdated",
1824
2430
  "executing": "Running",
2431
+ "awaiting-application": "With the application",
1825
2432
  "executed": "Done",
1826
2433
  "execution-failed": "Failed",
1827
2434
  "execution-unknown": "Outcome unknown",
@@ -1829,7 +2436,22 @@
1829
2436
  "shadow": "Shadow"
1830
2437
  },
1831
2438
  "from-consultation": "From a consultation",
1832
- "from-consultation-hint": "Another assistant consulted the agent for this person; it runs with that person's rights only.",
2439
+ "from-consultation-hint": "Another assistant consulted the agent for a person, and the agent proposed this.",
2440
+ "consultation": {
2441
+ "asked-by": "Asked by {{name}}",
2442
+ "the-asker": "the person who asked",
2443
+ "route": {
2444
+ "asker-decides": "The person who asked decides in their own chat; it runs with their own rights.",
2445
+ "subject-agent-rights": "The subject's approvers other than the person who asked decide; it runs with the agent's own rights.",
2446
+ "subject-asker-rights": "The subject's approvers decide; it runs with the rights of the person who asked."
2447
+ },
2448
+ "waiting-for-asker": "Waiting for {{name}} to decide in their own chat.",
2449
+ "four-eyes": "You asked for this, so another approver decides; it runs with the agent's own rights.",
2450
+ "runs-with": {
2451
+ "agent": "Runs with the agent's rights",
2452
+ "accountable": "Runs with the technical account's rights"
2453
+ }
2454
+ },
1833
2455
  "give-feedback": "Give feedback",
1834
2456
  "change-feedback": "Change feedback",
1835
2457
  "your-feedback": "Your feedback: {{category}}",
@@ -1908,6 +2530,11 @@
1908
2530
  "running": "Running",
1909
2531
  "completed": "Answered",
1910
2532
  "failed": "Not answered"
2533
+ },
2534
+ "routes": {
2535
+ "asker-decides": "Asker decides: {{count}}",
2536
+ "subject-agent-rights": "Approvers, agent's rights: {{count}}",
2537
+ "subject-asker-rights": "Approvers, asker's rights: {{count}}"
1911
2538
  }
1912
2539
  },
1913
2540
  "object-agents": {