@newheap/platform-ai-chat 0.13.0 → 0.15.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
@@ -12,6 +12,8 @@
12
12
  "open": "Open proposals: {{open}}.",
13
13
  "working": "An agent is working on this."
14
14
  },
15
+ "account-id": "account ID {{id}}",
16
+ "account-id-title": "Account ID: {{id}}",
15
17
  "panel": {
16
18
  "title": "Assistant",
17
19
  "region-label": "Assistant panel",
@@ -25,6 +27,7 @@
25
27
  "empty-title": "How can I help?",
26
28
  "empty-description": "Ask a question or describe a task. Actions that change data always ask for your approval first.",
27
29
  "conversation-closed": "This conversation cannot continue. Start a new conversation.",
30
+ "last-turn-failed": "The last answer could not be completed. Send your message again to continue.",
28
31
  "dismiss-error": "Dismiss message",
29
32
  "usage": "{{inputTokens}} input tokens, {{outputTokens}} output tokens, {{toolCalls}} tool calls",
30
33
  "open-preferences": "Your assistant preferences",
@@ -125,7 +128,9 @@
125
128
  "delegated-read": "Read with a person's rights",
126
129
  "delegated-hint": "The agent used the rights of the person who started it.",
127
130
  "agent-hint": "The agent used a right it was granted itself, beyond the rights of the people involved.",
128
- "delegated-read-hint": "The agent read this through the application's data gateway with the rights of the person who started it, or else of the person it works for. Only that person sees the result."
131
+ "delegated-read-hint": "The agent read this through the application's data gateway with the rights of the person who started it, or else of the person it works for. Only that person sees the result.",
132
+ "accountable": "Rights of whom it works for",
133
+ "accountable-hint": "The agent used the rights of the person or technical account it works for. Only people with the same rights see the result."
129
134
  },
130
135
  "restricted": "Shielded: the agent obtained this with rights you do not have."
131
136
  },
@@ -233,7 +238,9 @@
233
238
  "assistant-proposal-stale": "Not run: the proposal no longer applied.",
234
239
  "assistant-proposal-execution-failed": "The approved proposal could not be run.",
235
240
  "assistant-proposal-already-open": "Not proposed again: the same proposal already waits.",
236
- "assistant-proposal-recently-rejected": "Not proposed again: people rejected it recently."
241
+ "assistant-proposal-recently-rejected": "Not proposed again: people rejected it recently.",
242
+ "assistant-proposal-placed": "Proposed at its object; waits for that object's approvers",
243
+ "assistant-proposal-not-placed": "Not proposed: the object it concerns does not accept it."
237
244
  },
238
245
  "errors": {
239
246
  "generic": "Something went wrong. Please try again.",
@@ -252,6 +259,16 @@
252
259
  "assistant-mcp-host-blocked": "This host is not allowed for MCP servers or for forwarding the user's token.",
253
260
  "assistant-mcp-schema-changed": "The tool's input changed on the server. Review it and enable it again.",
254
261
  "assistant-mcp-tool-disabled": "This tool is disabled.",
262
+ "assistant-mcp-insufficient-scope": "The MCP server accepted the credentials, but they lack a permission this action needs.",
263
+ "assistant-mcp-headless-not-allowed": "This MCP server may not be used in background runs.",
264
+ "assistant-mcp-credential-mismatch": "The MCP call was not sent because it was authorized for someone other than the person whose token the connection carries.",
265
+ "assistant-mcp-consent-required": "The person this background run acts for has not allowed this MCP server with their own account.",
266
+ "assistant-mcp-initiator-only": "A run someone asked for uses only that person's own connection to this MCP server, and this run acts for someone else.",
267
+ "assistant-mcp-delegated-token-unavailable": "No short-lived token could be issued for the person this background run acts for.",
268
+ "assistant-mcp-secret-reference-invalid": "The secret reference names no available secret. Check the prefix and the name.",
269
+ "assistant-mcp-certificate-reference-invalid": "The client certificate is not configured or has no private key.",
270
+ "assistant-mcp-secret-unreadable": "A stored secret of this server can no longer be read. An administrator enters it again.",
271
+ "assistant-mcp-secret-unavailable": "The secret of this server could not be read just now. Please try again.",
255
272
  "assistant-instructions-too-long": "The text is too long. Shorten it to at most 20,000 characters.",
256
273
  "assistant-context-not-found": "The application context was not found. Reload the page.",
257
274
  "assistant-mcp-server-not-found": "The MCP server no longer exists. Reload the list.",
@@ -293,8 +310,11 @@
293
310
  "assistant-push-unavailable": "Desktop notifications are not available.",
294
311
  "assistant-push-subscription-invalid": "This browser could not be registered for notifications.",
295
312
  "assistant-conversation-removed": "This conversation is no longer available to you.",
296
- "assistant-subject-not-found": "The subject no longer exists.",
313
+ "assistant-subject-not-found": "This object does not exist, or you may not see it.",
314
+ "assistant-subject-invalid": "This is not a valid reference to an object. Check the kind of object and its id.",
297
315
  "assistant-subject-type-unknown": "This kind of subject is not known to the assistant.",
316
+ "assistant-subject-search-unavailable": "This kind of object cannot be searched; give its id.",
317
+ "assistant-agent-does-not-work-on": "This agent does not work on this kind of object.",
298
318
  "assistant-subject-access-denied": "Your role on this subject does not allow this.",
299
319
  "assistant-no-accountable-owner": "Nobody answers for this agent on this subject.",
300
320
  "assistant-agent-disabled": "This agent has been stopped.",
@@ -319,6 +339,12 @@
319
339
  "assistant-agent-not-configured": "This agent cannot run on its own.",
320
340
  "assistant-run-not-found": "The run was not found.",
321
341
  "assistant-run-not-retryable": "This run cannot be retried.",
342
+ "assistant-run-filter-invalid": "The filter of the runs is not valid.",
343
+ "assistant-run-operation-cancelled": "The run was cancelled because its background operation was cancelled.",
344
+ "assistant-run-operation-stalled": "The run failed because no worker started its background operation.",
345
+ "assistant-run-operation-ended": "The run failed because its background operation ended before the run finished.",
346
+ "assistant-board-not-found": "This board does not exist, or you may not see any of its agents.",
347
+ "assistant-board-scope-invalid": "The division of the board is not valid.",
322
348
  "assistant-approval-policy-denied": "You may not decide this proposal.",
323
349
  "assistant-four-eyes-required": "Someone other than the person who started this must decide it.",
324
350
  "assistant-execution-not-uncertain": "This execution is not waiting to be resolved.",
@@ -329,8 +355,11 @@
329
355
  "assistant-proposal-superseded": "A newer proposal replaced this one.",
330
356
  "assistant-proposal-refused": "This action cannot be proposed by an automatic rule.",
331
357
  "assistant-trigger-not-found": "The trigger was not found.",
358
+ "assistant-trigger-rate-limited": "This agent already ran as often as it may today for this object. Try again later.",
359
+ "assistant-trigger-rolled-back": "The run could not be queued. Please try again.",
332
360
  "assistant-webhook-signature-invalid": "The webhook call has no valid signature.",
333
361
  "assistant-webhook-payload-invalid": "The webhook call could not be read.",
362
+ "assistant-webhook-payload-too-large": "The webhook call is larger than allowed.",
334
363
  "assistant-memory-not-configured": "This agent keeps no working memory.",
335
364
  "assistant-memory-invalid": "The working memory change does not fit its schema.",
336
365
  "assistant-memory-conflict": "The working memory changed at the same time.",
@@ -350,7 +379,35 @@
350
379
  "assistant-moved-to-shadow": "The work went to the agent's shadow thread, where a run in shadow takes it.",
351
380
  "assistant-shadow-variant": "A shadow variant always works in shadow.",
352
381
  "assistant-service-account-not-used": "This agent does not answer to a technical account.",
353
- "assistant-service-account-not-found": "No account that may sign in exists with this id."
382
+ "assistant-service-account-not-found": "No account that may sign in exists with this id.",
383
+ "assistant-skill-in-code": "This skill is part of the code and cannot change here.",
384
+ "assistant-trigger-in-code": "This trigger is part of the code and cannot change here.",
385
+ "assistant-skill-in-use": "A trigger still starts this skill. Change or remove the trigger first.",
386
+ "assistant-configuration-limit": "This agent already has as many skills or triggers as allowed.",
387
+ "assistant-run-settings-in-code": "This agent is part of the code; its runs are configured there.",
388
+ "assistant-run-settings-in-use": "Skills or triggers still belong to this agent. Remove them first.",
389
+ "assistant-skill-candidate-not-found": "This skill has no version being evaluated in shadow.",
390
+ "assistant-skill-version-gone": "The skill version this run was for is no longer evaluated.",
391
+ "assistant-account-search-unavailable": "The application offers no account search; enter the account's id.",
392
+ "assistant-mcp-connection-required": "This server needs a connection first. Connect it and try again.",
393
+ "assistant-mcp-reauthorization-required": "The connection to this server ended. Connect again to continue.",
394
+ "assistant-mcp-scope-not-allowed": "The server asks for permissions that the administrator did not allow.",
395
+ "assistant-mcp-authorization-failed": "The authorization was not given. Try again, or ask the server's administrator.",
396
+ "assistant-mcp-authorization-expired": "The authorization took too long or was already used. Start again.",
397
+ "assistant-mcp-authorization-invalid": "The authorization could not be verified. Start again.",
398
+ "assistant-mcp-discovery-failed": "The server's authorization details could not be read or do not match the server.",
399
+ "assistant-mcp-pkce-unsupported": "The authorization server does not support the required protection (PKCE with S256).",
400
+ "assistant-mcp-client-registration-required": "The host is not registered at the authorization server. Enter a client id from the server's administrator.",
401
+ "assistant-mcp-token-request-failed": "The authorization server did not answer as expected. Try again later.",
402
+ "assistant-mcp-issuer-changed": "The server now uses another authorization server. An administrator has to confirm it before it is used.",
403
+ "assistant-mcp-authorization-not-confirmed": "An administrator has to confirm the server's authorization server first.",
404
+ "assistant-mcp-oauth-not-configured": "The application has no OAuth redirect address for MCP servers. Ask the developers to configure it.",
405
+ "assistant-mcp-too-many-authorizations": "Too many authorizations are still open. Finish or wait for them, then try again.",
406
+ "assistant-mcp-connection-not-supported": "This server has no connection of this kind.",
407
+ "assistant-mcp-authorization-cancelled": "The authorization window was closed before it finished.",
408
+ "assistant-mcp-popup-blocked": "The browser blocked the authorization window. Allow pop-ups for this site and try again.",
409
+ "assistant-proposal-placed": "The proposal waits at the object it concerns, for that object's approvers.",
410
+ "assistant-proposal-not-placed": "The proposal was not placed at the object it concerns."
354
411
  },
