@huaweidevtools/aishell-dsh-base 0.0.1-beta.2 → 0.0.1-beta.3

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/LICENSE CHANGED
@@ -186,7 +186,7 @@
186
186
  same "printed page" as the copyright notice for easier
187
187
  identification within third-party archives.
188
188
 
189
- Copyright 2024 Huawei Cloud AI Shell
189
+ Copyright 2026 Huawei Cloud AI Shell
190
190
 
191
191
  Licensed under the Apache License, Version 2.0 (the "License");
192
192
  you may not use this file except in compliance with the License.
package/aggregate.yml CHANGED
@@ -3,16 +3,88 @@
3
3
  # this bundle's patch (row ids namespaced aishell-* so the bundle coexists
4
4
  # with standalone installs of the same package).
5
5
  # deps: child packages written into this package's dependencies as workspace:*.
6
+ # override: id-targeted rows whose whole config this layer replaces (rendered
7
+ # as `- id: <row> / config: {...}`); the value is inline YAML.
8
+ # disable: id-targeted upstream rows switched off in the composed profile.
6
9
  patchFrom:
7
10
  - ../aishell-llm
8
11
  - ../aishell-credentials
9
12
  - ../aishell-brand
10
- - ../aishell-ops-deploy
13
+ - ../aishell-deploy
11
14
  - ../aishell-huaweicloud-docs
15
+ - ../aishell-e2b
12
16
  deps:
13
17
  - ../credentials-store
14
18
  - ../aishell-llm
15
19
  - ../aishell-credentials
16
20
  - ../aishell-brand
17
- - ../aishell-ops-deploy
21
+ - ../aishell-deploy
18
22
  - ../aishell-huaweicloud-docs
23
+ - ../aishell-e2b
24
+ override:
25
+ # The official base pins the entry-point default to deepseek-official /
26
+ # deepseek-flash. AI Shell's only chat route is the aishell gateway, so the
27
+ # default must select it — otherwise a fresh session routes to a provider
28
+ # whose adapter this bundle disables (NO_ADAPTER) or whose key the user
29
+ # never set (MISSING_CREDENTIAL).
30
+ #
31
+ # Why the reserved id `trial` and not a real model id: the selection is
32
+ # read through a synchronous Config getter (dsh-agent-default-model's
33
+ # currentSelection()), so it cannot await a network round trip to discover
34
+ # what the gateway currently carries — the harness's own design ("catalog
35
+ # membership is advisory"). A literal real id therefore couples every fresh
36
+ # session in the deployment to one gateway catalog entry: the day that entry
37
+ # is dropped, every new session fails on its first message with
38
+ # AISHELL.1004 until a new bundle is published. `trial` is a reserved alias
39
+ # the gateway guarantees, so the catalog can move without touching this
40
+ # line.
41
+ #
42
+ # The name states a stage of the user's relationship to the route, not a
43
+ # property of whatever model it resolves to — which is what lets the gateway
44
+ # repoint the alias without the id becoming a lie. Its display label comes
45
+ # from the gateway's `name` field on the /models entry, so the id stays a
46
+ # durable routing key while the label stays free to change.
47
+ - agent-default-model: { provider: aishell, model: trial }
48
+
49
+ # Session feedback (the Like/Dislike pair and `/feedback`) is uploaded to
50
+ # AI Shell's own collector instead of the official one.
51
+ #
52
+ # Why OTLP and not our own JSON: the official client plugin
53
+ # (@deepseek-ai/dsh-session-telemetry-otel) already speaks OTLP/HTTP, so
54
+ # repointing `exporter.url` is the whole client-side change — no new plugin,
55
+ # no new code to keep in step with the harness. The server side decodes it
56
+ # with protojson.
57
+ #
58
+ # What actually leaves the machine is NOT "one feedback record": the plugin's
59
+ # FEEDBACK_ONLY mode releases the complete *unhanded session prefix* through
60
+ # that one feedback event — message text, tool arguments and results, the
61
+ # system prompt, `cwd`. The official feedback dialog discloses this to the
62
+ # user before they submit, which is why this ships without an extra consent toggle.
63
+ #
64
+ # The whole config is restated because a patch replaces a row's `config`
65
+ # wholesale (dsh-app-boot's applyEntryPatches does `target[key] = value`).
66
+ # Omitting `processor` here would silently drop batching and send every
67
+ # record in its own request.
68
+ #
69
+ # timeoutMillis is raised from the official 1000ms: one batch can carry a
70
+ # whole session prefix (up to maxRequestBytes) over the public internet
71
+ # through APIG. A timeout is NOT retried — dsh-otel passes `errorCodes: []`
72
+ # to got, overriding got's default network-error list, so only the status
73
+ # codes below are retried (verified: a hung server is hit exactly once, and
74
+ # the export fails silently). A too-tight budget therefore loses the batch
75
+ # outright rather than retrying it.
76
+ #
77
+ # That is also why the timeout is generous rather than tight: too long costs
78
+ # a slow shutdown, too short costs data.
79
+ #
80
+ # DSH_TELEMETRY_OTLP_URL and DSH_TELEMETRY_MODE both still override — an
81
+ # operator can repoint the collector or switch to DISABLED without
82
+ # republishing the bundle. Keep both as `!!js` expressions; a literal here
83
+ # would make the corresponding switch silently stop working.
84
+ - session-telemetry-otel: { mode: !!js process.env.DSH_TELEMETRY_MODE ?? 'FEEDBACK_ONLY', shutdownTimeoutMillis: 3000, maxRequestBytes: 4000000, exporter: { url: !!js process.env.DSH_TELEMETRY_OTLP_URL ?? 'https://public.aishell.openbuildlab.com/feedback', compression: gzip, timeoutMillis: 3000 }, processor: { scheduledDelayMillis: 10000, maxQueueSize: 2048, maxExportBatchSize: 2048, exportTimeoutMillis: 1500 } }
85
+ disable:
86
+ - deepseek-account
87
+ - account-controller
88
+ - ui-settings-account
89
+ - llm-deepseek
90
+ - llm-deepseek-account
package/cordis.patch.yml CHANGED
@@ -18,12 +18,35 @@
18
18
  - id: aishell-brand
