dsh-vscode-mode 0.14.7 → 0.14.8
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/README.md +9 -7
- package/lib/client.js +19 -2
- package/lib/client.js.map +1 -1
- package/lib/index.js +22 -0
- package/lib/index.js.map +1 -1
- package/package.json +1 -1
- package/src/client/openFlow.ts +33 -3
- package/src/index.ts +9 -1
- package/src/openBridge.ts +13 -0
- package/src/rpc.ts +1 -1
- package/unity/com.dsh.editor/Editor/DshCodeEditor.cs +58 -4
- package/unity/com.dsh.editor/Editor/DshOpenWorker.cs +13 -2
- package/unity/com.dsh.editor/package.json +2 -2
package/lib/index.js
CHANGED
|
@@ -9306,6 +9306,18 @@ async function ensureOpenBridge(ctx, baseUrl) {
|
|
|
9306
9306
|
await writeOpenConfig(ctx, dir, baseUrl, inbox);
|
|
9307
9307
|
return join(dir, "dsh-open.ini");
|
|
9308
9308
|
}
|
|
9309
|
+
/** @public @author ddj 2026年10月12号
|
|
9310
|
+
* Provision the active profile's independent bridge at startup (desktop or web).
|
|
9311
|
+
* Mirrors unityInstall's per-profile bridge without requiring a registered project,
|
|
9312
|
+
* so Unity can select either target. Unknown profile returns null instead of failing.
|
|
9313
|
+
* @param ctx Active host context.
|
|
9314
|
+
* @param baseUrl Selected public Web URL (unused for desktop wake).
|
|
9315
|
+
* @returns Absolute profile bridge INI path, or null when no owned profile is active.
|
|
9316
|
+
*/
|
|
9317
|
+
async function ensureActiveBridge(ctx, baseUrl) {
|
|
9318
|
+
if (!findProfileDir(ctx)) return null;
|
|
9319
|
+
return ensureOpenBridge(ctx, baseUrl);
|
|
9320
|
+
}
|
|
9309
9321
|
/** @private @author ddj 2026年09月28号
|
|
9310
9322
|
* Replace a bridge file atomically without following a preexisting file link.
|
|
9311
9323
|
* @param path Destination in the validated bridge directory.
|
|
@@ -23172,6 +23184,16 @@ async function apply(ctx, config) {
|
|
|
23172
23184
|
await installPlanTool(ctx, submitPlan);
|
|
23173
23185
|
ctx.effect(mountInbox, "vscode-mode:open-inbox");
|
|
23174
23186
|
ctx.effect(() => shellMenuLifecycle(ctx), "vscode-mode:integration");
|
|
23187
|
+
/** @author ddj 2026年10月12号 @returns Active-profile bridge disposer; failures never block boot. */
|
|
23188
|
+
async function provisionBridge() {
|
|
23189
|
+
try {
|
|
23190
|
+
await ensureActiveBridge(ctx, await integrationBaseUrlOf(ctx));
|
|
23191
|
+
} catch (error) {
|
|
23192
|
+
noteWarning("外部打开桥接未就绪:" + String(error));
|
|
23193
|
+
}
|
|
23194
|
+
return () => {};
|
|
23195
|
+
}
|
|
23196
|
+
ctx.effect(provisionBridge, "vscode-mode:bridge");
|
|
23175
23197
|
sweepTreeCache();
|
|
23176
23198
|
await logCompatSummary(ctx, warnings);
|
|
23177
23199
|
log.info("编辑差异审查已装配(认证路由、项目 MCP 作用域、SVN 方案工具与外部打开通道)");
|