@tomflow/proflow-execution-browser-extension 0.1.14 → 0.1.15
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/CHANGELOG.md +6 -0
- package/dist/deployment/adapter.d.ts +9 -9
- package/dist/deployment/descriptor.d.ts +1 -1
- package/dist/deployment/descriptor.js +1 -1
- package/dist/extension/background.js +10 -1
- package/dist/src/install-workflow.js +2 -2
- package/extension/background.ts +10 -1
- package/manifest.json +1 -1
- package/package.json +4 -4
- package/proflow.module.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# @tomflow/proflow-execution-browser-extension
|
|
2
2
|
|
|
3
|
+
## 0.1.15
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Add professional setup orchestration, Provider FAST/THINK input, recoverable managed Dev Tunnel provisioning, Browser installation guidance, and precise status diagnostics.
|
|
8
|
+
|
|
3
9
|
## 0.1.14
|
|
4
10
|
|
|
5
11
|
### Patch Changes
|
|
@@ -24,7 +24,7 @@ export declare const behaviorAdapter: {
|
|
|
24
24
|
ok: true;
|
|
25
25
|
status: "SUCCEEDED";
|
|
26
26
|
moduleRef: "execution-browser-extension";
|
|
27
|
-
moduleVersion: "0.1.
|
|
27
|
+
moduleVersion: "0.1.15";
|
|
28
28
|
data: {
|
|
29
29
|
loadDir: string;
|
|
30
30
|
};
|
|
@@ -37,7 +37,7 @@ export declare const behaviorAdapter: {
|
|
|
37
37
|
readonly ok: true;
|
|
38
38
|
readonly status: "SUCCEEDED";
|
|
39
39
|
readonly moduleRef: "execution-browser-extension";
|
|
40
|
-
readonly moduleVersion: "0.1.
|
|
40
|
+
readonly moduleVersion: "0.1.15";
|
|
41
41
|
};
|
|
42
42
|
observedEffects: never[];
|
|
43
43
|
}>;
|
|
@@ -47,7 +47,7 @@ export declare const behaviorAdapter: {
|
|
|
47
47
|
ok: true;
|
|
48
48
|
status: "SUCCEEDED";
|
|
49
49
|
moduleRef: "execution-browser-extension";
|
|
50
|
-
moduleVersion: "0.1.
|
|
50
|
+
moduleVersion: "0.1.15";
|
|
51
51
|
data: {
|
|
52
52
|
setupStatus: "ACTION_REQUIRED" | "READY";
|
|
53
53
|
runtimeStatus: "NOT_APPLICABLE";
|
|
@@ -68,14 +68,14 @@ export declare const behaviorAdapter: {
|
|
|
68
68
|
readonly ok: true;
|
|
69
69
|
readonly status: "SUCCEEDED";
|
|
70
70
|
readonly moduleRef: "execution-browser-extension";
|
|
71
|
-
readonly moduleVersion: "0.1.
|
|
71
|
+
readonly moduleVersion: "0.1.15";
|
|
72
72
|
};
|
|
73
73
|
observedEffects: string[];
|
|
74
74
|
} | {
|
|
75
75
|
result: {
|
|
76
76
|
contract: "deployment.result.v1";
|
|
77
77
|
moduleRef: "execution-browser-extension";
|
|
78
|
-
moduleVersion: "0.1.
|
|
78
|
+
moduleVersion: "0.1.15";
|
|
79
79
|
ok: false;
|
|
80
80
|
status: "FAILED";
|
|
81
81
|
error: {
|
|
@@ -108,7 +108,7 @@ export declare const behaviorAdapter: {
|
|
|
108
108
|
ok: true;
|
|
109
109
|
status: "SUCCEEDED";
|
|
110
110
|
moduleRef: "execution-browser-extension";
|
|
111
|
-
moduleVersion: "0.1.
|
|
111
|
+
moduleVersion: "0.1.15";
|
|
112
112
|
data: {
|
|
113
113
|
docs: string;
|
|
114
114
|
};
|
|
@@ -121,11 +121,11 @@ export declare const behaviorAdapter: {
|
|
|
121
121
|
readonly ok: true;
|
|
122
122
|
readonly status: "SUCCEEDED";
|
|
123
123
|
readonly moduleRef: "execution-browser-extension";
|
|
124
|
-
readonly moduleVersion: "0.1.
|
|
124
|
+
readonly moduleVersion: "0.1.15";
|
|
125
125
|
} | {
|
|
126
126
|
contract: "deployment.result.v1";
|
|
127
127
|
moduleRef: "execution-browser-extension";
|
|
128
|
-
moduleVersion: "0.1.
|
|
128
|
+
moduleVersion: "0.1.15";
|
|
129
129
|
ok: false;
|
|
130
130
|
status: "FAILED";
|
|
131
131
|
error: {
|
|
@@ -142,7 +142,7 @@ export declare const behaviorAdapter: {
|
|
|
142
142
|
readonly ok: true;
|
|
143
143
|
readonly status: "SUCCEEDED";
|
|
144
144
|
readonly moduleRef: "execution-browser-extension";
|
|
145
|
-
readonly moduleVersion: "0.1.
|
|
145
|
+
readonly moduleVersion: "0.1.15";
|
|
146
146
|
};
|
|
147
147
|
observedEffects: never[];
|
|
148
148
|
}>;
|
|
@@ -3,7 +3,7 @@ export declare const descriptor: {
|
|
|
3
3
|
readonly contractVersion: "1.0.0";
|
|
4
4
|
readonly moduleRef: "execution-browser-extension";
|
|
5
5
|
readonly packageName: "@tomflow/proflow-execution-browser-extension";
|
|
6
|
-
readonly moduleVersion: "0.1.
|
|
6
|
+
readonly moduleVersion: "0.1.15";
|
|
7
7
|
readonly kind: "browser-extension";
|
|
8
8
|
readonly templateVersion: "1.0.0";
|
|
9
9
|
readonly platformCompatibility: ">=1.0.0 <2.0.0";
|
|
@@ -3,7 +3,7 @@ export const descriptor = {
|
|
|
3
3
|
contractVersion: "1.0.0",
|
|
4
4
|
moduleRef: "execution-browser-extension",
|
|
5
5
|
packageName: "@tomflow/proflow-execution-browser-extension",
|
|
6
|
-
moduleVersion: "0.1.
|
|
6
|
+
moduleVersion: "0.1.15",
|
|
7
7
|
kind: "browser-extension",
|
|
8
8
|
templateVersion: "1.0.0",
|
|
9
9
|
platformCompatibility: ">=1.0.0 <2.0.0",
|
|
@@ -14186,6 +14186,7 @@ async function persistSystemObserverState(result) {
|
|
|
14186
14186
|
});
|
|
14187
14187
|
}
|
|
14188
14188
|
var observerRecoveryInFlight = null;
|
|
14189
|
+
var observerRecoveryRetryCount = 0;
|
|
14189
14190
|
function runObserverRecovery() {
|
|
14190
14191
|
if (observerRecoveryInFlight) return observerRecoveryInFlight;
|
|
14191
14192
|
observerRecoveryInFlight = (async () => {
|
|
@@ -14221,7 +14222,15 @@ function runObserverRecovery() {
|
|
|
14221
14222
|
}
|
|
14222
14223
|
}
|
|
14223
14224
|
}
|
|
14224
|
-
const listed = await invokeTaskApplication("task.list", {})
|
|
14225
|
+
const listed = await invokeTaskApplication("task.list", {}).catch(
|
|
14226
|
+
() => null
|
|
14227
|
+
);
|
|
14228
|
+
if (listed === null && observerRecoveryRetryCount < 6) {
|
|
14229
|
+
observerRecoveryRetryCount += 1;
|
|
14230
|
+
setTimeout(() => void runObserverRecovery(), 2e3);
|
|
14231
|
+
} else if (listed !== null) {
|
|
14232
|
+
observerRecoveryRetryCount = 0;
|
|
14233
|
+
}
|
|
14225
14234
|
if (isRecord(listed) && Array.isArray(listed.tasks)) {
|
|
14226
14235
|
for (const candidate of listed.tasks.slice(0, 100)) {
|
|
14227
14236
|
if (!isRecord(candidate) || typeof candidate.taskId !== "string")
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { spawn, spawnSync } from "node:child_process";
|
|
2
2
|
export function browserExtensionInstallInstruction(loadDir) {
|
|
3
|
-
return `\nChrome 浏览器扩展\n\
|
|
3
|
+
return `\nChrome 浏览器扩展\n\n第一步|开启开发者模式\n请在已经打开的 Chrome 扩展管理页开启右上角“开发者模式”。\n\n第二步|加载扩展目录\n扩展目录路径已复制到剪贴板:\n${loadDir}\n\n1. 点击“加载未打包的扩展程序”\n2. 在目录选择窗口按 Cmd+Shift+G\n3. 按 Cmd+V 粘贴路径,然后按 Enter\n4. 点击 Select(选择)\n\n完成后无需返回输入任何内容。ProFlow 会自动检测 pairing 与 heartbeat 并继续。\n`;
|
|
4
4
|
}
|
|
5
5
|
export function browserExtensionSetupSuccessMessage() {
|
|
6
6
|
return "\n✓ Chrome 浏览器扩展已连接\n✓ 配置与真实 heartbeat 验证通过\n\n浏览器扩展:READY\n";
|
|
@@ -8,7 +8,7 @@ export function browserExtensionSetupSuccessMessage() {
|
|
|
8
8
|
export function browserExtensionSetupFailureMessage(error) {
|
|
9
9
|
const detail = error instanceof Error ? error.message : String(error);
|
|
10
10
|
if (detail === "PAIRING_TIMEOUT") {
|
|
11
|
-
return "✕ 暂未检测到浏览器扩展连接\n\n
|
|
11
|
+
return "✕ 暂未检测到浏览器扩展连接\n\n已准备好的扩展文件和机器配置不会丢失。重新执行 platform setup 后可以再次复制路径、重新打开 Chrome、显示完整路径或退出。\n错误代码:PAIRING_TIMEOUT\n";
|
|
12
12
|
}
|
|
13
13
|
const code = /^[A-Z][A-Z0-9_:-]*$/.test(detail)
|
|
14
14
|
? detail
|
package/extension/background.ts
CHANGED
|
@@ -583,6 +583,7 @@ async function persistSystemObserverState(
|
|
|
583
583
|
}
|
|
584
584
|
|
|
585
585
|
let observerRecoveryInFlight: Promise<void> | null = null;
|
|
586
|
+
let observerRecoveryRetryCount = 0;
|
|
586
587
|
function runObserverRecovery() {
|
|
587
588
|
if (observerRecoveryInFlight) return observerRecoveryInFlight;
|
|
588
589
|
observerRecoveryInFlight = (async () => {
|
|
@@ -636,7 +637,15 @@ function runObserverRecovery() {
|
|
|
636
637
|
}
|
|
637
638
|
}
|
|
638
639
|
}
|
|
639
|
-
const listed = await invokeTaskApplication("task.list", {})
|
|
640
|
+
const listed = await invokeTaskApplication("task.list", {}).catch(
|
|
641
|
+
() => null,
|
|
642
|
+
);
|
|
643
|
+
if (listed === null && observerRecoveryRetryCount < 6) {
|
|
644
|
+
observerRecoveryRetryCount += 1;
|
|
645
|
+
setTimeout(() => void runObserverRecovery(), 2_000);
|
|
646
|
+
} else if (listed !== null) {
|
|
647
|
+
observerRecoveryRetryCount = 0;
|
|
648
|
+
}
|
|
640
649
|
if (isRecord(listed) && Array.isArray(listed.tasks)) {
|
|
641
650
|
for (const candidate of listed.tasks.slice(0, 100)) {
|
|
642
651
|
if (!isRecord(candidate) || typeof candidate.taskId !== "string")
|
package/manifest.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tomflow/proflow-execution-browser-extension",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.15",
|
|
4
4
|
"description": "Execution-owned MV3 Browser executor, evidence provider and browser application surface.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"publishConfig": {
|
|
@@ -27,11 +27,11 @@
|
|
|
27
27
|
"SETUP.md"
|
|
28
28
|
],
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@tomflow/proflow-
|
|
31
|
-
"@tomflow/proflow-
|
|
30
|
+
"@tomflow/proflow-module-contract": "^0.1.13",
|
|
31
|
+
"@tomflow/proflow-execution-contracts": "^0.1.10"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
|
-
"@tomflow/proflow-deployment-conformance": "^0.1.
|
|
34
|
+
"@tomflow/proflow-deployment-conformance": "^0.1.13",
|
|
35
35
|
"@tomflow/proflow-execution-runtime": "^0.1.15"
|
|
36
36
|
},
|
|
37
37
|
"keywords": [
|
package/proflow.module.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"contractVersion": "1.0.0",
|
|
4
4
|
"moduleRef": "execution-browser-extension",
|
|
5
5
|
"packageName": "@tomflow/proflow-execution-browser-extension",
|
|
6
|
-
"moduleVersion": "0.1.
|
|
6
|
+
"moduleVersion": "0.1.15",
|
|
7
7
|
"kind": "browser-extension",
|
|
8
8
|
"templateVersion": "1.0.0",
|
|
9
9
|
"platformCompatibility": ">=1.0.0 <2.0.0",
|