@dsh-plugin/dsh-loader 1.1.0-dev.32287576957 → 1.2.0

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.
Files changed (62) hide show
  1. package/dist/adapters/dsh-1-x.js +4 -0
  2. package/dist/adapters/dsh-1-x.js.map +1 -1
  3. package/dist/api.d.ts +2 -0
  4. package/dist/api.js +18 -2
  5. package/dist/api.js.map +1 -1
  6. package/dist/client.d.ts +0 -1
  7. package/dist/client.js +13 -3
  8. package/dist/client.js.map +1 -1
  9. package/dist/index.js +7 -1
  10. package/dist/index.js.map +1 -1
  11. package/dist/patch.d.ts +112 -0
  12. package/dist/patch.js +179 -0
  13. package/dist/patch.js.map +1 -0
  14. package/dist/services/dsh-symbols.d.ts +70 -0
  15. package/dist/services/dsh-symbols.js +82 -0
  16. package/dist/services/dsh-symbols.js.map +1 -0
  17. package/dist/services/llm.d.ts +30 -0
  18. package/dist/services/llm.js +35 -0
  19. package/dist/services/llm.js.map +1 -0
  20. package/dist/services/registry.d.ts +144 -0
  21. package/dist/services/registry.js +209 -0
  22. package/dist/services/registry.js.map +1 -0
  23. package/dist/services/settings.d.ts +6 -0
  24. package/dist/services/settings.js +29 -1
  25. package/dist/services/settings.js.map +1 -1
  26. package/dist/services/web.js +20 -4
  27. package/dist/services/web.js.map +1 -1
  28. package/dist/setup.js +17 -1
  29. package/dist/setup.js.map +1 -1
  30. package/dist/types.d.ts +55 -0
  31. package/dist/version.d.ts +1 -1
  32. package/dist/version.js +1 -1
  33. package/lib/client.js +2775 -4
  34. package/lib/client.js.map +1 -1
  35. package/lib/types/adapters/dsh-1-x.d.ts +23 -0
  36. package/lib/types/adapters/index.d.ts +22 -0
  37. package/lib/types/client-ui.d.ts +40 -0
  38. package/lib/types/client.d.ts +156 -0
  39. package/lib/types/patch.d.ts +112 -0
  40. package/lib/types/registry.d.ts +35 -0
  41. package/lib/types/services/dsh-symbols.d.ts +70 -0
  42. package/lib/types/services/llm.d.ts +30 -0
  43. package/lib/types/services/registry.d.ts +144 -0
  44. package/lib/types/services/settings.d.ts +47 -0
  45. package/lib/types/types.d.ts +166 -0
  46. package/lib/types/ui/anchors.d.ts +56 -0
  47. package/lib/types/ui/components.d.ts +159 -0
  48. package/lib/types/ui/icons.d.ts +142 -0
  49. package/lib/types/ui/index.d.ts +30 -0
  50. package/lib/types/ui/menu.d.ts +104 -0
  51. package/lib/types/ui/slots.d.ts +152 -0
  52. package/lib/types/ui/style.d.ts +97 -0
  53. package/lib/types/version.d.ts +2 -0
  54. package/package.json +42 -9
  55. package/src/stable/compaction-basic.d.ts +1 -0
  56. package/src/stable/compaction-basic.js +5 -0
  57. package/src/stable/credentials.d.ts +1 -0
  58. package/src/stable/credentials.js +5 -0
  59. package/src/stable/subagent.d.ts +1 -0
  60. package/src/stable/subagent.js +5 -0
  61. package/src/stable/timeout.d.ts +1 -0
  62. package/src/stable/timeout.js +5 -0
@@ -40,6 +40,10 @@ export const hostPackageAliases = {
40
40
  '@dsh-plugin/dsh-loader/llm': '@deepseek-ai/dsh-llm',
41
41
  '@dsh-plugin/dsh-loader/agent': '@deepseek-ai/dsh-agent',
42
42
  '@dsh-plugin/dsh-loader/settings': '@deepseek-ai/dsh-settings',
43
+ '@dsh-plugin/dsh-loader/timeout': '@deepseek-ai/dsh-timeout',
44
+ '@dsh-plugin/dsh-loader/subagent': '@deepseek-ai/dsh-subagent',
45
+ '@dsh-plugin/dsh-loader/credentials': '@deepseek-ai/dsh-credentials',
46
+ '@dsh-plugin/dsh-loader/compaction-basic': '@deepseek-ai/dsh-compaction-basic',
43
47
  };
