@workflow-code/cli 0.2.4-20260928002 → 0.2.4-20261010001.codex-cli-web

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.
@@ -3238,7 +3238,16 @@ var common = {
3238
3238
  quotedValue: " \u201C{{value}}\u201D",
3239
3239
  previewAssistantMessage: "I will continue from this conversation and support **Markdown**.",
3240
3240
  previewUserMessage: "What is the weather today?",
3241
- workflowEntrypointUnavailableRefresh: "The selected workflow entrypoint no longer exists. Refresh and try again."
3241
+ workflowEntrypointUnavailableRefresh: "The selected workflow entrypoint no longer exists. Refresh and try again.",
3242
+ resourceCardPin: "Pin card",
3243
+ resourceCardUnpin: "Unpin card",
3244
+ resourceCardPinned: "Pinned cards ({{count}})",
3245
+ resourceCardSummary: "Resources in this reply ({{count}})",
3246
+ resourceCardShowPreview: "Show preview",
3247
+ resourceCardHidePreview: "Hide preview",
3248
+ resourceCardReady: "Ready",
3249
+ resourceCardOperation: { read: "Read", write: "Write", open: "Open", show: "Show" },
3250
+ resourceCardSource: { local: "Local", server: "Server", browser: "Browser" }
3242
3251
  };
3243
3252
 
3244
3253
  // .shared/i18n/resources/en/desktop.ts
