dsh-advisor 0.4.1 → 0.5.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.
package/lib/settings.js CHANGED
@@ -1,114 +1,71 @@
1
1
  /**
2
- * T1 (plan dsh-advisor-settings-n2) — host-side `advisor` settings namespace
3
- * + live source wiring.
2
+ * T1 (plan dsh-advisor-settings-n2) — live source wiring over the plugin
3
+ * entry's volatile config fields.
4
4
  *
5
- * The plugin-row config (the `entry` passed to the plugin's `apply`) is the
6
- * composition BASE of the `advisor` settings namespace: when a dsh settings
7
- * service is mounted, its user layer is layered on top (schema defaults →
8
- * base → user layer) and the runtime reads the live resolved value through
9
- * the bridge's `source` thunk — the same source-thunk pattern as dsh's
10
- * `agent-default-model`. Without a settings service the conditional
11
- * `ctx.inject(['settings'], ...)` child never activates and the source is
12
- * exactly the entry: behavior identical to today.
5
+ * dsh 0.1.7-rc.1 retired the settings user layer (`settings.yaml` is imported
6
+ * into the profile and renamed `.imported`; dsh-settings became the form
7
+ * service `SettingsForms` over profile entries). A plugin's editable config is
8
+ * now its OWN entry config: the fields the schema declares `.volatile()` are
9
+ * committed by the cordis Loader into the running fiber's references WITHOUT a
10
+ * remount (`src/config.ts` marks all six live fields volatile).
13
11
  *
14
- * Registration rides the dsh 0.1.2-alpha.2 `SettingsProvider.installSection`
15
- * service method (plan dsh-advisor-alpha2-install-section-n10): the library
16
- * owns the register call, the source-thunk swap, the `onChange` timing, and
17
- * the detach fallback (source back to the entry + `onChange`), including the
18
- * unload guard — nothing upstream is mirrored here anymore.
12
+ * This module is the read side of that pipeline. `apply` receives the entry
13
+ * config with each volatile field as a `{ get() }` reference; the bridge
14
+ * snapshots it through `unwrapAdvisorConfig` (per-field `.get()`, plain
15
+ * values tolerated), so `source()` always returns the RAW plain-valued config
16
+ * the hard gate reads. `onChange` rides the Loader's `loader/volatile-update`
17
+ * event — emitted to the OWNING fiber only, after the committed values are
18
+ * readable through the references — so every committed edit re-applies derived
19
+ * state exactly when the new values are visible.
19
20
  *
20
- * The hard gate is untouched: the source returns the RAW composed config and
21
- * every consumer passes it through `resolveAdvisorConfig` — the SSOT for the
21
+ * There is no registration step anymore: with ≥ 1 volatile field the entry
22
+ * appears in `settings.describe()` automatically (`autoGenerate` defaults to
23
+ * true), so the old `ctx.inject(['settings'])` registration child, its
24
+ * `installSection` contract, and the multi-fiber 'already registered' dedupe
25
+ * are all gone — every fiber builds its own bridge, and the owning-fiber event
26
+ * filter keeps each bridge pointed at its own entry's edits.
27
+ *
28
+ * The hard gate is untouched: the source returns the RAW config and every
29
+ * consumer passes it through `resolveAdvisorConfig` — the SSOT for the
22
30
  * enabled-without-pair disabled-with-reason resolution (no model call).
23
31
  *
24
- * The namespace does NOT join the apiproxy configuration-client boundary on
25
- * current upstream dsh builds: the host's `exposedNamespaces()` unions only
26
- * model-provider namespaces plus its own product namespaces (locale /
27
- * permission / ui-conversation / ui-theme / ui-onboarding / agent-presets) —
28
- * there is no registration-level opt-in in upstream dsh (verified against the
29
- * pristine 20da39e snapshot; `SettingsRegisterOptions` has no
30
- * `exposeToWebClients` key, and alpha.2's `installSection` takes no
31
- * registration options at all). The advisor namespace is therefore always
32
- * absent from `settings.describe` on the web configuration boundary — but the
33
- * web card reaches the config through the TypertRemoteService channel instead
34
- * (plan dsh-advisor-settings-gateway-n5: `AdvisorConfigGateway` claims
35
- * `/api/advisor/get` + `/api/advisor/set`, and the client calls
36
- * `connection.rpc.call('/api', …)`; the in-process `ctx.settings.update`
37
- * behind `set` carries no exposed-namespace check — the allowlist gate exists
38
- * only in the apiproxy wire layer). The unexposed-namespace notice is now
39
- * only the KD-G5 fallback (gateway unreachable). No host patch is applied or
40
- * required for the plugin to function — the runtime reads the entry config
41
- * exactly as before.
32
+ * The write side rides the same entry id: the gateway (`src/gateway.ts`)
33
+ * writes through `settings.update(ADVISOR_SETTINGS_NAMESPACE, ...)` — the
34
+ * entry id IS the bundle row id `advisor` (`cordis.patch.yml`) — which lands
35
+ * in the profile via the config editor, commits through the Loader, and closes
36
+ * the loop back into this bridge's `onChange`.
42
37
  *
43
38
  * @module dsh-advisor/settings
44
39
  */
