@dsh-plugin/dsh-loader 1.3.2 → 1.3.3-dev.33217535464

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 (36) hide show
  1. package/dist/adapters/dsh-1-x.d.ts +2 -0
  2. package/dist/adapters/dsh-1-x.js +39 -0
  3. package/dist/adapters/dsh-1-x.js.map +1 -1
  4. package/dist/adapters/index.d.ts +2 -12
  5. package/dist/adapters/index.js +5 -23
  6. package/dist/adapters/index.js.map +1 -1
  7. package/dist/boot-injection.d.ts +32 -0
  8. package/dist/boot-injection.js +107 -0
  9. package/dist/boot-injection.js.map +1 -0
  10. package/dist/client-connection-api-compat.d.ts +90 -0
  11. package/dist/client-connection-api-compat.js +232 -0
  12. package/dist/client-connection-api-compat.js.map +1 -0
  13. package/dist/client-conversation-compat.d.ts +19 -0
  14. package/dist/client-conversation-compat.js +50 -0
  15. package/dist/client-conversation-compat.js.map +1 -0
  16. package/dist/client.d.ts +3 -0
  17. package/dist/client.js +7 -1
  18. package/dist/client.js.map +1 -1
  19. package/dist/services/settings.js +71 -2
  20. package/dist/services/settings.js.map +1 -1
  21. package/dist/types.d.ts +2 -0
  22. package/dist/version.d.ts +2 -1
  23. package/dist/version.js +6 -1
  24. package/dist/version.js.map +1 -1
  25. package/lib/client.js +233 -10
  26. package/lib/client.js.map +1 -1
  27. package/lib/types/adapters/dsh-1-x.d.ts +2 -0
  28. package/lib/types/adapters/index.d.ts +2 -12
  29. package/lib/types/boot-injection.d.ts +32 -0
  30. package/lib/types/client-connection-api-compat.d.ts +90 -0
  31. package/lib/types/client-conversation-compat.d.ts +19 -0
  32. package/lib/types/client-ui.d.ts +4 -0
  33. package/lib/types/client.d.ts +3 -0
  34. package/lib/types/types.d.ts +2 -0
  35. package/lib/types/version.d.ts +2 -1
  36. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-connection-api-compat.js","sourceRoot":"","sources":["../src/client-connection-api-compat.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /** The legacy service name consumers inject. */
