@tomflow/proflow-execution-runtime 0.1.13 → 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 +12 -0
- package/SETUP.md +1 -1
- package/dist/deployment/adapter.d.ts +19 -67
- package/dist/deployment/adapter.js +33 -63
- package/dist/deployment/descriptor.d.ts +1 -1
- package/dist/deployment/descriptor.js +1 -1
- package/package.json +7 -7
- package/proflow.module.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @tomflow/proflow-execution-runtime
|
|
2
2
|
|
|
3
|
+
## 0.1.15
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Retire the obsolete Carrier package and Browser standalone management CLI, make Platform setup/status preserve owner and dependency semantics, and enforce read-only status observation across the final Real-3 deployment closeout.
|
|
8
|
+
|
|
9
|
+
## 0.1.14
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- Ship the Phase 3 browser, tunnel, model automation, platform readiness, and documentation closure as one verifiable platform snapshot.
|
|
14
|
+
|
|
3
15
|
## 0.1.13
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
package/SETUP.md
CHANGED
|
@@ -23,6 +23,6 @@ Success condition: `model-runtime.setupStatus=READY`.
|
|
|
23
23
|
Responsible: USER
|
|
24
24
|
Interactive executable: `platform setup --module execution-browser-extension`
|
|
25
25
|
Non-interactive executable: `platform setup --module execution-browser-extension`
|
|
26
|
-
Required inputs:
|
|
26
|
+
Required inputs: none
|
|
27
27
|
Verify: `platform status`
|
|
28
28
|
Success condition: `execution-browser-extension.setupStatus=READY`.
|
|
@@ -6,7 +6,7 @@ export declare const behaviorAdapter: {
|
|
|
6
6
|
ok: true;
|
|
7
7
|
status: "SUCCEEDED";
|
|
8
8
|
moduleRef: "execution-runtime";
|
|
9
|
-
moduleVersion: "0.1.
|
|
9
|
+
moduleVersion: "0.1.15";
|
|
10
10
|
data: {
|
|
11
11
|
endpoint: string;
|
|
12
12
|
transportCredentialFile: string;
|
|
@@ -23,7 +23,7 @@ export declare const behaviorAdapter: {
|
|
|
23
23
|
readonly ok: true;
|
|
24
24
|
readonly status: "SUCCEEDED";
|
|
25
25
|
readonly moduleRef: "execution-runtime";
|
|
26
|
-
readonly moduleVersion: "0.1.
|
|
26
|
+
readonly moduleVersion: "0.1.15";
|
|
27
27
|
};
|
|
28
28
|
observedEffects: ("Persists execution state, output references and evidence in WAL SQLite" | "Runs the single backend Execution Runtime service")[];
|
|
29
29
|
}>;
|
|
@@ -33,12 +33,12 @@ export declare const behaviorAdapter: {
|
|
|
33
33
|
ok: true;
|
|
34
34
|
status: "SUCCEEDED";
|
|
35
35
|
moduleRef: "execution-runtime";
|
|
36
|
-
moduleVersion: "0.1.
|
|
36
|
+
moduleVersion: "0.1.15";
|
|
37
37
|
data: {
|
|
38
|
-
setupStatus: "
|
|
38
|
+
setupStatus: "READY";
|
|
39
39
|
runtimeStatus: "RUNNING" | "STOPPED";
|
|
40
40
|
issues?: {
|
|
41
|
-
scope: "
|
|
41
|
+
scope: "RUNTIME";
|
|
42
42
|
code: string;
|
|
43
43
|
message: string;
|
|
44
44
|
relatedModuleRefs: string[];
|
|
@@ -50,65 +50,17 @@ export declare const behaviorAdapter: {
|
|
|
50
50
|
}>;
|
|
51
51
|
readonly setup: (context: ModuleCommandContext) => Promise<{
|
|
52
52
|
result: {
|
|
53
|
-
readonly contract: "deployment.result.v1";
|
|
54
|
-
readonly ok: true;
|
|
55
|
-
readonly status: "SUCCEEDED";
|
|
56
|
-
readonly moduleRef: "execution-runtime";
|
|
57
|
-
readonly moduleVersion: "0.1.13";
|
|
58
|
-
} | {
|
|
59
53
|
contract: "deployment.result.v1";
|
|
54
|
+
ok: true;
|
|
55
|
+
status: "SUCCEEDED";
|
|
60
56
|
moduleRef: "execution-runtime";
|
|
61
|
-
moduleVersion: "0.1.
|
|
62
|
-
ok: false;
|
|
63
|
-
status: "FAILED";
|
|
64
|
-
error: {
|
|
65
|
-
code: "SETUP_FAILED" | "START_FAILED" | "STOP_FAILED";
|
|
66
|
-
message: string;
|
|
67
|
-
retryable: boolean;
|
|
68
|
-
};
|
|
57
|
+
moduleVersion: "0.1.15";
|
|
69
58
|
data: {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
readonly execution: {
|
|
76
|
-
readonly interactive: "platform setup --module platform-host";
|
|
77
|
-
readonly nonInteractive: "platform setup --module platform-host";
|
|
78
|
-
};
|
|
79
|
-
readonly requiredInputs: readonly [];
|
|
80
|
-
readonly verify: "platform status";
|
|
81
|
-
readonly successCondition: "配置状态变为“已就绪”";
|
|
82
|
-
readonly blockedReason: "platform-host 尚未发布 endpoint 与 identityTokenFile";
|
|
83
|
-
}, {
|
|
84
|
-
readonly id: "STEP-EXECUTION-RUNTIME-02";
|
|
85
|
-
readonly title: "等待 Model Runtime";
|
|
86
|
-
readonly description: "Execution 的模型决策入口尚不可用。";
|
|
87
|
-
readonly state: "BLOCKED";
|
|
88
|
-
readonly responsible: "EXTERNAL";
|
|
89
|
-
readonly execution: {
|
|
90
|
-
readonly interactive: "platform setup --module model-runtime";
|
|
91
|
-
readonly nonInteractive: "platform setup --module model-runtime";
|
|
92
|
-
};
|
|
93
|
-
readonly requiredInputs: readonly [];
|
|
94
|
-
readonly verify: "platform status";
|
|
95
|
-
readonly successCondition: "model-runtime 已发布 endpoint 与 transportCredentialFile";
|
|
96
|
-
readonly blockedReason: "model-runtime 尚未就绪";
|
|
97
|
-
}, {
|
|
98
|
-
readonly id: "STEP-EXECUTION-RUNTIME-03";
|
|
99
|
-
readonly title: "等待 Browser Executor";
|
|
100
|
-
readonly description: "Browser Effect 配置尚不可用。";
|
|
101
|
-
readonly state: "BLOCKED";
|
|
102
|
-
readonly responsible: "EXTERNAL";
|
|
103
|
-
readonly execution: {
|
|
104
|
-
readonly interactive: "platform setup --module execution-browser-extension";
|
|
105
|
-
readonly nonInteractive: "platform setup --module execution-browser-extension";
|
|
106
|
-
};
|
|
107
|
-
readonly requiredInputs: readonly [];
|
|
108
|
-
readonly verify: "platform status";
|
|
109
|
-
readonly successCondition: "execution-browser-extension 已发布 browserExecutorConfigPath";
|
|
110
|
-
readonly blockedReason: "execution-browser-extension 尚未就绪";
|
|
111
|
-
}];
|
|
59
|
+
endpoint: string;
|
|
60
|
+
transportCredentialFile: string;
|
|
61
|
+
databasePath: string;
|
|
62
|
+
projectRoot: string;
|
|
63
|
+
artifactRoot: string;
|
|
112
64
|
};
|
|
113
65
|
};
|
|
114
66
|
observedEffects: never[];
|
|
@@ -119,7 +71,7 @@ export declare const behaviorAdapter: {
|
|
|
119
71
|
ok: true;
|
|
120
72
|
status: "SUCCEEDED";
|
|
121
73
|
moduleRef: "execution-runtime";
|
|
122
|
-
moduleVersion: "0.1.
|
|
74
|
+
moduleVersion: "0.1.15";
|
|
123
75
|
data: {
|
|
124
76
|
docs: string;
|
|
125
77
|
};
|
|
@@ -132,7 +84,7 @@ export declare const behaviorAdapter: {
|
|
|
132
84
|
ok: true;
|
|
133
85
|
status: "SUCCEEDED";
|
|
134
86
|
moduleRef: "execution-runtime";
|
|
135
|
-
moduleVersion: "0.1.
|
|
87
|
+
moduleVersion: "0.1.15";
|
|
136
88
|
data: unknown;
|
|
137
89
|
};
|
|
138
90
|
observedEffects: ("Persists execution state, output references and evidence in WAL SQLite" | "Runs the single backend Execution Runtime service")[];
|
|
@@ -140,7 +92,7 @@ export declare const behaviorAdapter: {
|
|
|
140
92
|
result: {
|
|
141
93
|
contract: "deployment.result.v1";
|
|
142
94
|
moduleRef: "execution-runtime";
|
|
143
|
-
moduleVersion: "0.1.
|
|
95
|
+
moduleVersion: "0.1.15";
|
|
144
96
|
ok: false;
|
|
145
97
|
status: "FAILED";
|
|
146
98
|
error: {
|
|
@@ -157,7 +109,7 @@ export declare const behaviorAdapter: {
|
|
|
157
109
|
readonly ok: true;
|
|
158
110
|
readonly status: "SUCCEEDED";
|
|
159
111
|
readonly moduleRef: "execution-runtime";
|
|
160
|
-
readonly moduleVersion: "0.1.
|
|
112
|
+
readonly moduleVersion: "0.1.15";
|
|
161
113
|
};
|
|
162
114
|
observedEffects: ("Persists execution state, output references and evidence in WAL SQLite" | "Runs the single backend Execution Runtime service")[];
|
|
163
115
|
} | {
|
|
@@ -166,11 +118,11 @@ export declare const behaviorAdapter: {
|
|
|
166
118
|
readonly ok: true;
|
|
167
119
|
readonly status: "SUCCEEDED";
|
|
168
120
|
readonly moduleRef: "execution-runtime";
|
|
169
|
-
readonly moduleVersion: "0.1.
|
|
121
|
+
readonly moduleVersion: "0.1.15";
|
|
170
122
|
} | {
|
|
171
123
|
contract: "deployment.result.v1";
|
|
172
124
|
moduleRef: "execution-runtime";
|
|
173
|
-
moduleVersion: "0.1.
|
|
125
|
+
moduleVersion: "0.1.15";
|
|
174
126
|
ok: false;
|
|
175
127
|
status: "FAILED";
|
|
176
128
|
error: {
|
|
@@ -11,54 +11,6 @@ const base = {
|
|
|
11
11
|
moduleRef: descriptor.moduleRef,
|
|
12
12
|
moduleVersion: descriptor.moduleVersion,
|
|
13
13
|
};
|
|
14
|
-
const blockedSetupPlan = {
|
|
15
|
-
steps: [
|
|
16
|
-
{
|
|
17
|
-
id: "STEP-EXECUTION-RUNTIME-01",
|
|
18
|
-
title: "等待 Platform Host",
|
|
19
|
-
state: "BLOCKED",
|
|
20
|
-
responsible: "EXTERNAL",
|
|
21
|
-
execution: {
|
|
22
|
-
interactive: "platform setup --module platform-host",
|
|
23
|
-
nonInteractive: "platform setup --module platform-host",
|
|
24
|
-
},
|
|
25
|
-
requiredInputs: [],
|
|
26
|
-
verify: "platform status",
|
|
27
|
-
successCondition: "配置状态变为“已就绪”",
|
|
28
|
-
blockedReason: "platform-host 尚未发布 endpoint 与 identityTokenFile",
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
id: "STEP-EXECUTION-RUNTIME-02",
|
|
32
|
-
title: "等待 Model Runtime",
|
|
33
|
-
description: "Execution 的模型决策入口尚不可用。",
|
|
34
|
-
state: "BLOCKED",
|
|
35
|
-
responsible: "EXTERNAL",
|
|
36
|
-
execution: {
|
|
37
|
-
interactive: "platform setup --module model-runtime",
|
|
38
|
-
nonInteractive: "platform setup --module model-runtime",
|
|
39
|
-
},
|
|
40
|
-
requiredInputs: [],
|
|
41
|
-
verify: "platform status",
|
|
42
|
-
successCondition: "model-runtime 已发布 endpoint 与 transportCredentialFile",
|
|
43
|
-
blockedReason: "model-runtime 尚未就绪",
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
id: "STEP-EXECUTION-RUNTIME-03",
|
|
47
|
-
title: "等待 Browser Executor",
|
|
48
|
-
description: "Browser Effect 配置尚不可用。",
|
|
49
|
-
state: "BLOCKED",
|
|
50
|
-
responsible: "EXTERNAL",
|
|
51
|
-
execution: {
|
|
52
|
-
interactive: "platform setup --module execution-browser-extension",
|
|
53
|
-
nonInteractive: "platform setup --module execution-browser-extension",
|
|
54
|
-
},
|
|
55
|
-
requiredInputs: [],
|
|
56
|
-
verify: "platform status",
|
|
57
|
-
successCondition: "execution-browser-extension 已发布 browserExecutorConfigPath",
|
|
58
|
-
blockedReason: "execution-browser-extension 尚未就绪",
|
|
59
|
-
},
|
|
60
|
-
],
|
|
61
|
-
};
|
|
62
14
|
const key = (context) => resolve(context.workspaceRoot);
|
|
63
15
|
const factString = (facts, name) => (typeof facts?.[name] === "string" ? String(facts[name]) : undefined);
|
|
64
16
|
async function ownFacts(context) {
|
|
@@ -75,6 +27,27 @@ async function ownFacts(context) {
|
|
|
75
27
|
await writeModuleSharedFacts(context, descriptor.moduleRef, facts);
|
|
76
28
|
return facts;
|
|
77
29
|
}
|
|
30
|
+
async function readOwnFacts(context) {
|
|
31
|
+
const facts = await readModuleSharedFacts(context, descriptor.moduleRef);
|
|
32
|
+
const endpoint = factString(facts, "endpoint");
|
|
33
|
+
const transportCredentialFile = factString(facts, "transportCredentialFile");
|
|
34
|
+
const databasePath = factString(facts, "databasePath");
|
|
35
|
+
const projectRoot = factString(facts, "projectRoot");
|
|
36
|
+
const artifactRoot = factString(facts, "artifactRoot");
|
|
37
|
+
return endpoint &&
|
|
38
|
+
transportCredentialFile &&
|
|
39
|
+
databasePath &&
|
|
40
|
+
projectRoot &&
|
|
41
|
+
artifactRoot
|
|
42
|
+
? {
|
|
43
|
+
endpoint,
|
|
44
|
+
transportCredentialFile,
|
|
45
|
+
databasePath,
|
|
46
|
+
projectRoot,
|
|
47
|
+
artifactRoot,
|
|
48
|
+
}
|
|
49
|
+
: undefined;
|
|
50
|
+
}
|
|
78
51
|
async function baseDependencies(context) {
|
|
79
52
|
const host = await readModuleSharedFacts(context, "platform-host");
|
|
80
53
|
const model = await readModuleSharedFacts(context, "model-runtime");
|
|
@@ -106,7 +79,9 @@ async function dependencies(context) {
|
|
|
106
79
|
: undefined;
|
|
107
80
|
}
|
|
108
81
|
async function running(context) {
|
|
109
|
-
const own = await
|
|
82
|
+
const own = await readOwnFacts(context);
|
|
83
|
+
if (!own)
|
|
84
|
+
return false;
|
|
110
85
|
try {
|
|
111
86
|
const token = (await readFile(own.transportCredentialFile, "utf8")).trim();
|
|
112
87
|
return (await fetch(`${own.endpoint}/ready`, {
|
|
@@ -174,21 +149,20 @@ export const behaviorAdapter = {
|
|
|
174
149
|
};
|
|
175
150
|
},
|
|
176
151
|
status: async (context) => {
|
|
177
|
-
const
|
|
152
|
+
const missingRuntimeDependencies = await dependencies(context);
|
|
178
153
|
return {
|
|
179
154
|
result: {
|
|
180
155
|
...base,
|
|
181
156
|
data: {
|
|
182
|
-
setupStatus:
|
|
157
|
+
setupStatus: "READY",
|
|
183
158
|
runtimeStatus: (await running(context))
|
|
184
159
|
? "RUNNING"
|
|
185
160
|
: "STOPPED",
|
|
186
|
-
...(
|
|
187
|
-
? {
|
|
188
|
-
: {
|
|
161
|
+
...(!missingRuntimeDependencies
|
|
162
|
+
? {
|
|
189
163
|
issues: [
|
|
190
164
|
{
|
|
191
|
-
scope: "
|
|
165
|
+
scope: "RUNTIME",
|
|
192
166
|
code: "UPSTREAM_NOT_READY",
|
|
193
167
|
message: "等待 platform-host、model-runtime 与 execution-browser-extension 发布运行所需信息",
|
|
194
168
|
relatedModuleRefs: [
|
|
@@ -196,22 +170,18 @@ export const behaviorAdapter = {
|
|
|
196
170
|
"model-runtime",
|
|
197
171
|
"execution-browser-extension",
|
|
198
172
|
],
|
|
199
|
-
nextCommand: "platform setup
|
|
173
|
+
nextCommand: "platform setup",
|
|
200
174
|
},
|
|
201
175
|
],
|
|
202
|
-
}
|
|
176
|
+
}
|
|
177
|
+
: {}),
|
|
203
178
|
},
|
|
204
179
|
},
|
|
205
180
|
observedEffects: [],
|
|
206
181
|
};
|
|
207
182
|
},
|
|
208
183
|
setup: async (context) => ({
|
|
209
|
-
result:
|
|
210
|
-
? base
|
|
211
|
-
: {
|
|
212
|
-
...failed("SETUP_FAILED", "required producer shared facts are unavailable"),
|
|
213
|
-
data: blockedSetupPlan,
|
|
214
|
-
},
|
|
184
|
+
result: { ...base, data: await ownFacts(context) },
|
|
215
185
|
observedEffects: [],
|
|
216
186
|
}),
|
|
217
187
|
docs: async (_context) => ({
|
|
@@ -3,7 +3,7 @@ export declare const descriptor: {
|
|
|
3
3
|
readonly contractVersion: "1.0.0";
|
|
4
4
|
readonly moduleRef: "execution-runtime";
|
|
5
5
|
readonly packageName: "@tomflow/proflow-execution-runtime";
|
|
6
|
-
readonly moduleVersion: "0.1.
|
|
6
|
+
readonly moduleVersion: "0.1.15";
|
|
7
7
|
readonly kind: "service";
|
|
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-runtime",
|
|
5
5
|
packageName: "@tomflow/proflow-execution-runtime",
|
|
6
|
-
moduleVersion: "0.1.
|
|
6
|
+
moduleVersion: "0.1.15",
|
|
7
7
|
kind: "service",
|
|
8
8
|
templateVersion: "1.0.0",
|
|
9
9
|
platformCompatibility: ">=1.0.0 <2.0.0",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tomflow/proflow-execution-runtime",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.15",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -24,14 +24,14 @@
|
|
|
24
24
|
"SETUP.md"
|
|
25
25
|
],
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@tomflow/proflow-execution-
|
|
28
|
-
"@tomflow/proflow-execution-
|
|
29
|
-
"@tomflow/proflow-
|
|
30
|
-
"@tomflow/proflow-
|
|
31
|
-
"@tomflow/proflow-
|
|
27
|
+
"@tomflow/proflow-execution-contracts": "^0.1.10",
|
|
28
|
+
"@tomflow/proflow-execution-browser-extension": "^0.1.14",
|
|
29
|
+
"@tomflow/proflow-module-contract": "^0.1.13",
|
|
30
|
+
"@tomflow/proflow-execution-local": "^0.1.13",
|
|
31
|
+
"@tomflow/proflow-model-contracts": "^0.1.10"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
|
-
"@tomflow/proflow-deployment-conformance": "^0.1.
|
|
34
|
+
"@tomflow/proflow-deployment-conformance": "^0.1.12"
|
|
35
35
|
},
|
|
36
36
|
"description": "Durable, policy-controlled Execution Core orchestration over SQLite and controlled executor ports.",
|
|
37
37
|
"keywords": [
|
package/proflow.module.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"contractVersion": "1.0.0",
|
|
4
4
|
"moduleRef": "execution-runtime",
|
|
5
5
|
"packageName": "@tomflow/proflow-execution-runtime",
|
|
6
|
-
"moduleVersion": "0.1.
|
|
6
|
+
"moduleVersion": "0.1.15",
|
|
7
7
|
"kind": "service",
|
|
8
8
|
"templateVersion": "1.0.0",
|
|
9
9
|
"platformCompatibility": ">=1.0.0 <2.0.0",
|