@deepseek-ai/dsh-session-reference 0.1.3-alpha.2 → 0.1.5-alpha.1

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/lib/index.js CHANGED
@@ -150,6 +150,7 @@ function projectSessionConversation(snapshot) {
150
150
  });
151
151
  break;
152
152
  }
153
+ case "system/message":
153
154
  case "tool/result": break;
154
155
  /* v8 ignore next 2 -- SurfaceEventType is closed and every variant is handled above. */
155
156
  default: assertNever(event, "session-reference surface event");
@@ -196,7 +196,7 @@ export const TYPERT = {
196
196
  },
197
197
  {
198
198
  "name": "EpochHeader",
199
- "declaration": "export interface EpochHeader {\n config: LlmCallConfig;\n adapterDefaults?: LlmCallConfigAdapterDefaults;\n system?: string;\n tools?: ToolSchema[];\n}"
199
+ "declaration": "export interface EpochHeader {\n config: LlmCallConfig;\n adapterDefaults?: LlmCallConfigAdapterDefaults;\n tools?: ToolSchema[];\n}"
200
200
  },
201
201
  {
202
202
  "name": "FileAttachmentRef",
@@ -268,7 +268,7 @@ export const TYPERT = {
268
268
  },
269
269
  {
270
270
  "name": "Inbox",
271
- "declaration": "export class Inbox {\n get nextTurn(): readonly UserMessage[];\n get nextStep(): readonly UserMessage[];\n get hasPending(): boolean;\n clear(): void;\n claim(target: InboxTarget, turn: number): UserMessage[];\n append(target: InboxTarget, message: UserMessage): void;\n prepend(target: InboxTarget, message: UserMessage): void;\n replace(messageId: MessageId, newMessage: UserMessage): boolean;\n remove(messageId: MessageId): boolean;\n splice(target: InboxTarget, start: number, deleteCount: number, inserted: UserMessage[]): UserMessage[];\n}"
271
+ "declaration": "export interface Inbox {\n readonly nextTurn: readonly UserMessage[];\n readonly nextStep: readonly UserMessage[];\n clear(): void;\n append(target: InboxTarget, message: UserMessage): void;\n prepend(target: InboxTarget, message: UserMessage): void;\n replace(messageId: MessageId, newMessage: UserMessage): boolean;\n remove(messageId: MessageId): boolean;\n splice(target: InboxTarget, start: number, deleteCount: number, inserted: UserMessage[]): UserMessage[];\n}"
272
272
  },
273
273
  {
274
274
  "name": "InboxTarget",
@@ -372,7 +372,7 @@ export const TYPERT = {
372
372
  },
373
373
  {
374
374
  "name": "RequestContext",
375
- "declaration": "export interface RequestContext {\n provider: string;\n model: string;\n contextWindow?: number;\n}"
375
+ "declaration": "export interface RequestContext {\n provider: string;\n model: string;\n contextWindow?: number;\n systemPromptUpdate?: SystemPromptUpdate;\n}"
376
376
  },
377
377
  {
378
378
  "name": "RequestHeaderReason",
@@ -388,11 +388,11 @@ export const TYPERT = {
388
388
  },
389
389
  {
390
390
  "name": "SessionEvent",
391
- "declaration": "export type SessionEvent<T extends SessionEventType = SessionEventType> = { [K in SessionEventType]: { type: K; seq: SessionSeq; time: number; data: SessionEventMap[K]; ignorable?: true; } & (K extends SurfaceEventType ? { sourceEventSeqs?: SessionSeq[]; surfaceOp?: SurfaceOp; } : object) }[T];"
391
+ "declaration": "export type SessionEvent<T extends SessionEventType = SessionEventType> = { [K in SessionEventType]: { type: K; seq: SessionSeq; time: number; data: SessionEventMap[K]; ignorable?: true; } & (K extends SurfaceEventType ? SurfaceIntent<K> : { surfaceOp?: never; sourceEventSeqs?: never; }) }[T];"
392
392
  },
393
393
  {
394
394
  "name": "SessionEventMap",
395
- "declaration": "export interface SessionEventMap {\n 'turn/start': { turn: number; };\n 'turn/end': { turn: number; reason: TurnEndReason; };\n 'step/start': { turn: number; step: number; };\n 'step/end': { turn: number; step: number; };\n 'user/message': UserMessage;\n 'assistant/message': { turn: number; step: number; message: AssistantMessage; stream: AssistantStreamRecord[]; usage?: TokenUsage; interrupted?: true; };\n 'assistant/attempt': { turn: number; step: number; stream: AssistantStreamRecord[]; };\n 'tool/call': { turn: number; step: number; callId: ToolCallId; name: string; arguments: string; };\n 'tool/result': { turn: number; step: number; message: ToolResultMessage; error?: { name: string; code: string; }; meta?: JsonValue; };\n 'request/header': { header: EpochHeader; reason: RequestHeaderReason; startsSeries?: true; };\n 'request/context': RequestContext;\n 'session/end-seed': { inherited?: true; };\n 'agent/inbox/spliced': { target: InboxTarget; start: number; removedCount?: number; inserted: UserMessage[]; outcome?: 'canceled'; };\n 'approval/asked': { id: ApprovalRequestId; toolName: string; callId?: ToolCallId; reason?: string; };\n 'approval/decided': { id: ApprovalRequestId; outcome: ApprovalOutcome; };\n 'approval/policy': { policy: ApprovalPolicy; source?: 'delegation'; };\n 'tool/code-dispatch-start': PtcDispatchStartEventData;\n 'tool/code-dispatch': PtcDispatchEventData;\n 'agent-preset/selected': { agentPreset: string; };\n 'command/run': { commandId: CommandId; name: string; args?: string; source: CommandSource; };\n 'command/done': { commandId: CommandId; kind: 'success' | 'error'; text?: string; sourceEventSeq?: import('@deepseek-ai/dsh-session/types').SessionSeq; };\n 'session/title': SessionTitleEventData;\n 'todo/write': { todos: TodoItem[]; };\n 'model/selection': ModelSelection;\n 'subagent/descriptor': SubagentDescriptorData;\n 'sandbox/mode': { mode: SandboxMode; source?: 'delegation'; };\n 'team/member': { version: 2; teamId: TeamId; member: TeamMemberSnapshot; };\n 'team/task': { version: 2; teamId: TeamId; task: TeamTaskSnapshot; };\n 'team/message/queued': { version: 2; teamId: TeamId; message: TeamMessageSnapshot; };\n 'team/message/delivered': { version: 2; teamId: TeamId; messageId: TeamMessageId; targetId: SessionId; };\n 'goal/change': GoalChangeMeta;\n 'feedback/message-put': MessageFeedbackPut;\n 'feedback/message-delete': MessageFeedbackDelete;\n 'compaction/start': { compactionId: CompactionId; sourceCommandId?: CommandId; turn: number | null; };\n 'compaction/summary': { compactionId: CompactionId; sourceCommandId?: CommandId; summary: ContentBlock[]; shadowedRange: { start: SessionSeq; end: SessionSeq; }; shadowedSeqs: SessionSeq[]; shadowedTokenCount: number; provider: string; model: string; maxTokens?: number; usage?: TokenUsage; } & ({ rawOutput: ContentBlock[]; llmStreamCall: true; } | { rawOutput?: ContentBlock[]; llmStreamCall?: never; });\n 'compaction/end': { compactionId: CompactionId; sourceCommandId?: CommandId; turn: number | null; error?: string; };\n 'compaction/prune': { shadowedRange: { start: SessionSeq; end: SessionSeq; }; shadowedSeqs: SessionSeq[]; shadowedTokenCount: number; };\n}"
395
+ "declaration": "export interface SessionEventMap {\n 'turn/start': { turn: number; };\n 'turn/end': { turn: number; reason: TurnEndReason; };\n 'step/start': { turn: number; step: number; };\n 'step/end': { turn: number; step: number; };\n 'user/message': UserMessage;\n 'system/message': { turn: number; step: number; message: SystemMessage; };\n 'assistant/message': { turn: number; step: number; message: AssistantMessage; stream: AssistantStreamRecord[]; usage?: TokenUsage; interrupted?: true; };\n 'assistant/attempt': { turn: number; step: number; stream: AssistantStreamRecord[]; };\n 'tool/call': { turn: number; step: number; callId: ToolCallId; name: string; arguments: string; };\n 'tool/result': { turn: number; step: number; message: ToolResultMessage; error?: { name: string; code: string; }; meta?: JsonValue; };\n 'request/header': { header: EpochHeader; reason: RequestHeaderReason; startsSeries?: true; };\n 'request/context': RequestContext;\n 'session/end-seed': { inherited?: true; };\n 'agent/inbox/spliced': { target: InboxTarget; start: number; removedCount?: number; inserted: UserMessage[]; outcome?: 'canceled'; };\n 'approval/asked': { id: ApprovalRequestId; toolName: string; callId?: ToolCallId; reason?: string; };\n 'approval/decided': { id: ApprovalRequestId; outcome: ApprovalOutcome; };\n 'approval/policy': { policy: ApprovalPolicy; source?: 'delegation'; };\n 'tool/ptc-dispatch-start': PtcDispatchStartEventData;\n 'tool/ptc-dispatch': PtcDispatchEventData;\n 'agent-preset/selected': { agentPreset: string; };\n 'command/run': { commandId: CommandId; name: string; args?: string; source: CommandSource; };\n 'command/done': { commandId: CommandId; kind: 'success' | 'error'; text?: string; sourceEventSeq?: import('@deepseek-ai/dsh-session/types').SessionSeq; };\n 'session/title': SessionTitleEventData;\n 'todo/write': { todos: TodoItem[]; };\n 'model/selection': ModelSelection;\n 'subagent/descriptor': SubagentDescriptorData;\n 'sandbox/mode': { mode: SandboxMode; source?: 'delegation'; };\n 'team/member': { version: 2; teamId: TeamId; member: TeamMemberSnapshot; };\n 'team/task': { version: 2; teamId: TeamId; task: TeamTaskSnapshot; };\n 'team/message/queued': { version: 2; teamId: TeamId; message: TeamMessageSnapshot; };\n 'team/message/delivered': { version: 2; teamId: TeamId; messageId: TeamMessageId; targetId: SessionId; };\n 'goal/change': GoalChangeMeta;\n 'feedback/message-put': MessageFeedbackPut;\n 'feedback/message-delete': MessageFeedbackDelete;\n 'compaction/start': { compactionId: CompactionId; sourceCommandId?: CommandId; turn: number | null; };\n 'compaction/summary': { compactionId: CompactionId; sourceCommandId?: CommandId; summary: ContentBlock[]; shadowedRange: { start: SessionSeq; end: SessionSeq; }; shadowedSeqs: SessionSeq[]; shadowedTokenCount: number; provider: string; model: string; maxTokens?: number; usage?: TokenUsage; } & ({ rawOutput: ContentBlock[]; llmStreamCall: true; } | { rawOutput?: ContentBlock[]; llmStreamCall?: never; });\n 'compaction/end': { compactionId: CompactionId; sourceCommandId?: CommandId; turn: number | null; error?: string; };\n 'compaction/prune': { shadowedRange: { start: SessionSeq; end: SessionSeq; }; shadowedSeqs: SessionSeq[]; shadowedTokenCount: number; };\n}"
396
396
  },
397
397
  {
398
398
  "name": "SessionEventType",
@@ -476,7 +476,7 @@ export const TYPERT = {
476
476
  },
477
477
  {
478
478
  "name": "SurfaceEventType",
479
- "declaration": "export type SurfaceEventType = 'user/message' | 'assistant/message' | 'tool/result';"
479
+ "declaration": "export type SurfaceEventType = 'system/message' | 'user/message' | 'assistant/message' | 'tool/result';"
480
480
  },
481
481
  {
482
482
  "name": "SurfaceIntent",
@@ -484,7 +484,15 @@ export const TYPERT = {
484
484
  },
485
485
  {
486
486
  "name": "SurfaceOp",
487
- "declaration": "export type SurfaceOp = 'append' | { op: 'replace'; start: SessionSeq; end: SessionSeq; };"
487
+ "declaration": "export type SurfaceOp = 'append' | { op: 'replace'; startSeq: SessionSeq; endSeq: SessionSeq; };"
488
+ },
489
+ {
490
+ "name": "SystemMessage",
491
+ "declaration": "export interface SystemMessage extends Message {\n readonly role: 'system';\n readonly source: MessageSourceMap['plugin'];\n}"
492
+ },
493
+ {
494
+ "name": "SystemPromptUpdate",
495
+ "declaration": "export type SystemPromptUpdate = 'in-history';"
488
496
  },
489
497
  {
490
498
  "name": "TeamId",
@@ -24,6 +24,7 @@ function projectSessionConversation(snapshot) {
24
24
  conversation.push({ role: 'assistant', text, checkpoint: false, originalText: text, omittedBytes: 0 });
25
25
  break;
26
26
  }
27
+ case 'system/message':
27
28
  case 'tool/result':
28
29
  break;
29
30
  /* v8 ignore next 2 -- SurfaceEventType is closed and every variant is handled above. */
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@deepseek-ai/dsh-session-reference",
3
3
  "description": "Cross-session snapshot references and durable untrusted model context (ctx.sessionReferenceResolver)",
4
- "version": "0.1.3-alpha.2",
4
+ "version": "0.1.5-alpha.1",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -45,24 +45,24 @@
45
45
  "license": "MIT",
46
46
  "dependencies": {
47
47
  "zod": "^4.4.3",
48
- "@deepseek-ai/dsh-brand": "^0.1.3-alpha.2",
49
- "@deepseek-ai/dsh-util-values": "^0.1.3-alpha.2",
48
+ "@deepseek-ai/dsh-brand": "^0.1.5-alpha.1",
49
+ "@deepseek-ai/dsh-util-values": "^0.1.5-alpha.1",
50
50
  "@deepseek-ai/schemastery": "^3.18.2"
51
51
  },
52
52
  "peerDependencies": {
53
+ "@deepseek-ai/dsh-agent": "^0.1.5-alpha.1",
53
54
  "@deepseek-ai/cordis": "^4.0.2",
54
- "@deepseek-ai/dsh-agent": "^0.1.3-alpha.2",
55
- "@deepseek-ai/dsh-compaction": "^0.1.3-alpha.2",
56
- "@deepseek-ai/dsh-llm": "^0.1.3-alpha.2",
57
- "@deepseek-ai/dsh-output-retention": "^0.1.3-alpha.2",
58
- "@deepseek-ai/dsh-session": "^0.1.3-alpha.2",
59
- "@deepseek-ai/dsh-session-projection": "^0.1.3-alpha.2",
60
- "@deepseek-ai/dsh-session-projection-cache": "^0.1.3-alpha.2",
61
- "@deepseek-ai/dsh-session-query": "^0.1.3-alpha.2",
62
- "@deepseek-ai/dsh-session-title": "^0.1.3-alpha.2",
63
- "@deepseek-ai/dsh-spill": "^0.1.3-alpha.2",
64
- "@deepseek-ai/dsh-system-prompt": "^0.1.3-alpha.2",
65
- "@deepseek-ai/dsh-typert-protocol": "^0.1.3-alpha.2"
55
+ "@deepseek-ai/dsh-compaction": "^0.1.5-alpha.1",
56
+ "@deepseek-ai/dsh-llm": "^0.1.5-alpha.1",
57
+ "@deepseek-ai/dsh-output-retention": "^0.1.5-alpha.1",
58
+ "@deepseek-ai/dsh-session-projection": "^0.1.5-alpha.1",
59
+ "@deepseek-ai/dsh-session-projection-cache": "^0.1.5-alpha.1",
60
+ "@deepseek-ai/dsh-session-query": "^0.1.5-alpha.1",
61
+ "@deepseek-ai/dsh-session-title": "^0.1.5-alpha.1",
62
+ "@deepseek-ai/dsh-spill": "^0.1.5-alpha.1",
63
+ "@deepseek-ai/dsh-typert-protocol": "^0.1.5-alpha.1",
64
+ "@deepseek-ai/dsh-session": "^0.1.5-alpha.1",
65
+ "@deepseek-ai/dsh-system-prompt": "^0.1.5-alpha.1"
66
66
  },
67
67
  "peerDependenciesMeta": {
68
68
  "@deepseek-ai/dsh-spill": {
@@ -76,22 +76,22 @@
76
76
  "@deepseek-ai/cordis": "^4.0.2",
77
77
  "@deepseek-ai/cordis-plugin-include": "^1.0.7",
78
78
  "@deepseek-ai/cordis-plugin-loader": "^1.0.3",
79
- "@deepseek-ai/dsh-agent": "^0.1.3-alpha.2",
80
- "@deepseek-ai/dsh-fs-local": "^0.1.3-alpha.2",
81
- "@deepseek-ai/dsh-llm": "^0.1.3-alpha.2",
82
- "@deepseek-ai/dsh-output-retention": "^0.1.3-alpha.2",
83
- "@deepseek-ai/dsh-session": "^0.1.3-alpha.2",
84
- "@deepseek-ai/dsh-session-projection": "^0.1.3-alpha.2",
85
- "@deepseek-ai/dsh-session-projection-cache": "^0.1.3-alpha.2",
86
- "@deepseek-ai/dsh-compaction": "^0.1.3-alpha.2",
87
- "@deepseek-ai/dsh-session-query-sqlite": "^0.1.3-alpha.2",
88
- "@deepseek-ai/dsh-session-title": "^0.1.3-alpha.2",
89
- "@deepseek-ai/dsh-spill": "^0.1.3-alpha.2",
90
- "@deepseek-ai/dsh-spill-local": "^0.1.3-alpha.2",
91
- "@deepseek-ai/dsh-system-prompt": "^0.1.3-alpha.2",
92
- "@deepseek-ai/dsh-tool-fs": "^0.1.3-alpha.2",
93
- "@deepseek-ai/dsh-tools": "^0.1.3-alpha.2",
94
- "@deepseek-ai/dsh-typert-protocol": "^0.1.3-alpha.2",
95
- "@deepseek-ai/dsh-session-query": "^0.1.3-alpha.2"
79
+ "@deepseek-ai/dsh-agent": "^0.1.5-alpha.1",
80
+ "@deepseek-ai/dsh-compaction": "^0.1.5-alpha.1",
81
+ "@deepseek-ai/dsh-fs-local": "^0.1.5-alpha.1",
82
+ "@deepseek-ai/dsh-llm": "^0.1.5-alpha.1",
83
+ "@deepseek-ai/dsh-session": "^0.1.5-alpha.1",
84
+ "@deepseek-ai/dsh-session-projection": "^0.1.5-alpha.1",
85
+ "@deepseek-ai/dsh-output-retention": "^0.1.5-alpha.1",
86
+ "@deepseek-ai/dsh-session-projection-cache": "^0.1.5-alpha.1",
87
+ "@deepseek-ai/dsh-session-query-sqlite": "^0.1.5-alpha.1",
88
+ "@deepseek-ai/dsh-spill": "^0.1.5-alpha.1",
89
+ "@deepseek-ai/dsh-session-query": "^0.1.5-alpha.1",
90
+ "@deepseek-ai/dsh-spill-local": "^0.1.5-alpha.1",
91
+ "@deepseek-ai/dsh-session-title": "^0.1.5-alpha.1",
92
+ "@deepseek-ai/dsh-tools": "^0.1.5-alpha.1",
93
+ "@deepseek-ai/dsh-tool-fs": "^0.1.5-alpha.1",
94
+ "@deepseek-ai/dsh-typert-protocol": "^0.1.5-alpha.1",
95
+ "@deepseek-ai/dsh-system-prompt": "^0.1.5-alpha.1"
96
96
  }
97
97
  }