@morlay/dsh-session-mode 0.0.3 → 0.0.5

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/dist/client.d.cts CHANGED
@@ -23,8 +23,8 @@ declare module "@deepseek-ai/dsh-client-ui-slots" {
23
23
  "session-mode": SessionModeLocaleKey;
24
24
  }
25
25
  }
26
- declare const inject: string[];
27
- declare const SESSION_MODE_NS = "session-mode";
28
- declare function apply(ctx: Context): void;
26
+ export declare const inject: string[];
27
+ export declare const SESSION_MODE_NS = "session-mode";
28
+ export declare function apply(ctx: Context): void;
29
29
  //#endregion
30
- export { SESSION_MODE_NS, type SessionModeLocaleKey, type SessionModeSeatProps, apply, inject };
30
+ export type { SessionModeLocaleKey, SessionModeSeatProps };
package/dist/client.d.mts CHANGED
@@ -23,8 +23,8 @@ declare module "@deepseek-ai/dsh-client-ui-slots" {
23
23
  "session-mode": SessionModeLocaleKey;
24
24
  }
25
25
  }
26
- declare const inject: string[];
27
- declare const SESSION_MODE_NS = "session-mode";
28
- declare function apply(ctx: Context): void;
26
+ export declare const inject: string[];
27
+ export declare const SESSION_MODE_NS = "session-mode";
28
+ export declare function apply(ctx: Context): void;
29
29
  //#endregion
30
- export { SESSION_MODE_NS, type SessionModeLocaleKey, type SessionModeSeatProps, apply, inject };
30
+ export type { SessionModeLocaleKey, SessionModeSeatProps };
package/dist/index.d.cts CHANGED
@@ -30,7 +30,7 @@ interface SessionMode {
30
30
  readonly runtimeContext: boolean;
31
31
  readonly defaultModel?: SessionModeModel;
32
32
  }
