@workflow-code/cli 0.2.4-20261012003.codex-cli-web → 0.2.4-20261012004.codex-studio-integration
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.
- package/dist/{chunk-PGM3IPWA.js → chunk-SGVXPYCT.js} +1 -0
- package/dist/index.js +3 -3
- package/dist/{mcp-LQ2IV6VA.js → mcp-UQTMW3LK.js} +1 -1
- package/dist/web/kanban-workspace.js +10 -2
- package/dist/web/workflow-ui.js +10 -2
- package/dist/web/workflow-workspace.js +10 -2
- package/dist/{web-YUMRIE22.js → web-OMVO2EGT.js} +16 -7
- package/dist/{workspace-V3UXVFK6.js → workspace-OKFR57T6.js} +1 -1
- package/package.json +4 -4
package/dist/index.js
CHANGED
|
@@ -24,16 +24,16 @@ async function main(argv = process.argv.slice(2)) {
|
|
|
24
24
|
const prepared = prepareCliInvocation(argv);
|
|
25
25
|
argv = prepared.argv;
|
|
26
26
|
if (argv[0] === "web") {
|
|
27
|
-
const webCli = await import("./web-
|
|
27
|
+
const webCli = await import("./web-OMVO2EGT.js");
|
|
28
28
|
return webCli.main(argv.slice(1));
|
|
29
29
|
}
|
|
30
30
|
if (argv[0] === "workspace") {
|
|
31
|
-
const workspaceCli = await import("./workspace-
|
|
31
|
+
const workspaceCli = await import("./workspace-OKFR57T6.js");
|
|
32
32
|
await workspaceCli.main(argv.slice(1), { localeInitialized: true });
|
|
33
33
|
return typeof process.exitCode === "number" ? process.exitCode : 0;
|
|
34
34
|
}
|
|
35
35
|
if (argv[0] === "mcp") {
|
|
36
|
-
const mcpCli = await import("./mcp-
|
|
36
|
+
const mcpCli = await import("./mcp-UQTMW3LK.js");
|
|
37
37
|
return mcpCli.main(argv.slice(1));
|
|
38
38
|
}
|
|
39
39
|
if (argv.length === 0 || argv[0] === "help" || argv[0] === "--help" || argv[0] === "-h") {
|
|
@@ -12720,6 +12720,7 @@
|
|
|
12720
12720
|
Loop: "\u5FAA\u73AF",
|
|
12721
12721
|
"Loop end": "\u5FAA\u73AF\u7ED3\u675F",
|
|
12722
12722
|
"Managed by server": "\u7531\u670D\u52A1\u5668\u7BA1\u7406",
|
|
12723
|
+
"Manage this account through Studio.": "\u8BF7\u5728 Studio \u4E2D\u7BA1\u7406\u6B64\u8D26\u53F7\u3002",
|
|
12723
12724
|
Merge: "\u6C47\u5408",
|
|
12724
12725
|
Message: "\u6D88\u606F",
|
|
12725
12726
|
Monthly: "\u6BCF\u6708",
|
|
@@ -15144,8 +15145,9 @@ Please report this to https://github.com/markedjs/marked.`, e) {
|
|
|
15144
15145
|
|
|
15145
15146
|
// src/web/ui/account.ts
|
|
15146
15147
|
var AccountPanel = class {
|
|
15147
|
-
constructor(menu2, request2) {
|
|
15148
|
+
constructor(menu2, request2, openHostAccount) {
|
|
15148
15149
|
this.request = request2;
|
|
15150
|
+
this.openHostAccount = openHostAccount;
|
|
15149
15151
|
this.button.id = "web-account";
|
|
15150
15152
|
this.button.className = "web-account";
|
|
15151
15153
|
this.button.type = "button";
|
|
@@ -15217,6 +15219,7 @@ Please report this to https://github.com/markedjs/marked.`, e) {
|
|
|
15217
15219
|
});
|
|
15218
15220
|
}
|
|
15219
15221
|
request;
|
|
15222
|
+
openHostAccount;
|
|
15220
15223
|
button = document.createElement("button");
|
|
15221
15224
|
dialog = document.createElement("dialog");
|
|
15222
15225
|
state;
|
|
@@ -15226,6 +15229,10 @@ Please report this to https://github.com/markedjs/marked.`, e) {
|
|
|
15226
15229
|
return this.dialog.querySelector(selector);
|
|
15227
15230
|
}
|
|
15228
15231
|
open() {
|
|
15232
|
+
if (this.openHostAccount) {
|
|
15233
|
+
this.openHostAccount();
|
|
15234
|
+
return;
|
|
15235
|
+
}
|
|
15229
15236
|
this.render();
|
|
15230
15237
|
if (!this.dialog.open) {
|
|
15231
15238
|
this.dialog.showModal();
|
|
@@ -15805,7 +15812,8 @@ ${state2.user?.avatarUrl ?? ""}`;
|
|
|
15805
15812
|
};
|
|
15806
15813
|
let accountPanel;
|
|
15807
15814
|
queueMicrotask(() => {
|
|
15808
|
-
|
|
15815
|
+
const openHostAccount = document.body.dataset.accountHost === "true" ? () => window.parent.postMessage({ type: "workflow-account", version: 1 }, "*") : void 0;
|
|
15816
|
+
accountPanel = new AccountPanel(document.querySelector("#project-menu"), request2, openHostAccount);
|
|
15809
15817
|
});
|
|
15810
15818
|
return {
|
|
15811
15819
|
postMessage: async (message) => {
|
package/dist/web/workflow-ui.js
CHANGED
|
@@ -12720,6 +12720,7 @@
|
|
|
12720
12720
|
Loop: "\u5FAA\u73AF",
|
|
12721
12721
|
"Loop end": "\u5FAA\u73AF\u7ED3\u675F",
|
|
12722
12722
|
"Managed by server": "\u7531\u670D\u52A1\u5668\u7BA1\u7406",
|
|
12723
|
+
"Manage this account through Studio.": "\u8BF7\u5728 Studio \u4E2D\u7BA1\u7406\u6B64\u8D26\u53F7\u3002",
|
|
12723
12724
|
Merge: "\u6C47\u5408",
|
|
12724
12725
|
Message: "\u6D88\u606F",
|
|
12725
12726
|
Monthly: "\u6BCF\u6708",
|
|
@@ -16837,8 +16838,9 @@ ${JSON.stringify(output.details, null, 2)}` : "");
|
|
|
16837
16838
|
|
|
16838
16839
|
// src/web/ui/account.ts
|
|
16839
16840
|
var AccountPanel = class {
|
|
16840
|
-
constructor(menu, request) {
|
|
16841
|
+
constructor(menu, request, openHostAccount) {
|
|
16841
16842
|
this.request = request;
|
|
16843
|
+
this.openHostAccount = openHostAccount;
|
|
16842
16844
|
this.button.id = "web-account";
|
|
16843
16845
|
this.button.className = "web-account";
|
|
16844
16846
|
this.button.type = "button";
|
|
@@ -16910,6 +16912,7 @@ ${JSON.stringify(output.details, null, 2)}` : "");
|
|
|
16910
16912
|
});
|
|
16911
16913
|
}
|
|
16912
16914
|
request;
|
|
16915
|
+
openHostAccount;
|
|
16913
16916
|
button = document.createElement("button");
|
|
16914
16917
|
dialog = document.createElement("dialog");
|
|
16915
16918
|
state;
|
|
@@ -16919,6 +16922,10 @@ ${JSON.stringify(output.details, null, 2)}` : "");
|
|
|
16919
16922
|
return this.dialog.querySelector(selector);
|
|
16920
16923
|
}
|
|
16921
16924
|
open() {
|
|
16925
|
+
if (this.openHostAccount) {
|
|
16926
|
+
this.openHostAccount();
|
|
16927
|
+
return;
|
|
16928
|
+
}
|
|
16922
16929
|
this.render();
|
|
16923
16930
|
if (!this.dialog.open) {
|
|
16924
16931
|
this.dialog.showModal();
|
|
@@ -17498,7 +17505,8 @@ ${state.user?.avatarUrl ?? ""}`;
|
|
|
17498
17505
|
};
|
|
17499
17506
|
let accountPanel;
|
|
17500
17507
|
queueMicrotask(() => {
|
|
17501
|
-
|
|
17508
|
+
const openHostAccount = document.body.dataset.accountHost === "true" ? () => window.parent.postMessage({ type: "workflow-account", version: 1 }, "*") : void 0;
|
|
17509
|
+
accountPanel = new AccountPanel(document.querySelector("#project-menu"), request, openHostAccount);
|
|
17502
17510
|
});
|
|
17503
17511
|
return {
|
|
17504
17512
|
postMessage: async (message) => {
|
|
@@ -16249,6 +16249,7 @@
|
|
|
16249
16249
|
Loop: "\u5FAA\u73AF",
|
|
16250
16250
|
"Loop end": "\u5FAA\u73AF\u7ED3\u675F",
|
|
16251
16251
|
"Managed by server": "\u7531\u670D\u52A1\u5668\u7BA1\u7406",
|
|
16252
|
+
"Manage this account through Studio.": "\u8BF7\u5728 Studio \u4E2D\u7BA1\u7406\u6B64\u8D26\u53F7\u3002",
|
|
16252
16253
|
Merge: "\u6C47\u5408",
|
|
16253
16254
|
Message: "\u6D88\u606F",
|
|
16254
16255
|
Monthly: "\u6BCF\u6708",
|
|
@@ -18688,8 +18689,9 @@ Please report this to https://github.com/markedjs/marked.`, e) {
|
|
|
18688
18689
|
|
|
18689
18690
|
// src/web/ui/account.ts
|
|
18690
18691
|
var AccountPanel = class {
|
|
18691
|
-
constructor(menu2, request) {
|
|
18692
|
+
constructor(menu2, request, openHostAccount) {
|
|
18692
18693
|
this.request = request;
|
|
18694
|
+
this.openHostAccount = openHostAccount;
|
|
18693
18695
|
this.button.id = "web-account";
|
|
18694
18696
|
this.button.className = "web-account";
|
|
18695
18697
|
this.button.type = "button";
|
|
@@ -18761,6 +18763,7 @@ Please report this to https://github.com/markedjs/marked.`, e) {
|
|
|
18761
18763
|
});
|
|
18762
18764
|
}
|
|
18763
18765
|
request;
|
|
18766
|
+
openHostAccount;
|
|
18764
18767
|
button = document.createElement("button");
|
|
18765
18768
|
dialog = document.createElement("dialog");
|
|
18766
18769
|
state;
|
|
@@ -18770,6 +18773,10 @@ Please report this to https://github.com/markedjs/marked.`, e) {
|
|
|
18770
18773
|
return this.dialog.querySelector(selector);
|
|
18771
18774
|
}
|
|
18772
18775
|
open() {
|
|
18776
|
+
if (this.openHostAccount) {
|
|
18777
|
+
this.openHostAccount();
|
|
18778
|
+
return;
|
|
18779
|
+
}
|
|
18773
18780
|
this.render();
|
|
18774
18781
|
if (!this.dialog.open) {
|
|
18775
18782
|
this.dialog.showModal();
|
|
@@ -19349,7 +19356,8 @@ ${state2.user?.avatarUrl ?? ""}`;
|
|
|
19349
19356
|
};
|
|
19350
19357
|
let accountPanel;
|
|
19351
19358
|
queueMicrotask(() => {
|
|
19352
|
-
|
|
19359
|
+
const openHostAccount = document.body.dataset.accountHost === "true" ? () => window.parent.postMessage({ type: "workflow-account", version: 1 }, "*") : void 0;
|
|
19360
|
+
accountPanel = new AccountPanel(document.querySelector("#project-menu"), request, openHostAccount);
|
|
19353
19361
|
});
|
|
19354
19362
|
return {
|
|
19355
19363
|
postMessage: async (message) => {
|
|
@@ -24,9 +24,10 @@ import "./chunk-J2JMC4MZ.js";
|
|
|
24
24
|
import "./chunk-MNY562W5.js";
|
|
25
25
|
import {
|
|
26
26
|
clearCliAuthConfig,
|
|
27
|
+
createEmptyWorkflowAuthConfig,
|
|
27
28
|
readCliAuthConfig,
|
|
28
29
|
writeCliAuthConfig
|
|
29
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-SGVXPYCT.js";
|
|
30
31
|
import {
|
|
31
32
|
isWorkflowProjectDataStorageLocationAllowed,
|
|
32
33
|
readWorkflowProjectInfo,
|
|
@@ -176,6 +177,7 @@ var messages_zh_cn_default = {
|
|
|
176
177
|
Loop: "\u5FAA\u73AF",
|
|
177
178
|
"Loop end": "\u5FAA\u73AF\u7ED3\u675F",
|
|
178
179
|
"Managed by server": "\u7531\u670D\u52A1\u5668\u7BA1\u7406",
|
|
180
|
+
"Manage this account through Studio.": "\u8BF7\u5728 Studio \u4E2D\u7BA1\u7406\u6B64\u8D26\u53F7\u3002",
|
|
179
181
|
Merge: "\u6C47\u5408",
|
|
180
182
|
Message: "\u6D88\u606F",
|
|
181
183
|
Monthly: "\u6BCF\u6708",
|
|
@@ -2728,7 +2730,7 @@ async function startWebServer(options) {
|
|
|
2728
2730
|
let login;
|
|
2729
2731
|
let passwordLogin = false;
|
|
2730
2732
|
let hostConnection = options.host?.connection;
|
|
2731
|
-
let hostManaged =
|
|
2733
|
+
let hostManaged = options.host !== void 0;
|
|
2732
2734
|
let authEpoch = 0;
|
|
2733
2735
|
let authenticationInitialized = false;
|
|
2734
2736
|
let authCheck;
|
|
@@ -2891,7 +2893,7 @@ async function startWebServer(options) {
|
|
|
2891
2893
|
return;
|
|
2892
2894
|
}
|
|
2893
2895
|
const readingEpoch = authEpoch;
|
|
2894
|
-
const config = await readCliAuthConfig();
|
|
2896
|
+
const config = hostManaged ? createEmptyWorkflowAuthConfig() : await readCliAuthConfig();
|
|
2895
2897
|
if (readingEpoch !== authEpoch) {
|
|
2896
2898
|
return;
|
|
2897
2899
|
}
|
|
@@ -3220,6 +3222,9 @@ ${token}`;
|
|
|
3220
3222
|
break;
|
|
3221
3223
|
}
|
|
3222
3224
|
case "login": {
|
|
3225
|
+
if (hostManaged) {
|
|
3226
|
+
throw new Error(t("Manage this account through Studio."));
|
|
3227
|
+
}
|
|
3223
3228
|
if (!options.host && process.env.WORKFLOW_SERVER_ADMIN_KEY !== void 0) {
|
|
3224
3229
|
throw new Error("This session is supplied by the host. Sign in through the host.");
|
|
3225
3230
|
}
|
|
@@ -3275,15 +3280,19 @@ ${token}`;
|
|
|
3275
3280
|
case "verify":
|
|
3276
3281
|
await refreshAuth(true);
|
|
3277
3282
|
break;
|
|
3278
|
-
case "logout":
|
|
3283
|
+
case "logout": {
|
|
3284
|
+
if (hostManaged) {
|
|
3285
|
+
throw new Error(t("Manage this account through Studio."));
|
|
3286
|
+
}
|
|
3279
3287
|
signedOut = true;
|
|
3280
3288
|
login?.kill();
|
|
3281
|
-
if (
|
|
3289
|
+
if (process.env.WORKFLOW_SERVER_ADMIN_KEY === void 0) {
|
|
3282
3290
|
await clearCliAuthConfig();
|
|
3283
3291
|
}
|
|
3284
3292
|
authIdentity = "signed-out";
|
|
3285
3293
|
await refreshAuth();
|
|
3286
3294
|
break;
|
|
3295
|
+
}
|
|
3287
3296
|
default:
|
|
3288
3297
|
throw new Error(`Unsupported action: ${message.type}`);
|
|
3289
3298
|
}
|
|
@@ -3391,7 +3400,7 @@ ${token}`;
|
|
|
3391
3400
|
const ancestors = options.host ? "'self' vscode-webview: vscode-file: https://*.vscode-cdn.net https://*.vscode-webview.net http://127.0.0.1:* http://localhost:*" : "'self' vscode-webview:";
|
|
3392
3401
|
response.writeHead(200, { "Content-Type": "text/html; charset=utf-8", "Cache-Control": "no-store", "Content-Security-Policy": `default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data: https: http:; font-src 'self'; connect-src 'self'; media-src 'self' blob:; frame-src 'self'; object-src 'none'; base-uri 'none'; frame-ancestors ${ancestors}; form-action 'self'` });
|
|
3393
3402
|
const ui = isKanban ? "kanban-workspace" : isWorkflow ? "workflow-workspace" : "workflow-ui";
|
|
3394
|
-
response.end(`<!doctype html><html lang="${locale()}" data-theme="${options.theme ?? "auto"}"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><meta name="workflow-project" content="${key}"><title>Workflow</title><link rel="stylesheet" href="/assets/codicons/codicon.css"><link rel="stylesheet" href="/assets/${ui}.css"><link rel="stylesheet" href="/assets/theme.css"></head><body data-surface="${options.host?.surface ?? "editor"}"><div id="app"></div><script src="/assets/${ui}.js" defer></script></body></html>`);
|
|
3403
|
+
response.end(`<!doctype html><html lang="${locale()}" data-theme="${options.theme ?? "auto"}"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><meta name="workflow-project" content="${key}"><title>Workflow</title><link rel="stylesheet" href="/assets/codicons/codicon.css"><link rel="stylesheet" href="/assets/${ui}.css"><link rel="stylesheet" href="/assets/theme.css"></head><body data-surface="${options.host?.surface ?? "editor"}" data-account-host="${hostManaged}"><div id="app"></div><script src="/assets/${ui}.js" defer></script></body></html>`);
|
|
3395
3404
|
return;
|
|
3396
3405
|
}
|
|
3397
3406
|
const assets = { "/assets/workflow-ui.js": "application/javascript", "/assets/workflow-ui.css": "text/css", "/assets/theme.css": "text/css", "/assets/codicons/codicon.css": "text/css", "/assets/codicons/codicon.ttf": "font/ttf" };
|
|
@@ -3604,7 +3613,7 @@ async function main(argv) {
|
|
|
3604
3613
|
};
|
|
3605
3614
|
process.once("SIGINT", close);
|
|
3606
3615
|
process.once("SIGTERM", close);
|
|
3607
|
-
console.log(options.json ? JSON.stringify({ type: "ready", protocolVersion: 1, hostProtocolVersion: 1, traceProtocolVersion: 1, assistantProtocolVersion: host?.assistant ? ASSISTANT_PROTOCOL_VERSION : void 0, url: app.url, project: { id: app.project.id, name: app.project.name, projectType: app.project.projectType }, runtime: app.project.runtime }) : `Workflow Web: ${app.url}`);
|
|
3616
|
+
console.log(options.json ? JSON.stringify({ type: "ready", protocolVersion: 1, hostProtocolVersion: 1, accountProtocolVersion: 1, traceProtocolVersion: 1, assistantProtocolVersion: host?.assistant ? ASSISTANT_PROTOCOL_VERSION : void 0, url: app.url, project: { id: app.project.id, name: app.project.name, projectType: app.project.projectType }, runtime: app.project.runtime }) : `Workflow Web: ${app.url}`);
|
|
3608
3617
|
if (lines) {
|
|
3609
3618
|
void (async () => {
|
|
3610
3619
|
try {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@workflow-code/cli",
|
|
3
|
-
"version": "0.2.4-
|
|
3
|
+
"version": "0.2.4-20261012004.codex-studio-integration",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"bin": {
|
|
6
6
|
"workflow-code": "./dist/index.js"
|
|
@@ -36,17 +36,17 @@
|
|
|
36
36
|
"typescript": "^6.0.3",
|
|
37
37
|
"vitest": "^4.1.7",
|
|
38
38
|
"workflow-code": "0.2.4-20260929001",
|
|
39
|
-
"@workflow-code/auth-config": "0.1.0",
|
|
40
39
|
"@workflow-code/execution-targets": "0.1.0",
|
|
41
40
|
"@workflow-code/i18n": "0.1.0",
|
|
42
41
|
"@workflow-code/kanban-project": "0.1.0",
|
|
43
42
|
"@workflow-code/openai-responses": "0.1.0",
|
|
44
43
|
"@workflow-code/project-dependencies": "0.1.0",
|
|
45
|
-
"@workflow-code/project-upload": "0.1.0",
|
|
46
44
|
"@workflow-code/project-info": "0.1.0",
|
|
47
45
|
"@workflow-code/runtime-compatibility": "0.1.0",
|
|
46
|
+
"@workflow-code/project-upload": "0.1.0",
|
|
47
|
+
"@workflow-code/workflow-mcp": "0.1.0",
|
|
48
48
|
"@workflow-code/workflow-ids": "0.1.0",
|
|
49
|
-
"@workflow-code/
|
|
49
|
+
"@workflow-code/auth-config": "0.1.0"
|
|
50
50
|
},
|
|
51
51
|
"scripts": {
|
|
52
52
|
"bootstrap": "node scripts/bootstrap.mjs",
|