@nexusclawhq/cli 0.3.49 → 0.3.50

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 (93) hide show
  1. package/dist/build-info.json +4 -4
  2. package/dist/nexus-cli/node_modules/@nexusclaw/code-authoring/dist/package/workforce-bundle-inventory.js +34 -2
  3. package/dist/nexus-cli/node_modules/@nexusclaw/code-authoring/dist/package/workforce-bundle-inventory.js.map +1 -1
  4. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/agent-executable-assets/cli-contract.types.d.ts +1 -1
  5. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/agent-executable-assets/employee-eval-cases.types.d.ts +96 -0
  6. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/agent-executable-assets/employee-eval-cases.types.js +125 -0
  7. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/agent-executable-assets/employee-eval-cases.types.js.map +1 -0
  8. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/agent-executable-assets/index.d.ts +3 -0
  9. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/agent-executable-assets/index.js +3 -0
  10. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/agent-executable-assets/index.js.map +1 -1
  11. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/agent-executable-assets/training-evidence-export.constants.d.ts +9 -0
  12. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/agent-executable-assets/training-evidence-export.constants.js +13 -0
  13. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/agent-executable-assets/training-evidence-export.constants.js.map +1 -0
  14. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/agent-executable-assets/training-evidence-export.types.d.ts +285 -0
  15. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/agent-executable-assets/training-evidence-export.types.js +204 -0
  16. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/agent-executable-assets/training-evidence-export.types.js.map +1 -0
  17. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/agent-executable-assets/workforce-bundle.types.d.ts +6 -2
  18. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/employee-package/types.d.ts +3 -0
  19. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/employee-package/validator.js +13 -0
  20. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/employee-package/validator.js.map +1 -1
  21. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/locales/en-US.d.ts +561 -0
  22. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/locales/en-US.js +537 -6
  23. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/locales/en-US.js.map +1 -1
  24. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/locales/index.d.ts +1146 -0
  25. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/locales/zh-CN.d.ts +585 -0
  26. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/locales/zh-CN.js +856 -301
  27. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/locales/zh-CN.js.map +1 -1
  28. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/platform-admin-route-readiness/index.js +12 -0
  29. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/platform-admin-route-readiness/index.js.map +1 -1
  30. package/dist/nexus-cli/src/commands/ai/help.test.js +5 -4
  31. package/dist/nexus-cli/src/commands/ai/help.test.js.map +1 -1
  32. package/dist/nexus-cli/src/commands/employee/deploy.d.ts +21 -0
  33. package/dist/nexus-cli/src/commands/employee/deploy.e2e.test.js +56 -320
  34. package/dist/nexus-cli/src/commands/employee/deploy.e2e.test.js.map +1 -1
  35. package/dist/nexus-cli/src/commands/employee/deploy.js +101 -0
  36. package/dist/nexus-cli/src/commands/employee/deploy.js.map +1 -1
  37. package/dist/nexus-cli/src/commands/employee/index.js +2 -0
  38. package/dist/nexus-cli/src/commands/employee/index.js.map +1 -1
  39. package/dist/nexus-cli/src/commands/employee/training-evidence.d.ts +2 -0
  40. package/dist/nexus-cli/src/commands/employee/training-evidence.js +43 -0
  41. package/dist/nexus-cli/src/commands/employee/training-evidence.js.map +1 -0
  42. package/dist/nexus-cli/src/commands/org/login-web.js +23 -9
  43. package/dist/nexus-cli/src/commands/org/login-web.js.map +1 -1
  44. package/dist/nexus-cli/src/commands/workforce/cognition.js +28 -1
  45. package/dist/nexus-cli/src/commands/workforce/cognition.js.map +1 -1
  46. package/dist/nexus-cli/src/commands/workforce/task.js +6 -0
  47. package/dist/nexus-cli/src/commands/workforce/task.js.map +1 -1
  48. package/dist/nexus-cli/src/contracts/command-contract-coverage-baseline.json +12 -0
  49. package/dist/nexus-cli/src/contracts/command-contract-matrix.generated.test.js +6 -7
  50. package/dist/nexus-cli/src/contracts/command-contract-matrix.generated.test.js.map +1 -1
  51. package/dist/nexus-cli/src/contracts/command-contract-matrix.scenarios.js +2 -2
  52. package/dist/nexus-cli/src/contracts/command-contract.guard.js +5 -0
  53. package/dist/nexus-cli/src/contracts/command-contract.guard.js.map +1 -1
  54. package/dist/nexus-cli/src/contracts/command-contract.registry.js +26 -0
  55. package/dist/nexus-cli/src/contracts/command-contract.registry.js.map +1 -1
  56. package/dist/nexus-cli/src/contracts/command-inventory.test.js +4 -4
  57. package/dist/nexus-cli/src/contracts/command-order.js +1 -0
  58. package/dist/nexus-cli/src/contracts/command-order.js.map +1 -1
  59. package/dist/nexus-cli/src/contracts/command-policy.exporter.test.js +2 -2
  60. package/dist/nexus-cli/src/contracts/command-policy.registry.js +1 -1
  61. package/dist/nexus-cli/src/contracts/command-policy.registry.js.map +1 -1
  62. package/dist/nexus-cli/src/contracts/command-policy.registry.test.js +5 -5
  63. package/dist/nexus-cli/src/contracts/command-policy.validator.test.js +3 -3
  64. package/dist/nexus-cli/src/contracts/contracts.test.js +17 -0
  65. package/dist/nexus-cli/src/contracts/contracts.test.js.map +1 -1
  66. package/dist/nexus-cli/src/contracts/workforce-contracts.js +1 -0
  67. package/dist/nexus-cli/src/contracts/workforce-contracts.js.map +1 -1
  68. package/dist/nexus-cli/src/services/api-client.d.ts +8 -0
  69. package/dist/nexus-cli/src/services/api-client.js +54 -0
  70. package/dist/nexus-cli/src/services/api-client.js.map +1 -1
  71. package/dist/nexus-cli/src/services/training-evidence-export.d.ts +15 -0
  72. package/dist/nexus-cli/src/services/training-evidence-export.js +94 -0
  73. package/dist/nexus-cli/src/services/training-evidence-export.js.map +1 -0
  74. package/dist/nexus-cli/src/services/training-evidence-export.test.d.ts +1 -0
  75. package/dist/nexus-cli/src/services/training-evidence-export.test.js +59 -0
  76. package/dist/nexus-cli/src/services/training-evidence-export.test.js.map +1 -0
  77. package/dist/nexus-cli/src/services/workforce-bundle-local.js +26 -4
  78. package/dist/nexus-cli/src/services/workforce-bundle-local.js.map +1 -1
  79. package/dist/nexus-cli/src/services/workforce-bundle-local.test.js +29 -0
  80. package/dist/nexus-cli/src/services/workforce-bundle-local.test.js.map +1 -1
  81. package/dist/nexus-cli/src/services/workforce-cognition-remote.d.ts +17 -0
  82. package/dist/nexus-cli/src/services/workforce-cognition-remote.js +16 -0
  83. package/dist/nexus-cli/src/services/workforce-cognition-remote.js.map +1 -1
  84. package/dist/nexus-cli/src/services/workforce-conversation-remote.d.ts +5 -0
  85. package/dist/nexus-cli/src/services/workforce-conversation-remote.js +21 -2
  86. package/dist/nexus-cli/src/services/workforce-conversation-remote.js.map +1 -1
  87. package/dist/nexus-cli/src/services/workforce-conversation-remote.test.js +2 -0
  88. package/dist/nexus-cli/src/services/workforce-conversation-remote.test.js.map +1 -1
  89. package/dist/nexus-cli/src/services/workforce-test-remote.d.ts +1 -1
  90. package/dist/nexus-cli/src/services/workforce-test-remote.js +1 -1
  91. package/dist/nexus-cli/src/services/workforce-test-remote.test.js +2 -2
  92. package/dist/tsconfig.tsbuildinfo +1 -1
  93. package/package.json +1 -1