355
412
  "notices": {
356
413
  "no-answer": "The assistant finished without an answer. Try again or rephrase your question.",
@@ -400,6 +457,33 @@
400
457
  "blocked": "Your browser blocks notifications for this site. Allow them in the browser settings.",
401
458
  "off": "Notifications are off for all your devices.",
402
459
  "unavailable": "Notifications are not available."
460
+ },
461
+ "mcp": {
462
+ "title": "Background use with your account",
463
+ "description": "Agents may use these services in runs without you, with your own account. Allow it per service; you can withdraw it at any time. A changed service asks for your permission again.",
464
+ "allow": "Allow {{name}} in background runs",
465
+ "allowed-since": "Allowed since {{date}}",
466
+ "not-allowed": "Not allowed",
467
+ "used-by": "Used by:",
468
+ "load-failed": "The services that ask for your permission could not be loaded.",
469
+ "accounts-title": "Connected services",
470
+ "accounts-description": "Agents use these services with your own account. Connect a service to let them work with it; disconnecting revokes the access at once.",
471
+ "status": {
472
+ "not-connected": "Not connected",
473
+ "active": "Connected",
474
+ "reauthorization-required": "Connect again",
475
+ "issuer-changed": "Paused by the administrator"
476
+ },
477
+ "connected-since": "Connected since {{date}}",
478
+ "more-permissions": "The service asked for more permissions: {{scopes}}. Connect again to grant them.",
479
+ "issuer-changed": "The service changed how it signs in. An administrator confirms it first.",
480
+ "connect": "Connect",
481
+ "connect-again": "Connect again",
482
+ "disconnect": "Disconnect",
483
+ "confirm-disconnect": "Disconnect and revoke",
484
+ "cancel": "Cancel",
485
+ "connect-done": "{{name}} is connected.",
486
+ "disconnect-done": "{{name}} is disconnected and its access revoked."
403
487
  }
404
488
  },
405
489
  "admin": {
@@ -423,7 +507,6 @@
423
507
  "edit": "Edit",
424
508
  "delete": "Delete",
425
509
  "confirm-delete": "Confirm delete",
426
- "keep": "Keep",
427
510
  "enabled": "Enabled",
428
511
  "disabled": "Disabled",
429
512
  "enable": "Enable",
@@ -475,9 +558,8 @@
475
558
  "configured-off": "Off in configuration",
476
559
  "configured-off-hint": "Disabled in the application's code until the next deployment; it cannot be resumed here.",
477
560
  "changed": "Changed by {{user}} on {{date}}.",
478
- "reason": "Reason: {{reason}}",
561
+ "reason": "Note: {{reason}}",
479
562
  "waiting": "{{count}} events wait for the resume.",
480
- "reason-label": "Reason (optional)",
481
563
  "action": {
482
564
  "active": "Resume",
483
565
  "paused": "Pause",
@@ -492,7 +574,9 @@
492
574
  "active": "Confirm resume",
493
575
  "paused": "Confirm pause",
494
576
  "stopped": "Confirm stop"
495
- }
577
+ },
578
+ "note-label": "Note for other administrators (optional)",
579
+ "note-hint": "Shown on this agent with your name and the time until the next change. The agent does not read it."
496
580
  },
497
581
  "skills": {
498
582
  "title": "Skills",
@@ -512,22 +596,29 @@
512
596
  "action": {
513
597
  "shadow": "Put in shadow",
514
598
  "live": "Put live",
515
- "code": "Follow the code"
599
+ "code": "Follow the code",
600
+ "own": "Back to its own setting"
516
601
  },
517
602
  "explain": {
518
603
  "shadow": "New runs work in shadow threads that only administrators see: nobody is notified and nothing proposed there executes. Running work finishes as it started; the live threads and their open proposals stay.",
519
604
  "live": "New runs work live: people see them, are notified and decide their proposals.",
520
- "code": "The mode in code decides again."
605
+ "code": "The mode in code decides again.",
606
+ "own": "The agent's own setting decides again: {{mode}}."
521
607
  },
522
608
  "skill-explain": {
523
609
  "shadow": "Work that reaches the skill {{skill}} goes to the shadow threads; the other skills keep their mode.",
524
610
  "live": "The skill {{skill}} works live again, unless its agent works in shadow.",
525
- "code": "The mode in code decides again for the skill {{skill}}."
611
+ "code": "The mode in code decides again for the skill {{skill}}.",
612
+ "own": "The own setting of the skill {{skill}} decides again: {{mode}}."
526
613
  },
527
614
  "confirm": {
528
615
  "shadow": "Confirm shadow",
529
616
  "live": "Confirm live",
530
617
  "code": "Confirm"
618
+ },
619
+ "mode": {
620
+ "shadow": "in shadow",
621
+ "live": "live"
531
622
  }
532
623
  },