45
- import { Config } from './config.js';
46
- /** The `advisor` settings namespace (registered when a settings service exists). */
40
+ import { unwrapAdvisorConfig } from './config.js';
41
+ /**
42
+ * The advisor settings entry id — the bundle row id (`cordis.patch.yml:5`),
43
+ * which is also the `settings.update` / `settings.describe` key and the
44
+ * gateway service key. (Pre-0.1.7 this constant was a registered settings
45
+ * namespace; it now names the plugin's own profile entry.)
46
+ */
47
47
  export const ADVISOR_SETTINGS_NAMESPACE = 'advisor';
48
48
  /**
49
- * Install the `advisor` settings namespace and wire the live source.
50
- *
51
- * Delegates to the dsh 0.1.2-alpha.2 `SettingsProvider.installSection`
52
- * contract (the dsh `agent-default-model` pattern, now a library service
53
- * method): the registration rides a conditional
54
- * `ctx.inject(['settings'], ...)` child, so with no settings service the
55
- * source stays the entry config. The library calls `setSource` with the
56
- * authoritative thunk (the settings scope's resolved value while attached,
57
- * the entry again at detach) and fires `onChange` at attach, on committed
58
- * changes, and at detach — the same timing this module used to mirror by
59
- * hand, now owned by `lib/index.js` (`installSection`), unload guard
60
- * included. The namespace carries NO `exposeToWebClients` opt-in — upstream
61
- * dsh (pristine 20da39e, and alpha.2's installed types alike) has no such
62
- * registration-level option (`installSection` takes no options;
63
- * `SettingsRegisterOptions` is `base` / effect-timing / `validate` only), so
64
- * the advisor namespace stays off the apiproxy web configuration boundary on
65
- * every current dsh build. Web clients reach the config through the
66
- * TypertRemoteService channel instead (plan dsh-advisor-settings-gateway-n5 —
67
- * `/api/advisor/get` + `/api/advisor/set`); the in-process settings service
68
- * is the write target behind the gateway's `set`. (A previous iteration
69
- * believed the opt-in existed upstream and declared it here; that conclusion
70
- * was a circular verification against a locally-modified staging tree — the
71
- * option does not exist in upstream types and has been removed.)
49
+ * Wire the live source over the entry config's volatile references.
72
50
  *
73
- * qc1 W-5 (multi-fiber dedupe): the host composes several dsh-advisor fibers,
74
- * and this runs on EVERY instance — but `Settings.register` fails loud on a
75
- * duplicate namespace (`settings namespace "advisor" is already registered`).
76
- * With alpha.2, `installSection` executes SYNCHRONOUSLY inside the inject
77
- * child, so the try/catch below wraps the call directly and catches the
78
- * duplicate error (under the old free-function contract the registration
79
- * error surfaced asynchronously and an outer try/catch could not see it).
80
- * A deduped instance logs (debug) and keeps the entry-source fallback: its
81
- * `source` thunk is only ever swapped by a SUCCESSFUL registration's
82
- * setSource hook, so the ALREADY-REGISTERED instance owns the live namespace.
83
- * The reviewer's settings wiring (the `bridge.onChange` live re-apply in
84
- * `index.ts`) is the concern — it only re-applies when the reviewer's own
85
- * bridge attached to the live scope; in practice the reviewer is the first
86
- * apply, whose inject child registers first.
51
+ * `entry` is the config object `apply` received — on a Loader composition the
52
+ * six schema-declared fields are `{ get() }` references; plain-object entries
53
+ * (integration harnesses) work identically. The bridge holds the ENTRY, not a
54
+ * snapshot, so every `source()` call reads the references' CURRENT values and
55
+ * the returned config is live from the first read. `onChange` fires on every
56
+ * `loader/volatile-update` dispatched to this fiber — the Loader emits it only
57
+ * after the new values are committed, so a listener reading `source()` sees
58
+ * the committed state (no follow-up read needed).
87
59
  */
