@tomflow/proflow-execution-browser-extension 0.1.16 → 0.1.18
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 +12 -0
- package/dist/deployment/adapter.d.ts +10 -10
- package/dist/deployment/adapter.js +24 -1
- package/dist/deployment/descriptor.d.ts +1 -1
- package/dist/deployment/descriptor.js +1 -1
- package/dist/src/install-workflow.js +0 -1
- package/manifest.json +1 -1
- package/package.json +3 -3
- package/proflow.module.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @tomflow/proflow-execution-browser-extension
|
|
2
2
|
|
|
3
|
+
## 0.1.18
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Close the final Deployment replay defects: make Dev Tunnel CLI version probing tolerate real service latency, keep Browser Extension setup idempotent across retries, and remember a non-sensitive Provider endpoint across temporary outages without fabricating readiness.
|
|
8
|
+
|
|
9
|
+
## 0.1.17
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- Repack the Deployment Closeout release from freshly rebuilt artifacts and enforce build + publishability before every canonical publish.
|
|
14
|
+
|
|
3
15
|
## 0.1.16
|
|
4
16
|
|
|
5
17
|
### 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.18";
|
|
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.18";
|
|
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.18";
|
|
51
51
|
data: {
|
|
52
52
|
setupStatus: "ACTION_REQUIRED" | "READY";
|
|
53
53
|
runtimeStatus: "NOT_APPLICABLE";
|
|
@@ -66,7 +66,7 @@ export declare const behaviorAdapter: {
|
|
|
66
66
|
result: {
|
|
67
67
|
contract: "deployment.result.v1";
|
|
68
68
|
moduleRef: "execution-browser-extension";
|
|
69
|
-
moduleVersion: "0.1.
|
|
69
|
+
moduleVersion: "0.1.18";
|
|
70
70
|
ok: false;
|
|
71
71
|
status: "ACTION_REQUIRED";
|
|
72
72
|
data: {
|
|
@@ -98,14 +98,14 @@ export declare const behaviorAdapter: {
|
|
|
98
98
|
readonly ok: true;
|
|
99
99
|
readonly status: "SUCCEEDED";
|
|
100
100
|
readonly moduleRef: "execution-browser-extension";
|
|
101
|
-
readonly moduleVersion: "0.1.
|
|
101
|
+
readonly moduleVersion: "0.1.18";
|
|
102
102
|
};
|
|
103
103
|
observedEffects: string[];
|
|
104
104
|
} | {
|
|
105
105
|
result: {
|
|
106
106
|
contract: "deployment.result.v1";
|
|
107
107
|
moduleRef: "execution-browser-extension";
|
|
108
|
-
moduleVersion: "0.1.
|
|
108
|
+
moduleVersion: "0.1.18";
|
|
109
109
|
ok: false;
|
|
110
110
|
status: "FAILED";
|
|
111
111
|
error: {
|
|
@@ -138,7 +138,7 @@ export declare const behaviorAdapter: {
|
|
|
138
138
|
ok: true;
|
|
139
139
|
status: "SUCCEEDED";
|
|
140
140
|
moduleRef: "execution-browser-extension";
|
|
141
|
-
moduleVersion: "0.1.
|
|
141
|
+
moduleVersion: "0.1.18";
|
|
142
142
|
data: {
|
|
143
143
|
docs: string;
|
|
144
144
|
};
|
|
@@ -151,11 +151,11 @@ export declare const behaviorAdapter: {
|
|
|
151
151
|
readonly ok: true;
|
|
152
152
|
readonly status: "SUCCEEDED";
|
|
153
153
|
readonly moduleRef: "execution-browser-extension";
|
|
154
|
-
readonly moduleVersion: "0.1.
|
|
154
|
+
readonly moduleVersion: "0.1.18";
|
|
155
155
|
} | {
|
|
156
156
|
contract: "deployment.result.v1";
|
|
157
157
|
moduleRef: "execution-browser-extension";
|
|
158
|
-
moduleVersion: "0.1.
|
|
158
|
+
moduleVersion: "0.1.18";
|
|
159
159
|
ok: false;
|
|
160
160
|
status: "FAILED";
|
|
161
161
|
error: {
|
|
@@ -172,7 +172,7 @@ export declare const behaviorAdapter: {
|
|
|
172
172
|
readonly ok: true;
|
|
173
173
|
readonly status: "SUCCEEDED";
|
|
174
174
|
readonly moduleRef: "execution-browser-extension";
|
|
175
|
-
readonly moduleVersion: "0.1.
|
|
175
|
+
readonly moduleVersion: "0.1.18";
|
|
176
176
|
};
|
|
177
177
|
observedEffects: never[];
|
|
178
178
|
}>;
|
|
@@ -41,6 +41,7 @@ export function browserExtensionLoadDir(workspaceRoot) {
|
|
|
41
41
|
}
|
|
42
42
|
const stateDir = (context) => moduleWorkspaceStateDirectory(context, descriptor.moduleRef);
|
|
43
43
|
const setupFile = (context) => join(stateDir(context), "setup.json");
|
|
44
|
+
const installFlowFile = (context) => join(stateDir(context), "install-flow.json");
|
|
44
45
|
const verificationFile = (context) => join(stateDir(context), "verification.json");
|
|
45
46
|
const executorConfigFile = (context) => join(stateDir(context), "browser-executor.json");
|
|
46
47
|
async function credential(file) {
|
|
@@ -116,6 +117,21 @@ async function readSetup(context) {
|
|
|
116
117
|
return undefined;
|
|
117
118
|
}
|
|
118
119
|
}
|
|
120
|
+
async function readInstallFlow(context) {
|
|
121
|
+
try {
|
|
122
|
+
const raw = JSON.parse(await readFile(installFlowFile(context), "utf8"));
|
|
123
|
+
return raw.developerModeConfirmed === true
|
|
124
|
+
? { developerModeConfirmed: true }
|
|
125
|
+
: undefined;
|
|
126
|
+
}
|
|
127
|
+
catch {
|
|
128
|
+
return undefined;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
async function persistDeveloperModeConfirmation(context) {
|
|
132
|
+
await mkdir(stateDir(context), { recursive: true, mode: 0o700 });
|
|
133
|
+
await writeFile(installFlowFile(context), `${JSON.stringify({ developerModeConfirmed: true })}\n`, { mode: 0o600 });
|
|
134
|
+
}
|
|
119
135
|
async function readEvidence(context, loadDir) {
|
|
120
136
|
try {
|
|
121
137
|
const raw = JSON.parse(await readFile(verificationFile(context), "utf8"));
|
|
@@ -326,7 +342,10 @@ export const behaviorAdapter = {
|
|
|
326
342
|
const input = typeof context.input === "object" && context.input !== null
|
|
327
343
|
? context.input
|
|
328
344
|
: undefined;
|
|
329
|
-
|
|
345
|
+
const installFlow = await readInstallFlow(context);
|
|
346
|
+
const developerModeConfirmed = input?.developerModeConfirmed === true ||
|
|
347
|
+
installFlow?.developerModeConfirmed === true;
|
|
348
|
+
if (!developerModeConfirmed) {
|
|
330
349
|
await openBrowserExtensionManager(input?.desktop);
|
|
331
350
|
return {
|
|
332
351
|
result: {
|
|
@@ -360,6 +379,10 @@ export const behaviorAdapter = {
|
|
|
360
379
|
observedEffects: [],
|
|
361
380
|
};
|
|
362
381
|
}
|
|
382
|
+
if (input?.developerModeConfirmed === true &&
|
|
383
|
+
installFlow?.developerModeConfirmed !== true) {
|
|
384
|
+
await persistDeveloperModeConfirmation(context);
|
|
385
|
+
}
|
|
363
386
|
await runInteractiveBrowserExtensionSetup({
|
|
364
387
|
workspaceRoot: context.workspaceRoot,
|
|
365
388
|
...(input?.timeoutMs === undefined
|
|
@@ -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.18";
|
|
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.18",
|
|
7
7
|
kind: "browser-extension",
|
|
8
8
|
templateVersion: "1.0.0",
|
|
9
9
|
platformCompatibility: ">=1.0.0 <2.0.0",
|
|
@@ -60,7 +60,6 @@ export async function runInteractiveBrowserExtensionSetup(input) {
|
|
|
60
60
|
timeoutMs: input.timeoutMs ?? 120_000,
|
|
61
61
|
async onWaiting({ loadDir }) {
|
|
62
62
|
await desktop.copyText(loadDir);
|
|
63
|
-
await desktop.openExtensionsPage();
|
|
64
63
|
await desktop.showInstruction(browserExtensionInstallInstruction(loadDir));
|
|
65
64
|
},
|
|
66
65
|
});
|
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.18",
|
|
4
4
|
"description": "Execution-owned MV3 Browser executor, evidence provider and browser application surface.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"publishConfig": {
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
"SETUP.md"
|
|
28
28
|
],
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@tomflow/proflow-
|
|
31
|
-
"@tomflow/proflow-
|
|
30
|
+
"@tomflow/proflow-execution-contracts": "^0.1.10",
|
|
31
|
+
"@tomflow/proflow-module-contract": "^0.1.13"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"@tomflow/proflow-deployment-conformance": "^0.1.13",
|
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.18",
|
|
7
7
|
"kind": "browser-extension",
|
|
8
8
|
"templateVersion": "1.0.0",
|
|
9
9
|
"platformCompatibility": ">=1.0.0 <2.0.0",
|