@goodandready/dsh-clinebot 0.3.14 → 0.3.15

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/CHANGELOG.md CHANGED
@@ -5,6 +5,19 @@ All notable changes to `@goodandready/dsh-clinebot` will be documented in this f
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.3.15] - 2026-09-19
9
+
10
+ ### Fixed
11
+ - **The settings form now appears on the plugin's own page.** The seat the Plugins
12
+ page really renders as a plugin page with its configuration is a card in the
13
+ plugin list (`plugins.item`) — the page draws the card's one-liner for
14
+ `view: 'summary'` and the entry itself as the body of that page for
15
+ `view: 'page'`. That is how `@goodandready-private/dsh-agentrouter` and
16
+ `@goodandready/dsh-agent-orchestrator` have always shown their settings, while the
17
+ `plugins.row.config` seat alone left the row without a configure control. The card
18
+ is registered with `id: 'dsh-clinebot'`, order 60 and a static label; the row seat
19
+ and the legacy `settings.plugin.item` card stay as fallbacks.
20
+
8
21
  ## [0.3.14] - 2026-09-19
9
22
 
10
23
  ### Fixed
package/lib/client.js CHANGED
@@ -1441,6 +1441,24 @@ function apply(ctx) {
1441
1441
  }
1442
1442
  }
1443
1443
 
1444
+ // The seat the Plugins page actually renders as the plugin's own page with the
1445
+ // settings form: a card in the plugin list (`plugins.item`), exactly how
1446
+ // @goodandready-private/dsh-agentrouter does it. `view: 'summary'` is the card's
1447
+ // one-liner, `view: 'page'` is the body of that page.
1448
+ registerSlotWhenReady('plugins.item', () =>
1449
+ ctx.slots.register(
1450
+ {
1451
+ name: 'plugins.item',
1452
+ id: NS,
1453
+ order: 60,
1454
+ label: () => 'clinebot',
1455
+ locale: NS,
1456
+ inject: () => ({ ctx }),
1457
+ },
1458
+ (props) => React.createElement(ErrorBoundary, null, React.createElement(PluginCard, { ...props, ctx: (props && props.ctx) || ctx }))
1459
+ )
1460
+ )
1461
+
1444
1462
  // Row seat first (the seat the current core renders), legacy seat after it.
1445
1463
  // The core keys the seat as `<bundle name>#<row id>`; `bundle.name` may be the
1446
1464
  // package name or the short bundle name depending on the manager's view, so both
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@goodandready/dsh-clinebot",
3
- "version": "0.3.14",
3
+ "version": "0.3.15",
4
4
  "description": "DeepSeek Harness companion for ClineBot / ClinePass: dynamic subscription models sync, quota exhaustion warnings, session metrics, dedicated settings page, live usage limits, and /cline slash-command.",
5
5
  "license": "MIT",
6
6
  "type": "module",