88
60
  export function installAdvisorSettings(ctx, entry) {
89
61
  const listeners = new Set();
90
- let source = () => entry;
91
62
  const notify = () => {
92
63
  for (const listener of [...listeners])
93
64
  listener();
94
65
  };
95
- ctx.inject(['settings'], (sctx) => {
96
- try {
97
- sctx.settings.installSection(ctx, ADVISOR_SETTINGS_NAMESPACE, Config, entry, {
98
- setSource: (current) => {
99
- source = current;
100
- },
101
- onChange: notify,
102
- });
103
- }
104
- catch (error) {
105
- if (!(error instanceof Error) || !error.message.includes('already registered'))
106
- throw error;
107
- ctx.logger('advisor').debug('settings namespace already registered — entry-source fallback (multi-fiber dedupe)');
108
- }
109
- });
66
+ ctx.on('loader/volatile-update', () => notify());
110
67
  return {
111
- source: () => source(),
68
+ source: () => unwrapAdvisorConfig(entry),
112
69
  onChange: (callback) => {
113
70
  listeners.add(callback);
114
71
  },
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAIH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAGpC,oFAAoF;AACpF,MAAM,CAAC,MAAM,0BAA0B,GAAG,SAA8B,CAAA;AAqBxE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAAY,EAAE,KAAoB;IACvE,MAAM,SAAS,GAAG,IAAI,GAAG,EAAc,CAAA;IACvC,IAAI,MAAM,GAAG,GAAkB,EAAE,CAAC,KAAK,CAAA;IACvC,MAAM,MAAM,GAAG,GAAS,EAAE;QACxB,KAAK,MAAM,QAAQ,IAAI,CAAC,GAAG,SAAS,CAAC;YAAE,QAAQ,EAAE,CAAA;IACnD,CAAC,CAAA;IACD,GAAG,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE;QAChC,IAAI,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,EAAE,0BAA0B,EAAE,MAAM,EAAE,KAAK,EAAE;gBAC3E,SAAS,EAAE,CAAC,OAAO,EAAQ,EAAE;oBAC3B,MAAM,GAAG,OAAO,CAAA;gBAClB,CAAC;gBACD,QAAQ,EAAE,MAAM;aACjB,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC;gBAAE,MAAM,KAAK,CAAA;YAC3F,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,oFAAoF,CAAC,CAAA;QACnH,CAAC;IACH,CAAC,CAAC,CAAA;IACF,OAAO;QACL,MAAM,EAAE,GAAkB,EAAE,CAAC,MAAM,EAAE;QACrC,QAAQ,EAAE,CAAC,QAAoB,EAAQ,EAAE;YACvC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACzB,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAGjD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,SAAS,CAAA;AAiCnD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAAY,EAAE,KAA4B;IAC/E,MAAM,SAAS,GAAG,IAAI,GAAG,EAAc,CAAA;IACvC,MAAM,MAAM,GAAG,GAAS,EAAE;QACxB,KAAK,MAAM,QAAQ,IAAI,CAAC,GAAG,SAAS,CAAC;YAAE,QAAQ,EAAE,CAAA;IACnD,CAAC,CACA;IAAC,GAAwC,CAAC,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,CAAA;IACvF,OAAO;QACL,MAAM,EAAE,GAAkB,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC;QACvD,QAAQ,EAAE,CAAC,QAAoB,EAAQ,EAAE;YACvC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACzB,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -199,15 +199,17 @@ export declare function isReviewableTurnEnd(event: SessionEvent): boolean;
199
199
  * `source.kind` is the ONLY discriminator, and every synthetic producer commits
200
200
  * a non-`user` kind, so nothing injected can self-trigger the review gate:
201
201
  *
202
- * - the advisor's OWN inject/steer deliveries — the `plugin` arm tagged
203
- * `plugin: 'advisor'`. That arm is shared with the other plugin-owned
204
- * context producers (the time-context / tmux-context / agent-loop `snapshot`
205
- * forms, model-selection notices, tools-ptc, user-approval), which
206
- * `source.plugin` separates and `source.kind` does not;
207
- * - workspace-context sync (AGENTS.md / CLAUDE.md), which does NOT ride the
208
- * `plugin` arm: `@deepseek-ai/dsh-agent-instructions` commits its own
209
- * first-party `kind: 'agent-instructions'` (`form: 'instructions'`);
210
- * - tool-result splicing (`kind: 'tool'`);
202
+ * - the advisor's OWN inject/steer deliveries — the producer-owned `advisor`
203
+ * kind (`form: 'notice'`);
204
+ * - the other named producer kinds: model-selection notices, the
205
+ * time-context / tmux-context snapshots, tools-ptc (`ptc-mode`),
206
+ * user-approval, tool-registry availability rows — each a `kind` of its own
207
+ * in `MessageSourceMap`, which is what separates them now that no shared
208
+ * `plugin` arm exists;
209
+ * - workspace-context sync (AGENTS.md / CLAUDE.md), whose producer commits its
210
+ * own first-party `kind: 'agent-instructions'` (`form: 'instructions'`);
211
+ * - tool results, which in V4 are `role: 'tool'` messages (`kind: 'tool'`),
212
+ * never user-role;
211
213
  * - claim/clear splices (empty `inserted`).
212
214
  */
213
215
  export declare function isHumanInputEvent(event: SessionEvent): boolean;
package/lib/transcript.js CHANGED
@@ -104,15 +104,15 @@ function fingerprintOf(events, length) {
104
104
  }
105
105
  return hash.toString(36);
106
106
  }
107
- /** Visible text of one content block (tool-result content is unwrapped). */
107
+ /** Visible text of one content block (V4 ContentBlock has no tool-result arm —
108
+ * tool results are first-class tool-role messages now). */
108
109
  function blockText(block) {
109
110
  switch (block.type) {
110
111
  case 'text':
111
112
  return block.text;
112
- case 'tool-result':
113
- return block.content.map(blockText).join('\n');
114
113
  default:
115
- // reasoning / tool-call / unknown extensions carry no rendered text here.
114
+ // reasoning / tool-call / tool-addition / tool-removal / unknown
115
+ // extensions carry no rendered text here.
116
116
  return '';
117
117
  }
118
118
  }
@@ -122,11 +122,18 @@ function blockText(block) {
122
122
  * tool results tagged `[tool result]`, reasoning excluded (MVP).
123
123
  */
124
124
  function renderMessage(message) {
125
+ // V4: tool results are first-class `role: 'tool'` messages (the V3 shape
126
+ // folded them into user-role messages carrying a `tool-result` block — that
127
+ // arm no longer exists). Keep the `[tool result]` prefix the reviewer model
128
+ // is prompt-shaped around, and tag a failed invocation so the delta carries
129
+ // the failure signal (`isError` is the message-level flag in V4).
130
+ if (message.role === 'tool') {
131
+ const value = message.content.map(blockText).filter((part) => part.length > 0).join('\n');
132
+ const prefix = message.isError === true ? '**user**: [tool result] (failed)' : '**user**: [tool result]';
133
+ return value.length > 0 ? `${prefix} ${value}` : `${prefix} <empty>`;
134
+ }
125
135
  if (message.role === 'user') {
126
136
  const value = message.content.map(blockText).filter((part) => part.length > 0).join('\n');
127
- if (message.source.kind === 'tool') {
128
- return value.length > 0 ? `**user**: [tool result] ${value}` : '**user**: [tool result] <empty>';
129
- }
130
137
  return value.length > 0 ? `**user**: ${value}` : '**user**: <empty>';
131
138
  }
132
139
  const parts = [];
@@ -378,15 +385,17 @@ export function isReviewableTurnEnd(event) {
378
385
  * `source.kind` is the ONLY discriminator, and every synthetic producer commits
379
386
  * a non-`user` kind, so nothing injected can self-trigger the review gate:
380
387
  *
381
- * - the advisor's OWN inject/steer deliveries — the `plugin` arm tagged
382
- * `plugin: 'advisor'`. That arm is shared with the other plugin-owned
383
- * context producers (the time-context / tmux-context / agent-loop `snapshot`
384
- * forms, model-selection notices, tools-ptc, user-approval), which
385
- * `source.plugin` separates and `source.kind` does not;
386
- * - workspace-context sync (AGENTS.md / CLAUDE.md), which does NOT ride the
387
- * `plugin` arm: `@deepseek-ai/dsh-agent-instructions` commits its own
388
- * first-party `kind: 'agent-instructions'` (`form: 'instructions'`);
389
- * - tool-result splicing (`kind: 'tool'`);
388
+ * - the advisor's OWN inject/steer deliveries — the producer-owned `advisor`
389
+ * kind (`form: 'notice'`);
390
+ * - the other named producer kinds: model-selection notices, the
391
+ * time-context / tmux-context snapshots, tools-ptc (`ptc-mode`),
392
+ * user-approval, tool-registry availability rows — each a `kind` of its own
393
+ * in `MessageSourceMap`, which is what separates them now that no shared
394
+ * `plugin` arm exists;
395
+ * - workspace-context sync (AGENTS.md / CLAUDE.md), whose producer commits its
396
+ * own first-party `kind: 'agent-instructions'` (`form: 'instructions'`);
397
+ * - tool results, which in V4 are `role: 'tool'` messages (`kind: 'tool'`),
398
+ * never user-role;
390
399
  * - claim/clear splices (empty `inserted`).
391
400
  */
392
401
  export function isHumanInputEvent(event) {
@@ -1 +1 @@
1
- {"version":3,"file":"transcript.js","sourceRoot":"","sources":["../src/transcript.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transcript.js","sourceRoot":"","sources":["../src/transcript.ts"],"names":[],"mappings":"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"}
@@ -3,15 +3,15 @@
3
3
  * `tuiSettingsSections` Advisor section.
4
4
  *
5
5
  * dsh-tui ≥ v0.8.0 ships a `/settings` screen; optional plugins declare what
6
- * is editable there by registering a SECTION over their settings namespace on
6
+ * is editable there by registering a SECTION over their settings entry on
7
7
  * the optional `tuiSettingsSections` host service
8
8
  * (`src/dsh-adapter/settings-sections.ts` in dsh-TUI — a small host-only
9
9
  * registry; storage + validation stay with the dsh settings service). The
10
10
  * screen then renders the section's fields, stages edits, and writes them on
11
- * save through the revision-fenced `settings.mutate` into the section's
12
- * namespace user layer — for the advisor that is the already-registered
13
- * `advisor` namespace (`src/settings.ts` `installAdvisorSettings`), so the
14
- * section is fully writable.
11
+ * save through the revision-fenced `settings.mutate` into the entry's
12
+ * volatile fields — for the advisor that is the entry id `advisor` (the
13
+ * bundle row id, `src/settings.ts` `ADVISOR_SETTINGS_NAMESPACE`), committed
14
+ * by the Loader without a remount, so the section is fully writable.
15
15
  *
16
16
  * This module is the advisor's settings-seam surface:
17
17
  * `installTuiSettingsSection` conditionally injects `tuiSettingsSections` and
@@ -34,8 +34,8 @@
34
34
  * (`enabled` / `provider` / `model` / `immuneTurns` / `maxDeltaMessages`).
35
35
  * `systemPrompt` is intentionally NOT a field — the TUI `text` control is
36
36
  * single-line, and editing a multi-line prompt there would truncate/replace
37
- * it (data loss). It stays editable via the web card or
38
- * `$DSH_HOME/settings.yaml`. The TUI seam has no cross-field validation
37
+ * it (data loss). It stays editable via the web card or the profile's
38
+ * `cordis.patch.yml`. The TUI seam has no cross-field validation
39
39
  * (upstream behavior, recorded): a save may set `enabled: true` with empty
40
40
  * `provider`/`model`, which the S4 explicit model gate (spec §5.2) resolves
41
41
  * to disabled-with-reason at runtime; the settings-service schema
@@ -117,11 +117,11 @@ export interface TuiSettingsSection {
117
117
  * so the registration condition and the render-time hint can never drift
118
118
  * apart (S-001, plan QC fix wave). */
119
119
  export declare const TUI_SETTINGS_SECTIONS = "tuiSettingsSections";
120
- /** Test-friendly alias for the section namespace (`'advisor'`). The section
121
- * itself reuses the shared {@link ADVISOR_SETTINGS_NAMESPACE} brand — a
120
+ /** Test-friendly alias for the section entry id (`'advisor'`). The section
121
+ * itself reuses the shared {@link ADVISOR_SETTINGS_NAMESPACE} entry id — a
122
122
  * mismatched ns would silently render the section "unavailable" in the host
123
123
  * screen (the alias exists so tests can pin the value without importing the
124
- * settings module's brand). */
124
+ * settings module's constant). */
125
125
  export declare const ADVISOR_TUI_SETTINGS_NS = "advisor";
126
126
  /** The declared "Advisor" section for the dsh-tui `/settings` screen: the
127
127
  * five safe §5.1 keys (enabled/provider/model/immuneTurns/maxDeltaMessages)
@@ -3,15 +3,15 @@
3
3
  * `tuiSettingsSections` Advisor section.
4
4
  *
5
5
  * dsh-tui ≥ v0.8.0 ships a `/settings` screen; optional plugins declare what
6
- * is editable there by registering a SECTION over their settings namespace on
6
+ * is editable there by registering a SECTION over their settings entry on
7
7
  * the optional `tuiSettingsSections` host service
8
8
  * (`src/dsh-adapter/settings-sections.ts` in dsh-TUI — a small host-only
9
9
  * registry; storage + validation stay with the dsh settings service). The
10
10
  * screen then renders the section's fields, stages edits, and writes them on
11
- * save through the revision-fenced `settings.mutate` into the section's
12
- * namespace user layer — for the advisor that is the already-registered
13
- * `advisor` namespace (`src/settings.ts` `installAdvisorSettings`), so the
14
- * section is fully writable.
11
+ * save through the revision-fenced `settings.mutate` into the entry's
12
+ * volatile fields — for the advisor that is the entry id `advisor` (the
13
+ * bundle row id, `src/settings.ts` `ADVISOR_SETTINGS_NAMESPACE`), committed
14
+ * by the Loader without a remount, so the section is fully writable.
15
15
  *
16
16
  * This module is the advisor's settings-seam surface:
17
17
  * `installTuiSettingsSection` conditionally injects `tuiSettingsSections` and
@@ -34,8 +34,8 @@
34
34
  * (`enabled` / `provider` / `model` / `immuneTurns` / `maxDeltaMessages`).
35
35
  * `systemPrompt` is intentionally NOT a field — the TUI `text` control is
36
36
  * single-line, and editing a multi-line prompt there would truncate/replace
37
- * it (data loss). It stays editable via the web card or
38
- * `$DSH_HOME/settings.yaml`. The TUI seam has no cross-field validation
37
+ * it (data loss). It stays editable via the web card or the profile's
38
+ * `cordis.patch.yml`. The TUI seam has no cross-field validation
39
39
  * (upstream behavior, recorded): a save may set `enabled: true` with empty
40
40
  * `provider`/`model`, which the S4 explicit model gate (spec §5.2) resolves
41
41
  * to disabled-with-reason at runtime; the settings-service schema
@@ -51,11 +51,11 @@ import { ADVISOR_SETTINGS_NAMESPACE } from './settings.js';
51
51
  * so the registration condition and the render-time hint can never drift
52
52
  * apart (S-001, plan QC fix wave). */
53
53
  export const TUI_SETTINGS_SECTIONS = 'tuiSettingsSections';
54
- /** Test-friendly alias for the section namespace (`'advisor'`). The section
55
- * itself reuses the shared {@link ADVISOR_SETTINGS_NAMESPACE} brand — a
54
+ /** Test-friendly alias for the section entry id (`'advisor'`). The section
55
+ * itself reuses the shared {@link ADVISOR_SETTINGS_NAMESPACE} entry id — a
56
56
  * mismatched ns would silently render the section "unavailable" in the host
57
57
  * screen (the alias exists so tests can pin the value without importing the
58
- * settings module's brand). */
58
+ * settings module's constant). */
59
59
  export const ADVISOR_TUI_SETTINGS_NS = 'advisor';
60
60
  /** The declared "Advisor" section for the dsh-tui `/settings` screen: the
61
61
  * five safe §5.1 keys (enabled/provider/model/immuneTurns/maxDeltaMessages)
@@ -1 +1 @@
1
- {"version":3,"file":"tui-settings.js","sourceRoot":"","sources":["../src/tui-settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tui-settings.js","sourceRoot":"","sources":["../src/tui-settings.ts"],"names":[],"mappings":"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"}
package/lib/tui.js CHANGED
@@ -25,11 +25,13 @@
25
25
  */
26
26
  /** The `/advisor` tree root (matches the command registry name). */
27
27
  export const ADVISOR_TUI_ROOT = 'advisor';
28
- /** The four typed `/advisor` subcommands surfaced as completion children.
28
+ /** The typed `/advisor` subcommands surfaced as completion children.
29
29
  * Bare `/advisor` (toggle) is the empty-argument default, not a completion
30
30
  * child (compass S1); `USAGE` is the unknown-subcommand fallback, not a
31
- * named command. */
32
- const ADVISOR_SUBCOMMANDS = ['on', 'off', 'status', 'config'];
31
+ * named command. `model` answers a depth-3 `set`/`reset` list (spec §5.3). */
32
+ const ADVISOR_SUBCOMMANDS = ['on', 'off', 'status', 'config', 'model'];
33
+ /** The typed `/advisor model` subcommands surfaced at depth 3. */
34
+ const ADVISOR_MODEL_SUBCOMMANDS = ['set', 'reset'];
33
35
  /** zh/en copy for the `/` menu row (shown via the host's `descriptions(root)`). */
34
36
  const ADVISOR_TUI_DESCRIPTIONS = {
35
37
  zh: '按会话运行的评审顾问:开启 / 关闭 / 状态 / 配置',
@@ -66,15 +68,47 @@ const SUBCOMMAND_DESCRIPTIONS = {
66
68
  en: 'Show the composed advisor config (settings readback)',
67
69
  },
68
70
  },
71
+ model: {
72
+ description: 'Show or re-route the per-session reviewer model (model set <provider> <model> | model reset)',
73
+ descriptions: {
74
+ zh: '查看或改设本会话的评审模型(model set <供应商> <模型> | model reset)',
75
+ en: 'Show or re-route the per-session reviewer model (model set <provider> <model> | model reset)',
76
+ },
77
+ },
78
+ };
79
+ /** zh/en copy per `/advisor model` completion node. */
80
+ const MODEL_SUBCOMMAND_DESCRIPTIONS = {
81
+ set: {
82
+ description: 'Pin the reviewer model for this session only (separate args; ids may contain /)',
83
+ descriptions: {
84
+ zh: '仅为本会话钉住评审模型(参数分开传,模型 id 可含 /)',
85
+ en: 'Pin the reviewer model for this session only (separate args; ids may contain /)',
86
+ },
87
+ },
88
+ reset: {
89
+ description: 'Drop the session pin and re-inherit the current global defaults',
90
+ descriptions: {
91
+ zh: '取消本会话钉住,重新继承当前全局默认值',
92
+ en: 'Drop the session pin and re-inherit the current global defaults',
93
+ },
94
+ },
69
95
  };
70
96
  /** The `/advisor` completion tree. `children` NEVER throws: unknown paths and
71
97
  * a bare `[]` return an empty list (leaves have no deeper completion — the
72
- * TUI asks at depth 2). */
98
+ * TUI asks at depth 2; `/advisor model` additionally answers at depth 3). */
73
99
  const advisorTree = {
74
100
  root: ADVISOR_TUI_ROOT,
75
101
  descriptions: ADVISOR_TUI_DESCRIPTIONS,
76
102
  children(canonicalPath) {
77
- // Root at index 0: only `['advisor']` asks for the subcommand list.
103
+ // Root at index 0: `['advisor']` asks for the subcommand list;
104
+ // `['advisor', 'model']` asks for the model subcommand list (spec §5.3).
105
+ if (canonicalPath.length === 2 && canonicalPath[0] === ADVISOR_TUI_ROOT && canonicalPath[1] === 'model') {
106
+ return ADVISOR_MODEL_SUBCOMMANDS.map((name) => ({
107
+ name,
108
+ description: MODEL_SUBCOMMAND_DESCRIPTIONS[name].description,
109
+ descriptions: MODEL_SUBCOMMAND_DESCRIPTIONS[name].descriptions,
110
+ }));
111
+ }
78
112
  if (canonicalPath.length !== 1 || canonicalPath[0] !== ADVISOR_TUI_ROOT)
79
113
  return [];
80
114
  return ADVISOR_SUBCOMMANDS.map((name) => ({
package/lib/tui.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tui.js","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AA4BH,oEAAoE;AACpE,MAAM,CAAC,MAAM,gBAAgB,GAAG,SAAS,CAAA;AAEzC;;;oBAGoB;AACpB,MAAM,mBAAmB,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAA;AAItE,mFAAmF;AACnF,MAAM,wBAAwB,GAA6B;IACzD,EAAE,EAAE,8BAA8B;IAClC,EAAE,EAAE,yDAAyD;CAC9D,CAAA;AAED;wEACwE;AACxE,MAAM,uBAAuB,GAAyG;IACpI,EAAE,EAAE;QACF,WAAW,EAAE,qCAAqC;QAClD,YAAY,EAAE;YACZ,EAAE,EAAE,UAAU;YACd,EAAE,EAAE,qCAAqC;SAC1C;KACF;IACD,GAAG,EAAE;QACH,WAAW,EAAE,sCAAsC;QACnD,YAAY,EAAE;YACZ,EAAE,EAAE,UAAU;YACd,EAAE,EAAE,sCAAsC;SAC3C;KACF;IACD,MAAM,EAAE;QACN,WAAW,EAAE,iFAAiF;QAC9F,YAAY,EAAE;YACZ,EAAE,EAAE,+BAA+B;YACnC,EAAE,EAAE,iFAAiF;SACtF;KACF;IACD,MAAM,EAAE;QACN,WAAW,EAAE,sDAAsD;QACnE,YAAY,EAAE;YACZ,EAAE,EAAE,kBAAkB;YACtB,EAAE,EAAE,sDAAsD;SAC3D;KACF;CACF,CAAA;AAED;;2BAE2B;AAC3B,MAAM,WAAW,GAA2B;IAC1C,IAAI,EAAE,gBAAgB;IACtB,YAAY,EAAE,wBAAwB;IACtC,QAAQ,CAAC,aAAgC;QACvC,oEAAoE;QACpE,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,KAAK,gBAAgB;YAAE,OAAO,EAAE,CAAA;QAClF,OAAO,mBAAmB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACxC,IAAI;YACJ,WAAW,EAAE,uBAAuB,CAAC,IAAI,CAAC,CAAC,WAAW;YACtD,YAAY,EAAE,uBAAuB,CAAC,IAAI,CAAC,CAAC,YAAY;SACzD,CAAC,CAAC,CAAA;IACL,CAAC;CACF,CAAA;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAY;IAC3C,GAAG,CAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE;QACvC,MAAM,KAAK,GAAI,IAA6F,CAAC,eAAe,CAAA;QAC5H,IAAI,KAAK,KAAK,SAAS;YAAE,OAAM;QAC/B,IAAI,CAAC;YACH,OAAO,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC;gBAAE,MAAM,KAAK,CAAA;YAC3F,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,kFAAkF,CAAC,CAAA;YAChH,OAAO,GAAG,EAAE,GAAE,CAAC,CAAA;QACjB,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"tui.js","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-advisor",
3
- "version": "0.4.1",
3
+ "version": "0.5.0",
4
4
  "type": "module",
5
5
  "description": "dsh plugin bundle porting the omp advisor subsystem: a per-session reviewer model that observes the primary transcript and injects severity-ranked advice (nit/concern/blocker).",
6
6
  "repository": {
@@ -43,7 +43,7 @@
43
43
  "client": {
44
44
  "inject": [
45
45
  "@deepseek-ai/dsh-client-store",
46
- "@deepseek-ai/dsh-client-ui-settings-plugins",
46
+ "@deepseek-ai/dsh-client-ui-plugin-manager",
47
47
  "@deepseek-ai/dsh-client-locale"
48
48
  ],
49
49
  "platform": "web"
@@ -51,28 +51,29 @@
51
51
  },
52
52
  "peerDependencies": {
53
53
  "@deepseek-ai/cordis": "^4.0.2",
54
- "@deepseek-ai/dsh-agent": "^0.1.5-rc.2",
55
- "@deepseek-ai/dsh-api-gateway": "^0.1.5-rc.2",
56
- "@deepseek-ai/dsh-api-remotes": "^0.1.5-rc.2",
57
- "@deepseek-ai/dsh-api-settings-controller": "^0.1.5-rc.2",
58
- "@deepseek-ai/dsh-api-session-controller": "^0.1.5-rc.2",
59
- "@deepseek-ai/dsh-client-connection": "^0.1.5-rc.2",
60
- "@deepseek-ai/dsh-client-locale": "^0.1.5-rc.2",
61
- "@deepseek-ai/dsh-client-store": "^0.1.5-rc.2",
62
- "@deepseek-ai/dsh-client-ui-settings-plugins": "^0.1.5-rc.2",
63
- "@deepseek-ai/dsh-client-ui-primitives": "^0.1.5-rc.2",
64
- "@deepseek-ai/dsh-client-ui-renderer": "^0.1.5-rc.2",
65
- "@deepseek-ai/dsh-client-ui-settings": "^0.1.5-rc.2",
66
- "@deepseek-ai/dsh-client-ui-slots": "^0.1.5-rc.2",
67
- "@deepseek-ai/dsh-commands": "^0.1.5-rc.2",
68
- "@deepseek-ai/dsh-llm": "^0.1.5-rc.2",
69
- "@deepseek-ai/dsh-session": "^0.1.5-rc.2",
70
- "@deepseek-ai/dsh-settings": "^0.1.5-rc.2",
71
- "@deepseek-ai/dsh-timeout": "^0.1.5-rc.2",
72
- "@deepseek-ai/dsh-typert-protocol": "^0.1.5-rc.2",
73
- "@deepseek-ai/dsh-typert-registry": "^0.1.5-rc.2",
54
+ "@deepseek-ai/dsh-agent": "^0.1.7-rc.1",
55
+ "@deepseek-ai/dsh-api-gateway": "^0.1.7-rc.1",
56
+ "@deepseek-ai/dsh-api-remotes": "^0.1.7-rc.1",
57
+ "@deepseek-ai/dsh-api-settings-controller": "^0.1.7-rc.1",
58
+ "@deepseek-ai/dsh-api-session-controller": "^0.1.7-rc.1",
59
+ "@deepseek-ai/dsh-client-connection": "^0.1.7-rc.1",
60
+ "@deepseek-ai/dsh-client-locale": "^0.1.7-rc.1",
61
+ "@deepseek-ai/dsh-client-ui-conversation": "^0.1.7-rc.1",
62
+ "@deepseek-ai/dsh-client-store": "^0.1.7-rc.1",
63
+ "@deepseek-ai/dsh-client-ui-plugin-manager": "^0.1.7-rc.1",
64
+ "@deepseek-ai/dsh-client-ui-primitives": "^0.1.7-rc.1",
65
+ "@deepseek-ai/dsh-client-ui-renderer": "^0.1.7-rc.1",
66
+ "@deepseek-ai/dsh-client-ui-settings": "^0.1.7-rc.1",
67
+ "@deepseek-ai/dsh-client-ui-slots": "^0.1.7-rc.1",
68
+ "@deepseek-ai/dsh-commands": "^0.1.7-rc.1",
69
+ "@deepseek-ai/dsh-llm": "^0.1.7-rc.1",
70
+ "@deepseek-ai/dsh-session": "^0.1.7-rc.1",
71
+ "@deepseek-ai/dsh-settings": "^0.1.7-rc.1",
72
+ "@deepseek-ai/dsh-timeout": "^0.1.7-rc.1",
73
+ "@deepseek-ai/dsh-typert-protocol": "^0.1.7-rc.1",
74
+ "@deepseek-ai/dsh-typert-registry": "^0.1.7-rc.1",
74
75
  "react": "^18.2.0",
75
- "@deepseek-ai/schemastery": "^3.18.2"
76
+ "@deepseek-ai/schemastery": "^3.18.4"
76
77
  },
77
78
  "devDependencies": {
78
79
  "@testing-library/dom": "^10.4.1",