533
624
  "service-account": {
@@ -545,8 +636,32 @@
545
636
  "confirm": {
546
637
  "set": "Confirm account",
547
638
  "code": "Confirm"
548
- }
549
- }
639
+ },
640
+ "input-label-search": "Account"
641
+ },
642
+ "run-config": "Run configuration",
643
+ "run-now": "Run now",
644
+ "runs": "Runs",
645
+ "chat": {
646
+ "hidden": "Not in the chat"
647
+ },
648
+ "version-label": "Version",
649
+ "tool-count-one": "{{count}} tool selector",
650
+ "server-count-one": "{{count}} MCP server",
651
+ "required-policy": "Requires:",
652
+ "works-on": {
653
+ "label": "Works on:",
654
+ "all": "All objects",
655
+ "application": "The whole application",
656
+ "and-application": "and the whole application",
657
+ "per-division": "per division",
658
+ "undeclared": "(not stated in code)",
659
+ "known": "Known to work on: {{types}}.",
660
+ "run-policy": "Run for the whole application by: {{policy}}.",
661
+ "view-policy": "Results for the whole application seen by: {{policy}}."
662
+ },
663
+ "groups": "Groups: {{groups}}",
664
+ "catalog-failed": "The building blocks of agent runs could not be read. Until they are, agents cannot be run now here and what an agent works on and its groups stay as they are."
550
665
  },
551
666
  "agent-editor": {
552
667
  "new-title": "New agent",
@@ -574,7 +689,46 @@
574
689
  "matches": "{{count}} catalog tools match the selectors.",
575
690
  "mcp-servers": "MCP servers",
576
691
  "mcp-servers-hint": "Enabled tools of these servers become available to this agent.",
577
- "mcp-servers-empty": "No MCP servers are configured."
692
+ "mcp-servers-empty": "No MCP servers are configured.",
693
+ "use": {
694
+ "title": "How is this agent used?",
695
+ "chat": "In the chat",
696
+ "chat-hint": "People choose it in the assistant to ask questions and get work done.",
697
+ "background": "On its own",
698
+ "background-hint": "It starts on events or a schedule and proposes work; it is not offered in the chat.",
699
+ "both": "Both",
700
+ "both-hint": "Offered in the chat, and it also starts on events or a schedule.",
701
+ "next": "After saving, a short setup asks when the agent starts, what it does and on whose behalf."
702
+ },
703
+ "works-on": {
704
+ "title": "What does this agent work on?",
705
+ "hint": "Events, schedules, people and other agents start it only on what it works on.",
706
+ "all": "All objects",
707
+ "all-hint": "Every kind of object the application has, now and later.",
708
+ "types": "Chosen kinds of objects",
709
+ "types-hint": "Only the kinds of objects you tick below.",
710
+ "no-types": "The application has no kinds of objects to choose from.",
711
+ "too-many": "Choose at most 20 kinds of objects, or All objects.",
712
+ "known": "Known to work on: {{types}}.",
713
+ "application": "The whole application",
714
+ "application-hint": "Work that concerns no single object, such as a weekly overview.",
715
+ "per-division": "Per division",
716
+ "per-division-hint": "Its work for the whole application, such as its schedules, runs separately for every division.",
717
+ "missing": "Choose at least one kind of object, or the whole application.",
718
+ "run-policy": "Who may run it for the whole application",
719
+ "run-policy-default": "Administrators (default)",
720
+ "run-policy-hint": "People who pass this may start the agent for the whole application.",
721
+ "view-policy": "Who sees its results for the whole application",
722
+ "view-policy-default": "Everyone who may use the agent (default)",
723
+ "view-policy-hint": "Results on an object follow who may read that object."
724
+ },
725
+ "groups": {
726
+ "title": "Groups",
727
+ "hint": "Pages of the application show the agents of a group on a board, with their latest results. Your choice wins over the code.",
728
+ "in-code": "In this group in code",
729
+ "shadow-variant": "A shadow variant works for administrators only and joins no group."
730
+ },
731
+ "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."
578
732
  },
579
733
  "effect": {
580
734
  "read-only": "Read only",
@@ -607,12 +761,59 @@
607
761
  "unassigned": "Not assigned to an agent",
608
762
  "secret-set": "Secret set",
609
763
  "no-secret": "No secret",
764
+ "secret-reference": "Secret from {{reference}}",
765
+ "client-certificate": "Client certificate {{name}}",
766
+ "transport-fallback": "HTTP+SSE fallback",
767
+ "connected": "Last connection {{date}}",
768
+ "connect-failed": "Last connection failed {{date}}",
769
+ "never-connected": "Not connected yet",
770
+ "headless": {
771
+ "never": "Not in background runs",
772
+ "organization": "Background runs with this credential",
773
+ "personal": "Background runs with the person's own account, after consent"
774
+ },
610
775
  "auth": {
611
776
  "none": "No authentication",
612
777
  "bearer": "Bearer token",
613
778
  "api-key": "API key",
614
- "forward-user-token": "Forward the user's token"
615
- }
779
+ "basic": "User name and password",
780
+ "forward-user-token": "Forward the user's token",
781
+ "oauth": "OAuth (authorization)",
782
+ "oauth-client-credentials": "OAuth client credentials"
783
+ },
784
+ "transport": {
785
+ "streamable-http": "Streamable HTTP",
786
+ "auto": "Streamable HTTP with fallback to HTTP+SSE (deprecated)"
787
+ },
788
+ "connection-scope": {
789
+ "organization": "One connection for everyone",
790
+ "user": "Each person connects"
791
+ },
792
+ "connection-status": {
793
+ "not-connected": "Not connected",
794
+ "active": "Connected",
795
+ "reauthorization-required": "Connect again",
796
+ "issuer-changed": "Waiting for confirmation"
797
+ },
798
+ "organization-account": "Everyone acts as {{account}}",
799
+ "connected-by": "Connected by {{actor}} on {{date}}",
800
+ "connect": "Connect",
801
+ "reconnect": "Connect again",
802
+ "disconnect": "Disconnect",
803
+ "confirm-disconnect": "Disconnect and revoke",
804
+ "connecting": "Waiting for the authorization…",
805
+ "connect-done": "The organization's account is connected.",
806
+ "disconnect-done": "The connection was removed and its tokens revoked.",
807
+ "personal-connections": "Personal connections: {{active}}",
808
+ "revoke-all": "Revoke all personal connections",
809
+ "confirm-revoke-all": "Revoke for everyone",
810
+ "revoke-all-done": "Every personal connection was revoked.",
811
+ "issuer-changed": "The server named another authorization server. Edit the server and confirm it.",
812
+ "required-scopes": "The server asked for: {{scopes}}",
813
+ "connect-own": "Connect my account",
814
+ "connect-own-done": "Your own account is connected; tests and syncs use it.",
815
+ "personal-attention": "{{count}} need to connect again",
816
+ "personal-connections-failed": "The personal connections could not be counted."
616
817
  },
