@dsh-plugin/dsh-loader 1.3.3 → 1.3.4
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/adapters/dsh-1-x.d.ts +10 -3
- package/dist/adapters/dsh-1-x.js +85 -16
- package/dist/adapters/dsh-1-x.js.map +1 -1
- package/dist/api.js +5 -5
- package/dist/api.js.map +1 -1
- package/dist/client-connection-api-compat.d.ts +3 -0
- package/dist/client-connection-api-compat.js +24 -2
- package/dist/client-connection-api-compat.js.map +1 -1
- package/dist/client.d.ts +8 -0
- package/dist/client.js +53 -12
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +27 -4
- package/dist/index.js +98 -16
- package/dist/index.js.map +1 -1
- package/dist/services/settings.js +62 -6
- package/dist/services/settings.js.map +1 -1
- package/dist/setup.js +13 -0
- package/dist/setup.js.map +1 -1
- package/dist/types.d.ts +11 -8
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/lib/client.js +81 -31
- package/lib/client.js.map +1 -1
- package/lib/types/adapters/dsh-1-x.d.ts +10 -3
- package/lib/types/client-connection-api-compat.d.ts +3 -0
- package/lib/types/client-ui.d.ts +4 -0
- package/lib/types/client.d.ts +8 -0
- package/lib/types/types.d.ts +11 -8
- package/lib/types/version.d.ts +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -6,8 +6,9 @@
|
|
|
6
6
|
// ctx.reflect.provide / ctx.effect so cordis auto-recycles them on fiber
|
|
7
7
|
// unload — no manual dispose is required for v1's covered capabilities.
|
|
8
8
|
import { LOADER_VERSION, LOG_PREFIX } from './version.js';
|
|
9
|
-
import { readFileSync } from 'node:fs';
|
|
10
|
-
import { join, resolve } from 'node:path';
|
|
9
|
+
import { readFileSync, realpathSync, readdirSync } from 'node:fs';
|
|
10
|
+
import { basename, dirname, join, resolve } from 'node:path';
|
|
11
|
+
import { fileURLToPath } from 'node:url';
|
|
11
12
|
import { AdapterRegistry, detectDshVersion, UnsupportedDshVersionError } from './registry.js';
|
|
12
13
|
import { registerHostAdapters } from './adapters/index.js';
|
|
13
14
|
import { createHostAPI } from './api.js';
|
|
@@ -16,27 +17,105 @@ export const name = '@dsh-plugin/dsh-loader';
|
|
|
16
17
|
// dshloader itself depends on `webServer` so its fiber only activates once
|
|
17
18
|
// the real web server is provided — the alias then points `httpServer` at it.
|
|
18
19
|
export const inject = ['webServer'];
|
|
20
|
+
/** The npm package name profiles depend on (used by profile detection). */
|
|
21
|
+
const LOADER_PACKAGE = '@dsh-plugin/dsh-loader';
|
|
22
|
+
/**
|
|
23
|
+
* Locate the profile directory this loader instance is mounted into.
|
|
24
|
+
*
|
|
25
|
+
* Strategy, in order:
|
|
26
|
+
* 1. Self-location: under pnpm the entry's realpath resolves inside
|
|
27
|
+
* `<profileDir>/node_modules/...`, so walk up for an ancestor
|
|
28
|
+
* `node_modules` whose parent manifest declares `dsh.profile`.
|
|
29
|
+
* 2. Dependency scan (covers `link:` installs whose realpath escapes the
|
|
30
|
+
* profile): the profile manifests under `$DSH_HOME/profiles` that depend
|
|
31
|
+
* on this package. Unambiguous only when exactly one matches — with
|
|
32
|
+
* several, per-profile manifest config stays unread rather than reading
|
|
33
|
+
* the wrong profile (env and cordis entry config still apply).
|
|
34
|
+
*
|
|
35
|
+
* @returns the absolute profile directory, or undefined when undetectable.
|
|
36
|
+
*/
|
|
37
|
+
export function detectProfileDir(opts = {}) {
|
|
38
|
+
try {
|
|
39
|
+
let dir = dirname(realpathSync(fileURLToPath(opts.moduleUrl ?? import.meta.url)));
|
|
40
|
+
for (let depth = 0; depth < 16; depth++) {
|
|
41
|
+
if (basename(dir) === 'node_modules') {
|
|
42
|
+
const parent = dirname(dir);
|
|
43
|
+
try {
|
|
44
|
+
const manifest = JSON.parse(readFileSync(join(parent, 'package.json'), 'utf8'));
|
|
45
|
+
if (manifest?.dsh?.profile !== undefined)
|
|
46
|
+
return parent;
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
/* keep walking */
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
const next = dirname(dir);
|
|
53
|
+
if (next === dir)
|
|
54
|
+
break;
|
|
55
|
+
dir = next;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
/* fall through to the dependency scan */
|
|
60
|
+
}
|
|
61
|
+
const home = opts.dshHome ?? process.env.DSH_HOME;
|
|
62
|
+
if (home === undefined || home.trim() === '')
|
|
63
|
+
return undefined;
|
|
64
|
+
try {
|
|
65
|
+
const profilesDir = join(resolve(home), 'profiles');
|
|
66
|
+
const matches = readdirSync(profilesDir, { withFileTypes: true })
|
|
67
|
+
.filter((entry) => entry.isDirectory() && entry.name !== 'node_modules')
|
|
68
|
+
.filter((entry) => {
|
|
69
|
+
try {
|
|
70
|
+
const manifest = JSON.parse(readFileSync(join(profilesDir, entry.name, 'package.json'), 'utf8'));
|
|
71
|
+
const deps = { ...manifest.dependencies, ...manifest.devDependencies };
|
|
72
|
+
return Object.keys(deps).includes(LOADER_PACKAGE);
|
|
73
|
+
}
|
|
74
|
+
catch {
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
if (matches.length === 1)
|
|
79
|
+
return join(profilesDir, matches[0].name);
|
|
80
|
+
}
|
|
81
|
+
catch {
|
|
82
|
+
/* ignore */
|
|
83
|
+
}
|
|
84
|
+
return undefined;
|
|
85
|
+
}
|
|
19
86
|
/**
|
|
20
87
|
* Read the profile-level dshloader config (exposeAllNamespaces etc.).
|
|
21
|
-
* Sources, in priority order:
|
|
88
|
+
* Sources, in priority order (first true wins):
|
|
22
89
|
* 1. process.env.DSHLOADER_EXPOSE_ALL_SETTINGS=1
|
|
23
|
-
* 2.
|
|
24
|
-
*
|
|
90
|
+
* 2. cordis entry config (`- id: dsh-loader` row's `config:`) — per-profile
|
|
91
|
+
* by construction, the officially sanctioned channel
|
|
92
|
+
* 3. the ACTIVE profile's package.json `dsh.dshloader.exposeAllNamespaces`
|
|
93
|
+
* (or legacy `dshLoader.settings.exposeAllNamespaces`), located via
|
|
94
|
+
* {@link detectProfileDir} — never a hardcoded profile name
|
|
25
95
|
*/
|
|
26
96
|
export function readLoaderConfig(opts = {}) {
|
|
27
97
|
const envOn = process.env.DSHLOADER_EXPOSE_ALL_SETTINGS === '1' || process.env.DSHLOADER_EXPOSE_ALL_SETTINGS === 'true';
|
|
98
|
+
const entryOn = Boolean(opts.config?.exposeAllNamespaces);
|
|
28
99
|
let pkgOn = false;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
100
|
+
const dir = opts.profileDir ?? detectProfileDir();
|
|
101
|
+
if (dir !== undefined) {
|
|
102
|
+
try {
|
|
103
|
+
const manifest = JSON.parse(readFileSync(join(resolve(dir), 'package.json'), 'utf8'));
|
|
104
|
+
pkgOn = Boolean(manifest.dsh?.dshloader?.exposeAllNamespaces ??
|
|
105
|
+
manifest.dshLoader?.settings?.exposeAllNamespaces);
|
|
106
|
+
}
|
|
107
|
+
catch {
|
|
108
|
+
/* ignore */
|
|
109
|
+
}
|
|
35
110
|
}
|
|
36
|
-
|
|
37
|
-
|
|
111
|
+
else if (!envOn && !entryOn) {
|
|
112
|
+
console.warn(`${LOG_PREFIX} could not locate the active profile directory; profile package.json config is unread. ` +
|
|
113
|
+
`Set DSHLOADER_EXPOSE_ALL_SETTINGS=1 or the cordis entry config (config: { exposeAllNamespaces: true }) instead.`);
|
|
38
114
|
}
|
|
39
|
-
return {
|
|
115
|
+
return {
|
|
116
|
+
exposeAllNamespaces: envOn || entryOn || pkgOn,
|
|
117
|
+
hostPackageAliases: opts.config?.hostPackageAliases,
|
|
118
|
+
};
|
|
40
119
|
}
|
|
41
120
|
/**
|
|
42
121
|
* Build the registry + select an adapter for the current dsh version, without
|
|
@@ -84,12 +163,15 @@ export async function applyAdapter(ctx, opts = {}) {
|
|
|
84
163
|
return { api, factory, mode, dshVersion };
|
|
85
164
|
}
|
|
86
165
|
/** cordis function-plugin entry point. */
|
|
87
|
-
export async function apply(ctx) {
|
|
166
|
+
export async function apply(ctx, entryConfig) {
|
|
88
167
|
if (process.env.DSHLOADER_DISABLE === '1' || process.env.DSHLOADER_DISABLE === 'true') {
|
|
89
168
|
console.log(`${LOG_PREFIX} disabled by env, skipping`);
|
|
90
169
|
return;
|
|
91
170
|
}
|
|
92
|
-
|
|
171
|
+
// Merge the cordis entry row's `config:` with env/profile-manifest sources —
|
|
172
|
+
// the entry config is per-profile by construction, so it outranks the
|
|
173
|
+
// best-effort located profile manifest.
|
|
174
|
+
await applyAdapter(ctx, { config: readLoaderConfig({ config: entryConfig }) });
|
|
93
175
|
}
|
|
94
176
|
export { LOADER_VERSION };
|
|
95
177
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,oEAAoE;AACpE,yEAAyE;AACzE,wEAAwE;AACxE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -71,6 +71,59 @@ export function settingsErrorToResult(error, ns, method) {
|
|
|
71
71
|
details: { ns, method },
|
|
72
72
|
};
|
|
73
73
|
}
|
|
74
|
+
// cordis FiberState numeric values (vendor/cordis/src/fiber.ts const enum:
|
|
75
|
+
// PENDING=0 … DISPOSED=4, UNLOADING=5). dsh-settings@≤0.1.2-alpha.1 defined
|
|
76
|
+
// the same two constants locally; cordis does not re-export the enum.
|
|
77
|
+
const FIBER_DISPOSED = 4;
|
|
78
|
+
const FIBER_UNLOADING = 5;
|
|
79
|
+
/** True while the fiber owning `ctx` is unloading or already disposed. */
|
|
80
|
+
function isFiberUnloading(ctx) {
|
|
81
|
+
const state = ctx?.fiber?.state;
|
|
82
|
+
return state === FIBER_UNLOADING || state === FIBER_DISPOSED;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Faithful port of dsh-settings@≤0.1.2-alpha.1 `installSettingsSection`, for
|
|
86
|
+
* dsh ≥ 0.1.2-alpha.2 which dropped the module export while keeping the
|
|
87
|
+
* settings service `register()` contract identical
|
|
88
|
+
* (`register(ns, schema, { base, validate })` → scope `{ get, watch }`).
|
|
89
|
+
*
|
|
90
|
+
* Semantics preserved verbatim from the upstream implementation:
|
|
91
|
+
* 1. wait for the settings service via `ctx.inject` (never throws when the
|
|
92
|
+
* service is missing — the consumer simply keeps its composition entry);
|
|
93
|
+
* 2. register `ns` with the composition `entry` as the `base` layer;
|
|
94
|
+
* 3. point the hooks' source thunk at the resolved scope;
|
|
95
|
+
* 4. on fiber teardown, restore the source to the plain entry and fire
|
|
96
|
+
* `onChange` (skipped when the fiber is already unloading);
|
|
97
|
+
* 5. fire `onChange` on install and on every scope change.
|
|
98
|
+
*
|
|
99
|
+
* @returns `false` only when the consumer context cannot inject (not a cordis
|
|
100
|
+
* context) — the caller then keeps using its composition entry, exactly as
|
|
101
|
+
* with the old module-missing path.
|
|
102
|
+
*/
|
|
103
|
+
function installSettingsSectionFallback(consumerCtx, ns, schema, entry, hooks) {
|
|
104
|
+
if (typeof consumerCtx?.inject !== 'function')
|
|
105
|
+
return false;
|
|
106
|
+
consumerCtx.inject(['settings'], (sctx) => {
|
|
107
|
+
const scope = sctx.settings.register(ns, schema, {
|
|
108
|
+
base: entry,
|
|
109
|
+
...(hooks.validate === undefined ? {} : { validate: hooks.validate }),
|
|
110
|
+
});
|
|
111
|
+
hooks.setSource(() => scope.get());
|
|
112
|
+
sctx.effect(() => () => {
|
|
113
|
+
if (isFiberUnloading(consumerCtx))
|
|
114
|
+
return;
|
|
115
|
+
hooks.setSource(() => entry);
|
|
116
|
+
hooks.onChange();
|
|
117
|
+
});
|
|
118
|
+
hooks.onChange();
|
|
119
|
+
scope.watch(() => {
|
|
120
|
+
if (isFiberUnloading(consumerCtx))
|
|
121
|
+
return;
|
|
122
|
+
hooks.onChange();
|
|
123
|
+
});
|
|
124
|
+
});
|
|
125
|
+
return true;
|
|
126
|
+
}
|
|
74
127
|
/**
|
|
75
128
|
* Build the `ctx.dshLoader.settings` stable API.
|
|
76
129
|
*/
|
|
@@ -235,13 +288,16 @@ export function createSettingsAPI(opts) {
|
|
|
235
288
|
},
|
|
236
289
|
installSection(consumerCtx, ns, schema, entry, hooks) {
|
|
237
290
|
const install = module?.installSettingsSection;
|
|
238
|
-
if (typeof install
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
return false;
|
|
291
|
+
if (typeof install === 'function') {
|
|
292
|
+
install(consumerCtx, ns, schema, entry, hooks);
|
|
293
|
+
return true;
|
|
242
294
|
}
|
|
243
|
-
|
|
244
|
-
|
|
295
|
+
// dsh ≥ 0.1.2-alpha.2 dropped the installSettingsSection module export
|
|
296
|
+
// (settingsNamespace → parseSettingsNamespace, also unexported) while
|
|
297
|
+
// keeping the settings service register() contract identical. Fall back
|
|
298
|
+
// to a faithful port of the alpha.1 semantics so optional-settings
|
|
299
|
+
// consumers keep their user layer on new versions.
|
|
300
|
+
return installSettingsSectionFallback(consumerCtx, ns, schema, entry, hooks);
|
|
245
301
|
},
|
|
246
302
|
isConflictError(error) {
|
|
247
303
|
const Ctor = module?.SettingsConflictError;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/services/settings.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/services/settings.ts"],"names":[],"mappings":"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"}
|
package/dist/setup.js
CHANGED
|
@@ -26,6 +26,19 @@ export function dshHome() {
|
|
|
26
26
|
return env ? resolve(env) : join(process.env.HOME ?? '~', '.dsh');
|
|
27
27
|
}
|
|
28
28
|
export function profileDir(profileName) {
|
|
29
|
+
// Mirror dsh's own profile-name validation (app-boot profile.ts
|
|
30
|
+
// resolveProfileDir): reject separators and dot segments so a crafted name
|
|
31
|
+
// cannot escape $DSH_HOME/profiles — setupProfile WRITES into the resolved
|
|
32
|
+
// directory, so an unchecked `../../…` is a path-traversal write.
|
|
33
|
+
if (profileName === '' ||
|
|
34
|
+
profileName.includes('/') ||
|
|
35
|
+
profileName.includes('\\') ||
|
|
36
|
+
profileName === '.' ||
|
|
37
|
+
profileName === '..' ||
|
|
38
|
+
// The launcher-maintained flat module fallback lives at this sibling path.
|
|
39
|
+
profileName === 'node_modules') {
|
|
40
|
+
throw new Error(`${LOG_PREFIX} invalid profile name ${JSON.stringify(profileName)}`);
|
|
41
|
+
}
|
|
29
42
|
return join(dshHome(), 'profiles', profileName);
|
|
30
43
|
}
|
|
31
44
|
function readJson(path) {
|
package/dist/setup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -90,16 +90,19 @@ export interface SettingsAPI {
|
|
|
90
90
|
*/
|
|
91
91
|
namespace(id: string): any;
|
|
92
92
|
/**
|
|
93
|
-
* Install the canonical optional-settings consumer wiring
|
|
94
|
-
*
|
|
95
|
-
*
|
|
96
|
-
*
|
|
93
|
+
* Install the canonical optional-settings consumer wiring: register `ns`
|
|
94
|
+
* with `entry` as the `base` layer, point the hooks' source thunk at the
|
|
95
|
+
* resolved scope while a settings service exists, and fall back to `entry`
|
|
96
|
+
* when it goes away.
|
|
97
97
|
*
|
|
98
|
-
*
|
|
99
|
-
*
|
|
98
|
+
* Delegates to dsh's `installSettingsSection` when the module exports it
|
|
99
|
+
* (dsh ≤ 0.1.2-alpha.1); on dsh ≥ 0.1.2-alpha.2 (which dropped the export
|
|
100
|
+
* but kept the settings service register() contract identical) the facade
|
|
101
|
+
* runs a faithful port of the same upstream semantics instead.
|
|
100
102
|
*
|
|
101
|
-
* @returns `true` when the wiring was installed, `false` when
|
|
102
|
-
*
|
|
103
|
+
* @returns `true` when the wiring was installed, `false` when the caller's
|
|
104
|
+
* context cannot inject the settings service (the caller then keeps using
|
|
105
|
+
* its composition entry).
|
|
103
106
|
*/
|
|
104
107
|
installSection<T>(ctx: any, ns: any, schema: any, entry: T, hooks: {
|
|
105
108
|
setSource(current: () => T): void;
|
package/dist/version.d.ts
CHANGED
package/dist/version.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// dshloader version — keep in sync with package.json.
|
|
2
|
-
export const LOADER_VERSION = '1.3.
|
|
2
|
+
export const LOADER_VERSION = '1.3.4';
|
|
3
3
|
// Prefix used in every console log / error so users can grep dshloader output.
|
|
4
4
|
export const LOG_PREFIX = '[dshloader]';
|
|
5
5
|
// Window global the boot-alias injection (src/boot-injection.ts) sets to the
|
package/lib/client.js
CHANGED
|
@@ -32,7 +32,7 @@ window.__ModuleLoader__.load({
|
|
|
32
32
|
let react_dom_client = require("react-dom/client");
|
|
33
33
|
let _deepseek_ai_dsh_client_ui_primitives = require("@deepseek-ai/dsh-client-ui-primitives");
|
|
34
34
|
//#region src/version.ts
|
|
35
|
-
const LOADER_VERSION = "1.3.
|
|
35
|
+
const LOADER_VERSION = "1.3.4";
|
|
36
36
|
const LOG_PREFIX = "[dshloader]";
|
|
37
37
|
const BOOT_ALIAS_IDS_FLAG = "__dshLoaderBootAliases__";
|
|
38
38
|
//#endregion
|
|
@@ -172,6 +172,8 @@ window.__ModuleLoader__.load({
|
|
|
172
172
|
} } : void 0
|
|
173
173
|
};
|
|
174
174
|
}
|
|
175
|
+
const LOAD_WRAP_KEY = Symbol.for("@dsh-plugin/dsh-loader:load-wrap");
|
|
176
|
+
const ALIAS_FACTORY_IDS_KEY = Symbol.for("@dsh-plugin/dsh-loader:alias-factories");
|
|
175
177
|
/**
|
|
176
178
|
* Install dshloader into a browser-like environment.
|
|
177
179
|
*/
|
|
@@ -203,38 +205,61 @@ window.__ModuleLoader__.load({
|
|
|
203
205
|
clientCtx: opts.clientCtx
|
|
204
206
|
});
|
|
205
207
|
win.__dshLoader__ = api;
|
|
208
|
+
const disposers = [];
|
|
206
209
|
const loader = win.__ModuleLoader__;
|
|
207
210
|
if (loader && typeof loader.load === "function") {
|
|
208
|
-
const
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
211
|
+
const holder = loader;
|
|
212
|
+
const existing = holder[LOAD_WRAP_KEY];
|
|
213
|
+
if (existing !== void 0 && loader.load === existing.ours) {} else {
|
|
214
|
+
const original = loader.load;
|
|
215
|
+
const wrapped = function dshloaderLoad(handoff) {
|
|
216
|
+
const wrappedFactory = (require$1) => {
|
|
217
|
+
const aliasedRequire = (spec) => {
|
|
218
|
+
return require$1(packageAliases.get(spec) ?? spec);
|
|
219
|
+
};
|
|
220
|
+
return handoff.factory(aliasedRequire);
|
|
213
221
|
};
|
|
214
|
-
return
|
|
222
|
+
return original.call(loader, {
|
|
223
|
+
id: handoff.id,
|
|
224
|
+
factory: wrappedFactory
|
|
225
|
+
});
|
|
226
|
+
};
|
|
227
|
+
loader.load = wrapped;
|
|
228
|
+
holder[LOAD_WRAP_KEY] = {
|
|
229
|
+
original,
|
|
230
|
+
ours: wrapped
|
|
215
231
|
};
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
232
|
+
disposers.push(() => {
|
|
233
|
+
if (loader.load === wrapped) loader.load = original;
|
|
234
|
+
if (holder[LOAD_WRAP_KEY]?.ours === wrapped) delete holder[LOAD_WRAP_KEY];
|
|
219
235
|
});
|
|
220
|
-
}
|
|
236
|
+
}
|
|
221
237
|
}
|
|
238
|
+
const winRecord = win;
|
|
239
|
+
const registeredByUs = new Set(Array.isArray(winRecord[ALIAS_FACTORY_IDS_KEY]) ? winRecord[ALIAS_FACTORY_IDS_KEY] : []);
|
|
222
240
|
const bootAliased = new Set(Array.isArray(win["__dshLoaderBootAliases__"]) ? win[BOOT_ALIAS_IDS_FLAG] : []);
|
|
223
|
-
if (loader && typeof loader.load === "function")
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
241
|
+
if (loader && typeof loader.load === "function") {
|
|
242
|
+
for (const [aliasId, target] of Object.entries(moduleAliases)) {
|
|
243
|
+
if (bootAliased.has(aliasId) || registeredByUs.has(aliasId)) continue;
|
|
244
|
+
loader.load({
|
|
245
|
+
id: aliasId,
|
|
246
|
+
factory: (require$2) => {
|
|
247
|
+
const mod = require$2(target);
|
|
248
|
+
if (aliasId.endsWith("context-provenance.ts") || aliasId.endsWith("context-provenance")) return { contextProvenance: mod.contextProvenance };
|
|
249
|
+
return mod;
|
|
250
|
+
}
|
|
251
|
+
});
|
|
252
|
+
registeredByUs.add(aliasId);
|
|
253
|
+
}
|
|
254
|
+
winRecord[ALIAS_FACTORY_IDS_KEY] = [...registeredByUs];
|
|
233
255
|
}
|
|
234
256
|
if (exposeAllNamespaces) {
|
|
235
|
-
installSettingsFetchInterceptor(win, bridgePrefix);
|
|
257
|
+
disposers.push(installSettingsFetchInterceptor(win, bridgePrefix));
|
|
236
258
|
console.warn(`${LOG_PREFIX} exposeAllNamespaces enabled: bypassing official settings whitelist`);
|
|
237
259
|
}
|
|
260
|
+
if (typeof opts.effect === "function" && disposers.length > 0) opts.effect(() => () => {
|
|
261
|
+
for (const dispose of disposers.splice(0)) dispose();
|
|
262
|
+
});
|
|
238
263
|
return api;
|
|
239
264
|
}
|
|
240
265
|
/**
|
|
@@ -510,6 +535,14 @@ window.__ModuleLoader__.load({
|
|
|
510
535
|
onReady();
|
|
511
536
|
return true;
|
|
512
537
|
}
|
|
538
|
+
let bridged;
|
|
539
|
+
const timers = /* @__PURE__ */ new Set();
|
|
540
|
+
if (typeof ctx.effect === "function") ctx.effect(() => () => {
|
|
541
|
+
if (bridged !== void 0 && bridged.conn.api === bridged.api) delete bridged.conn.api;
|
|
542
|
+
bridged = void 0;
|
|
543
|
+
for (const timer of timers) clearTimeout(timer);
|
|
544
|
+
timers.clear();
|
|
545
|
+
});
|
|
513
546
|
let ready = false;
|
|
514
547
|
const readyOnce = () => {
|
|
515
548
|
if (ready) return;
|
|
@@ -529,14 +562,26 @@ window.__ModuleLoader__.load({
|
|
|
529
562
|
`${REMOTE_SERVICE}.settings`
|
|
530
563
|
], (inner) => {
|
|
531
564
|
const innerConn = inner.get?.(CONNECTION_SERVICE);
|
|
532
|
-
if (innerConn !== void 0 && innerConn.api === void 0)
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
565
|
+
if (innerConn !== void 0 && innerConn.api === void 0) {
|
|
566
|
+
const proxy = buildLegacyApiProxy({
|
|
567
|
+
llm: inner.get?.(`${REMOTE_SERVICE}.llm`),
|
|
568
|
+
session: inner.get?.(`${REMOTE_SERVICE}.session`),
|
|
569
|
+
settings: inner.get?.(`${REMOTE_SERVICE}.settings`)
|
|
570
|
+
});
|
|
571
|
+
innerConn.api = proxy;
|
|
572
|
+
bridged = {
|
|
573
|
+
conn: innerConn,
|
|
574
|
+
api: proxy
|
|
575
|
+
};
|
|
576
|
+
}
|
|
537
577
|
readyOnce();
|
|
538
578
|
});
|
|
539
|
-
setTimeout(
|
|
579
|
+
const timer = setTimeout(() => {
|
|
580
|
+
timers.delete(timer);
|
|
581
|
+
readyOnce();
|
|
582
|
+
}, 15e3);
|
|
583
|
+
timer.unref?.();
|
|
584
|
+
timers.add(timer);
|
|
540
585
|
});
|
|
541
586
|
return false;
|
|
542
587
|
}
|
|
@@ -1118,8 +1163,8 @@ window.__ModuleLoader__.load({
|
|
|
1118
1163
|
if (source == null) return {};
|
|
1119
1164
|
var target = {};
|
|
1120
1165
|
var sourceKeys = Object.keys(source);
|
|
1121
|
-
var key, i;
|
|
1122
|
-
for (
|
|
1166
|
+
var key, i = 0;
|
|
1167
|
+
for (; i < sourceKeys.length; i++) {
|
|
1123
1168
|
key = sourceKeys[i];
|
|
1124
1169
|
if (excluded.indexOf(key) >= 0) continue;
|
|
1125
1170
|
target[key] = source[key];
|
|
@@ -3235,6 +3280,10 @@ window.__ModuleLoader__.load({
|
|
|
3235
3280
|
* facade, then publishes it both as the `dshLoaderUi` cordis service
|
|
3236
3281
|
* (ordered access) and on `window.__dshLoader__.ui` (ad-hoc access from
|
|
3237
3282
|
* non-cordis code).
|
|
3283
|
+
*
|
|
3284
|
+
* Every patch installClient makes (the load wrapper, the settings fetch
|
|
3285
|
+
* interceptor) is registered through `ctx.effect`, so fiber unload / HMR
|
|
3286
|
+
* reverts them instead of stacking wrappers on the shared window.
|
|
3238
3287
|
*/
|
|
3239
3288
|
function apply(ctx) {
|
|
3240
3289
|
const win = ambientWindow();
|
|
@@ -3242,7 +3291,8 @@ window.__ModuleLoader__.load({
|
|
|
3242
3291
|
ensureDshModulesGlobal(win, ctx);
|
|
3243
3292
|
const api = installClient({
|
|
3244
3293
|
window: win,
|
|
3245
|
-
clientCtx: ctx
|
|
3294
|
+
clientCtx: ctx,
|
|
3295
|
+
effect: typeof ctx.effect === "function" ? (fn) => ctx.effect(fn) : void 0
|
|
3246
3296
|
});
|
|
3247
3297
|
installConversationEventsCompat(ctx);
|
|
3248
3298
|
ui = createUi();
|