@@ -4072,6 +4081,9 @@ var desktop = {
4072
4081
  projectCloudUuidMustMatch: "The local and cloud projects must use the same UUID.",
4073
4082
  kanbanLocalPreviewDesktopOnly: "Local Kanban preview is only available in Desktop.",
4074
4083
  kanbanPreviewNotReady: "Kanban preview is not ready.",
4084
+ kanbanUploadFileInvalid: "Select a regular file no larger than 50 MiB.",
4085
+ kanbanUploadFileReadFailed: "The selected file could not be read. Select it again.",
4086
+ kanbanUploadReadbackMismatch: "Server file readback does not match the selected file. The reference was not saved.",
4075
4087
  kanbanLocalOperationDesktopOnly: "Local Kanban operations are only available in Desktop.",
4076
4088
  kanbanLoadWorkspaceFailed: "Failed to load the Kanban workspace. Please retry.",
4077
4089
  kanbanPreviewUrlInvalid: "The server returned an invalid Kanban preview URL. Check the active Workflow Server connection and retry.",
@@ -7159,6 +7171,9 @@ var cli = {
7159
7171
  " pack <workflow> [--path <workflow-dir>] [--output <file.tgz>] [--project-group] [--dependency <alias>=<path>]",
7160
7172
  " 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>]",
7161
7173
  " preparation <workflow-id> <job-id>",
7174
+ " file-upload <workflow> --file <path> [--path <workflow-dir>] [--mime-type <type>]",
7175
+ " file-download <file-id> --output <new-file>",
7176
+ " file-delete <file-id>",
7162
7177
  " download <workflow> [--target draft|latest|version] [--path <dir>]",
7163
7178
  " publish <workflow> [--release-log <text>] [--source-mode bundled|source] [--server-runtime|--no-server-runtime] [--desktop-platform macos|windows] [--project-group] [--dependency <alias>=<path>]",
7164
7179
  " publish --deployment <id>",
@@ -7185,6 +7200,10 @@ var cli = {
7185
7200
  resolvedInputsMustBeArray: "--resolved-user-inputs-json must be an array.",
7186
7201
  invalidResolvedInput: "Invalid resolved user input item.",
7187
7202
  loginRequiresServer: "login requires --server.",
7203
+ fileUploadRequiresFile: "file-upload requires --file <path>.",
7204
+ fileDownloadRequiresOutput: "file-download requires --output <new-file>; existing files are never overwritten.",
7205
+ invalidUploadFile: "Upload requires a regular file no larger than 50 MiB.",
7206
+ mimeTypeCommandUnsupported: "--mime-type is only supported by file-upload.",
7188
7207
  deviceLoginPrompt: "Open the verification page to approve this login:\n{{url}}\nUser code: {{code}}",
7189
7208
  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.",
7190
7209
  archiveCreateFailed: "Failed to create archive: {{details}}",
@@ -8348,7 +8367,16 @@ var common2 = {
8348
8367
  quotedValue: "\u201C{{value}}\u201D",
8349
8368
  previewAssistantMessage: "\u6211\u4F1A\u57FA\u4E8E\u8FD9\u4E2A\u4F1A\u8BDD\u7EE7\u7EED\u56DE\u7B54\uFF0C\u652F\u6301 **Markdown**\u3002",
8350
8369
  previewUserMessage: "\u4ECA\u5929\u5929\u6C14\u5982\u4F55\uFF1F",
8351
- workflowEntrypointUnavailableRefresh: "\u6240\u9009 workflow \u5165\u53E3\u4E0D\u5B58\u5728\uFF0C\u8BF7\u5237\u65B0\u540E\u91CD\u8BD5\u3002"
8370
+ workflowEntrypointUnavailableRefresh: "\u6240\u9009 workflow \u5165\u53E3\u4E0D\u5B58\u5728\uFF0C\u8BF7\u5237\u65B0\u540E\u91CD\u8BD5\u3002",
8371
+ resourceCardPin: "\u56FA\u5B9A\u5361\u7247",
8372
+ resourceCardUnpin: "\u53D6\u6D88\u56FA\u5B9A",
8373
+ resourceCardPinned: "\u56FA\u5B9A\u5361\u7247\uFF08{{count}}\uFF09",
8374
+ resourceCardSummary: "\u672C\u6B21\u56DE\u590D\u7684\u8D44\u6E90\uFF08{{count}}\uFF09",
8375
+ resourceCardShowPreview: "\u5C55\u5F00\u9884\u89C8",
8376
+ resourceCardHidePreview: "\u6536\u8D77\u9884\u89C8",
8377
+ resourceCardReady: "\u5DF2\u5B8C\u6210",
8378
+ resourceCardOperation: { read: "\u8BFB\u53D6", write: "\u5199\u5165", open: "\u6253\u5F00", show: "\u5C55\u793A" },
8379
+ resourceCardSource: { local: "\u672C\u5730", server: "\u670D\u52A1\u7AEF", browser: "\u6D4F\u89C8\u5668" }
8352
8380
  };
8353
8381
 
8354
8382
  // .shared/i18n/resources/zh/desktop.ts
@@ -9182,6 +9210,9 @@ var desktop2 = {
9182
9210
  projectCloudUuidMustMatch: "\u672C\u5730\u9879\u76EE\u4E0E\u4E91\u7AEF\u9879\u76EE\u5FC5\u987B\u4F7F\u7528\u76F8\u540C UUID\u3002",
9183
9211
  kanbanLocalPreviewDesktopOnly: "Kanban \u672C\u5730\u9884\u89C8\u4EC5\u652F\u6301\u684C\u9762\u7AEF\u3002",
9184
9212
  kanbanPreviewNotReady: "Kanban \u9884\u89C8\u5C1A\u672A\u5C31\u7EEA\u3002",
9213
+ kanbanUploadFileInvalid: "\u8BF7\u9009\u62E9\u4E0D\u8D85\u8FC7 50 MiB \u7684\u666E\u901A\u6587\u4EF6\u3002",
9214
+ kanbanUploadFileReadFailed: "\u65E0\u6CD5\u8BFB\u53D6\u6240\u9009\u6587\u4EF6\uFF0C\u8BF7\u91CD\u65B0\u9009\u62E9\u3002",
9215
+ kanbanUploadReadbackMismatch: "\u670D\u52A1\u5668\u6587\u4EF6\u8BFB\u56DE\u4E0E\u6240\u9009\u6587\u4EF6\u4E0D\u4E00\u81F4\uFF0C\u672A\u4FDD\u5B58\u6587\u4EF6\u5F15\u7528\u3002",
9185
9216
  kanbanLocalOperationDesktopOnly: "Kanban \u672C\u5730\u64CD\u4F5C\u4EC5\u652F\u6301\u684C\u9762\u7AEF\u3002",
9186
9217
  kanbanLoadWorkspaceFailed: "\u52A0\u8F7D Kanban \u5DE5\u4F5C\u533A\u5931\u8D25\u3002\u8BF7\u91CD\u8BD5\u3002",
9187
9218
  kanbanPreviewUrlInvalid: "\u670D\u52A1\u5668\u8FD4\u56DE\u4E86\u65E0\u6548\u7684 Kanban \u9884\u89C8\u5730\u5740\u3002\u8BF7\u68C0\u67E5\u5F53\u524D Workflow Server \u8FDE\u63A5\u540E\u91CD\u8BD5\u3002",
@@ -12269,6 +12300,9 @@ var cli2 = {
12269
12300
  " pack <workflow> [--path <workflow-dir>] [--output <file.tgz>] [--project-group] [--dependency <alias>=<path>]",
12270
12301
  " 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>]",
12271
12302
  " preparation <workflow-id> <job-id>",
12303
+ " file-upload <workflow> --file <path> [--path <workflow-dir>] [--mime-type <type>]",
12304
+ " file-download <file-id> --output <new-file>",
12305
+ " file-delete <file-id>",
12272
12306
  " download <workflow> [--target draft|latest|version] [--path <dir>]",
12273
12307
  " publish <workflow> [--release-log <text>] [--source-mode bundled|source] [--server-runtime|--no-server-runtime] [--desktop-platform macos|windows] [--project-group] [--dependency <alias>=<path>]",
12274
12308
  " publish --deployment <id>",
@@ -12295,6 +12329,10 @@ var cli2 = {
12295
12329
  resolvedInputsMustBeArray: "--resolved-user-inputs-json \u5FC5\u987B\u662F\u6570\u7EC4\u3002",
12296
12330
  invalidResolvedInput: "\u7528\u6237\u8F93\u5165\u6062\u590D\u9879\u65E0\u6548\u3002",
12297
12331
  loginRequiresServer: "login \u547D\u4EE4\u9700\u8981 --server\u3002",
12332
+ fileUploadRequiresFile: "file-upload \u9700\u8981 --file <\u8DEF\u5F84>\u3002",
12333
+ fileDownloadRequiresOutput: "file-download \u9700\u8981 --output <\u65B0\u6587\u4EF6>\uFF0C\u4E0D\u4F1A\u8986\u76D6\u5DF2\u6709\u6587\u4EF6\u3002",
12334
+ invalidUploadFile: "\u4E0A\u4F20\u5185\u5BB9\u5FC5\u987B\u662F\u5927\u5C0F\u4E0D\u8D85\u8FC7 50 MiB \u7684\u666E\u901A\u6587\u4EF6\u3002",
12335
+ mimeTypeCommandUnsupported: "--mime-type \u4EC5\u652F\u6301 file-upload\u3002",
12298
12336
  deviceLoginPrompt: "\u8BF7\u6253\u5F00\u9A8C\u8BC1\u9875\u9762\u6279\u51C6\u672C\u6B21\u767B\u5F55\uFF1A\n{{url}}\n\u7528\u6237\u4EE3\u7801\uFF1A{{code}}",
12299
12337
  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",
12300
12338
  archiveCreateFailed: "\u521B\u5EFA\u5F52\u6863\u5931\u8D25\uFF1A{{details}}",
@@ -1,19 +1,5 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- // .shared/workflow-ids/index.ts
4
- import path from "path";
5
- var WORKFLOW_UUID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
6
- function isWorkflowUuid(value) {
7
- return WORKFLOW_UUID_PATTERN.test(value.trim());
8
- }
9
- function assertWorkflowUuid(value, label = "workflow id") {
10
- const normalized = value.trim();
11
- if (!isWorkflowUuid(normalized)) {
12
- throw new Error(`Invalid ${label} "${value}".`);
13
- }
14
- return normalized;
15
- }
16
-
17
3
  // .shared/project-info/index.ts
18
4
  var WORKFLOW_PROJECT_DATA_STORAGE_MODES = ["local", "server", "both"];
19
5
  var WORKFLOW_RELATED_PROJECT_ALIAS_PATTERN = /^[a-z][a-z0-9_-]{0,63}$/;
@@ -283,11 +269,25 @@ function isRecord(value) {
283
269
  return typeof value === "object" && value !== null && !Array.isArray(value);
284
270
  }
285
271
 
272
+ // .shared/workflow-ids/index.ts
273
+ import path from "path";
274
+ var WORKFLOW_UUID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
275
+ function isWorkflowUuid(value) {
276
+ return WORKFLOW_UUID_PATTERN.test(value.trim());
277
+ }
278
+ function assertWorkflowUuid(value, label = "workflow id") {
279
+ const normalized = value.trim();
280
+ if (!isWorkflowUuid(normalized)) {
281
+ throw new Error(`Invalid ${label} "${value}".`);
282
+ }
283
+ return normalized;
284
+ }
285
+
286
286
  export {
287
- isWorkflowUuid,
288
- assertWorkflowUuid,
289
287
  WORKFLOW_RELATED_PROJECT_ALIAS_PATTERN,
290
288
  readWorkflowProjectInfo,
291
289
  resolveWorkflowRelatedProjectAccess,
292
- isWorkflowProjectDataStorageLocationAllowed
290
+ isWorkflowProjectDataStorageLocationAllowed,
291
+ isWorkflowUuid,
292
+ assertWorkflowUuid
293
293
  };
@@ -5,7 +5,7 @@ import {
5
5
  isWorkflowProjectDataStorageLocationAllowed,
6
6
  readWorkflowProjectInfo,
7
7
  resolveWorkflowRelatedProjectAccess
8
- } from "./chunk-PI54SAI5.js";
8
+ } from "./chunk-BP2VDZQV.js";
9
9
 
10
10
  // src/related-projects.ts
11
11
  import os from "os";
@@ -4,7 +4,7 @@ import {
4
4
  initI18n,
5
5
  isSupportedLocale,
6
6
  normalizeLocale
7
- } from "./chunk-24EFJMHA.js";
7
+ } from "./chunk-7WEXRL5A.js";
8
8
 
9
9
  // src/locale.ts
10
10
  import { WORKFLOW_RUNTIME_LOCALE_ENV } from "workflow-code";
@@ -1,18 +1,18 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  prepareCliInvocation
4
- } from "./chunk-QRUACHXS.js";
4
+ } from "./chunk-J2JMC4MZ.js";
5
5
  import {
6
6
  createCliRelatedProjectRuntime,
7
7
  parseCliRelatedProjectSpec
8
- } from "./chunk-VMFPUXPG.js";
8
+ } from "./chunk-G7PZDTYW.js";
9
9
  import {
10
10
  readWorkflowProjectInfo
11
- } from "./chunk-PI54SAI5.js";
11
+ } from "./chunk-BP2VDZQV.js";
12
12
  import {
13
13
  i18n,
14
14
  translateWorkflowCodeError
15
- } from "./chunk-24EFJMHA.js";
15
+ } from "./chunk-7WEXRL5A.js";
16
16
  import {
17
17
  __commonJS,
18
18
  __toESM
@@ -2573,14 +2573,15 @@ if (isCliEntrypoint()) {
2573
2573
  function isCliEntrypoint() {
2574
2574
  return process.argv[1] !== void 0 && import.meta.url === pathToFileURL(path.resolve(process.argv[1])).href;
2575
2575
  }
2576
+
2576
2577
  export {
2577
2578
  WORKFLOW_DESKTOP_RUNTIME_EVENTS_ENV,
2578
2579
  WORKFLOW_DESKTOP_RUNTIME_EVENT_PREFIX,
2579
2580
  WORKFLOW_PARAM_ERROR_MARKER,
2580
- assertLocalCliCoreCompatible,
2581
- createDesktopRuntimeEventEmitter,
2582
- formatParamResolverFailure,
2583
2581
  main,
2582
+ formatParamResolverFailure,
2584
2583
  parseWorkflowArgs,
2584
+ createDesktopRuntimeEventEmitter,
2585
+ assertLocalCliCoreCompatible,
2585
2586
  readInstalledWorkflowCoreVersion
2586
2587
  };
package/dist/index.js CHANGED
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  prepareCliInvocation
4
- } from "./chunk-QRUACHXS.js";
4
+ } from "./chunk-J2JMC4MZ.js";
5
5
  import {
6
6
  i18n,
7
7
  translateWorkflowCodeError
8
- } from "./chunk-24EFJMHA.js";
8
+ } from "./chunk-7WEXRL5A.js";
9
9
  import "./chunk-NSPRIPOP.js";