19
19
  name: '@huaweidevtools/aishell-dsh-brand'
20
20
 
21
- # from ../aishell-ops-deploy
21
+ # from ../aishell-deploy
22
22
  - insert:
23
- - id: aishell-ops-deploy
24
- name: '@huaweidevtools/aishell-dsh-ops-deploy'
23
+ - id: aishell-deploy
24
+ name: '@huaweidevtools/aishell-dsh-deploy'
25
25
 
26
26
  # from ../aishell-huaweicloud-docs
27
27
  - insert:
28
28
  - id: aishell-huaweicloud-docs
29
29
  name: '@huaweidevtools/aishell-dsh-huaweicloud-docs'
30
+
31
+ # from ../aishell-e2b
32
+ - insert:
33
+ - id: aishell-e2b
34
+ name: '@huaweidevtools/aishell-dsh-e2b'
35
+
36
+ # overridden upstream rows (id-targeted; this layer applies after the official bundles)
37
+ - id: agent-default-model
38
+ config: { provider: aishell, model: trial }
39
+ - id: session-telemetry-otel
40
+ config: { mode: !!js process.env.DSH_TELEMETRY_MODE ?? 'FEEDBACK_ONLY', shutdownTimeoutMillis: 3000, maxRequestBytes: 4000000, exporter: { url: !!js process.env.DSH_TELEMETRY_OTLP_URL ?? 'https://public.aishell.openbuildlab.com/feedback', compression: gzip, timeoutMillis: 3000 }, processor: { scheduledDelayMillis: 10000, maxQueueSize: 2048, maxExportBatchSize: 2048, exportTimeoutMillis: 1500 } }
41
+
42
+ # disabled upstream rows (id-targeted; this layer applies after the official bundles)
43
+ - id: deepseek-account
44
+ disabled: true
45
+ - id: account-controller
46
+ disabled: true
47
+ - id: ui-settings-account
48
+ disabled: true
49
+ - id: llm-deepseek
50
+ disabled: true
51
+ - id: llm-deepseek-account
52
+ disabled: true
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@huaweidevtools/aishell-dsh-base",
3
3
  "description": "aishell DSH profile base layer — aggregates aishell plugin packages over dsh-base",
4
- "version": "0.0.1-beta.2",
4
+ "version": "0.0.1-beta.3",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -17,7 +17,7 @@
17
17
  }
18
18
  },
19
19
  "peerDependencies": {
20
- "@deepseek-ai/dsh-base": ">=0.2.0-0 <0.3.0-0"
20
+ "@deepseek-ai/dsh-base": "0.2.0-rc.1 || 0.2.1-rc.1 || 0.2.1-rc.2 || 0.2.1"
21
21
  },
22
22
  "files": [
23
23
  "cordis.patch.yml",
@@ -25,12 +25,13 @@
25
25
  ],
26
26
  "license": "Apache-2.0",
27
27
  "dependencies": {
28
- "@huaweidevtools/aishell-dsh-credentials-store": "0.0.1-beta.2",
29
- "@huaweidevtools/aishell-dsh-client-credentials": "0.0.1-beta.2",
30
- "@huaweidevtools/aishell-dsh-llm": "0.0.1-beta.2",
31
- "@huaweidevtools/aishell-dsh-huaweicloud-docs": "0.0.1-beta.2",
32
- "@huaweidevtools/aishell-dsh-brand": "0.0.1-beta.2",
33
- "@huaweidevtools/aishell-dsh-ops-deploy": "0.0.1-beta.2"
28
+ "@huaweidevtools/aishell-dsh-credentials-store": "0.0.1-beta.3",
29
+ "@huaweidevtools/aishell-dsh-client-credentials": "0.0.1-beta.3",
30
+ "@huaweidevtools/aishell-dsh-brand": "0.0.1-beta.3",
31
+ "@huaweidevtools/aishell-dsh-deploy": "0.0.1-beta.3",
32
+ "@huaweidevtools/aishell-dsh-huaweicloud-docs": "0.0.1-beta.3",
33
+ "@huaweidevtools/aishell-dsh-e2b": "0.0.1-beta.3",
34
+ "@huaweidevtools/aishell-dsh-llm": "0.0.1-beta.3"
34
35
  },
35
36
  "scripts": {}
36
37
  }