@gt-fe/eap-cli 0.2.9 → 0.2.11
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/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +0 -6
- package/dist/commands/login.js.map +1 -1
- package/dist/static/playground/index.html +131 -131
- package/dist/static/playground/playground.css +209 -209
- package/dist/static/playground/playground.js +151 -151
- package/dist/static/playground-app/index.html +11 -11
- package/dist/templates/agent-api-orchestration/.env +16 -16
- package/dist/templates/agent-api-orchestration/agent.manifest.json +19 -19
- package/dist/templates/agent-api-orchestration/eap.config.json +1 -1
- package/dist/templates/agent-api-orchestration/eap.lock.yaml +5 -5
- package/dist/templates/agent-api-orchestration/gitignore +3 -3
- package/dist/templates/agent-api-orchestration/package.json +1 -1
- package/dist/templates/agent-api-orchestration/scripts/api-test.mjs +443 -443
- package/dist/templates/agent-api-orchestration/scripts/build-runtime.mjs +26 -26
- package/dist/templates/agent-api-orchestration/scripts/validate.mjs +12 -12
- package/dist/templates/agent-api-orchestration/src/embedded-agent.ts +91 -91
- package/dist/templates/agent-api-orchestration/src/http/app.ts +58 -58
- package/dist/templates/agent-api-orchestration/src/http/config.ts +34 -34
- package/dist/templates/agent-api-orchestration/src/http/errors.ts +63 -63
- package/dist/templates/agent-api-orchestration/src/http/index.ts +4 -4
- package/dist/templates/agent-api-orchestration/src/http/middleware/cors.ts +17 -17
- package/dist/templates/agent-api-orchestration/src/http/routes/agent.ts +33 -33
- package/dist/templates/agent-api-orchestration/src/http/routes/health.ts +15 -15
- package/dist/templates/agent-api-orchestration/src/http/routes/invocations.ts +29 -29
- package/dist/templates/agent-api-orchestration/src/http/routes/sessions.ts +70 -70
- package/dist/templates/agent-api-orchestration/src/http/services/agent-service.ts +60 -60
- package/dist/templates/agent-api-orchestration/src/http/services/resource-service.ts +95 -95
- package/dist/templates/agent-api-orchestration/src/http/shared/request.ts +82 -82
- package/dist/templates/agent-api-orchestration/src/http/shared/sse.ts +32 -32
- package/dist/templates/agent-api-orchestration/src/http/types.ts +39 -39
- package/dist/templates/agent-api-orchestration/src/index.ts +91 -91
- package/dist/templates/agent-api-orchestration/src/platform-user.ts +36 -36
- package/dist/templates/agent-api-orchestration/src/project-config.ts +45 -45
- package/dist/templates/agent-api-orchestration/tsconfig.json +15 -15
- package/dist/templates/dag-workflow/eap.config.json +1 -1
- package/dist/templates/dag-workflow/eap.lock.yaml +5 -5
- package/dist/templates/dag-workflow/package.json +10 -10
- package/dist/templates/plan-and-execute/eap.config.json +1 -1
- package/dist/templates/plan-and-execute/eap.lock.yaml +1 -5
- package/dist/templates/plan-and-execute/graph.json +0 -1
- package/dist/templates/plan-and-execute/package.json +10 -10
- package/dist/templates/plan-and-execute/tools/echo-tool/src/index.js +17 -17
- package/dist/templates/plan-and-execute/tools/echo-tool/toolset.manifest.json +55 -55
- package/dist/templates/simple-flow/eap.config.json +1 -1
- package/dist/templates/simple-flow/eap.lock.yaml +5 -5
- package/dist/templates/single-agent-with-tools/eap.config.json +1 -1
- package/dist/templates/single-agent-with-tools/eap.lock.yaml +1 -9
- package/dist/templates/single-agent-with-tools/package.json +10 -10
- package/dist/templates/single-agent-with-tools/tools/echo-tool/src/index.js +17 -17
- package/dist/templates/single-agent-with-tools/tools/echo-tool/toolset.manifest.json +55 -55
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,eAAO,MAAM,YAAY,SAwCrB,CAAC"}
|
package/dist/commands/login.js
CHANGED
|
@@ -26,12 +26,6 @@ export const loginCommand = new Command('login')
|
|
|
26
26
|
console.error(' 请在 eap.config.json 中设置 platform.portalUrl,或设置 EAP_PLATFORM_ENDPOINT');
|
|
27
27
|
process.exit(1);
|
|
28
28
|
}
|
|
29
|
-
const healthy = await getPlatformClient().checkPortalHealth();
|
|
30
|
-
if (!healthy) {
|
|
31
|
-
console.error(`❌ EAP 平台不可达: ${platformUrl}`);
|
|
32
|
-
console.error(' 请先启动 foundation-service,或执行: eap config platform.portalUrl <平台地址>');
|
|
33
|
-
process.exit(1);
|
|
34
|
-
}
|
|
35
29
|
const foundationEndpoint = getFoundationEndpoint();
|
|
36
30
|
if (!foundationEndpoint) {
|
|
37
31
|
console.error('❌ 未配置 foundationServiceUrl');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;KAC7C,WAAW,CAAC,YAAY,CAAC;KACzB,MAAM,CAAC,iBAAiB,EAAE,mBAAmB,CAAC;KAC9C,MAAM,CAAC,mBAAmB,EAAE,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;KAClE,MAAM,CAAC,KAAK,EAAE,OAGd,EAAE,EAAE;IACH,MAAM,WAAW,GAAG,iBAAiB,EAAE,CAAC;IAExC,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,MAAM,iBAAiB,EAAE,CAAC,oBAAoB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC7E,OAAO,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,MAAM,WAAW,EAAE,CAAC,CAAC;YAC3E,OAAO;QACT,CAAC;QAED,gBAAgB;QAChB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACjC,OAAO,CAAC,KAAK,CAAC,wEAAwE,CAAC,CAAC;YACxF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;KAC7C,WAAW,CAAC,YAAY,CAAC;KACzB,MAAM,CAAC,iBAAiB,EAAE,mBAAmB,CAAC;KAC9C,MAAM,CAAC,mBAAmB,EAAE,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;KAClE,MAAM,CAAC,KAAK,EAAE,OAGd,EAAE,EAAE;IACH,MAAM,WAAW,GAAG,iBAAiB,EAAE,CAAC;IAExC,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,MAAM,iBAAiB,EAAE,CAAC,oBAAoB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC7E,OAAO,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,MAAM,WAAW,EAAE,CAAC,CAAC;YAC3E,OAAO;QACT,CAAC;QAED,gBAAgB;QAChB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACjC,OAAO,CAAC,KAAK,CAAC,wEAAwE,CAAC,CAAC;YACxF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,kBAAkB,GAAG,qBAAqB,EAAE,CAAC;QACnD,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAC5C,OAAO,CAAC,KAAK,CAAC,oFAAoF,CAAC,CAAC;YACpG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,WAAW,EAAE,kBAAkB,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACtF,OAAO,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,MAAM,WAAW,EAAE,CAAC,CAAC;QAClF,OAAO;IACT,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,WAAY,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -1,132 +1,132 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="zh-CN">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8" />
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
|
-
<title>EAP Playground</title>
|
|
7
|
-
<link rel="stylesheet" href="/playground/static/playground.css" />
|
|
8
|
-
</head>
|
|
9
|
-
<body>
|
|
10
|
-
<div class="app-shell">
|
|
11
|
-
<header class="topbar">
|
|
12
|
-
<div class="brand-block">
|
|
13
|
-
<h1>EAP Playground</h1>
|
|
14
|
-
<p>运行工作台:用于本地调用、流式调试、执行上下文、Graph 预览、Token 用量和链路追踪查询。</p>
|
|
15
|
-
</div>
|
|
16
|
-
<div class="status-strip" aria-live="polite">
|
|
17
|
-
<span class="status-pill"><span id="loginDot" class="status-dot"></span><span id="loginStatus">正在检查登录状态</span></span>
|
|
18
|
-
<span class="status-pill">工具模式:<strong id="toolMode">-</strong></span>
|
|
19
|
-
<span class="status-pill">运行时:<strong>dev HTTP</strong></span>
|
|
20
|
-
</div>
|
|
21
|
-
</header>
|
|
22
|
-
|
|
23
|
-
<main class="workbench-layout">
|
|
24
|
-
<section class="panel request-panel" aria-labelledby="request-title">
|
|
25
|
-
<div class="panel-header">
|
|
26
|
-
<div>
|
|
27
|
-
<h2 id="request-title" class="panel-title">请求控制台</h2>
|
|
28
|
-
<p class="panel-kicker">需要先执行 eap login,并启动 eap dev Runtime。</p>
|
|
29
|
-
</div>
|
|
30
|
-
<button id="refreshContext" title="刷新上下文和 Graph">刷新</button>
|
|
31
|
-
</div>
|
|
32
|
-
<div class="panel-body">
|
|
33
|
-
<div class="field">
|
|
34
|
-
<label for="agentCode">Agent 编码</label>
|
|
35
|
-
<input type="text" id="agentCode" value="demo-agent" autocomplete="off" />
|
|
36
|
-
</div>
|
|
37
|
-
<div class="field">
|
|
38
|
-
<label for="sessionId">Session ID</label>
|
|
39
|
-
<div class="session-row">
|
|
40
|
-
<input type="text" id="sessionId" autocomplete="off" />
|
|
41
|
-
<button id="newSession" title="生成新的 Session ID">新建</button>
|
|
42
|
-
</div>
|
|
43
|
-
<span class="field-hint">保持同一个 Session ID,便于对比同一会话内的多次调用。</span>
|
|
44
|
-
</div>
|
|
45
|
-
<div class="field">
|
|
46
|
-
<label for="input">输入</label>
|
|
47
|
-
<textarea id="input" spellcheck="false">Hello</textarea>
|
|
48
|
-
</div>
|
|
49
|
-
<div class="button-row">
|
|
50
|
-
<button id="run" class="button-primary">调用</button>
|
|
51
|
-
<button id="stream">流式调用 SSE</button>
|
|
52
|
-
<button id="clearOutput">清空</button>
|
|
53
|
-
</div>
|
|
54
|
-
</div>
|
|
55
|
-
</section>
|
|
56
|
-
|
|
57
|
-
<section class="main-stack">
|
|
58
|
-
<section class="panel" aria-labelledby="output-title">
|
|
59
|
-
<div class="panel-header output-toolbar">
|
|
60
|
-
<div>
|
|
61
|
-
<h2 id="output-title" class="panel-title">输出</h2>
|
|
62
|
-
<p id="outputMeta" class="panel-kicker">空闲,已准备好调用本地 Agent。</p>
|
|
63
|
-
</div>
|
|
64
|
-
<div class="button-row">
|
|
65
|
-
<button id="copyOutput">复制</button>
|
|
66
|
-
</div>
|
|
67
|
-
</div>
|
|
68
|
-
<div class="panel-body">
|
|
69
|
-
<pre id="output">就绪。</pre>
|
|
70
|
-
</div>
|
|
71
|
-
</section>
|
|
72
|
-
|
|
73
|
-
<section class="summary-list" aria-label="Run summary">
|
|
74
|
-
<div class="summary-item">
|
|
75
|
-
<div class="summary-label">关联 ID</div>
|
|
76
|
-
<div id="correlationSummary" class="summary-value">-</div>
|
|
77
|
-
</div>
|
|
78
|
-
<div class="summary-item">
|
|
79
|
-
<div class="summary-label">会话</div>
|
|
80
|
-
<div id="sessionSummary" class="summary-value">-</div>
|
|
81
|
-
</div>
|
|
82
|
-
<div class="summary-item">
|
|
83
|
-
<div class="summary-label">追踪</div>
|
|
84
|
-
<div id="traceSummary" class="summary-value">-</div>
|
|
85
|
-
</div>
|
|
86
|
-
</section>
|
|
87
|
-
|
|
88
|
-
<section class="diagnostic-grid">
|
|
89
|
-
<div class="panel">
|
|
90
|
-
<div class="panel-header">
|
|
91
|
-
<div>
|
|
92
|
-
<h2 class="panel-title">执行上下文</h2>
|
|
93
|
-
<p class="panel-kicker">注入 Runtime 的脱敏上下文。</p>
|
|
94
|
-
</div>
|
|
95
|
-
</div>
|
|
96
|
-
<div class="panel-body"><pre id="state">加载中...</pre></div>
|
|
97
|
-
</div>
|
|
98
|
-
<div class="panel">
|
|
99
|
-
<div class="panel-header">
|
|
100
|
-
<div>
|
|
101
|
-
<h2 class="panel-title">Graph</h2>
|
|
102
|
-
<p id="graphMeta" class="panel-kicker">正在加载项目 Graph 预览。</p>
|
|
103
|
-
</div>
|
|
104
|
-
</div>
|
|
105
|
-
<div class="panel-body"><pre id="graph">加载中...</pre></div>
|
|
106
|
-
</div>
|
|
107
|
-
<div class="panel">
|
|
108
|
-
<div class="panel-header">
|
|
109
|
-
<div>
|
|
110
|
-
<h2 class="panel-title">Token 用量</h2>
|
|
111
|
-
<p class="panel-kicker">从常见 Runtime 响应结构中提取。</p>
|
|
112
|
-
</div>
|
|
113
|
-
</div>
|
|
114
|
-
<div class="panel-body"><pre id="token">-</pre></div>
|
|
115
|
-
</div>
|
|
116
|
-
<div class="panel">
|
|
117
|
-
<div class="panel-header">
|
|
118
|
-
<div>
|
|
119
|
-
<h2 class="panel-title">链路追踪</h2>
|
|
120
|
-
<p class="panel-kicker">使用 correlationId 查看 Foundation Trace。</p>
|
|
121
|
-
</div>
|
|
122
|
-
</div>
|
|
123
|
-
<div class="panel-body"><pre id="trace">-</pre></div>
|
|
124
|
-
</div>
|
|
125
|
-
</section>
|
|
126
|
-
</section>
|
|
127
|
-
</main>
|
|
128
|
-
</div>
|
|
129
|
-
|
|
130
|
-
<script src="/playground/static/playground.js" defer></script>
|
|
131
|
-
</body>
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="zh-CN">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
|
+
<title>EAP Playground</title>
|
|
7
|
+
<link rel="stylesheet" href="/playground/static/playground.css" />
|
|
8
|
+
</head>
|
|
9
|
+
<body>
|
|
10
|
+
<div class="app-shell">
|
|
11
|
+
<header class="topbar">
|
|
12
|
+
<div class="brand-block">
|
|
13
|
+
<h1>EAP Playground</h1>
|
|
14
|
+
<p>运行工作台:用于本地调用、流式调试、执行上下文、Graph 预览、Token 用量和链路追踪查询。</p>
|
|
15
|
+
</div>
|
|
16
|
+
<div class="status-strip" aria-live="polite">
|
|
17
|
+
<span class="status-pill"><span id="loginDot" class="status-dot"></span><span id="loginStatus">正在检查登录状态</span></span>
|
|
18
|
+
<span class="status-pill">工具模式:<strong id="toolMode">-</strong></span>
|
|
19
|
+
<span class="status-pill">运行时:<strong>dev HTTP</strong></span>
|
|
20
|
+
</div>
|
|
21
|
+
</header>
|
|
22
|
+
|
|
23
|
+
<main class="workbench-layout">
|
|
24
|
+
<section class="panel request-panel" aria-labelledby="request-title">
|
|
25
|
+
<div class="panel-header">
|
|
26
|
+
<div>
|
|
27
|
+
<h2 id="request-title" class="panel-title">请求控制台</h2>
|
|
28
|
+
<p class="panel-kicker">需要先执行 eap login,并启动 eap dev Runtime。</p>
|
|
29
|
+
</div>
|
|
30
|
+
<button id="refreshContext" title="刷新上下文和 Graph">刷新</button>
|
|
31
|
+
</div>
|
|
32
|
+
<div class="panel-body">
|
|
33
|
+
<div class="field">
|
|
34
|
+
<label for="agentCode">Agent 编码</label>
|
|
35
|
+
<input type="text" id="agentCode" value="demo-agent" autocomplete="off" />
|
|
36
|
+
</div>
|
|
37
|
+
<div class="field">
|
|
38
|
+
<label for="sessionId">Session ID</label>
|
|
39
|
+
<div class="session-row">
|
|
40
|
+
<input type="text" id="sessionId" autocomplete="off" />
|
|
41
|
+
<button id="newSession" title="生成新的 Session ID">新建</button>
|
|
42
|
+
</div>
|
|
43
|
+
<span class="field-hint">保持同一个 Session ID,便于对比同一会话内的多次调用。</span>
|
|
44
|
+
</div>
|
|
45
|
+
<div class="field">
|
|
46
|
+
<label for="input">输入</label>
|
|
47
|
+
<textarea id="input" spellcheck="false">Hello</textarea>
|
|
48
|
+
</div>
|
|
49
|
+
<div class="button-row">
|
|
50
|
+
<button id="run" class="button-primary">调用</button>
|
|
51
|
+
<button id="stream">流式调用 SSE</button>
|
|
52
|
+
<button id="clearOutput">清空</button>
|
|
53
|
+
</div>
|
|
54
|
+
</div>
|
|
55
|
+
</section>
|
|
56
|
+
|
|
57
|
+
<section class="main-stack">
|
|
58
|
+
<section class="panel" aria-labelledby="output-title">
|
|
59
|
+
<div class="panel-header output-toolbar">
|
|
60
|
+
<div>
|
|
61
|
+
<h2 id="output-title" class="panel-title">输出</h2>
|
|
62
|
+
<p id="outputMeta" class="panel-kicker">空闲,已准备好调用本地 Agent。</p>
|
|
63
|
+
</div>
|
|
64
|
+
<div class="button-row">
|
|
65
|
+
<button id="copyOutput">复制</button>
|
|
66
|
+
</div>
|
|
67
|
+
</div>
|
|
68
|
+
<div class="panel-body">
|
|
69
|
+
<pre id="output">就绪。</pre>
|
|
70
|
+
</div>
|
|
71
|
+
</section>
|
|
72
|
+
|
|
73
|
+
<section class="summary-list" aria-label="Run summary">
|
|
74
|
+
<div class="summary-item">
|
|
75
|
+
<div class="summary-label">关联 ID</div>
|
|
76
|
+
<div id="correlationSummary" class="summary-value">-</div>
|
|
77
|
+
</div>
|
|
78
|
+
<div class="summary-item">
|
|
79
|
+
<div class="summary-label">会话</div>
|
|
80
|
+
<div id="sessionSummary" class="summary-value">-</div>
|
|
81
|
+
</div>
|
|
82
|
+
<div class="summary-item">
|
|
83
|
+
<div class="summary-label">追踪</div>
|
|
84
|
+
<div id="traceSummary" class="summary-value">-</div>
|
|
85
|
+
</div>
|
|
86
|
+
</section>
|
|
87
|
+
|
|
88
|
+
<section class="diagnostic-grid">
|
|
89
|
+
<div class="panel">
|
|
90
|
+
<div class="panel-header">
|
|
91
|
+
<div>
|
|
92
|
+
<h2 class="panel-title">执行上下文</h2>
|
|
93
|
+
<p class="panel-kicker">注入 Runtime 的脱敏上下文。</p>
|
|
94
|
+
</div>
|
|
95
|
+
</div>
|
|
96
|
+
<div class="panel-body"><pre id="state">加载中...</pre></div>
|
|
97
|
+
</div>
|
|
98
|
+
<div class="panel">
|
|
99
|
+
<div class="panel-header">
|
|
100
|
+
<div>
|
|
101
|
+
<h2 class="panel-title">Graph</h2>
|
|
102
|
+
<p id="graphMeta" class="panel-kicker">正在加载项目 Graph 预览。</p>
|
|
103
|
+
</div>
|
|
104
|
+
</div>
|
|
105
|
+
<div class="panel-body"><pre id="graph">加载中...</pre></div>
|
|
106
|
+
</div>
|
|
107
|
+
<div class="panel">
|
|
108
|
+
<div class="panel-header">
|
|
109
|
+
<div>
|
|
110
|
+
<h2 class="panel-title">Token 用量</h2>
|
|
111
|
+
<p class="panel-kicker">从常见 Runtime 响应结构中提取。</p>
|
|
112
|
+
</div>
|
|
113
|
+
</div>
|
|
114
|
+
<div class="panel-body"><pre id="token">-</pre></div>
|
|
115
|
+
</div>
|
|
116
|
+
<div class="panel">
|
|
117
|
+
<div class="panel-header">
|
|
118
|
+
<div>
|
|
119
|
+
<h2 class="panel-title">链路追踪</h2>
|
|
120
|
+
<p class="panel-kicker">使用 correlationId 查看 Foundation Trace。</p>
|
|
121
|
+
</div>
|
|
122
|
+
</div>
|
|
123
|
+
<div class="panel-body"><pre id="trace">-</pre></div>
|
|
124
|
+
</div>
|
|
125
|
+
</section>
|
|
126
|
+
</section>
|
|
127
|
+
</main>
|
|
128
|
+
</div>
|
|
129
|
+
|
|
130
|
+
<script src="/playground/static/playground.js" defer></script>
|
|
131
|
+
</body>
|
|
132
132
|
</html>
|