@tomflow/proflow-agent-gateway 0.1.12 → 0.1.14
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 +4 -2
- package/dist/deployment/adapter.d.ts +15 -52
- package/dist/deployment/adapter.js +16 -40
- package/dist/deployment/descriptor.d.ts +1 -1
- package/dist/deployment/descriptor.js +1 -1
- package/package.json +11 -11
- package/proflow.module.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @tomflow/proflow-agent-gateway
|
|
2
2
|
|
|
3
|
+
## 0.1.14
|
|
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.13
|
|
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.12
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
package/SETUP.md
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
## STEP-AGENT-GATEWAY-01 — 准备公开入口
|
|
4
4
|
|
|
5
|
-
Responsible:
|
|
5
|
+
Responsible: AI
|
|
6
6
|
Interactive executable: `platform setup --module dev-tunnel`
|
|
7
7
|
Non-interactive executable: `platform setup --module dev-tunnel`
|
|
8
|
-
Required inputs:
|
|
8
|
+
Required inputs: none;`publicBaseUrl` 必须由 `dev-tunnel` shared facts 自动提供,禁止用户复制 Tunnel ID、端口或 URL
|
|
9
9
|
Verify: `platform status`
|
|
10
10
|
Success condition: `dev-tunnel.setupStatus=READY`.
|
|
11
11
|
|
|
@@ -17,3 +17,5 @@ Non-interactive executable: `platform setup --module platform-host`
|
|
|
17
17
|
Required inputs: none
|
|
18
18
|
Verify: `platform status`
|
|
19
19
|
Success condition: `platform-host.setupStatus=READY`.
|
|
20
|
+
|
|
21
|
+
本模块只重新观察 `dev-tunnel` 与 `platform-host` 的 producer-owned shared facts;依赖未就绪时返回 `BLOCKED`,不把内部 endpoint、state path 或 credential path 暴露为人工配置。
|
|
@@ -6,7 +6,7 @@ export declare const behaviorAdapter: {
|
|
|
6
6
|
ok: true;
|
|
7
7
|
status: "SUCCEEDED";
|
|
8
8
|
moduleRef: "agent-gateway";
|
|
9
|
-
moduleVersion: "0.1.
|
|
9
|
+
moduleVersion: "0.1.14";
|
|
10
10
|
data: {
|
|
11
11
|
localBaseUrl: string;
|
|
12
12
|
publicBaseUrl?: string;
|
|
@@ -20,7 +20,7 @@ export declare const behaviorAdapter: {
|
|
|
20
20
|
readonly ok: true;
|
|
21
21
|
readonly status: "SUCCEEDED";
|
|
22
22
|
readonly moduleRef: "agent-gateway";
|
|
23
|
-
readonly moduleVersion: "0.1.
|
|
23
|
+
readonly moduleVersion: "0.1.14";
|
|
24
24
|
};
|
|
25
25
|
observedEffects: string[];
|
|
26
26
|
}>;
|
|
@@ -30,7 +30,7 @@ export declare const behaviorAdapter: {
|
|
|
30
30
|
ok: true;
|
|
31
31
|
status: "SUCCEEDED";
|
|
32
32
|
moduleRef: "agent-gateway";
|
|
33
|
-
moduleVersion: "0.1.
|
|
33
|
+
moduleVersion: "0.1.14";
|
|
34
34
|
data: {
|
|
35
35
|
setupStatus: "BLOCKED" | "READY";
|
|
36
36
|
runtimeStatus: "RUNNING" | "STOPPED";
|
|
@@ -47,52 +47,15 @@ export declare const behaviorAdapter: {
|
|
|
47
47
|
}>;
|
|
48
48
|
readonly setup: (context: ModuleCommandContext) => Promise<{
|
|
49
49
|
result: {
|
|
50
|
-
readonly contract: "deployment.result.v1";
|
|
51
|
-
readonly ok: true;
|
|
52
|
-
readonly status: "SUCCEEDED";
|
|
53
|
-
readonly moduleRef: "agent-gateway";
|
|
54
|
-
readonly moduleVersion: "0.1.12";
|
|
55
|
-
} | {
|
|
56
50
|
contract: "deployment.result.v1";
|
|
51
|
+
ok: true;
|
|
52
|
+
status: "SUCCEEDED";
|
|
57
53
|
moduleRef: "agent-gateway";
|
|
58
|
-
moduleVersion: "0.1.
|
|
59
|
-
ok: false;
|
|
60
|
-
status: "FAILED";
|
|
61
|
-
error: {
|
|
62
|
-
code: "SETUP_FAILED" | "START_FAILED" | "STOP_FAILED";
|
|
63
|
-
message: string;
|
|
64
|
-
retryable: boolean;
|
|
65
|
-
};
|
|
54
|
+
moduleVersion: "0.1.14";
|
|
66
55
|
data: {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
readonly description: "Gateway 需要稳定的公开 HTTPS 地址。";
|
|
71
|
-
readonly state: "BLOCKED";
|
|
72
|
-
readonly responsible: "EXTERNAL";
|
|
73
|
-
readonly execution: {
|
|
74
|
-
readonly interactive: "platform setup --module dev-tunnel";
|
|
75
|
-
readonly nonInteractive: "platform setup --module dev-tunnel";
|
|
76
|
-
};
|
|
77
|
-
readonly requiredInputs: readonly [];
|
|
78
|
-
readonly verify: "platform status";
|
|
79
|
-
readonly successCondition: "配置状态变为“已就绪”";
|
|
80
|
-
readonly blockedReason: "dev-tunnel 尚未发布 publicBaseUrl";
|
|
81
|
-
}, {
|
|
82
|
-
readonly id: "STEP-AGENT-GATEWAY-02";
|
|
83
|
-
readonly title: "等待 Platform Host";
|
|
84
|
-
readonly description: "Gateway 下游应用端点和凭据尚不可用。";
|
|
85
|
-
readonly state: "BLOCKED";
|
|
86
|
-
readonly responsible: "EXTERNAL";
|
|
87
|
-
readonly execution: {
|
|
88
|
-
readonly interactive: "platform setup --module platform-host";
|
|
89
|
-
readonly nonInteractive: "platform setup --module platform-host";
|
|
90
|
-
};
|
|
91
|
-
readonly requiredInputs: readonly [];
|
|
92
|
-
readonly verify: "platform status";
|
|
93
|
-
readonly successCondition: "platform-host 已发布 endpoint、stateRoot 和 transport credential";
|
|
94
|
-
readonly blockedReason: "platform-host 尚未就绪";
|
|
95
|
-
}];
|
|
56
|
+
localBaseUrl: string;
|
|
57
|
+
publicBaseUrl?: string;
|
|
58
|
+
waitingFor?: string[];
|
|
96
59
|
};
|
|
97
60
|
};
|
|
98
61
|
observedEffects: never[];
|
|
@@ -103,7 +66,7 @@ export declare const behaviorAdapter: {
|
|
|
103
66
|
ok: true;
|
|
104
67
|
status: "SUCCEEDED";
|
|
105
68
|
moduleRef: "agent-gateway";
|
|
106
|
-
moduleVersion: "0.1.
|
|
69
|
+
moduleVersion: "0.1.14";
|
|
107
70
|
data: {
|
|
108
71
|
docs: string;
|
|
109
72
|
};
|
|
@@ -116,7 +79,7 @@ export declare const behaviorAdapter: {
|
|
|
116
79
|
ok: true;
|
|
117
80
|
status: "SUCCEEDED";
|
|
118
81
|
moduleRef: "agent-gateway";
|
|
119
|
-
moduleVersion: "0.1.
|
|
82
|
+
moduleVersion: "0.1.14";
|
|
120
83
|
data: {
|
|
121
84
|
host: string;
|
|
122
85
|
port: number;
|
|
@@ -127,7 +90,7 @@ export declare const behaviorAdapter: {
|
|
|
127
90
|
result: {
|
|
128
91
|
contract: "deployment.result.v1";
|
|
129
92
|
moduleRef: "agent-gateway";
|
|
130
|
-
moduleVersion: "0.1.
|
|
93
|
+
moduleVersion: "0.1.14";
|
|
131
94
|
ok: false;
|
|
132
95
|
status: "FAILED";
|
|
133
96
|
error: {
|
|
@@ -144,7 +107,7 @@ export declare const behaviorAdapter: {
|
|
|
144
107
|
readonly ok: true;
|
|
145
108
|
readonly status: "SUCCEEDED";
|
|
146
109
|
readonly moduleRef: "agent-gateway";
|
|
147
|
-
readonly moduleVersion: "0.1.
|
|
110
|
+
readonly moduleVersion: "0.1.14";
|
|
148
111
|
};
|
|
149
112
|
observedEffects: string[];
|
|
150
113
|
} | {
|
|
@@ -153,11 +116,11 @@ export declare const behaviorAdapter: {
|
|
|
153
116
|
readonly ok: true;
|
|
154
117
|
readonly status: "SUCCEEDED";
|
|
155
118
|
readonly moduleRef: "agent-gateway";
|
|
156
|
-
readonly moduleVersion: "0.1.
|
|
119
|
+
readonly moduleVersion: "0.1.14";
|
|
157
120
|
} | {
|
|
158
121
|
contract: "deployment.result.v1";
|
|
159
122
|
moduleRef: "agent-gateway";
|
|
160
|
-
moduleVersion: "0.1.
|
|
123
|
+
moduleVersion: "0.1.14";
|
|
161
124
|
ok: false;
|
|
162
125
|
status: "FAILED";
|
|
163
126
|
error: {
|
|
@@ -10,40 +10,6 @@ const base = {
|
|
|
10
10
|
moduleRef: descriptor.moduleRef,
|
|
11
11
|
moduleVersion: descriptor.moduleVersion,
|
|
12
12
|
};
|
|
13
|
-
const blockedSetupPlan = {
|
|
14
|
-
steps: [
|
|
15
|
-
{
|
|
16
|
-
id: "STEP-AGENT-GATEWAY-01",
|
|
17
|
-
title: "等待 Public Ingress",
|
|
18
|
-
description: "Gateway 需要稳定的公开 HTTPS 地址。",
|
|
19
|
-
state: "BLOCKED",
|
|
20
|
-
responsible: "EXTERNAL",
|
|
21
|
-
execution: {
|
|
22
|
-
interactive: "platform setup --module dev-tunnel",
|
|
23
|
-
nonInteractive: "platform setup --module dev-tunnel",
|
|
24
|
-
},
|
|
25
|
-
requiredInputs: [],
|
|
26
|
-
verify: "platform status",
|
|
27
|
-
successCondition: "配置状态变为“已就绪”",
|
|
28
|
-
blockedReason: "dev-tunnel 尚未发布 publicBaseUrl",
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
id: "STEP-AGENT-GATEWAY-02",
|
|
32
|
-
title: "等待 Platform Host",
|
|
33
|
-
description: "Gateway 下游应用端点和凭据尚不可用。",
|
|
34
|
-
state: "BLOCKED",
|
|
35
|
-
responsible: "EXTERNAL",
|
|
36
|
-
execution: {
|
|
37
|
-
interactive: "platform setup --module platform-host",
|
|
38
|
-
nonInteractive: "platform setup --module platform-host",
|
|
39
|
-
},
|
|
40
|
-
requiredInputs: [],
|
|
41
|
-
verify: "platform status",
|
|
42
|
-
successCondition: "platform-host 已发布 endpoint、stateRoot 和 transport credential",
|
|
43
|
-
blockedReason: "platform-host 尚未就绪",
|
|
44
|
-
},
|
|
45
|
-
],
|
|
46
|
-
};
|
|
47
13
|
const key = (context) => resolve(context.workspaceRoot);
|
|
48
14
|
const factString = (facts, name) => (typeof facts?.[name] === "string" ? String(facts[name]) : undefined);
|
|
49
15
|
async function ownFacts(context) {
|
|
@@ -54,6 +20,11 @@ async function ownFacts(context) {
|
|
|
54
20
|
await writeModuleSharedFacts(context, descriptor.moduleRef, facts);
|
|
55
21
|
return facts;
|
|
56
22
|
}
|
|
23
|
+
async function readOwnFacts(context) {
|
|
24
|
+
const facts = await readModuleSharedFacts(context, descriptor.moduleRef);
|
|
25
|
+
const localBaseUrl = factString(facts, "localBaseUrl");
|
|
26
|
+
return localBaseUrl ? { localBaseUrl } : undefined;
|
|
27
|
+
}
|
|
57
28
|
async function dependencies(context) {
|
|
58
29
|
const tunnel = await readModuleSharedFacts(context, "dev-tunnel");
|
|
59
30
|
const host = await readModuleSharedFacts(context, "platform-host");
|
|
@@ -69,7 +40,9 @@ async function dependencies(context) {
|
|
|
69
40
|
: undefined;
|
|
70
41
|
}
|
|
71
42
|
async function running(context) {
|
|
72
|
-
const own = await
|
|
43
|
+
const own = await readOwnFacts(context);
|
|
44
|
+
if (!own)
|
|
45
|
+
return false;
|
|
73
46
|
try {
|
|
74
47
|
return (await fetch(`${own.localBaseUrl}/ready`, {
|
|
75
48
|
signal: AbortSignal.timeout(500),
|
|
@@ -151,12 +124,15 @@ export const behaviorAdapter = {
|
|
|
151
124
|
};
|
|
152
125
|
},
|
|
153
126
|
setup: async (context) => ({
|
|
154
|
-
result:
|
|
155
|
-
|
|
156
|
-
: {
|
|
157
|
-
...
|
|
158
|
-
|
|
127
|
+
result: {
|
|
128
|
+
...base,
|
|
129
|
+
data: {
|
|
130
|
+
...(await ownFacts(context)),
|
|
131
|
+
...((await dependencies(context)) === undefined
|
|
132
|
+
? { waitingFor: ["dev-tunnel", "platform-host"] }
|
|
133
|
+
: {}),
|
|
159
134
|
},
|
|
135
|
+
},
|
|
160
136
|
observedEffects: [],
|
|
161
137
|
}),
|
|
162
138
|
docs: async (_context) => ({
|
|
@@ -3,7 +3,7 @@ export declare const descriptor: {
|
|
|
3
3
|
readonly contractVersion: "1.0.0";
|
|
4
4
|
readonly moduleRef: "agent-gateway";
|
|
5
5
|
readonly packageName: "@tomflow/proflow-agent-gateway";
|
|
6
|
-
readonly moduleVersion: "0.1.
|
|
6
|
+
readonly moduleVersion: "0.1.14";
|
|
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: "agent-gateway",
|
|
5
5
|
packageName: "@tomflow/proflow-agent-gateway",
|
|
6
|
-
moduleVersion: "0.1.
|
|
6
|
+
moduleVersion: "0.1.14",
|
|
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-agent-gateway",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.14",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -25,18 +25,18 @@
|
|
|
25
25
|
],
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"zod": "4.1.12",
|
|
28
|
-
"@tomflow/proflow-module-contract": "^0.1.
|
|
28
|
+
"@tomflow/proflow-module-contract": "^0.1.13"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
|
-
"@tomflow/proflow-
|
|
32
|
-
"@tomflow/proflow-execution-
|
|
33
|
-
"@tomflow/proflow-
|
|
34
|
-
"@tomflow/proflow-
|
|
35
|
-
"@tomflow/proflow-
|
|
36
|
-
"@tomflow/proflow-
|
|
37
|
-
"@tomflow/proflow-task-
|
|
38
|
-
"@tomflow/proflow-task-
|
|
39
|
-
"@tomflow/proflow-deployment-conformance": "^0.1.
|
|
31
|
+
"@tomflow/proflow-task-migration-runner": "^0.1.11",
|
|
32
|
+
"@tomflow/proflow-execution-local": "^0.1.13",
|
|
33
|
+
"@tomflow/proflow-agent-runtime": "^0.1.10",
|
|
34
|
+
"@tomflow/proflow-platform-host": "^0.1.14",
|
|
35
|
+
"@tomflow/proflow-execution-runtime": "^0.1.15",
|
|
36
|
+
"@tomflow/proflow-execution-browser-extension": "^0.1.14",
|
|
37
|
+
"@tomflow/proflow-task-store-sqlite": "^0.1.11",
|
|
38
|
+
"@tomflow/proflow-task-orchestration": "^0.1.9",
|
|
39
|
+
"@tomflow/proflow-deployment-conformance": "^0.1.12"
|
|
40
40
|
},
|
|
41
41
|
"description": "The sole Custom GPT Actions HTTP ingress and OpenAI transport anti-corruption layer.",
|
|
42
42
|
"keywords": [
|
package/proflow.module.json
CHANGED