@workflow-code/cli 0.2.2-20260826002 → 0.2.3-20260902001

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.
@@ -1,29 +1,4 @@
1
1
  #!/usr/bin/env node
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __commonJS = (cb, mod) => function __require() {
9
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
10
- };
11
- var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from))
14
- if (!__hasOwnProp.call(to, key) && key !== except)
15
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
- }
17
- return to;
18
- };
19
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
- // If the importer is in node compatibility mode or this is not an ESM
21
- // file that has been converted to a CommonJS file using a Babel-
22
- // compatible transform (i.e. "__esModule" has not been set), then set
23
- // "default" to the CommonJS "module.exports" for node compatibility.
24
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
- mod
26
- ));
27
2
 
28
3
  // node_modules/.pnpm/i18next@24.2.3_typescript@6.0.3/node_modules/i18next/dist/esm/i18next.js
29
4
  var isString = (obj) => typeof obj === "string";
@@ -2305,6 +2280,10 @@ var common = {
2305
2280
  advancedOptions: "Advanced options",
2306
2281
  advancedInputs: "Advanced inputs",
2307
2282
  closeAdvancedOptions: "Close advanced options",
2283
+ quickOptions: "Quick options",
2284
+ quickOptionsSummary: "Quick options: {{summary}}",
2285
+ resetQuickOptions: "Reset to defaults",
2286
+ backToQuickOptions: "Back to quick options: {{name}}",
2308
2287
  close: "Close",
2309
2288
  booleanYes: "Yes",
2310
2289
  booleanNo: "No",
@@ -2914,37 +2893,36 @@ var common = {
2914
2893
  },
2915
2894
  projectDependencies: {
2916
2895
  validation: {
2917
- duplicateSelection: 'Duplicate dependency selection "{{sourceId}}".',
2918
- unknownSelection: 'Unknown dependency selection "{{sourceId}}".',
2896
+ duplicateSelection: 'Duplicate dependency selection "{{alias}}".',
2897
+ unknownSelection: 'Unknown dependency selection "{{alias}}".',
2919
2898
  lockArray: "Project dependency lock must be an array.",
2920
- duplicateSourceId: 'Project dependency sourceId "{{sourceId}}" is duplicated.',
2899
+ duplicateAlias: 'Project dependency alias "{{alias}}" is duplicated.',
2900
+ duplicateDependencyProjectId: 'Project dependency projectId "{{projectId}}" is duplicated.',
2921
2901
  manifestVersion: "Project group manifest version must be {{version}}.",
2922
2902
  manifestProjects: "Project group manifest projects must be a non-empty array.",
2923
2903
  projectObject: "Project group {{field}} must be an object.",
2924
2904
  projectRole: "Project group {{field}} is invalid.",
2925
2905
  archiveFormat: "Project group {{field}} must be a tar.gz archive.",
2926
- rootSourceIdForbidden: "Project group {{field}} is not allowed for the root project.",
2906
+ rootAliasForbidden: "Project group {{field}} is not allowed for the root project.",
2927
2907
  duplicateProjectId: 'Project group projectId "{{projectId}}" is duplicated.',
2928
2908
  duplicateArchivePath: 'Project group archivePath "{{path}}" is duplicated.',
2929
2909
  rootCount: "Project group manifest must contain exactly one matching root project.",
2930
- selfReference: 'Project group dependency "{{sourceId}}" cannot reference the root Kanban project.',
2931
- includedArchiveMissing: 'Included dependency "{{sourceId}}" has no project archive.',
2910
+ selfReference: 'Project group dependency "{{alias}}" cannot reference the root project.',
2911
+ includedArchiveMissing: 'Included dependency "{{alias}}" has no project archive.',
2932
2912
  dependencyNotIncluded: 'Dependency project "{{projectId}}" is not marked included.',
2933
- includedNotPublished: 'Included dependency "{{sourceId}}" was not published.',
2913
+ includedNotPublished: 'Included dependency "{{alias}}" was not published.',
2934
2914
  lockObject: "{{field}} must be an object.",
2935
- lockSourceId: "{{field}} is invalid.",
2936
- lockKind: "{{field}} is invalid.",
2915
+ lockAlias: "{{field}} is invalid.",
2937
2916
  lockDelivery: "{{field}} is invalid.",
2938
- keyPrefixesArray: "{{field}} must be a non-empty array.",
2939
- keyPrefixesDuplicate: "{{field}} must not contain duplicates.",
2940
- externalPinned: 'External dependency "{{sourceId}}" cannot pin a version or source hash.',
2941
- includedPinRequired: 'Included dependency "{{sourceId}}" must pin version and sourceHash.',
2942
- includedVersionInvalid: 'Included dependency "{{sourceId}}" has an invalid version.',
2943
- includedHashInvalid: 'Included dependency "{{sourceId}}" has an invalid sourceHash.',
2917
+ externalPinned: 'External dependency "{{alias}}" cannot pin a version or source hash.',
2918
+ includedPinRequired: 'Included dependency "{{alias}}" must pin version and sourceHash.',
2919
+ includedVersionInvalid: 'Included dependency "{{alias}}" has an invalid version.',
2920
+ includedHashInvalid: 'Included dependency "{{alias}}" has an invalid sourceHash.',
2944
2921
  unsafePath: "Project group {{field}} is unsafe.",
2945
2922
  uuidRequired: "Project group {{field}} must be a UUID.",
2946
2923
  nonEmptyString: "{{field}} must be a non-empty string.",
2947
- optionalNonEmptyString: "{{field}} must be a non-empty string when provided."
2924
+ optionalNonEmptyString: "{{field}} must be a non-empty string when provided.",
2925
+ unsupportedField: "{{field}} is not supported."
2948
2926
  }
2949
2927
  },
2950
2928
  schedule: {
@@ -3195,10 +3173,10 @@ var common = {
3195
3173
  close: "Hide Logs"
3196
3174
  }
3197
3175
  },
3198
- kanbanRevisionSubscriptionInterrupted: "The data source update subscription was interrupted. Reconnecting.",
3199
- kanbanRevisionSubscriptionUnavailable: "The data source update subscription is temporarily unavailable. The last result remains visible.",
3200
- kanbanRevisionTargetChangedReconnect: "The data source version changed. Reconnecting.",
3201
- kanbanRevisionTargetChangedRefresh: "The data source version changed. Refresh the page.",
3176
+ kanbanRevisionSubscriptionInterrupted: "The related project update subscription was interrupted. Reconnecting.",
3177
+ kanbanRevisionSubscriptionUnavailable: "The related project update subscription is temporarily unavailable. The last result remains visible.",
3178
+ kanbanRevisionTargetChangedReconnect: "The related project version changed. Reconnecting.",
3179
+ kanbanRevisionTargetChangedRefresh: "The related project version changed. Refresh the page.",
3202
3180
  listSeparator: ", ",
3203
3181
  quotedValue: " \u201C{{value}}\u201D",
3204
3182
  previewAssistantMessage: "I will continue from this conversation and support **Markdown**.",
@@ -3257,6 +3235,14 @@ var desktop = {
3257
3235
  localeEn: "English",
3258
3236
  localeEnDetail: "Display the interface in English",
3259
3237
  allTypes: "All types",
3238
+ homeWorkspaceViewMode: "Workspace view",
3239
+ homeListView: "List view",
3240
+ homeGraphView: "Graph view",
3241
+ homeProjectGraph: "Project relationship graph",
3242
+ homeProjectGraphControls: "Project relationship graph zoom controls",
3243
+ homeProjectGraphZoomIn: "Zoom in",
3244
+ homeProjectGraphZoomOut: "Zoom out",
3245
+ homeProjectGraphFitView: "Fit graph to view",
3260
3246
  desktopCloudRunRecordsLabel: "Desktop cloud run records",
3261
3247
  desktopStatus: "Desktop status",
3262
3248
  archiveImportedAs: "{{archiveName}} imported as {{workflowName}}",
@@ -3321,6 +3307,7 @@ var desktop = {
3321
3307
  hideHomeSidebar: "Hide home sidebar",
3322
3308
  homeProjectMode: "Home workspace mode",
3323
3309
  homeSidebar: "Home sidebar",
3310
+ userHomeDirectory: "User home directory",
3324
3311
  importLocal: "Import local",
3325
3312
  importLocalFolder: "Open folder",
3326
3313
  importLocalFolderUploadTitle: "Select a local workflow folder and upload it as a server draft",
@@ -3636,26 +3623,33 @@ var desktop = {
3636
3623
  projectNamePlaceholder: "Project name",
3637
3624
  projectType: "Project type",
3638
3625
  projectUuid: "Project UUID",
3639
- assistantLinkedProjects: "Developer assistant links",
3640
- manageAssistantLinks: "Manage links",
3641
- assistantLinksDialogTitle: "Linked workspaces",
3642
- assistantLinksDialogDescription: "Manage local projects and folders that the developer assistant can update together.",
3643
- assistantLinksDirectCount: "{{count}} direct",
3644
- assistantLinksRecursiveCount: "{{count}} recursively accessible",
3645
- assistantLinksWarningCount: "{{count}} unavailable",
3646
- assistantAutomaticLinks: "Automatic links",
3647
- assistantManualLinks: "Manual links",
3648
- assistantLinkSearchPlaceholder: "Search local projects and folders",
3649
- assistantNoAutomaticLinks: "No automatically linked projects",
3650
- assistantNoManualCandidates: "No local projects or folders available to link",
3651
- assistantLinkUnavailable: "Unavailable",
3652
- assistantLinkAutomatic: "Automatic",
3653
- assistantLinksLoading: "Loading linked projects...",
3654
- assistantLinkWarningNotImported: "{{project}} is not imported",
3655
- assistantLinkWarningPathUnavailable: "{{project}} has an unavailable directory",
3656
- assistantLinkWarningNotEditable: "{{project}} is not editable",
3657
- assistantLinkWarningManifestInvalid: "{{project}} has an invalid automatic link declaration",
3658
- assistantLinkWarningFolderNotRegistered: "{{folder}} is not registered or is unavailable",
3626
+ relatedResources: "Related resources",
3627
+ manageRelatedResources: "Manage related resources",
3628
+ relatedResourcesDialogTitle: "Related resources",
3629
+ relatedResourcesDialogDescription: "Manage general related projects and local folders used only by the developer assistant.",
3630
+ relatedResourcesDirectCount: "{{count}} direct",
3631
+ relatedResourcesRecursiveCount: "{{count}} recursively accessible",
3632
+ relatedResourcesWarningCount: "{{count}} unavailable",
3633
+ relatedResourcesSearchPlaceholder: "Search local projects and folders",
3634
+ relatedResourcesLoading: "Loading related resources...",
3635
+ relatedResourcesEmpty: "No local projects available to relate",
3636
+ relatedProjects: "Related projects",
3637
+ relatedProjectAlias: "Alias",
3638
+ relatedProjectConfirmed: "Confirmed",
3639
+ relatedProjectPending: "Pending",
3640
+ relatedProjectUuidRequired: "A related project's package.json.id must be a UUID.",
3641
+ relatedResourceUnavailable: "Unavailable",
3642
+ assistantRelatedFolders: "Assistant folders",
3643
+ assistantFoldersOnly: "Developer assistant only",
3644
+ assistantFolderAvailable: "Available",
3645
+ grantToRelatedProject: "Allow the other project to access this project",
3646
+ grantFromRelatedProject: "This project accesses the other project",
3647
+ readAccess: "Read",
3648
+ writeAccess: "Write",
3649
+ accessModeNone: "None",
3650
+ accessModeAll: "All keys",
3651
+ accessModePrefixes: "Prefixes",
3652
+ accessPrefixesPlaceholder: "For example: data., cache.",
3659
3653
  publishNewVersion: "Publish new version",
3660
3654
  releaseExecutionTargets: "Release targets",
3661
3655
  releaseExecutionTargetsDescription: "Choose Server execution and local execution on this device for the immutable version.",
@@ -3675,31 +3669,22 @@ var desktop = {
3675
3669
  previousDesktopTargetsNotInherited: "Desktop targets for other operating systems were not inherited. Publish those targets on their matching operating systems.",
3676
3670
  projectGroupSourceSnapshotDescription: "The project group retains source snapshots for the root Kanban and included Workflows. Users with source download access can retrieve them.",
3677
3671
  kanbanSourceSnapshotDescription: "Kanban versions always retain source and static artifacts. Users with source download access can retrieve them.",
3678
- referencedProjects: "Referenced projects",
3679
- dependencyDeliveryDescription: "Source delivery and data authorization are independent. Neither uploads local KV data, schedules, run records, or environment variables.",
3680
- checkingDependenciesAndPreviousSettings: "Checking source projects and previous publish settings",
3672
+ referencedProjects: "Related projects",
3673
+ dependencyDeliveryDescription: "Only relationships confirmed by both projects can enter a project group. Project groups do not upload KV data, schedules, run records, or environment variables.",
3674
+ checkingDependenciesAndPreviousSettings: "Checking related projects and previous publish settings",
3681
3675
  dependencyServerMissing: "Project is not on the Server",
3682
- dependencyNotDownloaded: "Source project is not downloaded",
3683
- dependencyDataNotAuthorized: "Project exists on the Server, but data access is not authorized",
3676
+ dependencyNotDownloaded: "Related project is not downloaded",
3677
+ dependencyRelationshipPending: "Relationship is pending confirmation",
3684
3678
  dependencyDataInitialized: "Server data is initialized",
3685
3679
  dependencyDataNotInitialized: "Project is deployed, but Server data is not initialized",
3686
3680
  sourceDownloadLabel: "Source download: ",
3687
- dataGrantManagementLabel: "Data grant management: ",
3688
3681
  allowed: "Allowed",
3689
3682
  notAuthorized: "Not authorized",
3690
- validateOnPublish: "Validate during publish",
3691
3683
  includeSourceWithGroup: "Include source with group",
3692
- localDependencyNotDownloaded: "Local source project is not downloaded",
3693
- cannotManageServerDependency: "The current account cannot manage the Server source project",
3684
+ localDependencyNotDownloaded: "Local related project is not downloaded",
3694
3685
  publishDependencyAsSource: "Publish in source mode and lock the exact version",
3695
3686
  includeSourceWithGroupAria: "Include source with group for {{name}}",
3696
- authorizeDataRead: "Authorize data read",
3697
- dependencyKvPrefixesAuthorized: "The Server has authorized the current KV key prefixes",
3698
- cannotManageDependencyGrant: "The current account cannot manage authorization for the source project",
3699
- dependencyMustExistBeforeGrant: "Include the source with the group or create the source project on the Server first",
3700
- authorizeDeclaredKvPrefixes: "Authorize only the declared KV key prefixes",
3701
- authorizeDataReadAria: "Authorize data read for {{name}}",
3702
- unresolvedDependenciesBlockPublish: "{{count}} source projects are still not downloaded, uploaded, or authorized. This version cannot be published.",
3687
+ unresolvedDependenciesBlockPublish: "{{count}} confirmed related projects are still not downloaded or uploaded. This version cannot be published.",
3703
3688
  publishProgress: "Publish progress",
3704
3689
  publishProgressValue: "{{percent}}% \xB7 {{message}}",
3705
3690
  publishResult: "Publish result",
@@ -3785,7 +3770,6 @@ var desktop = {
3785
3770
  fixSuggestionAddId: ", add",
3786
3771
  fixSuggestionEnsureId: "and make sure it matches the folder / workflow id.",
3787
3772
  fixSuggestionPrefix: "Suggestion: open",
3788
- globalScope: "Global",
3789
3773
  hideConversationList: "Hide conversation list",
3790
3774
  hideDiagnostic: "Hide {{label}}",
3791
3775
  hideFileList: "Hide file list",
@@ -3809,7 +3793,6 @@ var desktop = {
3809
3793
  kvScopeFilterAriaLabel: "Filter KV scope",
3810
3794
  kvSearchAriaLabel: "Search KV data",
3811
3795
  kvSearchPlaceholder: "Search key or summary",
3812
- kvServerGlobalDetailUnavailable: "Server project details do not include global KV.",
3813
3796
  kvUnavailableTitle: "KV data is currently unavailable",
3814
3797
  kvValueTooLarge: "Value content is large",
3815
3798
  kvValueTooLargeDescription: "The current value is about {{size}}. To avoid blocking the UI, only the list summary is shown here.",
@@ -3885,7 +3868,7 @@ var desktop = {
3885
3868
  viewKVDetail: "View KV details",
3886
3869
  workflowConfigInvalidEditable: "Workflow configuration is invalid, but the source is still editable.",
3887
3870
  workflowExitedWith: "Workflow exited with {{code}}.",
3888
- workflowScope: "Workflow",
3871
+ projectScope: "Project",
3889
3872
  authStatusMissingServerTitle: "No remote server bound",
3890
3873
  authStatusMissingServerDetail: "Desktop is currently using the local workspace only. Bind a Workflow Server before publishing, pulling, or running remotely.",
3891
3874
  authStatusMissingServerBadge: "Not bound",
@@ -3983,6 +3966,20 @@ var desktop = {
3983
3966
  activityFilesLabel: "Files",
3984
3967
  activityInfoDescription: "View and edit project info",
3985
3968
  activityInfoLabel: "Info",
3969
+ mcpWorkspaceTitle: "MCP",
3970
+ mcpWorkspaceDescription: "AI clients start this local Workflow on demand through standard stdio MCP",
3971
+ mcpTransportLabel: "Transport",
3972
+ mcpServerNameLabel: "Server name",
3973
+ mcpToolsLabel: "Tools",
3974
+ mcpNoTools: "No Workflow entrypoints are available as MCP tools.",
3975
+ mcpJsonLabel: "Client configuration",
3976
+ mcpCopyJson: "Copy connection",
3977
+ mcpRefresh: "Refresh MCP connection",
3978
+ mcpLoading: "Loading MCP connection",
3979
+ mcpLoadFailed: "MCP connection unavailable",
3980
+ mcpLoadFailedDescription: "Refresh after confirming that the local Workflow and its entrypoints are valid.",
3981
+ activityOpenaiDescription: "Manage OpenAI Responses access for this Conversation project",
3982
+ activityOpenaiLabel: "OpenAI API",
3986
3983
  activityKnowledgeDescription: "Manage local or server knowledge base documents",
3987
3984
  activityKnowledgeLabel: "Knowledge base",
3988
3985
  activityKvDescription: "View local or server KV data",
@@ -3995,6 +3992,62 @@ var desktop = {
3995
3992
  activitySchedulesLabel: "Schedules",
3996
3993
  activityTerminalDescription: "Open the workspace terminal",
3997
3994
  activityTerminalLabel: "Terminal",
3995
+ openaiAccessTitle: "OpenAI API",
3996
+ openaiAccessDescription: "Use this Conversation project through the OpenAI Responses protocol.",
3997
+ openaiAccessRefresh: "Refresh OpenAI API access",
3998
+ openaiAccessLoading: "Loading OpenAI API access",
3999
+ openaiAccessStatusHeading: "Service status",
4000
+ openaiAccessAdapterEnabled: "Adapter enabled",
4001
+ openaiAccessAdapterDisabled: "Adapter not enabled",
4002
+ openaiAccessGatewayRunning: "Desktop proxy running",
4003
+ openaiAccessGatewayStopped: "Desktop proxy stopped",
4004
+ openaiAccessServerReady: "Server API ready",
4005
+ openaiAccessServerUnavailable: "Server API unavailable",
4006
+ openaiAccessGatewayError: "Desktop proxy error: {{message}}",
4007
+ openaiAccessGatewayUnavailable: "The Desktop proxy is unavailable. Resolve the local port error, then refresh.",
4008
+ openaiAccessAuthRequired: "Sign in before creating or using a project API key.",
4009
+ openaiAccessModelDiscoveryFailed: "No available model could be loaded for the current account. Check System AI settings.",
4010
+ openaiAccessAdapterRequiredTitle: "Project adapter required",
4011
+ openaiAccessAdapterRequiredDescription: "This Conversation project has not declared conversation.openai. Add the adapter in the project, then refresh this page.",
4012
+ openaiAccessReadDocs: "Read integration guide",
4013
+ openaiAccessEndpointsHeading: "Endpoints",
4014
+ openaiAccessDesktopProxyBase: "Desktop base URL",
4015
+ openaiAccessResponsesEndpoint: "Responses endpoint",
4016
+ openaiAccessServerBase: "Server direct base URL",
4017
+ openaiAccessServerDirectUnavailable: "A Server direct URL is available when viewing the cloud copy of this project.",
4018
+ openaiAccessCopyValue: "Copy {{label}}",
4019
+ openaiAccessKeyHeading: "Project API key",
4020
+ openaiAccessKeySecurity: "This key is bound to the current user and project. Store it as a secret and never commit it to source control.",
4021
+ openaiAccessNoKey: "No active project key",
4022
+ openaiAccessKeyPrefix: "Key prefix",
4023
+ openaiAccessKeyCreated: "Created",
4024
+ openaiAccessKeyLastUsed: "Last used",
4025
+ openaiAccessNeverUsed: "Never used",
4026
+ openaiAccessCreateKey: "Create key",
4027
+ openaiAccessRotateKey: "Rotate key",
4028
+ openaiAccessRevokeKey: "Revoke key",
4029
+ openaiAccessRotateTitle: "Rotate the project API key?",
4030
+ openaiAccessRotateDescription: "The current key will stop working immediately. Existing Responses and Conversations resources are not deleted.",
4031
+ openaiAccessRotateConfirm: "Rotate key",
4032
+ openaiAccessRevokeTitle: "Revoke the project API key?",
4033
+ openaiAccessRevokeDescription: "The current key will stop working immediately. Create a new key before the next API call.",
4034
+ openaiAccessRevokeConfirm: "Revoke key",
4035
+ openaiAccessOperationFailed: "OpenAI API access operation failed: {{message}}",
4036
+ openaiAccessSecretTitle: "Save this key now",
4037
+ openaiAccessSecretDescription: "The complete key is shown only after creation or rotation. It cannot be retrieved again.",
4038
+ openaiAccessSecretSaved: "I saved it",
4039
+ openaiAccessCopySecret: "Copy complete API key",
4040
+ openaiAccessModelsHeading: "Model",
4041
+ openaiAccessModelLabel: "Model used by the examples",
4042
+ openaiAccessNoModels: "No model is currently available to this account. Configure an enabled provider before calling the API.",
4043
+ openaiAccessExamplesHeading: "Request examples",
4044
+ openaiAccessExamplesDescription: "Set OPENAI_API_KEY to the complete project key before running an example.",
4045
+ openaiAccessExampleCurl: "curl",
4046
+ openaiAccessExampleNode: "Node.js",
4047
+ openaiAccessExamplePython: "Python",
4048
+ openaiAccessCopyExample: "Copy {{language}} example",
4049
+ openaiAccessCopied: "Copied",
4050
+ openaiAccessCopyFailed: "Copy failed",
3998
4051
  desktopNoLongerClonesToServer: "Desktop no longer clones to the server. Use Publish to host the current local project.",
3999
4052
  desktopOnlyClonesLocal: "Desktop only clones local projects.",
4000
4053
  backToReview: "Back to review",
@@ -4410,7 +4463,7 @@ var desktop = {
4410
4463
  assistantHideAria: "Developer assistant: hide the workspace development conversation",
4411
4464
  assistantHideTitle: "Hide the developer assistant",
4412
4465
  assistantInstallFailed: "Failed to install the developer assistant. Please retry.",
4413
- assistantLocalOnly: "The developer assistant only supports local editable projects and folders.",
4466
+ assistantLocalOnly: "The developer assistant only supports the user home directory, local editable projects, and folders.",
4414
4467
  assistantOpenAria: "Developer assistant: open the workspace development conversation",
4415
4468
  assistantOpenTitle: "Open the developer assistant",
4416
4469
  assistantPreparingDetail: "Checking built-in dependencies and loading the conversation workspace.",
@@ -4464,13 +4517,8 @@ var desktop = {
4464
4517
  selectProjectToEditInfo: "Select a project to edit its info.",
4465
4518
  settingsAria: "Settings: open Desktop settings",
4466
4519
  workspaceRailAria: "Workspace views",
4467
- dataSourceAuthorizationRequired: "Data source{{source}} is not authorized for this Kanban. Enable \u2018Grant data access\u2019 in publish settings. If the option is unavailable, ask an administrator of the source Workflow to grant access to the declared KV prefixes.",
4468
4520
  dependencyStatusLoadFailed: "Unable to load referenced project status.",
4469
- kanbanDataSourcePackageMissing: "The Kanban project is missing package.json, so its data source declaration cannot be read.",
4470
- kanbanDataSourcePackageMustBeUtf8: "The Kanban project's package.json must be UTF-8 text.",
4471
- kanbanDataSourceReadFailed: "Unable to read the Kanban data source declaration: {{details}}",
4472
- kanbanDataSourceSelfReference: "Data source \u201C{{sourceId}}\u201D cannot reference the current Kanban project itself.",
4473
- kanbanMissingDataSources: "Source projects not downloaded: {{sources}}. Download the referenced Workflows, then retry.",
4521
+ kanbanMissingRelatedProjects: "Related projects are unavailable: {{aliases}}. Confirm both manifests and import the projects, then retry.",
4474
4522
  previousPublishDependenciesLoadFailed: "Unable to load the referenced project settings from the previous publish.",
4475
4523
  previousPublishedVersionMissing: "The latest published version {{version}} was not found in the version list.",
4476
4524
  previousPublishSettingsLoadFailed: "Unable to load the previous publish settings.",
@@ -4480,7 +4528,7 @@ var desktop = {
4480
4528
  projectGroupTargetDirectoryInvalid: "Project-group target directory name \u201C{{directoryName}}\u201D is invalid.",
4481
4529
  projectGroupDisplayNameRequired: "The project display name must not be empty.",
4482
4530
  projectGroupServerUrlInvalid: "Workflow Server URL \u201C{{serverUrl}}\u201D must be a valid HTTP(S) URL.",
4483
- projectGroupSourceIdInvalidOrDuplicated: "Project-group source ID \u201C{{projectId}}\u201D is invalid or duplicated.",
4531
+ projectGroupProjectIdInvalidOrDuplicated: "Project-group project ID \u201C{{projectId}}\u201D is invalid or duplicated.",
4484
4532
  projectGroupFilePathInvalid: "Project-group file path \u201C{{filePath}}\u201D is invalid.",
4485
4533
  projectGroupDuplicateFilePath: "Project-group source contains the duplicated file path \u201C{{filePath}}\u201D.",
4486
4534
  projectGroupForbiddenHostData: "Project-group source contains forbidden host data at \u201C{{filePath}}\u201D.",
@@ -4488,13 +4536,13 @@ var desktop = {
4488
4536
  projectGroupProjectTypeMismatch: "Project \u201C{{projectId}}\u201D has type \u201C{{actualProjectType}}\u201D; its project-group role requires \u201C{{expectedProjectType}}\u201D.",
4489
4537
  projectGroupSourceContentInvalid: "Project \u201C{{projectId}}\u201D contains invalid source content.",
4490
4538
  projectGroupSourceHashMismatch: "Project \u201C{{projectId}}\u201D source content does not match its locked hash.",
4491
- projectGroupRootSourceIdForbidden: "The project-group root project cannot have a dependency source ID.",
4539
+ projectGroupRootAliasForbidden: "The project-group root project cannot have a related-project alias.",
4492
4540
  projectGroupRootVersionMismatch: "The root project version is {{actualVersion}}, but the download plan requires {{expectedVersion}}.",
4493
4541
  projectGroupUndeclaredPinnedDependency: "Dependency project \u201C{{projectId}}\u201D is not declared with the downloaded version and source hash.",
4494
4542
  projectGroupRootPackageMustBeUtf8: "The project-group root package.json must be UTF-8 text.",
4495
- projectGroupRootDataSourcesInvalid: "The root Kanban data source configuration is invalid.",
4496
- projectGroupDependencyLockMismatch: "The project-group dependency lock does not match the root Kanban data sources.",
4497
- projectGroupSelfReference: "The root Kanban cannot reference itself as a Workflow data source.",
4543
+ projectGroupRootRelatedProjectsInvalid: "The root Kanban related-project declaration is invalid.",
4544
+ projectGroupDependencyLockMismatch: "The project-group dependency lock does not match the root project's related projects.",
4545
+ projectGroupSelfReference: "The root project cannot reference itself as a related project.",
4498
4546
  projectGroupUndeclaredDependency: "Dependency project \u201C{{projectId}}\u201D is not declared by the project group.",
4499
4547
  projectGroupExistingProjectTypeMismatch: "Existing local project \u201C{{projectId}}\u201D has type \u201C{{actualProjectType}}\u201D; the project group requires \u201C{{expectedProjectType}}\u201D.",
4500
4548
  projectGroupCopyMissingIncludedSource: "Copying a project group requires source for every included dependency.",
@@ -4704,8 +4752,6 @@ var serverWeb = {
4704
4752
  busyLoadAiConfig: "Loading AI config",
4705
4753
  busyLoadAiUsage: "Loading AI usage",
4706
4754
  busyLoadAudit: "Loading audit log",
4707
- busyLoadGlobalKv: "Loading Global KV",
4708
- busyLoadGlobalKvPage: "Switching Global KV page",
4709
4755
  busyLoadLogs: "Loading run logs",
4710
4756
  busyLoadOrders: "Loading orders",
4711
4757
  busyLoadProjectDetail: "Loading project details",
@@ -4752,17 +4798,49 @@ var serverWeb = {
4752
4798
  confirmActionCancel: "Cancel",
4753
4799
  confirmActionConfirm: "Confirm",
4754
4800
  detailNavEmbed: "Embed",
4755
- detailNavDependencies: "Dependencies & access",
4801
+ detailNavRelatedProjects: "Related projects",
4756
4802
  detailNavEnv: "Environment",
4757
4803
  detailNavKnowledge: "Knowledge base",
4758
4804
  detailNavKv: "KV data",
4759
4805
  detailNavLogs: "Run logs",
4806
+ detailNavMcp: "MCP",
4760
4807
  detailNavMembers: "Members",
4761
4808
  detailNavOverview: "Overview",
4762
4809
  detailNavSchedules: "Schedules",
4763
4810
  detailNavSettings: "Settings",
4764
4811
  detailNavVersions: "Versions",
4765
4812
  detailNavWebhook: "Webhook",
4813
+ mcpApiKeySettings: "API Key settings",
4814
+ mcpAuthHeaderDescription: "Replace the placeholder with an account API Key or administrator Key. Browser cookies are not accepted.",
4815
+ mcpAuthHeaderLabel: "Authorization header",
4816
+ mcpClientConfigDescription: "Generic MCP client configuration. Keep the API Key in your client's secret storage.",
4817
+ mcpClientConfigLabel: "Client JSON",
4818
+ mcpConnectionDescription: "Connect an MCP client to the selected immutable Workflow target over standard Streamable HTTP.",
4819
+ mcpConnectionTitle: "MCP connection",
4820
+ mcpCopied: "Copied",
4821
+ mcpCopyAuthHeader: "Copy authorization header",
4822
+ mcpCopyClientConfig: "Copy client JSON",
4823
+ mcpCopyFailed: "Copy failed, retry",
4824
+ mcpCopyUrl: "Copy Streamable HTTP URL",
4825
+ mcpEmptyDescription: "Add an entrypoint to this Workflow target, then reconnect the MCP client.",
4826
+ mcpEmptyTitle: "No MCP tools",
4827
+ mcpLoadFailedDescription: "Unable to load the Workflow tool catalog for this target.",
4828
+ mcpLoadFailedTitle: "Tool catalog unavailable",
4829
+ mcpLoadingDescription: "Loading MCP tool catalog",
4830
+ mcpProjectTypeUnsupported: "Only Workflow projects can be exposed through MCP.",
4831
+ mcpServerNameLabel: "Server name",
4832
+ mcpTargetDraft: "draft (current draft)",
4833
+ mcpTargetLabel: "Target",
4834
+ mcpTargetLatest: "latest (current runnable release)",
4835
+ mcpToolsCount: "{{count}} tools",
4836
+ mcpToolsDescription: "Each Workflow entrypoint is exposed as one MCP tool. The catalog remains fixed for the session.",
4837
+ mcpToolsTitle: "Tools",
4838
+ mcpTransportLabel: "Transport",
4839
+ mcpTransportValue: "Streamable HTTP",
4840
+ mcpUnavailableDescription: "This project has no successfully built draft or server-runnable release. Build a draft or publish a Server-compatible version before connecting.",
4841
+ mcpUnavailableTitle: "MCP unavailable on Server",
4842
+ mcpUrlDescription: "POST carries MCP messages, GET opens SSE, and DELETE closes the bound session.",
4843
+ mcpUrlLabel: "Streamable HTTP URL",
4766
4844
  deviceApprove: "Approve login",
4767
4845
  deviceCardDescription: "The device flow must be explicitly approved by a web session before CLI / App can exchange it for an API Key.",
4768
4846
  deviceDeny: "Deny",
@@ -4833,52 +4911,44 @@ var serverWeb = {
4833
4911
  formatDurationUnknown: "Unknown",
4834
4912
  formatTimeUnknown: "Unknown time",
4835
4913
  formatUnknownTime: "Unknown time",
4836
- globalKvClear: "Clear",
4837
- globalKvCopyFailed: "The current browser does not allow copying. Please select the text manually.",
4838
- globalKvCopyJson: "Copy JSON",
4839
- globalKvCopyJsonCopied: "JSON copied",
4840
- globalKvCopyKey: "Copy Key",
4841
- globalKvCopySummary: "Copy summary",
4842
- globalKvCopySummaryCopied: "Summary copied",
4843
- globalKvDetailLoadingAria: "Loading KV details",
4844
- globalKvDetailLoadingText: "Loading the full value\u2026",
4845
- globalKvDetailTitle: "KV details",
4846
- globalKvDetailTooLarge: "The full value is large; only the list summary is shown to avoid the browser stalling while loading and formatting big JSON.",
4847
- globalKvEmptyDescription: "Adjust the search term, type or link filter and try again.",
4848
- globalKvEmptyTitle: "No matching KV records",
4849
- globalKvFilterLinkStateAria: "Link state",
4850
- globalKvFilterLinkStateOptions: "All link states",
4851
- globalKvFilterLinkedState: "Linked to logs",
4852
- globalKvFilterRunId: "runId",
4853
- globalKvFilterSearch: "Search Key...",
4854
- globalKvFilterUnlinkedState: "Not linked to logs",
4855
- globalKvFilterValueTypeAria: "Value type",
4856
- globalKvHeaderConversation: "Conversation",
4857
- globalKvHeaderKey: "Key",
4858
- globalKvHeaderLastWriter: "Last writer",
4859
- globalKvHeaderOperations: "Actions",
4860
- globalKvHeaderProject: "Project",
4861
- globalKvHeaderUpdatedAt: "Updated",
4862
- globalKvHeaderValue: "Value",
4863
- globalKvLinkStateAll: "All link states",
4864
- globalKvLinkedRunNotLinked: "No linked log",
4865
- globalKvLinkedRunView: "View linked log",
4866
- globalKvLoadJson: "Load JSON",
4867
- globalKvLoadJsonLoading: "Loading",
4868
- globalKvLoadJsonRetry: "Retry loading JSON",
4869
- globalKvMetaLastRun: "Last run",
4870
- globalKvMetaUnlinked: "Not linked",
4871
- globalKvNotRecorded: "Not recorded",
4872
- globalKvPageDescription: "A read-only troubleshooting view of cross-project shared cache and platform-level state. {{total}} records total.",
4873
- globalKvPageTitle: "Global KV",
4874
- globalKvRefresh: "Refresh",
4875
- globalKvScopeConversation: "conversation",
4876
- globalKvScopeWorkflow: "workflow",
4877
- globalKvStatLinked: "Linked to logs (this page)",
4878
- globalKvStatStructured: "Structured values (this page)",
4879
- globalKvStatTotal: "Records (matching filters)",
4880
- globalKvValueTypeAll: "All types",
4881
- globalKvViewDetail: "View KV details",
4914
+ projectKvClear: "Clear",
4915
+ projectKvCopyFailed: "The current browser does not allow copying. Please select the text manually.",
4916
+ projectKvCopyJson: "Copy JSON",
4917
+ projectKvCopyJsonCopied: "JSON copied",
4918
+ projectKvCopyKey: "Copy Key",
4919
+ projectKvCopySummary: "Copy summary",
4920
+ projectKvCopySummaryCopied: "Summary copied",
4921
+ projectKvDetailLoadingAria: "Loading KV details",
4922
+ projectKvDetailLoadingText: "Loading the full value\u2026",
4923
+ projectKvDetailTitle: "KV details",
4924
+ projectKvDetailTooLarge: "The full value is large; only the list summary is shown to avoid the browser stalling while loading and formatting big JSON.",
4925
+ projectKvEmptyDescription: "Adjust the search term, type or link filter and try again.",
4926
+ projectKvEmptyTitle: "No matching KV records",
4927
+ projectKvFilterLinkStateAria: "Link state",
4928
+ projectKvFilterLinkedState: "Linked to logs",
4929
+ projectKvFilterRunId: "runId",
4930
+ projectKvFilterSearch: "Search Key...",
4931
+ projectKvFilterUnlinkedState: "Not linked to logs",
4932
+ projectKvFilterValueTypeAria: "Value type",
4933
+ projectKvHeaderConversation: "Conversation",
4934
+ projectKvHeaderKey: "Key",
4935
+ projectKvHeaderLastWriter: "Last writer",
4936
+ projectKvHeaderOperations: "Actions",
4937
+ projectKvHeaderProject: "Project",
4938
+ projectKvHeaderUpdatedAt: "Updated",
4939
+ projectKvHeaderValue: "Value",
4940
+ projectKvLinkStateAll: "All link states",
4941
+ projectKvLinkedRunNotLinked: "No linked log",
4942
+ projectKvLinkedRunView: "View linked log",
4943
+ projectKvLoadJson: "Load JSON",
4944
+ projectKvLoadJsonLoading: "Loading",
4945
+ projectKvLoadJsonRetry: "Retry loading JSON",
4946
+ projectKvMetaLastRun: "Last run",
4947
+ projectKvMetaUnlinked: "Not linked",
4948
+ projectKvNotRecorded: "Not recorded",
4949
+ projectKvRefresh: "Refresh",
4950
+ projectKvValueTypeAll: "All types",
4951
+ projectKvViewDetail: "View KV details",
4882
4952
  inviteAcceptAndJoin: "Accept invitation and join",
4883
4953
  inviteAcceptFailed: "Failed to accept the invitation.",
4884
4954
  inviteAlreadyAccepted: "This invitation has already been accepted.",
@@ -5004,6 +5074,7 @@ var serverWeb = {
5004
5074
  logsSourceDesktop: "Desktop",
5005
5075
  logsSourceEmbed: "Embed",
5006
5076
  logsSourceExternalApi: "External API",
5077
+ logsSourceMcp: "MCP",
5007
5078
  logsSourceSchedule: "Schedule",
5008
5079
  logsSourceUnknown: "Not recorded",
5009
5080
  logsSourceUserSession: "User session",
@@ -5162,7 +5233,6 @@ var serverWeb = {
5162
5233
  membersUserSource: "User source",
5163
5234
  membersVisible: "{{page}} rows on this page / {{total}} filtered",
5164
5235
  navAdminCenter: "Admin center",
5165
- navGlobalKv: "Global KV data",
5166
5236
  navProjects: "Project workbench",
5167
5237
  navSettings: "Settings",
5168
5238
  overviewAccessAcceptTasks: "Accept tasks",
@@ -6118,7 +6188,7 @@ var serverWeb = {
6118
6188
  navEnterAdminCenter: "Enter admin center",
6119
6189
  busyResetEmbedToken: "Resetting Embed Token",
6120
6190
  busyResetWebhookSecret: "Resetting Webhook Secret",
6121
- projectKvDetailScopeError: "Project KV details only support the workflow / conversation scope.",
6191
+ projectKvDetailScopeError: "Project KV details only support the project / conversation scope.",
6122
6192
  filePickerChoose: "Choose file",
6123
6193
  tableLoadingRows: "Loading table rows",
6124
6194
  selectPlaceholder: "Select",
@@ -6139,7 +6209,7 @@ var serverWeb = {
6139
6209
  embedTabResetTokenDescription: "After reset, the old Token is immediately invalid, and links already embedded in external pages or shared before can no longer be accessed.",
6140
6210
  embedTabResetTokenAction: "Reset Token",
6141
6211
  embedTabPublicUrlDetail: "Public URL:",
6142
- globalKvFilterScopeAria: "Scope",
6212
+ projectKvFilterScopeAria: "Scope",
6143
6213
  overviewQueueDonutAria: "Run state summary queue occupancy chart",
6144
6214
  overviewCapacityBarsAria: "Concurrency capacity bar chart",
6145
6215
  overviewAccessBarsAria: "Access state bar chart",
@@ -6181,38 +6251,16 @@ var serverWeb = {
6181
6251
  webhookRunHeaderEntrypoint: "Workflow entrypoint",
6182
6252
  webhookSaveConfirmDetailsEntrypoint: "Workflow entrypoint:",
6183
6253
  versionsDayRunCount: "{{day}} / {{total}} runs",
6184
- dependenciesAddGrant: "Add data access grant",
6185
- dependenciesAddGrantDialogDescription: "Search for and select a consumer project, then limit the KV key prefixes it can read.",
6186
- dependenciesAddGrantDialogTitle: "Add data access grant",
6187
6254
  dependenciesApproveRequest: "Approve",
6188
- dependenciesConsumerProjectAria: "Consumer project",
6189
- dependenciesConsumerProjectCreateDescription: "Search by project name or type. Only available projects that have not been granted access are shown.",
6190
- dependenciesConsumerProjectEditDescription: "The consumer project is fixed by the original grant. To change it, revoke this grant and create a new one.",
6191
- dependenciesConsumerProjectLabel: "Consumer project",
6192
- dependenciesConsumerProjectPlaceholder: "Search for and select a consumer project",
6193
- dependenciesConsumerProjectsUnavailableTitle: "Consumer projects unavailable",
6194
- dependenciesCurrentConsumerProject: "current consumer project",
6195
- dependenciesDataAuthorized: "Authorized",
6196
- dependenciesDataAwaitingGrant: "Awaiting grant",
6197
- dependenciesDataGrantsDescription: "Allow signed-in users of a consumer project to read only the specified KV prefixes from this project, without exposing other project content.",
6198
- dependenciesDataGrantsTitle: "Data access grants",
6199
6255
  dependenciesDataInitialized: "Data available",
6200
- dependenciesDataUnauthorized: "Unauthorized",
6201
6256
  dependenciesDataUninitialized: "Not initialized",
6202
6257
  dependenciesDeliveryExternal: "External dependency",
6203
6258
  dependenciesDeliveryIncluded: "Included with group",
6204
- dependenciesEditGrantDialogDescription: "Update the KV key prefixes that {{name}} can read.",
6205
- dependenciesEditGrantDialogTitle: "Edit data access grant",
6206
- dependenciesEditGrantLabel: "Edit data access grant for {{name}}",
6207
- dependenciesEmptyDescription: "The selected exact version does not declare any workflow-kv data sources.",
6259
+ dependenciesEmptyDescription: "The selected exact version has no dependencies generated from confirmed related projects.",
6208
6260
  dependenciesEmptyTitle: "No referenced projects",
6209
- dependenciesGrantFieldsRequired: "Select a consumer project and enter at least one allowed key prefix.",
6210
6261
  dependenciesHeaderActions: "Actions",
6211
- dependenciesHeaderAllowedPrefixes: "Allowed prefixes",
6212
6262
  dependenciesHeaderAuthorizedUser: "Authorized user",
6213
6263
  dependenciesHeaderCapability: "Capability",
6214
- dependenciesHeaderConsumerProject: "Consumer project",
6215
- dependenciesHeaderDataGrant: "Data access",
6216
6264
  dependenciesHeaderDelivery: "Delivery",
6217
6265
  dependenciesHeaderExactVersion: "Exact version",
6218
6266
  dependenciesHeaderGrantedAt: "Granted",
@@ -6223,47 +6271,23 @@ var serverWeb = {
6223
6271
  dependenciesHeaderSourcePermission: "Source access",
6224
6272
  dependenciesHeaderSubmittedAt: "Submitted",
6225
6273
  dependenciesHeaderUpdatedAt: "Updated",
6226
- dependenciesKeyPrefixesDescription: "Enter one prefix per line. The final read scope is still limited by the consumer project's exact-version data source declaration.",
6227
- dependenciesKeyPrefixesLabel: "Allowed key prefixes",
6228
- dependenciesLoadDataGrantsFailed: "Unable to load data access grants.",
6229
- dependenciesLoadGrantableProjectsFailed: "Unable to load projects available for grants.",
6230
- dependenciesLoadPermissionsFailed: "Unable to load project permissions.",
6231
6274
  dependenciesLoadSourceRequestsFailed: "Unable to load source access requests.",
6232
6275
  dependenciesLoadStatusFailed: "Unable to load project dependency status.",
6233
- dependenciesLoadingDataGrants: "Loading data access grants",
6234
- dependenciesManagementUnavailableTitle: "Management permissions unavailable",
6235
- dependenciesNoDataGrantsDescription: "This project has not exposed any KV prefixes to other projects.",
6236
- dependenciesNoDataGrantsTitle: "No data access grants",
6237
- dependenciesNoGrantableConsumer: "No consumer projects are available for a grant",
6238
- dependenciesNoMatchingProjects: "No matching projects",
6239
6276
  dependenciesNoPendingRequestsDescription: "Requests submitted through a short-lived access link appear here.",
6240
6277
  dependenciesNoPendingRequestsTitle: "No pending requests",
6241
6278
  dependenciesNoSourceGrantsDescription: "Existing source permissions held by project members are not repeated in this table.",
6242
6279
  dependenciesNoSourceGrantsTitle: "No additional source grants",
6243
- dependenciesNotReadyDescription: "A source project is missing or its data prefixes have not been authorized, so this version cannot be published for sharing.",
6280
+ dependenciesNotReadyDescription: "A source project is missing, the relationship is unconfirmed, or included source is unavailable, so this version cannot be published for sharing.",
6244
6281
  dependenciesNotReadyTitle: "Dependencies for this version are not ready",
6245
- dependenciesOpenProjectName: "Open {{name}}",
6246
6282
  dependenciesOpenSourceProject: "Open source project",
6247
6283
  dependenciesPageDescription: "Review this project's references and manage data access and source delivery permissions. Host data is never transferred with a project group.",
6248
- dependenciesProjectNameUnavailable: "Name unavailable",
6249
- dependenciesProjectUnavailable: "Project unavailable",
6250
6284
  dependenciesRejectRequest: "Reject",
6251
6285
  dependenciesRequestSourceAccessLabel: "Request source access",
6252
6286
  dependenciesRequestSourceAccessTitle: "Request permission to download the source project",
6253
- dependenciesRevokeGrantConfirmDescription: "After revocation, open Studio and Embed data subscriptions are revalidated and stop reading this project.",
6254
- dependenciesRevokeGrantConfirmLabel: "Revoke grant",
6255
- dependenciesRevokeGrantConfirmTitle: "Revoke data access grant",
6256
- dependenciesRevokeGrantLabel: "Revoke data access grant for {{name}}",
6257
6287
  dependenciesRevokeSourceAccessConfirmDescription: "After revocation, this user can no longer download this project as an included dependency. Files already downloaded locally are not deleted.",
6258
6288
  dependenciesRevokeSourceAccessConfirmLabel: "Revoke access",
6259
6289
  dependenciesRevokeSourceAccessConfirmTitle: "Revoke source download access",
6260
6290
  dependenciesRevokeSourceAccessLabel: "Revoke source access",
6261
- dependenciesSaveChanges: "Save changes",
6262
- dependenciesSaveGrant: "Save grant",
6263
- dependenciesSaveGrantFailed: "Failed to save the data access grant.",
6264
- dependenciesSearchConsumerProjectAria: "Search consumer projects",
6265
- dependenciesSearchProjectPlaceholder: "Search project name or type",
6266
- dependenciesSelectedConsumerUnavailable: "The selected consumer project is no longer available. Select another project.",
6267
6291
  dependenciesServerDataUninitializedDescription: "Run the source Workflow's sync entrypoint on the Server. Local KV data is not uploaded automatically.",
6268
6292
  dependenciesServerDataUninitializedTitle: "Project deployed, but Server data is not initialized",
6269
6293
  dependenciesSourceCodeMissing: "Source missing",
@@ -6279,8 +6303,63 @@ var serverWeb = {
6279
6303
  dependenciesVersionCardDescription: "The dependency catalog comes from the selected exact version's dependency lock and does not follow changes to the source project's latest version.",
6280
6304
  dependenciesVersionCardTitle: "Dependencies for the current project version",
6281
6305
  dependenciesVersionUnlocked: "Not pinned",
6282
- projectSettingsDependenciesEntryDescription: "Review exact dependency locks, KV data grants, and source access requests.",
6283
- projectSettingsDependenciesEntryMeta: "Project-group delivery and data access are independent",
6306
+ relatedProjectsAccessAll: "All keys",
6307
+ relatedProjectsAccessNone: "No access",
6308
+ relatedProjectsAccessPrefixes: "Selected prefixes",
6309
+ relatedProjectsAdd: "Add related project",
6310
+ relatedProjectsAddTitle: "Add related project",
6311
+ relatedProjectsAlias: "Alias in this project",
6312
+ relatedProjectsAliasDescription: "This project uses the alias to access the other project. Use lowercase letters, digits, underscores, and hyphens only.",
6313
+ relatedProjectsAliasInvalid: "Both aliases must start with a lowercase letter, be at most 64 characters, and contain only lowercase letters, digits, underscores, and hyphens.",
6314
+ relatedProjectsAwaitingConfirmation: "Awaiting confirmation",
6315
+ relatedProjectsCardDescription: "Relationships are written to both project declarations. KV access is granted only when both declarations agree.",
6316
+ relatedProjectsCardTitle: "Project relationships",
6317
+ relatedProjectsConfirmed: "Confirmed",
6318
+ relatedProjectsEdit: "Edit relationship with {{name}}",
6319
+ relatedProjectsEditTitle: "Edit related project",
6320
+ relatedProjectsEditorDescription: "Set the alias on each side and the read/write rules each project grants to the other for its own KV data.",
6321
+ relatedProjectsEmptyDescription: "After a relationship is added, each project can use its alias to access the other project's explicitly authorized KV data.",
6322
+ relatedProjectsEmptyTitle: "No related projects",
6323
+ relatedProjectsGrantInboundDescription: "The KV range the other project allows this project to access.",
6324
+ relatedProjectsGrantInboundTitle: "Granted to this project",
6325
+ relatedProjectsGrantOutboundDescription: "The KV range this project allows the other project to access.",
6326
+ relatedProjectsGrantOutboundTitle: "Granted to the other project",
6327
+ relatedProjectsHeaderAlias: "Alias",
6328
+ relatedProjectsHeaderInbound: "Their grant",
6329
+ relatedProjectsHeaderOutbound: "This project's grant",
6330
+ relatedProjectsHeaderProject: "Related project",
6331
+ relatedProjectsHeaderStatus: "Status",
6332
+ relatedProjectsLoadFailed: "Unable to load related projects.",
6333
+ relatedProjectsNoMatches: "No matching projects",
6334
+ relatedProjectsOpen: "Open {{name}}",
6335
+ relatedProjectsPageDescription: "Manage general project relationships, KV access in both directions, and version dependencies generated from confirmed relationships.",
6336
+ relatedProjectsPending: "Pending",
6337
+ relatedProjectsPrefixCount: "{{count}} prefixes",
6338
+ relatedProjectsPrefixesAria: "{{label}} key prefixes",
6339
+ relatedProjectsPrefixesDescription: "In prefixes mode, enter one non-empty prefix per line. Other modes ignore this field.",
6340
+ relatedProjectsPrefixesRequired: "Prefixes mode requires at least one non-empty, unique prefix.",
6341
+ relatedProjectsProjectUnavailable: "Project unavailable",
6342
+ relatedProjectsRead: "Read",
6343
+ relatedProjectsReadShort: "Read",
6344
+ relatedProjectsRemove: "Remove relationship with {{name}}",
6345
+ relatedProjectsRemoveConfirmDescription: "Removing it immediately revokes the relationship and related KV access on both sides. Downloaded source files are not deleted.",
6346
+ relatedProjectsRemoveConfirmLabel: "Remove relationship",
6347
+ relatedProjectsRemoveConfirmTitle: "Remove related project",
6348
+ relatedProjectsSave: "Save relationship",
6349
+ relatedProjectsSaveFailed: "Failed to save the related project.",
6350
+ relatedProjectsSearchAria: "Search related target projects",
6351
+ relatedProjectsSearchPlaceholder: "Search project name or type",
6352
+ relatedProjectsTargetAlias: "Alias in the other project",
6353
+ relatedProjectsTargetAliasDescription: "The other project uses this alias to access the current project.",
6354
+ relatedProjectsTargetPlaceholder: "Search for and select a project",
6355
+ relatedProjectsTargetProject: "Target project",
6356
+ relatedProjectsTargetProjectAria: "Target related project",
6357
+ relatedProjectsTargetRequired: "Select a valid target project other than the current project.",
6358
+ relatedProjectsUnavailableTitle: "Related projects unavailable",
6359
+ relatedProjectsWrite: "Write",
6360
+ relatedProjectsWriteShort: "Write",
6361
+ projectSettingsDependenciesEntryDescription: "Manage general related projects, KV access in both directions, exact dependency locks, and source access requests.",
6362
+ projectSettingsDependenciesEntryMeta: "Pending relationships grant no KV access and are excluded from included dependency groups",
6284
6363
  sourceAccessBackToProjects: "Back to project workbench",
6285
6364
  sourceAccessCheckingLink: "Checking access request link",
6286
6365
  sourceAccessCurrentStatus: "Current status: {{status}}",
@@ -6338,6 +6417,20 @@ var server = {
6338
6417
  terminalNotEnabled: "Remote terminal is not enabled. Set WORKFLOW_SERVER_TERMINAL_ENABLED=1.",
6339
6418
  requestBodyTooLarge: "Request body is too large.",
6340
6419
  sub2apiProxyBodyTooLarge: "The Sub2API LLM proxy request body exceeds the 50 MiB limit.",
6420
+ mcpSessionMissingOrExpired: "MCP session does not exist or has expired.",
6421
+ mcpSessionIdRequired: "A valid MCP session ID is required.",
6422
+ mcpProjectTypeUnsupported: 'Project type "{{projectType}}" cannot be exposed through MCP.',
6423
+ mcpTargetChanged: "The MCP session target changed. Reconnect before calling tools.",
6424
+ mcpBearerRequired: "MCP requires an Authorization: Bearer API key.",
6425
+ mcpBearerKeyRequired: "MCP only accepts an account API key or administrator key.",
6426
+ mcpDraftChanged: "The Workflow draft changed. Reconnect before calling tools again.",
6427
+ mcpSessionCredentialMismatch: "MCP session belongs to a different credential.",
6428
+ mcpSessionProjectMismatch: "MCP session belongs to a different project.",
6429
+ mcpSessionTargetMismatch: "MCP session belongs to a different target.",
6430
+ mcpRunSessionMismatch: "The MCP session does not own this workflow run.",
6431
+ mcpTargetSingleString: "MCP target must be a single string.",
6432
+ mcpTargetInvalid: "MCP target must be latest, draft, or an exact semantic version.",
6433
+ mcpSessionHeaderInvalid: "MCP session ID header is invalid.",
6341
6434
  scheduleDeleteActive: "A workflow schedule cannot be deleted while a trigger is active.",
6342
6435
  scheduleExactVersionRequired: "Server workflow schedules require an exact published version.",
6343
6436
  schedulerStopping: "The workflow scheduler is stopping.",
@@ -6346,7 +6439,11 @@ var server = {
6346
6439
  schedulePostgresStorageRequired: "Workflow scheduling requires PostgreSQL storage.",
6347
6440
  scheduleTargetChanged: "The workflow schedule target no longer resolves exactly.",
6348
6441
  scheduleUpdateActive: "A workflow schedule cannot be updated while a trigger is active.",
6349
- kanbanDataSourceUnavailable: "Kanban data source is unavailable.",
6442
+ kanbanRelatedProjectUnavailable: "Kanban related project is unavailable.",
6443
+ relatedProjectMissing: "Related project does not exist.",
6444
+ relatedProjectKVAccessDenied: "Related project KV access is not granted for this key.",
6445
+ relatedProjectUnavailable: "Related project is unavailable or awaiting confirmation.",
6446
+ relatedProjectGrantInvalid: "Related project grant is invalid.",
6350
6447
  scheduleUserRequired: "A user account is required to manage workflow schedules.",
6351
6448
  scheduleServerUnavailable: "Workflow scheduling is not available on this server.",
6352
6449
  sourceAccessStatusInvalid: 'status must be "approved" or "rejected".',
@@ -6358,15 +6455,13 @@ var server = {
6358
6455
  projectGroupRootArchiveType: "The project-group root archive must contain a Kanban project.",
6359
6456
  projectGroupPreviousLockMismatch: "The previously published Kanban root has a different dependency lock.",
6360
6457
  projectGroupImmutableDownload: "Project groups can only download immutable published versions.",
6361
- dataGrantSourceType: "A data-source grant source must be an existing Workflow project.",
6362
- dataGrantConsumerType: "A data-source grant consumer must be an existing Kanban project.",
6363
6458
  sourceAccessReasonLength: "Access request reason must contain 2 to 1000 characters.",
6364
6459
  sourceAccessLinkInvalid: "Project source access request link is invalid or expired.",
6365
6460
  projectGroupRootMissing: "Project-group root is missing.",
6366
6461
  projectGroupDraftChanged: "Project-group dependency manifest no longer matches the root Kanban draft.",
6367
6462
  projectDependencyStorageUnavailable: "Project dependency delivery requires PostgreSQL storage.",
6368
- dependencyLocksKanbanOnly: "Only Kanban projects can publish data-source dependency locks.",
6369
- dependencyLockDeclarationMismatch: "Published dependency lock does not match the Kanban data-source declaration.",
6463
+ projectDependencyLockInvalid: "Project dependency lock is invalid.",
6464
+ dependencyLockRelatedProjectsMismatch: "Published dependency lock does not match confirmed related projects.",
6370
6465
  schedulesWorkflowOnly: "Workflow schedules can only target Workflow projects.",
6371
6466
  conversationEntrypointForbidden: "Conversation projects do not accept entrypointId.",
6372
6467
  targetBuildRequired: "Target is not built successfully.",
@@ -6375,8 +6470,6 @@ var server = {
6375
6470
  archiveInspectFailed: "Failed to inspect tar.gz package.",
6376
6471
  archiveEntryLimit: "Archive contains too many entries.",
6377
6472
  archiveExpandedSizeLimit: "Archive expanded size exceeds the 512 MB limit.",
6378
- dataGrantPrefixCount: "Data-source grants require 1 to 32 key prefixes.",
6379
- dataGrantPrefixDuplicates: "Data-source grant keyPrefixes must not contain duplicates.",
6380
6473
  accountCreateDeploymentRequired: "A user account is required to create a project deployment.",
6381
6474
  accountViewSourceRequestRequired: "A user account is required to view a project source access request.",
6382
6475
  accountRequestSourceAccessRequired: "A user account is required to request project source access.",
@@ -6403,17 +6496,14 @@ var server = {
6403
6496
  workflowReservationUnavailable: 'Workflow "{{workflowId}}" version reservation is unavailable.',
6404
6497
  workflowReservationChanged: 'Workflow "{{workflowId}}" version reservation changed.',
6405
6498
  workflowDraftChanged: 'Workflow "{{workflowId}}" draft changed after deployment preparation.',
6406
- dependencyLockSourceMismatch: 'Published dependency lock "{{sourceId}}" does not match the Kanban data-source declaration.',
6499
+ dependencyLockRelatedProjectMismatch: 'Published dependency lock "{{alias}}" does not match a confirmed related project.',
6407
6500
  versionDependencyLockInvalid: 'Workflow "{{workflowId}}" version "{{version}}" has an invalid dependency lock.',
6408
6501
  projectNotExecutable: 'Project "{{projectName}}" is not executable.',
6409
6502
  archiveEntrySizeInvalid: 'Archive entry "{{path}}" has an invalid size.',
6410
6503
  scheduleIdInvalid: 'Invalid workflow schedule id "{{scheduleId}}".',
6411
- dataGrantPrefixType: "Data-source grant keyPrefixes[{{index}}] must be a string.",
6412
- dataGrantPrefixInvalid: "Data-source grant keyPrefixes[{{index}}] is invalid.",
6413
6504
  unknownEntrypoint: 'Entrypoint "{{entrypointId}}" does not exist for Workflow "{{workflowId}}".',
6414
6505
  entrypointResumeLocked: "entrypointId cannot be changed when resuming a waiting run.",
6415
6506
  archiveUnsupportedType: 'Archive entry "{{path}}" uses unsupported type "{{type}}". Only regular files and directories are allowed.',
6416
- kanbanDataSourceUnauthorized: 'Kanban data source "{{sourceId}}" is not authorized for sharing.',
6417
6507
  workflowOwnedByAnotherAccount: 'Workflow "{{workflowId}}" already exists and is owned by another account.',
6418
6508
  workflowVersionServerDisabled: 'Workflow "{{workflowId}}" version "{{version}}" is not enabled for Server execution. Download it on a supported Desktop platform instead.',
6419
6509
  workflowDraftServerDisabled: 'Workflow "{{workflowId}}" draft is not enabled for Server execution.',
@@ -6427,7 +6517,7 @@ var server = {
6427
6517
  var cli = {
6428
6518
  rootHelp: [
6429
6519
  "Usage:",
6430
- " workflow-code [--locale <zh-CN|en>] <run|json|structure|resolve-params> [workflow-dir] [args]",
6520
+ " workflow-code [--locale <zh-CN|en>] <run|json|structure|resolve-params|mcp> [workflow-dir] [args]",
6431
6521
  " workflow-code [--locale <zh-CN|en>] workspace <command> [args]",
6432
6522
  "",
6433
6523
  "Local commands:",
@@ -6435,6 +6525,7 @@ var cli = {
6435
6525
  " json Run locally and print the JSON report",
6436
6526
  " structure Inspect workflow structure",
6437
6527
  " resolve-params Resolve dynamic workflow parameters",
6528
+ " mcp Expose workflow entrypoints through stdio MCP",
6438
6529
  "",
6439
6530
  "Workspace commands:",
6440
6531
  " login, logout, status, health, pack, upload, preparation,",
@@ -6445,10 +6536,24 @@ var cli = {
6445
6536
  "",
6446
6537
  "Run `workflow-code workspace --help` for workspace command details."
6447
6538
  ].join("\n"),
6539
+ mcpHelp: [
6540
+ "Usage:",
6541
+ " workflow-code mcp <workflow-dir> [options]",
6542
+ "",
6543
+ "Options:",
6544
+ " --data-dir <absolute-dir> Root for local workflow data",
6545
+ " --file-store-dir <absolute-dir> Managed input file store",
6546
+ " --kv-store-dir <absolute-dir> Workflow KV store",
6547
+ " --persistent-value-store-dir <dir> Persistent value store",
6548
+ " --file-create-store-dir <absolute-dir> Generated file store",
6549
+ " --desktop-config-dir <absolute-dir> Desktop saved-auth directory",
6550
+ " --auth-dir <absolute-dir> CLI saved-auth directory",
6551
+ " --related-project <alias>=<absolute-project-dir> Repeatable related project binding"
6552
+ ].join("\n"),
6448
6553
  localHelp: [
6449
6554
  "Usage:",
6450
- " workflow-code [--locale <zh-CN|en>] run [workflow-dir] [--] [...args]",
6451
- " workflow-code [--locale <zh-CN|en>] json [workflow-dir] [--] [...args]",
6555
+ " workflow-code [--locale <zh-CN|en>] run [workflow-dir] [--related-project <alias>=<absolute-project-dir>] [--] [...args]",
6556
+ " workflow-code [--locale <zh-CN|en>] json [workflow-dir] [--related-project <alias>=<absolute-project-dir>] [--] [...args]",
6452
6557
  " workflow-code json [workflow-dir] --conversation-id <id> [--] [...args]",
6453
6558
  " workflow-code structure [workflow-dir]",
6454
6559
  " workflow-code resolve-params [workflow-dir] < request.json",
@@ -6459,7 +6564,10 @@ var cli = {
6459
6564
  " workflow-code json . -- --target aliyun --dry-run",
6460
6565
  " workflow-code json . --run-id <id> --resolved-user-inputs-json <json> -- [...args]",
6461
6566
  " workflow-code structure .",
6462
- " workflow-code resolve-params . < request.json"
6567
+ " workflow-code resolve-params . < request.json",
6568
+ "",
6569
+ "Options:",
6570
+ " --related-project <alias>=<absolute-project-dir> Bind one declared related project; repeatable"
6463
6571
  ].join("\n"),
6464
6572
  workspaceHelp: [
6465
6573
  "Usage: workflow-code [--locale <zh-CN|en>] workspace <command> [args]",
@@ -6473,10 +6581,10 @@ var cli = {
6473
6581
  " status",
6474
6582
  " health",
6475
6583
  " pack <workflow> [--path <workflow-dir>] [--output <file.tgz>] [--project-group] [--dependency <alias>=<path>]",
6476
- " upload <workflow> [--path <workflow-dir>] [--file <archive>] [--release-log <text>] [--source-mode bundled|source] [--server-runtime|--no-server-runtime] [--desktop-platform macos|windows] [--no-wait] [--create] [--project-group] [--publish-group] [--dependency <alias>=<path>] [--grant-data-access <alias>]",
6584
+ " upload <workflow> [--path <workflow-dir>] [--file <archive>] [--release-log <text>] [--source-mode bundled|source] [--server-runtime|--no-server-runtime] [--desktop-platform macos|windows] [--no-wait] [--create] [--project-group] [--publish-group] [--dependency <alias>=<path>]",
6477
6585
  " preparation <workflow-id> <job-id>",
6478
6586
  " download <workflow> [--target draft|latest|version] [--path <dir>]",
6479
- " publish <workflow> [--release-log <text>] [--source-mode bundled|source] [--server-runtime|--no-server-runtime] [--desktop-platform macos|windows] [--project-group] [--dependency <alias>=<path>] [--grant-data-access <alias>]",
6587
+ " publish <workflow> [--release-log <text>] [--source-mode bundled|source] [--server-runtime|--no-server-runtime] [--desktop-platform macos|windows] [--project-group] [--dependency <alias>=<path>]",
6480
6588
  " publish --deployment <id>",
6481
6589
  " run <workflow> [...args] [--target draft|latest|version] [--entrypoint <id>]",
6482
6590
  " debug-node <workflow> <node> [...args] [--target draft|latest|version] [--entrypoint <id>]",
@@ -6502,10 +6610,12 @@ var cli = {
6502
6610
  invalidResolvedInput: "Invalid resolved user input item.",
6503
6611
  loginRequiresServer: "login requires --server.",
6504
6612
  deviceLoginPrompt: "Open the verification page to approve this login:\n{{url}}\nUser code: {{code}}",
6505
- workflowIdRequired: "Workflow package.json must include a UUID id. Use `workflow-code workspace upload <workflow> --create` after login to create and bind a server project.",
6613
+ workflowIdRequired: "Workflow package.json must declare a UUID id first; --create only creates or reuses that UUID and never assigns or writes back an id.",
6506
6614
  archiveCreateFailed: "Failed to create archive: {{details}}",
6507
6615
  workflowNotBound: 'Workflow "{{workflow}}" is not bound to a server UUID. Create or bind it first with `workflow-code workspace upload {{workflow}} --create`.',
6508
6616
  projectCreationFailed: "Workflow project creation failed.",
6617
+ projectInfoDataStorageRequired: "Workflow package.json must declare workflowCode.projectInfo.dataStorage.mode.",
6618
+ projectCreationIdMismatch: "Server returned a project UUID that does not match package.json.id.",
6509
6619
  packageMustBeObject: 'Workflow package "{{path}}" must contain a JSON object.',
6510
6620
  packageReadFailed: 'Unable to read workflow package "{{path}}".',
6511
6621
  packageStringRequired: 'Workflow package.json must include string "{{key}}".',
@@ -6528,16 +6638,13 @@ var cli = {
6528
6638
  forbiddenBlocked: "403: Your account has been blocked from running this project.",
6529
6639
  forbiddenNoPermission: "403: Your account does not have permission to run this project.",
6530
6640
  forbiddenFallback: "403: {{message}}",
6531
- dependencyMustBeWorkflow: "Dependency {{sourceId}} must be a Workflow project.",
6532
6641
  dependencyOptionCommandUnsupported: "--dependency is only supported by pack, upload, and publish.",
6533
- dependencyPackageIdMismatch: "Dependency {{sourceId}} package id must match declared projectId {{projectId}}.",
6642
+ dependencyPackageIdMismatch: "Dependency {{alias}} package id must match related projectId {{projectId}}.",
6534
6643
  dependencyProjectPathConflict: "Project {{projectId}} is mapped to multiple dependency paths.",
6535
6644
  deploymentCommandUnsupported: "--deployment is only supported by publish.",
6536
6645
  deploymentOptionsConflict: "--deployment cannot be combined with project-group creation or single-project publish options.",
6537
- duplicateDependencySource: "Duplicate --dependency source id {{sourceId}}.",
6538
- duplicateGrantDataAccessSource: "Duplicate --grant-data-access source id {{sourceId}}.",
6539
- grantDataAccessCommandUnsupported: "--grant-data-access is only supported by upload and publish.",
6540
- invalidDependencyOption: "Invalid --dependency {{option}}; expected <source-id>=<project-path>.",
6646
+ duplicateDependencySource: "Duplicate --dependency alias {{alias}}.",
6647
+ invalidDependencyOption: "Invalid --dependency {{option}}; expected <alias>=<project-path>.",
6541
6648
  noWaitCommandUnsupported: "--no-wait is only supported by upload.",
6542
6649
  noWaitProjectGroupUnsupported: "--no-wait is not supported by project-group upload.",
6543
6650
  projectGroupArchiveCreateFailed: "Failed to create project-group archive: {{details}}",
@@ -6554,9 +6661,8 @@ var cli = {
6554
6661
  projectGroupDownloadRootCountInvalid: "Server project-group download must contain exactly one matching root project.",
6555
6662
  projectGroupDownloadRootPackageInvalidJson: "Server project-group root package.json is invalid JSON.",
6556
6663
  projectGroupDownloadRootPackageUtf8: "Server project-group root package.json must be UTF-8 text.",
6557
- projectGroupDownloadRootSourceIdForbidden: "Server project-group root project cannot have a dependency source id.",
6664
+ projectGroupDownloadRootAliasForbidden: "Server project-group root project cannot have a related-project alias.",
6558
6665
  projectGroupDownloadRootVersionMismatch: "Server project-group root version does not match its download plan.",
6559
- projectGroupDownloadSelfReference: "Server project-group data source {{sourceId}} cannot reference the root Kanban project.",
6560
6666
  projectGroupDownloadSourceHashMismatch: "Server project-group {{role}} project {{projectId}} source hash does not match its files.",
6561
6667
  projectGroupDownloadUndeclaredDependency: "Server project-group download contains undeclared dependency project {{projectId}}.",
6562
6668
  projectGroupDownloadedPackageIdMismatch: "Downloaded project package id does not match {{projectId}}.",
@@ -6564,11 +6670,11 @@ var cli = {
6564
6670
  projectGroupRequiredPathForbidden: "Project-group required path {{path}} is forbidden host data.",
6565
6671
  projectGroupRootIdRequired: "Project-group root package.json must contain a UUID id.",
6566
6672
  projectGroupRootMustBeKanban: "A project-group root must be a Kanban project.",
6567
- projectGroupSelfReference: "Kanban data source {{sourceId}} cannot reference the project-group root itself.",
6673
+ projectGroupRelatedProjectPending: "Related project {{alias}} is not confirmed by both project manifests and cannot be included.",
6568
6674
  projectGroupUploadFileUnsupported: "Project-group upload does not accept --file; use --path and --dependency so the manifest can be verified.",
6569
6675
  projectGroupUploadRootIdRequired: "Project-group upload requires the root package.json to contain a UUID id or --create.",
6570
6676
  publishGroupCommandUnsupported: "--publish-group is only supported by upload.",
6571
- unknownGrantDataAccessSource: "Unknown --grant-data-access source id {{sourceId}}."
6677
+ unknownWorkspaceOption: "Unknown workspace option: {{option}}"
6572
6678
  };
6573
6679
 
6574
6680
  // .shared/i18n/resources/en/permissions.ts
@@ -6706,6 +6812,10 @@ var common2 = {
6706
6812
  advancedOptions: "\u9AD8\u7EA7\u9009\u9879",
6707
6813
  advancedInputs: "\u9AD8\u7EA7\u8F93\u5165",
6708
6814
  closeAdvancedOptions: "\u6536\u8D77\u9AD8\u7EA7\u9009\u9879",
6815
+ quickOptions: "\u5FEB\u6377\u9009\u9879",
6816
+ quickOptionsSummary: "\u5FEB\u6377\u9009\u9879\uFF1A{{summary}}",
6817
+ resetQuickOptions: "\u91CD\u7F6E\u4E3A\u9ED8\u8BA4\u503C",
6818
+ backToQuickOptions: "\u8FD4\u56DE\u5FEB\u6377\u9009\u9879\uFF1A{{name}}",
6709
6819
  close: "\u5173\u95ED",
6710
6820
  booleanYes: "\u662F",
6711
6821
  booleanNo: "\u5426",
@@ -7315,37 +7425,36 @@ var common2 = {
7315
7425
  },
7316
7426
  projectDependencies: {
7317
7427
  validation: {
7318
- duplicateSelection: "\u4F9D\u8D56\u9009\u62E9\u201C{{sourceId}}\u201D\u91CD\u590D\u3002",
7319
- unknownSelection: "\u672A\u77E5\u7684\u4F9D\u8D56\u9009\u62E9\u201C{{sourceId}}\u201D\u3002",
7428
+ duplicateSelection: "\u4F9D\u8D56\u9009\u62E9\u201C{{alias}}\u201D\u91CD\u590D\u3002",
7429
+ unknownSelection: "\u672A\u77E5\u7684\u4F9D\u8D56\u9009\u62E9\u201C{{alias}}\u201D\u3002",
7320
7430
  lockArray: "\u9879\u76EE\u4F9D\u8D56\u9501\u5FC5\u987B\u662F\u6570\u7EC4\u3002",
7321
- duplicateSourceId: "\u9879\u76EE\u4F9D\u8D56 sourceId\u201C{{sourceId}}\u201D\u91CD\u590D\u3002",
7431
+ duplicateAlias: "\u9879\u76EE\u4F9D\u8D56 alias\u201C{{alias}}\u201D\u91CD\u590D\u3002",
7432
+ duplicateDependencyProjectId: "\u9879\u76EE\u4F9D\u8D56 projectId\u201C{{projectId}}\u201D\u91CD\u590D\u3002",
7322
7433
  manifestVersion: "\u9879\u76EE\u7EC4\u6E05\u5355\u7248\u672C\u5FC5\u987B\u662F {{version}}\u3002",
7323
7434
  manifestProjects: "\u9879\u76EE\u7EC4\u6E05\u5355\u7684 projects \u5FC5\u987B\u662F\u975E\u7A7A\u6570\u7EC4\u3002",
7324
7435
  projectObject: "\u9879\u76EE\u7EC4 {{field}} \u5FC5\u987B\u662F\u5BF9\u8C61\u3002",
7325
7436
  projectRole: "\u9879\u76EE\u7EC4 {{field}} \u65E0\u6548\u3002",
7326
7437
  archiveFormat: "\u9879\u76EE\u7EC4 {{field}} \u5FC5\u987B\u662F tar.gz \u5F52\u6863\u3002",
7327
- rootSourceIdForbidden: "\u6839\u9879\u76EE\u4E0D\u80FD\u8BBE\u7F6E\u9879\u76EE\u7EC4 {{field}}\u3002",
7438
+ rootAliasForbidden: "\u6839\u9879\u76EE\u4E0D\u80FD\u8BBE\u7F6E\u9879\u76EE\u7EC4 {{field}}\u3002",
7328
7439
  duplicateProjectId: "\u9879\u76EE\u7EC4 projectId\u201C{{projectId}}\u201D\u91CD\u590D\u3002",
7329
7440
  duplicateArchivePath: "\u9879\u76EE\u7EC4 archivePath\u201C{{path}}\u201D\u91CD\u590D\u3002",
7330
7441
  rootCount: "\u9879\u76EE\u7EC4\u6E05\u5355\u5FC5\u987B\u5305\u542B\u4E14\u4EC5\u5305\u542B\u4E00\u4E2A\u5339\u914D\u7684\u6839\u9879\u76EE\u3002",
7331
- selfReference: "\u9879\u76EE\u7EC4\u4F9D\u8D56\u201C{{sourceId}}\u201D\u4E0D\u80FD\u5F15\u7528\u6839 Kanban \u9879\u76EE\u81EA\u8EAB\u3002",
7332
- includedArchiveMissing: "included \u4F9D\u8D56\u201C{{sourceId}}\u201D\u7F3A\u5C11\u9879\u76EE\u5F52\u6863\u3002",
7442
+ selfReference: "\u9879\u76EE\u7EC4\u4F9D\u8D56\u201C{{alias}}\u201D\u4E0D\u80FD\u5F15\u7528\u6839\u9879\u76EE\u81EA\u8EAB\u3002",
7443
+ includedArchiveMissing: "included \u4F9D\u8D56\u201C{{alias}}\u201D\u7F3A\u5C11\u9879\u76EE\u5F52\u6863\u3002",
7333
7444
  dependencyNotIncluded: "\u4F9D\u8D56\u9879\u76EE\u201C{{projectId}}\u201D\u672A\u6807\u8BB0\u4E3A included\u3002",
7334
- includedNotPublished: "included \u4F9D\u8D56\u201C{{sourceId}}\u201D\u5C1A\u672A\u53D1\u5E03\u3002",
7445
+ includedNotPublished: "included \u4F9D\u8D56\u201C{{alias}}\u201D\u5C1A\u672A\u53D1\u5E03\u3002",
7335
7446
  lockObject: "{{field}} \u5FC5\u987B\u662F\u5BF9\u8C61\u3002",
7336
- lockSourceId: "{{field}} \u65E0\u6548\u3002",
7337
- lockKind: "{{field}} \u65E0\u6548\u3002",
7447
+ lockAlias: "{{field}} \u65E0\u6548\u3002",
7338
7448
  lockDelivery: "{{field}} \u65E0\u6548\u3002",
7339
- keyPrefixesArray: "{{field}} \u5FC5\u987B\u662F\u975E\u7A7A\u6570\u7EC4\u3002",
7340
- keyPrefixesDuplicate: "{{field}} \u4E0D\u80FD\u5305\u542B\u91CD\u590D\u9879\u3002",
7341
- externalPinned: "external \u4F9D\u8D56\u201C{{sourceId}}\u201D\u4E0D\u80FD\u56FA\u5B9A\u7248\u672C\u6216\u6E90\u7801\u54C8\u5E0C\u3002",
7342
- includedPinRequired: "included \u4F9D\u8D56\u201C{{sourceId}}\u201D\u5FC5\u987B\u56FA\u5B9A version \u548C sourceHash\u3002",
7343
- includedVersionInvalid: "included \u4F9D\u8D56\u201C{{sourceId}}\u201D\u7684\u7248\u672C\u65E0\u6548\u3002",
7344
- includedHashInvalid: "included \u4F9D\u8D56\u201C{{sourceId}}\u201D\u7684 sourceHash \u65E0\u6548\u3002",
7449
+ externalPinned: "external \u4F9D\u8D56\u201C{{alias}}\u201D\u4E0D\u80FD\u56FA\u5B9A\u7248\u672C\u6216\u6E90\u7801\u54C8\u5E0C\u3002",
7450
+ includedPinRequired: "included \u4F9D\u8D56\u201C{{alias}}\u201D\u5FC5\u987B\u56FA\u5B9A version \u548C sourceHash\u3002",
7451
+ includedVersionInvalid: "included \u4F9D\u8D56\u201C{{alias}}\u201D\u7684\u7248\u672C\u65E0\u6548\u3002",
7452
+ includedHashInvalid: "included \u4F9D\u8D56\u201C{{alias}}\u201D\u7684 sourceHash \u65E0\u6548\u3002",
7345
7453
  unsafePath: "\u9879\u76EE\u7EC4 {{field}} \u8DEF\u5F84\u4E0D\u5B89\u5168\u3002",
7346
7454
  uuidRequired: "\u9879\u76EE\u7EC4 {{field}} \u5FC5\u987B\u662F UUID\u3002",
7347
7455
  nonEmptyString: "{{field}} \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32\u3002",
7348
- optionalNonEmptyString: "\u63D0\u4F9B {{field}} \u65F6\u5FC5\u987B\u4F7F\u7528\u975E\u7A7A\u5B57\u7B26\u4E32\u3002"
7456
+ optionalNonEmptyString: "\u63D0\u4F9B {{field}} \u65F6\u5FC5\u987B\u4F7F\u7528\u975E\u7A7A\u5B57\u7B26\u4E32\u3002",
7457
+ unsupportedField: "\u4E0D\u652F\u6301 {{field}}\u3002"
7349
7458
  }
7350
7459
  },
7351
7460
  schedule: {
@@ -7596,10 +7705,10 @@ var common2 = {
7596
7705
  close: "\u6536\u8D77\u65E5\u5FD7"
7597
7706
  }
7598
7707
  },
7599
- kanbanRevisionSubscriptionInterrupted: "\u6570\u636E\u6E90\u66F4\u65B0\u8BA2\u9605\u5DF2\u4E2D\u65AD\uFF0C\u6B63\u5728\u91CD\u8FDE\u3002",
7600
- kanbanRevisionSubscriptionUnavailable: "\u6570\u636E\u6E90\u66F4\u65B0\u8BA2\u9605\u6682\u4E0D\u53EF\u7528\uFF0C\u4ECD\u4FDD\u7559\u4E0A\u6B21\u7ED3\u679C\u3002",
7601
- kanbanRevisionTargetChangedReconnect: "\u6570\u636E\u6E90\u7248\u672C\u5DF2\u53D8\u5316\uFF0C\u6B63\u5728\u91CD\u65B0\u8FDE\u63A5\u3002",
7602
- kanbanRevisionTargetChangedRefresh: "\u6570\u636E\u6E90\u7248\u672C\u5DF2\u53D8\u5316\uFF0C\u8BF7\u5237\u65B0\u9875\u9762\u3002",
7708
+ kanbanRevisionSubscriptionInterrupted: "\u5173\u8054\u9879\u76EE\u66F4\u65B0\u8BA2\u9605\u5DF2\u4E2D\u65AD\uFF0C\u6B63\u5728\u91CD\u8FDE\u3002",
7709
+ kanbanRevisionSubscriptionUnavailable: "\u5173\u8054\u9879\u76EE\u66F4\u65B0\u8BA2\u9605\u6682\u4E0D\u53EF\u7528\uFF0C\u4ECD\u4FDD\u7559\u4E0A\u6B21\u7ED3\u679C\u3002",
7710
+ kanbanRevisionTargetChangedReconnect: "\u5173\u8054\u9879\u76EE\u7248\u672C\u5DF2\u53D8\u5316\uFF0C\u6B63\u5728\u91CD\u65B0\u8FDE\u63A5\u3002",
7711
+ kanbanRevisionTargetChangedRefresh: "\u5173\u8054\u9879\u76EE\u7248\u672C\u5DF2\u53D8\u5316\uFF0C\u8BF7\u5237\u65B0\u9875\u9762\u3002",
7603
7712
  listSeparator: "\u3001",
7604
7713
  quotedValue: "\u201C{{value}}\u201D",
7605
7714
  previewAssistantMessage: "\u6211\u4F1A\u57FA\u4E8E\u8FD9\u4E2A\u4F1A\u8BDD\u7EE7\u7EED\u56DE\u7B54\uFF0C\u652F\u6301 **Markdown**\u3002",
@@ -7658,6 +7767,14 @@ var desktop2 = {
7658
7767
  localeEn: "English",
7659
7768
  localeEnDetail: "\u4EE5\u82F1\u6587\u663E\u793A\u754C\u9762",
7660
7769
  allTypes: "\u5168\u90E8\u7C7B\u578B",
7770
+ homeWorkspaceViewMode: "\u5DE5\u4F5C\u533A\u5C55\u793A\u65B9\u5F0F",
7771
+ homeListView: "\u5217\u8868\u89C6\u56FE",
7772
+ homeGraphView: "\u56FE\u89C6\u56FE",
7773
+ homeProjectGraph: "\u9879\u76EE\u5173\u8054\u56FE",
7774
+ homeProjectGraphControls: "\u9879\u76EE\u5173\u8054\u56FE\u7F29\u653E\u63A7\u5236",
7775
+ homeProjectGraphZoomIn: "\u653E\u5927",
7776
+ homeProjectGraphZoomOut: "\u7F29\u5C0F",
7777
+ homeProjectGraphFitView: "\u9002\u5E94\u753B\u5E03",
7661
7778
  desktopCloudRunRecordsLabel: "Desktop \u4E91\u7AEF\u8FD0\u884C\u8BB0\u5F55",
7662
7779
  desktopStatus: "Desktop \u72B6\u6001",
7663
7780
  archiveImportedAs: "{{archiveName}} \u5DF2\u5BFC\u5165\u4E3A {{workflowName}}",
@@ -7722,6 +7839,7 @@ var desktop2 = {
7722
7839
  hideHomeSidebar: "\u9690\u85CF\u9996\u9875\u4FA7\u8FB9\u680F",
7723
7840
  homeProjectMode: "\u9996\u9875\u5DE5\u4F5C\u533A\u6A21\u5F0F",
7724
7841
  homeSidebar: "\u9996\u9875\u4FA7\u8FB9\u680F",
7842
+ userHomeDirectory: "\u7528\u6237\u4E3B\u76EE\u5F55",
7725
7843
  importLocal: "\u5BFC\u5165\u672C\u5730",
7726
7844
  importLocalFolder: "\u6253\u5F00\u6587\u4EF6\u5939",
7727
7845
  importLocalFolderUploadTitle: "\u9009\u62E9\u672C\u5730 workflow \u6587\u4EF6\u5939\u5E76\u4E0A\u4F20\u4E3A\u670D\u52A1\u5668\u8349\u7A3F",
@@ -8037,26 +8155,33 @@ var desktop2 = {
8037
8155
  projectNamePlaceholder: "\u9879\u76EE\u540D\u79F0",
8038
8156
  projectType: "\u9879\u76EE\u7C7B\u578B",
8039
8157
  projectUuid: "\u9879\u76EE UUID",
8040
- assistantLinkedProjects: "\u5C0F\u52A9\u624B\u5173\u8054\u9879\u76EE",
8041
- manageAssistantLinks: "\u7BA1\u7406\u5173\u8054",
8042
- assistantLinksDialogTitle: "\u5173\u8054\u5DE5\u4F5C\u533A",
8043
- assistantLinksDialogDescription: "\u7BA1\u7406\u5C0F\u52A9\u624B\u53EF\u4EE5\u8054\u52A8\u4FEE\u6539\u7684\u672C\u5730\u9879\u76EE\u548C\u666E\u901A\u6587\u4EF6\u5939\u3002",
8044
- assistantLinksDirectCount: "{{count}} \u4E2A\u76F4\u63A5\u5173\u8054",
8045
- assistantLinksRecursiveCount: "{{count}} \u4E2A\u9012\u5F52\u53EF\u8BBF\u95EE",
8046
- assistantLinksWarningCount: "{{count}} \u4E2A\u5931\u6548\u9879",
8047
- assistantAutomaticLinks: "\u81EA\u52A8\u5173\u8054",
8048
- assistantManualLinks: "\u624B\u52A8\u5173\u8054",
8049
- assistantLinkSearchPlaceholder: "\u641C\u7D22\u672C\u5730\u9879\u76EE\u548C\u666E\u901A\u6587\u4EF6\u5939",
8050
- assistantNoAutomaticLinks: "\u6CA1\u6709\u81EA\u52A8\u5173\u8054\u9879\u76EE",
8051
- assistantNoManualCandidates: "\u6CA1\u6709\u53EF\u5173\u8054\u7684\u672C\u5730\u9879\u76EE\u6216\u666E\u901A\u6587\u4EF6\u5939",
8052
- assistantLinkUnavailable: "\u4E0D\u53EF\u7528",
8053
- assistantLinkAutomatic: "\u81EA\u52A8",
8054
- assistantLinksLoading: "\u6B63\u5728\u8BFB\u53D6\u5173\u8054\u9879\u76EE...",
8055
- assistantLinkWarningNotImported: "{{project}} \u672A\u5BFC\u5165",
8056
- assistantLinkWarningPathUnavailable: "{{project}} \u7684\u76EE\u5F55\u4E0D\u53EF\u7528",
8057
- assistantLinkWarningNotEditable: "{{project}} \u4E0D\u53EF\u7F16\u8F91",
8058
- assistantLinkWarningManifestInvalid: "{{project}} \u7684\u81EA\u52A8\u5173\u8054\u58F0\u660E\u65E0\u6548",
8059
- assistantLinkWarningFolderNotRegistered: "{{folder}} \u672A\u6CE8\u518C\u6216\u5F53\u524D\u4E0D\u53EF\u7528",
8158
+ relatedResources: "\u5173\u8054\u8D44\u6E90",
8159
+ manageRelatedResources: "\u7BA1\u7406\u5173\u8054\u8D44\u6E90",
8160
+ relatedResourcesDialogTitle: "\u5173\u8054\u8D44\u6E90",
8161
+ relatedResourcesDialogDescription: "\u7BA1\u7406\u901A\u7528\u5173\u8054\u9879\u76EE\u53CA\u53EA\u4F9B\u5C0F\u52A9\u624B\u4F7F\u7528\u7684\u672C\u5730\u6587\u4EF6\u5939\u3002",
8162
+ relatedResourcesDirectCount: "{{count}} \u4E2A\u76F4\u63A5\u5173\u8054",
8163
+ relatedResourcesRecursiveCount: "{{count}} \u4E2A\u9012\u5F52\u53EF\u8BBF\u95EE",
8164
+ relatedResourcesWarningCount: "{{count}} \u4E2A\u5931\u6548\u9879",
8165
+ relatedResourcesSearchPlaceholder: "\u641C\u7D22\u672C\u5730\u9879\u76EE\u548C\u6587\u4EF6\u5939",
8166
+ relatedResourcesLoading: "\u6B63\u5728\u8BFB\u53D6\u5173\u8054\u8D44\u6E90...",
8167
+ relatedResourcesEmpty: "\u6CA1\u6709\u53EF\u5173\u8054\u7684\u672C\u5730\u9879\u76EE",
8168
+ relatedProjects: "\u5173\u8054\u9879\u76EE",
8169
+ relatedProjectAlias: "Alias",
8170
+ relatedProjectConfirmed: "\u5DF2\u786E\u8BA4",
8171
+ relatedProjectPending: "\u5F85\u786E\u8BA4",
8172
+ relatedProjectUuidRequired: "\u5173\u8054\u9879\u76EE\u7684 package.json.id \u5FC5\u987B\u662F UUID\u3002",
8173
+ relatedResourceUnavailable: "\u4E0D\u53EF\u7528",
8174
+ assistantRelatedFolders: "\u5C0F\u52A9\u624B\u6587\u4EF6\u5939",
8175
+ assistantFoldersOnly: "\u4EC5\u4F9B\u5C0F\u52A9\u624B\u4F7F\u7528",
8176
+ assistantFolderAvailable: "\u53EF\u7528",
8177
+ grantToRelatedProject: "\u5141\u8BB8\u5BF9\u65B9\u8BBF\u95EE\u672C\u9879\u76EE",
8178
+ grantFromRelatedProject: "\u672C\u9879\u76EE\u8BBF\u95EE\u5BF9\u65B9",
8179
+ readAccess: "\u8BFB\u53D6",
8180
+ writeAccess: "\u5199\u5165",
8181
+ accessModeNone: "\u7981\u6B62",
8182
+ accessModeAll: "\u5168\u90E8 key",
8183
+ accessModePrefixes: "\u6307\u5B9A\u524D\u7F00",
8184
+ accessPrefixesPlaceholder: "\u4F8B\u5982 data., cache.",
8060
8185
  publishNewVersion: "\u53D1\u5E03\u65B0\u7248\u672C",
8061
8186
  releaseExecutionTargets: "\u53D1\u884C\u76EE\u6807",
8062
8187
  releaseExecutionTargetsDescription: "\u9009\u62E9\u6B64\u4E0D\u53EF\u53D8\u7248\u672C\u7684 Server \u6267\u884C\u4E0E\u5F53\u524D\u8BBE\u5907\u672C\u5730\u8FD0\u884C\u80FD\u529B\u3002",
@@ -8076,31 +8201,22 @@ var desktop2 = {
8076
8201
  previousDesktopTargetsNotInherited: "\u4E0A\u4E2A\u7248\u672C\u7684\u5F02\u5E73\u53F0 Desktop \u76EE\u6807\u672A\u7EE7\u627F\uFF1B\u8BF7\u5728\u5BF9\u5E94\u64CD\u4F5C\u7CFB\u7EDF\u53D1\u5E03\u8BE5\u76EE\u6807\u3002",
8077
8202
  projectGroupSourceSnapshotDescription: "\u9879\u76EE\u7EC4\u4F1A\u4FDD\u7559\u6839 Kanban \u4E0E included Workflow \u7684\u6E90\u7801\u5FEB\u7167\uFF0C\u6709\u6E90\u7801\u4E0B\u8F7D\u6743\u9650\u7684\u7528\u6237\u53EF\u83B7\u53D6\u3002",
8078
8203
  kanbanSourceSnapshotDescription: "Kanban \u7248\u672C\u56FA\u5B9A\u4FDD\u7559\u6E90\u7801\u4E0E\u9759\u6001\u4EA7\u7269\uFF0C\u6709\u6E90\u7801\u4E0B\u8F7D\u6743\u9650\u7684\u7528\u6237\u53EF\u83B7\u53D6\u3002",
8079
- referencedProjects: "\u5F15\u7528\u9879\u76EE",
8080
- dependencyDeliveryDescription: "\u6E90\u7801\u4EA4\u4ED8\u548C\u6570\u636E\u6388\u6743\u76F8\u4E92\u72EC\u7ACB\uFF1B\u4E24\u8005\u90FD\u4E0D\u4F1A\u4E0A\u4F20\u672C\u5730 KV\u3001\u8BA1\u5212\u3001\u8FD0\u884C\u8BB0\u5F55\u6216\u73AF\u5883\u53D8\u91CF\u3002",
8081
- checkingDependenciesAndPreviousSettings: "\u6B63\u5728\u68C0\u67E5\u6765\u6E90\u9879\u76EE\u4E0E\u4E0A\u6B21\u53D1\u5E03\u8BBE\u7F6E",
8204
+ referencedProjects: "\u5173\u8054\u9879\u76EE",
8205
+ dependencyDeliveryDescription: "\u53EA\u6709\u53CC\u65B9\u5DF2\u786E\u8BA4\u7684\u5173\u8054\u9879\u76EE\u53EF\u8FDB\u5165\u9879\u76EE\u7EC4\uFF1B\u9879\u76EE\u7EC4\u4E0D\u4F1A\u4E0A\u4F20 KV\u3001\u8BA1\u5212\u3001\u8FD0\u884C\u8BB0\u5F55\u6216\u73AF\u5883\u53D8\u91CF\u3002",
8206
+ checkingDependenciesAndPreviousSettings: "\u6B63\u5728\u68C0\u67E5\u5173\u8054\u9879\u76EE\u4E0E\u4E0A\u6B21\u53D1\u5E03\u8BBE\u7F6E",
8082
8207
  dependencyServerMissing: "Server \u5C1A\u65E0\u9879\u76EE",
8083
- dependencyNotDownloaded: "\u6765\u6E90\u9879\u76EE\u672A\u4E0B\u8F7D",
8084
- dependencyDataNotAuthorized: "Server \u5DF2\u6709\u9879\u76EE\uFF0C\u5C1A\u672A\u6388\u6743\u6570\u636E",
8208
+ dependencyNotDownloaded: "\u5173\u8054\u9879\u76EE\u672A\u4E0B\u8F7D",
8209
+ dependencyRelationshipPending: "\u53CC\u65B9\u5173\u7CFB\u5F85\u786E\u8BA4",
8085
8210
  dependencyDataInitialized: "Server \u6570\u636E\u5DF2\u521D\u59CB\u5316",
8086
8211
  dependencyDataNotInitialized: "\u9879\u76EE\u5DF2\u90E8\u7F72\uFF0CServer \u6570\u636E\u5C1A\u672A\u521D\u59CB\u5316",
8087
8212
  sourceDownloadLabel: "\u6E90\u7801\u4E0B\u8F7D\uFF1A",
8088
- dataGrantManagementLabel: "\u6570\u636E\u6388\u6743\u7BA1\u7406\uFF1A",
8089
8213
  allowed: "\u5141\u8BB8",
8090
8214
  notAuthorized: "\u672A\u6388\u6743",
8091
- validateOnPublish: "\u53D1\u5E03\u65F6\u6821\u9A8C",
8092
8215
  includeSourceWithGroup: "\u968F\u7EC4\u4E0A\u4F20\u6E90\u7801",
8093
- localDependencyNotDownloaded: "\u672C\u5730\u6765\u6E90\u9879\u76EE\u672A\u4E0B\u8F7D",
8094
- cannotManageServerDependency: "\u5F53\u524D\u8D26\u53F7\u4E0D\u80FD\u7BA1\u7406 Server \u6765\u6E90\u9879\u76EE",
8216
+ localDependencyNotDownloaded: "\u672C\u5730\u5173\u8054\u9879\u76EE\u672A\u4E0B\u8F7D",
8095
8217
  publishDependencyAsSource: "\u4EE5 source \u6A21\u5F0F\u53D1\u5E03\u5E76\u9501\u5B9A\u7CBE\u786E\u7248\u672C",
8096
8218
  includeSourceWithGroupAria: "\u968F\u7EC4\u4E0A\u4F20\u6E90\u7801 {{name}}",
8097
- authorizeDataRead: "\u6388\u6743\u8BFB\u53D6\u6570\u636E",
8098
- dependencyKvPrefixesAuthorized: "Server \u5DF2\u6388\u6743\u5F53\u524D KV key \u524D\u7F00",
8099
- cannotManageDependencyGrant: "\u5F53\u524D\u8D26\u53F7\u4E0D\u80FD\u7BA1\u7406\u6765\u6E90\u9879\u76EE\u6388\u6743",
8100
- dependencyMustExistBeforeGrant: "\u9700\u5148\u968F\u7EC4\u4E0A\u4F20\u6216\u5728 Server \u521B\u5EFA\u6765\u6E90\u9879\u76EE",
8101
- authorizeDeclaredKvPrefixes: "\u4EC5\u6388\u6743\u58F0\u660E\u4E2D\u7684 KV key \u524D\u7F00",
8102
- authorizeDataReadAria: "\u6388\u6743\u8BFB\u53D6\u6570\u636E {{name}}",
8103
- unresolvedDependenciesBlockPublish: "\u4ECD\u6709 {{count}} \u4E2A\u6765\u6E90\u9879\u76EE\u672A\u4E0B\u8F7D\u3001\u672A\u4E0A\u4F20\u6216\u672A\u6388\u6743\uFF0C\u5F53\u524D\u7248\u672C\u4E0D\u80FD\u53D1\u5E03\u3002",
8219
+ unresolvedDependenciesBlockPublish: "\u4ECD\u6709 {{count}} \u4E2A\u5DF2\u786E\u8BA4\u5173\u8054\u9879\u76EE\u672A\u4E0B\u8F7D\u6216\u672A\u4E0A\u4F20\uFF0C\u5F53\u524D\u7248\u672C\u4E0D\u80FD\u53D1\u5E03\u3002",
8104
8220
  publishProgress: "\u53D1\u5E03\u8FDB\u5EA6",
8105
8221
  publishProgressValue: "{{percent}}% \xB7 {{message}}",
8106
8222
  publishResult: "\u53D1\u5E03\u7ED3\u679C",
@@ -8186,7 +8302,6 @@ var desktop2 = {
8186
8302
  fixSuggestionAddId: "\uFF0C\u6DFB\u52A0",
8187
8303
  fixSuggestionEnsureId: "\u5E76\u786E\u4FDD\u5B83\u548C\u6587\u4EF6\u5939 / workflow id \u4E00\u81F4\u3002",
8188
8304
  fixSuggestionPrefix: "\u4FEE\u590D\u5EFA\u8BAE\uFF1A\u6253\u5F00",
8189
- globalScope: "\u5168\u5C40",
8190
8305
  hideConversationList: "\u9690\u85CF\u4F1A\u8BDD\u5217\u8868",
8191
8306
  hideDiagnostic: "\u6536\u8D77{{label}}",
8192
8307
  hideFileList: "\u9690\u85CF\u6587\u4EF6\u5217\u8868",
@@ -8210,7 +8325,6 @@ var desktop2 = {
8210
8325
  kvScopeFilterAriaLabel: "\u7B5B\u9009 KV \u4F5C\u7528\u57DF",
8211
8326
  kvSearchAriaLabel: "\u641C\u7D22 KV \u6570\u636E",
8212
8327
  kvSearchPlaceholder: "\u641C\u7D22\u952E\u6216\u6458\u8981",
8213
- kvServerGlobalDetailUnavailable: "\u670D\u52A1\u5668\u9879\u76EE\u8BE6\u60C5\u4E0D\u5305\u542B\u5168\u5C40 KV\u3002",
8214
8328
  kvUnavailableTitle: "KV \u6570\u636E\u6682\u4E0D\u53EF\u7528",
8215
8329
  kvValueTooLarge: "\u503C\u5185\u5BB9\u8F83\u5927",
8216
8330
  kvValueTooLargeDescription: "\u5F53\u524D\u503C\u7EA6 {{size}}\u3002\u4E3A\u907F\u514D\u963B\u585E\u754C\u9762\uFF0C\u6B64\u5904\u53EA\u5C55\u793A\u5217\u8868\u6458\u8981\u3002",
@@ -8286,7 +8400,7 @@ var desktop2 = {
8286
8400
  viewKVDetail: "\u67E5\u770B KV \u8BE6\u60C5",
8287
8401
  workflowConfigInvalidEditable: "Workflow \u914D\u7F6E\u65E0\u6548\uFF0C\u4F46\u6E90\u7801\u4ECD\u53EF\u7F16\u8F91\u3002",
8288
8402
  workflowExitedWith: "Workflow exited with {{code}}.",
8289
- workflowScope: "\u9879\u76EE",
8403
+ projectScope: "\u9879\u76EE",
8290
8404
  authStatusMissingServerTitle: "\u672A\u7ED1\u5B9A\u8FDC\u7A0B\u670D\u52A1\u5668",
8291
8405
  authStatusMissingServerDetail: "\u5F53\u524D Desktop \u4EC5\u4F7F\u7528\u672C\u5730\u5DE5\u4F5C\u533A\uFF0C\u8FDC\u7A0B\u53D1\u5E03\u3001\u62C9\u53D6\u548C\u8FD0\u884C\u524D\u9700\u8981\u5148\u7ED1\u5B9A Workflow Server\u3002",
8292
8406
  authStatusMissingServerBadge: "\u672A\u7ED1\u5B9A",
@@ -8384,6 +8498,20 @@ var desktop2 = {
8384
8498
  activityFilesLabel: "\u6587\u4EF6",
8385
8499
  activityInfoDescription: "\u67E5\u770B\u548C\u7F16\u8F91\u9879\u76EE\u4FE1\u606F",
8386
8500
  activityInfoLabel: "\u4FE1\u606F",
8501
+ mcpWorkspaceTitle: "MCP",
8502
+ mcpWorkspaceDescription: "AI \u5BA2\u6237\u7AEF\u901A\u8FC7\u6807\u51C6 stdio MCP \u6309\u9700\u542F\u52A8\u5F53\u524D\u672C\u5730 Workflow",
8503
+ mcpTransportLabel: "\u4F20\u8F93\u65B9\u5F0F",
8504
+ mcpServerNameLabel: "\u670D\u52A1\u5668\u540D\u79F0",
8505
+ mcpToolsLabel: "\u5DE5\u5177",
8506
+ mcpNoTools: "\u5F53\u524D\u6CA1\u6709\u53EF\u4F5C\u4E3A MCP \u5DE5\u5177\u4F7F\u7528\u7684 Workflow entrypoint\u3002",
8507
+ mcpJsonLabel: "\u5BA2\u6237\u7AEF\u914D\u7F6E",
8508
+ mcpCopyJson: "\u590D\u5236\u8FDE\u63A5\u914D\u7F6E",
8509
+ mcpRefresh: "\u5237\u65B0 MCP \u8FDE\u63A5",
8510
+ mcpLoading: "\u6B63\u5728\u52A0\u8F7D MCP \u8FDE\u63A5",
8511
+ mcpLoadFailed: "MCP \u8FDE\u63A5\u4E0D\u53EF\u7528",
8512
+ mcpLoadFailedDescription: "\u8BF7\u786E\u8BA4\u672C\u5730 Workflow \u4E0E entrypoint \u6709\u6548\u540E\u5237\u65B0\u3002",
8513
+ activityOpenaiDescription: "\u7BA1\u7406\u6B64 Conversation \u9879\u76EE\u7684 OpenAI Responses \u8C03\u7528\u6743\u9650",
8514
+ activityOpenaiLabel: "OpenAI API",
8387
8515
  activityKnowledgeDescription: "\u7BA1\u7406\u672C\u5730\u6216\u670D\u52A1\u5668\u77E5\u8BC6\u5E93\u6587\u6863",
8388
8516
  activityKnowledgeLabel: "\u77E5\u8BC6\u5E93",
8389
8517
  activityKvDescription: "\u67E5\u770B\u672C\u5730\u6216\u670D\u52A1\u5668 KV \u6570\u636E",
@@ -8396,6 +8524,62 @@ var desktop2 = {
8396
8524
  activitySchedulesLabel: "\u5B9A\u65F6",
8397
8525
  activityTerminalDescription: "\u6253\u5F00\u5DE5\u4F5C\u533A\u7EC8\u7AEF",
8398
8526
  activityTerminalLabel: "\u7EC8\u7AEF",
8527
+ openaiAccessTitle: "OpenAI API",
8528
+ openaiAccessDescription: "\u901A\u8FC7 OpenAI Responses \u534F\u8BAE\u8C03\u7528\u6B64 Conversation \u9879\u76EE\u3002",
8529
+ openaiAccessRefresh: "\u5237\u65B0 OpenAI API \u63A5\u5165\u72B6\u6001",
8530
+ openaiAccessLoading: "\u6B63\u5728\u52A0\u8F7D OpenAI API \u63A5\u5165\u72B6\u6001",
8531
+ openaiAccessStatusHeading: "\u670D\u52A1\u72B6\u6001",
8532
+ openaiAccessAdapterEnabled: "\u9002\u914D\u5668\u5DF2\u542F\u7528",
8533
+ openaiAccessAdapterDisabled: "\u9002\u914D\u5668\u672A\u542F\u7528",
8534
+ openaiAccessGatewayRunning: "Desktop \u4EE3\u7406\u8FD0\u884C\u4E2D",
8535
+ openaiAccessGatewayStopped: "Desktop \u4EE3\u7406\u5DF2\u505C\u7528",
8536
+ openaiAccessServerReady: "Server API \u53EF\u7528",
8537
+ openaiAccessServerUnavailable: "Server API \u4E0D\u53EF\u7528",
8538
+ openaiAccessGatewayError: "Desktop \u4EE3\u7406\u9519\u8BEF\uFF1A{{message}}",
8539
+ openaiAccessGatewayUnavailable: "Desktop \u4EE3\u7406\u5F53\u524D\u4E0D\u53EF\u7528\u3002\u8BF7\u5148\u5904\u7406\u672C\u5730\u7AEF\u53E3\u9519\u8BEF\uFF0C\u518D\u5237\u65B0\u3002",
8540
+ openaiAccessAuthRequired: "\u521B\u5EFA\u6216\u4F7F\u7528\u9879\u76EE API Key \u524D\u9700\u8981\u5148\u767B\u5F55\u3002",
8541
+ openaiAccessModelDiscoveryFailed: "\u5F53\u524D\u8D26\u53F7\u6CA1\u6709\u53EF\u7528\u6A21\u578B\u3002\u8BF7\u68C0\u67E5\u201C\u7CFB\u7EDF AI \u914D\u7F6E\u201D\u3002",
8542
+ openaiAccessAdapterRequiredTitle: "\u9879\u76EE\u9700\u8981\u63A5\u5165\u9002\u914D\u5668",
8543
+ openaiAccessAdapterRequiredDescription: "\u6B64 Conversation \u9879\u76EE\u5C1A\u672A\u58F0\u660E conversation.openai\u3002\u8BF7\u5728\u9879\u76EE\u4E2D\u589E\u52A0\u9002\u914D\u5668\uFF0C\u7136\u540E\u5237\u65B0\u6B64\u9875\u9762\u3002",
8544
+ openaiAccessReadDocs: "\u67E5\u770B\u63A5\u5165\u6307\u5357",
8545
+ openaiAccessEndpointsHeading: "\u8C03\u7528\u5730\u5740",
8546
+ openaiAccessDesktopProxyBase: "Desktop Base URL",
8547
+ openaiAccessResponsesEndpoint: "Responses \u5730\u5740",
8548
+ openaiAccessServerBase: "Server \u76F4\u8FDE Base URL",
8549
+ openaiAccessServerDirectUnavailable: "\u67E5\u770B\u6B64\u9879\u76EE\u7684\u4E91\u7AEF\u526F\u672C\u65F6\u4F1A\u663E\u793A Server \u76F4\u8FDE\u5730\u5740\u3002",
8550
+ openaiAccessCopyValue: "\u590D\u5236{{label}}",
8551
+ openaiAccessKeyHeading: "\u9879\u76EE API Key",
8552
+ openaiAccessKeySecurity: "\u6B64 Key \u7ED1\u5B9A\u5F53\u524D\u7528\u6237\u548C\u9879\u76EE\u3002\u8BF7\u6309\u5BC6\u94A5\u4FDD\u5B58\uFF0C\u5207\u52FF\u63D0\u4EA4\u5230\u6E90\u7801\u4ED3\u5E93\u3002",
8553
+ openaiAccessNoKey: "\u5F53\u524D\u6CA1\u6709\u6709\u6548\u7684\u9879\u76EE Key",
8554
+ openaiAccessKeyPrefix: "Key \u524D\u7F00",
8555
+ openaiAccessKeyCreated: "\u521B\u5EFA\u65F6\u95F4",
8556
+ openaiAccessKeyLastUsed: "\u6700\u8FD1\u4F7F\u7528",
8557
+ openaiAccessNeverUsed: "\u5C1A\u672A\u4F7F\u7528",
8558
+ openaiAccessCreateKey: "\u521B\u5EFA Key",
8559
+ openaiAccessRotateKey: "\u8F6E\u6362 Key",
8560
+ openaiAccessRevokeKey: "\u540A\u9500 Key",
8561
+ openaiAccessRotateTitle: "\u8F6E\u6362\u9879\u76EE API Key\uFF1F",
8562
+ openaiAccessRotateDescription: "\u5F53\u524D Key \u4F1A\u7ACB\u5373\u5931\u6548\uFF0C\u5DF2\u6709 Responses \u548C Conversations \u8D44\u6E90\u4E0D\u4F1A\u88AB\u5220\u9664\u3002",
8563
+ openaiAccessRotateConfirm: "\u8F6E\u6362 Key",
8564
+ openaiAccessRevokeTitle: "\u540A\u9500\u9879\u76EE API Key\uFF1F",
8565
+ openaiAccessRevokeDescription: "\u5F53\u524D Key \u4F1A\u7ACB\u5373\u5931\u6548\u3002\u4E0B\u6B21\u8C03\u7528\u524D\u9700\u8981\u91CD\u65B0\u521B\u5EFA Key\u3002",
8566
+ openaiAccessRevokeConfirm: "\u540A\u9500 Key",
8567
+ openaiAccessOperationFailed: "OpenAI API \u63A5\u5165\u64CD\u4F5C\u5931\u8D25\uFF1A{{message}}",
8568
+ openaiAccessSecretTitle: "\u8BF7\u7ACB\u5373\u4FDD\u5B58\u6B64 Key",
8569
+ openaiAccessSecretDescription: "\u5B8C\u6574 Key \u53EA\u5728\u521B\u5EFA\u6216\u8F6E\u6362\u540E\u663E\u793A\u4E00\u6B21\uFF0C\u4E4B\u540E\u65E0\u6CD5\u518D\u6B21\u8BFB\u53D6\u3002",
8570
+ openaiAccessSecretSaved: "\u6211\u5DF2\u4FDD\u5B58",
8571
+ openaiAccessCopySecret: "\u590D\u5236\u5B8C\u6574 API Key",
8572
+ openaiAccessModelsHeading: "\u6A21\u578B",
8573
+ openaiAccessModelLabel: "\u793A\u4F8B\u4F7F\u7528\u7684\u6A21\u578B",
8574
+ openaiAccessNoModels: "\u5F53\u524D\u8D26\u53F7\u6CA1\u6709\u53EF\u7528\u6A21\u578B\u3002\u8C03\u7528 API \u524D\u8BF7\u5148\u914D\u7F6E\u5E76\u542F\u7528 Provider\u3002",
8575
+ openaiAccessExamplesHeading: "\u8C03\u7528\u793A\u4F8B",
8576
+ openaiAccessExamplesDescription: "\u8FD0\u884C\u793A\u4F8B\u524D\uFF0C\u8BF7\u628A OPENAI_API_KEY \u8BBE\u7F6E\u4E3A\u5B8C\u6574\u7684\u9879\u76EE Key\u3002",
8577
+ openaiAccessExampleCurl: "curl",
8578
+ openaiAccessExampleNode: "Node.js",
8579
+ openaiAccessExamplePython: "Python",
8580
+ openaiAccessCopyExample: "\u590D\u5236 {{language}} \u793A\u4F8B",
8581
+ openaiAccessCopied: "\u5DF2\u590D\u5236",
8582
+ openaiAccessCopyFailed: "\u590D\u5236\u5931\u8D25",
8399
8583
  desktopNoLongerClonesToServer: "Desktop \u4E0D\u518D\u514B\u9686\u5230\u670D\u52A1\u5668\uFF0C\u8BF7\u4F7F\u7528 Publish \u6258\u7BA1\u5F53\u524D\u672C\u5730\u9879\u76EE\u3002",
8400
8584
  desktopOnlyClonesLocal: "Desktop \u53EA\u514B\u9686\u672C\u5730\u9879\u76EE\u3002",
8401
8585
  backToReview: "\u8FD4\u56DE\u68C0\u67E5",
@@ -8811,7 +8995,7 @@ var desktop2 = {
8811
8995
  assistantHideAria: "\u5C0F\u52A9\u624B\uFF1A\u9690\u85CF\u5DE5\u4F5C\u533A\u5F00\u53D1\u5BF9\u8BDD",
8812
8996
  assistantHideTitle: "\u9690\u85CF\u5C0F\u52A9\u624B",
8813
8997
  assistantInstallFailed: "\u5C0F\u52A9\u624B\u5B89\u88C5\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5\u3002",
8814
- assistantLocalOnly: "\u5C0F\u52A9\u624B\u4EC5\u652F\u6301\u672C\u5730\u53EF\u7F16\u8F91\u9879\u76EE\u548C\u666E\u901A\u6587\u4EF6\u5939\u3002",
8998
+ assistantLocalOnly: "\u5C0F\u52A9\u624B\u4EC5\u652F\u6301\u7528\u6237\u4E3B\u76EE\u5F55\u3001\u672C\u5730\u53EF\u7F16\u8F91\u9879\u76EE\u548C\u666E\u901A\u6587\u4EF6\u5939\u3002",
8815
8999
  assistantOpenAria: "\u5C0F\u52A9\u624B\uFF1A\u6253\u5F00\u5DE5\u4F5C\u533A\u5F00\u53D1\u5BF9\u8BDD",
8816
9000
  assistantOpenTitle: "\u6253\u5F00\u5C0F\u52A9\u624B",
8817
9001
  assistantPreparingDetail: "\u6B63\u5728\u68C0\u67E5\u5185\u7F6E\u4F9D\u8D56\u5E76\u52A0\u8F7D\u5BF9\u8BDD\u5DE5\u4F5C\u533A\u3002",
@@ -8865,13 +9049,8 @@ var desktop2 = {
8865
9049
  selectProjectToEditInfo: "\u8BF7\u9009\u62E9\u4E00\u4E2A\u9879\u76EE\u540E\u7F16\u8F91\u4FE1\u606F\u3002",
8866
9050
  settingsAria: "\u8BBE\u7F6E\uFF1A\u6253\u5F00 Desktop \u8BBE\u7F6E",
8867
9051
  workspaceRailAria: "\u5DE5\u4F5C\u533A\u89C6\u56FE",
8868
- dataSourceAuthorizationRequired: "\u6570\u636E\u6E90{{source}}\u5C1A\u672A\u6388\u6743\u7ED9\u5F53\u524D\u770B\u677F\u3002\u8BF7\u5728\u53D1\u5E03\u8BBE\u7F6E\u4E2D\u52FE\u9009\u201C\u6388\u6743\u8BFB\u53D6\u6570\u636E\u201D\uFF1B\u5982\u679C\u8BE5\u9009\u9879\u4E0D\u53EF\u7528\uFF0C\u8BF7\u8BA9\u6765\u6E90 Workflow \u7684\u7BA1\u7406\u5458\u6388\u4E88\u58F0\u660E\u4E2D\u7684 KV \u524D\u7F00\u8BFB\u53D6\u6743\u9650\u3002",
8869
9052
  dependencyStatusLoadFailed: "\u65E0\u6CD5\u8BFB\u53D6\u5F15\u7528\u9879\u76EE\u72B6\u6001\u3002",
8870
- kanbanDataSourcePackageMissing: "Kanban \u9879\u76EE\u7F3A\u5C11 package.json\uFF0C\u65E0\u6CD5\u8BFB\u53D6\u6570\u636E\u6E90\u58F0\u660E\u3002",
8871
- kanbanDataSourcePackageMustBeUtf8: "Kanban \u9879\u76EE\u7684 package.json \u5FC5\u987B\u662F UTF-8 \u6587\u672C\u3002",
8872
- kanbanDataSourceReadFailed: "\u65E0\u6CD5\u8BFB\u53D6 Kanban \u6570\u636E\u6E90\u58F0\u660E\uFF1A{{details}}",
8873
- kanbanDataSourceSelfReference: "\u6570\u636E\u6E90\u201C{{sourceId}}\u201D\u4E0D\u80FD\u5F15\u7528\u5F53\u524D Kanban \u81EA\u8EAB\u3002",
8874
- kanbanMissingDataSources: "\u6765\u6E90\u9879\u76EE\u672A\u4E0B\u8F7D\uFF1A{{sources}}\u3002\u4E0B\u8F7D\u5F15\u7528 Workflow \u540E\u70B9\u51FB\u91CD\u8BD5\u3002",
9053
+ kanbanMissingRelatedProjects: "\u5173\u8054\u9879\u76EE\u4E0D\u53EF\u7528\uFF1A{{aliases}}\u3002\u786E\u8BA4\u53CC\u65B9\u5173\u7CFB\u5E76\u5BFC\u5165\u9879\u76EE\u540E\u91CD\u8BD5\u3002",
8875
9054
  previousPublishDependenciesLoadFailed: "\u65E0\u6CD5\u8BFB\u53D6\u4E0A\u6B21\u53D1\u5E03\u7684\u5F15\u7528\u9879\u76EE\u8BBE\u7F6E\u3002",
8876
9055
  previousPublishedVersionMissing: "\u65E0\u6CD5\u5728\u7248\u672C\u5217\u8868\u4E2D\u627E\u5230\u6700\u8FD1\u53D1\u5E03\u7248\u672C {{version}}\u3002",
8877
9056
  previousPublishSettingsLoadFailed: "\u65E0\u6CD5\u8BFB\u53D6\u4E0A\u6B21\u53D1\u5E03\u8BBE\u7F6E\u3002",
@@ -8881,7 +9060,7 @@ var desktop2 = {
8881
9060
  projectGroupTargetDirectoryInvalid: "\u9879\u76EE\u7EC4\u76EE\u6807\u76EE\u5F55\u540D\u201C{{directoryName}}\u201D\u65E0\u6548\u3002",
8882
9061
  projectGroupDisplayNameRequired: "\u9879\u76EE\u663E\u793A\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A\u3002",
8883
9062
  projectGroupServerUrlInvalid: "Workflow Server \u5730\u5740\u201C{{serverUrl}}\u201D\u5FC5\u987B\u662F\u6709\u6548\u7684 HTTP(S) URL\u3002",
8884
- projectGroupSourceIdInvalidOrDuplicated: "\u9879\u76EE\u7EC4\u6765\u6E90\u9879\u76EE ID\u201C{{projectId}}\u201D\u65E0\u6548\u6216\u91CD\u590D\u3002",
9063
+ projectGroupProjectIdInvalidOrDuplicated: "\u9879\u76EE\u7EC4\u9879\u76EE ID\u201C{{projectId}}\u201D\u65E0\u6548\u6216\u91CD\u590D\u3002",
8885
9064
  projectGroupFilePathInvalid: "\u9879\u76EE\u7EC4\u6587\u4EF6\u8DEF\u5F84\u201C{{filePath}}\u201D\u65E0\u6548\u3002",
8886
9065
  projectGroupDuplicateFilePath: "\u9879\u76EE\u7EC4\u6E90\u7801\u5305\u542B\u91CD\u590D\u6587\u4EF6\u8DEF\u5F84\u201C{{filePath}}\u201D\u3002",
8887
9066
  projectGroupForbiddenHostData: "\u9879\u76EE\u7EC4\u6E90\u7801\u5728\u201C{{filePath}}\u201D\u5305\u542B\u7981\u6B62\u4F20\u8F93\u7684\u5BBF\u4E3B\u6570\u636E\u3002",
@@ -8889,13 +9068,13 @@ var desktop2 = {
8889
9068
  projectGroupProjectTypeMismatch: "\u9879\u76EE\u201C{{projectId}}\u201D\u7684\u7C7B\u578B\u4E3A\u201C{{actualProjectType}}\u201D\uFF0C\u5176\u9879\u76EE\u7EC4\u89D2\u8272\u8981\u6C42\u7C7B\u578B\u4E3A\u201C{{expectedProjectType}}\u201D\u3002",
8890
9069
  projectGroupSourceContentInvalid: "\u9879\u76EE\u201C{{projectId}}\u201D\u5305\u542B\u65E0\u6548\u6E90\u7801\u5185\u5BB9\u3002",
8891
9070
  projectGroupSourceHashMismatch: "\u9879\u76EE\u201C{{projectId}}\u201D\u7684\u6E90\u7801\u5185\u5BB9\u4E0E\u9501\u5B9A\u54C8\u5E0C\u4E0D\u4E00\u81F4\u3002",
8892
- projectGroupRootSourceIdForbidden: "\u9879\u76EE\u7EC4\u6839\u9879\u76EE\u4E0D\u80FD\u5305\u542B\u4F9D\u8D56\u6570\u636E\u6E90 ID\u3002",
9071
+ projectGroupRootAliasForbidden: "\u9879\u76EE\u7EC4\u6839\u9879\u76EE\u4E0D\u80FD\u5305\u542B\u5173\u8054\u9879\u76EE alias\u3002",
8893
9072
  projectGroupRootVersionMismatch: "\u6839\u9879\u76EE\u7248\u672C\u4E3A {{actualVersion}}\uFF0C\u4F46\u4E0B\u8F7D\u8BA1\u5212\u8981\u6C42 {{expectedVersion}}\u3002",
8894
9073
  projectGroupUndeclaredPinnedDependency: "\u4F9D\u8D56\u9879\u76EE\u201C{{projectId}}\u201D\u672A\u6309\u4E0B\u8F7D\u7248\u672C\u548C\u6E90\u7801\u54C8\u5E0C\u8FDB\u884C\u58F0\u660E\u3002",
8895
9074
  projectGroupRootPackageMustBeUtf8: "\u9879\u76EE\u7EC4\u6839\u9879\u76EE\u7684 package.json \u5FC5\u987B\u662F UTF-8 \u6587\u672C\u3002",
8896
- projectGroupRootDataSourcesInvalid: "\u6839 Kanban \u7684\u6570\u636E\u6E90\u914D\u7F6E\u65E0\u6548\u3002",
8897
- projectGroupDependencyLockMismatch: "\u9879\u76EE\u7EC4\u4F9D\u8D56\u9501\u4E0E\u6839 Kanban \u6570\u636E\u6E90\u4E0D\u4E00\u81F4\u3002",
8898
- projectGroupSelfReference: "\u6839 Kanban \u4E0D\u80FD\u628A\u81EA\u8EAB\u5F15\u7528\u4E3A Workflow \u6570\u636E\u6E90\u3002",
9075
+ projectGroupRootRelatedProjectsInvalid: "\u6839 Kanban \u7684\u5173\u8054\u9879\u76EE\u58F0\u660E\u65E0\u6548\u3002",
9076
+ projectGroupDependencyLockMismatch: "\u9879\u76EE\u7EC4\u4F9D\u8D56\u9501\u4E0E\u6839\u9879\u76EE\u7684\u5173\u8054\u9879\u76EE\u4E0D\u4E00\u81F4\u3002",
9077
+ projectGroupSelfReference: "\u6839\u9879\u76EE\u4E0D\u80FD\u628A\u81EA\u8EAB\u58F0\u660E\u4E3A\u5173\u8054\u9879\u76EE\u3002",
8899
9078
  projectGroupUndeclaredDependency: "\u4F9D\u8D56\u9879\u76EE\u201C{{projectId}}\u201D\u672A\u5728\u9879\u76EE\u7EC4\u4E2D\u58F0\u660E\u3002",
8900
9079
  projectGroupExistingProjectTypeMismatch: "\u5DF2\u6709\u672C\u5730\u9879\u76EE\u201C{{projectId}}\u201D\u7684\u7C7B\u578B\u4E3A\u201C{{actualProjectType}}\u201D\uFF0C\u9879\u76EE\u7EC4\u8981\u6C42\u7C7B\u578B\u4E3A\u201C{{expectedProjectType}}\u201D\u3002",
8901
9080
  projectGroupCopyMissingIncludedSource: "\u590D\u5236\u9879\u76EE\u7EC4\u9700\u8981\u63D0\u4F9B\u6BCF\u4E2A included \u4F9D\u8D56\u7684\u6E90\u7801\u3002",
@@ -9105,8 +9284,6 @@ var serverWeb2 = {
9105
9284
  busyLoadAiConfig: "\u52A0\u8F7D AI \u914D\u7F6E",
9106
9285
  busyLoadAiUsage: "\u52A0\u8F7D AI \u7528\u91CF",
9107
9286
  busyLoadAudit: "\u52A0\u8F7D\u5BA1\u8BA1\u65E5\u5FD7",
9108
- busyLoadGlobalKv: "\u52A0\u8F7D Global KV",
9109
- busyLoadGlobalKvPage: "\u5207\u6362 Global KV \u5206\u9875",
9110
9287
  busyLoadLogs: "\u52A0\u8F7D\u6267\u884C\u8BB0\u5F55",
9111
9288
  busyLoadOrders: "\u52A0\u8F7D\u8BA2\u5355",
9112
9289
  busyLoadProjectDetail: "\u52A0\u8F7D\u9879\u76EE\u8BE6\u60C5",
@@ -9153,17 +9330,49 @@ var serverWeb2 = {
9153
9330
  confirmActionCancel: "\u53D6\u6D88",
9154
9331
  confirmActionConfirm: "\u786E\u8BA4",
9155
9332
  detailNavEmbed: "Embed",
9156
- detailNavDependencies: "\u4F9D\u8D56\u4E0E\u6743\u9650",
9333
+ detailNavRelatedProjects: "\u5173\u8054\u9879\u76EE",
9157
9334
  detailNavEnv: "\u73AF\u5883\u53D8\u91CF",
9158
9335
  detailNavKnowledge: "\u77E5\u8BC6\u5E93",
9159
9336
  detailNavKv: "KV \u6570\u636E",
9160
9337
  detailNavLogs: "\u6267\u884C\u65E5\u5FD7",
9338
+ detailNavMcp: "MCP",
9161
9339
  detailNavMembers: "\u6210\u5458",
9162
9340
  detailNavOverview: "\u6982\u89C8",
9163
9341
  detailNavSchedules: "\u5B9A\u65F6\u4EFB\u52A1",
9164
9342
  detailNavSettings: "\u8BBE\u7F6E",
9165
9343
  detailNavVersions: "\u7248\u672C",
9166
9344
  detailNavWebhook: "Webhook",
9345
+ mcpApiKeySettings: "API Key \u8BBE\u7F6E",
9346
+ mcpAuthHeaderDescription: "\u5C06\u5360\u4F4D\u7B26\u66FF\u6362\u4E3A\u8D26\u6237 API Key \u6216\u7BA1\u7406\u5458 Key\uFF1B\u6D4F\u89C8\u5668 Cookie \u4E0D\u53EF\u7528\u4E8E MCP\u3002",
9347
+ mcpAuthHeaderLabel: "\u9274\u6743\u8BF7\u6C42\u5934",
9348
+ mcpClientConfigDescription: "\u901A\u7528 MCP \u5BA2\u6237\u7AEF\u914D\u7F6E\uFF1B\u8BF7\u5C06 API Key \u4FDD\u5B58\u5728\u5BA2\u6237\u7AEF\u7684\u5BC6\u94A5\u5B58\u50A8\u4E2D\u3002",
9349
+ mcpClientConfigLabel: "\u5BA2\u6237\u7AEF JSON",
9350
+ mcpConnectionDescription: "\u901A\u8FC7\u6807\u51C6 Streamable HTTP \u5C06 MCP \u5BA2\u6237\u7AEF\u8FDE\u63A5\u5230\u9009\u5B9A\u4E14\u56FA\u5B9A\u7684 Workflow \u76EE\u6807\u3002",
9351
+ mcpConnectionTitle: "MCP \u8FDE\u63A5",
9352
+ mcpCopied: "\u5DF2\u590D\u5236",
9353
+ mcpCopyAuthHeader: "\u590D\u5236\u9274\u6743\u8BF7\u6C42\u5934",
9354
+ mcpCopyClientConfig: "\u590D\u5236\u5BA2\u6237\u7AEF JSON",
9355
+ mcpCopyFailed: "\u590D\u5236\u5931\u8D25\uFF0C\u91CD\u8BD5",
9356
+ mcpCopyUrl: "\u590D\u5236 Streamable HTTP URL",
9357
+ mcpEmptyDescription: "\u8BF7\u4E3A\u5F53\u524D Workflow \u76EE\u6807\u589E\u52A0 entrypoint\uFF0C\u7136\u540E\u91CD\u65B0\u8FDE\u63A5 MCP \u5BA2\u6237\u7AEF\u3002",
9358
+ mcpEmptyTitle: "\u6CA1\u6709 MCP tools",
9359
+ mcpLoadFailedDescription: "\u65E0\u6CD5\u52A0\u8F7D\u5F53\u524D\u76EE\u6807\u7684 Workflow tool \u6E05\u5355\u3002",
9360
+ mcpLoadFailedTitle: "Tool \u6E05\u5355\u4E0D\u53EF\u7528",
9361
+ mcpLoadingDescription: "\u6B63\u5728\u52A0\u8F7D MCP tool \u6E05\u5355",
9362
+ mcpProjectTypeUnsupported: "\u53EA\u6709 Workflow \u9879\u76EE\u53EF\u4EE5\u901A\u8FC7 MCP \u66B4\u9732\u3002",
9363
+ mcpServerNameLabel: "Server \u540D\u79F0",
9364
+ mcpTargetDraft: "draft\uFF08\u5F53\u524D\u8349\u7A3F\uFF09",
9365
+ mcpTargetLabel: "\u76EE\u6807",
9366
+ mcpTargetLatest: "latest\uFF08\u5F53\u524D\u53EF\u6267\u884C\u7248\u672C\uFF09",
9367
+ mcpToolsCount: "{{count}} \u4E2A tools",
9368
+ mcpToolsDescription: "\u6BCF\u4E2A Workflow entrypoint \u5BF9\u5E94\u4E00\u4E2A MCP tool\uFF1B\u540C\u4E00\u4F1A\u8BDD\u5185\u6E05\u5355\u4FDD\u6301\u56FA\u5B9A\u3002",
9369
+ mcpToolsTitle: "Tools",
9370
+ mcpTransportLabel: "Transport",
9371
+ mcpTransportValue: "Streamable HTTP",
9372
+ mcpUnavailableDescription: "\u5F53\u524D\u9879\u76EE\u6CA1\u6709\u6784\u5EFA\u6210\u529F\u7684 draft \u6216\u53EF\u5728 Server \u6267\u884C\u7684\u7248\u672C\u3002\u8BF7\u5148\u6784\u5EFA\u8349\u7A3F\u6216\u53D1\u5E03\u517C\u5BB9 Server \u7684\u7248\u672C\u3002",
9373
+ mcpUnavailableTitle: "Server MCP \u6682\u4E0D\u53EF\u7528",
9374
+ mcpUrlDescription: "POST \u627F\u8F7D MCP \u6D88\u606F\uFF0CGET \u5EFA\u7ACB SSE\uFF0CDELETE \u5173\u95ED\u5DF2\u7ED1\u5B9A\u7684\u4F1A\u8BDD\u3002",
9375
+ mcpUrlLabel: "Streamable HTTP URL",
9167
9376
  deviceApprove: "\u6279\u51C6\u767B\u5F55",
9168
9377
  deviceCardDescription: "device flow \u9700\u8981\u7531 Web \u4F1A\u8BDD\u663E\u5F0F\u6279\u51C6\uFF0CCLI / App \u624D\u80FD\u6362\u53D6 API Key\u3002",
9169
9378
  deviceDeny: "\u62D2\u7EDD",
@@ -9234,52 +9443,44 @@ var serverWeb2 = {
9234
9443
  formatDurationUnknown: "\u672A\u77E5",
9235
9444
  formatTimeUnknown: "\u672A\u77E5\u65F6\u95F4",
9236
9445
  formatUnknownTime: "\u672A\u77E5\u65F6\u95F4",
9237
- globalKvClear: "\u6E05\u7A7A",
9238
- globalKvCopyFailed: "\u5F53\u524D\u6D4F\u89C8\u5668\u4E0D\u5141\u8BB8\u590D\u5236\uFF0C\u8BF7\u624B\u52A8\u9009\u4E2D\u6587\u672C\u590D\u5236\u3002",
9239
- globalKvCopyJson: "\u590D\u5236 JSON",
9240
- globalKvCopyJsonCopied: "JSON \u5DF2\u590D\u5236",
9241
- globalKvCopyKey: "\u590D\u5236 Key",
9242
- globalKvCopySummary: "\u590D\u5236\u6458\u8981",
9243
- globalKvCopySummaryCopied: "\u6458\u8981\u5DF2\u590D\u5236",
9244
- globalKvDetailLoadingAria: "\u6B63\u5728\u52A0\u8F7D KV \u8BE6\u60C5",
9245
- globalKvDetailLoadingText: "\u6B63\u5728\u52A0\u8F7D\u5B8C\u6574\u503C\u2026",
9246
- globalKvDetailTitle: "KV \u8BE6\u60C5",
9247
- globalKvDetailTooLarge: "\u5B8C\u6574\u503C\u8F83\u5927\uFF0C\u5F53\u524D\u4EC5\u5C55\u793A\u5217\u8868\u6458\u8981\uFF0C\u907F\u514D\u6D4F\u89C8\u5668\u5728\u52A0\u8F7D\u548C\u683C\u5F0F\u5316\u5927 JSON \u65F6\u5361\u987F\u3002",
9248
- globalKvEmptyDescription: "\u8C03\u6574\u641C\u7D22\u8BCD\u3001\u7C7B\u578B\u6216\u5173\u8054\u6761\u4EF6\u540E\u91CD\u8BD5\u3002",
9249
- globalKvEmptyTitle: "\u6CA1\u6709\u5339\u914D\u7684 KV \u8BB0\u5F55",
9250
- globalKvFilterLinkStateAria: "\u5173\u8054\u72B6\u6001",
9251
- globalKvFilterLinkStateOptions: "\u5168\u90E8\u5173\u8054",
9252
- globalKvFilterLinkedState: "\u5DF2\u5173\u8054\u65E5\u5FD7",
9253
- globalKvFilterRunId: "runId",
9254
- globalKvFilterSearch: "\u641C\u7D22 Key...",
9255
- globalKvFilterUnlinkedState: "\u672A\u5173\u8054\u65E5\u5FD7",
9256
- globalKvFilterValueTypeAria: "\u503C\u7C7B\u578B",
9257
- globalKvHeaderConversation: "Conversation",
9258
- globalKvHeaderKey: "Key",
9259
- globalKvHeaderLastWriter: "Last writer",
9260
- globalKvHeaderOperations: "\u64CD\u4F5C",
9261
- globalKvHeaderProject: "\u9879\u76EE",
9262
- globalKvHeaderUpdatedAt: "\u66F4\u65B0\u65F6\u95F4",
9263
- globalKvHeaderValue: "\u503C",
9264
- globalKvLinkStateAll: "\u5168\u90E8\u5173\u8054",
9265
- globalKvLinkedRunNotLinked: "\u65E0\u5173\u8054\u65E5\u5FD7",
9266
- globalKvLinkedRunView: "\u67E5\u770B\u5173\u8054\u65E5\u5FD7",
9267
- globalKvLoadJson: "\u52A0\u8F7D JSON",
9268
- globalKvLoadJsonLoading: "\u52A0\u8F7D\u4E2D",
9269
- globalKvLoadJsonRetry: "\u91CD\u8BD5\u52A0\u8F7D JSON",
9270
- globalKvMetaLastRun: "\u6700\u540E\u6267\u884C",
9271
- globalKvMetaUnlinked: "\u672A\u5173\u8054",
9272
- globalKvNotRecorded: "\u672A\u8BB0\u5F55",
9273
- globalKvPageDescription: "\u8DE8\u9879\u76EE\u5171\u4EAB\u7F13\u5B58\u4E0E\u5E73\u53F0\u7EA7\u72B6\u6001\u7684\u53EA\u8BFB\u6392\u67E5\u89C6\u56FE\u3002\u5171 {{total}} \u6761\u8BB0\u5F55\u3002",
9274
- globalKvPageTitle: "\u5168\u5C40 KV",
9275
- globalKvRefresh: "\u5237\u65B0",
9276
- globalKvScopeConversation: "conversation",
9277
- globalKvScopeWorkflow: "workflow",
9278
- globalKvStatLinked: "\u5DF2\u5173\u8054\u65E5\u5FD7 (\u672C\u9875)",
9279
- globalKvStatStructured: "\u7ED3\u6784\u5316\u503C (\u672C\u9875)",
9280
- globalKvStatTotal: "\u8BB0\u5F55\u603B\u6570 (\u5339\u914D\u8FC7\u6EE4)",
9281
- globalKvValueTypeAll: "\u5168\u90E8\u7C7B\u578B",
9282
- globalKvViewDetail: "\u67E5\u770B KV \u8BE6\u60C5",
9446
+ projectKvClear: "\u6E05\u7A7A",
9447
+ projectKvCopyFailed: "\u5F53\u524D\u6D4F\u89C8\u5668\u4E0D\u5141\u8BB8\u590D\u5236\uFF0C\u8BF7\u624B\u52A8\u9009\u4E2D\u6587\u672C\u590D\u5236\u3002",
9448
+ projectKvCopyJson: "\u590D\u5236 JSON",
9449
+ projectKvCopyJsonCopied: "JSON \u5DF2\u590D\u5236",
9450
+ projectKvCopyKey: "\u590D\u5236 Key",
9451
+ projectKvCopySummary: "\u590D\u5236\u6458\u8981",
9452
+ projectKvCopySummaryCopied: "\u6458\u8981\u5DF2\u590D\u5236",
9453
+ projectKvDetailLoadingAria: "\u6B63\u5728\u52A0\u8F7D KV \u8BE6\u60C5",
9454
+ projectKvDetailLoadingText: "\u6B63\u5728\u52A0\u8F7D\u5B8C\u6574\u503C\u2026",
9455
+ projectKvDetailTitle: "KV \u8BE6\u60C5",
9456
+ projectKvDetailTooLarge: "\u5B8C\u6574\u503C\u8F83\u5927\uFF0C\u5F53\u524D\u4EC5\u5C55\u793A\u5217\u8868\u6458\u8981\uFF0C\u907F\u514D\u6D4F\u89C8\u5668\u5728\u52A0\u8F7D\u548C\u683C\u5F0F\u5316\u5927 JSON \u65F6\u5361\u987F\u3002",
9457
+ projectKvEmptyDescription: "\u8C03\u6574\u641C\u7D22\u8BCD\u3001\u7C7B\u578B\u6216\u5173\u8054\u6761\u4EF6\u540E\u91CD\u8BD5\u3002",
9458
+ projectKvEmptyTitle: "\u6CA1\u6709\u5339\u914D\u7684 KV \u8BB0\u5F55",
9459
+ projectKvFilterLinkStateAria: "\u5173\u8054\u72B6\u6001",
9460
+ projectKvFilterLinkedState: "\u5DF2\u5173\u8054\u65E5\u5FD7",
9461
+ projectKvFilterRunId: "runId",
9462
+ projectKvFilterSearch: "\u641C\u7D22 Key...",
9463
+ projectKvFilterUnlinkedState: "\u672A\u5173\u8054\u65E5\u5FD7",
9464
+ projectKvFilterValueTypeAria: "\u503C\u7C7B\u578B",
9465
+ projectKvHeaderConversation: "Conversation",
9466
+ projectKvHeaderKey: "Key",
9467
+ projectKvHeaderLastWriter: "Last writer",
9468
+ projectKvHeaderOperations: "\u64CD\u4F5C",
9469
+ projectKvHeaderProject: "\u9879\u76EE",
9470
+ projectKvHeaderUpdatedAt: "\u66F4\u65B0\u65F6\u95F4",
9471
+ projectKvHeaderValue: "\u503C",
9472
+ projectKvLinkStateAll: "\u5168\u90E8\u5173\u8054",
9473
+ projectKvLinkedRunNotLinked: "\u65E0\u5173\u8054\u65E5\u5FD7",
9474
+ projectKvLinkedRunView: "\u67E5\u770B\u5173\u8054\u65E5\u5FD7",
9475
+ projectKvLoadJson: "\u52A0\u8F7D JSON",
9476
+ projectKvLoadJsonLoading: "\u52A0\u8F7D\u4E2D",
9477
+ projectKvLoadJsonRetry: "\u91CD\u8BD5\u52A0\u8F7D JSON",
9478
+ projectKvMetaLastRun: "\u6700\u540E\u6267\u884C",
9479
+ projectKvMetaUnlinked: "\u672A\u5173\u8054",
9480
+ projectKvNotRecorded: "\u672A\u8BB0\u5F55",
9481
+ projectKvRefresh: "\u5237\u65B0",
9482
+ projectKvValueTypeAll: "\u5168\u90E8\u7C7B\u578B",
9483
+ projectKvViewDetail: "\u67E5\u770B KV \u8BE6\u60C5",
9283
9484
  inviteAcceptAndJoin: "\u63A5\u53D7\u9080\u8BF7\u5E76\u52A0\u5165",
9284
9485
  inviteAcceptFailed: "\u63A5\u53D7\u9080\u8BF7\u5931\u8D25\u3002",
9285
9486
  inviteAlreadyAccepted: "\u8BE5\u9080\u8BF7\u5DF2\u88AB\u63A5\u53D7\u3002",
@@ -9405,6 +9606,7 @@ var serverWeb2 = {
9405
9606
  logsSourceDesktop: "Desktop",
9406
9607
  logsSourceEmbed: "Embed",
9407
9608
  logsSourceExternalApi: "\u5916\u90E8 API",
9609
+ logsSourceMcp: "MCP",
9408
9610
  logsSourceSchedule: "\u5B9A\u65F6\u4EFB\u52A1",
9409
9611
  logsSourceUnknown: "\u672A\u8BB0\u5F55",
9410
9612
  logsSourceUserSession: "\u7528\u6237\u4F1A\u8BDD",
@@ -9563,7 +9765,6 @@ var serverWeb2 = {
9563
9765
  membersUserSource: "\u7528\u6237\u6765\u6E90",
9564
9766
  membersVisible: "\u5F53\u524D\u9875 {{page}} \u6761 / \u7B5B\u9009 {{total}} \u6761",
9565
9767
  navAdminCenter: "\u7BA1\u7406\u4E2D\u5FC3",
9566
- navGlobalKv: "\u5168\u5C40 KV \u6570\u636E",
9567
9768
  navProjects: "\u9879\u76EE\u5DE5\u4F5C\u53F0",
9568
9769
  navSettings: "\u8BBE\u7F6E",
9569
9770
  overviewAccessAcceptTasks: "\u63A5\u6536\u4EFB\u52A1",
@@ -10519,7 +10720,7 @@ var serverWeb2 = {
10519
10720
  navEnterAdminCenter: "\u8FDB\u5165\u7BA1\u7406\u5458\u540E\u53F0",
10520
10721
  busyResetEmbedToken: "\u91CD\u7F6E Embed Token",
10521
10722
  busyResetWebhookSecret: "\u91CD\u7F6E Webhook Secret",
10522
- projectKvDetailScopeError: "\u9879\u76EE KV \u8BE6\u60C5\u53EA\u652F\u6301 workflow / conversation scope\u3002",
10723
+ projectKvDetailScopeError: "\u9879\u76EE KV \u8BE6\u60C5\u53EA\u652F\u6301 project / conversation scope\u3002",
10523
10724
  filePickerChoose: "\u9009\u62E9\u6587\u4EF6",
10524
10725
  tableLoadingRows: "\u6B63\u5728\u52A0\u8F7D\u8868\u683C",
10525
10726
  selectPlaceholder: "\u9009\u62E9",
@@ -10540,7 +10741,7 @@ var serverWeb2 = {
10540
10741
  embedTabResetTokenDescription: "\u91CD\u7F6E\u540E\u65E7 Token \u4F1A\u7ACB\u5373\u5931\u6548\uFF0C\u5DF2\u7ECF\u5D4C\u5165\u5230\u5916\u90E8\u9875\u9762\u6216\u5206\u4EAB\u51FA\u53BB\u7684\u65E7\u94FE\u63A5\u5C06\u65E0\u6CD5\u7EE7\u7EED\u8BBF\u95EE\u3002",
10541
10742
  embedTabResetTokenAction: "\u91CD\u7F6E Token",
10542
10743
  embedTabPublicUrlDetail: "\u516C\u5F00 URL\uFF1A",
10543
- globalKvFilterScopeAria: "\u8303\u56F4",
10744
+ projectKvFilterScopeAria: "\u8303\u56F4",
10544
10745
  overviewQueueDonutAria: "\u8FD0\u884C\u6001\u6458\u8981\u961F\u5217\u5360\u7528\u56FE",
10545
10746
  overviewCapacityBarsAria: "\u5E76\u53D1\u5BB9\u91CF\u67F1\u72B6\u56FE",
10546
10747
  overviewAccessBarsAria: "\u63A5\u5165\u72B6\u6001\u6761\u5F62\u56FE",
@@ -10582,38 +10783,16 @@ var serverWeb2 = {
10582
10783
  webhookRunHeaderEntrypoint: "Workflow \u5165\u53E3",
10583
10784
  webhookSaveConfirmDetailsEntrypoint: "Workflow \u5165\u53E3\uFF1A",
10584
10785
  versionsDayRunCount: "{{day}} / {{total}} \u6B21",
10585
- dependenciesAddGrant: "\u65B0\u589E\u6570\u636E\u8BBF\u95EE\u6388\u6743",
10586
- dependenciesAddGrantDialogDescription: "\u641C\u7D22\u5E76\u9009\u62E9\u4F7F\u7528\u65B9\u9879\u76EE\uFF0C\u518D\u9650\u5B9A\u8BE5\u9879\u76EE\u53EF\u4EE5\u8BFB\u53D6\u7684 KV key \u524D\u7F00\u3002",
10587
- dependenciesAddGrantDialogTitle: "\u65B0\u589E\u6570\u636E\u6388\u6743",
10588
10786
  dependenciesApproveRequest: "\u6279\u51C6",
10589
- dependenciesConsumerProjectAria: "\u4F7F\u7528\u65B9\u9879\u76EE",
10590
- dependenciesConsumerProjectCreateDescription: "\u53EF\u6309\u9879\u76EE\u540D\u79F0\u6216\u7C7B\u578B\u641C\u7D22\uFF1B\u5217\u8868\u53EA\u663E\u793A\u5C1A\u672A\u6388\u6743\u7684\u53EF\u7528\u9879\u76EE\u3002",
10591
- dependenciesConsumerProjectEditDescription: "\u4F7F\u7528\u65B9\u9879\u76EE\u7531\u539F\u6388\u6743\u56FA\u5B9A\uFF1B\u5982\u9700\u66F4\u6362\uFF0C\u8BF7\u64A4\u9500\u540E\u91CD\u65B0\u65B0\u589E\u6388\u6743\u3002",
10592
- dependenciesConsumerProjectLabel: "\u4F7F\u7528\u65B9\u9879\u76EE",
10593
- dependenciesConsumerProjectPlaceholder: "\u641C\u7D22\u5E76\u9009\u62E9\u4F7F\u7528\u65B9\u9879\u76EE",
10594
- dependenciesConsumerProjectsUnavailableTitle: "\u4F7F\u7528\u65B9\u9879\u76EE\u4E0D\u53EF\u7528",
10595
- dependenciesCurrentConsumerProject: "\u5F53\u524D\u4F7F\u7528\u65B9\u9879\u76EE",
10596
- dependenciesDataAuthorized: "\u5DF2\u6388\u6743",
10597
- dependenciesDataAwaitingGrant: "\u5F85\u6388\u6743",
10598
- dependenciesDataGrantsDescription: "\u5141\u8BB8\u4F7F\u7528\u65B9\u9879\u76EE\u7684\u767B\u5F55\u8BBF\u95EE\u8005\u53EA\u8BFB\u5F53\u524D\u9879\u76EE\u7684\u6307\u5B9A KV \u524D\u7F00\uFF0C\u4E0D\u4F1A\u540C\u65F6\u5F00\u653E\u5F53\u524D\u9879\u76EE\u7684\u5176\u5B83\u5185\u5BB9\u3002",
10599
- dependenciesDataGrantsTitle: "\u6570\u636E\u8BBF\u95EE\u6388\u6743",
10600
10787
  dependenciesDataInitialized: "\u5DF2\u6709\u6570\u636E",
10601
- dependenciesDataUnauthorized: "\u672A\u6388\u6743",
10602
10788
  dependenciesDataUninitialized: "\u672A\u521D\u59CB\u5316",
10603
10789
  dependenciesDeliveryExternal: "\u5916\u90E8\u4F9D\u8D56",
10604
10790
  dependenciesDeliveryIncluded: "\u968F\u7EC4\u4EA4\u4ED8",
10605
- dependenciesEditGrantDialogDescription: "\u66F4\u65B0 {{name}} \u53EF\u4EE5\u8BFB\u53D6\u7684 KV key \u524D\u7F00\u3002",
10606
- dependenciesEditGrantDialogTitle: "\u7F16\u8F91\u6570\u636E\u6388\u6743",
10607
- dependenciesEditGrantLabel: "\u7F16\u8F91 {{name}} \u7684\u6570\u636E\u6388\u6743",
10608
- dependenciesEmptyDescription: "\u5F53\u524D\u7CBE\u786E\u7248\u672C\u672A\u58F0\u660E workflow-kv \u6570\u636E\u6E90\u3002",
10791
+ dependenciesEmptyDescription: "\u5F53\u524D\u7CBE\u786E\u7248\u672C\u6CA1\u6709\u7531\u5DF2\u786E\u8BA4\u5173\u8054\u9879\u76EE\u751F\u6210\u7684\u4F9D\u8D56\u3002",
10609
10792
  dependenciesEmptyTitle: "\u6CA1\u6709\u5F15\u7528\u9879\u76EE",
10610
- dependenciesGrantFieldsRequired: "\u8BF7\u9009\u62E9\u4F7F\u7528\u65B9\u9879\u76EE\uFF0C\u5E76\u81F3\u5C11\u586B\u5199\u4E00\u4E2A\u5141\u8BB8\u7684 key \u524D\u7F00\u3002",
10611
10793
  dependenciesHeaderActions: "\u64CD\u4F5C",
10612
- dependenciesHeaderAllowedPrefixes: "\u5141\u8BB8\u524D\u7F00",
10613
10794
  dependenciesHeaderAuthorizedUser: "\u5DF2\u6388\u6743\u7528\u6237",
10614
10795
  dependenciesHeaderCapability: "\u80FD\u529B",
10615
- dependenciesHeaderConsumerProject: "\u4F7F\u7528\u65B9\u9879\u76EE",
10616
- dependenciesHeaderDataGrant: "\u6570\u636E\u6388\u6743",
10617
10796
  dependenciesHeaderDelivery: "\u4EA4\u4ED8",
10618
10797
  dependenciesHeaderExactVersion: "\u7CBE\u786E\u7248\u672C",
10619
10798
  dependenciesHeaderGrantedAt: "\u6388\u6743\u65F6\u95F4",
@@ -10624,47 +10803,23 @@ var serverWeb2 = {
10624
10803
  dependenciesHeaderSourcePermission: "\u6E90\u7801\u6743\u9650",
10625
10804
  dependenciesHeaderSubmittedAt: "\u63D0\u4EA4\u65F6\u95F4",
10626
10805
  dependenciesHeaderUpdatedAt: "\u66F4\u65B0\u65F6\u95F4",
10627
- dependenciesKeyPrefixesDescription: "\u6BCF\u884C\u4E00\u4E2A\u524D\u7F00\u3002\u6700\u7EC8\u8BFB\u53D6\u8303\u56F4\u4ECD\u53D7\u4F7F\u7528\u65B9\u9879\u76EE\u7CBE\u786E\u7248\u672C\u7684\u6570\u636E\u6E90\u58F0\u660E\u9650\u5236\u3002",
10628
- dependenciesKeyPrefixesLabel: "\u5141\u8BB8\u7684 key \u524D\u7F00",
10629
- dependenciesLoadDataGrantsFailed: "\u65E0\u6CD5\u8BFB\u53D6\u6570\u636E\u6388\u6743\u3002",
10630
- dependenciesLoadGrantableProjectsFailed: "\u65E0\u6CD5\u8BFB\u53D6\u53EF\u6388\u6743\u9879\u76EE\u3002",
10631
- dependenciesLoadPermissionsFailed: "\u65E0\u6CD5\u8BFB\u53D6\u9879\u76EE\u6743\u9650\u3002",
10632
10806
  dependenciesLoadSourceRequestsFailed: "\u65E0\u6CD5\u8BFB\u53D6\u6E90\u7801\u8BBF\u95EE\u7533\u8BF7\u3002",
10633
10807
  dependenciesLoadStatusFailed: "\u65E0\u6CD5\u8BFB\u53D6\u9879\u76EE\u4F9D\u8D56\u72B6\u6001\u3002",
10634
- dependenciesLoadingDataGrants: "\u6B63\u5728\u52A0\u8F7D\u6570\u636E\u6388\u6743",
10635
- dependenciesManagementUnavailableTitle: "\u7BA1\u7406\u6743\u9650\u4E0D\u53EF\u7528",
10636
- dependenciesNoDataGrantsDescription: "\u5F53\u524D\u9879\u76EE\u5C1A\u672A\u5411\u5176\u5B83\u9879\u76EE\u5F00\u653E KV \u524D\u7F00\u3002",
10637
- dependenciesNoDataGrantsTitle: "\u6CA1\u6709\u6570\u636E\u6388\u6743",
10638
- dependenciesNoGrantableConsumer: "\u6CA1\u6709\u53EF\u6388\u6743\u7684\u4F7F\u7528\u65B9\u9879\u76EE",
10639
- dependenciesNoMatchingProjects: "\u6CA1\u6709\u5339\u914D\u9879\u76EE",
10640
10808
  dependenciesNoPendingRequestsDescription: "\u4E0B\u8F7D\u8005\u901A\u8FC7\u77ED\u671F\u7533\u8BF7\u94FE\u63A5\u63D0\u4EA4\u540E\u4F1A\u663E\u793A\u5728\u8FD9\u91CC\u3002",
10641
10809
  dependenciesNoPendingRequestsTitle: "\u6CA1\u6709\u5F85\u5BA1\u6279\u7533\u8BF7",
10642
10810
  dependenciesNoSourceGrantsDescription: "\u9879\u76EE\u6210\u5458\u7684\u73B0\u6709\u6E90\u7801\u6743\u9650\u4E0D\u5728\u6B64\u8868\u91CD\u590D\u663E\u793A\u3002",
10643
10811
  dependenciesNoSourceGrantsTitle: "\u6CA1\u6709\u989D\u5916\u6E90\u7801\u6388\u6743",
10644
- dependenciesNotReadyDescription: "\u6765\u6E90\u9879\u76EE\u7F3A\u5931\u6216\u6570\u636E\u524D\u7F00\u5C1A\u672A\u6388\u6743\uFF0C\u4E0D\u80FD\u53D1\u5E03\u4E3A\u53EF\u5206\u4EAB\u7248\u672C\u3002",
10812
+ dependenciesNotReadyDescription: "\u6765\u6E90\u9879\u76EE\u7F3A\u5931\u3001\u5173\u7CFB\u672A\u786E\u8BA4\u6216 included \u6E90\u7801\u4E0D\u53EF\u7528\uFF0C\u4E0D\u80FD\u53D1\u5E03\u4E3A\u53EF\u5206\u4EAB\u7248\u672C\u3002",
10645
10813
  dependenciesNotReadyTitle: "\u5F53\u524D\u7248\u672C\u4F9D\u8D56\u672A\u5C31\u7EEA",
10646
- dependenciesOpenProjectName: "\u6253\u5F00 {{name}}",
10647
10814
  dependenciesOpenSourceProject: "\u6253\u5F00\u6765\u6E90\u9879\u76EE",
10648
10815
  dependenciesPageDescription: "\u67E5\u770B\u5F53\u524D\u9879\u76EE\u7684\u5F15\u7528\u5173\u7CFB\uFF0C\u7BA1\u7406\u6570\u636E\u8BBF\u95EE\u4E0E\u6E90\u7801\u4EA4\u4ED8\u6743\u9650\u3002\u5BBF\u4E3B\u6570\u636E\u4E0D\u4F1A\u968F\u9879\u76EE\u7EC4\u4F20\u8F93\u3002",
10649
- dependenciesProjectNameUnavailable: "\u540D\u79F0\u4E0D\u53EF\u8BFB\u53D6",
10650
- dependenciesProjectUnavailable: "\u9879\u76EE\u4E0D\u53EF\u7528",
10651
10816
  dependenciesRejectRequest: "\u62D2\u7EDD",
10652
10817
  dependenciesRequestSourceAccessLabel: "\u7533\u8BF7\u6E90\u7801\u6743\u9650",
10653
10818
  dependenciesRequestSourceAccessTitle: "\u7533\u8BF7\u4E0B\u8F7D\u6765\u6E90\u9879\u76EE\u6E90\u7801",
10654
- dependenciesRevokeGrantConfirmDescription: "\u64A4\u9500\u540E\uFF0C\u5DF2\u6253\u5F00\u7684 Studio \u4E0E Embed \u6570\u636E\u8BA2\u9605\u4F1A\u91CD\u65B0\u6821\u9A8C\u5E76\u505C\u6B62\u8BFB\u53D6\u5F53\u524D\u9879\u76EE\u3002",
10655
- dependenciesRevokeGrantConfirmLabel: "\u64A4\u9500\u6388\u6743",
10656
- dependenciesRevokeGrantConfirmTitle: "\u64A4\u9500\u6570\u636E\u8BBF\u95EE\u6388\u6743",
10657
- dependenciesRevokeGrantLabel: "\u64A4\u9500 {{name}} \u7684\u6570\u636E\u6388\u6743",
10658
10819
  dependenciesRevokeSourceAccessConfirmDescription: "\u64A4\u9500\u540E\uFF0C\u8BE5\u7528\u6237\u4E0D\u80FD\u7EE7\u7EED\u4E0B\u8F7D\u6B64\u9879\u76EE\u4F5C\u4E3A included \u4F9D\u8D56\uFF1B\u5DF2\u7ECF\u4E0B\u8F7D\u7684\u672C\u5730\u6587\u4EF6\u4E0D\u4F1A\u88AB\u5220\u9664\u3002",
10659
10820
  dependenciesRevokeSourceAccessConfirmLabel: "\u64A4\u9500\u6743\u9650",
10660
10821
  dependenciesRevokeSourceAccessConfirmTitle: "\u64A4\u9500\u6E90\u7801\u4E0B\u8F7D\u6743\u9650",
10661
10822
  dependenciesRevokeSourceAccessLabel: "\u64A4\u9500\u6E90\u7801\u6743\u9650",
10662
- dependenciesSaveChanges: "\u4FDD\u5B58\u4FEE\u6539",
10663
- dependenciesSaveGrant: "\u4FDD\u5B58\u6388\u6743",
10664
- dependenciesSaveGrantFailed: "\u4FDD\u5B58\u6570\u636E\u6388\u6743\u5931\u8D25\u3002",
10665
- dependenciesSearchConsumerProjectAria: "\u641C\u7D22\u4F7F\u7528\u65B9\u9879\u76EE",
10666
- dependenciesSearchProjectPlaceholder: "\u641C\u7D22\u9879\u76EE\u540D\u79F0\u6216\u7C7B\u578B",
10667
- dependenciesSelectedConsumerUnavailable: "\u6240\u9009\u4F7F\u7528\u65B9\u9879\u76EE\u5DF2\u4E0D\u53EF\u7528\uFF0C\u8BF7\u91CD\u65B0\u9009\u62E9\u3002",
10668
10823
  dependenciesServerDataUninitializedDescription: "\u8BF7\u5728 Server \u4E0A\u8FD0\u884C\u6765\u6E90 Workflow \u7684\u540C\u6B65\u5165\u53E3\uFF1B\u672C\u5730 KV \u4E0D\u4F1A\u81EA\u52A8\u4E0A\u4F20\u3002",
10669
10824
  dependenciesServerDataUninitializedTitle: "\u9879\u76EE\u5DF2\u90E8\u7F72\uFF0CServer \u6570\u636E\u5C1A\u672A\u521D\u59CB\u5316",
10670
10825
  dependenciesSourceCodeMissing: "\u6E90\u7801\u7F3A\u5931",
@@ -10680,8 +10835,63 @@ var serverWeb2 = {
10680
10835
  dependenciesVersionCardDescription: "\u4F9D\u8D56\u76EE\u5F55\u6765\u81EA\u6240\u9009\u7CBE\u786E\u7248\u672C\u7684 dependency lock\uFF0C\u4E0D\u8DDF\u968F\u6765\u6E90\u9879\u76EE latest \u53D8\u5316\u3002",
10681
10836
  dependenciesVersionCardTitle: "\u5F53\u524D\u9879\u76EE\u7248\u672C\u4F9D\u8D56",
10682
10837
  dependenciesVersionUnlocked: "\u4E0D\u9501\u5B9A",
10683
- projectSettingsDependenciesEntryDescription: "\u68C0\u67E5\u7CBE\u786E\u4F9D\u8D56\u9501\u3001KV \u6570\u636E\u6388\u6743\u548C\u6E90\u7801\u8BBF\u95EE\u7533\u8BF7\u3002",
10684
- projectSettingsDependenciesEntryMeta: "\u9879\u76EE\u7EC4\u4EA4\u4ED8\u4E0E\u6570\u636E\u8BBF\u95EE\u76F8\u4E92\u72EC\u7ACB",
10838
+ relatedProjectsAccessAll: "\u5168\u90E8 key",
10839
+ relatedProjectsAccessNone: "\u4E0D\u5141\u8BB8",
10840
+ relatedProjectsAccessPrefixes: "\u6307\u5B9A\u524D\u7F00",
10841
+ relatedProjectsAdd: "\u6DFB\u52A0\u5173\u8054\u9879\u76EE",
10842
+ relatedProjectsAddTitle: "\u6DFB\u52A0\u5173\u8054\u9879\u76EE",
10843
+ relatedProjectsAlias: "\u5F53\u524D\u9879\u76EE alias",
10844
+ relatedProjectsAliasDescription: "\u5F53\u524D\u9879\u76EE\u901A\u8FC7\u8FD9\u4E2A alias \u8BBF\u95EE\u5BF9\u65B9\uFF1B\u4EC5\u652F\u6301\u5C0F\u5199\u5B57\u6BCD\u3001\u6570\u5B57\u3001\u4E0B\u5212\u7EBF\u548C\u8FDE\u5B57\u7B26\u3002",
10845
+ relatedProjectsAliasInvalid: "\u53CC\u65B9 alias \u5FC5\u987B\u4EE5\u5C0F\u5199\u5B57\u6BCD\u5F00\u5934\uFF0C\u957F\u5EA6\u4E0D\u8D85\u8FC7 64\uFF0C\u5E76\u4E14\u53EA\u80FD\u5305\u542B\u5C0F\u5199\u5B57\u6BCD\u3001\u6570\u5B57\u3001\u4E0B\u5212\u7EBF\u548C\u8FDE\u5B57\u7B26\u3002",
10846
+ relatedProjectsAwaitingConfirmation: "\u5F85\u5BF9\u65B9\u786E\u8BA4",
10847
+ relatedProjectsCardDescription: "\u5173\u7CFB\u5199\u5165\u53CC\u65B9\u9879\u76EE\u58F0\u660E\uFF1B\u53EA\u6709\u53CC\u65B9\u58F0\u660E\u4E00\u81F4\u65F6\u624D\u6388\u4E88 KV \u6743\u9650\u3002",
10848
+ relatedProjectsCardTitle: "\u9879\u76EE\u5173\u7CFB",
10849
+ relatedProjectsConfirmed: "\u5DF2\u786E\u8BA4",
10850
+ relatedProjectsEdit: "\u7F16\u8F91\u4E0E {{name}} \u7684\u5173\u7CFB",
10851
+ relatedProjectsEditTitle: "\u7F16\u8F91\u5173\u8054\u9879\u76EE",
10852
+ relatedProjectsEditorDescription: "\u5206\u522B\u8BBE\u7F6E\u53CC\u65B9 alias\uFF0C\u4EE5\u53CA\u53CC\u65B9\u5141\u8BB8\u5BF9\u65B9\u8BBF\u95EE\u81EA\u8EAB\u9879\u76EE KV \u7684\u8BFB\u5199\u89C4\u5219\u3002",
10853
+ relatedProjectsEmptyDescription: "\u6DFB\u52A0\u5173\u8054\u540E\uFF0C\u53CC\u65B9\u53EF\u6309\u5404\u81EA alias \u8BBF\u95EE\u5BF9\u65B9\u660E\u786E\u6388\u6743\u7684\u9879\u76EE KV\u3002",
10854
+ relatedProjectsEmptyTitle: "\u6CA1\u6709\u5173\u8054\u9879\u76EE",
10855
+ relatedProjectsGrantInboundDescription: "\u5BF9\u65B9\u9879\u76EE\u5141\u8BB8\u5F53\u524D\u9879\u76EE\u8BBF\u95EE\u5176 KV \u7684\u8303\u56F4\u3002",
10856
+ relatedProjectsGrantInboundTitle: "\u5BF9\u65B9\u6388\u4E88\u5F53\u524D\u9879\u76EE",
10857
+ relatedProjectsGrantOutboundDescription: "\u5F53\u524D\u9879\u76EE\u5141\u8BB8\u5BF9\u65B9\u9879\u76EE\u8BBF\u95EE\u81EA\u8EAB KV \u7684\u8303\u56F4\u3002",
10858
+ relatedProjectsGrantOutboundTitle: "\u5F53\u524D\u9879\u76EE\u6388\u4E88\u5BF9\u65B9",
10859
+ relatedProjectsHeaderAlias: "Alias",
10860
+ relatedProjectsHeaderInbound: "\u5BF9\u65B9\u6388\u6743",
10861
+ relatedProjectsHeaderOutbound: "\u5F53\u524D\u9879\u76EE\u6388\u6743",
10862
+ relatedProjectsHeaderProject: "\u5173\u8054\u9879\u76EE",
10863
+ relatedProjectsHeaderStatus: "\u72B6\u6001",
10864
+ relatedProjectsLoadFailed: "\u65E0\u6CD5\u8BFB\u53D6\u5173\u8054\u9879\u76EE\u3002",
10865
+ relatedProjectsNoMatches: "\u6CA1\u6709\u5339\u914D\u9879\u76EE",
10866
+ relatedProjectsOpen: "\u6253\u5F00 {{name}}",
10867
+ relatedProjectsPageDescription: "\u7BA1\u7406\u901A\u7528\u9879\u76EE\u5173\u7CFB\u3001\u53CC\u65B9 KV \u8BBF\u95EE\u89C4\u5219\uFF0C\u4EE5\u53CA\u7531\u5DF2\u786E\u8BA4\u5173\u7CFB\u751F\u6210\u7684\u7248\u672C\u4F9D\u8D56\u3002",
10868
+ relatedProjectsPending: "\u5F85\u786E\u8BA4",
10869
+ relatedProjectsPrefixCount: "{{count}} \u4E2A\u524D\u7F00",
10870
+ relatedProjectsPrefixesAria: "{{label}} key \u524D\u7F00",
10871
+ relatedProjectsPrefixesDescription: "prefixes \u6A21\u5F0F\u6BCF\u884C\u586B\u5199\u4E00\u4E2A\u975E\u7A7A\u524D\u7F00\uFF1B\u5176\u5B83\u6A21\u5F0F\u4F1A\u5FFD\u7565\u6B64\u5B57\u6BB5\u3002",
10872
+ relatedProjectsPrefixesRequired: "prefixes \u6A21\u5F0F\u81F3\u5C11\u9700\u8981\u4E00\u4E2A\u975E\u7A7A\u4E14\u4E0D\u91CD\u590D\u7684\u524D\u7F00\u3002",
10873
+ relatedProjectsProjectUnavailable: "\u9879\u76EE\u4E0D\u53EF\u7528",
10874
+ relatedProjectsRead: "\u8BFB\u53D6",
10875
+ relatedProjectsReadShort: "\u8BFB",
10876
+ relatedProjectsRemove: "\u79FB\u9664\u4E0E {{name}} \u7684\u5173\u7CFB",
10877
+ relatedProjectsRemoveConfirmDescription: "\u79FB\u9664\u540E\u53CC\u65B9\u5173\u7CFB\u4E0E\u5173\u8054 KV \u6743\u9650\u7ACB\u5373\u5931\u6548\uFF1B\u5DF2\u4E0B\u8F7D\u7684\u6E90\u7801\u4E0D\u4F1A\u88AB\u5220\u9664\u3002",
10878
+ relatedProjectsRemoveConfirmLabel: "\u79FB\u9664\u5173\u8054",
10879
+ relatedProjectsRemoveConfirmTitle: "\u79FB\u9664\u5173\u8054\u9879\u76EE",
10880
+ relatedProjectsSave: "\u4FDD\u5B58\u5173\u8054",
10881
+ relatedProjectsSaveFailed: "\u4FDD\u5B58\u5173\u8054\u9879\u76EE\u5931\u8D25\u3002",
10882
+ relatedProjectsSearchAria: "\u641C\u7D22\u5173\u8054\u76EE\u6807\u9879\u76EE",
10883
+ relatedProjectsSearchPlaceholder: "\u641C\u7D22\u9879\u76EE\u540D\u79F0\u6216\u7C7B\u578B",
10884
+ relatedProjectsTargetAlias: "\u5BF9\u65B9\u9879\u76EE alias",
10885
+ relatedProjectsTargetAliasDescription: "\u5BF9\u65B9\u9879\u76EE\u901A\u8FC7\u8FD9\u4E2A alias \u8BBF\u95EE\u5F53\u524D\u9879\u76EE\u3002",
10886
+ relatedProjectsTargetPlaceholder: "\u641C\u7D22\u5E76\u9009\u62E9\u9879\u76EE",
10887
+ relatedProjectsTargetProject: "\u76EE\u6807\u9879\u76EE",
10888
+ relatedProjectsTargetProjectAria: "\u76EE\u6807\u5173\u8054\u9879\u76EE",
10889
+ relatedProjectsTargetRequired: "\u8BF7\u9009\u62E9\u4E0D\u662F\u5F53\u524D\u9879\u76EE\u7684\u6709\u6548\u76EE\u6807\u9879\u76EE\u3002",
10890
+ relatedProjectsUnavailableTitle: "\u5173\u8054\u9879\u76EE\u4E0D\u53EF\u7528",
10891
+ relatedProjectsWrite: "\u5199\u5165",
10892
+ relatedProjectsWriteShort: "\u5199",
10893
+ projectSettingsDependenciesEntryDescription: "\u7BA1\u7406\u901A\u7528\u5173\u8054\u9879\u76EE\u3001\u53CC\u65B9 KV \u6743\u9650\u3001\u7CBE\u786E\u4F9D\u8D56\u9501\u548C\u6E90\u7801\u8BBF\u95EE\u7533\u8BF7\u3002",
10894
+ projectSettingsDependenciesEntryMeta: "\u5F85\u786E\u8BA4\u5173\u7CFB\u4E0D\u6388\u4E88 KV \u6743\u9650\uFF0C\u4E5F\u4E0D\u8FDB\u5165 included \u4F9D\u8D56\u7EC4",
10685
10895
  sourceAccessBackToProjects: "\u8FD4\u56DE\u9879\u76EE\u5DE5\u4F5C\u53F0",
10686
10896
  sourceAccessCheckingLink: "\u6B63\u5728\u6821\u9A8C\u7533\u8BF7\u94FE\u63A5",
10687
10897
  sourceAccessCurrentStatus: "\u5F53\u524D\u72B6\u6001\uFF1A{{status}}",
@@ -10739,6 +10949,20 @@ var server2 = {
10739
10949
  terminalNotEnabled: "\u670D\u52A1\u5668\u672A\u542F\u7528\u8FDC\u7A0B\u7EC8\u7AEF\u3002\u8BF7\u8BBE\u7F6E WORKFLOW_SERVER_TERMINAL_ENABLED=1\u3002",
10740
10950
  requestBodyTooLarge: "\u8BF7\u6C42\u4F53\u8FC7\u5927\u3002",
10741
10951
  sub2apiProxyBodyTooLarge: "Sub2API LLM \u4EE3\u7406\u8BF7\u6C42\u4F53\u8D85\u8FC7 50 MiB \u9650\u5236\u3002",
10952
+ mcpSessionMissingOrExpired: "MCP \u4F1A\u8BDD\u4E0D\u5B58\u5728\u6216\u5DF2\u8FC7\u671F\u3002",
10953
+ mcpSessionIdRequired: "\u5FC5\u987B\u63D0\u4F9B\u6709\u6548\u7684 MCP \u4F1A\u8BDD ID\u3002",
10954
+ mcpProjectTypeUnsupported: "\u9879\u76EE\u7C7B\u578B\u201C{{projectType}}\u201D\u4E0D\u80FD\u901A\u8FC7 MCP \u66B4\u9732\u3002",
10955
+ mcpTargetChanged: "MCP \u4F1A\u8BDD\u76EE\u6807\u5DF2\u53D8\u5316\uFF0C\u8BF7\u91CD\u65B0\u8FDE\u63A5\u540E\u518D\u8C03\u7528\u5DE5\u5177\u3002",
10956
+ mcpBearerRequired: "MCP \u9700\u8981 Authorization: Bearer API Key\u3002",
10957
+ mcpBearerKeyRequired: "MCP \u53EA\u63A5\u53D7\u8D26\u6237 API Key \u6216\u7BA1\u7406\u5458 Key\u3002",
10958
+ mcpDraftChanged: "Workflow \u8349\u7A3F\u5DF2\u53D8\u5316\uFF0C\u8BF7\u91CD\u65B0\u8FDE\u63A5\u540E\u518D\u8C03\u7528\u5DE5\u5177\u3002",
10959
+ mcpSessionCredentialMismatch: "MCP \u4F1A\u8BDD\u5C5E\u4E8E\u5176\u5B83\u51ED\u636E\u3002",
10960
+ mcpSessionProjectMismatch: "MCP \u4F1A\u8BDD\u5C5E\u4E8E\u5176\u5B83\u9879\u76EE\u3002",
10961
+ mcpSessionTargetMismatch: "MCP \u4F1A\u8BDD\u5C5E\u4E8E\u5176\u5B83\u76EE\u6807\u3002",
10962
+ mcpRunSessionMismatch: "MCP \u4F1A\u8BDD\u4E0D\u62E5\u6709\u6B64 Workflow \u8FD0\u884C\u3002",
10963
+ mcpTargetSingleString: "MCP target \u5FC5\u987B\u662F\u5355\u4E2A\u5B57\u7B26\u4E32\u3002",
10964
+ mcpTargetInvalid: "MCP target \u5FC5\u987B\u662F latest\u3001draft \u6216\u7CBE\u786E\u8BED\u4E49\u7248\u672C\u3002",
10965
+ mcpSessionHeaderInvalid: "MCP \u4F1A\u8BDD ID \u8BF7\u6C42\u5934\u65E0\u6548\u3002",
10742
10966
  scheduleDeleteActive: "\u5B9A\u65F6\u4EFB\u52A1\u5B58\u5728\u6D3B\u8DC3\u89E6\u53D1\u65F6\u4E0D\u80FD\u5220\u9664\u3002",
10743
10967
  scheduleExactVersionRequired: "Server \u5B9A\u65F6\u4EFB\u52A1\u5FC5\u987B\u4F7F\u7528\u7CBE\u786E\u7684\u5DF2\u53D1\u5E03\u7248\u672C\u3002",
10744
10968
  schedulerStopping: "\u5B9A\u65F6\u4EFB\u52A1\u8C03\u5EA6\u5668\u6B63\u5728\u505C\u6B62\u3002",
@@ -10747,7 +10971,11 @@ var server2 = {
10747
10971
  schedulePostgresStorageRequired: "\u5B9A\u65F6\u4EFB\u52A1\u9700\u8981 PostgreSQL \u5B58\u50A8\u3002",
10748
10972
  scheduleTargetChanged: "\u5B9A\u65F6\u4EFB\u52A1\u76EE\u6807\u5DF2\u65E0\u6CD5\u7CBE\u786E\u89E3\u6790\u3002",
10749
10973
  scheduleUpdateActive: "\u5B9A\u65F6\u4EFB\u52A1\u5B58\u5728\u6D3B\u8DC3\u89E6\u53D1\u65F6\u4E0D\u80FD\u66F4\u65B0\u3002",
10750
- kanbanDataSourceUnavailable: "Kanban \u6570\u636E\u6E90\u6682\u4E0D\u53EF\u7528\u3002",
10974
+ kanbanRelatedProjectUnavailable: "Kanban \u5173\u8054\u9879\u76EE\u6682\u4E0D\u53EF\u7528\u3002",
10975
+ relatedProjectMissing: "\u5173\u8054\u9879\u76EE\u4E0D\u5B58\u5728\u3002",
10976
+ relatedProjectKVAccessDenied: "\u5173\u8054\u9879\u76EE\u672A\u6388\u6743\u8BBF\u95EE\u6B64 KV \u952E\u3002",
10977
+ relatedProjectUnavailable: "\u5173\u8054\u9879\u76EE\u4E0D\u53EF\u7528\u6216\u4ECD\u5F85\u786E\u8BA4\u3002",
10978
+ relatedProjectGrantInvalid: "\u5173\u8054\u9879\u76EE\u6388\u6743\u65E0\u6548\u3002",
10751
10979
  scheduleUserRequired: "\u7BA1\u7406 Workflow \u5B9A\u65F6\u4EFB\u52A1\u9700\u8981\u7528\u6237\u8D26\u53F7\u3002",
10752
10980
  scheduleServerUnavailable: "\u5F53\u524D Server \u4E0D\u652F\u6301 Workflow \u5B9A\u65F6\u4EFB\u52A1\u3002",
10753
10981
  sourceAccessStatusInvalid: 'status \u5FC5\u987B\u662F "approved" \u6216 "rejected"\u3002',
@@ -10759,15 +10987,13 @@ var server2 = {
10759
10987
  projectGroupRootArchiveType: "\u9879\u76EE\u7EC4\u6839\u5F52\u6863\u5FC5\u987B\u5305\u542B Kanban \u9879\u76EE\u3002",
10760
10988
  projectGroupPreviousLockMismatch: "\u4E4B\u524D\u53D1\u5E03\u7684 Kanban \u6839\u9879\u76EE\u4F7F\u7528\u4E86\u4E0D\u540C\u7684\u4F9D\u8D56\u9501\u3002",
10761
10989
  projectGroupImmutableDownload: "\u9879\u76EE\u7EC4\u53EA\u80FD\u4E0B\u8F7D\u4E0D\u53EF\u53D8\u7684\u5DF2\u53D1\u5E03\u7248\u672C\u3002",
10762
- dataGrantSourceType: "\u6570\u636E\u6388\u6743\u6765\u6E90\u5FC5\u987B\u662F\u5DF2\u5B58\u5728\u7684 Workflow \u9879\u76EE\u3002",
10763
- dataGrantConsumerType: "\u6570\u636E\u6388\u6743\u4F7F\u7528\u65B9\u5FC5\u987B\u662F\u5DF2\u5B58\u5728\u7684 Kanban \u9879\u76EE\u3002",
10764
10990
  sourceAccessReasonLength: "\u6E90\u7801\u8BBF\u95EE\u7533\u8BF7\u539F\u56E0\u5FC5\u987B\u5305\u542B 2 \u5230 1000 \u4E2A\u5B57\u7B26\u3002",
10765
10991
  sourceAccessLinkInvalid: "\u9879\u76EE\u6E90\u7801\u8BBF\u95EE\u7533\u8BF7\u94FE\u63A5\u65E0\u6548\u6216\u5DF2\u8FC7\u671F\u3002",
10766
10992
  projectGroupRootMissing: "\u7F3A\u5C11\u9879\u76EE\u7EC4\u6839\u9879\u76EE\u3002",
10767
10993
  projectGroupDraftChanged: "\u9879\u76EE\u7EC4\u4F9D\u8D56\u6E05\u5355\u5DF2\u4E0E Kanban \u6839\u8349\u7A3F\u4E0D\u4E00\u81F4\u3002",
10768
10994
  projectDependencyStorageUnavailable: "\u9879\u76EE\u4F9D\u8D56\u4EA4\u4ED8\u9700\u8981 PostgreSQL \u5B58\u50A8\u3002",
10769
- dependencyLocksKanbanOnly: "\u53EA\u6709 Kanban \u9879\u76EE\u53EF\u4EE5\u53D1\u5E03\u6570\u636E\u6E90\u4F9D\u8D56\u9501\u3002",
10770
- dependencyLockDeclarationMismatch: "\u53D1\u5E03\u7684\u4F9D\u8D56\u9501\u4E0E Kanban \u6570\u636E\u6E90\u58F0\u660E\u4E0D\u4E00\u81F4\u3002",
10995
+ projectDependencyLockInvalid: "\u9879\u76EE\u4F9D\u8D56\u9501\u65E0\u6548\u3002",
10996
+ dependencyLockRelatedProjectsMismatch: "\u53D1\u5E03\u7684\u4F9D\u8D56\u9501\u4E0E\u5DF2\u786E\u8BA4\u7684\u5173\u8054\u9879\u76EE\u4E0D\u4E00\u81F4\u3002",
10771
10997
  schedulesWorkflowOnly: "\u5B9A\u65F6\u4EFB\u52A1\u53EA\u80FD\u4EE5 Workflow \u9879\u76EE\u4E3A\u76EE\u6807\u3002",
10772
10998
  conversationEntrypointForbidden: "Conversation \u9879\u76EE\u4E0D\u63A5\u53D7 entrypointId\u3002",
10773
10999
  targetBuildRequired: "\u76EE\u6807\u5C1A\u672A\u6210\u529F\u6784\u5EFA\u3002",
@@ -10776,8 +11002,6 @@ var server2 = {
10776
11002
  archiveInspectFailed: "\u68C0\u67E5 tar.gz \u5305\u5931\u8D25\u3002",
10777
11003
  archiveEntryLimit: "\u5F52\u6863\u5305\u542B\u7684\u6761\u76EE\u8FC7\u591A\u3002",
10778
11004
  archiveExpandedSizeLimit: "\u5F52\u6863\u89E3\u538B\u540E\u7684\u5927\u5C0F\u8D85\u8FC7 512 MB \u9650\u5236\u3002",
10779
- dataGrantPrefixCount: "\u6570\u636E\u6388\u6743\u5FC5\u987B\u5305\u542B 1 \u5230 32 \u4E2A key \u524D\u7F00\u3002",
10780
- dataGrantPrefixDuplicates: "\u6570\u636E\u6388\u6743 keyPrefixes \u4E0D\u80FD\u5305\u542B\u91CD\u590D\u9879\u3002",
10781
11005
  accountCreateDeploymentRequired: "\u521B\u5EFA\u9879\u76EE\u90E8\u7F72\u9700\u8981\u7528\u6237\u8D26\u53F7\u3002",
10782
11006
  accountViewSourceRequestRequired: "\u67E5\u770B\u9879\u76EE\u6E90\u7801\u8BBF\u95EE\u7533\u8BF7\u9700\u8981\u7528\u6237\u8D26\u53F7\u3002",
10783
11007
  accountRequestSourceAccessRequired: "\u7533\u8BF7\u9879\u76EE\u6E90\u7801\u8BBF\u95EE\u9700\u8981\u7528\u6237\u8D26\u53F7\u3002",
@@ -10804,17 +11028,14 @@ var server2 = {
10804
11028
  workflowReservationUnavailable: "Workflow\u201C{{workflowId}}\u201D\u6682\u65F6\u65E0\u6CD5\u9884\u7559\u7248\u672C\u3002",
10805
11029
  workflowReservationChanged: "Workflow\u201C{{workflowId}}\u201D\u7684\u7248\u672C\u9884\u7559\u5DF2\u53D8\u5316\u3002",
10806
11030
  workflowDraftChanged: "Workflow\u201C{{workflowId}}\u201D\u7684\u8349\u7A3F\u5728\u90E8\u7F72\u51C6\u5907\u540E\u53D1\u751F\u4E86\u53D8\u5316\u3002",
10807
- dependencyLockSourceMismatch: "\u53D1\u5E03\u7684\u4F9D\u8D56\u9501\u201C{{sourceId}}\u201D\u4E0E Kanban \u6570\u636E\u6E90\u58F0\u660E\u4E0D\u4E00\u81F4\u3002",
11031
+ dependencyLockRelatedProjectMismatch: "\u53D1\u5E03\u7684\u4F9D\u8D56\u9501\u201C{{alias}}\u201D\u4E0E\u5DF2\u786E\u8BA4\u7684\u5173\u8054\u9879\u76EE\u4E0D\u4E00\u81F4\u3002",
10808
11032
  versionDependencyLockInvalid: "Workflow\u201C{{workflowId}}\u201D\u7248\u672C\u201C{{version}}\u201D\u7684\u4F9D\u8D56\u9501\u65E0\u6548\u3002",
10809
11033
  projectNotExecutable: "\u9879\u76EE\u201C{{projectName}}\u201D\u4E0D\u53EF\u6267\u884C\u3002",
10810
11034
  archiveEntrySizeInvalid: "\u5F52\u6863\u6761\u76EE\u201C{{path}}\u201D\u7684\u5927\u5C0F\u65E0\u6548\u3002",
10811
11035
  scheduleIdInvalid: "Workflow \u5B9A\u65F6\u4EFB\u52A1 ID\u201C{{scheduleId}}\u201D\u65E0\u6548\u3002",
10812
- dataGrantPrefixType: "\u6570\u636E\u6388\u6743 keyPrefixes[{{index}}] \u5FC5\u987B\u662F\u5B57\u7B26\u4E32\u3002",
10813
- dataGrantPrefixInvalid: "\u6570\u636E\u6388\u6743 keyPrefixes[{{index}}] \u65E0\u6548\u3002",
10814
11036
  unknownEntrypoint: "Workflow\u201C{{workflowId}}\u201D\u4E2D\u4E0D\u5B58\u5728\u5165\u53E3\u201C{{entrypointId}}\u201D\u3002",
10815
11037
  entrypointResumeLocked: "\u6062\u590D\u7B49\u5F85\u4E2D\u7684 Run \u65F6\u4E0D\u80FD\u66F4\u6539\u5165\u53E3\u3002",
10816
11038
  archiveUnsupportedType: "\u5F52\u6863\u6761\u76EE\u201C{{path}}\u201D\u4F7F\u7528\u4E86\u4E0D\u652F\u6301\u7684\u7C7B\u578B\u201C{{type}}\u201D\uFF0C\u53EA\u5141\u8BB8\u666E\u901A\u6587\u4EF6\u548C\u76EE\u5F55\u3002",
10817
- kanbanDataSourceUnauthorized: "Kanban \u6570\u636E\u6E90\u201C{{sourceId}}\u201D\u672A\u83B7\u5171\u4EAB\u6388\u6743\u3002",
10818
11039
  workflowOwnedByAnotherAccount: "Workflow\u201C{{workflowId}}\u201D\u5DF2\u5B58\u5728\u4E14\u5F52\u5176\u5B83\u8D26\u53F7\u6240\u6709\u3002",
10819
11040
  workflowVersionServerDisabled: "Workflow\u201C{{workflowId}}\u201D\u7248\u672C\u201C{{version}}\u201D\u4E0D\u652F\u6301 Server \u6267\u884C\uFF0C\u8BF7\u5728\u53D7\u652F\u6301\u7684 Desktop \u5E73\u53F0\u4E0B\u8F7D\u540E\u8FD0\u884C\u3002",
10820
11041
  workflowDraftServerDisabled: "Workflow\u201C{{workflowId}}\u201D\u8349\u7A3F\u672A\u542F\u7528 Server \u6267\u884C\u3002",
@@ -10828,7 +11049,7 @@ var server2 = {
10828
11049
  var cli2 = {
10829
11050
  rootHelp: [
10830
11051
  "\u7528\u6CD5\uFF1A",
10831
- " workflow-code [--locale <zh-CN|en>] <run|json|structure|resolve-params> [workflow-dir] [args]",
11052
+ " workflow-code [--locale <zh-CN|en>] <run|json|structure|resolve-params|mcp> [workflow-dir] [args]",
10832
11053
  " workflow-code [--locale <zh-CN|en>] workspace <command> [args]",
10833
11054
  "",
10834
11055
  "\u672C\u5730\u547D\u4EE4\uFF1A",
@@ -10836,6 +11057,7 @@ var cli2 = {
10836
11057
  " json \u5728\u672C\u5730\u8FD0\u884C\u5E76\u8F93\u51FA JSON \u62A5\u544A",
10837
11058
  " structure \u67E5\u770B workflow \u7ED3\u6784",
10838
11059
  " resolve-params \u89E3\u6790\u52A8\u6001 workflow \u53C2\u6570",
11060
+ " mcp \u901A\u8FC7 stdio MCP \u66B4\u9732 workflow entrypoint",
10839
11061
  "",
10840
11062
  "\u5DE5\u4F5C\u533A\u547D\u4EE4\uFF1A",
10841
11063
  " login, logout, status, health, pack, upload, preparation,",
@@ -10846,10 +11068,24 @@ var cli2 = {
10846
11068
  "",
10847
11069
  "\u8FD0\u884C `workflow-code workspace --help` \u67E5\u770B\u5DE5\u4F5C\u533A\u547D\u4EE4\u8BE6\u60C5\u3002"
10848
11070
  ].join("\n"),
11071
+ mcpHelp: [
11072
+ "\u7528\u6CD5\uFF1A",
11073
+ " workflow-code mcp <workflow-dir> [\u9009\u9879]",
11074
+ "",
11075
+ "\u9009\u9879\uFF1A",
11076
+ " --data-dir <\u7EDD\u5BF9\u76EE\u5F55> \u672C\u5730 workflow \u6570\u636E\u6839\u76EE\u5F55",
11077
+ " --file-store-dir <\u7EDD\u5BF9\u76EE\u5F55> \u6258\u7BA1\u8F93\u5165\u6587\u4EF6\u76EE\u5F55",
11078
+ " --kv-store-dir <\u7EDD\u5BF9\u76EE\u5F55> Workflow KV \u76EE\u5F55",
11079
+ " --persistent-value-store-dir <\u7EDD\u5BF9\u76EE\u5F55> \u6301\u4E45\u503C\u76EE\u5F55",
11080
+ " --file-create-store-dir <\u7EDD\u5BF9\u76EE\u5F55> \u751F\u6210\u6587\u4EF6\u76EE\u5F55",
11081
+ " --desktop-config-dir <\u7EDD\u5BF9\u76EE\u5F55> Desktop \u5DF2\u4FDD\u5B58\u8BA4\u8BC1\u76EE\u5F55",
11082
+ " --auth-dir <\u7EDD\u5BF9\u76EE\u5F55> CLI \u5DF2\u4FDD\u5B58\u8BA4\u8BC1\u76EE\u5F55",
11083
+ " --related-project <alias>=<\u7EDD\u5BF9\u9879\u76EE\u76EE\u5F55> \u53EF\u91CD\u590D\u7684\u5173\u8054\u9879\u76EE\u7ED1\u5B9A"
11084
+ ].join("\n"),
10849
11085
  localHelp: [
10850
11086
  "\u7528\u6CD5\uFF1A",
10851
- " workflow-code [--locale <zh-CN|en>] run [workflow-dir] [--] [...args]",
10852
- " workflow-code [--locale <zh-CN|en>] json [workflow-dir] [--] [...args]",
11087
+ " workflow-code [--locale <zh-CN|en>] run [workflow-dir] [--related-project <alias>=<\u7EDD\u5BF9\u9879\u76EE\u76EE\u5F55>] [--] [...args]",
11088
+ " workflow-code [--locale <zh-CN|en>] json [workflow-dir] [--related-project <alias>=<\u7EDD\u5BF9\u9879\u76EE\u76EE\u5F55>] [--] [...args]",
10853
11089
  " workflow-code json [workflow-dir] --conversation-id <id> [--] [...args]",
10854
11090
  " workflow-code structure [workflow-dir]",
10855
11091
  " workflow-code resolve-params [workflow-dir] < request.json",
@@ -10860,7 +11096,10 @@ var cli2 = {
10860
11096
  " workflow-code json . -- --target aliyun --dry-run",
10861
11097
  " workflow-code json . --run-id <id> --resolved-user-inputs-json <json> -- [...args]",
10862
11098
  " workflow-code structure .",
10863
- " workflow-code resolve-params . < request.json"
11099
+ " workflow-code resolve-params . < request.json",
11100
+ "",
11101
+ "\u9009\u9879\uFF1A",
11102
+ " --related-project <alias>=<\u7EDD\u5BF9\u9879\u76EE\u76EE\u5F55> \u7ED1\u5B9A\u4E00\u4E2A\u5DF2\u58F0\u660E\u7684\u5173\u8054\u9879\u76EE\uFF0C\u53EF\u91CD\u590D\u6307\u5B9A"
10864
11103
  ].join("\n"),
10865
11104
  workspaceHelp: [
10866
11105
  "\u7528\u6CD5\uFF1Aworkflow-code [--locale <zh-CN|en>] workspace <command> [args]",
@@ -10874,10 +11113,10 @@ var cli2 = {
10874
11113
  " status",
10875
11114
  " health",
10876
11115
  " pack <workflow> [--path <workflow-dir>] [--output <file.tgz>] [--project-group] [--dependency <alias>=<path>]",
10877
- " upload <workflow> [--path <workflow-dir>] [--file <archive>] [--release-log <text>] [--source-mode bundled|source] [--server-runtime|--no-server-runtime] [--desktop-platform macos|windows] [--no-wait] [--create] [--project-group] [--publish-group] [--dependency <alias>=<path>] [--grant-data-access <alias>]",
11116
+ " upload <workflow> [--path <workflow-dir>] [--file <archive>] [--release-log <text>] [--source-mode bundled|source] [--server-runtime|--no-server-runtime] [--desktop-platform macos|windows] [--no-wait] [--create] [--project-group] [--publish-group] [--dependency <alias>=<path>]",
10878
11117
  " preparation <workflow-id> <job-id>",
10879
11118
  " download <workflow> [--target draft|latest|version] [--path <dir>]",
10880
- " publish <workflow> [--release-log <text>] [--source-mode bundled|source] [--server-runtime|--no-server-runtime] [--desktop-platform macos|windows] [--project-group] [--dependency <alias>=<path>] [--grant-data-access <alias>]",
11119
+ " publish <workflow> [--release-log <text>] [--source-mode bundled|source] [--server-runtime|--no-server-runtime] [--desktop-platform macos|windows] [--project-group] [--dependency <alias>=<path>]",
10881
11120
  " publish --deployment <id>",
10882
11121
  " run <workflow> [...args] [--target draft|latest|version] [--entrypoint <id>]",
10883
11122
  " debug-node <workflow> <node> [...args] [--target draft|latest|version] [--entrypoint <id>]",
@@ -10903,10 +11142,12 @@ var cli2 = {
10903
11142
  invalidResolvedInput: "\u7528\u6237\u8F93\u5165\u6062\u590D\u9879\u65E0\u6548\u3002",
10904
11143
  loginRequiresServer: "login \u547D\u4EE4\u9700\u8981 --server\u3002",
10905
11144
  deviceLoginPrompt: "\u8BF7\u6253\u5F00\u9A8C\u8BC1\u9875\u9762\u6279\u51C6\u672C\u6B21\u767B\u5F55\uFF1A\n{{url}}\n\u7528\u6237\u4EE3\u7801\uFF1A{{code}}",
10906
- workflowIdRequired: "Workflow package.json \u5FC5\u987B\u5305\u542B UUID \u683C\u5F0F\u7684 id\u3002\u767B\u5F55\u540E\u8BF7\u8FD0\u884C `workflow-code workspace upload <workflow> --create` \u521B\u5EFA\u5E76\u7ED1\u5B9A\u670D\u52A1\u7AEF\u9879\u76EE\u3002",
11145
+ workflowIdRequired: "Workflow package.json \u5FC5\u987B\u9884\u5148\u5305\u542B UUID \u683C\u5F0F\u7684 id\uFF1B--create \u53EA\u6309\u8BE5 UUID \u521B\u5EFA\u6216\u590D\u7528\u670D\u52A1\u7AEF\u9879\u76EE\uFF0C\u4E0D\u4F1A\u5206\u914D\u6216\u56DE\u5199 id\u3002",
10907
11146
  archiveCreateFailed: "\u521B\u5EFA\u5F52\u6863\u5931\u8D25\uFF1A{{details}}",
10908
11147
  workflowNotBound: 'Workflow "{{workflow}}" \u5C1A\u672A\u7ED1\u5B9A\u670D\u52A1\u7AEF UUID\u3002\u8BF7\u5148\u8FD0\u884C `workflow-code workspace upload {{workflow}} --create` \u521B\u5EFA\u6216\u7ED1\u5B9A\u3002',
10909
11148
  projectCreationFailed: "\u521B\u5EFA Workflow \u9879\u76EE\u5931\u8D25\u3002",
11149
+ projectInfoDataStorageRequired: "Workflow package.json \u5FC5\u987B\u58F0\u660E workflowCode.projectInfo.dataStorage.mode\u3002",
11150
+ projectCreationIdMismatch: "Server \u8FD4\u56DE\u7684\u9879\u76EE UUID \u4E0E package.json.id \u4E0D\u4E00\u81F4\u3002",
10910
11151
  packageMustBeObject: 'Workflow \u5305 "{{path}}" \u5FC5\u987B\u5305\u542B JSON \u5BF9\u8C61\u3002',
10911
11152
  packageReadFailed: '\u65E0\u6CD5\u8BFB\u53D6 Workflow \u5305 "{{path}}"\u3002',
10912
11153
  packageStringRequired: 'Workflow package.json \u5FC5\u987B\u5305\u542B\u5B57\u7B26\u4E32\u5B57\u6BB5 "{{key}}"\u3002',
@@ -10929,16 +11170,13 @@ var cli2 = {
10929
11170
  forbiddenBlocked: "403: \u5F53\u524D\u8D26\u53F7\u5DF2\u88AB\u8BE5\u9879\u76EE\u7981\u6B62\u8FD0\u884C\u3002",
10930
11171
  forbiddenNoPermission: "403: \u5F53\u524D\u8D26\u53F7\u5BF9\u8BE5\u9879\u76EE\u6CA1\u6709\u8DB3\u591F\u6743\u9650\u3002",
10931
11172
  forbiddenFallback: "403: {{message}}",
10932
- dependencyMustBeWorkflow: "\u4F9D\u8D56 {{sourceId}} \u5FC5\u987B\u662F Workflow \u9879\u76EE\u3002",
10933
11173
  dependencyOptionCommandUnsupported: "--dependency \u4EC5\u652F\u6301 pack\u3001upload \u548C publish \u547D\u4EE4\u3002",
10934
- dependencyPackageIdMismatch: "\u4F9D\u8D56 {{sourceId}} \u7684 package id \u5FC5\u987B\u4E0E\u58F0\u660E\u7684 projectId {{projectId}} \u4E00\u81F4\u3002",
11174
+ dependencyPackageIdMismatch: "\u4F9D\u8D56 {{alias}} \u7684 package id \u5FC5\u987B\u4E0E\u5173\u8054\u9879\u76EE projectId {{projectId}} \u4E00\u81F4\u3002",
10935
11175
  dependencyProjectPathConflict: "\u9879\u76EE {{projectId}} \u88AB\u6620\u5C04\u5230\u4E86\u591A\u4E2A\u4F9D\u8D56\u8DEF\u5F84\u3002",
10936
11176
  deploymentCommandUnsupported: "--deployment \u4EC5\u652F\u6301 publish \u547D\u4EE4\u3002",
10937
11177
  deploymentOptionsConflict: "--deployment \u4E0D\u80FD\u4E0E\u9879\u76EE\u7EC4\u521B\u5EFA\u53C2\u6570\u6216\u5355\u9879\u76EE\u53D1\u5E03\u53C2\u6570\u540C\u65F6\u4F7F\u7528\u3002",
10938
- duplicateDependencySource: "--dependency \u7684\u6570\u636E\u6E90 id {{sourceId}} \u91CD\u590D\u3002",
10939
- duplicateGrantDataAccessSource: "--grant-data-access \u7684\u6570\u636E\u6E90 id {{sourceId}} \u91CD\u590D\u3002",
10940
- grantDataAccessCommandUnsupported: "--grant-data-access \u4EC5\u652F\u6301 upload \u548C publish \u547D\u4EE4\u3002",
10941
- invalidDependencyOption: "--dependency {{option}} \u65E0\u6548\uFF0C\u683C\u5F0F\u5E94\u4E3A <source-id>=<project-path>\u3002",
11178
+ duplicateDependencySource: "--dependency \u7684 alias {{alias}} \u91CD\u590D\u3002",
11179
+ invalidDependencyOption: "--dependency {{option}} \u65E0\u6548\uFF0C\u683C\u5F0F\u5E94\u4E3A <alias>=<project-path>\u3002",
10942
11180
  noWaitCommandUnsupported: "--no-wait \u4EC5\u652F\u6301 upload \u547D\u4EE4\u3002",
10943
11181
  noWaitProjectGroupUnsupported: "\u9879\u76EE\u7EC4\u4E0A\u4F20\u4E0D\u652F\u6301 --no-wait\u3002",
10944
11182
  projectGroupArchiveCreateFailed: "\u521B\u5EFA\u9879\u76EE\u7EC4\u5F52\u6863\u5931\u8D25\uFF1A{{details}}",
@@ -10955,9 +11193,8 @@ var cli2 = {
10955
11193
  projectGroupDownloadRootCountInvalid: "\u670D\u52A1\u5668\u9879\u76EE\u7EC4\u4E0B\u8F7D\u7ED3\u679C\u5FC5\u987B\u5305\u542B\u4E14\u53EA\u5305\u542B\u4E00\u4E2A\u5339\u914D\u7684\u6839\u9879\u76EE\u3002",
10956
11194
  projectGroupDownloadRootPackageInvalidJson: "\u670D\u52A1\u5668\u9879\u76EE\u7EC4\u6839\u9879\u76EE\u7684 package.json \u4E0D\u662F\u6709\u6548 JSON\u3002",
10957
11195
  projectGroupDownloadRootPackageUtf8: "\u670D\u52A1\u5668\u9879\u76EE\u7EC4\u6839\u9879\u76EE\u7684 package.json \u5FC5\u987B\u662F UTF-8 \u6587\u672C\u3002",
10958
- projectGroupDownloadRootSourceIdForbidden: "\u670D\u52A1\u5668\u9879\u76EE\u7EC4\u7684\u6839\u9879\u76EE\u4E0D\u80FD\u5305\u542B\u4F9D\u8D56\u6570\u636E\u6E90 id\u3002",
11196
+ projectGroupDownloadRootAliasForbidden: "\u670D\u52A1\u5668\u9879\u76EE\u7EC4\u7684\u6839\u9879\u76EE\u4E0D\u80FD\u5305\u542B\u5173\u8054\u9879\u76EE alias\u3002",
10959
11197
  projectGroupDownloadRootVersionMismatch: "\u670D\u52A1\u5668\u9879\u76EE\u7EC4\u6839\u7248\u672C\u4E0E\u4E0B\u8F7D\u8BA1\u5212\u4E0D\u4E00\u81F4\u3002",
10960
- projectGroupDownloadSelfReference: "\u670D\u52A1\u5668\u9879\u76EE\u7EC4\u6570\u636E\u6E90 {{sourceId}} \u4E0D\u80FD\u5F15\u7528\u6839 Kanban \u9879\u76EE\u81EA\u8EAB\u3002",
10961
11198
  projectGroupDownloadSourceHashMismatch: "\u670D\u52A1\u5668\u9879\u76EE\u7EC4 {{role}} \u9879\u76EE {{projectId}} \u7684\u6E90\u7801\u54C8\u5E0C\u4E0E\u6587\u4EF6\u4E0D\u4E00\u81F4\u3002",
10962
11199
  projectGroupDownloadUndeclaredDependency: "\u670D\u52A1\u5668\u9879\u76EE\u7EC4\u4E0B\u8F7D\u7ED3\u679C\u5305\u542B\u672A\u58F0\u660E\u7684\u4F9D\u8D56\u9879\u76EE {{projectId}}\u3002",
10963
11200
  projectGroupDownloadedPackageIdMismatch: "\u5DF2\u4E0B\u8F7D\u9879\u76EE\u7684 package id \u4E0E {{projectId}} \u4E0D\u4E00\u81F4\u3002",
@@ -10965,11 +11202,11 @@ var cli2 = {
10965
11202
  projectGroupRequiredPathForbidden: "\u9879\u76EE\u7EC4\u5FC5\u9700\u8DEF\u5F84 {{path}} \u5C5E\u4E8E\u7981\u6B62\u4F20\u8F93\u7684\u5BBF\u4E3B\u6570\u636E\u3002",
10966
11203
  projectGroupRootIdRequired: "\u9879\u76EE\u7EC4\u6839\u9879\u76EE\u7684 package.json \u5FC5\u987B\u5305\u542B UUID \u683C\u5F0F\u7684 id\u3002",
10967
11204
  projectGroupRootMustBeKanban: "\u9879\u76EE\u7EC4\u6839\u9879\u76EE\u5FC5\u987B\u662F Kanban \u9879\u76EE\u3002",
10968
- projectGroupSelfReference: "Kanban \u6570\u636E\u6E90 {{sourceId}} \u4E0D\u80FD\u5F15\u7528\u9879\u76EE\u7EC4\u6839\u9879\u76EE\u81EA\u8EAB\u3002",
11205
+ projectGroupRelatedProjectPending: "\u5173\u8054\u9879\u76EE {{alias}} \u5C1A\u672A\u7531\u53CC\u65B9\u9879\u76EE\u6E05\u5355\u786E\u8BA4\uFF0C\u4E0D\u80FD\u4F5C\u4E3A included \u4F9D\u8D56\u3002",
10969
11206
  projectGroupUploadFileUnsupported: "\u9879\u76EE\u7EC4\u4E0A\u4F20\u4E0D\u63A5\u53D7 --file\uFF1B\u8BF7\u4F7F\u7528 --path \u548C --dependency\uFF0C\u4EE5\u4FBF\u6821\u9A8C\u6E05\u5355\u3002",
10970
11207
  projectGroupUploadRootIdRequired: "\u9879\u76EE\u7EC4\u4E0A\u4F20\u8981\u6C42\u6839 package.json \u5305\u542B UUID \u683C\u5F0F\u7684 id\uFF0C\u6216\u4F7F\u7528 --create\u3002",
10971
11208
  publishGroupCommandUnsupported: "--publish-group \u4EC5\u652F\u6301 upload \u547D\u4EE4\u3002",
10972
- unknownGrantDataAccessSource: "\u672A\u77E5\u7684 --grant-data-access \u6570\u636E\u6E90 id {{sourceId}}\u3002"
11209
+ unknownWorkspaceOption: "\u672A\u77E5\u7684 workspace \u9009\u9879\uFF1A{{option}}"
10973
11210
  };
10974
11211
 
10975
11212
  // .shared/i18n/resources/zh/permissions.ts
@@ -11213,66 +11450,11 @@ function readErrorMessage(value) {
11213
11450
  return visit(value);
11214
11451
  }
11215
11452
 
11216
- // src/locale.ts
11217
- import { WORKFLOW_RUNTIME_LOCALE_ENV } from "workflow-code";
11218
- function prepareCliInvocation(argv) {
11219
- initI18n({ preference: resolveSystemLocalePreference() });
11220
- const extracted = extractLocaleOption(argv);
11221
- const requestedLocale = extracted.locale ?? readEnvironmentLocale();
11222
- if (requestedLocale !== void 0) {
11223
- if (!isSupportedLocale(requestedLocale)) {
11224
- throw new Error(i18n.t("invalidLocale", {
11225
- ns: "cli",
11226
- value: requestedLocale
11227
- }));
11228
- }
11229
- initI18n({ preference: requestedLocale });
11230
- }
11231
- const locale = normalizeLocale(i18n.language);
11232
- process.env[WORKFLOW_RUNTIME_LOCALE_ENV] = locale;
11233
- return {
11234
- argv: extracted.argv,
11235
- locale
11236
- };
11237
- }
11238
- function extractLocaleOption(argv) {
11239
- const filtered = [];
11240
- let locale;
11241
- for (let index = 0; index < argv.length; index += 1) {
11242
- const arg = argv[index];
11243
- if (arg === "--") {
11244
- filtered.push(...argv.slice(index));
11245
- break;
11246
- }
11247
- if (arg === "--locale" || arg.startsWith("--locale=")) {
11248
- if (locale !== void 0) {
11249
- throw new Error(i18n.t("duplicateLocale", { ns: "cli" }));
11250
- }
11251
- const value = arg === "--locale" ? argv[++index] : arg.slice("--locale=".length);
11252
- if (value === void 0 || value.trim() === "") {
11253
- throw new Error(i18n.t("missingOptionValue", { ns: "cli", name: "--locale" }));
11254
- }
11255
- locale = value;
11256
- continue;
11257
- }
11258
- filtered.push(arg);
11259
- }
11260
- return { argv: filtered, locale };
11261
- }
11262
- function readEnvironmentLocale() {
11263
- const value = process.env.WORKFLOW_CODE_LOCALE?.trim();
11264
- return value === "" ? void 0 : value;
11265
- }
11266
- function resolveSystemLocalePreference() {
11267
- const systemLocale = process.env.LC_ALL ?? process.env.LANG;
11268
- return systemLocale?.trim() ? normalizeLocale(systemLocale) : "system";
11269
- }
11270
-
11271
11453
  export {
11272
- __commonJS,
11273
- __toESM,
11454
+ isSupportedLocale,
11274
11455
  i18n,
11456
+ normalizeLocale,
11457
+ initI18n,
11275
11458
  getCurrentLocale,
11276
- translateWorkflowCodeError,
11277
- prepareCliInvocation
11459
+ translateWorkflowCodeError
11278
11460
  };