617
818
  "server-editor": {
618
819
  "new-title": "New MCP server",
@@ -626,6 +827,10 @@
626
827
  "auth-mode": "Authentication",
627
828
  "header-name": "Header name",
628
829
  "header-name-hint": "Default X-Api-Key.",
830
+ "header-name-invalid": "Use 1 to 128 letters, digits and dashes.",
831
+ "user-name": "User name",
832
+ "user-name-hint": "Sent with the secret as basic authentication.",
833
+ "user-name-invalid": "Enter a user name without a colon, at most 256 characters.",
629
834
  "secret": "Secret",
630
835
  "secret-hint": "Stored encrypted and never shown again.",
631
836
  "secret-set": "A secret is set.",
@@ -635,10 +840,58 @@
635
840
  "secret-will-clear": "The secret will be cleared when you save.",
636
841
  "secret-undo": "Keep the current secret",
637
842
  "secret-new": "New secret",
843
+ "secret-source": "Where the secret is",
844
+ "secret-source-stored": "Stored here, encrypted",
845
+ "secret-source-reference": "A secret of the application",
846
+ "secret-reference": "Secret reference",
847
+ "secret-reference-hint": "config:<name> reads NewHeap:AI:Assistant:Mcp:Secrets:<name> from the configuration; another prefix is a source the application registered, such as a vault. The secret is read for every connection, so a rotation applies at once.",
848
+ "secret-reference-invalid": "Enter a reference such as config:planning-token.",
849
+ "client-certificate": "Client certificate",
850
+ "client-certificate-hint": "Optional. The name of a certificate that the application configured under NewHeap:AI:Assistant:Mcp:ClientCertificates, presented for mutual TLS.",
851
+ "client-certificate-invalid": "Use letters, digits, dots, underscores and dashes.",
852
+ "transport": "Transport",
853
+ "transport-hint": "Choose the fallback only for a server that does not offer Streamable HTTP yet.",
638
854
  "forward-warning": "The signed-in user's token is sent to this server. The server's host must be on the allow-list of the application.",
855
+ "custom-auth": {
856
+ "organization": "The application supplies this credential; every caller shares it. It takes no secret here.",
857
+ "person": "The application supplies each person's own credential. It takes no secret here."
858
+ },
859
+ "headless-use": "Background runs",
860
+ "headless-use-hint": "Agents that work without a person may use the tools with this server's own credential. The call still needs the rights of the person the agent works for, or, for an agent that acts for itself, a grant in the application code (mcp.<server id>.*).",
861
+ "headless-use-personal": "Background runs may use the server with a short-lived token of the person the run acts for, only after that person allowed it in their preferences.",
639
862
  "required-policy": "Required policy",
640
863
  "required-policy-hint": "Optional. The server's tools are only available to users who pass this policy.",
641
- "enabled": "Server is enabled"
864
+ "enabled": "Server is enabled",
865
+ "connection-scope": "Who connects",
866
+ "connection-scope-hint": "One connection makes everyone act as the organization's account. With personal connections every person connects their own account and the server sees who acts.",
867
+ "oauth-warning": "With one connection for everyone, every user of the server's agents acts as the connected account, with all its rights.",
868
+ "discover": "Read authorization",
869
+ "discovering": "Reading…",
870
+ "discovery-title": "Authorization found",
871
+ "discovery-issuer": "Authorization server",
872
+ "discovery-resource": "Resource",
873
+ "discovery-scopes": "Scopes offered",
874
+ "discovery-registration": "Registration",
875
+ "registration-metadata-document": "By the host's client metadata document",
876
+ "registration-dynamic": "Dynamic registration",
877
+ "registration-manual": "A client id from the server's administrator is needed",
878
+ "pkce-missing": "This authorization server does not support PKCE with S256; it cannot be used.",
879
+ "confirm-authorization": "I confirm this authorization server for the server",
880
+ "confirm-authorization-hint": "Tokens are only requested from the confirmed authorization server. When the server names another one later, connections stop until you confirm again.",
881
+ "confirmed-authorization": "Confirmed: {{issuer}}",
882
+ "confirm-required": "Read the authorization and confirm it.",
883
+ "scopes": "Scopes",
884
+ "scopes-hint": "Space-separated. Only these scopes are requested; empty leaves the choice to the authorization server.",
885
+ "scopes-invalid": "Use scope names without quotes or backslashes, at most 1,024 characters.",
886
+ "client-id": "Client id",
887
+ "client-id-hint": "Optional for authorization: without one the host registers itself when the server allows it. Required for client credentials.",
888
+ "client-id-required": "Enter the client id the authorization server issued.",
889
+ "client-secret": "Client secret",
890
+ "client-secret-hint": "Stored encrypted and never shown again. Client credentials need a secret, a reference or the client certificate (private_key_jwt).",
891
+ "client-secret-reference": "Client secret reference",
892
+ "organization-account-label": "Connected account",
893
+ "organization-account-label-hint": "Which account the organization connects, for example \"Planning service account\". Everyone using the server sees it.",
894
+ "organization-account-label-required": "Name the account that will be connected."
642
895
  },
643
896
  "tools": {
644
897
  "title": "Tools of {{name}}",
@@ -784,6 +1037,516 @@
784
1037
  "stopped": "Stopped"
785
1038
  },
786
1039
  "replay-progress": "{{replayed}} of at most {{max}} runs replayed, {{skipped}} skipped"
