dsh-manage-session 0.5.4 → 0.5.7

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.
@@ -46,6 +46,7 @@ const StewardNsSchema = z.object({
46
46
  historyFiles: z.boolean().default(true),
47
47
  healthCheck: z.boolean().default(true),
48
48
  search: z.boolean().default(true),
49
+ directDelete: z.boolean().default(false),
49
50
  })
50
51
 
51
52
  /** 搜索命名空间 schema(同上;存储键与 config.ts 承诺一致)。 */
@@ -135,6 +136,7 @@ const FIELD_VALIDATORS: Record<string, Record<string, (v: unknown) => FieldVerdi
135
136
  historyFiles: asBoolean,
136
137
  healthCheck: asBoolean,
137
138
  search: asBoolean,
139
+ directDelete: asBoolean,
138
140
  },
139
141
  [SWITCH_SEARCH_SETTINGS_NAMESPACE]: {
140
142
  enabled: asBoolean,
@@ -181,6 +183,31 @@ export function describeNamespaces(state: BridgeState): BridgeNamespaces {
181
183
  return { [STEWARD_SETTINGS_NAMESPACE]: {}, [SWITCH_SEARCH_SETTINGS_NAMESPACE]: {} }
182
184
  }
183
185
 
186
+ /**
187
+ * 运行时叠加文档(≤0.1.5 专用,3085 实锤补口):卡写路径落宿主 settings
188
+ * 服务,而组合入口 config 是静态缺省——不叠加则开关「拨得动、不生效」。
189
+ * 与 describe 不同:**不铺缺省**,只回两 ns 的原始已写键(盘上 settings.yaml
190
+ * 实测只含被拨过的键,未写键缺席→自然回退组合 config)。
191
+ * 两 ns 分开返回(不 flatten):`enabled` 在两 ns 都有——合并包里它是同一
192
+ * master(config.ts 注),但 legacy 分家存,flatten 会互相串改;current()
193
+ * 按字段取权威 ns(master 类字段只认 session-steward)。桥未咬合恒空=零叠加。
194
+ */
195
+ export interface BridgeOverlayDocs {
196
+ /** session-steward ns 原始已写文档(桥未咬合时 = {})。 */
197
+ steward: Record<string, unknown>
198
+ /** switch-search ns 原始已写文档(桥未咬合时 = {})。 */
199
+ search: Record<string, unknown>
200
+ }
201
+
202
+ export function bridgeOverlay(state: BridgeState): BridgeOverlayDocs {
203
+ const { bridge } = state
204
+ if (bridge === undefined) return { steward: {}, search: {} }
205
+ return {
206
+ steward: bridge.get(STEWARD_SETTINGS_NAMESPACE) ?? {},
207
+ search: bridge.get(SWITCH_SEARCH_SETTINGS_NAMESPACE) ?? {},
208
+ }
209
+ }
210
+
184
211
  /** describe 响应。 */
185
212
  export function settingsDescribe(state: BridgeState): {
186
213
  ok: boolean