44
48
  /**
45
49
  * Install a Module._resolveFilename hook that maps old package names to
@@ -1 +1 @@
1
- {"version":3,"file":"dsh-1-x.js","sourceRoot":"","sources":["../../src/adapters/dsh-1-x.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dsh-1-x.js","sourceRoot":"","sources":["../../src/adapters/dsh-1-x.ts"],"names":[],"mappings":"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"}
package/dist/api.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { type RegistryModules } from './services/registry.js';
1
2
  import type { CordisContext, AdapterFactory, HostAdapter, HostAPI } from './types.js';
2
3
  /**
3
4
  * @param opts
@@ -10,4 +11,5 @@ export declare function createHostAPI(opts: {
10
11
  exposeAllNamespaces?: boolean;
11
12
  whitelist?: Set<string>;
12
13
  hostPackageAliases?: Record<string, string>;
14
+ registryModules?: RegistryModules;
13
15
  }): HostAPI;
package/dist/api.js CHANGED
@@ -10,12 +10,16 @@ import { LOADER_VERSION } from './version.js';
10
10
  import { createSettingsAPI } from './services/settings.js';
11
11
  import { createWebAPI } from './services/web.js';
12
12
  import { createServicesAPI } from './services/services.js';
13
+ import { createRegistryAPI } from './services/registry.js';
14
+ import { createLlmAPI } from './services/llm.js';
15
+ import { createDshSymbolsAPI } from './services/dsh-symbols.js';
16
+ import { createPatchAPI } from './patch.js';
13
17
  import { installHostPackageAliases } from './adapters/dsh-1-x.js';
14
18
  /**
15
19
  * @param opts
16
20
  */