1040
+ },
1041
+ "run-config": {
1042
+ "back": "Back to agents",
1043
+ "title": "Run configuration of {{name}}",
1044
+ "description": "Skills and triggers that the administration adds without a deploy, made of the building blocks the application registers. New skills and triggers start in shadow, where nobody is notified and nothing executes.",
1045
+ "problems": {
1046
+ "kind": {
1047
+ "agent": "Run settings:",
1048
+ "skill": "Skill {{id}}:",
1049
+ "candidate": "Candidate of skill {{id}}:",
1050
+ "trigger": "Trigger {{id}}:"
1051
+ },
1052
+ "code": {
1053
+ "unknown-agent": "the agent can no longer run on its own.",
1054
+ "conflicts-with-code": "the application now declares one with the same id.",
1055
+ "too-many-skills": "the agent has more skills than allowed.",
1056
+ "tool-not-covered": "a tool is outside the agent's own tools.",
1057
+ "unknown-profile": "the model profile no longer exists.",
1058
+ "unknown-policy": "the approval policy no longer exists.",
1059
+ "unknown-rule-handler": "the rules no longer exist.",
1060
+ "unknown-event": "the event no longer exists.",
1061
+ "unknown-subject-set": "the set of subjects no longer exists.",
1062
+ "unknown-skill": "the skill no longer exists.",
1063
+ "invalid-schedule": "the schedule or its time zone is not valid.",
1064
+ "invalid": "a value is not valid.",
1065
+ "not-worked-on": "it concerns a kind of object, or the whole application, that the agent does not work on."
1066
+ }
1067
+ },
1068
+ "field-errors": {
1069
+ "required": "Required.",
1070
+ "invalid": "Not valid here.",
1071
+ "too-long": "Too long.",
1072
+ "not-found": "The application does not know this name.",
1073
+ "at-least": "Enter a whole number of at least {{min}}.",
1074
+ "between": "Enter a whole number from {{min}} to {{max}}.",
1075
+ "budget-pair": "Fill in both daily limits, or neither.",
1076
+ "dash-case": "Use lowercase letters, digits and dashes, starting with a letter.",
1077
+ "taken": "This id is already in use.",
1078
+ "name-letters": "Use at least one letter in the name.",
1079
+ "instructions-for-model": "Without fixed rules the model works from these instructions; describe what it should do.",
1080
+ "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."
1081
+ },
1082
+ "settings": {
1083
+ "title": "Run settings",
1084
+ "empty": "This agent only chats. Let it work on its own: it then starts on events or a schedule, works by rules or with the model, and proposes changes that people approve.",
1085
+ "rights": "It has no rights of its own: in runs without a person it uses what the account it answers to may use, within its tools.",
1086
+ "add": "Add run settings",
1087
+ "edit": "Change run settings",
1088
+ "remove": "Remove run settings",
1089
+ "remove-explain": "The agent then only chats. Remove its skills and triggers first.",
1090
+ "saved": "The run settings are saved.",
1091
+ "removed": "The agent only chats again.",
1092
+ "accountability-label": "Answers to",
1093
+ "accountability": {
1094
+ "agent": "The agent itself",
1095
+ "subject-responsible": "The person responsible for the subject",
1096
+ "service-account": "A technical account"
1097
+ },
1098
+ "accountability-hint": "The agent acts with this account's rights. An agent that answers to itself has none and can only propose.",
1099
+ "service-account": "Technical account",
1100
+ "triage": "Triage profile",
1101
+ "triage-hint": "A cheap model that chooses the skill of a run that no trigger or rule routed.",
1102
+ "retries": "Retries after a failure",
1103
+ "max-concurrent": "Runs at the same time",
1104
+ "max-per-subject": "Runs per subject per day",
1105
+ "elevated-reads": "Reads with the account's rights",
1106
+ "elevated": {
1107
+ "restricted": "Shield from readers without the right",
1108
+ "deny": "Refuse"
1109
+ },
1110
+ "gateway-reads": "Read through the application's data gateway with the account's rights",
1111
+ "delegate": "Also use what the person who starts a run may use",
1112
+ "add-title": "Run settings",
1113
+ "edit-title": "Change the run settings",
1114
+ "who": {
1115
+ "title": "On whose behalf does the agent work?",
1116
+ "short": "On behalf of",
1117
+ "explain": "The agent has no rights of its own. In runs without a person it uses what this account may use, within its own tools."
1118
+ },
1119
+ "accountability-explain": {
1120
+ "service-account": "A technical account, for example an operations account. The usual choice.",
1121
+ "subject-responsible": "The person responsible for the project or customer the run is about.",
1122
+ "agent": "The agent itself: it has no rights and can only propose."
1123
+ },
1124
+ "how": {
1125
+ "title": "How does it work?",
1126
+ "hint": "Fixed rules decide without a model and hand doubtful cases to the model. This applies to runs that no skill handles."
1127
+ },
1128
+ "approval": {
1129
+ "title": "Who approves its proposals?",
1130
+ "default": "The application's default",
1131
+ "hint": "Proposals that change data wait for this approval; nothing executes before it."
1132
+ },
1133
+ "no-triage": "No triage",
1134
+ "retries-hint": "How often a failed run is tried again.",
1135
+ "max-concurrent-hint": "Runs of this agent that work at the same time.",
1136
+ "max-per-subject-hint": "Protects a project or customer from too many runs in one day.",
1137
+ "elevated-reads-hint": "What happens when the agent reads data that the reader of its thread may not see.",
1138
+ "gateway-reads-hint": "Lets the agent read through the application's data gateway, such as its API, as the account.",
1139
+ "delegate-hint": "When a person starts a run by hand, the agent may also use that person's rights."
1140
+ },
1141
+ "rule-handler": "Rules",
1142
+ "rule-handler-value": "Rules: {{name}}",
1143
+ "policy-value": "Approval: {{name}}",
1144
+ "profile-value": "Model: {{name}}",
1145
+ "approval-policy": "Approval policy",
1146
+ "model": "The model decides (no fixed rules)",
1147
+ "none": "None",
1148
+ "choose": "Choose…",
1149
+ "max-tokens": "Tokens per run",
1150
+ "daily-tool-calls": "Tool calls per day",
1151
+ "daily-tokens": "Tokens per day",
1152
+ "budget-hint": "Leave empty for no limit. A daily budget needs both tool calls and tokens.",
1153
+ "out-of-effect": "Out of effect",
1154
+ "changed": "Changed by {{user}} on {{date}}.",
1155
+ "needs-settings": "Give the agent run settings before you add skills and triggers.",
1156
+ "skills": {
1157
+ "description": "Skills in code come from the application. Skills added here have versions; a change goes live at once or runs in shadow next to the live version first.",
1158
+ "add": "Add skill",
1159
+ "added": "The skill is added. It starts in shadow; put it live from the agent's list.",
1160
+ "saved": "The new version of the skill is live.",
1161
+ "saved-candidate": "The new version runs in shadow next to the live version.",
1162
+ "removed": "The skill is removed; its versions stay as history.",
1163
+ "empty": "The agent has no skills yet.",
1164
+ "new-title": "New skill",
1165
+ "edit-title": "Change skill {{skill}} (version {{version}})",
1166
+ "id": "Skill id",
1167
+ "id-hint": "Lowercase letters, digits and dashes, such as progress-note.",
1168
+ "description-label": "What the skill is for",
1169
+ "description-hint": "Triage and the model choose the skill by this description.",
1170
+ "instructions": "Instructions",
1171
+ "instructions-hint": "Read after the agent's own instructions while it works in the skill.",
1172
+ "tools": "Tools",
1173
+ "tools-hint": "The tools the agent offers; select some to narrow them for this skill. None selected: all of the agent's tools. Add tools to the agent with Edit.",
1174
+ "profile": "Model profile",
1175
+ "agent-profile": "The agent's profile",
1176
+ "agent-policy": "The agent's policy",
1177
+ "apply": "How the change takes effect",
1178
+ "apply-shadow": "Evaluate in shadow next to the live version first",
1179
+ "apply-live": "Put live at once",
1180
+ "starts-in-shadow": "A new skill starts in shadow.",
1181
+ "versions": "Versions",
1182
+ "remove-explain": "Its versions stay as history. A trigger that starts it must go first.",
1183
+ "what": {
1184
+ "title": "What is the skill for?"
1185
+ },
1186
+ "how": {
1187
+ "title": "How does it work?"
1188
+ },
1189
+ "rules-hint": "The rules decide without a model; a doubtful case goes to the model with the instructions below.",
1190
+ "model-hint": "The model decides with the instructions below and the chosen tools.",
1191
+ "profile-hint": "The model profile it uses; by default the agent's.",
1192
+ "apply-shadow-hint": "The new version runs next to the live one; compare them, then promote or discard it.",
1193
+ "apply-live-hint": "For a small correction: the new version replaces the live one at once.",
1194
+ "tools-pattern": "All tools that match: {{count}} now.",
1195
+ "background-hint": "Started by a trigger the agent works without a chat: what it writes is kept with its run in the thread of what it works on, and changes become proposals."
1196
+ },
1197
+ "candidate": {
1198
+ "badge": "Candidate v{{version}}",
1199
+ "explain": "Version {{version}} runs in shadow next to the live version on the same events: {{description}}",
1200
+ "compare": "Compare",
1201
+ "promote": "Promote",
1202
+ "confirm-promote": "Confirm promote",
1203
+ "discard": "Discard",
1204
+ "confirm-discard": "Confirm discard",
1205
+ "promoted": "The candidate is the live version now.",
1206
+ "discarded": "The candidate is discarded; it stays as history.",
1207
+ "comparison": "Live version and candidate of {{skill}}",
1208
+ "live-column": "Live (v{{version}})",
1209
+ "candidate-column": "Candidate (v{{version}})",
1210
+ "runs": "Runs",
1211
+ "completed": "Completed",
1212
+ "failed": "Failed",
1213
+ "proposals": "Proposals",
1214
+ "tokens": "Tokens",
1215
+ "paired": "Both handled {{count}} of the same events since {{date}}."
1216
+ },
1217
+ "status": {
1218
+ "live": "Live",
1219
+ "candidate": "Candidate",
1220
+ "superseded": "Earlier",
1221
+ "discarded": "Discarded"
1222
+ },
1223
+ "triggers": {
1224
+ "title": "Triggers",
1225
+ "description": "Triggers in code come from the application. Triggers added here start the agent on the application's events or on a schedule.",
1226
+ "add": "Add trigger",
1227
+ "added": "The trigger is added. It starts in shadow.",
1228
+ "saved": "The trigger is saved.",
1229
+ "removed": "The trigger is removed.",
1230
+ "live": "The trigger works live.",
1231
+ "in-shadow": "The trigger works in shadow.",
1232
+ "empty": "No triggers start the agent yet.",
1233
+ "new-title": "New trigger",
1234
+ "edit-title": "Change trigger {{trigger}}",
1235
+ "id": "Trigger id",
1236
+ "source": "Starts on",
1237
+ "source-event": "An event of the application",
1238
+ "source-schedule": "A schedule",
1239
+ "event": "Event",
1240
+ "debounce": "Wait for more events (seconds)",
1241
+ "cron": "Schedule (cron)",
1242
+ "cron-hint": "Five fields, such as 0 7 * * 1 for Mondays at seven.",
1243
+ "time-zone": "Time zone",
1244
+ "subject-set": "Subjects",
1245
+ "message": "Message to every run",
1246
+ "skill": "Skill",
1247
+ "agent-routes": "The agent chooses the skill",
1248
+ "skill-value": "Skill: {{skill}}",
1249
+ "conflict": "While a run is busy",
1250
+ "conflicts": {
1251
+ "coalesce": "Merge into the waiting run",
1252
+ "queue": "Wait for the run",
1253
+ "supersede": "Replace the run",
1254
+ "ignore": "Skip"
1255
+ },
1256
+ "sources": {
1257
+ "event": "Event",
1258
+ "schedule": "Schedule",
1259
+ "webhook": "Webhook"
1260
+ },
1261
+ "starts-in-shadow": "A new trigger starts in shadow.",
1262
+ "id-hint": "Lowercase letters, digits and dashes, for example project-created.",
1263
+ "when": {
1264
+ "title": "When does it start?"
1265
+ },
1266
+ "then": {
1267
+ "title": "Then"
1268
+ },
1269
+ "source-event-hint": "Something happens in the application, such as a project being created.",
1270
+ "source-schedule-hint": "At fixed times, for every subject in a set.",
1271
+ "source-schedule-application-hint": "At fixed times, for the whole application or for every object in a set.",
1272
+ "debounce-hint": "Waits this long for more events about the same subject and handles them in one run.",
1273
+ "subject-set-hint": "The projects or customers the schedule handles each time.",
1274
+ "message-hint": "What the agent reads as its task each time.",
1275
+ "examples": "Examples",
1276
+ "example": {
1277
+ "weekdays-8": "Weekdays at 8:00",
1278
+ "daily-7": "Daily at 7:00",
1279
+ "monday-9": "Mondays at 9:00",
1280
+ "hourly": "Every hour"
1281
+ },
1282
+ "conflict-explain": {
1283
+ "coalesce": "Adds the event to the waiting run.",
1284
+ "queue": "Runs again after the busy run.",
1285
+ "supersede": "Replaces the waiting run with this event.",
1286
+ "ignore": "Skips this event or tick."
1287
+ },
1288
+ "live-badge": "Live",
1289
+ "target": {
1290
+ "title": "What does it run for each time?",
1291
+ "application": "The whole application",
1292
+ "application-hint": "One run each time, about the application as a whole.",
1293
+ "application-per-division-hint": "One run each time for every division, each in its own thread.",
1294
+ "set": "Every object in a set",
1295
+ "set-hint": "One run each time for every object in a set, such as the active projects.",
1296
+ "every-division": "Every division",
1297
+ "dropped": "This schedule ran for the whole application, which the agent no longer works on. Choose a set of objects."
1298
+ }
1299
+ },
1300
+ "way-of-working": "Way of working",
1301
+ "check-fields": "Check the marked fields.",
1302
+ "limits": {
1303
+ "title": "Limits"
1304
+ },
1305
+ "advanced": {
1306
+ "title": "Advanced",
1307
+ "explain": "These options have sensible defaults; change them only when you need to."
1308
+ },
1309
+ "account": {
1310
+ "search-placeholder": "Search by name or e-mail address",
1311
+ "id-placeholder": "The account's id",
1312
+ "search-hint": "Choose the account by name or e-mail address. It must be able to sign in.",
1313
+ "id-hint": "The application offers no account search; enter the account's id. It must be able to sign in.",
1314
+ "known": "Account: {{name}}",
1315
+ "unknown": "The application does not know this account.",
1316
+ "lookup-again": "Look up again"
1317
+ },
1318
+ "policy-summary": {
1319
+ "who": "Approved by {{approvers}}.",
1320
+ "nobody": "Nobody is named to approve.",
1321
+ "or": "or",
1322
+ "wait": "A proposal waits {{duration}}.",
1323
+ "mode": {
1324
+ "inline": "The run waits for the decision.",
1325
+ "deferred": "The run ends; people decide later."
1326
+ },
1327
+ "four-eyes": "Whoever caused the proposal may not approve it.",
1328
+ "approver": {
1329
+ "initiator": "the person who caused it",
1330
+ "named-role": "someone with the role {{role}} on the subject",
1331
+ "subject-role": {
1332
+ "reader": "a reader of the subject",
1333
+ "participant": "a participant of the subject",
1334
+ "approver": "an approver of the subject"
1335
+ },
1336
+ "policy": "someone with the right {{policy}}"
1337
+ },
1338
+ "duration": {
1339
+ "minute": "1 minute",
1340
+ "minutes": "{{count}} minutes",
1341
+ "hour": "1 hour",
1342
+ "hours": "{{count}} hours",
1343
+ "day": "1 day",
1344
+ "days": "{{count}} days"
1345
+ }
1346
+ },
1347
+ "setup": {
1348
+ "start": "Let this agent work on its own",
1349
+ "title": "Let {{name}} work on its own",
1350
+ "explain": "Four short questions. Everything starts in shadow: the agent works, but nobody is notified and nothing executes until you put it live.",
1351
+ "progress": "Steps",
1352
+ "step": {
1353
+ "when": "When",
1354
+ "what": "What",
1355
+ "who": "On whose behalf",
1356
+ "limits": "Approval and limits",
1357
+ "review": "Review"
1358
+ },
1359
+ "when": {
1360
+ "title": "When does the agent start?"
1361
+ },
1362
+ "what": {
1363
+ "title": "What does it do?",
1364
+ "name": "Name of the task",
1365
+ "name-hint": "A short name, for example \"Start new projects\".",
1366
+ "name-id": "Its id becomes {{id}}."
1367
+ },
1368
+ "limits": {
1369
+ "title": "Who approves, and what are its limits?"
1370
+ },
1371
+ "review": {
1372
+ "title": "Review",
1373
+ "event": "When {{event}} happens",
1374
+ "schedule": "On the schedule {{cron}} ({{zone}}), for {{set}}",
1375
+ "schedule-application": "On the schedule {{cron}} ({{zone}}), for the whole application",
1376
+ "schedule-divisions": "On the schedule {{cron}} ({{zone}}), for the whole application in every division",
1377
+ "shadow": "The task and its trigger start in shadow. Put them live now, or later from the run configuration."
1378
+ },
1379
+ "no-events": "The application registers no events yet; choose a schedule.",
1380
+ "next": "Next",
1381
+ "back": "Back",
1382
+ "save-shadow": "Save in shadow",
1383
+ "save-live": "Save and put live",
1384
+ "done": "Saved.",
1385
+ "saved-shadow": "The agent works in shadow now: it runs, but nobody is notified and nothing executes. Put the task and its trigger live when the results are right.",
1386
+ "saved-live": "The agent works live now."
1387
+ },
1388
+ "note-hint": "Kept with this version in its history, with your name and the time. The agent does not read it.",
1389
+ "flow": {
1390
+ "title": "At a glance",
1391
+ "description": "How the agent works, from what it works on to its results. Each step opens the form that changes it.",
1392
+ "problems": "Some settings no longer fit the application and are out of effect. Each shows at its step below, with what fixes it.",
1393
+ "attention-one": "1 to fix",
1394
+ "attention": "{{count}} to fix",
1395
+ "warnings": "To fix",
1396
+ "steps": {
1397
+ "works-on": "What it works on",
1398
+ "when": "When it runs",
1399
+ "skills": "How it works",
1400
+ "account": "Who it answers to",
1401
+ "approval": "Who approves its proposals",
1402
+ "results": "Its results"
1403
+ },
1404
+ "works-on": {
1405
+ "undeclared": "Its code does not say, so it works on all objects and not on the whole application.",
1406
+ "in-code": "Set in the application's code."
1407
+ },
1408
+ "target": {
1409
+ "application": "For the whole application",
1410
+ "every-division": "For every division",
1411
+ "type": "For the object it names: {{value}}",
1412
+ "set": "For every object in {{value}}",
1413
+ "code-set": "For every object of a set in code",
1414
+ "when-fired": "For the object the event names"
1415
+ },
1416
+ "when": {
1417
+ "none": "No trigger starts it: it runs only when someone runs it now.",
1418
+ "scope": {
1419
+ "objects": "Run now: for one of the objects it works on.",
1420
+ "application": "Run now: for the whole application.",
1421
+ "application-and-objects": "Run now: for the whole application or one of the objects it works on.",
1422
+ "division": "Run now: for one division at a time.",
1423
+ "division-and-objects": "Run now: for one division at a time or one of the objects it works on."
1424
+ },
1425
+ "run-policy": "For the whole application only by: {{policy}}.",
1426
+ "run-policy-default": "the assistant's administrators",
1427
+ "paused": "It is paused: a run started now waits until it is resumed.",
1428
+ "run-now-unavailable": {
1429
+ "stopped": "Run now: not while the agent is stopped.",
1430
+ "configured-off": "Run now: not while the application's code switches the agent off.",
1431
+ "no-settings": "Run now: only once the agent has run settings.",
1432
+ "no-catalog": "Run now: not until the run catalog can be read."
1433
+ }
1434
+ },
1435
+ "skills": {
1436
+ "code-rules": "Fixed rules in the application's code",
1437
+ "none": "No skills: every run works by its way of working and instructions.",
1438
+ "tools": "Its tools",
1439
+ "no-tools": "No tools: it can only answer.",
1440
+ "more-tools": "And {{count}} more.",
1441
+ "places-at": "A run's proposal waits at the object it names ({{type}}), where that object's approvers decide.",
1442
+ "places-in-run": "A run's proposal waits in the run's own thread.",
1443
+ "servers": "Its MCP servers",
1444
+ "tool-not-offered": "{{selector}} is no longer offered: no tool of the application matches it."
1445
+ },
1446
+ "effect": {
1447
+ "read-only": "Reads",
1448
+ "idempotent-mutation": "Changes",
1449
+ "mutation": "Changes",
1450
+ "destructive": "Removes"
1451
+ },
1452
+ "servers": {
1453
+ "headless": {
1454
+ "never": "Not in runs on their own",
1455
+ "organization": "The organization's account",
1456
+ "personal": "Personal accounts"
1457
+ },
1458
+ "use": {
1459
+ "unknown": "Whether it is used in runs that start on their own is not known here.",
1460
+ "missing": "This server no longer exists.",
1461
+ "disabled": "The server is switched off.",
1462
+ "never": "Its tools are left out of runs that start on their own, such as trigger runs.",
1463
+ "organization": "Its tools are used in runs that start on their own, with the organization's credential.",
1464
+ "organization-grant": "Its tools are used in runs that start on their own with the organization's credential once the agent's code grants them, because the agent answers to itself.",
1465
+ "personal": "Its tools are used in runs that start on their own only with the consent of the person a run acts for.",
1466
+ "personal-responsible": "Its tools are used with the account of the person responsible for the object, once that person allows background use.",
1467
+ "personal-initiator": "Its tools are used only in runs a person started, with that person's account and consent.",
1468
+ "personal-never-account": "Its tools are not used: a technical account has no personal connection.",
1469
+ "personal-never-agent": "Its tools are not used: an agent that answers to itself has no personal connection."
1470
+ },
1471
+ "warning": {
1472
+ "missing": "MCP server {{server}} no longer exists.",
1473
+ "disabled": "MCP server {{server}} is switched off.",
1474
+ "never": "MCP server {{server}} is not used in runs that start on their own: its background use is off.",
1475
+ "personal-never-account": "MCP server {{server}} is not used: it works with personal accounts and the agent answers to a technical account.",
1476
+ "personal-never-agent": "MCP server {{server}} is not used: it works with personal accounts and the agent answers to itself."
1477
+ }
1478
+ },
1479
+ "account": {
1480
+ "no-settings": "It has no run settings yet, so it cannot run on its own.",
1481
+ "rights": {
1482
+ "agent": "It has no rights of its own and can only propose.",
1483
+ "subject-responsible": "Runs use what the person responsible for the object may use, within its tools.",
1484
+ "service-account": "Runs use what this account may use, within its tools."
1485
+ },
1486
+ "delegates": "It also uses what the person who starts a run may use.",
1487
+ "overridden": "An administrator replaced the account in code.",
1488
+ "in-code": "Set in the application's code."
1489
+ },
1490
+ "approval": {
1491
+ "autonomy": "What it may do:",
1492
+ "skill": "Skill {{skill}}:",
1493
+ "no-settings": "Chosen with the run settings.",
1494
+ "in-code": "Set in the application's code."
1495
+ },
1496
+ "results": {
1497
+ "groups": "Groups:",
1498
+ "no-groups": "In no group, so no board shows it.",
1499
+ "view-policy": "Its results for the whole application are seen by: {{policy}}.",
1500
+ "view-policy-default": "everyone who may use the agent",
1501
+ "shadow": "It works in shadow: its runs go to shadow threads that only administrators see.",
1502
+ "latest": "Latest runs",
1503
+ "more-runs": "And {{count}} earlier runs in its runs."
1504
+ },
1505
+ "entry": {
1506
+ "works-on": "Change what it works on",
1507
+ "tools": "Change its tools and MCP servers",
1508
+ "settings": "Change the run settings",
1509
+ "approval": "Change the approval",
1510
+ "runs": "All runs",
1511
+ "groups": "Change its groups",
1512
+ "mcp-servers": "Open the MCP servers",
1513
+ "edit-trigger": "Change the trigger",
1514
+ "edit-skill": "Change the skill",
1515
+ "edit-trigger-named": "Edit trigger {{trigger}}",
1516
+ "edit-skill-named": "Edit skill {{skill}}"
1517
+ }
1518
+ }
1519
+ },
1520
+ "runs": {
1521
+ "title": "Runs",
1522
+ "description": "Every run of this agent, newest first, with what it worked on, its result, proposals, usage and duration. Shadow runs are marked.",
1523
+ "back": "Back to agents",
1524
+ "back-to-run-config": "Back to the run configuration",
1525
+ "back-to-runs": "Back to the runs",
1526
+ "filters": "Filter the runs",
1527
+ "subject-type": "Works on",
1528
+ "any-subject": "Everything",
1529
+ "whole-application": "The whole application",
1530
+ "subject-id": "Object",
1531
+ "subject-id-hint": "The object's id, as a run shows it; leave it empty for every object of this kind.",
1532
+ "status": "Status",
1533
+ "any-status": "Every status",
1534
+ "from": "From",
1535
+ "to": "Until (inclusive)",
1536
+ "period-invalid": "The end of the period comes before its start.",
1537
+ "apply": "Show runs",
1538
+ "clear": "Clear filters",
1539
+ "empty": "No runs match.",
1540
+ "count": "{{shown}} of {{total}} runs",
1541
+ "more": "Show more runs",
1542
+ "only-object": "Runs on this object",
1543
+ "only-application": "Runs for the whole application"
1544
+ },
1545
+ "account-names-failed": "The names of accounts could not be read; their account IDs are shown instead.",
1546
+ "account": {
1547
+ "id": "Account ID {{id}}",
1548
+ "copy-id": "Copy the account ID of {{name}}",
1549
+ "id-copied": "Account ID copied"
787
1550
  }