10
10
 
11
11
  // src/index.ts
@@ -23,13 +23,17 @@ async function main(argv = process.argv.slice(2)) {
23
23
  }
24
24
  const prepared = prepareCliInvocation(argv);
25
25
  argv = prepared.argv;
26
+ if (argv[0] === "web") {
27
+ const webCli = await import("./web-U23BFLG4.js");
28
+ return webCli.main(argv.slice(1));
29
+ }
26
30
  if (argv[0] === "workspace") {
27
- const workspaceCli = await import("./workspace-W5CW24NG.js");
31
+ const workspaceCli = await import("./workspace-G7SB6MS5.js");
28
32
  await workspaceCli.main(argv.slice(1), { localeInitialized: true });
29
33
  return typeof process.exitCode === "number" ? process.exitCode : 0;
30
34
  }
31
35
  if (argv[0] === "mcp") {
32
- const mcpCli = await import("./mcp-IBG7Q3WR.js");
36
+ const mcpCli = await import("./mcp-5H6U7H4S.js");
33
37
  return mcpCli.main(argv.slice(1));
34
38
  }
35
39
  if (argv.length === 0 || argv[0] === "help" || argv[0] === "--help" || argv[0] === "-h") {
@@ -39,11 +43,13 @@ async function main(argv = process.argv.slice(2)) {
39
43
  }
40
44
  const { register } = await import("tsx/esm/api");
41
45
  register();
42
- const localCli = await import("./local-TOJX75PL.js");
46
+ const localCli = await import("./local-7HMZSBG2.js");
43
47
  return localCli.main(argv, { localeInitialized: true });
44
48
  }
