@yeaft/webchat-agent 1.0.253 → 1.0.255
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/index.js +13 -6
- package/local-runtime/version.json +1 -1
- package/local-runtime/web/app.bundle.js +1 -1
- package/local-runtime/web/app.bundle.js.gz +0 -0
- package/local-runtime/web/index.html +2 -2
- package/local-runtime/web/style.bundle.css +1 -1
- package/local-runtime/web/style.bundle.css.gz +0 -0
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -16,6 +16,13 @@ import { connect } from './connection.js';
|
|
|
16
16
|
import { loadMcpServers } from './mcp.js';
|
|
17
17
|
|
|
18
18
|
const execAsync = promisify(exec);
|
|
19
|
+
|
|
20
|
+
// Startup maintenance is non-interactive. Without windowsHide, each exec()
|
|
21
|
+
// creates a visible cmd.exe window on Windows before the Agent connects.
|
|
22
|
+
function execHiddenAsync(command, options = {}) {
|
|
23
|
+
return execAsync(command, { ...options, windowsHide: true });
|
|
24
|
+
}
|
|
25
|
+
|
|
19
26
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
20
27
|
|
|
21
28
|
// Load package version
|
|
@@ -148,7 +155,7 @@ async function ensureDependencies() {
|
|
|
148
155
|
if (!existsSync(nodeModulesPath)) {
|
|
149
156
|
console.log('[Startup] node_modules not found, running npm install...');
|
|
150
157
|
try {
|
|
151
|
-
await
|
|
158
|
+
await execHiddenAsync('npm install', { cwd: agentDir, timeout: 120000 });
|
|
152
159
|
console.log('[Startup] npm install completed');
|
|
153
160
|
} catch (e) {
|
|
154
161
|
console.warn('[Startup] npm install failed:', e.message);
|
|
@@ -179,7 +186,7 @@ async function ensureYeaftSkills() {
|
|
|
179
186
|
if (!existsSync(installDir)) {
|
|
180
187
|
console.log('[Startup] yeaft-skills not found, installing as marketplace plugin...');
|
|
181
188
|
mkdirSync(marketplacesDir, { recursive: true });
|
|
182
|
-
await
|
|
189
|
+
await execHiddenAsync(`git clone ${REPO_URL} "${installDir}"`, { timeout: 60000 });
|
|
183
190
|
needsCacheUpdate = true;
|
|
184
191
|
console.log('[Startup] yeaft-skills installed');
|
|
185
192
|
} else {
|
|
@@ -187,10 +194,10 @@ async function ensureYeaftSkills() {
|
|
|
187
194
|
// Record HEAD before pull to detect changes
|
|
188
195
|
let headBefore = '';
|
|
189
196
|
try {
|
|
190
|
-
const { stdout: h } = await
|
|
197
|
+
const { stdout: h } = await execHiddenAsync('git rev-parse HEAD', { cwd: installDir, timeout: 5000 });
|
|
191
198
|
headBefore = h.trim();
|
|
192
199
|
} catch { /* ignore */ }
|
|
193
|
-
const { stdout } = await
|
|
200
|
+
const { stdout } = await execHiddenAsync('git pull --ff-only', {
|
|
194
201
|
cwd: installDir,
|
|
195
202
|
timeout: 30000
|
|
196
203
|
});
|
|
@@ -203,14 +210,14 @@ async function ensureYeaftSkills() {
|
|
|
203
210
|
// Double-check: compare HEAD after pull
|
|
204
211
|
if (!needsCacheUpdate && headBefore) {
|
|
205
212
|
try {
|
|
206
|
-
const { stdout: h2 } = await
|
|
213
|
+
const { stdout: h2 } = await execHiddenAsync('git rev-parse HEAD', { cwd: installDir, timeout: 5000 });
|
|
207
214
|
if (h2.trim() !== headBefore) needsCacheUpdate = true;
|
|
208
215
|
} catch { /* ignore */ }
|
|
209
216
|
}
|
|
210
217
|
}
|
|
211
218
|
// Get current commit SHA for installed_plugins.json
|
|
212
219
|
try {
|
|
213
|
-
const { stdout: sha } = await
|
|
220
|
+
const { stdout: sha } = await execHiddenAsync('git rev-parse HEAD', { cwd: installDir, timeout: 5000 });
|
|
214
221
|
gitSha = sha.trim();
|
|
215
222
|
} catch { /* non-critical */ }
|
|
216
223
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"1.0.
|
|
1
|
+
{"version":"1.0.255"}
|
|
@@ -5293,7 +5293,7 @@ ${String(e||"").trim()}
|
|
|
5293
5293
|
<svg viewBox="0 0 24 24" width="15" height="15" aria-hidden="true"><path fill="currentColor" d="M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12Zm3.46-7.12 1.41-1.41L12 11.59l1.12-1.12 1.41 1.41L13.41 13l1.12 1.12-1.41 1.41L12 14.41l-1.12 1.12-1.41-1.41L10.59 13l-1.13-1.12ZM15.5 4l-1-1h-5l-1 1H5v2h14V4h-3.5Z"/></svg>
|
|
5294
5294
|
</button>
|
|
5295
5295
|
</article>
|
|
5296
|
-
<p v-if="!loading && lane.items.length === 0" class="work-center-board-empty">{{ tr('workCenter.board.emptyLane', 'No work items') }}</p>
|
|
5296
|
+
<p v-if="!loading && items.length > 0 && lane.items.length === 0" class="work-center-board-empty">{{ tr('workCenter.board.emptyLane', 'No work items') }}</p>
|
|
5297
5297
|
</div>
|
|
5298
5298
|
</section>
|
|
5299
5299
|
<div v-if="loading" class="work-center-loading">{{ tr('workCenter.loading', 'Loading work items\u2026') }}</div>
|
|
Binary file
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover">
|
|
6
6
|
<title>Yeaft</title>
|
|
7
7
|
<link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><rect width='32' height='32' rx='8' fill='%232c2c2c'/><path d='M16 22V13M16 13L10 8M16 13L22 8' stroke='white' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round' fill='none'/><circle cx='10' cy='8' r='2.4' fill='white'/><circle cx='22' cy='8' r='2.4' fill='white'/><circle cx='16' cy='22' r='2.4' fill='white'/></svg>">
|
|
8
|
-
<link rel="stylesheet" href="style.bundle.css?v=
|
|
8
|
+
<link rel="stylesheet" href="style.bundle.css?v=31a97f8f">
|
|
9
9
|
<script src="vendor.bundle.js?v=103fd8e7"></script>
|
|
10
10
|
<script defer src="jszip.min.js"></script>
|
|
11
11
|
<script defer src="docx-preview.min.js"></script>
|
|
@@ -16,6 +16,6 @@
|
|
|
16
16
|
</head>
|
|
17
17
|
<body>
|
|
18
18
|
<div id="app"></div>
|
|
19
|
-
<script type="module" src="app.bundle.js?v=
|
|
19
|
+
<script type="module" src="app.bundle.js?v=d010a7c7"></script>
|
|
20
20
|
</body>
|
|
21
21
|
</html>
|