@nexusclawhq/cli 0.3.46 → 0.3.48

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/dist/build-info.json +4 -4
  2. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/locales/en-US.d.ts +270 -12
  3. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/locales/en-US.js +277 -19
  4. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/locales/en-US.js.map +1 -1
  5. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/locales/index.d.ts +540 -24
  6. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/locales/zh-CN.d.ts +270 -12
  7. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/locales/zh-CN.js +277 -19
  8. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/locales/zh-CN.js.map +1 -1
  9. package/dist/nexus-cli/src/commands/ai/help.test.js +4 -4
  10. package/dist/nexus-cli/src/commands/commands.test.js +1 -1
  11. package/dist/nexus-cli/src/commands/commands.test.js.map +1 -1
  12. package/dist/nexus-cli/src/commands/workforce/learning.js +26 -0
  13. package/dist/nexus-cli/src/commands/workforce/learning.js.map +1 -1
  14. package/dist/nexus-cli/src/contracts/command-contract-matrix.generated.test.js +3 -3
  15. package/dist/nexus-cli/src/contracts/command-inventory.test.js +4 -4
  16. package/dist/nexus-cli/src/contracts/command-policy.exporter.test.js +2 -2
  17. package/dist/nexus-cli/src/contracts/command-policy.registry.test.js +4 -4
  18. package/dist/nexus-cli/src/contracts/command-policy.validator.test.js +2 -2
  19. package/dist/nexus-cli/src/contracts/workforce-contracts.js +2 -0
  20. package/dist/nexus-cli/src/contracts/workforce-contracts.js.map +1 -1
  21. package/dist/nexus-cli/src/services/workforce-bundle-archive.d.ts +1 -1
  22. package/dist/nexus-cli/src/services/workforce-bundle-remote.d.ts +1 -1
  23. package/dist/nexus-cli/src/services/workforce-learning-remote.d.ts +48 -0
  24. package/dist/nexus-cli/src/services/workforce-learning-remote.js +40 -0
  25. package/dist/nexus-cli/src/services/workforce-learning-remote.js.map +1 -1
  26. package/dist/nexus-cli/src/services/workforce-observe-remote.d.ts +19 -8
  27. package/dist/nexus-cli/src/services/workforce-observe-remote.js +28 -14
  28. package/dist/nexus-cli/src/services/workforce-observe-remote.js.map +1 -1
  29. package/dist/nexus-cli/src/services/workforce-observe-remote.test.js +38 -0
  30. package/dist/nexus-cli/src/services/workforce-observe-remote.test.js.map +1 -1
  31. package/dist/nexus-cli/src/services/workforce-test-remote.d.ts +1 -1
  32. package/dist/nexus-cli/src/services/workforce-test-remote.js +1 -1
  33. package/dist/nexus-cli/src/services/workforce-test-remote.test.js +2 -2
  34. package/dist/tsconfig.tsbuildinfo +1 -1
  35. package/package.json +1 -1
