@deepseek-ai/dsh-goal 0.1.7-alpha.2 → 0.1.7-rc.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
@@ -1,6 +1,73 @@
1
- # Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each
2
- # side as of the last confirmed-consistent state. Both languages carry equal authority;
3
- # after editing either side, bring the other along and re-record with:
1
+ # Bilingual-pair consistency record for README.md (docs/i18n/README.md): per heading
2
+ # section, a hash of its English and Chinese blocks outside code blocks and generated regions.
3
+ # After editing either side, bring the other along and re-record with:
4
4
  # pnpm run verify-translation-pairing --write packages/goal/goal/README.md
5
- README.md: 8c282dd94ce0548eed426e33f08e509a0cafd800
6
- README.zh.md: a5b3f7d71365fd01fd99556024cbf948af81c8a8
5
+ /:
6
+ en: 6509c63744950c59
7
+ zh: b7d4e056e0591155
8
+ /deepseek-ai-dsh-goal:
9
+ en: b8f42df479869337
10
+ zh: 76a71bddc87da324
11
+ /deepseek-ai-dsh-goal/summary:
12
+ en: 31ad6391c24650bd
13
+ zh: e52f84b741d192b4
14
+ /deepseek-ai-dsh-goal/table-of-contents:
15
+ en: d152484eb41ac6b4
16
+ zh: 09388d293f9be9cb
17
+ /deepseek-ai-dsh-goal/use-this-package:
18
+ en: 95829ddf63e72e3e
19
+ zh: 9bd77a0ce737b2b0
20
+ /deepseek-ai-dsh-goal/use-this-package/when-to-use-it:
21
+ en: 44fbecf68641514a
22
+ zh: afa1720f5128cf1b
23
+ /deepseek-ai-dsh-goal/use-this-package/set-up-the-service:
24
+ en: 81d959eecdec4bbd
25
+ zh: ff47fb2cba8f1e73
26
+ /deepseek-ai-dsh-goal/use-this-package/session-projection:
27
+ en: 251f84f8959a2072
28
+ zh: c57a4d252e12b128
29
+ /deepseek-ai-dsh-goal/use-this-package/drive-the-lifecycle:
30
+ en: 622890ced87a44e9
31
+ zh: 6ba1f3f872400452
32
+ /deepseek-ai-dsh-goal/use-this-package/what-survives-and-what-does-not:
33
+ en: e5cd2097500a9027
34
+ zh: 3ecae388f839c944
35
+ /deepseek-ai-dsh-goal/use-this-package/observing-a-goal:
36
+ en: 3074e4c76de81d22
37
+ zh: 10134afe344dafb3
38
+ /deepseek-ai-dsh-goal/understand-the-implementation:
39
+ en: 592af7e68423bd1c
40
+ zh: 9b1f08393db1b14e
41
+ /deepseek-ai-dsh-goal/understand-the-implementation/design:
42
+ en: 6f19e891ffc79754
43
+ zh: 9599e3b142f1e6b5
44
+ /deepseek-ai-dsh-goal/understand-the-implementation/source-map:
45
+ en: f0451101cf73da7d
46
+ zh: 73176ab69bb63a7f
47
+ /deepseek-ai-dsh-goal/understand-the-implementation/events-and-attribution:
48
+ en: 502cf61dba8b22ca
49
+ zh: 2b6f672bb2ac84ba
50
+ /deepseek-ai-dsh-goal/further-exploration:
51
+ en: d94098c1e3f3c8cf
52
+ zh: f4be4de55703097a
53
+ /deepseek-ai-dsh-goal/model-experience:
54
+ en: 215e7ba838619b7b
55
+ zh: a311da3843709f90
56
+ /deepseek-ai-dsh-goal/model-experience/goal-state-mutations:
57
+ en: 6e6274de7991ef9e
58
+ zh: be2048ca18b3cbab
59
+ /deepseek-ai-dsh-goal/model-experience/goal-state-mutations/what-the-model-sees:
60
+ en: 7f3f6cf3e85ca188
61
+ zh: 758596ce93635eab
62
+ /deepseek-ai-dsh-goal/model-experience/goal-state-mutations/token-effect:
63
+ en: 5c3d2b320679252b
64
+ zh: 67156a0cec8c8e60
65
+ /deepseek-ai-dsh-goal/model-experience/goal-state-mutations/kv-cache-effect:
66
+ en: 5fcc49f70cf6604d
67
+ zh: 39a3ba8fcdfba009
68
+ /deepseek-ai-dsh-goal/known-limitations-and-deferred-work:
69
+ en: c116ddcdd86c93df
70
+ zh: aa0430d35e8604ff
71
+ /deepseek-ai-dsh-goal/known-limitations-and-deferred-work/dev-note:
72
+ en: 0b672d0c3b09cd5d
73
+ zh: 8f5d79353a6e5d63
@@ -513,6 +513,10 @@ export const TYPERT = {
513
513
  }