@@ -37,6 +37,84 @@ const messages = {
37
37
  finish: "Done",
38
38
  unselected: "Not selected",
39
39
  },
40
+ builder: {
41
+ labelPlaceholder: "Label",
42
+ apiNamePlaceholder: "API Name",
43
+ flowType: "Flow Type",
44
+ selectObject: "Select Object",
45
+ object: "Object",
46
+ configureTrigger: "Configure Trigger",
47
+ triggerCreated: "A record is created",
48
+ triggerUpdated: "A record is updated",
49
+ triggerCreatedOrUpdated: "A record is created or updated",
50
+ triggerDeleted: "A record is deleted",
51
+ setEntryConditions: "Set Entry Conditions",
52
+ conditionRequirements: "Condition Requirements",
53
+ conditions: "Conditions",
54
+ optimizeFlow: "Optimize Flow",
55
+ scheduleSettings: "Schedule Settings",
56
+ frequency: "Frequency",
57
+ startDate: "Start Date",
58
+ startTime: "Start Time",
59
+ platformEvent: "Platform Event",
60
+ eventApiName: "Event API Name",
61
+ screenEntry: "Screen Entry",
62
+ entryMode: "Entry Mode",
63
+ designerNotes: "Designer Notes",
64
+ action: "Action",
65
+ howToSetFieldValues: "How to Set Record Field Values",
66
+ setFieldValuesManually: "Set field values manually",
67
+ useVariablesAndFormulas: "Use variables and formulas",
68
+ fieldMappingsReady: "Field Mappings Ready",
69
+ recordOrRecordId: "Record or Record ID",
70
+ setFieldValues: "Set Field Values",
71
+ pauseType: "Pause Type",
72
+ timeSource: "Time Source",
73
+ offsetNumberOptions: "Offset Number / Offset Options",
74
+ scheduleSummary: "Schedule Summary",
75
+ defaultOutcome: "Default Outcome",
76
+ outcomeOrder: "Outcome Order",
77
+ toolbox: "Toolbox",
78
+ searchThisFlow: "Search this flow...",
79
+ closeInspector: "Close inspector",
80
+ debugData: "Debug Data",
81
+ daysAfterSource: "{days} days after {source}",
82
+ durationAfterSource: "{value} {unit} after {source}",
83
+ durationOnly: "{value} {unit}",
84
+ pauseUntilDate: "pause until {date}",
85
+ pauseUntilEvent: "pause until {object} {event}",
86
+ unitMinutes: "minutes",
87
+ unitHours: "hours",
88
+ unitDays: "days",
89
+ timeSourceCloseDate: "close date",
90
+ optimizationFastFieldUpdates: "Fast Field Updates",
91
+ optimizationActionsAndRelatedRecords: "Actions and Related Records",
92
+ scheduleDaily: "Every day",
93
+ scheduleWeekly: "Every week",
94
+ scheduleOnce: "Run once",
95
+ entryAppPage: "App page",
96
+ entryQuickAction: "Quick action",
97
+ entryUtilityBar: "Utility bar",
98
+ summaryTrigger: "Trigger",
99
+ summaryOptimizeFor: "Optimize for",
100
+ summarySchedule: "Schedule",
101
+ summaryStartAt: "Start at",
102
+ summaryEvent: "Event",
103
+ summaryRunType: "Run type",
104
+ summaryEntry: "Entry",
105
+ summaryInteraction: "Interaction",
106
+ summaryInvocation: "Invocation",
107
+ summaryStatus: "Status",
108
+ notSet: "Not set",
109
+ platformEventReceived: "When a platform event is received",
110
+ runTypeAutolaunched: "Autolaunched flow",
111
+ guidedScreenExperience: "Guided screen experience",
112
+ runTypeUserFacing: "User-facing flow",
113
+ invokedByFlowsActionsAi: "Called by flows, actions, or AI",
114
+ noExplicitTrigger: "No explicit trigger",
115
+ runTypeBackground: "Background automation",
116
+ selectFlowTypeToConfigureStart: "Select a flow type to configure Start",
117
+ },
40
118
  flowType: {
41
119
  unselected: "No type selected",
42
120
  recordTriggered: {
@@ -359,6 +437,16 @@ const messages = {
359
437
  breadcrumbAi: "AI Settings",
360
438
  breadcrumbAgents: "Agent Management",
361
439
  breadcrumbConfigure: "Configure",
440
+ fieldNamePlaceholder: "e.g. SalesAgent",
441
+ fieldIconPlaceholder: "icon name",
442
+ typeSales: "Sales",
443
+ typeService: "Service",
444
+ typeAnalytics: "Analytics",
445
+ typeAdmin: "Admin",
446
+ typeCustom: "Custom",
447
+ modelTier1: "DeepSeek V3 (Tier 1)",
448
+ modelTier2: "GPT-4o (Tier 2)",
449
+ modelTier3: "Claude Opus (Tier 3)",
362
450
  breadcrumbExecutionLogs: "Execution Logs",
363
451
  breadcrumbExecutionDetail: "Details",
364
452
  listTitle: "Agent Runtime & Governance",
@@ -848,11 +936,20 @@ const messages = {
848
936
  app: {
849
937
  restoringSession: "Restoring session...",
850
938
  enteringSystem: "Entering...",
939
+ crm: "CRM",
940
+ marketing: "Marketing",
941
+ service: "Service",
851
942
  partner: "Partner",
852
- platform: "Platform"
943
+ platform: "Platform",
944
+ settings: "Settings"
853
945
  },
854
946
  appDescription: {
855
- partner: "Partner Relationship Management"
947
+ crm: "Customer Relationship Management",
948
+ marketing: "Marketing Automation & Campaign Management",
949
+ service: "Customer Service Management",
950
+ partner: "Partner Relationship Management",
951
+ platform: "Open Platform & Ecosystem",
952
+ settings: "System Settings"
856
953
  },
857
954
  common: {
858
955
  featureNotAvailable: "This feature is not available yet",
@@ -924,6 +1021,7 @@ const messages = {
924
1021
  contactAll: "All Contacts",
925
1022
  salesFolder: "Sales",
926
1023
  salesOpportunity: "Opportunities",
1024
+ forecastCenter: "Forecast Center",
927
1025
  cpqFolder: "CPQ",
928
1026
  cpqProduct: "Product Catalog",
929
1027
  cpqPriceBook: "Price Books",
@@ -1897,7 +1995,7 @@ const messages = {
1897
1995
  usage: "Usage",
1898
1996
  usageDetails: "Usage Details",
1899
1997
  noUsageData: "No usage data",
1900
- upgradePlan: "Plan Examples",
1998
+ upgradePlan: "Plan Capabilities",
1901
1999
  current: "Current",
1902
2000
  perMonth: "/mo",
1903
2001
  perYear: "/yr",
@@ -2012,9 +2110,23 @@ const messages = {
2012
2110
  cancelWarningItem2: "Advanced governance and budget controls will be disabled",
2013
2111
  cancelWarningItem3: "Usage beyond base allowances will need to be reconfigured",
2014
2112
  cancelWarningItem4: "You can re-enable a paid resource pack at any time",
2015
- planCycleCaption: "Examples below show the org base fee for the selected billing cycle and exclude token and storage metering.",
2113
+ planCycleCaption: "Platform pricing and promotions are managed centrally by platform operations.",
2114
+ quoteRequired: "Commercial quote required",
2115
+ quoteRequiredDesc: "Contact Sales for a formal quote scoped only to your organization before upgrading or renewing.",
2016
2116
  loadFailed: "Failed to load data",
2017
2117
  loadFailedDesc: "Unable to fetch billing data, please try again later",
2118
+ opsPlanHealth: "Plan health",
2119
+ opsQuotaRisk: "Quota risk",
2120
+ opsPendingInvoice: "Outstanding invoices",
2121
+ opsNextActions: "Next steps",
2122
+ opsCycleProgress: "Cycle progress",
2123
+ opsDaysUntilNextBill: "Next bill in {count} days",
2124
+ opsBillDueToday: "Billing due today",
2125
+ opsQuotaHealthy: "Healthy",
2126
+ opsInvoiceDegraded: "Invoice data is temporarily unavailable; other billing info is shown normally.",
2127
+ opsActionViewUsage: "Usage dashboard",
2128
+ opsActionSmartCap: "Configure Smart Cap",
2129
+ opsActionContactSales: "Contact sales",
2018
2130
  enterpriseQuotaSaveSuccess: "__EN_TODO__: Enterprise 自定义配额已保存",
2019
2131
  enterpriseQuotaSaveFailed: "__EN_TODO__: Enterprise 自定义配额保存失败",
2020
2132
  enterpriseQuotaConfigTitle: "__EN_TODO__: Enterprise 自定义配额",
@@ -2734,6 +2846,16 @@ const messages = {
2734
2846
  },
2735
2847
  developer: {
2736
2848
  apiCredentials: "API Credentials",
2849
+ pluginSubmit: {
2850
+ pluginNameLabel: "Plugin Name (kebab-case)",
2851
+ displayNameLabel: "Display Name",
2852
+ versionLabel: "Version (semver)",
2853
+ descriptionLabel: "Description",
2854
+ authorLabel: "Author",
2855
+ categoryLabel: "Category",
2856
+ permissionsLabel: "Permissions (comma-separated)",
2857
+ sourceBundleUrlLabel: "Source Bundle URL",
2858
+ },
2737
2859
  credentialsUnavailable: "API credentials are not yet available",
2738
2860
  credentialsUnavailableReason: "A future release will surface your API key and secret here along with a regenerate action. No credentials are stored locally.",
2739
2861
  dashboard: "Developer Dashboard",
@@ -2948,15 +3070,68 @@ const messages = {
2948
3070
  },
2949
3071
  namedCredentials: {
2950
3072
  title: "Named Credentials",
3073
+ rotate: "Rotate",
3074
+ detailName: "Name:",
3075
+ detailType: "Type:",
3076
+ detailStatus: "Status:",
3077
+ detailEndpoint: "Endpoint:",
3078
+ detailDescription: "Description:",
3079
+ detailCreatedBy: "Created By:",
3080
+ detailLastUsed: "Last Used:",
3081
+ neverUsed: "Never",
3082
+ noConfigurationData: "No configuration data",
3083
+ selectCredentialForAudit: "Select a credential to view audit logs",
3084
+ tokenUrl: "Token URL",
3085
+ clientId: "Client ID",
3086
+ clientSecret: "Client Secret",
3087
+ scopes: "Scopes",
3088
+ apiKey: "API Key",
3089
+ headerName: "Header Name",
3090
+ username: "Username",
3091
+ password: "Password",
3092
+ certificate: "Certificate",
3093
+ privateKey: "Private Key",
3094
+ deleteConfirmTitle: "Delete this credential?",
3095
+ filterByType: "Filter by type",
3096
+ nameLabel: "Name",
3097
+ descriptionLabel: "Description",
3098
+ endpointUrl: "Endpoint URL",
3099
+ credentialType: "Credential Type",
3100
+ selectType: "Select type",
3101
+ newApiKey: "New API Key",
3102
+ enterNewApiKey: "Enter new API key",
3103
+ basicInfo: "Basic Info",
3104
+ configurationMasked: "Configuration (Masked)",
3105
+ selectCredential: "Select credential",
3106
+ createdMsg: "Credential created",
3107
+ updatedMsg: "Credential updated",
3108
+ deletedMsg: "Credential deleted",
3109
+ rotatedMsg: "API Key rotated",
2951
3110
  },
2952
3111
  oauth2: {
2953
3112
  clients: "OAuth2 Clients",
2954
3113
  createApp: "Create App",
3114
+ clientIdLabel: "Client ID:",
3115
+ clientSecretLabel: "Client Secret:",
3116
+ secretSaveNowHint: "Please save the secret now. It won't be shown again.",
3117
+ appNameLabel: "Application Name",
3118
+ descriptionLabel: "Description",
3119
+ redirectUrisLabel: "Redirect URIs (one per line)",
3120
+ allowedScopesLabel: "Allowed Scopes",
3121
+ copied: "Copied",
3122
+ clientCreatedTitle: "Client Created",
2955
3123
  },
2956
3124
  plugins: {
2957
3125
  configSaved: "Configuration Saved",
2958
3126
  configuration: "Configuration",
2959
3127
  details: "Details",
3128
+ installationIdLabel: "Installation ID",
3129
+ pluginIdLabel: "Plugin ID",
3130
+ versionLabel: "Version",
3131
+ configJsonLabel: "Config (JSON)",
3132
+ targetVersionPlaceholder: "Target Version ID",
3133
+ rollbackConfirmTitle: "Rollback to this version?",
3134
+ invalidJson: "Invalid JSON",
2960
3135
  permissions: "Permissions",
2961
3136
  rollback: "Rollback",
2962
3137
  rolledBack: "Rolled Back",
@@ -2978,6 +3153,29 @@ const messages = {
2978
3153
  title: "Shield Encryption",
2979
3154
  performanceUnavailable: "Performance metrics unavailable",
2980
3155
  performanceUnavailableReason: "No production latency aggregate is available for this workspace. Metrics are not fabricated.",
3156
+ deactivate: "Deactivate",
3157
+ jobLabel: "Job:",
3158
+ statusLabel: "Status:",
3159
+ deactivateConfirmTitle: "Deactivate this policy?",
3160
+ createPolicyTitle: "Create Encryption Policy",
3161
+ objectLabel: "Object",
3162
+ objectPlaceholder: "Object Metadata ID",
3163
+ fieldLabel: "Field",
3164
+ fieldPlaceholder: "Field Metadata ID",
3165
+ searchable: "Searchable",
3166
+ statTotalEncryptedFields: "Total Encrypted Fields",
3167
+ statActiveKeys: "Active Keys",
3168
+ statPoliciesWithRecords: "Policies with Records",
3169
+ statEncryptedRecordsPerPolicy: "Encrypted Records per Policy",
3170
+ statPerformanceMetrics: "Performance Metrics",
3171
+ keyHistory: "Key History",
3172
+ rotateConfirmTitle: "Rotate encryption key?",
3173
+ reEncryption: "Re-encryption",
3174
+ selectPolicyToReEncrypt: "Select policy to re-encrypt",
3175
+ policyCreatedMsg: "Encryption policy created",
3176
+ policyDeactivatedMsg: "Policy deactivated",
3177
+ keyRotatedMsg: "Key rotated successfully",
3178
+ reEncryptionTriggeredMsg: "Re-encryption triggered",
2981
3179
  },
2982
3180
  webhooks: {
2983
3181
  dlq: "Dead Letter Queue",
@@ -3197,6 +3395,12 @@ const messages = {
3197
3395
  breadcrumbWorkspace: "Workspace",
3198
3396
  breadcrumbSecurity: "Security",
3199
3397
  breadcrumbNew: "New SSO Provider",
3398
+ entityIdAddon: "Entity ID",
3399
+ namePlaceholder: "Corporate SAML",
3400
+ entityIdLabel: "Entity ID",
3401
+ idpIssuerLabel: "IdP Issuer",
3402
+ idpSsoUrlLabel: "IdP SSO URL",
3403
+ x509CertLabel: "X.509 Certificate",
3200
3404
  sectionName: "Name",
3201
3405
  sectionNameDesc: "Your connection name",
3202
3406
  nameRequired: "Please enter connection name",
@@ -8113,7 +8317,13 @@ const messages = {
8113
8317
  common: {
8114
8318
  cancel: "Cancel",
8115
8319
  },
8320
+ readOnlyTag: "Read only",
8321
+ siteCol: "Site",
8322
+ statusCol: "Status",
8323
+ searchLabel: "Search",
8324
+ reassignTitle: "Reassign External Profile",
8116
8325
  link: {
8326
+ contactIdUuidLabel: "Contact ID (UUID)",
8117
8327
  noResult: "Link failed: the server returned no result",
8118
8328
  linked: "Contact linked",
8119
8329
  failed: "Link failed",
@@ -8165,6 +8375,30 @@ const messages = {
8165
8375
  breadcrumbPlatform: "Platform Tools",
8166
8376
  refresh: "Refresh",
8167
8377
  status: {
8378
+ conflictedTag: "Conflicted",
8379
+ resolvedTag: "Resolved",
8380
+ noneTag: "None",
8381
+ retry: "Retry",
8382
+ pushAria: "Push source tracking changes to remote",
8383
+ pullAria: "Pull source tracking changes from remote",
8384
+ refreshAria: "Refresh source tracking status",
8385
+ contractNoteAlert: "Current contract note",
8386
+ diffInspectionAlert: "Diff inspection mode",
8387
+ conflictMarkersAlert: "Conflict markers detected in remote content",
8388
+ colFilePath: "File Path",
8389
+ colChangeType: "Change Type",
8390
+ colSource: "Source",
8391
+ colLastModified: "Last Modified",
8392
+ colConflictStatus: "Conflict Status",
8393
+ colActions: "Actions",
8394
+ changeTypeModified: "Modified",
8395
+ changeTypeAdded: "Added",
8396
+ changeTypeDeleted: "Deleted",
8397
+ pullModalTitle: "Pull from Remote",
8398
+ pullOkText: "Pull",
8399
+ pushButton: "Push to Remote",
8400
+ pullButton: "Pull from Remote",
8401
+ lastModifiedPrefix: "Last Modified:",
8168
8402
  pushSubmitted: "Push submitted: {path}",
8169
8403
  noPushableDeletes: "There are no deletions the status page can push directly; added/modified items still require a local file content contract.",
8170
8404
  confirmPushDeletes: "Push {count} deletions to remote? Added/modified items will still not be submitted from the status page.",
@@ -8184,6 +8418,29 @@ const messages = {
8184
8418
  unsupportedPull: "Pull-from-remote is now handled by the source-tracking baseline contract.",
8185
8419
  },
8186
8420
  baseline: {
8421
+ retry: "Retry",
8422
+ historyTitle: "Baseline History",
8423
+ pullFromRemoteAria: "Pull baseline from remote",
8424
+ refreshAria: "Refresh baseline management",
8425
+ resetAria: "Reset source tracking",
8426
+ setBaselineAria: "Set source tracking baseline",
8427
+ contractNoteAlert: "Current contract note",
8428
+ currentBaselineTitle: "Current Baseline",
8429
+ colBaselineId: "Baseline ID",
8430
+ colAvailable: "Available",
8431
+ colRevision: "Revision",
8432
+ colSource: "Source",
8433
+ colAuthor: "Author",
8434
+ colCreatedAt: "Created At",
8435
+ colDescription: "Description",
8436
+ setBaselineTitle: "Set Baseline",
8437
+ setBaselineOk: "Set Baseline",
8438
+ baselineDescriptionLabel: "Baseline description",
8439
+ pullFromRemoteButton: "Pull from Remote",
8440
+ resetTrackingButton: "Reset Tracking",
8441
+ setBaselineButton: "Set Baseline",
8442
+ availableTag: "Available",
8443
+ unavailableTag: "Unavailable",
8187
8444
  rebuildSubmitted: "Baseline rebuild request submitted",
8188
8445
  setFailed: "Failed to set baseline",
8189
8446
  confirmReset: "Reset source tracking status? This clears the current tracking state and realigns the baseline.",
@@ -8208,6 +8465,25 @@ const messages = {
8208
8465
  descPlaceholder: "Explain the reason for this baseline rebuild",
8209
8466
  },
8210
8467
  conflict: {
8468
+ unresolved: "Unresolved",
8469
+ pageTitle: "Conflict Resolution",
8470
+ refreshContentAria: "Refresh conflict content",
8471
+ markResolvedAria: "Mark conflict as resolved",
8472
+ contractNoteAlert: "Current contract note",
8473
+ conflictFileTitle: "Conflict File",
8474
+ selectFileLabel: "Select conflict file",
8475
+ colPath: "Path",
8476
+ colMarkers: "Markers",
8477
+ colResolutionState: "Resolution State",
8478
+ colBackendAction: "Backend Action",
8479
+ sideBySideTitle: "Side-by-Side Inspection",
8480
+ conflictMarkersTitle: "Conflict Markers",
8481
+ breadcrumbSourceTracking: "Source Tracking",
8482
+ breadcrumbConflictResolution: "Conflict Resolution",
8483
+ markResolvedButton: "Mark as Resolved",
8484
+ readyToSubmitTag: "Ready to Submit",
8485
+ pendingSelectionTag: "Pending Selection",
8486
+ resolvedVia: "resolved via {choice}",
8211
8487
  resolved: "Conflict resolution written to source-tracking contract",
8212
8488
  subtitle: "This page is connected to the conflict packet between baseline/local-side and remote; resolutions are written directly to the source-tracking contract.",
8213
8489
  contractNote: "Here the local side is based on the source-tracking baseline, not the browser local file system. Mark as Resolved writes the resolution choice to the backend contract.",
@@ -8769,6 +9045,14 @@ const messages = {
8769
9045
  executionLogTitle: "Execution Log",
8770
9046
  noExecutionRecords: "No execution records",
8771
9047
  executionLogReplay: "Execution Log Replay",
9048
+ stepGuardrail: "Guardrail",
9049
+ stepThought: "Thought",
9050
+ stepAction: "Action",
9051
+ stepObservation: "Observation",
9052
+ labelModel: "Model",
9053
+ labelDuration: "Duration",
9054
+ labelTokens: "Tokens",
9055
+ confidencePercent: "{value}% confidence",
8772
9056
  totalSteps: "Total Steps",
8773
9057
  totalTokens: "Total Tokens",
8774
9058
  totalDuration: "Total Duration",
@@ -9158,6 +9442,29 @@ const messages = {
9158
9442
  },
9159
9443
  },
9160
9444
  deploymentPages: {
9445
+ envProduction: "Production",
9446
+ envDevelopmentSandbox: "Development Sandbox",
9447
+ envTestSandbox: "Test Sandbox",
9448
+ createChangeSetTitle: "Create Change Set",
9449
+ changeSetNameLabel: "Name",
9450
+ changeSetNamePlaceholder: "Enter a change set name",
9451
+ changeSetDescriptionLabel: "Description",
9452
+ changeSetDescriptionPlaceholder: "Enter a description (optional)",
9453
+ sourceEnvFieldLabel: "Source Environment",
9454
+ sourceEnvironmentPlaceholder: "Select a source environment",
9455
+ targetEnvFieldLabel: "Target Environment",
9456
+ targetEnvironmentPlaceholder: "Select a target environment",
9457
+ pageTitle: "Deployment Management",
9458
+ searchChangeSetsPlaceholder: "Search change sets",
9459
+ statusFilterPlaceholder: "Status",
9460
+ changeSetCreated: "Change set created successfully",
9461
+ sandboxLabel: "Sandbox: {name}",
9462
+ nameRequired: "Enter a change set name",
9463
+ sourceRequired: "Select a source environment",
9464
+ targetRequired: "Select a target environment",
9465
+ pageSubtitle: "Promote metadata and configuration between sandboxes and production",
9466
+ deleteTooltip: "Delete",
9467
+ deleteDisabledTooltip: "Change sets that are deploying or already deployed cannot be deleted",
9161
9468
  // Common column headers
9162
9469
  colName: "Name",
9163
9470
  colStatus: "Status",
@@ -11705,6 +12012,12 @@ const messages = {
11705
12012
  currentSpend: "Current spend",
11706
12013
  monthlyBudget: "Monthly budget",
11707
12014
  notConfigured: "Not configured",
12015
+ agentFallbackPrefix: "AI Employee",
12016
+ agentUnknown: "AI Employee (unknown)",
12017
+ setupNoticeBoth: "Monthly budget and AI usage pricing are not configured yet: usage is reported as-is. Configure a budget to enable utilization and cap controls; amounts take effect once a platform admin activates a rate card.",
12018
+ setupNoticeBudget: "Monthly budget is not configured yet: usage is reported as-is. Configure a budget to enable utilization and cap controls.",
12019
+ setupNoticePricing: "AI usage pricing is not configured yet: amounts are shown as ¥0 as-is. Ask a platform admin to configure and activate an AI usage rate card.",
12020
+ setupActionSmartCap: "Configure Smart Cap",
11708
12021
  noBudgetConfigured: "No monthly budget configured",
11709
12022
  noBudgetConfiguredDescription: "The detail sections below are aggregated from actual usage (tokens and cost). Current spend and projected month-end spend are shown truthfully; configure a budget to display the usage rate and cap controls.",
11710
12023
  daysRemaining: "Days remaining",
@@ -12123,11 +12436,13 @@ const messages = {
12123
12436
  summaryValue: "Estimated value",
12124
12437
  includesOutcomeBilling: "Includes outcome billing",
12125
12438
  tokenCostOnly: "Token cost only",
12439
+ billingPrivate: "Platform Admin only",
12440
+ billingPrivateNote: "Platform charge amounts are not published in demos or customer catalogs",
12126
12441
  phaseIntentDesc: "Identify the business goal, key entities, and triggering context.",
12127
12442
  phaseAgentMatchDesc: "Select the best-fit executing Agent, model, and capability set.",
12128
12443
  phaseExecutionDesc: "Invoke tools, write back to CRM, and generate external or internal actions.",
12129
12444
  phaseGuardrailDesc: "Validate amount, permissions, approvals, and the attribution chain.",
12130
- phaseCompleteDesc: "Output results, outcome metrics, and the Outcome billing signal.",
12445
+ phaseCompleteDesc: "Output results, outcome metrics, and auditable Outcome attribution signals.",
12131
12446
  executionChainPreview: "Execution Chain Preview",
12132
12447
  waitingExecution: "Waiting to execute",
12133
12448
  scenarioSummary: "Scenario Summary",
@@ -12850,6 +13165,53 @@ const messages = {
12850
13165
  fieldsSection: "Fields",
12851
13166
  functionsSection: "Functions",
12852
13167
  },
13168
+ builder: {
13169
+ nullNoInput: "NULL does not require any additional input.",
13170
+ functionName: "Function Name",
13171
+ dateaddQuickSetup: "DATEADD Quick Setup",
13172
+ dateField: "Date Field",
13173
+ offsetAmount: "Offset Amount",
13174
+ offsetUnit: "Offset Unit",
13175
+ ifQuickSetup: "IF Quick Setup",
13176
+ conditionField: "Condition Field",
13177
+ conditionOperator: "Condition Operator",
13178
+ conditionValueType: "Condition Value Type",
13179
+ conditionValue: "Condition Value",
13180
+ returnsNull: "Returns NULL",
13181
+ noArguments: "This function does not take any arguments.",
13182
+ operator: "Operator",
13183
+ left: "Left",
13184
+ right: "Right",
13185
+ stringConcatenation: "String Concatenation (&)",
13186
+ negative: "Negative",
13187
+ constants: "Constants",
13188
+ field: "Field",
13189
+ compareTo: "Compare To",
13190
+ value: "Value",
13191
+ substituteValueType: "Substitute Value Type",
13192
+ substituteValue: "Substitute Value",
13193
+ picklistField: "Picklist Field",
13194
+ picklistValue: "Picklist Value",
13195
+ condition1: "Condition 1",
13196
+ condition2: "Condition 2",
13197
+ formulaPreview: "Formula Preview",
13198
+ placeholderExampleFormula: "For example: isActive = TRUE",
13199
+ placeholderExampleCondition: "For example: annualRevenue > 1000000",
13200
+ placeholderExamplePicklist: "For example: Closed Won",
13201
+ placeholderEnterText: "Enter text",
13202
+ messagePreviewFailed: "Preview evaluation failed.",
13203
+ messagePreviewRequestFailed: "Preview request failed: {error}",
13204
+ messagePicklistConversion: "TEXT(Picklist) Conversion",
13205
+ messagePicklistComparison: "Salesforce-style Picklist Comparison",
13206
+ messageArgCountOutOfRange: "Function argument count is out of range",
13207
+ descIspickval: "Use ISPICKVAL when you want to compare a picklist field against a specific label value.",
13208
+ descNoMatchingFunctions: "No matching functions",
13209
+ descNoMatchingFields: "No matching fields",
13210
+ messageSyntaxPassed: "Syntax check passed.",
13211
+ messageSelectFieldFirst: "Select a field first.",
13212
+ messagePreviewNotConfigured: "Preview is not configured.",
13213
+ messageConditionInserted: "Condition inserted.",
13214
+ },
12853
13215
  batchRecalculate: {
12854
13216
  title: "Batch Recalculate Formula Field",
12855
13217
  skip: "Skip",
@@ -13160,6 +13522,49 @@ const messages = {
13160
13522
  leaveCancel: "Stay",
13161
13523
  },
13162
13524
  recordPageBuilder: {
13525
+ inspector: {
13526
+ sectionTabsContainer: "Tabs Container",
13527
+ sectionTabProperties: "Tab Properties",
13528
+ sectionComponentProperties: "Component Properties",
13529
+ sectionVisibilityRules: "Visibility Rules",
13530
+ sectionCustomLwc: "Custom LWC",
13531
+ sectionCurrentScope: "Current Scope",
13532
+ sectionPageMap: "Page Map",
13533
+ titlePageScope: "Page Scope",
13534
+ labelLabel: "Label",
13535
+ placeholderComponentTitle: "Component title",
13536
+ labelRegion: "Region",
13537
+ labelConditionExpression: "Condition Expression",
13538
+ labelDeviceVisibility: "Device Visibility",
13539
+ labelLayout: "Layout",
13540
+ labelRelatedObjectApiName: "Related Object API Name",
13541
+ placeholderSelectRelatedObject: "Select a related object",
13542
+ labelRelationshipField: "Relationship Field",
13543
+ labelDisplayStyle: "Display Style",
13544
+ labelVisibleFields: "Visible Fields",
13545
+ labelSortField: "Sort Field",
13546
+ labelSortDirection: "Sort Direction",
13547
+ labelPageSize: "Page Size",
13548
+ labelDefaultTitle: "Default Title",
13549
+ labelContent: "Content",
13550
+ labelStageFieldApiName: "Stage Field API Name",
13551
+ labelStages: "Stages",
13552
+ placeholderOneStagePerLine: "One stage per line",
13553
+ placeholderStageExample: "Won",
13554
+ labelCurrentStage: "Current Stage",
13555
+ labelComponent: "Component",
13556
+ labelComponentApiName: "Component API Name",
13557
+ labelBundleUrl: "Bundle URL",
13558
+ labelBundleHash: "Bundle Hash",
13559
+ labelRuntimeStatus: "Runtime Status",
13560
+ okTextApply: "Apply",
13561
+ runtimeShellBadge: "Runtime Shell",
13562
+ componentCountLabel: "Component Count",
13563
+ noSavedPages: "No saved pages yet.",
13564
+ apiNameLabel: "API Name",
13565
+ atLeastOneTab: "At least one tab is required",
13566
+ bundleReadyBadge: "Bundle Ready",
13567
+ },
13163
13568
  formError: {
13164
13569
  nameRequired: "Please enter a page name",
13165
13570
  internalNameRequired: "Please enter an internal name",
@@ -14030,6 +14435,8 @@ const messages = {
14030
14435
  },
14031
14436
  kanban: {
14032
14437
  cancel: "Cancel",
14438
+ cardDueSoon: "Due soon",
14439
+ cardRiskHigh: "High risk",
14033
14440
  create: "Create",
14034
14441
  loadFailed: "Load Failed",
14035
14442
  moveFailed: "Move Failed",
@@ -14345,6 +14752,16 @@ const messages = {
14345
14752
  title: "Page Builder",
14346
14753
  newPage: "New Page",
14347
14754
  edit: "Edit",
14755
+ newPageModal: {
14756
+ title: "New Page",
14757
+ pageNameLabel: "Page Name",
14758
+ apiNameLabel: "API Name",
14759
+ typeLabel: "Type",
14760
+ descriptionLabel: "Description",
14761
+ pageNameRequired: "Page Name is required",
14762
+ apiNameRequired: "API Name is required",
14763
+ apiNamePatternHint: "Use snake_case, starting with a letter",
14764
+ },
14348
14765
  createSuccess: "Page created",
14349
14766
  pageTypes: {
14350
14767
  recordPage: "Record Page",
@@ -14733,6 +15150,18 @@ const messages = {
14733
15150
  promotional: "Promotional",
14734
15151
  useTemplate: "Use Template",
14735
15152
  welcome: "Welcome",
15153
+ templates: {
15154
+ welcomeBasic: { name: "Welcome — Basic", description: "Clean welcome email with greeting and CTA button" },
15155
+ welcomeOnboarding: { name: "Welcome — Onboarding Steps", description: "Onboarding email with step-by-step guide" },
15156
+ promoSale: { name: "Promotional — Flash Sale", description: "Eye-catching promotional email for limited-time offers" },
15157
+ promoProductLaunch: { name: "Promotional — Product Launch", description: "Announce a new product or feature to your audience" },
15158
+ notifyReminder: { name: "Notification — Appointment Reminder", description: "Remind recipients about upcoming appointments or events" },
15159
+ notifyActionRequired: { name: "Notification — Action Required", description: "Alert recipients that an action is needed" },
15160
+ holidaySeason: { name: "Holiday — Season Greetings", description: "Warm holiday greetings for the festive season" },
15161
+ holidayNewYear: { name: "Holiday — New Year", description: "New Year celebration and wishes" },
15162
+ newsletterMonthly: { name: "Newsletter — Monthly Update", description: "Monthly newsletter with multiple content sections" },
15163
+ newsletterWeeklyDigest: { name: "Newsletter — Weekly Digest", description: "Compact weekly digest with top stories" },
15164
+ },
14736
15165
  },
14737
15166
  territory: {
14738
15167
  typesUnavailable: "Territory Types are not yet available",
@@ -15292,6 +15721,15 @@ const messages = {
15292
15721
  },
15293
15722
  decisionConfig: {
15294
15723
  title: "Decision Branch Configuration",
15724
+ outcomeLabel: "Outcome Label",
15725
+ outcomeApiName: "Outcome API Name",
15726
+ colResource: "Resource",
15727
+ colOperator: "Operator",
15728
+ colValue: "Value",
15729
+ defaultBadge: "Default",
15730
+ placeholderResource: "Resource",
15731
+ placeholderValue: "Value",
15732
+ addOutcome: "Add outcome",
15295
15733
  description: "Create an Outcome for each automation path, and specify for each Outcome the conditions that must be met to take that path.",
15296
15734
  noConditionWarning: "Please configure at least one decision branch, otherwise the flow cannot be activated",
15297
15735
  deleteCondition: "Delete condition",
@@ -16169,6 +16607,9 @@ const messages = {
16169
16607
  recordList: {
16170
16608
  actions: "Actions",
16171
16609
  refresh: "Refresh",
16610
+ density: "Row Density",
16611
+ densityCompact: "Compact",
16612
+ densityComfy: "Comfy",
16172
16613
  export: "Export",
16173
16614
  moreActions: "More Actions",
16174
16615
  exportTitle: "Export Current List",
@@ -16408,6 +16849,7 @@ const messages = {
16408
16849
  details: "Details",
16409
16850
  saveSuccess: "Saved successfully",
16410
16851
  saveFailed: "Save failed, please try again later",
16852
+ pathAriaLabel: "Sales path stages",
16411
16853
  deleted: "Deleted {object} {name}",
16412
16854
  deleteFailed: "Delete failed, please try again later",
16413
16855
  deleteUndone: "Delete undone",
@@ -16691,6 +17133,33 @@ const messages = {
16691
17133
  rawModeDesc: "The current condition format cannot be parsed by the visual editor. Please edit the JSON directly or try switching to visual mode.",
16692
17134
  switchToVisual: "Switch to visual mode",
16693
17135
  },
17136
+ flowBuilderCanvas: {
17137
+ undoTitle: "Undo (Ctrl+Z)",
17138
+ redoTitle: "Redo (Ctrl+Shift+Z)",
17139
+ saveTitle: "Save",
17140
+ newVersionTitle: "New Version",
17141
+ activateTitle: "Activate",
17142
+ rollbackTitle: "Rollback",
17143
+ autoLayoutApplied: "Auto-Layout applied",
17144
+ switchedToFreeForm: "Switched to Free-Form",
17145
+ flowSaved: "Flow saved",
17146
+ },
17147
+ workspaceLogo: {
17148
+ uploadButton: "Upload",
17149
+ workspaceIdNotFound: "Workspace id not found",
17150
+ uploadSuccess: "Logo uploaded successfully",
17151
+ uploadFailed: "Failed to upload logo",
17152
+ removeSuccess: "Logo removed successfully",
17153
+ removeFailed: "Failed to remove logo",
17154
+ },
17155
+ reportDesigner: {
17156
+ fieldsTitle: "Fields",
17157
+ columnsLabel: "Columns (drag fields here)",
17158
+ groupByLabel: "Group By",
17159
+ summaryLabel: "Summary (aggregations)",
17160
+ previewTitle: "Preview",
17161
+ configSaved: "Report config saved",
17162
+ },
16694
17163
  workflowRulesPage: {
16695
17164
  layoutTitle: "Flow / Approvals",
16696
17165
  breadcrumbWorkspace: "Workspace",
@@ -16899,6 +17368,33 @@ const messages = {
16899
17368
  abortSuccess: "Batch job aborted",
16900
17369
  abortError: "Abort failed: {message}",
16901
17370
  },
17371
+ platformCommercialPricing: {
17372
+ actionSucceeded: "Action completed",
17373
+ actionFailed: "Action failed. Confirm step-up verification and retry.",
17374
+ catalog: "Commercial Catalog",
17375
+ promotions: "Promotions",
17376
+ agreements: "Customer Agreements",
17377
+ version: "Version",
17378
+ status: "Status",
17379
+ currency: "Currency",
17380
+ effectiveFrom: "Effective From",
17381
+ entries: "Price Entries",
17382
+ actions: "Actions",
17383
+ activate: "Activate",
17384
+ retire: "Retire",
17385
+ suspend: "Suspend",
17386
+ code: "Code",
17387
+ benefit: "Benefit Rule",
17388
+ scope: "Scope",
17389
+ workspace: "Workspace",
17390
+ agreementKey: "Agreement",
17391
+ contractEvidence: "Contract Evidence",
17392
+ overrides: "Contracted Prices",
17393
+ privateNotice: "Platform prices are managed only here. Customers see only their own contracts and formal invoices.",
17394
+ workspaceFilter: "Filter by workspace UUID",
17395
+ loadFailed: "Failed to load",
17396
+ retry: "Retry",
17397
+ },
16902
17398
  platformAdmin: {
16903
17399
  menuChannelProvider: "Messaging Channels",
16904
17400
  adminPanelUi: {
@@ -17686,6 +18182,9 @@ const messages = {
17686
18182
  menuOpsSubscriptions: "Subscriptions",
17687
18183
  menuOpsHealth: "Tenant Health",
17688
18184
  menuOpsBilling: "Billing Overview",
18185
+ menuCommercialCatalog: "Commercial Catalog",
18186
+ menuPromotions: "Promotions",
18187
+ menuCustomerAgreements: "Customer Agreements",
17689
18188
  menuOpsRenewals: "Renewals",
17690
18189
  menuAiProvider: "AI Provider",
17691
18190
  menuDemoAccess: "Demo Access",
@@ -19251,6 +19750,38 @@ const messages = {
19251
19750
  billingTierFull: "Full billing",
19252
19751
  billingTierHalf: "Half billing",
19253
19752
  billingTierNone: "No billing",
19753
+ opsAgentPrefix: "AI Employee",
19754
+ opsAgentUnknown: "AI Employee (unknown)",
19755
+ opsScoringAgentActions: "{count} agent actions",
19756
+ opsScoringTotalActions: "{count} actions total",
19757
+ opsScoringRawRatio: "raw ratio {percent}",
19758
+ opsScoringWeighted: "weighted score {score}",
19759
+ opsOutcomeType: {
19760
+ lead_created: "Lead created",
19761
+ mql: "Marketing-qualified lead",
19762
+ opportunity_created: "Opportunity created",
19763
+ opportunity_won: "Opportunity won",
19764
+ customer_activated: "Customer activated",
19765
+ case_closed: "Case closed",
19766
+ },
19767
+ opsBillingStatus: {
19768
+ pending: "Pending",
19769
+ confirmed: "Confirmed",
19770
+ waived: "Waived",
19771
+ cancelled: "Cancelled",
19772
+ },
19773
+ opsDisputeStatus: {
19774
+ none: "No dispute",
19775
+ open: "Dispute open",
19776
+ raised: "Raised",
19777
+ reviewing: "Reviewing",
19778
+ resolved: "Resolved",
19779
+ },
19780
+ opsBillingTier: {
19781
+ full: "Full billing",
19782
+ half: "Half billing",
19783
+ none: "No billing",
19784
+ },
19254
19785
  },
19255
19786
  homeDashboard: {
19256
19787
  saveSuccess: "__EN_TODO__: 首页配置已保存",
@@ -20158,7 +20689,7 @@ const messages = {
20158
20689
  opportunityDetail: {
20159
20690
  quotesTab: "Quotes",
20160
20691
  contactsTab: "Contact Roles",
20161
- tasksTab: "Activity Timeline",
20692
+ tasksTab: "Tasks",
20162
20693
  backToPipeline: "Back to Pipeline",
20163
20694
  openForecast: "Open Forecast",
20164
20695
  },