45
49
  function formatHelp() {
46
- return i18n.t("rootHelp", { ns: "cli" });
50
+ return `${i18n.t("rootHelp", { ns: "cli" })}
51
+
52
+ workflow-code web [project-directory] ${i18n.language.startsWith("zh") ? "\u5728\u6D4F\u89C8\u5668\u6253\u5F00\u672C\u5730\u9879\u76EE" : "Open a local project in a browser"}`;
47
53
  }
48
54
  function isCliEntryPoint() {
49
55
  const entry = process.argv[1];
@@ -0,0 +1,28 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ WORKFLOW_DESKTOP_RUNTIME_EVENTS_ENV,
4
+ WORKFLOW_DESKTOP_RUNTIME_EVENT_PREFIX,
5
+ WORKFLOW_PARAM_ERROR_MARKER,
6
+ assertLocalCliCoreCompatible,
7
+ createDesktopRuntimeEventEmitter,
8
+ formatParamResolverFailure,
9
+ main,
10
+ parseWorkflowArgs,
11
+ readInstalledWorkflowCoreVersion
12
+ } from "./chunk-T4FXQ7AQ.js";
13
+ import "./chunk-J2JMC4MZ.js";
14
+ import "./chunk-G7PZDTYW.js";
15
+ import "./chunk-BP2VDZQV.js";
16
+ import "./chunk-7WEXRL5A.js";
17
+ import "./chunk-NSPRIPOP.js";
18
+ export {
19
+ WORKFLOW_DESKTOP_RUNTIME_EVENTS_ENV,
20
+ WORKFLOW_DESKTOP_RUNTIME_EVENT_PREFIX,
21
+ WORKFLOW_PARAM_ERROR_MARKER,
22
+ assertLocalCliCoreCompatible,
23
+ createDesktopRuntimeEventEmitter,
24
+ formatParamResolverFailure,
25
+ main,
26
+ parseWorkflowArgs,
27
+ readInstalledWorkflowCoreVersion
28
+ };
@@ -1,19 +1,19 @@
1
1
  #!/usr/bin/env node
2
+ import {
3
+ parseCliRelatedProjectSpec
4
+ } from "./chunk-G7PZDTYW.js";
2
5
  import {
3
6
  isWorkflowAuthConfigLoggedIn,
4
7
  normalizeWorkflowAuthConfig,
5
8
  readCliAuthConfigSync,
6
9
  resolveWorkflowDesktopConfigFilePath
7
10
  } from "./chunk-PGM3IPWA.js";
8
- import {
9
- parseCliRelatedProjectSpec
10
- } from "./chunk-VMFPUXPG.js";
11
11
  import {
12
12
  assertWorkflowUuid
13
- } from "./chunk-PI54SAI5.js";
13
+ } from "./chunk-BP2VDZQV.js";
14
14
  import {
15
15
  i18n
16
- } from "./chunk-24EFJMHA.js";
16
+ } from "./chunk-7WEXRL5A.js";
17
17
  import {
18
18
  __commonJS,
19
19
  __export,