514
514
  ],
515
515
  "types": [
516
+ {
517
+ "name": "AfterScheduleRecord",
518
+ "declaration": "export interface AfterScheduleRecord {\n readonly id: ScheduleId;\n readonly kind: 'after';\n readonly title: string;\n readonly prompt: string;\n readonly afterSeconds: number;\n readonly scheduledAt: string;\n}"
519
+ },
516
520
  {
517
521
  "name": "Agent",
518
522
  "declaration": "export interface Agent {\n readonly id: SessionId;\n readonly options: AgentOptions;\n readonly session: Session;\n readonly inbox: Inbox;\n readonly status: AgentStatus;\n readonly ctx: Context;\n cancel(cause: AgentCancelCause, options?: CancelOptions): void;\n whenIdle(): Promise<void>;\n runMaintenance<T>(task: (signal: AbortSignal) => Promise<T>): Promise<T>;\n send(message: UserMessage, target: InboxTarget, wakeup: boolean): void;\n followup(message: UserMessage): void;\n steer(message: UserMessage): void;\n inject(message: UserMessage): void;\n}"
@@ -557,6 +561,10 @@ export const TYPERT = {
557
561
  "name": "AssistantStreamRecord",
558
562
  "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; };"
559
563
  },
564
+ {
565
+ "name": "AtScheduleRecord",
566
+ "declaration": "export interface AtScheduleRecord {\n readonly id: ScheduleId;\n readonly kind: 'at';\n readonly title: string;\n readonly prompt: string;\n readonly scheduledAt: string;\n}"
567
+ },
560
568
  {
561
569
  "name": "AttachmentId",
562
570
  "declaration": "export type AttachmentId = Branded<'AttachmentId'>;"
@@ -637,6 +645,14 @@ export const TYPERT = {
637
645
  "name": "EpochHeader",
638
646
  "declaration": "export interface EpochHeader {\n config: LlmCallConfig;\n adapterDefaults?: LlmCallConfigAdapterDefaults;\n tools?: ToolSchema[];\n system?: never;\n}"
639
647
  },
648
+ {
649
+ "name": "EveryScheduleDispatchChange",
650
+ "declaration": "export interface EveryScheduleDispatchChange {\n readonly version: 1;\n readonly operation: 'dispatch';\n readonly id: ScheduleId;\n readonly acceptedAt: string;\n}"
651
+ },
652
+ {
653
+ "name": "EveryScheduleRecord",
654
+ "declaration": "export interface EveryScheduleRecord {\n readonly id: ScheduleId;\n readonly kind: 'every';\n readonly title: string;\n readonly prompt: string;\n readonly everySeconds: number;\n readonly scheduledAt: string;\n}"
655
+ },
640
656
  {
641
657
  "name": "FeedbackCategory",
642
658
  "declaration": "export type FeedbackCategory = 'task-result' | 'instruction-following' | 'product-interaction' | 'service-stability' | 'resource-cost' | 'security-privacy-permission' | 'other';"
@@ -741,6 +757,22 @@ export const TYPERT = {
741
757
  "name": "KnownCatalogMode",
742
758
  "declaration": "export type KnownCatalogMode = { readonly mode: 'one-shot'; readonly label?: string; } | { readonly mode: 'continuable'; readonly label: string; };"
743
759
  },
760
+ {
761
+ "name": "LegacyAfterScheduleRecord",
762
+ "declaration": "export interface LegacyAfterScheduleRecord extends Omit<AfterScheduleRecord, 'title'> {\n readonly title?: string;\n}"
763
+ },
764
+ {
765
+ "name": "LegacyAtScheduleRecord",
766
+ "declaration": "export interface LegacyAtScheduleRecord extends Omit<AtScheduleRecord, 'title'> {\n readonly title?: string;\n}"
767
+ },
768
+ {
769
+ "name": "LegacyEveryScheduleRecord",
770
+ "declaration": "export interface LegacyEveryScheduleRecord extends Omit<EveryScheduleRecord, 'title'> {\n readonly title?: string;\n}"
771
+ },
772
+ {
773
+ "name": "LegacyScheduleRecord",
774
+ "declaration": "export type LegacyScheduleRecord = LegacyAfterScheduleRecord | LegacyAtScheduleRecord | LegacyEveryScheduleRecord;"
775
+ },
744
776
  {
745
777
  "name": "LlmCallConfig",
746
778
  "declaration": "export interface LlmCallConfig {\n provider: string;\n model: string;\n reasoningEffort?: ReasoningEffortId;\n temperature?: number;\n maxTokens?: number;\n stop?: string[];\n}"
@@ -795,7 +827,7 @@ export const TYPERT = {
795
827
  },
796
828
  {
797
829
  "name": "MessageSourceMap",
798
- "declaration": "export interface MessageSourceMap {\n user: { kind: 'user'; };\n model: ModelMessageSource;\n tool: ToolMessageSource;\n 'system-prompt': SystemPromptMessageSource;\n 'model-selection': { kind: 'model-selection'; } & ContextFormed;\n 'user-approval': { kind: 'user-approval'; } & ContextFormed;\n 'ptc-mode': { kind: 'ptc-mode'; };\n 'tool-registry': { kind: 'tool-registry'; };\n 'user-rpc': { kind: 'user'; rpcId: SessionRequestId; clientTimeZone?: string; };\n 'agent-message': AgentMessageSource;\n 'subagent-settled': SubagentSettledMessageSource;\n 'skill-invocation': SkillInvocationSource;\n 'cordis-host-runner': { kind: 'cordis-host-runner'; };\n 'team-message': TeamMessageSource;\n goal: GoalMessageSource;\n 'compact-checkpoint': CompactionCheckpointSource;\n 'session-reference': SessionReferenceSource;\n}"
830
+ "declaration": "export interface MessageSourceMap {\n user: { kind: 'user'; };\n model: ModelMessageSource;\n tool: ToolMessageSource;\n 'system-prompt': SystemPromptMessageSource;\n 'model-selection': { kind: 'model-selection'; } & ContextFormed;\n 'user-approval': { kind: 'user-approval'; } & ContextFormed;\n 'ptc-mode': { kind: 'ptc-mode'; };\n 'tool-registry': { kind: 'tool-registry'; };\n 'user-rpc': { kind: 'user'; rpcId: SessionRequestId; clientTimeZone?: string; };\n 'agent-message': AgentMessageSource;\n 'subagent-settled': SubagentSettledMessageSource;\n 'skill-invocation': SkillInvocationSource;\n 'cordis-host-runner': { kind: 'cordis-host-runner'; };\n goal: GoalMessageSource;\n schedule: { kind: 'schedule'; } & ContextFormed;\n 'compact-checkpoint': CompactionCheckpointSource;\n 'session-reference': SessionReferenceSource;\n}"
799
831
  },
800
832
  {
801
833
  "name": "ModelMessageSource",
@@ -805,6 +837,10 @@ export const TYPERT = {
805
837
  "name": "ModelSelection",
806
838
  "declaration": "export interface ModelSelection {\n readonly provider: string;\n readonly model: string;\n readonly reasoningEffort?: string;\n}"
807
839
  },
840
+ {
841
+ "name": "OneShotScheduleDispatchChange",
842
+ "declaration": "export interface OneShotScheduleDispatchChange {\n readonly version: 1;\n readonly operation: 'dispatch';\n readonly id: ScheduleId;\n}"
843
+ },
808
844
  {
809
845
  "name": "OneShotSubagentDescriptorData",
810
846
  "declaration": "export interface OneShotSubagentDescriptorData extends SubagentDescriptorBase {\n readonly mode: 'one-shot';\n readonly label?: string;\n}"
@@ -849,9 +885,29 @@ export const TYPERT = {
849
885
  "name": "SandboxMode",
850
886
  "declaration": "export type SandboxMode = 'read-only' | 'workspace-write' | 'danger-full-access';"
851
887
  },
888
+ {
889
+ "name": "ScheduleChange",
890
+ "declaration": "export type ScheduleChange = ScheduleCreateChange | ScheduleDeleteChange | ScheduleDispatchChange;"
891
+ },
892
+ {
893
+ "name": "ScheduleCreateChange",
894
+ "declaration": "export interface ScheduleCreateChange {\n readonly version: 1;\n readonly operation: 'create';\n readonly schedule: LegacyScheduleRecord;\n}"
895
+ },
896
+ {
897
+ "name": "ScheduleDeleteChange",
898
+ "declaration": "export interface ScheduleDeleteChange {\n readonly version: 1;\n readonly operation: 'delete';\n readonly id: ScheduleId;\n}"
899
+ },
900
+ {
901
+ "name": "ScheduleDispatchChange",
902
+ "declaration": "export type ScheduleDispatchChange = OneShotScheduleDispatchChange | EveryScheduleDispatchChange;"
903
+ },
904
+ {
905
+ "name": "ScheduleId",
906
+ "declaration": "export type ScheduleId = Branded<'ScheduleId'>;"
907
+ },
852
908
  {
853
909
  "name": "Session",
854
- "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 readonly firstLifecycleSeq: 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}"
910
+ "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 readonly firstLifecycleSeq: 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 toolHistory(): ToolHistory;\n deriveMessages(): Message[];\n deriveEventMessage(event: SessionEvent): Message | null;\n}"
855
911
  },
856
912
  {
857
913
  "name": "SessionEvent",
@@ -859,7 +915,7 @@ export const TYPERT = {
859
915
  },
860
916
  {
861
917
  "name": "SessionEventMap",
862
- "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 'developer/message': { turn: number; step: number; message: DeveloperMessage; headerSeq?: SessionSeq; };\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; reason?: 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 'sandbox/mode': { mode: SandboxMode; source?: 'delegation'; };\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 'image/offload': { targets: ImageOffloadTarget[]; };\n 'session/title': SessionTitleEventData;\n 'todo/write': { todos: TodoItem[]; };\n 'model/selection': ModelSelection;\n 'subagent/descriptor': SubagentDescriptorData;\n 'permission/preset': { preset: string; };\n 'subagent/catalog': SubagentCatalogEvent;\n 'feedback/record': FeedbackRecord;\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}"
918
+ "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 'developer/message': { turn: number; step: number; message: DeveloperMessage; headerSeq?: SessionSeq; };\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; reason?: 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 'sandbox/mode': { mode: SandboxMode; source?: 'delegation'; };\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 'image/offload': { targets: ImageOffloadTarget[]; };\n 'session/title': SessionTitleEventData;\n 'todo/write': { todos: TodoItem[]; };\n 'model/selection': ModelSelection;\n 'subagent/descriptor': SubagentDescriptorData;\n 'permission/preset': { preset: string; };\n 'subagent/catalog': SubagentCatalogEvent;\n 'feedback/record': FeedbackRecord;\n 'goal/change': GoalChangeMeta;\n 'feedback/message-put': MessageFeedbackPut;\n 'feedback/message-delete': MessageFeedbackDelete;\n 'schedule/change': ScheduleChange;\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}"
863
919
  },
864
920
  {
865
921
  "name": "SessionEventType",
@@ -957,42 +1013,6 @@ export const TYPERT = {
957
1013
  "name": "SystemPromptUpdate",
958
1014
  "declaration": "export type SystemPromptUpdate = 'in-history';"
959
1015
  },
960
- {
961
- "name": "TeamId",
962
- "declaration": "export type TeamId = Branded<'TeamId'>;"
963
- },
964
- {
965
- "name": "TeamMemberPhase",
966
- "declaration": "export type TeamMemberPhase = 'provisioning' | 'active' | 'failed';"
967
- },
968
- {
969
- "name": "TeamMemberSnapshot",
970
- "declaration": "export interface TeamMemberSnapshot {\n readonly id: SessionId;\n readonly name: string;\n readonly description: string;\n readonly provider: string;\n readonly context: 'fresh' | 'fork';\n readonly phase: TeamMemberPhase;\n readonly error?: string;\n}"
971
- },
972
- {
973
- "name": "TeamMessageId",
974
- "declaration": "export type TeamMessageId = Branded<'TeamMessageId'>;"
975
- },
976
- {
977
- "name": "TeamMessageSnapshot",
978
- "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}"
979
- },
980
- {
981
- "name": "TeamMessageSource",
982
- "declaration": "export interface TeamMessageSource {\n readonly kind: 'team-message';\n readonly teamId: TeamId;\n readonly messageId: TeamMessageId;\n readonly senderId: SessionId;\n readonly senderName: string;\n}"
983
- },
984
- {
985
- "name": "TeamTaskId",
986
- "declaration": "export type TeamTaskId = Branded<'TeamTaskId'>;"
987
- },
988
- {
989
- "name": "TeamTaskSnapshot",
990
- "declaration": "export interface TeamTaskSnapshot {\n readonly id: TeamTaskId;\n readonly revision: number;\n readonly subject: string;\n readonly description: string;\n readonly status: TeamTaskStatus;\n readonly ownerId?: SessionId;\n readonly blockedBy: TeamTaskId[];\n readonly writeScopes: string[];\n}"
991
- },
992
- {
993
- "name": "TeamTaskStatus",
994
- "declaration": "export type TeamTaskStatus = 'pending' | 'in_progress' | 'completed' | 'deleted';"
995
- },
996
1016
  {
997
1017
  "name": "TextBlock",
998
1018
  "declaration": "export interface TextBlock {\n type: 'text';\n text: string;\n}"
@@ -1017,6 +1037,10 @@ export const TYPERT = {
1017
1037
  "name": "ToolCallId",
1018
1038
  "declaration": "export type ToolCallId = Branded<'ToolCallId'>;"
1019
1039
  },
1040
+ {
1041
+ "name": "ToolHistory",
1042
+ "declaration": "export interface ToolHistory {\n readonly tools: readonly ToolSchema[];\n readonly updates: readonly { readonly messageId: MessageId; readonly additions: readonly ToolSchema[]; }[];\n}"
1043
+ },
1020
1044
  {
1021
1045
  "name": "ToolMessageSource",
1022
1046
  "declaration": "export interface ToolMessageSource {\n kind: 'tool';\n callId: ToolCallId;\n}"
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@deepseek-ai/dsh-goal",
3
3
  "description": "Event-sourced same-session goal state and lifecycle service for the DeepSeek Harness",
4
- "version": "0.1.7-alpha.2",
4
+ "version": "0.1.7-rc.2",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -53,14 +53,14 @@
53
53
  ],
54
54
  "license": "MIT",
55
55
  "peerDependencies": {
56
- "@deepseek-ai/dsh-agent": "0.1.7-alpha.2",
57
- "@deepseek-ai/dsh-session-projection": "0.1.7-alpha.2",
58
- "@deepseek-ai/dsh-brand": "0.1.7-alpha.2",
59
- "@deepseek-ai/dsh-invariants": "0.1.7-alpha.2",
60
- "@deepseek-ai/dsh-llm": "0.1.7-alpha.2",
61
- "@deepseek-ai/dsh-scope": "0.1.7-alpha.2",
62
- "@deepseek-ai/dsh-session": "0.1.7-alpha.2",
63
- "@deepseek-ai/dsh-typert-protocol": "0.1.7-alpha.2",
56
+ "@deepseek-ai/dsh-agent": "0.1.7-rc.2",
57
+ "@deepseek-ai/dsh-session-projection": "0.1.7-rc.2",
58
+ "@deepseek-ai/dsh-brand": "0.1.7-rc.2",
59
+ "@deepseek-ai/dsh-invariants": "0.1.7-rc.2",
60
+ "@deepseek-ai/dsh-llm": "0.1.7-rc.2",
61
+ "@deepseek-ai/dsh-scope": "0.1.7-rc.2",
62
+ "@deepseek-ai/dsh-session": "0.1.7-rc.2",
63
+ "@deepseek-ai/dsh-typert-protocol": "0.1.7-rc.2",
64
64
  "@deepseek-ai/cordis": "~4.0.4"
65
65
  },
66
66
  "dependencies": {
@@ -68,21 +68,21 @@
68
68
  "@deepseek-ai/schemastery": "~3.18.4"
69
69
  },
70
70
  "devDependencies": {
71
- "@deepseek-ai/dsh-agent": "0.1.7-alpha.2",
72
- "@deepseek-ai/dsh-agent-loop": "0.1.7-alpha.2",
73
- "@deepseek-ai/dsh-agent-loop-testkit": "0.1.7-alpha.2",
74
- "@deepseek-ai/dsh-bash-local": "0.1.7-alpha.2",
75
- "@deepseek-ai/dsh-session-projection": "0.1.7-alpha.2",
76
- "@deepseek-ai/dsh-brand": "0.1.7-alpha.2",
77
- "@deepseek-ai/dsh-invariants": "0.1.7-alpha.2",
78
- "@deepseek-ai/dsh-llm": "0.1.7-alpha.2",
79
- "@deepseek-ai/dsh-loader-smoke": "0.1.7-alpha.2",
80
- "@deepseek-ai/dsh-scope": "0.1.7-alpha.2",
81
- "@deepseek-ai/dsh-session": "0.1.7-alpha.2",
82
- "@deepseek-ai/dsh-session-checkpoint-policy": "0.1.7-alpha.2",
83
- "@deepseek-ai/dsh-session-persistence-jsonl": "0.1.7-alpha.2",
84
- "@deepseek-ai/dsh-subprocess-local": "0.1.7-alpha.2",
85
- "@deepseek-ai/dsh-typert-protocol": "0.1.7-alpha.2",
86
- "@deepseek-ai/cordis": "~4.0.4"
71
+ "@deepseek-ai/dsh-agent": "0.1.7-rc.2",
72
+ "@deepseek-ai/dsh-agent-loop": "0.1.7-rc.2",
73
+ "@deepseek-ai/dsh-agent-loop-testkit": "0.1.7-rc.2",
74
+ "@deepseek-ai/dsh-bash-local": "0.1.7-rc.2",
75
+ "@deepseek-ai/dsh-session-projection": "0.1.7-rc.2",
76
+ "@deepseek-ai/dsh-brand": "0.1.7-rc.2",
77
+ "@deepseek-ai/dsh-invariants": "0.1.7-rc.2",
78
+ "@deepseek-ai/dsh-llm": "0.1.7-rc.2",
79
+ "@deepseek-ai/dsh-scope": "0.1.7-rc.2",
80
+ "@deepseek-ai/dsh-session": "0.1.7-rc.2",
81
+ "@deepseek-ai/dsh-session-checkpoint-policy": "0.1.7-rc.2",
82
+ "@deepseek-ai/dsh-session-persistence-jsonl": "0.1.7-rc.2",
83
+ "@deepseek-ai/dsh-subprocess-local": "0.1.7-rc.2",
84
+ "@deepseek-ai/dsh-loader-smoke": "0.1.7-rc.2",
85
+ "@deepseek-ai/cordis": "~4.0.4",
86
+ "@deepseek-ai/dsh-typert-protocol": "0.1.7-rc.2"
87
87
  }
88
88
  }