2
+ export declare const CONVERSATION_EVENTS_SERVICE = "conversationEvents";
3
+ /** The dsh ≥ 0.1.2 service owning the definition registry. */
4
+ export declare const UI_CONVERSATION_SERVICE = "uiConversation";
5
+ /** Minimal cordis client context surface this bridge touches. */
6
+ export interface ConversationCompatContext {
7
+ get?(name: string): unknown;
8
+ provide?(name: string, value: unknown): unknown;
9
+ inject?(inject: string[], callback: (ctx: ConversationCompatContext) => unknown): unknown;
10
+ }
11
+ /**
12
+ * Provide the legacy `conversationEvents` service when the host lacks it.
13
+ *
14
+ * @param ctx - the client plugin's cordis context.
15
+ * @returns true when the bridge was armed (legacy name absent and inject
16
+ * available), false when the host already provides the service or the
17
+ * context cannot order provision.
18
+ */
19
+ export declare function installConversationEventsCompat(ctx: ConversationCompatContext): boolean;
@@ -0,0 +1,50 @@
1
+ // conversationEvents compatibility bridge (browser half).
2
+ //
3
+ // dsh ≤ 0.1.1 exposed a cordis client service named `conversationEvents`
4
+ // whose `register(definition)` accepted a Conversation Node definition.
5
+ // dsh 0.1.2 removed that service name: definition registration moved onto
6
+ // the `uiConversation` service as `uiConversation.events.register(...)`.
7
+ // The definition SHAPE (kind/target/match/start/update/buildViewNode) is
8
+ // unchanged between the two lines, so a thin delegating service restores the
9
+ // legacy name without touching consumers.
10
+ //
11
+ // Provision is ordered through `ctx.inject(['uiConversation'], ...)`: the
12
+ // delegator only appears once the real registry service exists, so a consumer
13
+ // pending on `conversationEvents` never wakes before its register() call can
14
+ // succeed. On versions where `conversationEvents` already exists this module
15
+ // does nothing; on versions with neither name the inject fiber simply never
16
+ // activates (inert).
17
+ /** The legacy service name consumers inject. */
18
+ export const CONVERSATION_EVENTS_SERVICE = 'conversationEvents';
19
+ /** The dsh ≥ 0.1.2 service owning the definition registry. */
20
+ export const UI_CONVERSATION_SERVICE = 'uiConversation';
21
+ /**
22
+ * Provide the legacy `conversationEvents` service when the host lacks it.
23
+ *
24
+ * @param ctx - the client plugin's cordis context.
25
+ * @returns true when the bridge was armed (legacy name absent and inject
26
+ * available), false when the host already provides the service or the
27
+ * context cannot order provision.
28
+ */
29
+ export function installConversationEventsCompat(ctx) {
30
+ if (typeof ctx.get !== 'function')
31
+ return false;
32
+ if (ctx.get(CONVERSATION_EVENTS_SERVICE) !== undefined)
33
+ return false;
34
+ if (typeof ctx.inject !== 'function' || typeof ctx.provide !== 'function')
35
+ return false;
36
+ ctx.inject([UI_CONVERSATION_SERVICE], (scope) => {
37
+ scope.provide?.(CONVERSATION_EVENTS_SERVICE, {
38
+ register: (definition) => {
39
+ const uiConversation = scope.get?.(UI_CONVERSATION_SERVICE);
40
+ const registry = uiConversation?.events;
41
+ if (registry === undefined || typeof registry.register !== 'function') {
42
+ throw new Error(`[dshloader] ${CONVERSATION_EVENTS_SERVICE}: ${UI_CONVERSATION_SERVICE}.events registry unavailable`);
43
+ }
44
+ return registry.register(definition);
45
+ },
46
+ });
47
+ });
48
+ return true;
49
+ }
50
+ //# sourceMappingURL=client-conversation-compat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-conversation-compat.js","sourceRoot":"","sources":["../src/client-conversation-compat.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,EAAE;AACF,yEAAyE;AACzE,wEAAwE;AACxE,0EAA0E;AAC1E,yEAAyE;AACzE,yEAAyE;AACzE,6EAA6E;AAC7E,0CAA0C;AAC1C,EAAE;AACF,0EAA0E;AAC1E,8EAA8E;AAC9E,6EAA6E;AAC7E,6EAA6E;AAC7E,4EAA4E;AAC5E,qBAAqB;AAErB,gDAAgD;AAChD,MAAM,CAAC,MAAM,2BAA2B,GAAG,oBAAoB,CAAC;AAEhE,8DAA8D;AAC9D,MAAM,CAAC,MAAM,uBAAuB,GAAG,gBAAgB,CAAC;AAcxD;;;;;;;GAOG;AACH,MAAM,UAAU,+BAA+B,CAAC,GAA8B;IAC5E,IAAI,OAAO,GAAG,CAAC,GAAG,KAAK,UAAU;QAAE,OAAO,KAAK,CAAC;IAChD,IAAI,GAAG,CAAC,GAAG,CAAC,2BAA2B,CAAC,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACrE,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,UAAU,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,UAAU;QAAE,OAAO,KAAK,CAAC;IAExF,GAAG,CAAC,MAAM,CAAC,CAAC,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE;QAC9C,KAAK,CAAC,OAAO,EAAE,CAAC,2BAA2B,EAAE;YAC3C,QAAQ,EAAE,CAAC,UAAmB,EAAW,EAAE;gBACzC,MAAM,cAAc,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,uBAAuB,CAE7C,CAAC;gBACd,MAAM,QAAQ,GAAG,cAAc,EAAE,MAAM,CAAC;gBACxC,IAAI,QAAQ,KAAK,SAAS,IAAI,OAAO,QAAQ,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;oBACtE,MAAM,IAAI,KAAK,CACb,eAAe,2BAA2B,KAAK,uBAAuB,8BAA8B,CACrG,CAAC;gBACJ,CAAC;gBACD,OAAO,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACvC,CAAC;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC"}
package/dist/client.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { BOOT_ALIAS_IDS_FLAG } from './version.js';
1
2
  /** Browser-only globals dshloader relies on (typed loosely so the module compiles without DOM lib). */
