@morlay/dsh-session-mode 0.0.14 → 0.0.16

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/index.d.mts CHANGED
@@ -1,62 +1,13 @@
1
- import { Context, Service, Volatile } from "@deepseek-ai/cordis";
1
+ import { a as SessionModeEditable, c as SessionModeSwitchKey, d as ResolvedConfig, f as SessionMode, h as SessionModeRole, i as SessionModeActiveState, l as ModeConfig, m as SessionModePersona, n as PolicyName, o as SessionModeRoster, p as SessionModeModel, r as SESSION_MODE_PATH, s as SessionModeRow, t as POLICY_NAMES, u as Config } from "./shared-R2j0SuWy.mjs";
2
+ import { Context, Service } from "@deepseek-ai/cordis";
2
3
  import { Agent } from "@deepseek-ai/dsh-agent";
3
4
  import { Session, SessionEvent, SessionId } from "@deepseek-ai/dsh-session";
4
5
  import { z } from "zod";
5
- import z$1 from "@deepseek-ai/schemastery";
6
- interface SessionModePersona {
7
- readonly prefix: string;
8
- readonly suffix: string;
9
- }
10
- type SessionModeRole = "main" | "subagent";
11
- interface SessionModeModel {
12
- readonly provider: string;
13
- readonly model: string;
14
- readonly reasoningEffort?: string;
15
- }
16
- type SessionModeModels = Readonly<Record<string, SessionModeModel>>;
17
- interface SessionMode {
18
- readonly presetsOnly: string[];
19
- readonly name: string;
20
- readonly description: string;
21
- readonly role: SessionModeRole[];
22
- readonly persona: SessionModePersona;
23
- readonly allowTools: string[];
24
- readonly denyTools: string[];
25
- readonly allowSkills: string[];
26
- readonly denySkills: string[];
27
- readonly allowPolicies: string[];
28
- readonly denyPolicies: string[];
29
- readonly instructions: boolean;
30
- readonly skills?: boolean;
31
- readonly runtimeContext: boolean;
32
- readonly defaultModel?: SessionModeModel;
33
- readonly preset?: string;
34
- }
35
- export interface Config {
36
- readonly default: string;
37
- readonly modes: Record<string, SessionMode>;
38
- readonly models?: SessionModeModels;
39
- }
40
- interface ResolvedConfig {
41
- readonly default: Volatile<string>;
42
- readonly modes: Volatile<Record<string, SessionMode>>;
43
- readonly models: SessionModeModels;
44
- }
45
- export declare const Config: z$1<Config, ResolvedConfig>;
46
- export declare const SESSION_MODE_PATH = "/session-mode";
47
- export declare const POLICY_NAMES: readonly ["fs/write-intent", "fs/edit-intent"];
48
- type PolicyName = (typeof POLICY_NAMES)[number];
49
- interface SessionModeRow {
50
- readonly id: string;
51
- readonly name: string;
52
- readonly description?: string;
53
- }
54
- interface SessionModeRoster {
55
- readonly default: string;
56
- readonly modes: readonly SessionModeRow[];
57
- }
58
6
  export declare const name = "session-mode";
59
7
  export declare const inject: string[];
8
+ export type SwitchPatch = Partial<Record<SessionModeSwitchKey, boolean | null>>;
9
+ export type ModePatch = Partial<Record<keyof SessionModeEditable, unknown>>;
10
+ export type ItemKind = "tools" | "skills" | "policies";
60
11
  declare module "@deepseek-ai/cordis" {
61
12
  interface Context {
62
13
  sessionModes: SessionModes;
@@ -103,6 +54,8 @@ export declare const sessionModeEditableProjection: {
103
54
  };
104
55
  export declare class SessionModes extends Service {
105
56
  private readonly installs;
57
+ private readonly modeOverrides;
58
+ private sessionsTable;
106
59
  private readonly scope;
107
60
  private projectionHandle;
108
61
  private editableHandle;
@@ -127,7 +80,24 @@ export declare class SessionModes extends Service {
127
80
  selectedOf(session: Session): string | null;
128
81
  modeOf(session: Session): string;
129
82
  editableOf(session: Session): boolean;
83
+ private buildCatalog;
84
+ knownToolsOf(agent: Agent): readonly string[];
130
85
  modeOfSession(session: Session): SessionMode;
86
+ private record;
87
+ private hydrate;
88
+ saveConfig(sessionId: SessionId, config: ModeConfig): Promise<SessionModeActiveState | undefined>;
89
+ applyConfig(sessionId: SessionId, config: ModeConfig): Promise<SessionModeActiveState | undefined>;
90
+ private toolNames;
91
+ private editableFaceOf;
92
+ private definitionFor;
93
+ private overriddenKeys;
94
+ private overriddenFields;
95
+ setModePatch(sessionId: SessionId, patch: ModePatch): Promise<SessionModeActiveState | undefined>;
96
+ setSwitches(sessionId: SessionId, patch: SwitchPatch): Promise<SessionModeActiveState | undefined>;
97
+ saveAsDefault(sessionId: SessionId): Promise<SessionModeActiveState | undefined>;
98
+ saveAsNewMode(sessionId: SessionId, code: string, name?: string): Promise<string>;
99
+ deleteMode(sessionId: SessionId): Promise<string>;
100
+ activeState(sessionId: SessionId): Promise<SessionModeActiveState | undefined>;
131
101
  private policyInForce;
132
102
  private decidePolicy;
133
103
  select(sessionId: SessionId, mode: string): Promise<string>;
@@ -145,4 +115,5 @@ export declare class SessionModes extends Service {
145
115
  private installDefaultModel;
146
116
  }
147
117
  export declare function apply(ctx: Context, config: ResolvedConfig): Promise<void>;
148
- export type { PolicyName, ResolvedConfig, SessionMode, SessionModeModel, SessionModePersona, SessionModeRole, SessionModeRoster, SessionModeRow };
118
+ export declare function isWriteRequest(record: Record<string, unknown>): boolean;
119
+ export { Config, POLICY_NAMES, type PolicyName, type ResolvedConfig, SESSION_MODE_PATH, type SessionMode, type SessionModeModel, type SessionModePersona, type SessionModeRole, type SessionModeRoster, type SessionModeRow };