@deepseek-ai/dsh-agent-presets 0.1.2-alpha.5 → 0.1.3-alpha.2

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/README.i18n.yaml CHANGED
@@ -2,5 +2,5 @@
2
2
  # side as of the last confirmed-consistent state. Both languages carry equal authority;
3
3
  # after editing either side, bring the other along and re-record with:
4
4
  # pnpm run verify-translation-pairing --write packages/preset/agent-presets/README.md
5
- README.md: 5ddc40cc28a28429522ed324e114134cb59210ff
6
- README.zh.md: bdb187e7f7aeb9c529bc073de85ec1bb2d3b463a
5
+ README.md: 9797a998e0a29ae33ed00d55590556b5fc3ef1a9
6
+ README.zh.md: 86d392ce8b20ea1ed9468a8c4ee2332824a4d851
package/README.md CHANGED
@@ -149,7 +149,6 @@ Read these pages when the package-level contract is not enough; they move from t
149
149
  - [Session package map](../../session/README.md) — the durable session record a preset switch appends to.
150
150
  - [Generated configuration catalog](../../../docs/config-catalog.md#deepseek-aidsh-agent-presets) — every accepted config field and its source declaration.
151
151
  - [Per-session agent presets note](../../../.agents/notes/implemented/architecture/2026-08-03-per-session-agent-presets.md) — design rationale and alternatives.
152
- - [Per-preset standing mounts note](../../../.agents/notes/implemented/architecture/2026-08-08-per-preset-standing-mounts.md) — why the mount is standing and shared.
153
152
 
154
153
  -----
155
154
 
package/README.zh.md CHANGED
@@ -149,7 +149,6 @@ agent-presets:
149
149
  - [会话包映射](../../session/README.zh.md)——preset 切换所追加的持久会话记录。
150
150
  - [生成的配置目录](../../../docs/config-catalog.zh.md#deepseek-aidsh-agent-presets)——每个受支持配置字段及其源声明。
151
151
  - [按会话组装 agent preset 的 Agent Note](../../../.agents/notes/implemented/architecture/2026-08-03-per-session-agent-presets.zh.md)——设计理由与备选方案。
152
- - [按 preset 常驻挂载的 Agent Note](../../../.agents/notes/implemented/architecture/2026-08-08-per-preset-standing-mounts.zh.md)——挂载为何是常驻且共享的。
153
152
 
154
153
  -----
155
154
 
@@ -408,6 +408,10 @@ export const TYPERT = {
408
408
  "name": "AssistantProvenance",
409
409
  "declaration": "export interface AssistantProvenance {\n provider: string;\n model: string;\n replayState?: unknown;\n}"
410
410
  },
411
+ {
412
+ "name": "AssistantStreamRecord",
413
+ "declaration": "export type AssistantStreamRecord = { readonly type: 'text-chunks'; readonly time0: number; readonly index: number; readonly dt: readonly number[]; readonly texts: readonly string[]; } | { readonly type: 'reasoning-chunks'; readonly time0: number; readonly index: number; readonly dt: readonly number[]; readonly texts: readonly string[]; } | { readonly type: 'tool-call-chunks'; readonly time0: number; readonly index: number; readonly dt: readonly number[]; readonly id: ToolCallId; readonly name?: string; readonly args: readonly string[]; } | { readonly type: 'chunk'; readonly time: number; readonly chunk: StreamChunk; };"
414
+ },
411
415
  {
412
416
  "name": "AttachmentId",
413
417
  "declaration": "export type AttachmentId = Branded<'AttachmentId'>;"
@@ -450,7 +454,7 @@ export const TYPERT = {
450
454
  },
451
455
  {
452
456
  "name": "ContentBlockMap",
453
- "declaration": "export interface ContentBlockMap {\n text: TextBlock;\n reasoning: ReasoningBlock;\n image: ImageBlock;\n 'tool-call': ToolCallBlock;\n 'tool-result': ToolResultBlock;\n}"
457
+ "declaration": "export interface ContentBlockMap {\n text: TextBlock;\n reasoning: ReasoningBlock;\n image: ImageBlock;\n file: FileBlock;\n 'tool-call': ToolCallBlock;\n 'tool-result': ToolResultBlock;\n}"
454
458
  },
455
459
  {
456
460
  "name": "ContentBlockType",
@@ -472,6 +476,14 @@ export const TYPERT = {
472
476
  "name": "EpochHeader",
473
477
  "declaration": "export interface EpochHeader {\n config: LlmCallConfig;\n adapterDefaults?: LlmCallConfigAdapterDefaults;\n system?: string;\n tools?: ToolSchema[];\n}"
474
478
  },
479
+ {
480
+ "name": "FileAttachmentRef",
481
+ "declaration": "export interface FileAttachmentRef {\n attachmentId: AttachmentId;\n name: string;\n bytes: number;\n}"
482
+ },
483
+ {
484
+ "name": "FileBlock",
485
+ "declaration": "export interface FileBlock {\n type: 'file';\n attachment: FileAttachmentRef;\n}"
486
+ },
475
487
  {
476
488
  "name": "FinishReason",
477
489
  "declaration": "export type FinishReason = FinishReasonMap[keyof FinishReasonMap];"
@@ -560,6 +572,26 @@ export const TYPERT = {
560
572
  "name": "Message",
561
573
  "declaration": "export interface Message {\n readonly id: MessageId;\n readonly role: 'system' | 'user' | 'assistant';\n readonly content: ContentBlock[];\n readonly source: MessageSource;\n}"
562
574
  },
575
+ {
576
+ "name": "MessageFeedbackDelete",
577
+ "declaration": "export interface MessageFeedbackDelete {\n readonly sessionId: SessionId;\n readonly messageId: MessageId;\n}"
578
+ },
579
+ {
580
+ "name": "MessageFeedbackItem",
581
+ "declaration": "export interface MessageFeedbackItem {\n readonly messageId: MessageId;\n readonly rating: MessageFeedbackRating;\n readonly note?: string;\n readonly version: MessageFeedbackVersion;\n readonly createdAt: number;\n readonly updatedAt: number;\n}"
582
+ },
583
+ {
584
+ "name": "MessageFeedbackPut",
585
+ "declaration": "export interface MessageFeedbackPut {\n readonly sessionId: SessionId;\n readonly item: MessageFeedbackItem;\n}"
586
+ },
587
+ {
588
+ "name": "MessageFeedbackRating",
589
+ "declaration": "export type MessageFeedbackRating = 'positive' | 'negative';"
590
+ },
591
+ {
592
+ "name": "MessageFeedbackVersion",
593
+ "declaration": "export type MessageFeedbackVersion = Branded<'MessageFeedbackVersion'>;"
594
+ },
563
595
  {
564
596
  "name": "MessageId",
565
597
  "declaration": "export type MessageId = Branded<'MessageId'>;"
@@ -638,7 +670,7 @@ export const TYPERT = {
638
670
  },
639
671
  {
640
672
  "name": "Session",
641
- "declaration": "export class Session {\n get surface(): SessionSurface;\n readonly header: SessionHeader;\n readonly inheritedEventCount: SessionLogOffset;\n get id(): SessionId;\n readonly firstLiveSeq: SessionLogOffset;\n eventAt(seq: SessionSeq): SessionEvent | undefined;\n snapshotEvents(fromSeq: SessionLogOffset = SessionLogOffset(0), toSeqExclusive: SessionLogOffset = this.seq): readonly SessionEvent[];\n ownEvents(): readonly SessionEvent[];\n isOwnSeq(seq: SessionSeq): boolean;\n get seq(): SessionLogOffset;\n append<T extends SessionEventType>(type: T, data: SessionEventMap[T], ...opts: T extends SurfaceEventType ? [opts: SurfaceIntent] : []): SessionEvent<T>;\n requestHeader(): EpochHeader | undefined;\n requestContext(): RequestContext | undefined;\n deriveMessages(): Message[];\n deriveEventMessage(event: SessionEvent): Message | null;\n}"
673
+ "declaration": "export class Session {\n get surface(): SessionSurface;\n readonly header: SessionHeader;\n readonly inheritedEventCount: SessionLogOffset;\n get id(): SessionId;\n readonly firstLiveSeq: SessionLogOffset;\n eventAt(seq: SessionSeq): SessionEvent | undefined;\n snapshotEvents(fromSeq: SessionLogOffset = SessionLogOffset(0), toSeqExclusive: SessionLogOffset = this.seq): readonly SessionEvent[];\n ownEvents(): readonly SessionEvent[];\n isOwnSeq(seq: SessionSeq): boolean;\n get seq(): SessionLogOffset;\n append<T extends SessionEventType>(type: T, data: SessionEventMap[T], ...opts: T extends SurfaceEventType ? [opts: SurfaceIntent<T>] : []): SessionEvent<T>;\n requestHeader(): EpochHeader | undefined;\n requestContext(): RequestContext | undefined;\n deriveMessages(): Message[];\n deriveEventMessage(event: SessionEvent): Message | null;\n}"
642
674
  },
643
675
  {
644
676
  "name": "SessionEvent",
@@ -646,7 +678,7 @@ export const TYPERT = {
646
678
  },
647
679
  {
648
680
  "name": "SessionEventMap",
649
- "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/chunk': { turn: number; step: number; chunk: StreamChunk; };\n 'assistant/message': { turn: number; step: number; message: AssistantMessage; usage?: TokenUsage; interrupted?: true; };\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': Record<string, never>;\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 'session/title': SessionTitleEventData;\n 'todo/write': { todos: TodoItem[]; };\n 'model/selection': ModelSelection;\n 'subagent/descriptor': SubagentDescriptorData;\n 'sandbox/mode': { mode: SandboxMode; source?: 'delegation'; };\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 'team/member': { version: 1; teamId: TeamId; member: TeamMemberSnapshot; };\n 'team/task': { version: 1; teamId: TeamId; task: TeamTaskSnapshot; };\n 'team/message/queued': { version: 1; teamId: TeamId; message: TeamMessageSnapshot; };\n 'team/message/delivered': { version: 1; teamId: TeamId; messageId: TeamMessageId; targetId: SessionId; };\n 'goal/change': GoalChangeMeta;\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}"
681
+ "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}"
650
682
  },
651
683
  {
652
684
  "name": "SessionEventType",
@@ -654,7 +686,7 @@ export const TYPERT = {
654
686
  },
655
687
  {
656
688
  "name": "SessionHeader",
657
- "declaration": "export interface SessionHeader {\n readonly version: number;\n readonly id: SessionId;\n readonly createdAt: number;\n readonly cwd?: string;\n readonly parentSession?: SessionId;\n readonly isSeeded: boolean;\n readonly origin?: 'subagent';\n readonly delegationDepth?: number;\n readonly agentPreset?: string;\n}"
689
+ "declaration": "export interface SessionHeader {\n readonly version: typeof SESSION_FORMAT_VERSION;\n readonly id: SessionId;\n readonly createdAt: number;\n readonly cwd?: string;\n readonly parentSession?: SessionId;\n readonly isSeeded: boolean;\n readonly origin?: 'subagent';\n readonly delegationDepth?: number;\n readonly agentPreset?: string;\n}"
658
690
  },
659
691
  {
660
692
  "name": "SessionId",
@@ -666,7 +698,7 @@ export const TYPERT = {
666
698
  },
667
699
  {
668
700
  "name": "SessionReferenceSource",
669
- "declaration": "export interface SessionReferenceSource {\n kind: 'session-reference';\n form: 'recall';\n version: 1;\n references: { sessionId: string; label: string; capturedThroughSeq: OptionalSessionSeq; compacted: boolean; originalMessages: number; retainedMessages: number; omittedMessages: number; omittedBytes: number; truncated: boolean; inputIndex: number; }[];\n}"
701
+ "declaration": "export interface SessionReferenceSource {\n kind: 'session-reference';\n form: 'recall';\n version: 1;\n references: { sessionId: string; label: string; capturedFormatVersion?: number; capturedThroughSeq: OptionalSessionSeq; compacted: boolean; originalMessages: number; retainedMessages: number; omittedMessages: number; omittedBytes: number; truncated: boolean; inputIndex: number; }[];\n}"
670
702
  },
671
703
  {
672
704
  "name": "SessionRequestId",
@@ -722,7 +754,7 @@ export const TYPERT = {
722
754
  },
723
755
  {
724
756
  "name": "SurfaceIntent",
725
- "declaration": "export interface SurfaceIntent {\n surfaceOp: SurfaceOp;\n sourceEventSeqs?: SessionSeq[];\n}"
757
+ "declaration": "export type SurfaceIntent<T extends SurfaceEventType = SurfaceEventType> = { surfaceOp: SurfaceOp; } & (T extends 'assistant/message' ? { sourceEventSeqs?: never; } : { sourceEventSeqs?: SessionSeq[]; });"
726
758
  },
727
759
  {
728
760
  "name": "SurfaceOp",
@@ -746,7 +778,7 @@ export const TYPERT = {
746
778
  },
747
779
  {
748
780
  "name": "TeamMessageSnapshot",
749
- "declaration": "export interface TeamMessageSnapshot {\n readonly id: TeamMessageId;\n readonly senderId: SessionId;\n readonly senderName: string;\n readonly targetId: SessionId;\n readonly delivery: 'quiet' | 'wakeup';\n readonly content: ContentBlock[];\n}"
781
+ "declaration": "export interface TeamMessageSnapshot {\n readonly id: TeamMessageId;\n readonly senderId: SessionId;\n readonly senderName: string;\n readonly targetId: SessionId;\n readonly content: ContentBlock[];\n}"
750
782
  },
751
783
  {
752
784
  "name": "TeamMessageSource",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@deepseek-ai/dsh-agent-presets",
3
3
  "description": "Per-session agent composition from preset cordis.yml files for the DeepSeek Harness",
4
- "version": "0.1.2-alpha.5",
4
+ "version": "0.1.3-alpha.2",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -55,18 +55,18 @@
55
55
  "license": "MIT",
56
56
  "peerDependencies": {
57
57
  "@deepseek-ai/cordis-plugin-include": "^1.0.7",
58
+ "@deepseek-ai/dsh-agent": "^0.1.3-alpha.2",
59
+ "@deepseek-ai/dsh-atomic-write": "^0.1.3-alpha.2",
60
+ "@deepseek-ai/dsh-invariants": "^0.1.3-alpha.2",
58
61
  "@deepseek-ai/cordis-plugin-loader": "^1.0.3",
59
- "@deepseek-ai/dsh-agent": "^0.1.2-alpha.5",
60
- "@deepseek-ai/dsh-atomic-write": "^0.1.2-alpha.5",
61
- "@deepseek-ai/dsh-invariants": "^0.1.2-alpha.5",
62
- "@deepseek-ai/dsh-home-paths": "^0.1.2-alpha.5",
63
- "@deepseek-ai/dsh-scope": "^0.1.2-alpha.5",
64
- "@deepseek-ai/dsh-session": "^0.1.2-alpha.5",
65
- "@deepseek-ai/dsh-session-projection": "^0.1.2-alpha.5",
66
- "@deepseek-ai/dsh-settings": "^0.1.2-alpha.5",
67
- "@deepseek-ai/dsh-system-prompt": "^0.1.2-alpha.5",
68
- "@deepseek-ai/dsh-tools": "^0.1.2-alpha.5",
69
- "@deepseek-ai/dsh-typert-protocol": "^0.1.2-alpha.5",
62
+ "@deepseek-ai/dsh-scope": "^0.1.3-alpha.2",
63
+ "@deepseek-ai/dsh-settings": "^0.1.3-alpha.2",
64
+ "@deepseek-ai/dsh-session-projection": "^0.1.3-alpha.2",
65
+ "@deepseek-ai/dsh-system-prompt": "^0.1.3-alpha.2",
66
+ "@deepseek-ai/dsh-home-paths": "^0.1.3-alpha.2",
67
+ "@deepseek-ai/dsh-session": "^0.1.3-alpha.2",
68
+ "@deepseek-ai/dsh-tools": "^0.1.3-alpha.2",
69
+ "@deepseek-ai/dsh-typert-protocol": "^0.1.3-alpha.2",
70
70
  "@deepseek-ai/cordis": "^4.0.2"
71
71
  },
72
72
  "dependencies": {
@@ -76,22 +76,22 @@
76
76
  },
77
77
  "devDependencies": {
78
78
  "@deepseek-ai/cordis-plugin-group": "^1.0.2",
79
- "@deepseek-ai/cordis-plugin-include": "^1.0.7",
80
79
  "@deepseek-ai/cordis-plugin-loader": "^1.0.3",
81
- "@deepseek-ai/dsh-agent-loop": "^0.1.2-alpha.5",
82
- "@deepseek-ai/dsh-agent": "^0.1.2-alpha.5",
83
- "@deepseek-ai/dsh-atomic-write": "^0.1.2-alpha.5",
84
- "@deepseek-ai/dsh-invariants": "^0.1.2-alpha.5",
85
- "@deepseek-ai/dsh-llm": "^0.1.2-alpha.5",
86
- "@deepseek-ai/dsh-scope": "^0.1.2-alpha.5",
87
- "@deepseek-ai/dsh-session": "^0.1.2-alpha.5",
88
- "@deepseek-ai/dsh-session-projection": "^0.1.2-alpha.5",
89
- "@deepseek-ai/dsh-settings": "^0.1.2-alpha.5",
90
- "@deepseek-ai/dsh-settings-file": "^0.1.2-alpha.5",
91
- "@deepseek-ai/dsh-system-prompt": "^0.1.2-alpha.5",
92
- "@deepseek-ai/dsh-tools": "^0.1.2-alpha.5",
80
+ "@deepseek-ai/dsh-agent": "^0.1.3-alpha.2",
81
+ "@deepseek-ai/dsh-agent-loop": "^0.1.3-alpha.2",
82
+ "@deepseek-ai/cordis-plugin-include": "^1.0.7",
83
+ "@deepseek-ai/dsh-atomic-write": "^0.1.3-alpha.2",
84
+ "@deepseek-ai/dsh-llm": "^0.1.3-alpha.2",
85
+ "@deepseek-ai/dsh-invariants": "^0.1.3-alpha.2",
86
+ "@deepseek-ai/dsh-home-paths": "^0.1.3-alpha.2",
87
+ "@deepseek-ai/dsh-scope": "^0.1.3-alpha.2",
88
+ "@deepseek-ai/dsh-session": "^0.1.3-alpha.2",
89
+ "@deepseek-ai/dsh-session-projection": "^0.1.3-alpha.2",
90
+ "@deepseek-ai/dsh-settings-file": "^0.1.3-alpha.2",
91
+ "@deepseek-ai/dsh-typert-protocol": "^0.1.3-alpha.2",
93
92
  "@deepseek-ai/cordis": "^4.0.2",
94
- "@deepseek-ai/dsh-typert-protocol": "^0.1.2-alpha.5",
95
- "@deepseek-ai/dsh-home-paths": "^0.1.2-alpha.5"
93
+ "@deepseek-ai/dsh-tools": "^0.1.3-alpha.2",
94
+ "@deepseek-ai/dsh-system-prompt": "^0.1.3-alpha.2",
95
+ "@deepseek-ai/dsh-settings": "^0.1.3-alpha.2"
96
96
  }
97
97
  }
@@ -17,8 +17,9 @@
17
17
  - id: persona
18
18
  name: '@deepseek-ai/dsh-persona'
19
19
  config:
20
- text: |-
21
- You are a coding agent powered by the {{model}} model, running on the DeepSeek Harness. Your working directory is {{cwd}}.
20
+ suffix: Your working directory is {{cwd}}.
21
+ prefix: |-
22
+ You are a coding agent powered by the {{model}} model, running on the DeepSeek Harness.
22
23
 
23
24
  You can read and modify the harness you run on. Its composition is Cordis: every capability is a plugin row in a `cordis.yml`, and an agent preset is one such file mounted for a single session.
24
25
 
@@ -9,7 +9,7 @@
9
9
  - id: persona
10
10
  name: '@deepseek-ai/dsh-persona'
11
11
  config:
12
- text: You are a helpful software engineer assistant.
12
+ prefix: You are a helpful software engineer assistant.
13
13
  complete: true
14
14
  includeRuntimeContext: false
15
15
 
@@ -31,8 +31,9 @@
31
31
  - id: persona
32
32
  name: '@deepseek-ai/dsh-persona'
33
33
  config:
34
- text: >-
35
- You are a coding agent powered by the {{model}} model. Your working directory is {{cwd}}.
34
+ suffix: Your working directory is {{cwd}}.
35
+ prefix: >-
36
+ You are a coding agent powered by the {{model}} model.
36
37
 
37
38
  - id: agent-instructions
38
39
  name: '@deepseek-ai/dsh-agent-instructions'
@@ -24,8 +24,9 @@
24
24
  - id: persona
25
25
  name: '@deepseek-ai/dsh-persona'
26
26
  config:
27
- text: >-
28
- You are a coding agent powered by the {{model}} model. Your working directory is {{cwd}}.
27
+ suffix: Your working directory is {{cwd}}.
28
+ prefix: >-
29
+ You are a coding agent powered by the {{model}} model.
29
30
 
30
31
  - id: agent-instructions
31
32
  name: '@deepseek-ai/dsh-agent-instructions'