@workflow-code/cli 0.1.4-20260818001 → 0.1.4-20260821001

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.
@@ -2363,6 +2363,9 @@ var common = {
2363
2363
  workflow: "Workflow",
2364
2364
  runTarget: "Run target",
2365
2365
  projectType: "Project type",
2366
+ projectTypeWorkflow: "Workflow",
2367
+ projectTypeConversation: "Conversation",
2368
+ projectTypeKanban: "Kanban",
2366
2369
  iconSource: "Icon source",
2367
2370
  themeColor: "Theme color",
2368
2371
  notLoggedIn: "Not signed in",
@@ -2960,8 +2963,8 @@ var common = {
2960
2963
  create: "New schedule",
2961
2964
  unavailableTitle: "Schedules are unavailable",
2962
2965
  partialUnavailableTitle: "Some schedule information is unavailable",
2963
- noOnlineVersionTitle: "No schedulable online version",
2964
- noOnlineVersionDescription: "Server schedules must target an exact online published version; latest and draft are not accepted.",
2966
+ noOnlineVersionTitle: "No schedulable Server version",
2967
+ noOnlineVersionDescription: "Server schedules must target an exact online version released for Server execution; latest, draft, and Desktop-only versions are not accepted.",
2965
2968
  presetsTitle: "Suggested schedules",
2966
2969
  desktopPresetsDescription: "Suggestions are not enabled automatically. A schedule is created only after you confirm its parameters.",
2967
2970
  serverPresetsDescription: "Presets are not enabled automatically. A schedule is created only after you confirm the version, entrypoint, and parameters.",
@@ -3512,8 +3515,29 @@ var desktop = {
3512
3515
  defaultExample: "Default example: ",
3513
3516
  defaultProjectDirectory: "Documents/workflow-projects (default)",
3514
3517
  directoryName: "Directory name",
3518
+ defaultProjectName: "Default name",
3519
+ defaultProjectNamePlaceholder: "Enter the default project name",
3520
+ defaultProjectNameRequired: "Enter a default project name.",
3515
3521
  displayName: "Display name",
3516
3522
  displayNamePlaceholder: "Enter a display name",
3523
+ localizedProjectNames: "Localized names",
3524
+ projectNameZhCN: "Chinese (Simplified)",
3525
+ projectNameEn: "English",
3526
+ optionalProjectNamePlaceholder: "Optional name",
3527
+ projectDeclarations: "Project declarations",
3528
+ projectDeclarationMultilingual: "Multilingual",
3529
+ projectDeclarationMultiplatform: "Multiplatform",
3530
+ extendedProjectDeclarations: "Extended project declarations",
3531
+ projectPlatformSupport: "Display platforms",
3532
+ projectPlatformMode: "Project platform mode",
3533
+ projectPlatformAgnostic: "Platform agnostic",
3534
+ projectPlatformSpecific: "Specific platforms",
3535
+ projectPlatformMacos: "macOS",
3536
+ projectPlatformWindows: "Windows",
3537
+ projectPlatformWeb: "Web",
3538
+ extendedProjectPlatforms: "Extended project platforms",
3539
+ selectAtLeastOneProjectPlatform: "Select at least one project platform.",
3540
+ notSet: "Not set",
3517
3541
  done: "Done",
3518
3542
  downloadProjectDescription: "Keeps the project UUID and server binding while creating an editable local copy.",
3519
3543
  downloadingSource: "Downloading source...",
@@ -3549,9 +3573,11 @@ var desktop = {
3549
3573
  localUuid: "Local UUID",
3550
3574
  localizeWritesSourceOnly: "Only writes a source snapshot; dependencies are not installed.",
3551
3575
  loginRequiredToCreateCloudApp: "Please sign in to an account before creating a cloud app.",
3552
- minifySource: "Minify source",
3553
- minifySourceOffDescription: "The version keeps an original source snapshot.",
3554
- minifySourceOnDescription: "The version does not keep the original TS/JS source.",
3576
+ projectInfoBoundServerLoginRequired: "Connect and sign in to {{serverUrl}} before saving information for this bound project.",
3577
+ desktopPlatformDownloadUnsupported: "This operating system does not have a compatible Desktop download target.",
3578
+ retainOriginalSource: "Retain original source",
3579
+ retainOriginalSourceOffDescription: "The version keeps only the Server runtime and does not provide an original-source download.",
3580
+ retainOriginalSourceOnDescription: "The version also retains an original TS/JS source snapshot.",
3555
3581
  newProjectDescription: "Choose a project type and example; optionally specify a local save location.",
3556
3582
  newProjectNamePlaceholder: "My Workflow",
3557
3583
  noWorkflowSelected: "No workflow selected",
@@ -3583,9 +3609,22 @@ var desktop = {
3583
3609
  projectType: "Project type",
3584
3610
  projectUuid: "Project UUID",
3585
3611
  publishNewVersion: "Publish new version",
3612
+ releaseExecutionTargets: "Release targets",
3613
+ releaseExecutionTargetsDescription: "Choose Server execution and local execution on this device for the immutable version.",
3614
+ serverCloudExecution: "Server cloud execution",
3615
+ serverCloudExecutionDescription: "Prepare a Server runtime for runs, Embed, Webhook, and schedules.",
3616
+ kanbanServerExecutionDisabled: "Kanban is statically hosted and does not use the Server executor.",
3617
+ desktopTargetMacos: "macOS local execution",
3618
+ desktopTargetWindows: "Windows local execution",
3619
+ desktopTargetCurrentDeviceDescription: "Allow this version to be downloaded to the current {{platform}} Desktop and run locally.",
3620
+ desktopTargetUnavailableOnCurrentDevice: "Publish this target from the {{platform}} Desktop.",
3621
+ publishDesktopTargetMismatch: "Desktop can publish only the local execution target for its current operating system.",
3622
+ selectAtLeastOneExecutionTarget: "Enable Server execution or local execution on this device.",
3623
+ desktopTargetsRequireSourceDescription: "Local execution requires original source, so this release retains it. Removing the local target restores the previous source choice.",
3586
3624
  readingVersionPublishSettings: "Reading publish settings for {{version}}",
3587
3625
  checkingPreviousPublishSettings: "Checking previous publish settings",
3588
3626
  loadedVersionPublishSettings: "Loaded publish settings from {{version}}",
3627
+ previousDesktopTargetsNotInherited: "Desktop targets for other operating systems were not inherited. Publish those targets on their matching operating systems.",
3589
3628
  projectGroupSourceSnapshotDescription: "The project group retains source snapshots for the root Kanban and included Workflows. Users with source download access can retrieve them.",
3590
3629
  kanbanSourceSnapshotDescription: "Kanban versions always retain source and static artifacts. Users with source download access can retrieve them.",
3591
3630
  referencedProjects: "Referenced projects",
@@ -4351,8 +4390,10 @@ var desktop = {
4351
4390
  leaveWorkspaceTitle: "Leave the current workspace?",
4352
4391
  loadingLabelFallback: "Loading {{label}}",
4353
4392
  openDesktopSettings: "Open Desktop settings",
4354
- projectInfoLocalDescription: "Edit the project display name, type, and card icon. Saving writes back to the local package.json.",
4393
+ projectInfoLocalDescription: "Edit project information and preview the README. Saving writes back to the local package.json and syncs a bound cloud app.",
4355
4394
  projectInfoTitle: "Project info",
4395
+ projectReadmeMissing: "No README.md was found in the project root.",
4396
+ projectReadmeTitle: "README preview",
4356
4397
  projectOpeningDetail: "Loading project files and workspace state.",
4357
4398
  projectOpeningTitle: "Opening project",
4358
4399
  projectWorkspaceAria: "Project workspace",
@@ -5150,6 +5191,17 @@ var serverWeb = {
5150
5191
  projectListUploaderFallback: "Uploader not recorded",
5151
5192
  projectListViewLogs: "View logs",
5152
5193
  projectListVisible: "Showing {{visible}} / {{total}}",
5194
+ projectDeclarationMultilingual: "Multilingual",
5195
+ projectDeclarationMultiplatform: "Multiplatform",
5196
+ projectExecutionDesktopOnly: "Desktop only",
5197
+ projectExecutionPreparing: "Not published",
5198
+ projectExecutionServerRunnable: "Server runnable",
5199
+ projectExecutionStaticWeb: "Static Web",
5200
+ projectExecutionTargetUnavailable: "No compatible online release is available for this Server entry.",
5201
+ projectPlatformAgnostic: "Platform agnostic",
5202
+ projectPlatformMacos: "macOS",
5203
+ projectPlatformWeb: "Web",
5204
+ projectPlatformWindows: "Windows",
5153
5205
  projectSettingsAcceptNewRuns: "Accept new runs",
5154
5206
  projectSettingsAcceptNewRunsDescription: "Disabling pauses new run entries but does not delete history.",
5155
5207
  projectSettingsAccessPolicy: "Access policy",
@@ -5161,6 +5213,17 @@ var serverWeb = {
5161
5213
  projectSettingsBaselineNoLatest: "None",
5162
5214
  projectSettingsBaselineUpdatedAt: "Updated",
5163
5215
  projectSettingsBaselineWorkflowId: "Workflow ID",
5216
+ projectSettingsDeclarations: "Declarations",
5217
+ projectSettingsDefaultName: "Default name",
5218
+ projectSettingsDisplayPlatforms: "Display platforms",
5219
+ projectSettingsEnglishName: "English name",
5220
+ projectSettingsExecutionAvailability: "Release availability",
5221
+ projectSettingsLocalizedNames: "Localized names",
5222
+ projectSettingsNoDeclarations: "No declarations",
5223
+ projectSettingsProjectInfo: "Project information",
5224
+ projectSettingsProjectInfoDescription: "Names, declarations and display platforms come from package.json and do not verify the implementation.",
5225
+ projectSettingsUnspecifiedName: "Not specified",
5226
+ projectSettingsChineseName: "Chinese name",
5164
5227
  projectSettingsConcurrency: "Concurrency limit",
5165
5228
  projectSettingsConcurrencyControlDescription: "Use the stepper buttons to save concurrency capacity instantly and avoid flooding the run queue with large batches.",
5166
5229
  projectSettingsConcurrencyHint: "{{total}} running now",
@@ -5740,6 +5803,7 @@ var serverWeb = {
5740
5803
  versionsHeaderPublishedAt: "Published",
5741
5804
  versionsHeaderReleaseLog: "Release log",
5742
5805
  versionsHeaderStatus: "Status",
5806
+ versionsHeaderTargets: "Release targets",
5743
5807
  versionsHeaderUploader: "Uploader",
5744
5808
  versionsHeaderVersion: "Version",
5745
5809
  versionsHealthLabelHighRisk: "High risk",
@@ -5870,6 +5934,11 @@ var serverWeb = {
5870
5934
  versionsVersionStatusManualOnline: "Manually online",
5871
5935
  versionsVersionStatusOnline: "Online",
5872
5936
  versionsVersionStatusPreparing: "Preparing",
5937
+ versionsTargetMacos: "macOS",
5938
+ versionsTargetServer: "Server",
5939
+ versionsTargetStaticWeb: "Static Web",
5940
+ versionsTargetWindows: "Windows",
5941
+ versionsTargetNone: "No executor",
5873
5942
  versionsViewStatsTitle: "View run stats for version {{version}}",
5874
5943
  webhookAddMapping: "Add mapping",
5875
5944
  webhookBodyFilter: "Body filter",
@@ -6240,7 +6309,13 @@ var server = {
6240
6309
  entrypointResumeLocked: "entrypointId cannot be changed when resuming a waiting run.",
6241
6310
  archiveUnsupportedType: 'Archive entry "{{path}}" uses unsupported type "{{type}}". Only regular files and directories are allowed.',
6242
6311
  kanbanDataSourceUnauthorized: 'Kanban data source "{{sourceId}}" is not authorized for sharing.',
6243
- workflowOwnedByAnotherAccount: 'Workflow "{{workflowId}}" already exists and is owned by another account.'
6312
+ workflowOwnedByAnotherAccount: 'Workflow "{{workflowId}}" already exists and is owned by another account.',
6313
+ workflowVersionServerDisabled: 'Workflow "{{workflowId}}" version "{{version}}" is not enabled for Server execution. Download it on a supported Desktop platform instead.',
6314
+ workflowDraftServerDisabled: 'Workflow "{{workflowId}}" draft is not enabled for Server execution.',
6315
+ workflowServerLatestUnavailable: 'Workflow "{{workflowId}}" has no online version available for Server execution.',
6316
+ workflowDesktopLatestUnavailable: 'Workflow "{{workflowId}}" has no online version available for {{platform}} Desktop download.',
6317
+ workflowDesktopVersionUnsupported: 'Workflow "{{workflowId}}" version "{{version}}" is not released for {{platform}} Desktop.',
6318
+ workflowRuntimeArtifactUnavailable: 'Workflow "{{workflowId}}" version "{{version}}" does not have a Server runtime artifact.'
6244
6319
  };
6245
6320
 
6246
6321
  // .shared/i18n/resources/en/cli.ts
@@ -6293,10 +6368,10 @@ var cli = {
6293
6368
  " status",
6294
6369
  " health",
6295
6370
  " pack <workflow> [--path <workflow-dir>] [--output <file.tgz>] [--project-group] [--dependency <alias>=<path>]",
6296
- " upload <workflow> [--path <workflow-dir>] [--file <archive>] [--release-log <text>] [--source-mode bundled|source] [--no-wait] [--create] [--project-group] [--publish-group] [--dependency <alias>=<path>] [--grant-data-access <alias>]",
6371
+ " 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>]",
6297
6372
  " preparation <workflow-id> <job-id>",
6298
6373
  " download <workflow> [--target draft|latest|version] [--path <dir>]",
6299
- " publish <workflow> [--release-log <text>] [--source-mode bundled|source] [--project-group] [--dependency <alias>=<path>] [--grant-data-access <alias>]",
6374
+ " 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>]",
6300
6375
  " publish --deployment <id>",
6301
6376
  " run <workflow> [...args] [--target draft|latest|version] [--entrypoint <id>]",
6302
6377
  " debug-node <workflow> <node> [...args] [--target draft|latest|version] [--entrypoint <id>]",
@@ -6307,7 +6382,9 @@ var cli = {
6307
6382
  "",
6308
6383
  "Options:",
6309
6384
  " --server <url> Defaults to WORKFLOW_SERVER_URL, saved CLI auth, or http://localhost:7125",
6310
- " --token <token> Optional manual override. Defaults to WORKFLOW_SERVER_ADMIN_KEY or saved CLI auth API key"
6385
+ " --token <token> Optional manual override. Defaults to WORKFLOW_SERVER_ADMIN_KEY or saved CLI auth API key",
6386
+ " --server-runtime / --no-server-runtime Enable or disable Server execution for this release",
6387
+ " --desktop-platform <macos|windows> Add a downloadable Desktop target; may be repeated"
6311
6388
  ].join("\n"),
6312
6389
  invalidLocale: 'Unsupported locale "{{value}}". Expected "zh-CN" or "en".',
6313
6390
  duplicateLocale: "--locale may only be specified once.",
@@ -6335,6 +6412,11 @@ var cli = {
6335
6412
  invalidBase64Content: 'Invalid base64 content for workflow file "{{path}}".',
6336
6413
  versionOptionUnsupported: "--version is no longer supported. Publish versions are managed by the system.",
6337
6414
  invalidSourceMode: '--source-mode must be "bundled" or "source".',
6415
+ workspaceDownloadPlatformUnsupported: "workspace download is only supported on macOS and Windows; current platform is {{platform}}.",
6416
+ serverRuntimeOptionsConflict: "--server-runtime and --no-server-runtime cannot be combined.",
6417
+ invalidDesktopPlatform: 'Unsupported --desktop-platform "{{platform}}". Expected macos or windows.',
6418
+ executionTargetCommandUnsupported: "Execution target options are only supported by upload and publish.",
6419
+ desktopPlatformRequiresSource: "--desktop-platform cannot be combined with --source-mode bundled; Desktop releases require source mode.",
6338
6420
  noWaitReleaseLogConflict: "--no-wait cannot be combined with --release-log because publishing requires a prepared draft.",
6339
6421
  notLoggedIn: "Not logged in. Run: workspace login --server <url> or pass --token / WORKFLOW_SERVER_ADMIN_KEY.",
6340
6422
  missingPositional: "Missing {{name}}.",
@@ -6559,7 +6641,7 @@ var common2 = {
6559
6641
  defaultConversation: "\u9ED8\u8BA4\u8BDD\u9898",
6560
6642
  messageCount: "{{count}} \u6761\u6D88\u606F",
6561
6643
  notProvided: "\u672A\u63D0\u4F9B",
6562
- projectKind: "{{type}} \u9879\u76EE",
6644
+ projectKind: "{{type}}\u9879\u76EE",
6563
6645
  customImage: "\u81EA\u5B9A\u4E49\u56FE\u7247",
6564
6646
  lucideIcon: "Lucide: {{name}}",
6565
6647
  defaultWorkflowIcon: "\u9ED8\u8BA4 Workflow \u56FE\u6807",
@@ -6577,6 +6659,9 @@ var common2 = {
6577
6659
  workflow: "\u5DE5\u4F5C\u6D41",
6578
6660
  runTarget: "\u8FD0\u884C\u76EE\u6807",
6579
6661
  projectType: "\u9879\u76EE\u7C7B\u578B",
6662
+ projectTypeWorkflow: "\u5DE5\u4F5C\u6D41",
6663
+ projectTypeConversation: "\u5BF9\u8BDD",
6664
+ projectTypeKanban: "\u770B\u677F",
6580
6665
  iconSource: "\u56FE\u6807\u6765\u6E90",
6581
6666
  themeColor: "\u4E3B\u9898\u8272",
6582
6667
  notLoggedIn: "\u672A\u767B\u5F55",
@@ -7174,8 +7259,8 @@ var common2 = {
7174
7259
  create: "\u65B0\u5EFA\u8BA1\u5212",
7175
7260
  unavailableTitle: "\u5B9A\u65F6\u4EFB\u52A1\u6682\u4E0D\u53EF\u7528",
7176
7261
  partialUnavailableTitle: "\u90E8\u5206\u5B9A\u65F6\u4EFB\u52A1\u4FE1\u606F\u6682\u4E0D\u53EF\u7528",
7177
- noOnlineVersionTitle: "\u6CA1\u6709\u53EF\u8C03\u5EA6\u7684\u5728\u7EBF\u7248\u672C",
7178
- noOnlineVersionDescription: "Server \u8BA1\u5212\u53EA\u80FD\u56FA\u5B9A\u5230\u7CBE\u786E\u5728\u7EBF\u53D1\u5E03\u7248\u672C\uFF0C\u4E0D\u63A5\u53D7 latest \u6216 draft\u3002",
7262
+ noOnlineVersionTitle: "\u6CA1\u6709\u53EF\u8C03\u5EA6\u7684 Server \u7248\u672C",
7263
+ noOnlineVersionDescription: "Server \u8BA1\u5212\u53EA\u80FD\u56FA\u5B9A\u5230\u5DF2\u4E0A\u7EBF\u4E14\u652F\u6301 Server \u6267\u884C\u7684\u7CBE\u786E\u7248\u672C\uFF0C\u4E0D\u63A5\u53D7 latest\u3001draft \u6216\u4EC5\u672C\u5730\u7248\u672C\u3002",
7179
7264
  presetsTitle: "\u9879\u76EE\u5EFA\u8BAE\u8BA1\u5212",
7180
7265
  desktopPresetsDescription: "\u5EFA\u8BAE\u4E0D\u4F1A\u81EA\u52A8\u542F\u7528\uFF0C\u786E\u8BA4\u53C2\u6570\u540E\u624D\u4F1A\u521B\u5EFA\u3002",
7181
7266
  serverPresetsDescription: "\u9884\u8BBE\u4E0D\u4F1A\u81EA\u52A8\u542F\u7528\uFF0C\u786E\u8BA4\u7248\u672C\u3001\u5165\u53E3\u548C\u53C2\u6570\u540E\u624D\u4F1A\u521B\u5EFA\u3002",
@@ -7726,8 +7811,29 @@ var desktop2 = {
7726
7811
  defaultExample: "\u9ED8\u8BA4\u793A\u4F8B\uFF1A",
7727
7812
  defaultProjectDirectory: "\u6587\u7A3F/workflow-projects\uFF08\u9ED8\u8BA4\uFF09",
7728
7813
  directoryName: "\u76EE\u5F55\u540D\u79F0",
7814
+ defaultProjectName: "\u9ED8\u8BA4\u540D\u79F0",
7815
+ defaultProjectNamePlaceholder: "\u8BF7\u8F93\u5165\u9879\u76EE\u9ED8\u8BA4\u540D\u79F0",
7816
+ defaultProjectNameRequired: "\u8BF7\u8F93\u5165\u9879\u76EE\u9ED8\u8BA4\u540D\u79F0\u3002",
7729
7817
  displayName: "\u663E\u793A\u540D\u79F0",
7730
7818
  displayNamePlaceholder: "\u8BF7\u8F93\u5165\u663E\u793A\u540D",
7819
+ localizedProjectNames: "\u672C\u5730\u5316\u540D\u79F0",
7820
+ projectNameZhCN: "\u7B80\u4F53\u4E2D\u6587",
7821
+ projectNameEn: "\u82F1\u6587",
7822
+ optionalProjectNamePlaceholder: "\u9009\u586B\u540D\u79F0",
7823
+ projectDeclarations: "\u9879\u76EE\u58F0\u660E",
7824
+ projectDeclarationMultilingual: "\u652F\u6301\u591A\u8BED\u8A00",
7825
+ projectDeclarationMultiplatform: "\u652F\u6301\u591A\u5E73\u53F0",
7826
+ extendedProjectDeclarations: "\u6269\u5C55\u9879\u76EE\u58F0\u660E",
7827
+ projectPlatformSupport: "\u5C55\u793A\u5E73\u53F0",
7828
+ projectPlatformMode: "\u9879\u76EE\u5E73\u53F0\u6A21\u5F0F",
7829
+ projectPlatformAgnostic: "\u5E73\u53F0\u65E0\u5173",
7830
+ projectPlatformSpecific: "\u6307\u5B9A\u5E73\u53F0",
7831
+ projectPlatformMacos: "macOS",
7832
+ projectPlatformWindows: "Windows",
7833
+ projectPlatformWeb: "Web",
7834
+ extendedProjectPlatforms: "\u6269\u5C55\u9879\u76EE\u5E73\u53F0",
7835
+ selectAtLeastOneProjectPlatform: "\u8BF7\u81F3\u5C11\u9009\u62E9\u4E00\u4E2A\u9879\u76EE\u5E73\u53F0\u3002",
7836
+ notSet: "\u672A\u8BBE\u7F6E",
7731
7837
  done: "\u5B8C\u6210",
7732
7838
  downloadProjectDescription: "\u4FDD\u7559\u9879\u76EE UUID \u548C\u670D\u52A1\u5668\u5173\u8054\uFF0C\u5728\u672C\u673A\u521B\u5EFA\u53EF\u7F16\u8F91\u526F\u672C\u3002",
7733
7839
  downloadingSource: "\u6B63\u5728\u4E0B\u8F7D\u6E90\u7801...",
@@ -7763,9 +7869,11 @@ var desktop2 = {
7763
7869
  localUuid: "\u672C\u5730 UUID",
7764
7870
  localizeWritesSourceOnly: "\u53EA\u5199\u5165\u6E90\u7801\u5FEB\u7167\uFF0C\u4E0D\u4F1A\u5B89\u88C5\u4F9D\u8D56\u3002",
7765
7871
  loginRequiredToCreateCloudApp: "\u8BF7\u5148\u767B\u5F55\u8D26\u53F7\uFF0C\u518D\u521B\u5EFA\u4E91\u7AEF\u5E94\u7528\u3002",
7766
- minifySource: "\u538B\u7F29\u6E90\u7801",
7767
- minifySourceOffDescription: "\u7248\u672C\u4FDD\u7559\u539F\u59CB\u6E90\u7801\u5FEB\u7167\u3002",
7768
- minifySourceOnDescription: "\u7248\u672C\u4E0D\u4FDD\u7559\u539F\u59CB TS/JS \u6E90\u7801\u3002",
7872
+ projectInfoBoundServerLoginRequired: "\u8BF7\u8FDE\u63A5\u5E76\u767B\u5F55 {{serverUrl}}\uFF0C\u518D\u4FDD\u5B58\u5DF2\u7ED1\u5B9A\u9879\u76EE\u7684\u4FE1\u606F\u3002",
7873
+ desktopPlatformDownloadUnsupported: "\u5F53\u524D\u64CD\u4F5C\u7CFB\u7EDF\u6CA1\u6709\u517C\u5BB9\u7684 Desktop \u4E0B\u8F7D\u76EE\u6807\u3002",
7874
+ retainOriginalSource: "\u4FDD\u7559\u539F\u59CB\u6E90\u7801",
7875
+ retainOriginalSourceOffDescription: "\u7248\u672C\u53EA\u4FDD\u7559 Server runtime\uFF0C\u4E0D\u63D0\u4F9B\u539F\u59CB\u6E90\u7801\u4E0B\u8F7D\u3002",
7876
+ retainOriginalSourceOnDescription: "\u7248\u672C\u540C\u65F6\u4FDD\u7559\u539F\u59CB TS/JS \u6E90\u7801\u5FEB\u7167\u3002",
7769
7877
  newProjectDescription: "\u9009\u62E9\u9879\u76EE\u7C7B\u578B\u548C\u793A\u4F8B\uFF0C\u53EF\u6309\u9700\u6307\u5B9A\u672C\u673A\u5B58\u653E\u4F4D\u7F6E\u3002",
7770
7878
  newProjectNamePlaceholder: "My Workflow",
7771
7879
  noWorkflowSelected: "\u672A\u9009\u62E9 workflow",
@@ -7791,15 +7899,28 @@ var desktop2 = {
7791
7899
  projectEnvVariables: "\u9879\u76EE\u73AF\u5883\u53D8\u91CF",
7792
7900
  projectIcon: "\u9879\u76EE\u56FE\u6807",
7793
7901
  projectId: "\u9879\u76EE ID",
7794
- projectKind: "{{type}} \u9879\u76EE",
7902
+ projectKind: "{{type}}\u9879\u76EE",
7795
7903
  projectName: "\u9879\u76EE\u540D",
7796
7904
  projectNamePlaceholder: "\u9879\u76EE\u540D\u79F0",
7797
7905
  projectType: "\u9879\u76EE\u7C7B\u578B",
7798
7906
  projectUuid: "\u9879\u76EE UUID",
7799
7907
  publishNewVersion: "\u53D1\u5E03\u65B0\u7248\u672C",
7908
+ releaseExecutionTargets: "\u53D1\u884C\u76EE\u6807",
7909
+ 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",
7910
+ serverCloudExecution: "Server \u4E91\u7AEF\u6267\u884C",
7911
+ serverCloudExecutionDescription: "\u4E3A\u8FD0\u884C\u3001Embed\u3001Webhook \u548C\u8BA1\u5212\u4EFB\u52A1\u51C6\u5907 Server runtime\u3002",
7912
+ kanbanServerExecutionDisabled: "Kanban \u4F7F\u7528\u9759\u6001\u6258\u7BA1\uFF0C\u4E0D\u8FDB\u5165 Server executor\u3002",
7913
+ desktopTargetMacos: "macOS \u672C\u5730\u8FD0\u884C",
7914
+ desktopTargetWindows: "Windows \u672C\u5730\u8FD0\u884C",
7915
+ desktopTargetCurrentDeviceDescription: "\u5141\u8BB8\u6B64\u7248\u672C\u4E0B\u8F7D\u5230\u5F53\u524D {{platform}} Desktop \u5E76\u5728\u672C\u5730\u8FD0\u884C\u3002",
7916
+ desktopTargetUnavailableOnCurrentDevice: "\u9700\u8981\u5728 {{platform}} Desktop \u4E0A\u53D1\u5E03\u3002",
7917
+ publishDesktopTargetMismatch: "Desktop \u53EA\u80FD\u53D1\u5E03\u5F53\u524D\u64CD\u4F5C\u7CFB\u7EDF\u5BF9\u5E94\u7684\u672C\u5730\u8FD0\u884C\u76EE\u6807\u3002",
7918
+ selectAtLeastOneExecutionTarget: "\u8BF7\u542F\u7528 Server \u6267\u884C\u6216\u5F53\u524D\u8BBE\u5907\u672C\u5730\u8FD0\u884C\u3002",
7919
+ desktopTargetsRequireSourceDescription: "\u672C\u5730\u8FD0\u884C\u9700\u8981\u539F\u59CB\u6E90\u7801\uFF0C\u672C\u6B21\u53D1\u5E03\u56FA\u5B9A\u4FDD\u7559\uFF1B\u53D6\u6D88\u672C\u5730\u76EE\u6807\u540E\u6062\u590D\u4E4B\u524D\u7684\u6E90\u7801\u9009\u62E9\u3002",
7800
7920
  readingVersionPublishSettings: "\u6B63\u5728\u8BFB\u53D6 {{version}} \u7684\u53D1\u5E03\u8BBE\u7F6E",
7801
7921
  checkingPreviousPublishSettings: "\u6B63\u5728\u68C0\u67E5\u4E0A\u6B21\u53D1\u5E03\u8BBE\u7F6E",
7802
7922
  loadedVersionPublishSettings: "\u5DF2\u8BFB\u53D6 {{version}} \u7684\u53D1\u5E03\u8BBE\u7F6E",
7923
+ 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",
7803
7924
  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",
7804
7925
  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",
7805
7926
  referencedProjects: "\u5F15\u7528\u9879\u76EE",
@@ -8565,8 +8686,10 @@ var desktop2 = {
8565
8686
  leaveWorkspaceTitle: "\u79BB\u5F00\u5F53\u524D\u5DE5\u4F5C\u533A\uFF1F",
8566
8687
  loadingLabelFallback: "\u6B63\u5728\u52A0\u8F7D{{label}}",
8567
8688
  openDesktopSettings: "\u6253\u5F00 Desktop \u8BBE\u7F6E",
8568
- projectInfoLocalDescription: "\u7F16\u8F91\u9879\u76EE\u663E\u793A\u540D\u3001\u7C7B\u578B\u548C\u5361\u7247\u56FE\u6807\uFF0C\u4FDD\u5B58\u540E\u4F1A\u5199\u56DE\u672C\u5730 package.json\u3002",
8689
+ projectInfoLocalDescription: "\u7F16\u8F91\u9879\u76EE\u4FE1\u606F\u5E76\u9884\u89C8 README\uFF1B\u4FDD\u5B58\u540E\u5199\u56DE\u672C\u5730 package.json\uFF0C\u5E76\u540C\u6B65\u5DF2\u7ED1\u5B9A\u7684\u4E91\u7AEF\u5E94\u7528\u3002",
8569
8690
  projectInfoTitle: "\u9879\u76EE\u4FE1\u606F",
8691
+ projectReadmeMissing: "\u9879\u76EE\u6839\u76EE\u5F55\u4E2D\u6CA1\u6709 README.md\u3002",
8692
+ projectReadmeTitle: "README \u9884\u89C8",
8570
8693
  projectOpeningDetail: "\u6B63\u5728\u52A0\u8F7D\u9879\u76EE\u6587\u4EF6\u548C\u5DE5\u4F5C\u533A\u72B6\u6001\u3002",
8571
8694
  projectOpeningTitle: "\u6B63\u5728\u6253\u5F00\u9879\u76EE",
8572
8695
  projectWorkspaceAria: "\u9879\u76EE\u5DE5\u4F5C\u533A",
@@ -9364,6 +9487,17 @@ var serverWeb2 = {
9364
9487
  projectListUploaderFallback: "\u672A\u8BB0\u5F55\u4E0A\u4F20\u7528\u6237",
9365
9488
  projectListViewLogs: "\u67E5\u770B\u65E5\u5FD7",
9366
9489
  projectListVisible: "\u663E\u793A {{visible}} / {{total}}",
9490
+ projectDeclarationMultilingual: "\u652F\u6301\u591A\u8BED\u8A00",
9491
+ projectDeclarationMultiplatform: "\u652F\u6301\u591A\u5E73\u53F0",
9492
+ projectExecutionDesktopOnly: "\u4EC5\u672C\u5730\u8FD0\u884C",
9493
+ projectExecutionPreparing: "\u5C1A\u672A\u53D1\u5E03",
9494
+ projectExecutionServerRunnable: "Server \u53EF\u8FD0\u884C",
9495
+ projectExecutionStaticWeb: "\u9759\u6001 Web",
9496
+ projectExecutionTargetUnavailable: "\u5F53\u524D\u6CA1\u6709\u53EF\u4F9B\u8BE5 Server \u5165\u53E3\u4F7F\u7528\u7684\u517C\u5BB9\u5728\u7EBF\u7248\u672C\u3002",
9497
+ projectPlatformAgnostic: "\u5E73\u53F0\u65E0\u5173",
9498
+ projectPlatformMacos: "macOS",
9499
+ projectPlatformWeb: "Web",
9500
+ projectPlatformWindows: "Windows",
9367
9501
  projectSettingsAcceptNewRuns: "\u63A5\u6536\u65B0\u4EFB\u52A1",
9368
9502
  projectSettingsAcceptNewRunsDescription: "\u5173\u95ED\u540E\u4F1A\u6682\u505C\u65B0\u7684\u8FD0\u884C\u5165\u53E3\uFF0C\u4F46\u4E0D\u4F1A\u5220\u9664\u5386\u53F2\u8BB0\u5F55\u3002",
9369
9503
  projectSettingsAccessPolicy: "\u8BBF\u95EE\u7B56\u7565",
@@ -9375,6 +9509,17 @@ var serverWeb2 = {
9375
9509
  projectSettingsBaselineNoLatest: "\u6682\u65E0",
9376
9510
  projectSettingsBaselineUpdatedAt: "\u66F4\u65B0\u65F6\u95F4",
9377
9511
  projectSettingsBaselineWorkflowId: "Workflow ID",
9512
+ projectSettingsDeclarations: "\u9879\u76EE\u58F0\u660E",
9513
+ projectSettingsDefaultName: "\u9ED8\u8BA4\u540D\u79F0",
9514
+ projectSettingsDisplayPlatforms: "\u5C55\u793A\u5E73\u53F0",
9515
+ projectSettingsEnglishName: "\u82F1\u6587\u540D\u79F0",
9516
+ projectSettingsExecutionAvailability: "\u53D1\u884C\u53EF\u7528\u6027",
9517
+ projectSettingsLocalizedNames: "\u672C\u5730\u5316\u540D\u79F0",
9518
+ projectSettingsNoDeclarations: "\u65E0\u58F0\u660E",
9519
+ projectSettingsProjectInfo: "\u9879\u76EE\u4FE1\u606F",
9520
+ projectSettingsProjectInfoDescription: "\u540D\u79F0\u3001\u58F0\u660E\u548C\u5C55\u793A\u5E73\u53F0\u6765\u81EA package.json\uFF0C\u4EC5\u7528\u4E8E\u5C55\u793A\uFF0C\u4E0D\u6821\u9A8C\u5B9E\u9645\u5B9E\u73B0\u3002",
9521
+ projectSettingsUnspecifiedName: "\u672A\u586B\u5199",
9522
+ projectSettingsChineseName: "\u4E2D\u6587\u540D\u79F0",
9378
9523
  projectSettingsConcurrency: "\u5E76\u53D1\u4E0A\u9650",
9379
9524
  projectSettingsConcurrencyControlDescription: "\u4F7F\u7528\u6B65\u8FDB\u6309\u94AE\u5373\u65F6\u4FDD\u5B58\u5E76\u53D1\u5BB9\u91CF\uFF0C\u907F\u514D\u5927\u6279\u91CF\u8BF7\u6C42\u538B\u6EE1\u8FD0\u884C\u961F\u5217\u3002",
9380
9525
  projectSettingsConcurrencyHint: "\u5F53\u524D {{total}} \u4E2A\u8FD0\u884C\u4E2D",
@@ -9954,6 +10099,7 @@ var serverWeb2 = {
9954
10099
  versionsHeaderPublishedAt: "\u53D1\u5E03\u65F6\u95F4",
9955
10100
  versionsHeaderReleaseLog: "\u53D1\u5E03\u65E5\u5FD7",
9956
10101
  versionsHeaderStatus: "\u72B6\u6001",
10102
+ versionsHeaderTargets: "\u53D1\u884C\u76EE\u6807",
9957
10103
  versionsHeaderUploader: "\u4E0A\u4F20\u7528\u6237",
9958
10104
  versionsHeaderVersion: "\u7248\u672C",
9959
10105
  versionsHealthLabelHighRisk: "\u9AD8\u98CE\u9669",
@@ -10084,6 +10230,11 @@ var serverWeb2 = {
10084
10230
  versionsVersionStatusManualOnline: "\u624B\u52A8\u4E0A\u7EBF",
10085
10231
  versionsVersionStatusOnline: "\u5728\u7EBF",
10086
10232
  versionsVersionStatusPreparing: "\u51C6\u5907\u4E2D",
10233
+ versionsTargetMacos: "macOS",
10234
+ versionsTargetServer: "Server",
10235
+ versionsTargetStaticWeb: "\u9759\u6001 Web",
10236
+ versionsTargetWindows: "Windows",
10237
+ versionsTargetNone: "\u65E0\u6267\u884C\u76EE\u6807",
10087
10238
  versionsViewStatsTitle: "\u67E5\u770B\u7248\u672C {{version}} \u7684\u8FD0\u884C\u7EDF\u8BA1",
10088
10239
  webhookAddMapping: "\u6DFB\u52A0\u6620\u5C04",
10089
10240
  webhookBodyFilter: "Body \u8FC7\u6EE4",
@@ -10454,7 +10605,13 @@ var server2 = {
10454
10605
  entrypointResumeLocked: "\u6062\u590D\u7B49\u5F85\u4E2D\u7684 Run \u65F6\u4E0D\u80FD\u66F4\u6539\u5165\u53E3\u3002",
10455
10606
  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",
10456
10607
  kanbanDataSourceUnauthorized: "Kanban \u6570\u636E\u6E90\u201C{{sourceId}}\u201D\u672A\u83B7\u5171\u4EAB\u6388\u6743\u3002",
10457
- workflowOwnedByAnotherAccount: "Workflow\u201C{{workflowId}}\u201D\u5DF2\u5B58\u5728\u4E14\u5F52\u5176\u5B83\u8D26\u53F7\u6240\u6709\u3002"
10608
+ workflowOwnedByAnotherAccount: "Workflow\u201C{{workflowId}}\u201D\u5DF2\u5B58\u5728\u4E14\u5F52\u5176\u5B83\u8D26\u53F7\u6240\u6709\u3002",
10609
+ 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",
10610
+ workflowDraftServerDisabled: "Workflow\u201C{{workflowId}}\u201D\u8349\u7A3F\u672A\u542F\u7528 Server \u6267\u884C\u3002",
10611
+ workflowServerLatestUnavailable: "Workflow\u201C{{workflowId}}\u201D\u6CA1\u6709\u53EF\u5728 Server \u6267\u884C\u7684\u5728\u7EBF\u7248\u672C\u3002",
10612
+ workflowDesktopLatestUnavailable: "Workflow\u201C{{workflowId}}\u201D\u6CA1\u6709\u53EF\u4F9B {{platform}} Desktop \u4E0B\u8F7D\u7684\u5728\u7EBF\u7248\u672C\u3002",
10613
+ workflowDesktopVersionUnsupported: "Workflow\u201C{{workflowId}}\u201D\u7248\u672C\u201C{{version}}\u201D\u672A\u53D1\u884C\u5230 {{platform}} Desktop\u3002",
10614
+ workflowRuntimeArtifactUnavailable: "Workflow\u201C{{workflowId}}\u201D\u7248\u672C\u201C{{version}}\u201D\u7F3A\u5C11 Server runtime \u4EA7\u7269\u3002"
10458
10615
  };
10459
10616
 
10460
10617
  // .shared/i18n/resources/zh/cli.ts
@@ -10507,10 +10664,10 @@ var cli2 = {
10507
10664
  " status",
10508
10665
  " health",
10509
10666
  " pack <workflow> [--path <workflow-dir>] [--output <file.tgz>] [--project-group] [--dependency <alias>=<path>]",
10510
- " upload <workflow> [--path <workflow-dir>] [--file <archive>] [--release-log <text>] [--source-mode bundled|source] [--no-wait] [--create] [--project-group] [--publish-group] [--dependency <alias>=<path>] [--grant-data-access <alias>]",
10667
+ " 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>]",
10511
10668
  " preparation <workflow-id> <job-id>",
10512
10669
  " download <workflow> [--target draft|latest|version] [--path <dir>]",
10513
- " publish <workflow> [--release-log <text>] [--source-mode bundled|source] [--project-group] [--dependency <alias>=<path>] [--grant-data-access <alias>]",
10670
+ " 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>]",
10514
10671
  " publish --deployment <id>",
10515
10672
  " run <workflow> [...args] [--target draft|latest|version] [--entrypoint <id>]",
10516
10673
  " debug-node <workflow> <node> [...args] [--target draft|latest|version] [--entrypoint <id>]",
@@ -10521,7 +10678,9 @@ var cli2 = {
10521
10678
  "",
10522
10679
  "\u9009\u9879\uFF1A",
10523
10680
  " --server <url> \u9ED8\u8BA4\u8BFB\u53D6 WORKFLOW_SERVER_URL\u3001\u5DF2\u4FDD\u5B58\u7684 CLI \u8BA4\u8BC1\u6216 http://localhost:7125",
10524
- " --token <token> \u53EF\u9009\u7684\u624B\u52A8\u8986\u76D6\u503C\uFF0C\u9ED8\u8BA4\u8BFB\u53D6 WORKFLOW_SERVER_ADMIN_KEY \u6216\u5DF2\u4FDD\u5B58\u7684 CLI API key"
10681
+ " --token <token> \u53EF\u9009\u7684\u624B\u52A8\u8986\u76D6\u503C\uFF0C\u9ED8\u8BA4\u8BFB\u53D6 WORKFLOW_SERVER_ADMIN_KEY \u6216\u5DF2\u4FDD\u5B58\u7684 CLI API key",
10682
+ " --server-runtime / --no-server-runtime \u4E3A\u672C\u6B21\u53D1\u884C\u542F\u7528\u6216\u5173\u95ED Server \u6267\u884C",
10683
+ " --desktop-platform <macos|windows> \u589E\u52A0\u53EF\u4E0B\u8F7D\u7684 Desktop \u76EE\u6807\uFF0C\u53EF\u91CD\u590D\u6307\u5B9A"
10525
10684
  ].join("\n"),
10526
10685
  invalidLocale: "\u4E0D\u652F\u6301\u8BED\u8A00 {{value}}\uFF0C\u53EA\u80FD\u4F7F\u7528 zh-CN \u6216 en\u3002",
10527
10686
  duplicateLocale: "--locale \u53EA\u80FD\u6307\u5B9A\u4E00\u6B21\u3002",
@@ -10549,6 +10708,11 @@ var cli2 = {
10549
10708
  invalidBase64Content: 'Workflow \u6587\u4EF6 "{{path}}" \u7684 base64 \u5185\u5BB9\u65E0\u6548\u3002',
10550
10709
  versionOptionUnsupported: "\u4E0D\u518D\u652F\u6301 --version\uFF0C\u53D1\u5E03\u7248\u672C\u7531\u7CFB\u7EDF\u7BA1\u7406\u3002",
10551
10710
  invalidSourceMode: "--source-mode \u53EA\u80FD\u662F bundled \u6216 source\u3002",
10711
+ workspaceDownloadPlatformUnsupported: "workspace download \u4EC5\u652F\u6301 macOS \u548C Windows\uFF0C\u5F53\u524D\u5E73\u53F0\u4E3A {{platform}}\u3002",
10712
+ serverRuntimeOptionsConflict: "--server-runtime \u4E0E --no-server-runtime \u4E0D\u80FD\u540C\u65F6\u4F7F\u7528\u3002",
10713
+ invalidDesktopPlatform: "\u4E0D\u652F\u6301 --desktop-platform {{platform}}\uFF0C\u53EA\u80FD\u4F7F\u7528 macos \u6216 windows\u3002",
10714
+ executionTargetCommandUnsupported: "\u53D1\u884C\u76EE\u6807\u53C2\u6570\u4EC5\u652F\u6301 upload \u548C publish \u547D\u4EE4\u3002",
10715
+ desktopPlatformRequiresSource: "--desktop-platform \u4E0D\u80FD\u4E0E --source-mode bundled \u540C\u65F6\u4F7F\u7528\uFF1BDesktop \u53D1\u884C\u5FC5\u987B\u4FDD\u7559\u6E90\u7801\u3002",
10552
10716
  noWaitReleaseLogConflict: "--no-wait \u4E0D\u80FD\u4E0E --release-log \u540C\u65F6\u4F7F\u7528\uFF0C\u56E0\u4E3A\u53D1\u5E03\u524D\u5FC5\u987B\u5B8C\u6210\u8349\u7A3F\u51C6\u5907\u3002",
10553
10717
  notLoggedIn: "\u5C1A\u672A\u767B\u5F55\u3002\u8BF7\u8FD0\u884C workspace login --server <url>\uFF0C\u6216\u4F20\u5165 --token / WORKFLOW_SERVER_ADMIN_KEY\u3002",
10554
10718
  missingPositional: "\u7F3A\u5C11 {{name}}\u3002",
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@ import {
3
3
  i18n,
4
4
  prepareCliInvocation,
5
5
  translateWorkflowCodeError
6
- } from "./chunk-24UGBDSY.js";
6
+ } from "./chunk-LZ6SH7S3.js";
7
7
 
8
8
  // src/index.ts
9
9
  import path from "path";
@@ -12,7 +12,7 @@ async function main(argv = process.argv.slice(2)) {
12
12
  const prepared = prepareCliInvocation(argv);
13
13
  argv = prepared.argv;
14
14
  if (argv[0] === "workspace") {
15
- const workspaceCli = await import("./workspace-CLAXSOP6.js");
15
+ const workspaceCli = await import("./workspace-L67SKOPW.js");
16
16
  await workspaceCli.main(argv.slice(1), { localeInitialized: true });
17
17
  return typeof process.exitCode === "number" ? process.exitCode : 0;
18
18
  }
@@ -23,7 +23,7 @@ async function main(argv = process.argv.slice(2)) {
23
23
  }
24
24
  const { register } = await import("tsx/esm/api");
25
25
  register();
26
- const localCli = await import("./local-KAPVEJIL.js");
26
+ const localCli = await import("./local-MPY5EGDA.js");
27
27
  return localCli.main(argv, { localeInitialized: true });
28
28
  }
29
29
  function formatHelp() {
@@ -3,7 +3,7 @@ import {
3
3
  i18n,
4
4
  prepareCliInvocation,
5
5
  translateWorkflowCodeError
6
- } from "./chunk-24UGBDSY.js";
6
+ } from "./chunk-LZ6SH7S3.js";
7
7
 
8
8
  // src/local.ts
9
9
  import path from "path";
@@ -6,7 +6,7 @@ import {
6
6
  i18n,
7
7
  prepareCliInvocation,
8
8
  translateWorkflowCodeError
9
- } from "./chunk-24UGBDSY.js";
9
+ } from "./chunk-LZ6SH7S3.js";
10
10
 
11
11
  // node_modules/.pnpm/ignore@7.0.6/node_modules/ignore/index.js
12
12
  var require_ignore = __commonJS({
@@ -587,6 +587,50 @@ function isWorkflowUuid(value) {
587
587
  return WORKFLOW_UUID_PATTERN.test(value.trim());
588
588
  }
589
589
 
590
+ // .shared/project-types/index.ts
591
+ var WORKFLOW_PROJECT_TYPE_DEFINITIONS = [
592
+ {
593
+ id: "workflow",
594
+ label: "Workflow",
595
+ labelKey: "projectTypeWorkflow",
596
+ defaultIcon: "workflow",
597
+ defaultIconBackgroundColor: "#2563eb",
598
+ hasExecutor: true
599
+ },
600
+ {
601
+ id: "conversation",
602
+ label: "Conversation",
603
+ labelKey: "projectTypeConversation",
604
+ defaultIcon: "message-circle",
605
+ defaultIconBackgroundColor: "#0f766e",
606
+ hasExecutor: true
607
+ },
608
+ {
609
+ id: "kanban",
610
+ label: "Kanban",
611
+ labelKey: "projectTypeKanban",
612
+ defaultIcon: "boxes",
613
+ defaultIconBackgroundColor: "#b45309",
614
+ hasExecutor: false
615
+ }
616
+ ];
617
+ var WORKFLOW_PROJECT_TYPES = WORKFLOW_PROJECT_TYPE_DEFINITIONS.map((definition) => definition.id);
618
+ var WORKFLOW_EXECUTOR_PROJECT_TYPES = WORKFLOW_PROJECT_TYPE_DEFINITIONS.filter((definition) => definition.hasExecutor).map((definition) => definition.id);
619
+ var WORKFLOW_PROJECT_TYPE_DEFINITIONS_BY_ID = Object.fromEntries(
620
+ WORKFLOW_PROJECT_TYPE_DEFINITIONS.map((definition) => [definition.id, definition])
621
+ );
622
+
623
+ // .shared/execution-targets/index.ts
624
+ var WORKFLOW_DESKTOP_EXECUTION_PLATFORMS = ["macos", "windows"];
625
+ function isWorkflowDesktopExecutionPlatform(value) {
626
+ return typeof value === "string" && WORKFLOW_DESKTOP_EXECUTION_PLATFORMS.includes(value);
627
+ }
628
+ function mapNodePlatformToWorkflowDesktopPlatform(platform) {
629
+ if (platform === "darwin") return "macos";
630
+ if (platform === "win32") return "windows";
631
+ return void 0;
632
+ }
633
+
590
634
  // .shared/project-upload/node.ts
591
635
  import { copyFile, lstat, mkdir, readFile, readdir } from "fs/promises";
592
636
  import path2 from "path";
@@ -1167,11 +1211,13 @@ async function commandUpload(parsed) {
1167
1211
  throw new Error(i18n.t("workflowIdRequired", { ns: "cli" }));
1168
1212
  }
1169
1213
  const archivePath = parsed.options.file ? path4.resolve(parsed.options.file) : await packWorkflow(workflowArg, parsed.options.output, parsed.options.path);
1214
+ const executionTargets = resolveRequestedExecutionTargets(parsed.options, packageContext.projectType);
1170
1215
  const uploadResult = await uploadPackage({
1171
1216
  workflowId,
1172
1217
  archivePath,
1173
1218
  server: parsed.options.server,
1174
- token: parsed.options.token
1219
+ token: parsed.options.token,
1220
+ executionTargets
1175
1221
  });
1176
1222
  if (uploadResult.errCode !== 0 || uploadResult.data === void 0) {
1177
1223
  printApiResponse(uploadResult);
@@ -1201,7 +1247,8 @@ async function commandUpload(parsed) {
1201
1247
  method: "POST",
1202
1248
  body: {
1203
1249
  releaseLog: parsed.options.releaseLog,
1204
- sourceMode: parsed.options.sourceMode ?? "bundled"
1250
+ sourceMode: resolveRequestedSourceMode(parsed.options, executionTargets),
1251
+ executionTargets
1205
1252
  }
1206
1253
  });
1207
1254
  printApiResponse(publishResult);
@@ -1265,7 +1312,8 @@ async function commandProjectGroupUpload(parsed, workflowArg, forcePublish = fal
1265
1312
  deploymentId: planned.data.id,
1266
1313
  archivePath: packed.archivePath,
1267
1314
  server: parsed.options.server,
1268
- token: parsed.options.token
1315
+ token: parsed.options.token,
1316
+ executionTargets: resolveRequestedExecutionTargets(parsed.options, rootContext.projectType)
1269
1317
  });
1270
1318
  if (prepared.errCode !== 0 || prepared.data === void 0) {
1271
1319
  printApiResponse(prepared);
@@ -1369,11 +1417,18 @@ async function commandDownload(parsed) {
1369
1417
  const workflowArg = requirePositional(parsed, 0, "workflow");
1370
1418
  const workflowId = await resolveRemoteWorkflowId(parsed);
1371
1419
  const target = parsed.options.target ?? "latest";
1420
+ const platform = mapNodePlatformToWorkflowDesktopPlatform(process.platform);
1421
+ if (platform === void 0) {
1422
+ throw new Error(i18n.t("workspaceDownloadPlatformUnsupported", {
1423
+ ns: "cli",
1424
+ platform: process.platform
1425
+ }));
1426
+ }
1372
1427
  if (target !== "draft") {
1373
1428
  const result2 = await fetchApi({
1374
1429
  server: parsed.options.server,
1375
1430
  token: parsed.options.token,
1376
- path: `/api/workflows/${encodeURIComponent(workflowId)}/project-group-download?target=${encodeURIComponent(target)}`
1431
+ path: `/api/workflows/${encodeURIComponent(workflowId)}/project-group-download?target=${encodeURIComponent(target)}&platform=${platform}`
1377
1432
  });
1378
1433
  assertApiOk(result2);
1379
1434
  if (result2.errCode !== 0 || result2.data === void 0) {
@@ -1438,6 +1493,12 @@ async function commandPublish(parsed) {
1438
1493
  return;
1439
1494
  }
1440
1495
  const workflowId = await resolveRemoteWorkflowId(parsed);
1496
+ const projectType = parsed.options.serverRuntime === void 0 && parsed.options.desktopPlatforms.length > 0 ? await readRemoteWorkflowProjectType({
1497
+ workflowId,
1498
+ server: parsed.options.server,
1499
+ token: parsed.options.token
1500
+ }) : void 0;
1501
+ const executionTargets = resolveRequestedExecutionTargets(parsed.options, projectType);
1441
1502
  const publishResult = await fetchApi({
1442
1503
  server: parsed.options.server,
1443
1504
  token: parsed.options.token,
@@ -1445,12 +1506,22 @@ async function commandPublish(parsed) {
1445
1506
  method: "POST",
1446
1507
  body: {
1447
1508
  releaseLog: parsed.options.releaseLog,
1448
- sourceMode: parsed.options.sourceMode ?? "bundled"
1509
+ sourceMode: resolveRequestedSourceMode(parsed.options, executionTargets),
1510
+ executionTargets
1449
1511
  }
1450
1512
  });
1451
1513
  printApiResponse(publishResult);
1452
1514
  assertApiOk(publishResult);
1453
1515
  }
1516
+ async function readRemoteWorkflowProjectType(options) {
1517
+ const response = await fetchApi({
1518
+ server: options.server,
1519
+ token: options.token,
1520
+ path: "/api/workflows"
1521
+ });
1522
+ assertApiOk(response);
1523
+ return response.data?.find((workflow) => workflow.id === options.workflowId)?.projectType;
1524
+ }
1454
1525
  async function materializeProjectGroupDownload(download, rootTargetDir) {
1455
1526
  if (!isWorkflowUuid(download.rootProjectId)) {
1456
1527
  throw new Error(i18n.t("projectGroupDownloadInvalidRootId", { ns: "cli" }));
@@ -1895,8 +1966,15 @@ async function packProjectGroup(options) {
1895
1966
  async function uploadProjectGroupPackage(options) {
1896
1967
  const archiveBuffer = await readFile3(options.archivePath);
1897
1968
  const archiveName = path4.basename(options.archivePath);
1969
+ const query = new URLSearchParams({ fileName: archiveName });
1970
+ if (options.executionTargets !== void 0) {
1971
+ query.set("serverRuntime", String(options.executionTargets.server));
1972
+ for (const platform of options.executionTargets.desktop) {
1973
+ query.append("desktopPlatform", platform);
1974
+ }
1975
+ }
1898
1976
  const response = await fetch(
1899
- `${trimTrailingSlash(options.server)}/api/deployments/${encodeURIComponent(options.deploymentId)}/package?fileName=${encodeURIComponent(archiveName)}`,
1977
+ `${trimTrailingSlash(options.server)}/api/deployments/${encodeURIComponent(options.deploymentId)}/package?${query.toString()}`,
1900
1978
  {
1901
1979
  method: "POST",
1902
1980
  headers: {
@@ -1998,8 +2076,15 @@ async function writeWorkflowPackageId(packageJsonPath, workflowId) {
1998
2076
  async function uploadPackage(options) {
1999
2077
  const archiveBuffer = await readFile3(options.archivePath);
2000
2078
  const archiveName = path4.basename(options.archivePath);
2079
+ const query = new URLSearchParams({ fileName: archiveName });
2080
+ if (options.executionTargets !== void 0) {
2081
+ query.set("serverRuntime", String(options.executionTargets.server));
2082
+ for (const platform of options.executionTargets.desktop) {
2083
+ query.append("desktopPlatform", platform);
2084
+ }
2085
+ }
2001
2086
  const response = await fetch(
2002
- `${trimTrailingSlash(options.server)}/api/workflows/${encodeURIComponent(options.workflowId)}/package?fileName=${encodeURIComponent(archiveName)}`,
2087
+ `${trimTrailingSlash(options.server)}/api/workflows/${encodeURIComponent(options.workflowId)}/package?${query.toString()}`,
2003
2088
  {
2004
2089
  method: "POST",
2005
2090
  headers: {
@@ -2204,7 +2289,8 @@ function parseArgs(argv) {
2204
2289
  server: process.env.WORKFLOW_SERVER_URL ?? authConfig.serverUrl ?? DEFAULT_SERVER_URL,
2205
2290
  token: process.env.WORKFLOW_SERVER_ADMIN_KEY ?? authConfig.apiKey ?? "",
2206
2291
  dependencies: [],
2207
- dataGrants: []
2292
+ dataGrants: [],
2293
+ desktopPlatforms: []
2208
2294
  };
2209
2295
  for (let index = 0; index < rest.length; index += 1) {
2210
2296
  const arg = rest[index];
@@ -2245,6 +2331,26 @@ function parseArgs(argv) {
2245
2331
  case "--no-wait":
2246
2332
  options.noWait = true;
2247
2333
  break;
2334
+ case "--server-runtime":
2335
+ if (options.serverRuntime === false) {
2336
+ throw new Error(i18n.t("serverRuntimeOptionsConflict", { ns: "cli" }));
2337
+ }
2338
+ options.serverRuntime = true;
2339
+ break;
2340
+ case "--no-server-runtime":
2341
+ if (options.serverRuntime === true) {
2342
+ throw new Error(i18n.t("serverRuntimeOptionsConflict", { ns: "cli" }));
2343
+ }
2344
+ options.serverRuntime = false;
2345
+ break;
2346
+ case "--desktop-platform": {
2347
+ const value = requireValue(rest, index += 1, "--desktop-platform");
2348
+ if (!isWorkflowDesktopExecutionPlatform(value)) {
2349
+ throw new Error(i18n.t("invalidDesktopPlatform", { ns: "cli", platform: value }));
2350
+ }
2351
+ if (!options.desktopPlatforms.includes(value)) options.desktopPlatforms.push(value);
2352
+ break;
2353
+ }
2248
2354
  case "--dependency":
2249
2355
  options.dependencies.push(requireValue(rest, index += 1, "--dependency"));
2250
2356
  break;
@@ -2297,7 +2403,14 @@ function parseArgs(argv) {
2297
2403
  if (options.projectGroup === true && command !== "pack" && command !== "upload" && command !== "publish") {
2298
2404
  throw new Error(i18n.t("projectGroupCommandUnsupported", { ns: "cli" }));
2299
2405
  }
2300
- if (options.deployment !== void 0 && (options.projectGroup === true || options.dependencies.length > 0 || options.dataGrants.length > 0 || options.path !== void 0 || options.file !== void 0 || options.output !== void 0 || options.create === true || options.releaseLog !== void 0 || options.sourceMode !== void 0)) {
2406
+ const hasExecutionTargetOptions = options.serverRuntime !== void 0 || options.desktopPlatforms.length > 0;
2407
+ if (hasExecutionTargetOptions && command !== "upload" && command !== "publish") {
2408
+ throw new Error(i18n.t("executionTargetCommandUnsupported", { ns: "cli" }));
2409
+ }
2410
+ if (options.sourceMode === "bundled" && options.desktopPlatforms.length > 0) {
2411
+ throw new Error(i18n.t("desktopPlatformRequiresSource", { ns: "cli" }));
2412
+ }
2413
+ if (options.deployment !== void 0 && (options.projectGroup === true || options.dependencies.length > 0 || options.dataGrants.length > 0 || options.path !== void 0 || options.file !== void 0 || options.output !== void 0 || options.create === true || options.releaseLog !== void 0 || options.sourceMode !== void 0 || hasExecutionTargetOptions)) {
2301
2414
  throw new Error(i18n.t("deploymentOptionsConflict", { ns: "cli" }));
2302
2415
  }
2303
2416
  return {
@@ -2306,6 +2419,16 @@ function parseArgs(argv) {
2306
2419
  options
2307
2420
  };
2308
2421
  }
2422
+ function resolveRequestedExecutionTargets(options, projectType) {
2423
+ if (options.serverRuntime === void 0 && options.desktopPlatforms.length === 0) return void 0;
2424
+ return {
2425
+ server: options.serverRuntime ?? projectType !== "kanban",
2426
+ desktop: [...options.desktopPlatforms]
2427
+ };
2428
+ }
2429
+ function resolveRequestedSourceMode(options, executionTargets) {
2430
+ return (executionTargets?.desktop.length ?? 0) > 0 ? "source" : options.sourceMode;
2431
+ }
2309
2432
  function requireLogin(parsed) {
2310
2433
  if (parsed.options.server.trim() === "" || parsed.options.token.trim() === "") {
2311
2434
  throw new Error(i18n.t("notLoggedIn", { ns: "cli" }));
@@ -2477,6 +2600,7 @@ export {
2477
2600
  resolveExplicitDataGrants,
2478
2601
  resolveRemoteWorkflowId,
2479
2602
  resolveRepoRoot,
2603
+ resolveRequestedExecutionTargets,
2480
2604
  shouldUseProjectGroupUpload,
2481
2605
  stageWorkflowWithLocalDependencies,
2482
2606
  waitForDeviceToken,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@workflow-code/cli",
3
- "version": "0.1.4-20260818001",
3
+ "version": "0.1.4-20260821001",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "workflow-code": "./dist/index.js"
@@ -18,7 +18,7 @@
18
18
  "tsx": "^4.21.0"
19
19
  },
20
20
  "peerDependencies": {
21
- "workflow-code": "0.1.4-20260818001"
21
+ "workflow-code": "0.1.4-20260821001"
22
22
  },
23
23
  "devDependencies": {
24
24
  "@types/node": "^25.6.0",
@@ -27,9 +27,10 @@
27
27
  "tsup": "^8.5.1",
28
28
  "typescript": "^6.0.3",
29
29
  "vitest": "^4.1.7",
30
- "workflow-code": "0.1.4-20260818001",
31
- "@workflow-code/i18n": "0.1.0",
30
+ "workflow-code": "0.1.4-20260821001",
32
31
  "@workflow-code/auth-config": "0.1.0",
32
+ "@workflow-code/execution-targets": "0.1.0",
33
+ "@workflow-code/i18n": "0.1.0",
33
34
  "@workflow-code/project-upload": "0.1.0",
34
35
  "@workflow-code/workflow-ids": "0.1.0"
35
36
  },