@chatcode/cco-better-sidebar 0.18.0-alpha.1 → 0.18.0-alpha.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.
@@ -306,7 +306,8 @@ export interface SidebarSessionPersistenceService {
306
306
 
307
307
  /** The client session list snapshot the sidebar subscribes to. */
308
308
  export interface SidebarSessionList {
309
- current: string | undefined
309
+ /** @deprecated Selection moved to `uiSession.adapter.current`; old hosts may still expose this field. */
310
+ current?: string
310
311
  byId: Record<string, SidebarSessionSummary>
311
312
  /** Direct durable catalogs keyed by their selected parent address. */
312
313
  subagentsByParent?: Readonly<Record<string, SidebarSubagentCatalog>>
@@ -324,11 +325,6 @@ export interface SidebarSessionsService {
324
325
  getSnapshot(): SidebarSessionList
325
326
  subscribe(fn: () => void): () => void
326
327
  }
327
- /**
328
- * Select a listed session as current (mirror of the runtime ISessions.open)
329
- * — used to jump back to the main agent from the topology root node.
330
- */
331
- open?(id: string): void
332
328
  /**
333
329
  * Fork a session from a completed-turn prefix of the source and resolve
334
330
  * the child session id (mirror of the runtime ISessions.fork — throws on
@@ -371,6 +367,16 @@ export interface SidebarSessionsService {
371
367
  refreshSubagents?(parentSessionId: string): Promise<void>
372
368
  }
373
369
 
370
+ /** The host's authoritative current Session scope binding. */
371
+ export interface SidebarUiSessionService {
372
+ adapter: {
373
+ current: {
374
+ getSnapshot(): { readonly key: string | undefined }
375
+ subscribe(fn: () => void): () => void
376
+ }
377
+ }
378
+ }
379
+
374
380
  /**
375
381
  * The client locale service face (mirror of @deepseek-ai/dsh-client-locale's
376
382
  * LocaleRuntime — only the slices the sidebar touches). The sidebar follows
@@ -416,6 +422,16 @@ export interface SidebarWorkspacesService {
416
422
  openPath(path: string): Promise<void>
417
423
  }
418
424
 
425
+ /**
426
+ * The client Workspace navigation face. Session selection is a UI navigation
427
+ * operation in current DSH builds: it retains the target for the main view,
428
+ * updates the scoped Session adapter, and reveals the conversation panel.
429
+ */
430
+ export interface SidebarUiWorkspaceService {
431
+ /** Select a Session and show its Conversation, including persisted history. */
432
+ openSession(sessionId: string): void
433
+ }
434
+
419
435
  /**
420
436
  * The invariant service face (mirror of @deepseek-ai/dsh-invariants'
421
437
  * InvariantRegistry). The upstream augmentation does not reach this Context
@@ -494,12 +510,16 @@ export interface SidebarContextShape {
494
510
  webServer: SidebarWebServer
495
511
  /** The session store (host `.get`) and the client list feed (`.list`) faces. */
496
512
  sessions: SidebarSessionStore & SidebarSessionsService
513
+ /** Current UI Session scope; selection no longer belongs to the Session list catalog. */
514
+ uiSession: SidebarUiSessionService
497
515
  /** The web runtime trust list (bind-derived). */
498
516
  webRuntime: SidebarWebRuntime
499
517
  /** The client slot registry (register/inject). */
500
518
  slots: SidebarSlotsService
501
519
  /** The client workspaces service face (file-open funnel). */
502
520
  workspaces: SidebarWorkspacesService
521
+ /** The client Workspace navigation service (session-open funnel). */
522
+ uiWorkspace: SidebarUiWorkspaceService
503
523
  /** The settings service face (prefs persistence + namespace reads). */
504
524
  settings: SidebarSettingsService
505
525
  /** The invariant registry face. */