2
3
  type FetchImpl = (input: any, init?: any) => Promise<{
3
4
  clone(): {
@@ -26,6 +27,8 @@ interface DshLoaderWindowLike {
26
27
  };
27
28
  __dshNativeRequire__?: (spec: string) => any;
28
29
  __dshLoader__?: unknown;
30
+ /** Alias ids the boot injection (src/boot-injection.ts) already registered. */
31
+ [BOOT_ALIAS_IDS_FLAG]?: string[];
29
32
  }
30
33
  declare global {
31
34
  }
package/dist/client.js CHANGED
@@ -15,7 +15,7 @@
15
15
  //
16
16
  // The module exports an `installClient` function for testability and runs an
17
17
  // IIFE at the bottom for the real browser bundle.
18
- import { LOADER_VERSION, LOG_PREFIX } from './version.js';
18
+ import { LOADER_VERSION, LOG_PREFIX, BOOT_ALIAS_IDS_FLAG } from './version.js';
19
19
  import { clientAdapters } from './adapters/index.js';
20
20
  import { BRIDGE_PREFIX } from './adapters/dsh-1-x.js';
21
21
  /**
@@ -200,8 +200,14 @@ export function installClient(opts = {}) {
200
200
  };
201
201
  }
202
202
  // Register module-alias factories with the client module loader (fix 1).
203
+ // Skip ids the boot-alias injection already registered: the live module
204
+ // system throws on a duplicate factory id, and the injected factories are
205
+ // registered before any entry materializes regardless of activation order.
206
+ const bootAliased = new Set(Array.isArray(win[BOOT_ALIAS_IDS_FLAG]) ? win[BOOT_ALIAS_IDS_FLAG] : []);
203
207
  if (loader && typeof loader.load === 'function') {
204
208
  for (const [aliasId, target] of Object.entries(moduleAliases)) {
209
+ if (bootAliased.has(aliasId))
210
+ continue;
205
211
  loader.load({
206
212
  id: aliasId,
207
213
  factory: (require) => {
@@ -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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"}
@@ -80,6 +80,51 @@ export function createSettingsAPI(opts) {
80
80
  function getSettings() {
81
81
  return ctx.get('settings');
82
82
  }
83
+ const pendingRegistrations = [];
84
+ let flushArmed = false;
85
+ function defaultValueOf(schema) {
86
+ // schemastery schemas are callable: invoking with undefined resolves the
87
+ // declared default. Unknown schema kinds degrade to an empty object; the
88
+ // real resolved value lands at flush.
89
+ try {
90
+ if (typeof schema === 'function')
91
+ return schema(undefined);
92
+ }
93
+ catch {
94
+ /* fall through to the empty-object fallback */
95
+ }
96
+ return {};
97
+ }
98
+ function flushRegistrations() {
99
+ const settings = getSettings();
100
+ if (settings === undefined || typeof settings.register !== 'function')
101
+ return;
102
+ const queue = pendingRegistrations.splice(0);
103
+ for (const pending of queue) {
104
+ try {
105
+ const scope = settings.register(pending.ns, pending.schema, pending.options);
106
+ pending.scope = scope;
107
+ for (const watcher of pending.watchers.splice(0))
108
+ scope?.watch(watcher);
109
+ console.info(`${LOG_PREFIX}:settings.register flushed deferred registration: ${pending.ns}`);
110
+ }
111
+ catch (error) {
112
+ // Keep it queued; the next flush trigger retries.
113
+ pendingRegistrations.push(pending);
114
+ console.warn(`${LOG_PREFIX}:settings.register deferred flush failed for ${pending.ns}: ${error instanceof Error ? error.message : String(error)}`);
115
+ }
116
+ }
117
+ flushArmed = false;
118
+ }
119
+ function armFlush() {
120
+ if (flushArmed)
121
+ return;
122
+ flushArmed = true;
123
+ const inject = ctx.inject;
124
+ if (typeof inject === 'function') {
125
+ inject.call(ctx, ['settings'], () => flushRegistrations());
126
+ }
127
+ }
83
128
  function filterNamespaces(views) {
84
129
  if (exposeAllNamespaces)
85
130
  return views;
@@ -97,14 +142,37 @@ export function createSettingsAPI(opts) {
97
142
  * a composition-time act, not a browser-facing read/write.
98
143
  */
99
144
  register(ns, schema, options) {
145
+ flushRegistrations();
100
146
  const settings = getSettings();
101
147
  if (settings === undefined || typeof settings.register !== 'function') {
102
- console.warn(`${LOG_PREFIX}:settings.register settings service unavailable`);
103
- return undefined;
148
+ const pending = {
149
+ ns: String(ns),
150
+ schema,
151
+ options,
152
+ watchers: [],
153
+ fallback: defaultValueOf(schema),
154
+ };
155
+ pendingRegistrations.push(pending);
156
+ armFlush();
157
+ console.info(`${LOG_PREFIX}:settings.register deferred until the settings service mounts: ${pending.ns}`);
158
+ return {
159
+ get: () => (pending.scope !== undefined ? pending.scope.get() : pending.fallback),
160
+ watch: (callback) => {
161
+ if (pending.scope !== undefined)
162
+ return pending.scope.watch(callback);
163
+ pending.watchers.push(callback);
164
+ return () => {
165
+ const index = pending.watchers.indexOf(callback);
166
+ if (index >= 0)
167
+ pending.watchers.splice(index, 1);
168
+ };
169
+ },
170
+ };
104
171
  }
105
172
  return settings.register(ns, schema, options);
106
173
  },
107
174
  describe(options = {}) {
175
+ flushRegistrations();
108
176
  const settings = getSettings();
109
177
  if (settings === undefined || typeof settings.describe !== 'function') {
110
178
  return [];
@@ -115,6 +183,7 @@ export function createSettingsAPI(opts) {
115
183
  return filterNamespaces(views);
116
184
  },
117
185
  async _write(method, ns, section, expectedRevision) {
186
+ flushRegistrations();
118
187
  const settings = getSettings();
119
188
  if (settings === undefined) {
120
189
  return {
@@ -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/types.d.ts CHANGED
@@ -47,6 +47,8 @@ export interface HostAdapter {
47
47
  export interface HostAdapterConfig {
48
48
  exposeAllNamespaces?: boolean;
49
49
  hostPackageAliases?: Record<string, string>;
50
+ /** Extra client module-table aliases merged over the adapter's tables. */
51
+ clientPackageAliases?: Record<string, string>;
50
52
  }
51
53
  /** Result of AdapterRegistry.select(). */
52
54
  export interface AdapterSelection {
package/dist/version.d.ts CHANGED
@@ -1,2 +1,3 @@
1
- export declare const LOADER_VERSION = "1.3.2";
1
+ export declare const LOADER_VERSION = "1.3.3";
2
2
  export declare const LOG_PREFIX = "[dshloader]";
3
+ export declare const BOOT_ALIAS_IDS_FLAG = "__dshLoaderBootAliases__";
package/dist/version.js CHANGED
@@ -1,5 +1,10 @@
1
1
  // dshloader version — keep in sync with package.json.
2
- export const LOADER_VERSION = '1.3.2';
2
+ export const LOADER_VERSION = '1.3.3';
3
3
  // Prefix used in every console log / error so users can grep dshloader output.
4
4
  export const LOG_PREFIX = '[dshloader]';
5
+ // Window global the boot-alias injection (src/boot-injection.ts) sets to the
6
+ // list of alias module ids it pre-registered with the client module system,
7
+ // so installClient (src/client.ts) skips re-registering them (the live module
8
+ // system throws on duplicate factory ids).
9
+ export const BOOT_ALIAS_IDS_FLAG = '__dshLoaderBootAliases__';
5
10
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC;AAEtC,+EAA+E;AAC/E,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC;AAEtC,+EAA+E;AAC/E,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,CAAC;AAExC,6EAA6E;AAC7E,4EAA4E;AAC5E,8EAA8E;AAC9E,2CAA2C;AAC3C,MAAM,CAAC,MAAM,mBAAmB,GAAG,0BAA0B,CAAC"}
package/lib/client.js CHANGED
@@ -32,8 +32,9 @@ 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.2";
35
+ const LOADER_VERSION = "1.3.3";
36
36
  const LOG_PREFIX = "[dshloader]";
37
+ const BOOT_ALIAS_IDS_FLAG = "__dshLoaderBootAliases__";
37
38
  //#endregion
38
39
  //#region src/adapters/dsh-1-x.ts
39
40
  const supports = ">=0.1.0-rc.1 <2.0.0";
@@ -218,14 +219,18 @@ window.__ModuleLoader__.load({
218
219
  });
219
220
  };
220
221
  }
221
- if (loader && typeof loader.load === "function") for (const [aliasId, target] of Object.entries(moduleAliases)) loader.load({
222
- id: aliasId,
223
- factory: (require$2) => {
224
- const mod = require$2(target);
225
- if (aliasId.endsWith("context-provenance.ts") || aliasId.endsWith("context-provenance")) return { contextProvenance: mod.contextProvenance };
226
- return mod;
227
- }
228
- });
222
+ const bootAliased = new Set(Array.isArray(win["__dshLoaderBootAliases__"]) ? win[BOOT_ALIAS_IDS_FLAG] : []);
223
+ if (loader && typeof loader.load === "function") for (const [aliasId, target] of Object.entries(moduleAliases)) {
224
+ if (bootAliased.has(aliasId)) continue;
225
+ loader.load({
226
+ id: aliasId,
227
+ factory: (require$2) => {
228
+ const mod = require$2(target);
229
+ if (aliasId.endsWith("context-provenance.ts") || aliasId.endsWith("context-provenance")) return { contextProvenance: mod.contextProvenance };
230
+ return mod;
231
+ }
232
+ });
233
+ }
229
234
  if (exposeAllNamespaces) {
230
235
  installSettingsFetchInterceptor(win, bridgePrefix);
231
236
  console.warn(`${LOG_PREFIX} exposeAllNamespaces enabled: bypassing official settings whitelist`);
@@ -322,6 +327,220 @@ window.__ModuleLoader__.load({
322
327
  };
323
328
  }
324
329
  //#endregion
330
+ //#region src/client-conversation-compat.ts
331
+ /** The legacy service name consumers inject. */
332
+ const CONVERSATION_EVENTS_SERVICE = "conversationEvents";
333
+ /** The dsh ≥ 0.1.2 service owning the definition registry. */
334
+ const UI_CONVERSATION_SERVICE = "uiConversation";
335
+ /**
336
+ * Provide the legacy `conversationEvents` service when the host lacks it.
337
+ *
338
+ * @param ctx - the client plugin's cordis context.
339
+ * @returns true when the bridge was armed (legacy name absent and inject
340
+ * available), false when the host already provides the service or the
341
+ * context cannot order provision.
342
+ */
343
+ function installConversationEventsCompat(ctx) {
344
+ if (typeof ctx.get !== "function") return false;
345
+ if (ctx.get("conversationEvents") !== void 0) return false;
346
+ if (typeof ctx.inject !== "function" || typeof ctx.provide !== "function") return false;
347
+ ctx.inject([UI_CONVERSATION_SERVICE], (scope) => {
348
+ scope.provide?.(CONVERSATION_EVENTS_SERVICE, { register: (definition) => {
349
+ const registry = (scope.get?.(UI_CONVERSATION_SERVICE))?.events;
350
+ if (registry === void 0 || typeof registry.register !== "function") throw new Error(`[dshloader] ${CONVERSATION_EVENTS_SERVICE}: ${UI_CONVERSATION_SERVICE}.events registry unavailable`);
351
+ return registry.register(definition);
352
+ } });
353
+ });
354
+ return true;
355
+ }
356
+ //#endregion
357
+ //#region src/client-connection-api-compat.ts
358
+ /** The legacy RPC proxy property checked on the connection handle. */
359
+ const CONNECTION_SERVICE = "connection";
360
+ /** The dsh ≥ 0.1.2 Typert application-RPC service. */
361
+ const REMOTE_SERVICE = "remote";
362
+ /** Wrap a bare RpcResult promise into the legacy RpcResponse envelope. */
363
+ async function wrapRpc(operation) {
364
+ try {
365
+ return { result: await operation };
366
+ } catch (error) {
367
+ return { result: {
368
+ ok: false,
369
+ error: {
370
+ code: "transport",
371
+ message: error instanceof Error ? error.message : String(error)
372
+ }
373
+ } };
374
+ }
375
+ }
376
+ function isPlainRecord(value) {
377
+ return typeof value === "object" && value !== null && !Array.isArray(value);
378
+ }
379
+ /**
380
+ * Join the registered route list with the declared configurable-provider
381
+ * directory, mirroring 0.1.2's joinProviderDirectory: declared rows in
382
+ * declaration order, then live routes with no declaration.
383
+ */
384
+ function joinProviderDirectory(registered, declared) {
385
+ const active = new Set(registered.map((provider) => provider.id));
386
+ const declaredKeys = new Set(declared.map((entry) => entry.provider));
387
+ const rows = declared.map((entry) => ({
388
+ provider: entry.provider,
389
+ displayName: entry.displayName,
390
+ settingsNs: entry.settingsNs,
391
+ settingsPath: [...entry.settingsPath ?? []],
392
+ active: active.has(entry.provider),
393
+ ...entry.declared === void 0 ? {} : { declared: entry.declared }
394
+ }));
395
+ for (const provider of registered) {
396
+ if (declaredKeys.has(provider.id)) continue;
397
+ rows.push({
398
+ provider: provider.id,
399
+ displayName: provider.label ?? provider.id,
400
+ settingsNs: "",
401
+ settingsPath: [],
402
+ active: true
403
+ });
404
+ }
405
+ return rows;
406
+ }
407
+ /**
408
+ * Build the legacy `connection.api` proxy over a 0.1.2 `ctx.remote` face.
409
+ * Namespaces or methods missing from the remote degrade to a `transport`
410
+ * failure response rather than a synchronous throw, so one absent method does
411
+ * not take down the whole proxy.
412
+ */
413
+ function buildLegacyApiProxy(remote) {
414
+ const missing = (name) => Promise.resolve({ result: {
415
+ ok: false,
416
+ error: {
417
+ code: "transport",
418
+ message: `[dshloader] connection.api: remote.${name} unavailable`
419
+ }
420
+ } });
421
+ return {
422
+ llm: {
423
+ providers: async () => {
424
+ const list = remote.llm?.listProviders;
425
+ const listConfigurable = remote.llm?.listConfigurableProviders;
426
+ if (list === void 0 || listConfigurable === void 0) return missing("llm.listProviders");
427
+ const [registered, declared] = await Promise.all([wrapRpc(list.call(remote.llm)), wrapRpc(listConfigurable.call(remote.llm))]);
428
+ if (!registered.result.ok) return { result: registered.result };
429
+ if (!declared.result.ok) return { result: declared.result };
430
+ return { result: {
431
+ ok: true,
432
+ value: { providers: joinProviderDirectory(registered.result.value, declared.result.value) }
433
+ } };
434
+ },
435
+ models: async () => {
436
+ const catalog = remote.session?.modelCatalog;
437
+ if (catalog === void 0) return missing("session.modelCatalog");
438
+ return wrapRpc(catalog.call(remote.session));
439
+ }
440
+ },
441
+ settings: {
442
+ describe: async () => {
443
+ const describe = remote.settings?.describe;
444
+ if (describe === void 0) return missing("settings.describe");
445
+ return wrapRpc(describe.call(remote.settings));
446
+ },
447
+ /**
448
+ * Legacy patch write: `{ns, patch, expectedRevision}` maps straight onto
449
+ * 0.1.2's `update(ns, patch, expectedRevision)` — a host-side deep merge
450
+ * into the stored user section, so unknown keys survive and the revision
451
+ * CAS guards the merge with no client read-modify-write window. A caller
452
+ * passing `{ns, section}` (full replacement intent) is routed to
453
+ * `replace(ns, section, expectedRevision)`.
454
+ */
455
+ update: async (request) => {
456
+ const update = remote.settings?.update;
457
+ const replace = remote.settings?.replace;
458
+ if (update === void 0) return missing("settings.update");
459
+ if (typeof request?.ns !== "string") return { result: {
460
+ ok: false,
461
+ error: {
462
+ code: "invalid-request",
463
+ message: "[dshloader] connection.api: settings.update requires an ns string"
464
+ }
465
+ } };
466
+ if (request.section !== void 0 && replace !== void 0) {
467
+ const section = isPlainRecord(request.section) ? request.section : {};
468
+ return wrapRpc(replace.call(remote.settings, request.ns, section, request.expectedRevision));
469
+ }
470
+ const patch = request.section !== void 0 ? request.section : request.patch;
471
+ return wrapRpc(update.call(remote.settings, request.ns, isPlainRecord(patch) ? patch : {}, request.expectedRevision));
472
+ },
473
+ mutate: async (request) => {
474
+ const mutate = remote.settings?.mutate;
475
+ if (mutate === void 0) return missing("settings.mutate");
476
+ if (typeof request?.ns !== "string" || !Array.isArray(request.ops)) return { result: {
477
+ ok: false,
478
+ error: {
479
+ code: "invalid-request",
480
+ message: "[dshloader] connection.api: settings.mutate requires ns and ops"
481
+ }
482
+ } };
483
+ return wrapRpc(mutate.call(remote.settings, request.ns, request.ops, request.expectedRevision));
484
+ }
485
+ }
486
+ };
487
+ }
488
+ /**
489
+ * Install the legacy `connection.api` proxy when the host's connection
490
+ * handle lacks one.
491
+ *
492
+ * The inject list names every nested Remote service the proxy touches:
493
+ * cordis guards nested service access (`remote.session` etc.) behind the
494
+ * caller fiber's inject declarations, so the namespaces are resolved through
495
+ * `scope.get('remote.<name>')` inside the ordered fiber rather than by
496
+ * walking properties off the `remote` service.
497
+ *
498
+ * @param ctx - the client plugin's cordis context.
499
+ * @param onReady - invoked once the proxy question is settled: synchronously
500
+ * when no bridge is needed (legacy host, or a context without inject), or
501
+ * from the ordered inject fiber after the proxy was attached.
502
+ * @returns true when the ready signal was delivered synchronously.
503
+ */
504
+ function installConnectionApiCompat(ctx, onReady) {
505
+ if ((ctx.get?.("connection"))?.api !== void 0) {
506
+ onReady();
507
+ return true;
508
+ }
509
+ if (typeof ctx.inject !== "function") {
510
+ onReady();
511
+ return true;
512
+ }
513
+ let ready = false;
514
+ const readyOnce = () => {
515
+ if (ready) return;
516
+ ready = true;
517
+ onReady();
518
+ };
519
+ ctx.inject([CONNECTION_SERVICE], (scope) => {
520
+ const conn = scope.get?.(CONNECTION_SERVICE);
521
+ if (conn === void 0 || conn.api !== void 0) {
522
+ readyOnce();
523
+ return;
524
+ }
525
+ ctx.inject?.([
526
+ CONNECTION_SERVICE,
527
+ `${REMOTE_SERVICE}.llm`,
528
+ `${REMOTE_SERVICE}.session`,
529
+ `${REMOTE_SERVICE}.settings`
530
+ ], (inner) => {
531
+ const innerConn = inner.get?.(CONNECTION_SERVICE);
532
+ if (innerConn !== void 0 && innerConn.api === void 0) innerConn.api = buildLegacyApiProxy({
533
+ llm: inner.get?.(`${REMOTE_SERVICE}.llm`),
534
+ session: inner.get?.(`${REMOTE_SERVICE}.session`),
535
+ settings: inner.get?.(`${REMOTE_SERVICE}.settings`)
536
+ });
537
+ readyOnce();
538
+ });
539
+ setTimeout(readyOnce, 15e3).unref?.();
540
+ });
541
+ return false;
542
+ }
543
+ //#endregion
325
544
  //#region src/ui/anchors.ts
326
545
  /** Query helper that tolerates an invalid selector (returns nothing). */
327
546
  function all(selector) {
@@ -3025,10 +3244,11 @@ window.__ModuleLoader__.load({
3025
3244
  window: win,
3026
3245
  clientCtx: ctx
3027
3246
  });
3247
+ installConversationEventsCompat(ctx);
3028
3248
  ui = createUi();
3029
3249
  if (api !== void 0) api.ui = ui;
3030
3250
  else if (win.__dshLoader__ !== void 0) win.__dshLoader__.ui = ui;
3031
- ctx.provide?.(UI_SERVICE, ui);
3251
+ installConnectionApiCompat(ctx, () => ctx.provide?.(UI_SERVICE, ui));
3032
3252
  ctx.effect?.(() => () => {
3033
3253
  ui?.destroy();
3034
3254
  ui = void 0;
@@ -3063,6 +3283,7 @@ window.__ModuleLoader__.load({
3063
3283
  exports.Textarea = Textarea;
3064
3284
  exports.UI_SERVICE = UI_SERVICE;
3065
3285
  exports.apply = apply;
3286
+ exports.buildLegacyApiProxy = buildLegacyApiProxy;
3066
3287
  exports.createClientAPI = createClientAPI;
3067
3288
  exports.createUi = createUi;
3068
3289
  exports.createUiAPI = createUiAPI;
@@ -3074,6 +3295,8 @@ window.__ModuleLoader__.load({
3074
3295
  exports.inject = inject;
3075
3296
  exports.injectStyle = injectStyle;
3076
3297
  exports.installClient = installClient;
3298
+ exports.installConnectionApiCompat = installConnectionApiCompat;
3299
+ exports.installConversationEventsCompat = installConversationEventsCompat;
3077
3300
  exports.installSettingsFetchInterceptor = installSettingsFetchInterceptor;
3078
3301
  exports.name = name;
3079
3302
  exports.readLayoutFrame = readLayoutFrame;