@@ -772,6 +772,22 @@ const messages = {
772
772
  confidenceChipTooltip: "Evidence-strength tier preset by signal type. Actual release still requires the test, simulation, and approval gates.",
773
773
  riskChipTooltip: "Risk level: L0 is the lowest, increasing by level.",
774
774
  draftIntroHint: "This is a draft candidate auto-generated from real work evidence; it does not change any production artifact. It takes effect only after passing the test, simulation, and approval gates.",
775
+ changeSummary: "Proposed improvement",
776
+ changeReason: "Why handle this now",
777
+ releaseProgress: "Readiness progress",
778
+ nextStep: "Recommended next step",
779
+ viewAndHandle: "Review and act",
780
+ businessScope: "Affected scope",
781
+ technicalDetails: "Technical and audit details",
782
+ evidenceCount: "{count} work evidence item(s) cited",
783
+ evidenceIds: "Raw evidence IDs",
784
+ actionHintBehavior: "Move into draft, run a simulation, then complete approval.",
785
+ actionHintMaterialize: "Create a governed candidate before testing and approval.",
786
+ actionHintBlocked: "Blocked. Add evidence or resolve the release-gate issue first.",
787
+ stepDraft: "Draft",
788
+ stepSimulation: "Simulation",
789
+ stepApproval: "Approval",
790
+ stepPublish: "Publish",
775
791
  runSimulation: "Run simulation",
776
792
  runSimulationTooltip: "Run a real test suite simulation to check if it passes the release gate.",
777
793
  runSimulationSuccess: "Simulation completed",
@@ -1906,6 +1922,18 @@ const messages = {
1906
1922
  planStarterName: "Starter",
1907
1923
  planGrowthName: "Growth",
1908
1924
  planEnterpriseName: "Enterprise",
1925
+ planStarterFeature1: "2M tokens / month included",
1926
+ planStarterFeature2: "20 GB data storage",
1927
+ planStarterFeature3: "For small teams launching their first digital employees",
1928
+ planStarterFeature4: "Outcome attribution pilot with billing details",
1929
+ planGrowthFeature1: "10M tokens / month included",
1930
+ planGrowthFeature2: "100 GB data storage",
1931
+ planGrowthFeature3: "For multi-agent daily business operations",
1932
+ planGrowthFeature4: "Outcome attribution pilot with billing details",
1933
+ planEnterpriseFeature1: "50M tokens / month included",
1934
+ planEnterpriseFeature2: "1 TB data storage",
1935
+ planEnterpriseFeature3: "Custom token / storage / API quotas",
1936
+ planEnterpriseFeature4: "Enterprise governance, audit, and dedicated delivery",
1909
1937
  upgrade: "Upgrade",
1910
1938
  invoiceHistory: "Invoice History",
1911
1939
  invoicePeriod: "Period",
@@ -2683,6 +2711,7 @@ const messages = {
2683
2711
  aiKcUpdateOk: "Knowledge chunk updated",
2684
2712
  aiKcDeleteOk: "Deleted",
2685
2713
  aiKcDeleteConfirm: "Confirm delete?",
2714
+ aiKcDeleteFailed: "Delete failed. Please try again.",
2686
2715
  aiSopStatusDraft: "Draft",
2687
2716
  aiSopStatusReviewed: "Reviewed",
2688
2717
  aiSopStatusActive: "Active",
@@ -2953,7 +2982,7 @@ const messages = {
2953
2982
  webhooks: {
2954
2983
  dlq: "Dead Letter Queue",
2955
2984
  title: "Webhooks",
2956
- description: "Configure Webhook endpoints to receive asynchronous event notifications",
2985
+ description: "Configure Webhook endpoints to deliver asynchronous event notifications to external systems",
2957
2986
  create: "Create Webhook",
2958
2987
  healthMonitor: "Health Monitor",
2959
2988
  healthTotalWebhooks: "Total Webhooks",
@@ -2980,6 +3009,7 @@ const messages = {
2980
3009
  emptyHint: 'Click "Create Webhook" to configure your first endpoint',
2981
3010
  totalCount: "Total {total} Webhooks",
2982
3011
  actionTest: "Test",
3012
+ actionEdit: "Edit",
2983
3013
  actionDisable: "Disable",
2984
3014
  actionEnable: "Enable",
2985
3015
  actionDelete: "Delete",
@@ -2989,11 +3019,14 @@ const messages = {
2989
3019
  msgDeleted: "Webhook deleted",
2990
3020
  msgDeleteFailed: "Delete failed",
2991
3021
  msgCreated: "Webhook created",
3022
+ msgUpdated: "Webhook updated",
2992
3023
  msgCreateFailed: "Create failed",
3024
+ msgUpdateFailed: "Update failed",
2993
3025
  msgTesting: "Sending test request...",
2994
3026
  msgTestSent: "Test request sent",
2995
3027
  msgTestFailed: "Test failed",
2996
3028
  createTitle: "Create Webhook",
3029
+ editTitle: "Edit Webhook",
2997
3030
  fieldTargetUrl: "Target URL",
2998
3031
  fieldTargetUrlRequired: "Please enter Webhook URL",
2999
3032
  fieldTargetUrlInvalid: "Please enter a valid URL",
@@ -3004,6 +3037,7 @@ const messages = {
3004
3037
  fieldOperationsPlaceholder: "Select events to subscribe",
3005
3038
  btnCancel: "Cancel",
3006
3039
  btnCreate: "Create",
3040
+ btnSave: "Save",
3007
3041
  btnDelete: "Delete",
3008
3042
  deleteConfirmTitle: "Confirm Delete",
3009
3043
  deleteConfirmText: "Are you sure you want to delete this Webhook?",
@@ -4481,6 +4515,16 @@ const messages = {
4481
4515
  pickEmployee: "Choose an AI employee",
4482
4516
  searchEmployee: "Search AI employees",
4483
4517
  online: "Online · Voice/text/video available",
4518
+ selectEmployeeTitle: "Choose an AI employee to rehearse",
4519
+ selectEmployeeDescription: "Select an employee on the left, then use a real task to verify understanding, responses, and governed actions.",
4520
+ sessionGoalTitle: "Rehearsing: {name}",
4521
+ sessionGoalDescription: "Goal for this round: {description}. Give the employee a real task. The system will ask for confirmation before writes or sensitive actions.",
4522
+ defaultEmployeeGoal: "verify that this employee understands the task and produces a usable result",
4523
+ sessionResultTitle: "This round has produced a valid rehearsal result",
4524
+ sessionResultDescription: "Choose 'Finish and start a new rehearsal' to close this conversation and save its learning record for the employee. Use Test Center for standardized validation, or Executions to inspect real task activity.",
4525
+ finishAndStartNew: "Finish and start new rehearsal",
4526
+ openTestCenter: "Open Test Center",
4527
+ openExecutions: "View executions",
4484
4528
  modeVoice: "Voice/Text",
4485
4529
  modeVideo: "Video",
4486
4530
  servingCustomer: "Serving customer: {name} · Long-term memory loaded",
@@ -5099,6 +5143,9 @@ const messages = {
5099
5143
  commentLabel: "Comments",
5100
5144
  rejectReasonRequired: "Please provide a rejection reason",
5101
5145
  approveCommentPlaceholder: "Optional, add approval comments",
5146
+ statusNeedsConfirmation: "Status needs confirmation",
5147
+ valueListSummary: "Contains {count} items",
5148
+ valueObjectSummary: "Contains {count} fields",
5102
5149
  riskLevel: {
5103
5150
  critical: "Critical Risk",
5104
5151
  high: "High Risk",
@@ -9468,6 +9515,7 @@ const messages = {
9468
9515
  colTest: "Test",
9469
9516
  testConnection: "Test Connection",
9470
9517
  testProviderAria: "Test Provider connection",
9518
+ noExecutableTestTarget: "The current model has no executable connection test capability",
9471
9519
  colActions: "Actions",
9472
9520
  systemProviderNoEdit: "Platform-provided Providers cannot be edited or deleted",
9473
9521
  confirmDeleteProvider: "Delete this Provider?",
@@ -12797,6 +12845,10 @@ const messages = {
12797
12845
  },
12798
12846
  },
12799
12847
  formulaFieldUi: {
12848
+ completion: {
12849
+ fieldsSection: "Fields",
12850
+ functionsSection: "Functions",
12851
+ },
12800
12852
  batchRecalculate: {
12801
12853
  title: "Batch Recalculate Formula Field",
12802
12854
  skip: "Skip",
@@ -12853,7 +12905,6 @@ const messages = {
12853
12905
  categoriesAriaLabel: "Formula function categories",
12854
12906
  categoryFunctionsAriaLabel: "{category} functions",
12855
12907
  },
12856
- completion: {},
12857
12908
  },
12858
12909
  navigationUi: {
12859
12910
  searchPlaceholder: "Search...",
@@ -17048,19 +17099,44 @@ const messages = {
17048
17099
  adminPanel: "Admin Panel",
17049
17100
  adminHealth: {
17050
17101
  indicators: {
17051
- database: {},
17052
- redis: {},
17102
+ database: {
17103
+ label: "Database",
17104
+ description: "Business database connectivity and core table health.",
17105
+ error: "Database connection issue; check the instance status and connection pool.",
17106
+ },
17107
+ redis: {
17108
+ label: "Redis Cache",
17109
+ description: "Redis status backing cache and queues.",
17110
+ error: "Redis connection issue; check the instance and network connectivity.",
17111
+ },
17053
17112
  worker: {
17054
17113
  label: "Background Job Worker",
17055
17114
  description: "Worker and queue status for asynchronous platform jobs.",
17056
17115
  error: "The agent execution queue is not initialized.",
17057
17116
  },
17058
- connectedAccount: {},
17117
+ connectedAccount: {
17118
+ label: "Connected Accounts",
17119
+ description: "Authorization status of external integration accounts (IM / email / telephony).",
17120
+ error: "A connected account has expired; reauthorize it.",
17121
+ },
17059
17122
  app: {
17060
- description: "Backend application process and core dependency status."
17123
+ label: "App Process",
17124
+ description: "Backend application process and core dependency status.",
17125
+ error: "Application health check failed; inspect the runtime logs.",
17061
17126
  },
17062
17127
  },
17063
- detailLabels: {},
17128
+ detailLabels: {
17129
+ configuredCheck: "Configured Check",
17130
+ status: "Status",
17131
+ waiting: "Waiting",
17132
+ active: "Active",
17133
+ completed: "Completed",
17134
+ failed: "Failed",
17135
+ delayed: "Delayed",
17136
+ paused: "Paused",
17137
+ workerCount: "Workers",
17138
+ consumerActive: "Consumer Active",
17139
+ },
17064
17140
  notConfigured: "Not configured",
17065
17141
  yes: "Yes",
17066
17142
  no: "No"
@@ -17601,6 +17677,24 @@ const messages = {
17601
17677
  searchPlaceholder: "Search platform admin...",
17602
17678
  noMatchingItems: "No matching platform admin items",
17603
17679
  menuPlatformAdminHome: "Platform Overview",
17680
+ sectionPlatformOperations: "Platform Operations",
17681
+ sectionProviderControlPlane: "Provider Control Plane",
17682
+ sectionSupportGovernance: "Support & Governance",
17683
+ sectionReleaseGovernance: "Release Governance",
17684
+ sectionPlatformInfrastructure: "Platform Infrastructure",
17685
+ menuOpsSubscriptions: "Subscriptions",
17686
+ menuOpsHealth: "Tenant Health",
17687
+ menuOpsBilling: "Billing Overview",
17688
+ menuOpsRenewals: "Renewals",
17689
+ menuAiProvider: "AI Provider",
17690
+ menuDemoAccess: "Demo Access",
17691
+ menuTenantExecutionAudit: "Execution Logs",
17692
+ menuPackagePromotions: "Package Promotions",
17693
+ menuPackageRollouts: "Staged Rollouts",
17694
+ menuAdminPanel: "Admin Panel",
17695
+ menuQueues: "Queues",
17696
+ menuCronJobs: "Cron Jobs",
17697
+ menuSystemLogs: "System Logs",
17604
17698
  providerControlPlaneUi: {
17605
17699
  family: {
17606
17700
  ai: "AI Provider Control Plane",
@@ -18507,6 +18601,34 @@ const messages = {
18507
18601
  sensitiveAllow: "Allow display",
18508
18602
  },
18509
18603
  imBotSetup: {
18604
+ testConnectivity: "Connectivity test",
18605
+ connectivityTestFailed: "Connectivity test request failed",
18606
+ connectivityOutcome: {
18607
+ PASS: "Connectivity passed",
18608
+ PARTIAL: "Partially passed",
18609
+ FAIL: "Connectivity failed",
18610
+ REDIRECT_REQUIRED: "Test in the owning module",
18611
+ },
18612
+ connectivityOutcomeDetail: {
18613
+ PASS: "Connectivity test passed",
18614
+ PARTIAL: "The base configuration is valid; an end-to-end test is still required",
18615
+ FAIL: "Connectivity test failed; check the configuration and network",
18616
+ REDIRECT_REQUIRED: "Open the owning module to complete the test",
18617
+ },
18618
+ connectivityCode: {
18619
+ WEBHOOK_DELIVERY_OK: "The test message was delivered successfully; the target returned HTTP {status}",
18620
+ WEBHOOK_HTTP_REJECTED: "The Webhook target returned HTTP {status} and did not accept the test message",
18621
+ WEBHOOK_PROVIDER_REJECTED: "The external provider rejected the test message; check the Webhook URL and provider security rules",
18622
+ CONNECTION_FAILED: "The Webhook target could not be reached; check the network and URL",
18623
+ TARGET_BLOCKED: "The Webhook target was blocked by the outbound security policy",
18624
+ CONFIG_INCOMPLETE: "Required channel configuration is incomplete",
18625
+ TEST_MESSAGE_REQUIRED: "Enter test content before sending",
18626
+ TEST_MESSAGE_TOO_LONG: "Test content must not exceed 2000 characters",
18627
+ },
18628
+ webhookTestTitle: "Send Webhook test message",
18629
+ webhookTestDescription: "Enter content to deliver to the external group or system. The backend will actively call the saved Webhook URL when you send it.",
18630
+ webhookTestPlaceholder: "For example: NexusClaw Webhook connectivity test. Please confirm receipt.",
18631
+ webhookTestSend: "Send test message",
18510
18632
  toolLabel: {
18511
18633
  recordQuery: "Query CRM",
18512
18634
  recordAggregate: "Aggregate CRM",
@@ -18563,6 +18685,11 @@ const messages = {
18563
18685
  step2: "Create a key and copy the API Key and Signing Secret.",
18564
18686
  step3: "Configure the Callback URL for event delivery, then paste the credentials below.",
18565
18687
  },
18688
+ webhook: {
18689
+ label: "Webhook",
18690
+ step1: "Copy the complete Webhook message delivery URL provided by the external platform into the field below.",
18691
+ note: "Webhook actively delivers messages to this URL. The URL already contains the external platform's authentication information, so no application credentials or additional parameters are required.",
18692
+ },
18566
18693
  phone_agent: {
18567
18694
  label: "Phone Agent",
18568
18695
  step1: "Open \"Platform Settings → Telephony\" and select the telephony provider.",
@@ -18571,6 +18698,9 @@ const messages = {
18571
18698
  },
18572
18699
  },
18573
18700
  field: {
18701
+ webhook: {
18702
+ webhookUrl: "Webhook URL",
18703
+ },
18574
18704
  wecom: {
18575
18705
  corpId: "Corp ID",
18576
18706
  agentId: "Agent ID",
@@ -18594,8 +18724,8 @@ const messages = {
18594
18724
  add: "Add integration",
18595
18725
  title: "AI Access Center",
18596
18726
  subtitle: "Manage WeCom, Slack, Teams, Web Chat, API, Phone Agent, and future entry points, then route every request to the right AI employee.",
18597
- boundaryTitle: "Core capability: Smart Routing",
18598
- boundaryDescription: "Select the executor by source, group, requested employee, priority, and default dispatcher. Workspace IM callbacks, sessions, and security policies remain in Workspace Default IM Gateway under Platform Settings.",
18727
+ boundaryTitle: "External channels use an explicit employee whitelist",
18728
+ boundaryDescription: "Each channel may invoke only AI employees explicitly selected by an administrator. Employees outside the list remain internal-only. The list does not change an employee's identity, permissions, or data scope.",
18599
18729
  tabRobots: "Bot Management",
18600
18730
  tabGroups: "Group Bindings",
18601
18731
  tabRoutes: "Routing Rules",
@@ -18621,6 +18751,15 @@ const messages = {
18621
18751
  modePerAgent: "Bind a specific employee",
18622
18752
  modeDispatcher: "Dispatcher routing",
18623
18753
  modeSmart: "Smart Routing",
18754
+ explicitBindingRoute: "Explicit employee whitelist",
18755
+ boundEmployeeLabel: "AI employees allowed to serve externally",
18756
+ boundEmployeeHelp: "Select one or more employees. With multiple employees, the user must name one explicitly; the system does not guess or use a dispatcher fallback.",
18757
+ employeePlaceholder: "Select employees allowed to be invoked from this channel",
18758
+ employeeRequired: "Select at least one AI employee allowed to serve externally",
18759
+ employeeUnavailable: "Employee unavailable or removed from the whitelist",
18760
+ selectedEmployeeOverflow: "{count} more",
18761
+ selectedEmployeeCount: "{count} selected (complete list)",
18762
+ selectedEmployeeListAria: "Complete list of selected externally serving employees",
18624
18763
  priorityLabel: "Routing priority",
18625
18764
  priorityTip: "Higher values win when other match conditions are equal.",
18626
18765
  defaultDispatcherLabel: "Use as default dispatcher",
@@ -18634,36 +18773,117 @@ const messages = {
18634
18773
  delete: "Delete",
18635
18774
  cancel: "Cancel",
18636
18775
  deleteChannelAria: "Delete integration",
18637
- simTitle: "Simulate Group Message - @ an AI employee to get a reply",
18638
- simHint: "Type it the way you would in a group (name which employee you want plus your question) -- see how it replies without a real connection, using the same engine, the same customer memory, and the same governance.",
18776
+ simTitle: "Channel service rehearsal",
18777
+ simHint: "Current channel: {channel}. Select an employee from the real binding list, then enter a practical question.",
18778
+ simNoChannel: "Select a configured external channel first.",
18779
+ simNoEmployees: "This channel has no available AI employee whitelist. Edit the channel configuration first.",
18639
18780
  simServing: "Serving customer",
18640
18781
  simToolsUsed: "Tools used",
18641
18782
  simThinking: "Employee is replying...",
18642
- simPh: "e.g. Sales Pioneer, status of the Acme Manufacturing deal",
18783
+ simPh: "Enter a practical business question for {employee}",
18643
18784
  simSend: "Send",
18644
18785
  editTitle: "Edit integration",
18645
18786
  addTitle: "Add integration",
18646
18787
  pickPlatform: "1. Choose an integration type",
18647
18788
  howTo: "2. Configure the external channel and obtain its credentials",
18789
+ webhookHowTo: "2. Prepare the external message delivery URL",
18648
18790
  openConsole: "Open",
18649
18791
  console: "open platform",
18650
18792
  fillIn: "3. Fill in the configuration",
18793
+ webhookFillIn: "3. Enter the Webhook delivery configuration",
18794
+ webhookUrlRequired: "Enter the external Webhook message delivery URL",
18795
+ webhookSetupTitle: "Configure proactive Webhook delivery",
18796
+ webhookSetupDescription: "Webhook lets explicitly authorized AI employees deliver messages to an external URL. It does not receive external messages, use a callback URL, or require callback verification.",
18797
+ webhookStepAdd: "Add Webhook",
18798
+ webhookStepAddDescription: "Choose the outbound Webhook delivery type",
18799
+ webhookStepUrl: "Enter delivery URL",
18800
+ webhookStepUrlDescription: "Enter the complete Webhook URL provided by the external platform",
18801
+ webhookStepEmployees: "Authorize AI employees",
18802
+ webhookStepEmployeesDescription: "Only explicitly authorized employees can proactively send messages",
18803
+ webhookConfigured: "Outbound Webhook delivery configured",
18804
+ webhookDisabled: "Outbound Webhook delivery paused",
18805
+ webhookDeliveryReady: "Authorized AI employees can proactively deliver messages to the external Webhook URL. No callback verification or inbound message reception is required.",
18806
+ webhookDeliveryPaused: "Message delivery is paused. Re-enable it to allow authorized AI employees to send messages to this URL.",
18807
+ webhookSendingEmployees: "AI employees allowed to send messages",
18808
+ webhookSendingEmployeesHelp: "Only AI employees explicitly authorized here can proactively send messages to this Webhook URL.",
18809
+ webhookDeliveryMode: "Delivery direction",
18810
+ webhookDeliveryModeValue: "Platform proactively delivers to external URL",
18811
+ webhookUrlConfigured: "Webhook URL",
18812
+ webhookUrlConfiguredValue: "Saved",
18813
+ webhookUrlMissing: "Not saved",
18814
+ pauseWebhookDelivery: "Pause message delivery",
18815
+ enableWebhookDelivery: "Enable message delivery",
18816
+ webhookChannelColumn: "Outbound Webhook",
18817
+ webhookSenderColumn: "Sender",
18818
+ webhookDeliveryColumn: "Can deliver messages",
18819
+ webhookDeliveryEnabled: "Proactive delivery enabled",
18820
+ webhookDeliveryPausedLabel: "Delivery paused",
18821
+ webhookConfigHeader: "Message delivery URL (the complete Webhook URL provided by the external platform)",
18822
+ flow: {
18823
+ inbound_callback: {
18824
+ title: "Inbound application callback channel",
18825
+ description: "WeCom, Feishu, and DingTalk have real inbound callbacks wired. Messages received by the external platform are dispatched only to explicitly selected AI employees.",
18826
+ howTo: "2. Configure the open-platform application and callback",
18827
+ configure: "3. Enter application credentials and service settings",
18828
+ employeesLabel: "AI employees allowed to serve externally",
18829
+ employeesHelp: "Inbound messages can invoke only AI employees explicitly selected here.",
18830
+ configHeader: "Open-platform application credentials (encrypted and never displayed again)",
18831
+ },
18832
+ inbound_adapter_pending: {
18833
+ title: "Inbound adapter not wired yet",
18834
+ description: "Slack and Teams configuration metadata can be saved, but this module does not yet have a live inbound message adapter. Saving does not mean production messages are reachable.",
18835
+ howTo: "2. Prepare the platform application configuration",
18836
+ configure: "3. Save the pending application configuration",
18837
+ employeesLabel: "AI employees planned for external service",
18838
+ employeesHelp: "This list becomes the inbound invocation boundary after the adapter is wired.",
18839
+ configHeader: "Platform application configuration (stored now; runtime wiring pending)",
18840
+ },
18841
+ embedded_web_chat: {
18842
+ title: "Embedded Web Chat integration",
18843
+ description: "Web Chat starts conversations from an embedded site component. It uses a site key, signing secret, and allowed origins rather than IM callback verification.",
18844
+ howTo: "2. Configure the Web Chat component",
18845
+ configure: "3. Enter site security settings",
18846
+ employeesLabel: "AI employees allowed to serve Web Chat",
18847
+ employeesHelp: "Web conversations can invoke only AI employees explicitly selected here.",
18848
+ configHeader: "Web component and allowed-origin settings",
18849
+ },
18850
+ authenticated_api: {
18851
+ title: "Authenticated API invocation",
18852
+ description: "API integration uses an API key and signing credentials to invoke platform capabilities. Callback URL is an optional event return target, not an inbound message callback.",
18853
+ howTo: "2. Create API invocation credentials",
18854
+ configure: "3. Enter API authentication and optional return settings",
18855
+ employeesLabel: "AI employees allowed for API invocation",
18856
+ employeesHelp: "API requests can invoke only AI employees explicitly authorized here.",
18857
+ configHeader: "API authentication credentials and optional event return URL",
18858
+ },
18859
+ outbound_webhook: {
18860
+ title: "Outbound Webhook message delivery",
18861
+ description: "Authorized AI employees proactively deliver messages to an external Webhook URL. It does not receive external messages or require callback verification.",
18862
+ howTo: "2. Prepare the external message delivery URL",
18863
+ configure: "3. Enter Webhook delivery settings",
18864
+ employeesLabel: "AI employees allowed to send messages",
18865
+ employeesHelp: "Only AI employees explicitly authorized here can send messages to this Webhook URL.",
18866
+ configHeader: "Complete Webhook URL provided by the external platform",
18867
+ },
18868
+ voice_channel: {
18869
+ title: "Phone Agent voice integration",
18870
+ description: "Phone Agent uses separate carrier, number, and compliance settings. Bind the AI employees allowed to answer or place calls here; operational settings remain owned by Telephony settings.",
18871
+ howTo: "2. Configure the voice provider and number",
18872
+ configure: "3. Enter agent account settings",
18873
+ employeesLabel: "AI employees allowed to answer or place calls",
18874
+ employeesHelp: "Phone tasks can invoke only AI employees explicitly authorized here.",
18875
+ configHeader: "Voice provider, number, and agent authentication settings",
18876
+ },
18877
+ },
18651
18878
  nameLabel: "Name",
18652
18879
  namePh: "e.g. Acme Robotics - Sales Group",
18653
18880
  groupLabel: "Target group (optional)",
18654
18881
  groupPh: "Group name or group ID -- can also be filled in later when connecting",
18655
18882
  routingLabel: "Routing mode",
18656
- routingTip: "Smart Routing matches source, group, employee, and priority. Dispatcher routing is the shared entry point. A specific-employee route always selects that employee.",
18657
18883
  credsHeader: "Credentials (copy and paste from the platform console above; stored encrypted and never displayed again)",
18658
18884
  keepSecret: "Already configured -- leave blank to keep unchanged",
18659
18885
  pastePh: "Paste this value",
18660
18886
  save: "Save",
18661
- simExample: {
18662
- salesPioneer: "Sales Pioneer, how should I follow up on the annual collaboration platform deal with Acme Manufacturing Group?",
18663
- serviceSteward: "Customer Service Steward, what's the status of the damage refund for order ORD-2024-0892?",
18664
- revenueAnalyst: "Revenue Analyst, what's this week's total pipeline value and weighted forecast?",
18665
- opsCoach: "Ops Coach, which areas should the team focus on this week?",
18666
- },
18667
18887
  },
18668
18888
  settingsRestPages: {
18669
18889
  sopDetail: {
@@ -19407,6 +19627,14 @@ const messages = {
19407
19627
  publishRequiresApproval: "Publishing requires approvalStatus approved or not_required; current approvalStatus is {approvalStatus}.",
19408
19628
  draftActionsLocked: "Draft actions are locked because the current releaseGateStatus is {releaseGateStatus}.",
19409
19629
  approvalActionUnavailable: "Approval action is unavailable because the current approvalStatus is {approvalStatus}.",
19630
+ agentChangeSummaryTitle: "Proposed improvements",
19631
+ agentChangeSummaryDescription: "This draft updates {count} employee behavior setting(s). You can simulate before publishing and roll back afterward.",
19632
+ agentPersonaLabel: "Role and communication style",
19633
+ agentPersonaHelp: "Changes the role, tone, and style the AI employee uses when collaborating with users.",
19634
+ agentInstructionsLabel: "Work instructions and approach",
19635
+ agentInstructionsHelp: "Changes the steps, priorities, and judgment the AI employee uses to complete work.",
19636
+ agentIdentityPolicyLabel: "Identity boundaries and constraints",
19637
+ agentIdentityPolicyHelp: "Clarifies what the AI employee may do, may not do, and when it must hand work to a person.",
19410
19638
  },
19411
19639
  table: {
19412
19640
  tabRecommendations: "Recommendations",
@@ -19527,6 +19755,14 @@ const messages = {
19527
19755
  operatingLoopTitle: "Autonomous Workforce Operating Loop",
19528
19756
  operatingLoopSubtitle: "Discover automation opportunities in real work, then connect evidence, tests, approvals, and learning into one digital workforce operating system.",
19529
19757
  operatingLoopAction: "Enter",
19758
+ operatingLoopActionByStage: {
19759
+ discover: "Review role gaps",
19760
+ hire: "Complete employee setup",
19761
+ prove: "Start evaluation",
19762
+ deploy: "Review deployment",
19763
+ learn: "Review learning evidence",
19764
+ improve: "Handle improvements",
19765
+ },
19530
19766
  operatingLoopStage: {
19531
19767
  discover: "Discover Work",
19532
19768
  hire: "Hire Agents",
@@ -19673,6 +19909,28 @@ const messages = {
19673
19909
  truncation: "Showing latest {shown} of {total}",
19674
19910
  composerOpen: "+ Generate blueprint",
19675
19911
  composerCancel: "Cancel",
19912
+ impact: "Impact",
19913
+ confidence: "Confidence",
19914
+ testCandidateCount: "{count} test candidate(s) are linked and will be checked by simulation and the release gate below.",
19915
+ nextStep: "Next step",
19916
+ noDraftTitle: "No actionable improvement draft yet",
19917
+ noDraftDescription: "This recommendation currently has evidence and an assessment, but it cannot be applied yet.",
19918
+ noDraftHowTitle: "How a draft is created",
19919
+ noDraftHowEvidence: "Keep using the relevant AI employee for similar work. The system automatically aggregates eligible, redacted evidence.",
19920
+ noDraftHowCandidate: "When the evidence volume, confidence, and target asset satisfy the rules, the system automatically creates a governed candidate draft; users do not create technical objects manually.",
19921
+ noDraftHowContinue: "After the draft is created, this page shows the Generate content, Simulate, and Submit for approval actions. To start immediately from a defined business goal, create a blueprint in Step 3, Blueprint drafts.",
19922
+ stageNavigation: "Learning improvement workflow",
19923
+ stageNumber: "Step {number}",
19924
+ selectItemHint: "Select an item on the left to see its details and the next available action.",
19925
+ evidenceOpenHint: "Select an evidence card on the left to inspect the source evidence.",
19926
+ cardNextStep: "Next",
19927
+ stageHint: {
19928
+ evidence: "Review what the system captured from real work.",
19929
+ recommendations: "Prioritize high-impact, uncertain, or gate-blocked recommendations.",
19930
+ blueprints: "Confirm the improvement goal, scope, and acceptance checks.",
19931
+ gate: "Check whether tests, approval, and rollback readiness are satisfied.",
19932
+ artifacts: "Review the draft artifacts produced by the workflow.",
19933
+ },
19676
19934
  column: {
19677
19935
  evidence: "Evidence",
19678
19936
  recommendations: "Recommendations",