788
1551
  },
789
1552
  "page-context": {
@@ -865,9 +1628,14 @@
865
1628
  "superseded": "The current run stops and the agent starts again.",
866
1629
  "ignored": "The agent is busy; nothing was started.",
867
1630
  "deduplicated": "This was already started.",
868
- "rejected": "The agent could not be started."
1631
+ "waiting": "The agent is paused. It starts when it is resumed.",
1632
+ "deferred": "The start is recorded and goes ahead as soon as the change it belongs to is saved."
869
1633
  },
870
- "shadow": "Shadow thread: only administrators see it, and nothing proposed here executes."
1634
+ "shadow": "Shadow thread: only administrators see it, and nothing proposed here executes.",
1635
+ "waiting": {
1636
+ "assistant-agent-paused": "The agent is paused. This run starts when an administrator resumes it.",
1637
+ "assistant-skill-paused": "The agent's skill for this is paused. This run starts when an administrator resumes it."
1638
+ }
871
1639
  },
872
1640
  "subject": {
873
1641
  "title": "Agent suggestions",
@@ -931,7 +1699,15 @@
931
1699
  "dismiss": "Dismiss",
932
1700
  "dismiss-label": "Dismiss the closed proposal: {{summary}}",
933
1701
  "show-successor": "Show the newer proposal",
934
- "stale-by": "Overtaken by {{actor}}"
1702
+ "stale-by": "Overtaken by {{actor}}",
1703
+ "placed-by": {
1704
+ "application": "Proposed by a run for the whole application",
1705
+ "division": "Proposed by a run for the whole application in {{name}}",
1706
+ "object": "Proposed by a run for another object",
1707
+ "object-named": "Proposed by a run for another object: {{type}}",
1708
+ "open": "Open the run's conversation",
1709
+ "open-label": "Open the conversation of the run that proposed this"
1710
+ }
935
1711
  },
