@aiwayds/dsh-llm-proxy 0.2.0 → 0.3.1

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 CHANGED
@@ -65,7 +65,8 @@ cordis 闭包,导致双实例崩溃(详见 dsh 生态 link-dsh-closure 机
65
65
  ## 配置入口(settings.yaml 命名空间段)
66
66
 
67
67
  dsh 插件的用户配置唯一入口是 **settings.yaml 里按插件 id 命名的命名空间段**。本插件通过
68
- `@deepseek-ai/dsh-settings` 的 `installSettingsSection` 注册了 `dsh-llm-proxy` 命名空间
68
+ `@deepseek-ai/dsh-settings`(要求 `>=0.1.2-alpha.4`)settings provider 的
69
+ `installSection` 注册了 `dsh-llm-proxy` 命名空间
69
70
  (与 harness 内置插件 `llm-deepseek` 的 `llm-deepseek:` 段同机制),所以请在
70
71
  `~/.dsh/settings.yaml` 写:
71
72
 
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Deep equality over JSON-compatible data (objects, arrays, primitives).
3
+ *
4
+ * Localized copy of `deepEqualJson` from `@deepseek-ai/dsh-settings@0.1.1-rc.2`
5
+ * (`lib/index.js`): dsh-settings 0.1.2-alpha.3 removed the module-level export,
6
+ * relocating the identical implementation into `@deepseek-ai/dsh-util-values`,
7
+ * which is not a declared dependency of this plugin. The relation is unchanged
8
+ * between the two host versions — structural equality over JSON data, arrays
9
+ * compared element-wise, objects compared as key sets with recursively equal
10
+ * values, everything else by `Object.is`-style identity — so this copy is a
11
+ * drop-in replacement, not a behavioral fork.
12
+ *
13
+ * Used to skip a router rebuild when a settings update resolves to the same
14
+ * policy as the live one.
15
+ *
16
+ * @module @aiwayds/dsh-llm-proxy/deep-equal
17
+ */
18
+ /**
19
+ * @param a - one JSON-compatible value.
20
+ * @param b - the other JSON-compatible value.
21
+ * @returns whether the two values are structurally equal.
22
+ */
23
+ export declare function deepEqualJson(a: unknown, b: unknown): boolean;
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Deep equality over JSON-compatible data (objects, arrays, primitives).
3
+ *
4
+ * Localized copy of `deepEqualJson` from `@deepseek-ai/dsh-settings@0.1.1-rc.2`
5
+ * (`lib/index.js`): dsh-settings 0.1.2-alpha.3 removed the module-level export,
6
+ * relocating the identical implementation into `@deepseek-ai/dsh-util-values`,
7
+ * which is not a declared dependency of this plugin. The relation is unchanged
8
+ * between the two host versions — structural equality over JSON data, arrays
9
+ * compared element-wise, objects compared as key sets with recursively equal
10
+ * values, everything else by `Object.is`-style identity — so this copy is a
11
+ * drop-in replacement, not a behavioral fork.
12
+ *
13
+ * Used to skip a router rebuild when a settings update resolves to the same
14
+ * policy as the live one.
15
+ *
16
+ * @module @aiwayds/dsh-llm-proxy/deep-equal
17
+ */
18
+ /**
19
+ * @param a - one JSON-compatible value.
20
+ * @param b - the other JSON-compatible value.
21
+ * @returns whether the two values are structurally equal.
22
+ */
23
+ export function deepEqualJson(a, b) {
24
+ if (a === b)
25
+ return true;
26
+ if (typeof a !== 'object' || typeof b !== 'object' || a === null || b === null)
27
+ return false;
28
+ if (Array.isArray(a) || Array.isArray(b)) {
29
+ if (!Array.isArray(a) || !Array.isArray(b) || a.length !== b.length)
30
+ return false;
31
+ return a.every((entry, index) => deepEqualJson(entry, b[index]));
32
+ }
33
+ const left = a;
34
+ const right = b;
35
+ const keys = Object.keys(left);
36
+ if (keys.length !== Object.keys(right).length)
37
+ return false;
38
+ return keys.every((key) => key in right && deepEqualJson(left[key], right[key]));
39
+ }
40
+ //# sourceMappingURL=deep-equal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deep-equal.js","sourceRoot":"","sources":["../src/deep-equal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,CAAU,EAAE,CAAU;IAClD,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IACxB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,KAAK,CAAA;IAC5F,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;YAAE,OAAO,KAAK,CAAA;QACjF,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAClE,CAAC;IACD,MAAM,IAAI,GAAG,CAA4B,CAAA;IACzC,MAAM,KAAK,GAAG,CAA4B,CAAA;IAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC9B,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM;QAAE,OAAO,KAAK,CAAA;IAC3D,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AAClF,CAAC"}
package/lib/index.d.ts CHANGED
@@ -15,8 +15,9 @@
15
15
  * carries the plugin's configuration and troubleshooting guide.
16
16
  *
17
17
  * User configuration arrives exclusively through the `dsh-llm-proxy`
18
- * settings.yaml namespace (registered via installSettingsSection, the same
19
- * seam harness core plugins use); the bundle entry config is the base layer.
18
+ * settings.yaml namespace (registered via the settings provider's
19
+ * installSection, the same seam harness core plugins use); the bundle entry
20
+ * config is the base layer.
20
21
  * Edits to the settings section hot-publish: the router is rebuilt in place,
21
22
  * unless the resolved values are unchanged, in which case the rebuild is
22
23
  * skipped (the settings attach itself fires one redundant onChange).
package/lib/index.js CHANGED
@@ -15,8 +15,9 @@
15
15
  * carries the plugin's configuration and troubleshooting guide.
16
16
  *
17
17
  * User configuration arrives exclusively through the `dsh-llm-proxy`
18
- * settings.yaml namespace (registered via installSettingsSection, the same
19
- * seam harness core plugins use); the bundle entry config is the base layer.
18
+ * settings.yaml namespace (registered via the settings provider's
19
+ * installSection, the same seam harness core plugins use); the bundle entry
20
+ * config is the base layer.
20
21
  * Edits to the settings section hot-publish: the router is rebuilt in place,
21
22
  * unless the resolved values are unchanged, in which case the rebuild is
22
23
  * skipped (the settings attach itself fires one redundant onChange).
@@ -29,10 +30,10 @@
29
30
  */
30
31
  import { readFile } from 'node:fs/promises';
31
32
  import { fileURLToPath } from 'node:url';
32
- import { deepEqualJson, installSettingsSection, settingsNamespace } from '@deepseek-ai/dsh-settings';
33
33
  import { BUNDLED_SKILL_RANK, } from '@deepseek-ai/dsh-skill';
34
34
  import z from '@deepseek-ai/schemastery';
35
35
  import * as undici from 'undici';
36
+ import { deepEqualJson } from "./deep-equal.js";
36
37
  import { createProxyRouterDispatcher, withUndiciErrorListener } from "./router.js";
37
38
  export { matchOrigin } from "./match.js";
38
39
  export { createProxyRouterDispatcher, resolveRoute } from "./router.js";
@@ -43,8 +44,14 @@ export const inject = ['skills'];
43
44
  * The settings.yaml namespace this plugin owns. dsh feeds user configuration
44
45
  * to plugins only through registered settings namespaces; the document
45
46
  * section key that reaches this plugin is exactly this string.
47
+ *
48
+ * A plain literal is the supported spelling since dsh-settings
49
+ * 0.1.2-alpha.3: `register`/`installSection` brand-check the namespace at the
50
+ * type level (`SettingsNamespaceInput`) and validate the same pattern at
51
+ * runtime (`parseSettingsNamespace`), replacing the removed
52
+ * `settingsNamespace()` helper.
46
53
  */
47
- const SETTINGS_NAMESPACE = settingsNamespace('dsh-llm-proxy');
54
+ const SETTINGS_NAMESPACE = 'dsh-llm-proxy';
48
55
  /** Runtime schema for {@link Config}. */
49
56
  export const Config = z.object({
50
57
  enabled: z.boolean().default(true),
@@ -325,11 +332,20 @@ export function apply(ctx, config = {}, internals = {}) {
325
332
  // that never mount a settings service; when the service appears, the
326
333
  // layered section takes over and subsequent edits hot-publish here.
327
334
  rejudge(true);
328
- installSettingsSection(ctx, SETTINGS_NAMESPACE, Config, config, {
329
- setSource: (current) => {
330
- getSource = current;
331
- },
332
- onChange: () => rejudge(false),
335
+ // Optional-settings consumer wiring. The rc.2 module-level
336
+ // installSettingsSection() helper was removed in dsh-settings
337
+ // 0.1.2-alpha.3; the attach / detach-fallback / watch body moved behind the
338
+ // provider as SettingsProvider.installSection (identical semantics — the
339
+ // entry config stays the fallback source when the provider detaches).
340
+ // ctx.inject keeps the whole wiring dormant on hosts that never mount a
341
+ // settings service.
342
+ ctx.inject(['settings'], (sctx) => {
343
+ sctx.settings.installSection(ctx, SETTINGS_NAMESPACE, Config, config, {
344
+ setSource: (current) => {
345
+ getSource = current;
346
+ },
347
+ onChange: () => rejudge(false),
348
+ });
333
349
  });
334
350
  }
335
351
  //# sourceMappingURL=index.js.map
package/lib/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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aiwayds/dsh-llm-proxy",
3
- "version": "0.2.0",
3
+ "version": "0.3.1",
4
4
  "description": "dsh plugin: SYSTEM proxy (env) + LLM traffic-splitting proxy via a process-global undici routing dispatcher",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",
@@ -40,10 +40,10 @@
40
40
  "undici": "8.9.0"
41
41
  },
42
42
  "peerDependencies": {
43
- "@deepseek-ai/cordis": "4.0.1",
44
- "@deepseek-ai/schemastery": "3.18.1",
45
- "@deepseek-ai/dsh-settings": "0.1.1-rc.2",
46
- "@deepseek-ai/dsh-skill": "0.1.1-rc.2"
43
+ "@deepseek-ai/cordis": "4.0.2",
44
+ "@deepseek-ai/schemastery": "3.18.2",
45
+ "@deepseek-ai/dsh-settings": ">=0.1.2-alpha.4",
46
+ "@deepseek-ai/dsh-skill": ">=0.1.2-alpha.4"
47
47
  },
48
48
  "peerDependenciesMeta": {
49
49
  "@deepseek-ai/cordis": {
@@ -57,10 +57,10 @@
57
57
  }
58
58
  },
59
59
  "devDependencies": {
60
- "@deepseek-ai/cordis": "4.0.1",
61
- "@deepseek-ai/schemastery": "3.18.1",
62
- "@deepseek-ai/dsh-settings": "0.1.1-rc.2",
63
- "@deepseek-ai/dsh-skill": "0.1.1-rc.2",
60
+ "@deepseek-ai/cordis": "4.0.2",
61
+ "@deepseek-ai/schemastery": "3.18.2",
62
+ "@deepseek-ai/dsh-settings": "0.1.2-alpha.4",
63
+ "@deepseek-ai/dsh-skill": "0.1.2-alpha.4",
64
64
  "@types/node": "^24.0.0",
65
65
  "typescript": "^5.9.0"
66
66
  },
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Deep equality over JSON-compatible data (objects, arrays, primitives).
3
+ *
4
+ * Localized copy of `deepEqualJson` from `@deepseek-ai/dsh-settings@0.1.1-rc.2`
5
+ * (`lib/index.js`): dsh-settings 0.1.2-alpha.3 removed the module-level export,
6
+ * relocating the identical implementation into `@deepseek-ai/dsh-util-values`,
7
+ * which is not a declared dependency of this plugin. The relation is unchanged
8
+ * between the two host versions — structural equality over JSON data, arrays
9
+ * compared element-wise, objects compared as key sets with recursively equal
10
+ * values, everything else by `Object.is`-style identity — so this copy is a
11
+ * drop-in replacement, not a behavioral fork.
12
+ *
13
+ * Used to skip a router rebuild when a settings update resolves to the same
14
+ * policy as the live one.
15
+ *
16
+ * @module @aiwayds/dsh-llm-proxy/deep-equal
17
+ */
18
+
19
+ /**
20
+ * @param a - one JSON-compatible value.
21
+ * @param b - the other JSON-compatible value.
22
+ * @returns whether the two values are structurally equal.
23
+ */
24
+ export function deepEqualJson(a: unknown, b: unknown): boolean {
25
+ if (a === b) return true
26
+ if (typeof a !== 'object' || typeof b !== 'object' || a === null || b === null) return false
27
+ if (Array.isArray(a) || Array.isArray(b)) {
28
+ if (!Array.isArray(a) || !Array.isArray(b) || a.length !== b.length) return false
29
+ return a.every((entry, index) => deepEqualJson(entry, b[index]))
30
+ }
31
+ const left = a as Record<string, unknown>
32
+ const right = b as Record<string, unknown>
33
+ const keys = Object.keys(left)
34
+ if (keys.length !== Object.keys(right).length) return false
35
+ return keys.every((key) => key in right && deepEqualJson(left[key], right[key]))
36
+ }
package/src/index.ts CHANGED
@@ -15,8 +15,9 @@
15
15
  * carries the plugin's configuration and troubleshooting guide.
16
16
  *
17
17
  * User configuration arrives exclusively through the `dsh-llm-proxy`
18
- * settings.yaml namespace (registered via installSettingsSection, the same
19
- * seam harness core plugins use); the bundle entry config is the base layer.
18
+ * settings.yaml namespace (registered via the settings provider's
19
+ * installSection, the same seam harness core plugins use); the bundle entry
20
+ * config is the base layer.
20
21
  * Edits to the settings section hot-publish: the router is rebuilt in place,
21
22
  * unless the resolved values are unchanged, in which case the rebuild is
22
23
  * skipped (the settings attach itself fires one redundant onChange).
@@ -31,7 +32,14 @@
31
32
  import { readFile } from 'node:fs/promises'
32
33
  import { fileURLToPath } from 'node:url'
33
34
  import type { Context } from '@deepseek-ai/cordis'
34
- import { deepEqualJson, installSettingsSection, settingsNamespace } from '@deepseek-ai/dsh-settings'
35
+ // Type-only side-effect import: loads dsh-settings' `declare module
36
+ // '@deepseek-ai/cordis'` augmentation, which is what puts `ctx.settings` on
37
+ // the Context type. There is no runtime import — the host provides the
38
+ // settings service; alpha.3 removed the module-level settingsNamespace(),
39
+ // installSettingsSection(), and deepEqualJson() helpers this plugin used to
40
+ // import (see SETTINGS_NAMESPACE below, the installSection call in apply(),
41
+ // and ./deep-equal.ts for their replacements).
42
+ import type {} from '@deepseek-ai/dsh-settings'
35
43
  import {
36
44
  BUNDLED_SKILL_RANK,
37
45
  type SkillCandidate,
@@ -40,6 +48,7 @@ import {
40
48
  } from '@deepseek-ai/dsh-skill'
41
49
  import z from '@deepseek-ai/schemastery'
42
50
  import * as undici from 'undici'
51
+ import { deepEqualJson } from './deep-equal.ts'
43
52
  import { createProxyRouterDispatcher, withUndiciErrorListener, type LlmProxyEntry } from './router.ts'
44
53
 
45
54
  export { matchOrigin } from './match.ts'
@@ -54,8 +63,14 @@ export const inject = ['skills']
54
63
  * The settings.yaml namespace this plugin owns. dsh feeds user configuration
55
64
  * to plugins only through registered settings namespaces; the document
56
65
  * section key that reaches this plugin is exactly this string.
66
+ *
67
+ * A plain literal is the supported spelling since dsh-settings
68
+ * 0.1.2-alpha.3: `register`/`installSection` brand-check the namespace at the
69
+ * type level (`SettingsNamespaceInput`) and validate the same pattern at
70
+ * runtime (`parseSettingsNamespace`), replacing the removed
71
+ * `settingsNamespace()` helper.
57
72
  */
58
- const SETTINGS_NAMESPACE = settingsNamespace('dsh-llm-proxy')
73
+ const SETTINGS_NAMESPACE = 'dsh-llm-proxy'
59
74
 
60
75
  /** Plugin configuration. */
61
76
  export interface Config {
@@ -420,10 +435,19 @@ export function apply(ctx: Context, config: Config = {}, internals: ApplyInterna
420
435
  // that never mount a settings service; when the service appears, the
421
436
  // layered section takes over and subsequent edits hot-publish here.
422
437
  rejudge(true)
423
- installSettingsSection(ctx, SETTINGS_NAMESPACE, Config, config, {
424
- setSource: (current) => {
425
- getSource = current
426
- },
427
- onChange: () => rejudge(false),
438
+ // Optional-settings consumer wiring. The rc.2 module-level
439
+ // installSettingsSection() helper was removed in dsh-settings
440
+ // 0.1.2-alpha.3; the attach / detach-fallback / watch body moved behind the
441
+ // provider as SettingsProvider.installSection (identical semantics — the
442
+ // entry config stays the fallback source when the provider detaches).
443
+ // ctx.inject keeps the whole wiring dormant on hosts that never mount a
444
+ // settings service.
445
+ ctx.inject(['settings'], (sctx) => {
446
+ sctx.settings.installSection(ctx, SETTINGS_NAMESPACE, Config, config, {
447
+ setSource: (current) => {
448
+ getSource = current
449
+ },
450
+ onChange: () => rejudge(false),
451
+ })
428
452
  })
429
453
  }