17
21
  export function createHostAPI(opts) {
18
- const { ctx, dshVersion, factory, adapter, exposeAllNamespaces = false, whitelist, hostPackageAliases = {}, } = opts;
22
+ const { ctx, dshVersion, factory, adapter, exposeAllNamespaces = false, whitelist, hostPackageAliases = {}, registryModules, } = opts;
19
23
  const base = {
20
24
  version: LOADER_VERSION,
21
25
  dshVersion,
@@ -23,9 +27,17 @@ export function createHostAPI(opts) {
23
27
  };
24
28
  // Adapters may override any capability (design.md §4.4 HostAdapter.{settings,
25
29
  // web, services}); otherwise the default stable impl is used.
26
- const settings = adapter?.settings ?? createSettingsAPI({ ctx, exposeAllNamespaces, whitelist });
30
+ const settings = adapter?.settings ??
31
+ createSettingsAPI({ ctx, exposeAllNamespaces, whitelist, module: registryModules?.settings });
27
32
  const web = adapter?.web ?? createWebAPI({ ctx });
28
33
  const services = adapter?.services ?? createServicesAPI({ ctx });
34
+ // `patch` is environment-agnostic and version-independent (the protocol never
35
+ // touches dsh shapes), so no adapter override seam is needed. `registry` DOES
36
+ // name private dsh shapes, so adapters may replace it wholesale.
37
+ const patch = createPatchAPI();
38
+ const registry = adapter?.registry ?? createRegistryAPI({ ctx, modules: registryModules });
39
+ const llm = createLlmAPI({ module: registryModules?.llm });
40
+ const dsh = createDshSymbolsAPI({ modules: registryModules });
29
41
  // Runtime host package-name alias registration. The adapter's apply()
30
42
  // installs the static set at boot; this method lets plugins add more
31
43
  // aliases at runtime (e.g. for packages the adapter didn't know about).
@@ -40,6 +52,10 @@ export function createHostAPI(opts) {
40
52
  settings,
41
53
  web,
42
54
  services,
55
+ patch,
56
+ registry,
57
+ llm,
58
+ dsh,
43
59
  registerPackageAlias,
44
60
  };
45
61
  }
package/dist/api.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,EAAE;AACF,8EAA8E;AAC9E,6EAA6E;AAC7E,8EAA8E;AAC9E,0EAA0E;AAC1E,8EAA8E;AAC9E,oEAAoE;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAWlE;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,IAQ7B;IACC,MAAM,EACJ,GAAG,EACH,UAAU,EACV,OAAO,EACP,OAAO,EACP,mBAAmB,GAAG,KAAK,EAC3B,SAAS,EACT,kBAAkB,GAAG,EAAE,GACxB,GAAG,IAAI,CAAC;IAET,MAAM,IAAI,GAAG;QACX,OAAO,EAAE,cAAc;QACvB,UAAU;QACV,cAAc,EAAE,OAAO,CAAC,QAAQ;KACjC,CAAC;IAEF,8EAA8E;IAC9E,8DAA8D;IAC9D,MAAM,QAAQ,GACZ,OAAO,EAAE,QAAQ,IAAI,iBAAiB,CAAC,EAAE,GAAG,EAAE,mBAAmB,EAAE,SAAS,EAAE,CAAC,CAAC;IAClF,MAAM,GAAG,GAAW,OAAO,EAAE,GAAG,IAAI,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAgB,OAAO,EAAE,QAAQ,IAAI,iBAAiB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAE9E,sEAAsE;IACtE,qEAAqE;IACrE,wEAAwE;IACxE,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACvE,MAAM,oBAAoB,GAAG,CAAC,OAAe,EAAE,OAAe,EAAQ,EAAE;QACtE,kBAAkB,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACzC,4CAA4C;QAC5C,yBAAyB,CAAC,MAAM,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACpE,CAAC,CAAC;IAEF,OAAO;QACL,GAAG,IAAI;QACP,QAAQ;QACR,GAAG;QACH,QAAQ;QACR,oBAAoB;KACrB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,EAAE;AACF,8EAA8E;AAC9E,6EAA6E;AAC7E,8EAA8E;AAC9E,0EAA0E;AAC1E,8EAA8E;AAC9E,oEAAoE;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAA0C,MAAM,wBAAwB,CAAC;AACnG,OAAO,EAAE,YAAY,EAAe,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAsB,MAAM,2BAA2B,CAAC;AACpF,OAAO,EAAE,cAAc,EAAiB,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAWlE;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,IAS7B;IACC,MAAM,EACJ,GAAG,EACH,UAAU,EACV,OAAO,EACP,OAAO,EACP,mBAAmB,GAAG,KAAK,EAC3B,SAAS,EACT,kBAAkB,GAAG,EAAE,EACvB,eAAe,GAChB,GAAG,IAAI,CAAC;IAET,MAAM,IAAI,GAAG;QACX,OAAO,EAAE,cAAc;QACvB,UAAU;QACV,cAAc,EAAE,OAAO,CAAC,QAAQ;KACjC,CAAC;IAEF,8EAA8E;IAC9E,8DAA8D;IAC9D,MAAM,QAAQ,GACZ,OAAO,EAAE,QAAQ;QACjB,iBAAiB,CAAC,EAAE,GAAG,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,CAAC;IAChG,MAAM,GAAG,GAAW,OAAO,EAAE,GAAG,IAAI,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAgB,OAAO,EAAE,QAAQ,IAAI,iBAAiB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAC9E,8EAA8E;IAC9E,8EAA8E;IAC9E,iEAAiE;IACjE,MAAM,KAAK,GAAa,cAAc,EAAE,CAAC;IACzC,MAAM,QAAQ,GACX,OAAO,EAAE,QAAoC,IAAI,iBAAiB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;IACzG,MAAM,GAAG,GAAW,YAAY,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;IACnE,MAAM,GAAG,GAAkB,mBAAmB,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;IAE7E,sEAAsE;IACtE,qEAAqE;IACrE,wEAAwE;IACxE,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACvE,MAAM,oBAAoB,GAAG,CAAC,OAAe,EAAE,OAAe,EAAQ,EAAE;QACtE,kBAAkB,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACzC,4CAA4C;QAC5C,yBAAyB,CAAC,MAAM,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACpE,CAAC,CAAC;IAEF,OAAO;QACL,GAAG,IAAI;QACP,QAAQ;QACR,GAAG;QACH,QAAQ;QACR,KAAK;QACL,QAAQ;QACR,GAAG;QACH,GAAG;QACH,oBAAoB;KACrB,CAAC;AACJ,CAAC"}
package/dist/client.d.ts CHANGED
@@ -28,7 +28,6 @@ interface DshLoaderWindowLike {
28
28
  __dshLoader__?: unknown;
29
29
  }
30
30
  declare global {
31
- const window: DshLoaderWindowLike;
32
31
  }
33
32
  export declare class ModuleNotFoundError extends Error {
34
33
  specifier: string;
package/dist/client.js CHANGED
@@ -18,6 +18,15 @@
18
18
  import { LOADER_VERSION, LOG_PREFIX } from './version.js';
19
19
  import { clientAdapters } from './adapters/index.js';
20
20
  import { BRIDGE_PREFIX } from './adapters/dsh-1-x.js';
21
+ /**
22
+ * The ambient browser `window`, when this module runs in a browser-like realm.
23
+ * Read off `globalThis` so no DOM lib and no global declaration is required.
24
+ */
25
+ function ambientWindow() {
26
+ const scope = globalThis;
27
+ const found = scope.window;
28
+ return typeof found === 'object' && found !== null ? found : undefined;
29
+ }
21
30
  export class ModuleNotFoundError extends Error {
22
31
  specifier;
23
32
  constructor(specifier) {
@@ -109,7 +118,7 @@ export function createClientAPI(opts = {}) {
109
118
  * Install dshloader into a browser-like environment.
110
119
  */
111
120
  export function installClient(opts = {}) {
112
- const win = opts.window ?? (typeof window !== 'undefined' ? window : undefined);
121
+ const win = opts.window ?? ambientWindow();
113
122
  if (win === undefined)
114
123
  return undefined;
115
124
  const dshVersion = opts.dshVersion ?? win.__DSHLOADER_VERSION__;
@@ -289,7 +298,8 @@ export function installSettingsFetchInterceptor(win, bridgePrefix = BRIDGE_PREFI
289
298
  export const name = '@dsh-plugin/dsh-loader';
290
299
  export const inject = [];
291
300
  export function apply(ctx) {
292
- if (typeof window !== 'undefined')
293
- installClient({ window: window, clientCtx: ctx });
301
+ const win = ambientWindow();
302
+ if (win !== undefined)
303
+ installClient({ window: win, clientCtx: ctx });
294
304
  }
295
305
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -11,6 +11,7 @@ import { join, resolve } from 'node:path';
11
11
  import { AdapterRegistry, detectDshVersion, UnsupportedDshVersionError } from './registry.js';
12
12
  import { registerHostAdapters } from './adapters/index.js';
13
13
  import { createHostAPI } from './api.js';
14
+ import { preloadRegistryModules } from './services/registry.js';
14
15
  export const name = '@dsh-plugin/dsh-loader';
15
16
  // dshloader itself depends on `webServer` so its fiber only activates once
16
17
  // the real web server is provided — the alias then points `httpServer` at it.
@@ -61,6 +62,10 @@ export async function applyAdapter(ctx, opts = {}) {
61
62
  const { factory, mode, dshVersion } = selection;
62
63
  const adapter = factory.create(ctx, config);
63
64
  await adapter.apply?.();
65
+ // Optional dsh modules the registry facade proxies (sandbox escalation
66
+ // targets, permission-preset folding). Absent modules degrade that facade
67
+ // method to a logged no-op — see services/registry.ts.
68
+ const registryModules = await preloadRegistryModules();
64
69
  const api = createHostAPI({
65
70
  ctx,
66
71
  dshVersion,
@@ -68,10 +73,11 @@ export async function applyAdapter(ctx, opts = {}) {
68
73
  adapter,
69
74
  exposeAllNamespaces: config.exposeAllNamespaces,
70
75
  hostPackageAliases: config.hostPackageAliases,
76
+ registryModules,
71
77
  });
72
78
  ctx.reflect.provide('dshLoader', api);
73
79
  console.log(`${LOG_PREFIX} loaded adapter ${factory.name} for dsh ${dshVersion} (mode: ${mode})`);
74
- console.log(`${LOG_PREFIX} registered stable API: settings, web, services`);
80
+ console.log(`${LOG_PREFIX} registered stable API: settings, web, services, patch, registry, llm`);
75
81
  if (config.exposeAllNamespaces) {
76
82
  console.warn(`${LOG_PREFIX} exposeAllNamespaces enabled: bypassing official settings whitelist`);
77
83
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,112 @@
1
+ /**
2
+ * The dshloader PATCH protocol (`ctx.dshLoader.patch` / `__dshLoader__.patch`).
3
+ *
4
+ * Monkey-patching a host method or global is the only way to intervene in
5
+ * behaviour dsh exposes no extension point for. Three plugins in this family
6
+ * each hand-rolled the protocol and they did NOT agree:
7
+ *
8
+ * - dsh-loader's own `Module._resolveFilename` hook → identity-checked restore
9
+ * - dsh-network-settings' `globalThis.fetch` wrapper → identity-checked restore
10
+ * - dsh-better-sidebar's `workspaces.openPath` wrap → UNCONDITIONAL restore
11
+ *
12
+ * The last one silently destroys a later plugin's wrapper when it disposes
13
+ * first, even though its own comment promised the opposite. This module is the
14
+ * single correct implementation; every patch site delegates here.
15
+ *
16
+ * The five guarantees:
17
+ *
18
+ * 1. RAW original — each patch captures EXACTLY the value present when it
19
+ * installed (another plugin's wrapper when one is already there) and
20
+ * restores that value verbatim, never a bound copy. This is what lets a
21
+ * chain of wrappers survive disposal in any order.
22
+ * 2. Identity-checked restore — disposal only reverts the slot when it still
23
+ * holds OUR wrapper. If somebody patched on top afterwards, we leave the
24
+ * chain alone (reverting would delete their wrapper).
25
+ * 3. Re-apply safety — re-applying the same `id` recovers the true original
26
+ * first, so HMR / repeated `apply()` can never nest a wrapper in itself.
27
+ * This holds while our patch is the OUTERMOST one; if a foreign patch was
28
+ * layered on top in between, re-applying chains instead (un-nesting a
29
+ * middle wrapper is not possible without rebuilding the whole chain).
30
+ * 4. Cross-instance durability — slot bookkeeping lives in a WeakMap parked on
31
+ * `globalThis` under a `Symbol.for` key, so a reloaded module instance still
32
+ * sees the original captured by its predecessor. Targets are never mutated.
33
+ * 5. Loud misuse — patching a non-function method, or a missing target, throws
34
+ * instead of silently no-op'ing.
35
+ *
36
+ * Pure and environment-agnostic: no DOM, no Node builtins, so the same module
37
+ * serves the host half and the browser half.
38
+ *
39
+ * @module @dsh-plugin/dsh-loader/patch
40
+ */
41
+ /** A live patch, disposed through {@link PatchHandle.dispose}. */
42
+ export interface PatchHandle {
43
+ /** Remove this patch when the slot still carries its wrapper (idempotent). */
44
+ dispose(): void;
45
+ /** Whether the target slot still carries this patch's wrapper. */
46
+ readonly active: boolean;
47
+ /** The raw value captured before any dshloader patch touched the slot. */
48
+ readonly original: unknown;
49
+ }
50
+ /** Options shared by every patch entry point. */
51
+ export interface PatchOptions {
52
+ /**
53
+ * Stable patch id. Re-applying the same id on the same slot recovers the
54
+ * true original before re-wrapping (guarantee 3), so HMR cannot nest
55
+ * wrappers. Defaults to `'anonymous'` — pass a real id (`'<plugin>:<what>'`)
56
+ * for any patch that can be re-applied.
57
+ */
58
+ id?: string;
59
+ }
60
+ /**
61
+ * Patch one slot of `target`. The low-level primitive behind
62
+ * {@link PatchAPI.method} and {@link PatchAPI.global}.
63
+ *
64
+ * @param target - object owning the slot (a service instance, `globalThis`, …).
65
+ * @param key - property key to wrap.
66
+ * @param wrap - receives the value currently in the slot (the previous wrapper
67
+ * when another patch is already installed — chaining is intended) and returns
68
+ * the replacement.
69
+ * @param options - see {@link PatchOptions}.
70
+ * @returns the handle whose `dispose()` reverts this patch.
71
+ */
72
+ export declare function patchSlot<T = unknown>(target: object, key: PropertyKey, wrap: (original: T) => T, options?: PatchOptions): PatchHandle;
73
+ /** Whether a dshloader patch is currently installed on `target[key]`. */
74
+ export declare function isPatched(target: object, key: PropertyKey): boolean;
75
+ /** The patch id currently installed on `target[key]`, or `undefined`. */
76
+ export declare function patchIdOf(target: object, key: PropertyKey): string | undefined;
77
+ /** The stable `patch` facade exposed on the host and browser APIs. */
78
+ export interface PatchAPI {
79
+ /**
80
+ * Wrap a method of a service / object.
81
+ *
82
+ * ```ts
83
+ * const handle = ctx.dshLoader.patch.method(
84
+ * workspaces, 'openPath',
85
+ * original => (path: string) => takeover(path) ?? original.call(workspaces, path),
86
+ * { id: 'better-sidebar:openPath' },
87
+ * )
88
+ * ```
89
+ */
90
+ method<T extends object, K extends keyof T>(target: T, key: K, wrap: (original: T[K]) => T[K], options?: PatchOptions): PatchHandle;
91
+ /**
92
+ * Wrap a global function such as `fetch`. Defaults to `globalThis`; pass
93
+ * `scope` for `window` or a test double.
94
+ *
95
+ * ```ts
96
+ * ctx.dshLoader.patch.global('fetch',
97
+ * original => (input, init) => original(rewrite(input), init),
98
+ * { id: 'network-settings:fetch' })
99
+ * ```
100
+ */
101
+ global<T = unknown>(key: PropertyKey, wrap: (original: T) => T, options?: PatchOptions & {
102
+ scope?: object;
103
+ }): PatchHandle;
104
+ /** Low-level primitive; `method`/`global` are thin wrappers over it. */
105
+ slot<T = unknown>(target: object, key: PropertyKey, wrap: (original: T) => T, options?: PatchOptions): PatchHandle;
106
+ /** Whether a dshloader patch currently occupies `target[key]`. */
107
+ isPatched(target: object, key: PropertyKey): boolean;
108
+ /** The patch id currently occupying `target[key]`, if any. */
109
+ patchIdOf(target: object, key: PropertyKey): string | undefined;
110
+ }
111
+ /** Build the `patch` facade. Stateless — all bookkeeping is in the global registry. */
112
+ export declare function createPatchAPI(): PatchAPI;
package/dist/patch.js ADDED
@@ -0,0 +1,179 @@
1
+ /**
2
+ * The dshloader PATCH protocol (`ctx.dshLoader.patch` / `__dshLoader__.patch`).
3
+ *
4
+ * Monkey-patching a host method or global is the only way to intervene in
5
+ * behaviour dsh exposes no extension point for. Three plugins in this family
6
+ * each hand-rolled the protocol and they did NOT agree:
7
+ *
8
+ * - dsh-loader's own `Module._resolveFilename` hook → identity-checked restore
9
+ * - dsh-network-settings' `globalThis.fetch` wrapper → identity-checked restore
10
+ * - dsh-better-sidebar's `workspaces.openPath` wrap → UNCONDITIONAL restore
11
+ *
12
+ * The last one silently destroys a later plugin's wrapper when it disposes
13
+ * first, even though its own comment promised the opposite. This module is the
14
+ * single correct implementation; every patch site delegates here.
15
+ *
16
+ * The five guarantees:
17
+ *
18
+ * 1. RAW original — each patch captures EXACTLY the value present when it
19
+ * installed (another plugin's wrapper when one is already there) and
20
+ * restores that value verbatim, never a bound copy. This is what lets a
21
+ * chain of wrappers survive disposal in any order.
22
+ * 2. Identity-checked restore — disposal only reverts the slot when it still
23
+ * holds OUR wrapper. If somebody patched on top afterwards, we leave the
24
+ * chain alone (reverting would delete their wrapper).
25
+ * 3. Re-apply safety — re-applying the same `id` recovers the true original
26
+ * first, so HMR / repeated `apply()` can never nest a wrapper in itself.
27
+ * This holds while our patch is the OUTERMOST one; if a foreign patch was
28
+ * layered on top in between, re-applying chains instead (un-nesting a
29
+ * middle wrapper is not possible without rebuilding the whole chain).
30
+ * 4. Cross-instance durability — slot bookkeeping lives in a WeakMap parked on
31
+ * `globalThis` under a `Symbol.for` key, so a reloaded module instance still
32
+ * sees the original captured by its predecessor. Targets are never mutated.
33
+ * 5. Loud misuse — patching a non-function method, or a missing target, throws
34
+ * instead of silently no-op'ing.
35
+ *
36
+ * Pure and environment-agnostic: no DOM, no Node builtins, so the same module
37
+ * serves the host half and the browser half.
38
+ *
39
+ * @module @dsh-plugin/dsh-loader/patch
40
+ */
41
+ /**
42
+ * Registry key on `globalThis`. `Symbol.for` (not a fresh Symbol) so a
43
+ * re-instantiated module — HMR, a second bundle copy — finds the same registry
44
+ * and therefore the same captured originals.
45
+ */
46
+ const REGISTRY_KEY = Symbol.for('dshloader.patch.registry.v1');
47
+ /** The process-wide patch registry (targets are keys; nothing is written onto them). */
48
+ function registry() {
49
+ const scope = globalThis;
50
+ let found = scope[REGISTRY_KEY];
51
+ if (found === undefined) {
52
+ found = new WeakMap();
53
+ scope[REGISTRY_KEY] = found;
54
+ }
55
+ return found;
56
+ }
57
+ /** The slot table for one target, created on first use. */
58
+ function slotsOf(target) {
59
+ const reg = registry();
60
+ let table = reg.get(target);
61
+ if (table === undefined) {
62
+ table = new Map();
63
+ reg.set(target, table);
64
+ }
65
+ return table;
66
+ }
67
+ /** Read the current value of `target[key]` without tripping getters twice. */
68
+ function read(target, key) {
69
+ return target[key];
70
+ }
71
+ /** Write `target[key]`, surfacing a frozen / read-only slot as a loud error. */
72
+ function write(target, key, value, what) {
73
+ try {
74
+ target[key] = value;
75
+ }
76
+ catch (cause) {
77
+ throw new Error(`dshloader.patch: cannot write ${what} — the slot is read-only or frozen`, { cause });
78
+ }
79
+ if (read(target, key) !== value) {
80
+ // A non-writable data property assigns silently in sloppy mode.
81
+ throw new Error(`dshloader.patch: writing ${what} had no effect — the slot is not writable`);
82
+ }
83
+ }
84
+ /**
85
+ * Build the handle for one installed slot. Kept separate so a re-apply of the
86
+ * same id can hand back a handle over the existing bookkeeping.
87
+ */
88
+ function makeHandle(target, key, slot) {
89
+ return {
90
+ get active() {
91
+ return read(target, key) === slot.wrapper;
92
+ },
93
+ get original() {
94
+ return slot.original;
95
+ },
96
+ dispose() {
97
+ // Guarantee 2: only revert while the slot still carries OUR wrapper.
98
+ if (read(target, key) !== slot.wrapper)
99
+ return;
100
+ write(target, key, slot.original, `${String(key)} (restore)`);
101
+ const table = registry().get(target);
102
+ if (table?.get(key) === slot)
103
+ table.delete(key);
104
+ },
105
+ };
106
+ }
107
+ /**
108
+ * Patch one slot of `target`. The low-level primitive behind
109
+ * {@link PatchAPI.method} and {@link PatchAPI.global}.
110
+ *
111
+ * @param target - object owning the slot (a service instance, `globalThis`, …).
112
+ * @param key - property key to wrap.
113
+ * @param wrap - receives the value currently in the slot (the previous wrapper
114
+ * when another patch is already installed — chaining is intended) and returns
115
+ * the replacement.
116
+ * @param options - see {@link PatchOptions}.
117
+ * @returns the handle whose `dispose()` reverts this patch.
118
+ */
119
+ export function patchSlot(target, key, wrap, options = {}) {
120
+ if (target === null || (typeof target !== 'object' && typeof target !== 'function')) {
121
+ throw new TypeError(`dshloader.patch: target must be an object, received ${typeof target}`);
122
+ }
123
+ if (typeof wrap !== 'function') {
124
+ throw new TypeError('dshloader.patch: wrap must be a function');
125
+ }
126
+ const id = options.id ?? 'anonymous';
127
+ const table = slotsOf(target);
128
+ const existing = table.get(key);
129
+ // Guarantee 3: a re-apply of the same id must not wrap our own wrapper.
130
+ // Restore the captured original first, then patch the pristine slot.
131
+ if (existing !== undefined && existing.id === id && read(target, key) === existing.wrapper) {
132
+ write(target, key, existing.original, `${String(key)} (re-apply reset)`);
133
+ table.delete(key);
134
+ }
135
+ const current = read(target, key);
136
+ if (typeof current !== 'function') {
137
+ throw new TypeError(`dshloader.patch: ${String(key)} is ${current === undefined ? 'missing' : typeof current}, not a function`);
138
+ }
139
+ // Guarantee 1: capture EXACTLY the value present at install time. When another
140
+ // plugin already wrapped this slot, that wrapper is our original and restoring
141
+ // it is what keeps their patch alive (see the ordered-disposal tests).
142
+ const original = current;
143
+ const wrapper = wrap(current);
144
+ if (typeof wrapper !== 'function') {
145
+ throw new TypeError('dshloader.patch: wrap must return a function');
146
+ }
147
+ write(target, key, wrapper, String(key));
148
+ const slot = { original, wrapper, id };
149
+ table.set(key, slot);
150
+ return makeHandle(target, key, slot);
151
+ }
152
+ /** Whether a dshloader patch is currently installed on `target[key]`. */
153
+ export function isPatched(target, key) {
154
+ const slot = registry().get(target)?.get(key);
155
+ return slot !== undefined && read(target, key) === slot.wrapper;
156
+ }
157
+ /** The patch id currently installed on `target[key]`, or `undefined`. */
158
+ export function patchIdOf(target, key) {
159
+ const slot = registry().get(target)?.get(key);
160
+ return slot !== undefined && read(target, key) === slot.wrapper ? slot.id : undefined;
161
+ }
162
+ /** Build the `patch` facade. Stateless — all bookkeeping is in the global registry. */
163
+ export function createPatchAPI() {
164
+ return {
165
+ method(target, key, wrap, options) {
166
+ return patchSlot(target, key, wrap, options);
167
+ },
168
+ global(key, wrap, options = {}) {
169
+ const scope = options.scope ?? globalThis;
170
+ return patchSlot(scope, key, wrap, options);
171
+ },
172
+ slot(target, key, wrap, options) {
173
+ return patchSlot(target, key, wrap, options);
174
+ },
175
+ isPatched,
176
+ patchIdOf,
177
+ };
178
+ }
179
+ //# sourceMappingURL=patch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"patch.js","sourceRoot":"","sources":["../src/patch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ /** Node's `setTimeout` ceiling (2^31 - 1), used when dsh-timeout is unavailable. */
2
+ export declare const NODE_MAX_TIMER_DELAY_MS = 2147483647;
3
+ /** The raw modules this facade forwards to, as resolved at boot. */
4
+ export interface DshSymbolModules {
5
+ tools?: {
6
+ defineTool?: unknown;
7
+ ToolArgsError?: unknown;
8
+ };
9
+ timeout?: {
10
+ deadline?: unknown;
11
+ MAX_TIMER_DELAY_MS?: number;
12
+ };
13
+ credentials?: {
14
+ credentialRef?: unknown;
15
+ };
16
+ subagent?: {
17
+ delegationDepthOf?: unknown;
18
+ };
19
+ compaction?: {
20
+ BasicCompactionEngine?: unknown;
21
+ };
22
+ llm?: {
23
+ BlockAssembler?: unknown;
24
+ };
25
+ }
26
+ /**
27
+ * Module-level dsh symbols, grouped by owning package.
28
+ *
29
+ * Types are deliberately loose (`any`-shaped call signatures): pinning dsh's
30
+ * internal shapes here would defeat the shim's purpose, exactly as
31
+ * `src/types.ts` explains for the service surfaces.
32
+ */
33
+ export interface DshSymbolsAPI {
34
+ tools: {
35
+ /** `defineTool(definition)` — build a tool definition dsh's registry accepts. */
36
+ defineTool<T>(definition: T): T;
37
+ /** `ToolArgsError` — the error class dsh expects for invalid tool arguments. */
38
+ readonly ToolArgsError: new (messages: string[]) => Error;
39
+ };
40
+ timeout: {
41
+ /** `deadline(...)` — dsh's cancellation-aware deadline helper. */
42
+ deadline<T>(...args: any[]): T;
43
+ /** dsh's timer ceiling; falls back to Node's own 2^31-1 when unavailable. */
44
+ readonly MAX_TIMER_DELAY_MS: number;
45
+ };
46
+ credentials: {
47
+ /** `credentialRef(ref)` — brand a raw reference for `credentials.resolve`. */
48
+ credentialRef(ref: unknown): unknown;
49
+ };
50
+ subagent: {
51
+ /** `delegationDepthOf(agent)` — how deep a delegated agent sits. */
52
+ delegationDepthOf(agent: unknown): number;
53
+ };
54
+ compaction: {
55
+ /**
56
+ * `BasicCompactionEngine` — the base class a plugin subclasses to override
57
+ * `summarize`. Throws when unavailable, because a subclass declaration has
58
+ * no meaningful fallback.
59
+ */
60
+ readonly BasicCompactionEngine: new (...args: any[]) => any;
61
+ };
62
+ llm: {
63
+ /** `BlockAssembler` — dsh's streaming content-block assembler. */
64
+ readonly BlockAssembler: new (...args: any[]) => any;
65
+ };
66
+ }
67
+ /** Build the `ctx.dshLoader.dsh` facade over boot-resolved modules. */
68
+ export declare function createDshSymbolsAPI(opts: {
69
+ modules?: DshSymbolModules;
70
+ }): DshSymbolsAPI;