33
- interface Config {
33
+ export interface Config {
34
34
  readonly default: string;
35
35
  readonly modes: Record<string, SessionMode>;
36
36
  readonly models?: SessionModeModels;
@@ -40,11 +40,11 @@ interface ResolvedConfig {
40
40
  readonly modes: Volatile<Record<string, SessionMode>>;
41
41
  readonly models: SessionModeModels;
42
42
  }
43
- declare const Config: z$1<Config, ResolvedConfig>;
43
+ export declare const Config: z$1<Config, ResolvedConfig>;
44
44
  //#endregion
45
45
  //#region src/shared.d.ts
46
- declare const SESSION_MODE_PATH = "/session-mode";
47
- declare const POLICY_NAMES: readonly ["fs/write-intent", "fs/edit-intent"];
46
+ export declare const SESSION_MODE_PATH = "/session-mode";
47
+ export declare const POLICY_NAMES: readonly ["fs/write-intent", "fs/edit-intent"];
48
48
  type PolicyName = (typeof POLICY_NAMES)[number];
49
49
  interface SessionModeRow {
50
50
  readonly id: string;
@@ -57,8 +57,8 @@ interface SessionModeRoster {
57
57
  }
58
58
  //#endregion
59
59
  //#region src/index.d.ts
60
- declare const name = "session-mode";
61
- declare const inject: string[];
60
+ export declare const name = "session-mode";
61
+ export declare const inject: string[];
62
62
  declare module "@deepseek-ai/cordis" {
63
63
  interface Context {
64
64
  sessionModes: SessionModes;
@@ -81,7 +81,7 @@ declare module "@deepseek-ai/dsh-session-projection/types" {
81
81
  sessionModeEditable: boolean;
82
82
  }
83
83
  }
84
- declare const sessionModeProjection: {
84
+ export declare const sessionModeProjection: {
85
85
  key: "sessionMode";
86
86
  stateSchema: z.ZodType<string | null, unknown, z.core.$ZodTypeInternals<string | null, unknown>>;
87
87
  init: () => null;
@@ -92,7 +92,7 @@ declare const sessionModeProjection: {
92
92
  };
93
93
  stateVersion: number;
94
94
  };
95
- declare const sessionModeEditableProjection: {
95
+ export declare const sessionModeEditableProjection: {
96
96
  key: "sessionModeEditable";
97
97
  stateSchema: z.ZodType<boolean, unknown, z.core.$ZodTypeInternals<boolean, unknown>>;
98
98
  init: () => true;
@@ -103,7 +103,7 @@ declare const sessionModeEditableProjection: {
103
103
  };
104
104
  stateVersion: number;
105
105
  };
106
- declare class SessionModes extends Service {
106
+ export declare class SessionModes extends Service {
107
107
  private readonly installs;
108
108
  private readonly scope;
109
109
  readonly config: {
@@ -137,6 +137,6 @@ declare class SessionModes extends Service {
137
137
  private installFor;
138
138
  private installDefaultModel;
139
139
  }
140
- declare function apply(ctx: Context, config: ResolvedConfig): void;
140
+ export declare function apply(ctx: Context, config: ResolvedConfig): void;
141
141
  //#endregion
142
- export { Config, POLICY_NAMES, type PolicyName, type ResolvedConfig, SESSION_MODE_PATH, type SessionMode, type SessionModeModel, type SessionModePersona, type SessionModeRole, type SessionModeRoster, type SessionModeRow, SessionModes, apply, inject, name, sessionModeEditableProjection, sessionModeProjection };
142
+ export type { PolicyName, ResolvedConfig, SessionMode, SessionModeModel, SessionModePersona, SessionModeRole, SessionModeRoster, SessionModeRow };
package/dist/index.d.mts CHANGED
@@ -30,7 +30,7 @@ interface SessionMode {
30
30
  readonly runtimeContext: boolean;
31
31
  readonly defaultModel?: SessionModeModel;
32
32
  }
33
- interface Config {
33
+ export interface Config {
34
34
  readonly default: string;
35
35
  readonly modes: Record<string, SessionMode>;
36
36
  readonly models?: SessionModeModels;
@@ -40,11 +40,11 @@ interface ResolvedConfig {
40
40
  readonly modes: Volatile<Record<string, SessionMode>>;
41
41
  readonly models: SessionModeModels;
42
42
  }
43
- declare const Config: z$1<Config, ResolvedConfig>;
43
+ export declare const Config: z$1<Config, ResolvedConfig>;
44
44
  //#endregion
45
45
  //#region src/shared.d.ts
46
- declare const SESSION_MODE_PATH = "/session-mode";
47
- declare const POLICY_NAMES: readonly ["fs/write-intent", "fs/edit-intent"];
46
+ export declare const SESSION_MODE_PATH = "/session-mode";
47
+ export declare const POLICY_NAMES: readonly ["fs/write-intent", "fs/edit-intent"];
48
48
  type PolicyName = (typeof POLICY_NAMES)[number];
49
49
  interface SessionModeRow {
50
50
  readonly id: string;
@@ -57,8 +57,8 @@ interface SessionModeRoster {
57
57
  }
58
58
  //#endregion
59
59
  //#region src/index.d.ts
60
- declare const name = "session-mode";
61
- declare const inject: string[];
60
+ export declare const name = "session-mode";
61
+ export declare const inject: string[];
62
62
  declare module "@deepseek-ai/cordis" {
63
63
  interface Context {
64
64
  sessionModes: SessionModes;
@@ -81,7 +81,7 @@ declare module "@deepseek-ai/dsh-session-projection/types" {
81
81
  sessionModeEditable: boolean;
82
82
  }
83
83
  }
84
- declare const sessionModeProjection: {
84
+ export declare const sessionModeProjection: {
85
85
  key: "sessionMode";
86
86
  stateSchema: z.ZodType<string | null, unknown, z.core.$ZodTypeInternals<string | null, unknown>>;
87
87
  init: () => null;
@@ -92,7 +92,7 @@ declare const sessionModeProjection: {
92
92
  };
93
93
  stateVersion: number;
94
94
  };
95
- declare const sessionModeEditableProjection: {
95
+ export declare const sessionModeEditableProjection: {
96
96
  key: "sessionModeEditable";
97
97
  stateSchema: z.ZodType<boolean, unknown, z.core.$ZodTypeInternals<boolean, unknown>>;
98
98
  init: () => true;
@@ -103,7 +103,7 @@ declare const sessionModeEditableProjection: {
103
103
  };
104
104
  stateVersion: number;
105
105
  };
106
- declare class SessionModes extends Service {
106
+ export declare class SessionModes extends Service {
107
107
  private readonly installs;
108
108
  private readonly scope;
109
109
  readonly config: {
@@ -137,6 +137,6 @@ declare class SessionModes extends Service {
137
137
  private installFor;
138
138
  private installDefaultModel;
139
139
  }
140
- declare function apply(ctx: Context, config: ResolvedConfig): void;
140
+ export declare function apply(ctx: Context, config: ResolvedConfig): void;
141
141
  //#endregion
142
- export { Config, POLICY_NAMES, type PolicyName, type ResolvedConfig, SESSION_MODE_PATH, type SessionMode, type SessionModeModel, type SessionModePersona, type SessionModeRole, type SessionModeRoster, type SessionModeRow, SessionModes, apply, inject, name, sessionModeEditableProjection, sessionModeProjection };
142
+ export type { PolicyName, ResolvedConfig, SessionMode, SessionModeModel, SessionModePersona, SessionModeRole, SessionModeRoster, SessionModeRow };
package/dist/rows.d.cts CHANGED
@@ -1,12 +1,11 @@
1
1
  //#region src/rows.d.ts
2
- interface PatchRow {
2
+ export interface PatchRow {
3
3
  readonly insert?: readonly RowEntry[];
4
4
  }
5
- interface RowEntry {
5
+ export interface RowEntry {
6
6
  readonly id: string;
7
7
  readonly name: string;
8
8
  readonly config?: Readonly<Record<string, unknown>>;
9
9
  }
10
- declare function sessionModeRows(): readonly PatchRow[];
11
- //#endregion
12
- export { PatchRow, RowEntry, sessionModeRows };
10
+ export declare function sessionModeRows(): readonly PatchRow[];
11
+ //#endregion
package/dist/rows.d.mts CHANGED
@@ -1,12 +1,11 @@
1
1
  //#region src/rows.d.ts
2
- interface PatchRow {
2
+ export interface PatchRow {
3
3
  readonly insert?: readonly RowEntry[];
4
4
  }
5
- interface RowEntry {
5
+ export interface RowEntry {
6
6
  readonly id: string;
7
7
  readonly name: string;
8
8
  readonly config?: Readonly<Record<string, unknown>>;
9
9
  }
10
- declare function sessionModeRows(): readonly PatchRow[];
11
- //#endregion
12
- export { PatchRow, RowEntry, sessionModeRows };
10
+ export declare function sessionModeRows(): readonly PatchRow[];
11
+ //#endregion
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@morlay/dsh-session-mode",
3
- "version": "0.0.3",
4
- "description": "Personal dsh bundle: session modes (coding / chat) as data — a mode is a persona plus its tool lists, its upstream policy lists, its instruction / skill-catalog / runtime-context switches and an optional default model. The host applies the current mode to each session, and the chip in the composer sits beside the official agent-preset entry, which stays.",
3
+ "version": "0.0.5",
4
+ "description": "Session modes for dsh: coding / chat as data — a mode is a persona plus its tool lists, its upstream policy lists, its instruction / skill-catalog / runtime-context switches and an optional default model. The host applies the current mode to each session, and the chip in the composer sits beside the official agent-preset entry, which stays.",
5
5
  "keywords": [
6
6
  "dsh",
7
- "dsh-bundle",
7
+ "dsh-plugin",
8
8
  "persona",
9
9
  "session-mode"
10
10
  ],
@@ -41,27 +41,27 @@
41
41
  "@deepseek-ai/cordis-plugin-include": "1.0.9",
42
42
  "@deepseek-ai/cordis-plugin-loader": "1.0.5",
43
43
  "@deepseek-ai/cosmokit": "1.8.5",
44
- "@deepseek-ai/dsh-agent": "0.2.0-rc.1",
45
- "@deepseek-ai/dsh-agent-loop-testkit": "0.2.0-rc.1",
46
- "@deepseek-ai/dsh-agent-preset-registry": "0.2.0-rc.1",
47
- "@deepseek-ai/dsh-api-remotes": "0.2.0-rc.1",
48
- "@deepseek-ai/dsh-api-session-controller": "0.2.0-rc.1",
49
- "@deepseek-ai/dsh-client-locale": "0.2.0-rc.1",
50
- "@deepseek-ai/dsh-client-ui-primitives": "0.2.0-rc.1",
51
- "@deepseek-ai/dsh-client-ui-renderer": "0.2.0-rc.1",
52
- "@deepseek-ai/dsh-client-ui-slots": "0.2.0-rc.1",
53
- "@deepseek-ai/dsh-fs": "0.2.0-rc.1",
54
- "@deepseek-ai/dsh-fs-local": "0.2.0-rc.1",
55
- "@deepseek-ai/dsh-fs-observation-policy": "0.2.0-rc.1",
56
- "@deepseek-ai/dsh-llm": "0.2.0-rc.1",
57
- "@deepseek-ai/dsh-session": "0.2.0-rc.1",
58
- "@deepseek-ai/dsh-session-projection": "0.2.0-rc.1",
59
- "@deepseek-ai/dsh-skill": "0.2.0-rc.1",
60
- "@deepseek-ai/dsh-system-prompt": "0.2.0-rc.1",
61
- "@deepseek-ai/dsh-tools": "0.2.0-rc.1",
62
- "@morlay/dsh-client-ui-conversation": "0.1.2",
63
- "@morlay/dsh-client-ui-primitives": "0.0.5",
64
- "@morlay/dsh-context-assembler": "0.0.3",
44
+ "@deepseek-ai/dsh-agent": "0.2.0-rc.2",
45
+ "@deepseek-ai/dsh-agent-loop-testkit": "0.2.0-rc.2",
46
+ "@deepseek-ai/dsh-agent-preset-registry": "0.2.0-rc.2",
47
+ "@deepseek-ai/dsh-api-remotes": "0.2.0-rc.2",
48
+ "@deepseek-ai/dsh-api-session-controller": "0.2.0-rc.2",
49
+ "@deepseek-ai/dsh-client-locale": "0.2.0-rc.2",
50
+ "@deepseek-ai/dsh-client-ui-conversation": "0.2.0-rc.2",
51
+ "@deepseek-ai/dsh-client-ui-primitives": "0.2.0-rc.2",
52
+ "@deepseek-ai/dsh-client-ui-renderer": "0.2.0-rc.2",
53
+ "@deepseek-ai/dsh-client-ui-slots": "0.2.0-rc.2",
54
+ "@deepseek-ai/dsh-fs": "0.2.0-rc.2",
55
+ "@deepseek-ai/dsh-fs-local": "0.2.0-rc.2",
56
+ "@deepseek-ai/dsh-fs-observation-policy": "0.2.0-rc.2",
57
+ "@deepseek-ai/dsh-llm": "0.2.0-rc.2",
58
+ "@deepseek-ai/dsh-session": "0.2.0-rc.2",
59
+ "@deepseek-ai/dsh-session-projection": "0.2.0-rc.2",
60
+ "@deepseek-ai/dsh-skill": "0.2.0-rc.2",
61
+ "@deepseek-ai/dsh-system-prompt": "0.2.0-rc.2",
62
+ "@deepseek-ai/dsh-tools": "0.2.0-rc.2",
63
+ "@morlay/dsh-client-ui-primitives": "0.0.7",
64
+ "@morlay/dsh-context-assembler": "0.0.5",
65
65
  "@testing-library/react": "^16.3.0",
66
66
  "@types/js-yaml": "^4.0.9",
67
67
  "@types/react": "~18.3.1",
@@ -72,28 +72,26 @@
72
72
  "peerDependencies": {
73
73
  "@deepseek-ai/cordis": "^4.0.4",
74
74
  "@deepseek-ai/cosmokit": "^1.8.5",
75
- "@deepseek-ai/dsh-agent": "^0.2.0-rc.1",
76
- "@deepseek-ai/dsh-agent-preset-registry": "^0.2.0-rc.1",
77
- "@deepseek-ai/dsh-api-session-controller": "^0.2.0-rc.1",
78
- "@deepseek-ai/dsh-client-locale": "^0.2.0-rc.1",
79
- "@deepseek-ai/dsh-client-ui-primitives": "^0.2.0-rc.1",
80
- "@deepseek-ai/dsh-client-ui-slots": "^0.2.0-rc.1",
81
- "@deepseek-ai/dsh-fs": "^0.2.0-rc.1",
82
- "@deepseek-ai/dsh-llm": "^0.2.0-rc.1",
83
- "@deepseek-ai/dsh-session": "^0.2.0-rc.1",
84
- "@deepseek-ai/dsh-session-projection": "^0.2.0-rc.1",
85
- "@deepseek-ai/dsh-system-prompt": "^0.2.0-rc.1",
86
- "@deepseek-ai/schemastery": "^3.18.4",
87
- "@morlay/dsh-client-ui-conversation": "0.1.2",
88
- "@morlay/dsh-client-ui-primitives": "0.0.5"
75
+ "@deepseek-ai/dsh-agent": "^0.2.0-rc.2",
76
+ "@deepseek-ai/dsh-agent-preset-registry": "^0.2.0-rc.2",
77
+ "@deepseek-ai/dsh-api-session-controller": "^0.2.0-rc.2",
78
+ "@deepseek-ai/dsh-client-locale": "^0.2.0-rc.2",
79
+ "@deepseek-ai/dsh-client-ui-conversation": "^0.2.0-rc.2",
80
+ "@deepseek-ai/dsh-client-ui-primitives": "^0.2.0-rc.2",
81
+ "@deepseek-ai/dsh-client-ui-slots": "^0.2.0-rc.2",
82
+ "@deepseek-ai/dsh-fs": "^0.2.0-rc.2",
83
+ "@deepseek-ai/dsh-llm": "^0.2.0-rc.2",
84
+ "@deepseek-ai/dsh-session": "^0.2.0-rc.2",
85
+ "@deepseek-ai/dsh-session-projection": "^0.2.0-rc.2",
86
+ "@deepseek-ai/dsh-system-prompt": "^0.2.0-rc.2",
87
+ "@deepseek-ai/schemastery": "^3.18.4"
89
88
  },
90
89
  "dsh": {
91
90
  "client": {
92
91
  "platform": "web",
93
92
  "inject": [
94
93
  "@deepseek-ai/dsh-client-locale",
95
- "@deepseek-ai/dsh-client-ui-slots",
96
- "@morlay/dsh-client-ui-primitives"
94
+ "@deepseek-ai/dsh-client-ui-slots"
97
95
  ]
98
96
  }
99
97
  },
@@ -12,7 +12,7 @@ import type { PropsLocale, PropsRuntime } from "@deepseek-ai/dsh-client-ui-slots
12
12
  // Type-only:拉入本包 host 半的 Context / 投影声明(`sessionMode`),让 `projectionValues` 有类型。
13
13
  import type {} from "../index.ts";
14
14
  // Type-only:拉入 ui-conversation 的 SlotMap 合并(composer 工具行的座位)。
15
- import type {} from "@morlay/dsh-client-ui-conversation/client";
15
+ import type {} from "@deepseek-ai/dsh-client-ui-conversation/client";
16
16
  import { selectMode } from "./api.ts";
17
17
  import { useRoster } from "./use-roster.ts";
18
18
  import css from "./SessionModeSeat.module.css";
@@ -8,7 +8,8 @@ import type {} from "@deepseek-ai/dsh-api-remotes/client";
8
8
  import type {} from "@deepseek-ai/dsh-client-locale/client";
9
9
  import type {} from "@deepseek-ai/dsh-client-ui-slots";
10
10
  // Type-only:槽位声明与 standard props(session / session-maybe / global)。
11
- import type {} from "@morlay/dsh-client-ui-conversation/client";
11
+ import type {} from "@deepseek-ai/dsh-client-ui-conversation/client";
12
+ import { apply as installUiPrimitives } from "@morlay/dsh-client-ui-primitives/client";
12
13
  import { POLICY_NAMES } from "../shared.ts";
13
14
  import { SessionModeSeat } from "./SessionModeSeat.tsx";
14
15
  import { en, zh, type SessionModeLocaleKey } from "./locales.ts";
@@ -62,6 +63,8 @@ function readAt(root: unknown, path: readonly string[]): unknown {
62
63
 
63
64
  // 装上会话里的那一个面,以及本行配置页的字段文案。
64
65
  export function apply(ctx: Context): void {
66
+ // 基础面随本包 inline(不再是装配行):装上它提供的字典、字段槽与按行配置页;多份副本只装一次。
67
+ installUiPrimitives(ctx);
65
68
  const t = ctx.locale.bind(NS);
66
69
  ctx.effect(() => ctx.locale.register(NS, { zh, en }), "session-mode: dictionaries");
67
70
 
@@ -0,0 +1,6 @@
1
+ // 本包 client 半的组件样式是上游那套 CSS Modules(`SessionModeSeat.module.css`):bundler 解析得动,
2
+ // TS 需要这份 ambient 声明把它定成「有一个 class 映射的模块」。
3
+ declare module "*.module.css" {
4
+ const classes: Readonly<Record<string, string>>;
5
+ export default classes;
6
+ }