936
1712
  "run": {
937
1713
  "empty": "No runs yet.",
@@ -962,6 +1738,7 @@
962
1738
  "tool-calls": "{{count}} tool calls",
963
1739
  "tokens": "{{count}} tokens",
964
1740
  "proposals": "{{count}} proposals",
1741
+ "mcp-skipped": "{{count}} connected services left out",
965
1742
  "attempt": "Attempt {{attempt}}",
966
1743
  "cancel": "Cancel",
967
1744
  "resume": "Resume",
@@ -993,7 +1770,129 @@
993
1770
  "completed": "Answered",
994
1771
  "failed": "Not answered"
995
1772
  }
1773
+ },
1774
+ "object-agents": {
1775
+ "title": "Agents",
1776
+ "description": "The agents that work on this, their latest result and what they propose.",
1777
+ "loading": "Loading the agents…",
1778
+ "empty": "No agent works on this that you may use.",
1779
+ "latest": "Latest run",
1780
+ "never": "Not run here yet.",
1781
+ "no-result": "No result yet.",
1782
+ "result-label": "Result",
1783
+ "shadow": "In shadow",
1784
+ "proposals": "{{count}} open proposals",
1785
+ "proposals-one": "1 open proposal",
1786
+ "proposals-none": "No open proposals",
1787
+ "run-now": "Run now",
1788
+ "show-work": "Show the work",
1789
+ "hide-work": "Hide the work",
1790
+ "failure": "Why: {{reason}}"
1791
+ },
1792
+ "result": {
1793
+ "loading": "Loading the run…",
1794
+ "not-found": "This run does not exist or you may not see it.",
1795
+ "show": "Show the result",
1796
+ "hide": "Hide the result",
1797
+ "started": "Started",
1798
+ "duration": "Duration",
1799
+ "duration-seconds": "{{count}} s",
1800
+ "duration-minutes": "{{count}} min",
1801
+ "usage": "Usage",
1802
+ "failure": "Why it stopped",
1803
+ "answer": "Result",
1804
+ "truncated": "The answer was longer; this is its beginning.",
1805
+ "no-answer": "This run kept no answer.",
1806
+ "proposals": "Proposals",
1807
+ "no-proposals": "This run proposed nothing.",
1808
+ "hidden-proposals": "{{count}} more proposals wait at objects you may not see.",
1809
+ "files": "Files",
1810
+ "mcp-skipped": "Connected services left out"
1811
+ },
1812
+ "board": {
1813
+ "title": "Agents",
1814
+ "loading": "Loading the board…",
1815
+ "not-found": "This board does not exist, or you may not see any of its agents.",
1816
+ "last-visit": "You last looked here on {{date}}. What came since is marked new.",
1817
+ "first-visit": "Everything here is new for you.",
1818
+ "new": "New",
1819
+ "new-label": "New since your last visit",
1820
+ "works-on": "Works on {{list}}",
1821
+ "works-on-all": "all kinds of objects",
1822
+ "works-on-application": "the whole application",
1823
+ "works-on-application-per-division": "the whole application, per division",
1824
+ "per-division": "Works per division: its results show on the board of a division.",
1825
+ "objects-only": "Works on objects only: its results show with each object.",
1826
+ "latest": "Latest result",
1827
+ "never": "Not run for the whole application yet.",
1828
+ "run-now": "Run now",
1829
+ "show-proposals": "Show the proposals",
1830
+ "hide-proposals": "Hide the proposals",
1831
+ "show-history": "Show the history",
1832
+ "hide-history": "Hide the history",
1833
+ "history-title": "Runs for the whole application",
1834
+ "history-loading": "Loading the runs…",
1835
+ "history-empty": "No runs yet.",
1836
+ "history-more": "Show more runs",
1837
+ "history-limited": "Older runs are not shown here."
1838
+ }
1839
+ },
1840
+ "subject-picker": {
1841
+ "search-placeholder": "Search by name",
1842
+ "id-placeholder": "Id",
1843
+ "id-hint": "This kind of object is chosen by its id.",
1844
+ "looking-up": "Looking up…",
1845
+ "found": "Found: {{name}}",
1846
+ "not-found": "No object with this id was found, or you may not see it.",
1847
+ "whole-application-hint": "The agent runs once, for the application as a whole.",
1848
+ "division-placeholder": "Search a division by name",
1849
+ "look-up-again": "Look up again"
1850
+ },
1851
+ "run-now": {
1852
+ "title": "Run {{agent}} now",
1853
+ "close": "Close",
1854
+ "whole-application": "The whole application",
1855
+ "target": "What should the agent work on this time?",
1856
+ "per-division": "In one division",
1857
+ "application": "The whole application",
1858
+ "division": "Division",
1859
+ "object": "{{type}}",
1860
+ "subject-required": "Choose what the agent works on.",
1861
+ "no-target": "This agent works on nothing it can be run on here.",
1862
+ "no-divisions": "The application lists no divisions, so this agent cannot be run now.",
1863
+ "on": "Runs on",
1864
+ "message": "Instruction for the agent (optional)",
1865
+ "message-hint": "The agent reads it at the start of this run.",
1866
+ "cancel": "Cancel",
1867
+ "submit": "Run now",
1868
+ "starting": "Starting…",
1869
+ "receipt-subject": "On",
1870
+ "open-conversation": "Open the conversation",
1871
+ "done": "Done",
1872
+ "errors": {
1873
+ "assistant-agent-forbidden": "You may not run this agent here.",
1874
+ "assistant-subject-access-denied": "Your role on this does not allow running the agent.",
1875
+ "assistant-agent-does-not-work-on": "The agent does not work on this. Choose something it works on."
996
1876
  }
1877
+ },
1878
+ "picker": {
1879
+ "toggle": "Show the choices",
1880
+ "searching": "Searching…",
1881
+ "type-more": "Type at least two characters.",
1882
+ "no-results": "Nothing found.",
1883
+ "search-failed": "The search failed.",
1884
+ "search-again": "Search again"
1885
+ },
1886
+ "connection": {
1887
+ "title": "Connect {{name}}",
1888
+ "not-connected": "The assistant could not use {{name}}, because your account is not connected. Connect it to let the assistant work with it on your behalf.",
1889
+ "reauthorization-required": "Your connection to {{name}} has ended. Connect again to let the assistant use it.",
1890
+ "insufficient-scope": "{{name}} needs more permissions than your connection grants. Connect again to grant them.",
1891
+ "connect": "Connect",
1892
+ "connect-again": "Connect again",
1893
+ "connecting": "Waiting for the authorization…",
1894
+ "connected": "{{name}} is connected.",
1895
+ "retry": "Ask again"
997
1896
  }
998
1897
  }
999
1898
  }