@yolk-sdk/agent 0.1.0-canary.87 → 0.1.0-canary.89

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.md CHANGED
@@ -760,8 +760,13 @@ The optional parent identity lets a later conversation run address the original
760
760
  acceptance independent of how quickly the child finishes.
761
761
  It emits normal tool completion but **not** `SubagentCompleted`, and carries no usage. Keep the
762
762
  logical `subagent:<toolCallId>` identity separate from the physical Workflow id. Never append a
763
- second tool result for the original launch; expose host-owned status/wait tools whose observations
764
- do not masquerade as fresh child usage. Host-owned storage must remain readable after parent end.
763
+ second tool result for the original launch. Hosts may deliver findings automatically or expose
764
+ host-owned status/wait tools whose observations do not masquerade as fresh child usage. The SDK
765
+ registers none of those observation tools and promises no automatic delivery. Its default background
766
+ parameter and acceptance text therefore defer to host instructions instead of naming unavailable
767
+ tools. Hosts should describe their actual completion policy in model-visible instructions and retain
768
+ lookup identities in accepted-result text if they customize it; structured metadata alone may not
769
+ survive provider lowering. Host-owned storage must remain readable after parent end.
765
770
 
766
771
  A lost control response or exhausted observation budget is not a terminal child failure. Hosts
767
772
  can return a `ToolResult` with `structuredContent.type: 'subagent_observation'` and a matching
@@ -11,10 +11,6 @@ import { Data } from "effect";
11
11
  //#region src/react/chat-actions.d.ts
12
12
  type AgentChatAction = AgentChatAction$1;
13
13
  declare const AgentChatAction: {
14
- readonly Error: Data.TaggedEnum.ConstructorFrom<{
15
- readonly _tag: "Error";
16
- readonly message: string;
17
- }, "_tag">;
18
14
  readonly HydrateMessage: Data.TaggedEnum.ConstructorFrom<{
19
15
  readonly _tag: "HydrateMessage";
20
16
  readonly message: AgentMessage;
@@ -48,10 +44,14 @@ declare const AgentChatAction: {
48
44
  readonly _tag: "Event";
49
45
  readonly event: AgentEvent;
50
46
  } & ApplyAgentEventToChatMessagesOptions, "_tag">;
47
+ readonly Error: Data.TaggedEnum.ConstructorFrom<{
48
+ readonly _tag: "Error";
49
+ readonly message: string;
50
+ }, "_tag">;
51
51
  readonly Abort: Data.TaggedEnum.ConstructorFrom<{
52
52
  readonly _tag: "Abort";
53
53
  }, "_tag">;
54
- readonly $is: <Tag extends "Error" | "HydrateMessage" | "Submit" | "AppendMessage" | "SubmitHitlResponse" | "DeleteTurn" | "RegenerateFrom" | "EditUserMessage" | "Event" | "Abort">(tag: Tag) => (u: unknown) => u is Extract<{
54
+ readonly $is: <Tag extends "HydrateMessage" | "Submit" | "AppendMessage" | "SubmitHitlResponse" | "DeleteTurn" | "RegenerateFrom" | "EditUserMessage" | "Event" | "Error" | "Abort">(tag: Tag) => (u: unknown) => u is Extract<{
55
55
  readonly _tag: "HydrateMessage";
56
56
  readonly message: AgentMessage;
57
57
  }, {
@@ -104,10 +104,6 @@ declare const AgentChatAction: {
104
104
  }>;
105
105
  readonly $match: {
106
106
  <Cases extends {
107
- readonly Error: (args: {
108
- readonly _tag: "Error";
109
- readonly message: string;
110
- }) => any;
111
107
  readonly HydrateMessage: (args: {
112
108
  readonly _tag: "HydrateMessage";
113
109
  readonly message: AgentMessage;
@@ -141,15 +137,15 @@ declare const AgentChatAction: {
141
137
  readonly _tag: "Event";
142
138
  readonly event: AgentEvent;
143
139
  } & ApplyAgentEventToChatMessagesOptions) => any;
144
- readonly Abort: (args: {
145
- readonly _tag: "Abort";
146
- }) => any;
147
- }>(cases: Cases): (value: AgentChatAction$1) => import("effect/Unify").Unify<ReturnType<Cases["Error" | "HydrateMessage" | "Submit" | "AppendMessage" | "SubmitHitlResponse" | "DeleteTurn" | "RegenerateFrom" | "EditUserMessage" | "Event" | "Abort"]>>;
148
- <Cases extends {
149
140
  readonly Error: (args: {
150
141
  readonly _tag: "Error";
151
142
  readonly message: string;
152
143
  }) => any;
144
+ readonly Abort: (args: {
145
+ readonly _tag: "Abort";
146
+ }) => any;
147
+ }>(cases: Cases): (value: AgentChatAction$1) => import("effect/Unify").Unify<ReturnType<Cases["HydrateMessage" | "Submit" | "AppendMessage" | "SubmitHitlResponse" | "DeleteTurn" | "RegenerateFrom" | "EditUserMessage" | "Event" | "Error" | "Abort"]>>;
148
+ <Cases extends {
153
149
  readonly HydrateMessage: (args: {
154
150
  readonly _tag: "HydrateMessage";
155
151
  readonly message: AgentMessage;
@@ -183,24 +179,28 @@ declare const AgentChatAction: {
183
179
  readonly _tag: "Event";
184
180
  readonly event: AgentEvent;
185
181
  } & ApplyAgentEventToChatMessagesOptions) => any;
182
+ readonly Error: (args: {
183
+ readonly _tag: "Error";
184
+ readonly message: string;
185
+ }) => any;
186
186
  readonly Abort: (args: {
187
187
  readonly _tag: "Abort";
188
188
  }) => any;
189
- }>(value: AgentChatAction$1, cases: Cases): import("effect/Unify").Unify<ReturnType<Cases["Error" | "HydrateMessage" | "Submit" | "AppendMessage" | "SubmitHitlResponse" | "DeleteTurn" | "RegenerateFrom" | "EditUserMessage" | "Event" | "Abort"]>>;
189
+ }>(value: AgentChatAction$1, cases: Cases): import("effect/Unify").Unify<ReturnType<Cases["HydrateMessage" | "Submit" | "AppendMessage" | "SubmitHitlResponse" | "DeleteTurn" | "RegenerateFrom" | "EditUserMessage" | "Event" | "Error" | "Abort"]>>;
190
190
  };
191
191
  };
192
192
  type AgentChatSubmitResult = AgentChatSubmitResult$1;
193
193
  declare const AgentChatSubmitResult: {
194
- readonly Ignored: Data.TaggedEnum.ConstructorFrom<{
195
- readonly _tag: "Ignored";
196
- }, "_tag">;
197
194
  readonly Submitted: Data.TaggedEnum.ConstructorFrom<{
198
195
  readonly _tag: "Submitted";
199
196
  readonly content: Content;
200
197
  readonly message: UserMessage;
201
198
  readonly messages: AgentTranscript;
202
199
  }, "_tag">;
203
- readonly $is: <Tag extends "Ignored" | "Submitted">(tag: Tag) => (u: unknown) => u is Extract<{
200
+ readonly Ignored: Data.TaggedEnum.ConstructorFrom<{
201
+ readonly _tag: "Ignored";
202
+ }, "_tag">;
203
+ readonly $is: <Tag extends "Submitted" | "Ignored">(tag: Tag) => (u: unknown) => u is Extract<{
204
204
  readonly _tag: "Submitted";
205
205
  readonly content: Content;
206
206
  readonly message: UserMessage;
@@ -214,27 +214,27 @@ declare const AgentChatSubmitResult: {
214
214
  }>;
215
215
  readonly $match: {
216
216
  <Cases extends {
217
- readonly Ignored: (args: {
218
- readonly _tag: "Ignored";
219
- }) => any;
220
217
  readonly Submitted: (args: {
221
218
  readonly _tag: "Submitted";
222
219
  readonly content: Content;
223
220
  readonly message: UserMessage;
224
221
  readonly messages: AgentTranscript;
225
222
  }) => any;
226
- }>(cases: Cases): (value: AgentChatSubmitResult$1) => import("effect/Unify").Unify<ReturnType<Cases["Ignored" | "Submitted"]>>;
227
- <Cases extends {
228
223
  readonly Ignored: (args: {
229
224
  readonly _tag: "Ignored";
230
225
  }) => any;
226
+ }>(cases: Cases): (value: AgentChatSubmitResult$1) => import("effect/Unify").Unify<ReturnType<Cases["Submitted" | "Ignored"]>>;
227
+ <Cases extends {
231
228
  readonly Submitted: (args: {
232
229
  readonly _tag: "Submitted";
233
230
  readonly content: Content;
234
231
  readonly message: UserMessage;
235
232
  readonly messages: AgentTranscript;
236
233
  }) => any;
237
- }>(value: AgentChatSubmitResult$1, cases: Cases): import("effect/Unify").Unify<ReturnType<Cases["Ignored" | "Submitted"]>>;
234
+ readonly Ignored: (args: {
235
+ readonly _tag: "Ignored";
236
+ }) => any;
237
+ }>(value: AgentChatSubmitResult$1, cases: Cases): import("effect/Unify").Unify<ReturnType<Cases["Submitted" | "Ignored"]>>;
238
238
  };
239
239
  };
240
240
  type AgentChatDeleteTurnResult = AgentChatDeleteTurnResult$1;
@@ -371,15 +371,15 @@ declare const AgentChatEditUserMessageResult: {
371
371
  };
372
372
  type AgentChatHitlResponseResult = AgentChatHitlResponseResult$1;
373
373
  declare const AgentChatHitlResponseResult: {
374
- readonly Ignored: Data.TaggedEnum.ConstructorFrom<{
375
- readonly _tag: "Ignored";
376
- }, "_tag">;
377
374
  readonly Submitted: Data.TaggedEnum.ConstructorFrom<{
378
375
  readonly _tag: "Submitted";
379
376
  readonly response: HitlResponse;
380
377
  readonly messages: AgentTranscript;
381
378
  }, "_tag">;
382
- readonly $is: <Tag extends "Ignored" | "Submitted">(tag: Tag) => (u: unknown) => u is Extract<{
379
+ readonly Ignored: Data.TaggedEnum.ConstructorFrom<{
380
+ readonly _tag: "Ignored";
381
+ }, "_tag">;
382
+ readonly $is: <Tag extends "Submitted" | "Ignored">(tag: Tag) => (u: unknown) => u is Extract<{
383
383
  readonly _tag: "Submitted";
384
384
  readonly response: HitlResponse;
385
385
  readonly messages: AgentTranscript;
@@ -392,25 +392,25 @@ declare const AgentChatHitlResponseResult: {
392
392
  }>;
393
393
  readonly $match: {
394
394
  <Cases extends {
395
- readonly Ignored: (args: {
396
- readonly _tag: "Ignored";
397
- }) => any;
398
395
  readonly Submitted: (args: {
399
396
  readonly _tag: "Submitted";
400
397
  readonly response: HitlResponse;
401
398
  readonly messages: AgentTranscript;
402
399
  }) => any;
403
- }>(cases: Cases): (value: AgentChatHitlResponseResult$1) => import("effect/Unify").Unify<ReturnType<Cases["Ignored" | "Submitted"]>>;
404
- <Cases extends {
405
400
  readonly Ignored: (args: {
406
401
  readonly _tag: "Ignored";
407
402
  }) => any;
403
+ }>(cases: Cases): (value: AgentChatHitlResponseResult$1) => import("effect/Unify").Unify<ReturnType<Cases["Submitted" | "Ignored"]>>;
404
+ <Cases extends {
408
405
  readonly Submitted: (args: {
409
406
  readonly _tag: "Submitted";
410
407
  readonly response: HitlResponse;
411
408
  readonly messages: AgentTranscript;
412
409
  }) => any;
413
- }>(value: AgentChatHitlResponseResult$1, cases: Cases): import("effect/Unify").Unify<ReturnType<Cases["Ignored" | "Submitted"]>>;
410
+ readonly Ignored: (args: {
411
+ readonly _tag: "Ignored";
412
+ }) => any;
413
+ }>(value: AgentChatHitlResponseResult$1, cases: Cases): import("effect/Unify").Unify<ReturnType<Cases["Submitted" | "Ignored"]>>;
414
414
  };
415
415
  };
416
416
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"chat-actions.d.mts","names":[],"sources":["../../src/react/chat-actions.ts"],"mappings":";;;;;;;;;;;KAUY,eAAA,GAAkB,iBAAmB;AAAA,cAEpC,eAAA;EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAED,qBAAA,GAAwB,uBAAyB;AAAA,cAEhD,qBAAA;EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAED,yBAAA,GAA4B,2BAA6B;AAAA,cAExD,yBAAA;EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAED,yBAAA,GAA4B,2BAA6B;AAAA,cAExD,yBAAA;EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAED,8BAAA,GAAiC,gCAAkC;AAAA,cAElE,8BAAA;EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAED,2BAAA,GAA8B,6BAA+B;AAAA,cAE5D,2BAAA;EAAA"}
1
+ {"version":3,"file":"chat-actions.d.mts","names":[],"sources":["../../src/react/chat-actions.ts"],"mappings":";;;;;;;;;;;KAUY,eAAA,GAAkB,iBAAmB;AAAA,cAEpC,eAAA;EAAA;;sBAAoD,YAAA;EAAA;EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAErD,qBAAA,GAAwB,uBAAyB;AAAA,cAEhD,qBAAA;EAAA;;sBAAgE,OAAA;IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAEjE,yBAAA,GAA4B,2BAA6B;AAAA,cAExD,yBAAA;EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAED,yBAAA,GAA4B,2BAA6B;AAAA,cAExD,yBAAA;EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAED,8BAAA,GAAiC,gCAAkC;AAAA,cAElE,8BAAA;EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAED,2BAAA,GAA8B,6BAA+B;AAAA,cAE5D,2BAAA;EAAA;;uBAA4E,YAAA;IAAA"}
@@ -509,11 +509,6 @@ type AgentChatItem = {
509
509
  readonly message: string;
510
510
  };
511
511
  declare const AgentChatItem: {
512
- readonly Error: Data.TaggedEnum.ConstructorFrom<{
513
- readonly _tag: "Error";
514
- readonly id: string;
515
- readonly message: string;
516
- }, "_tag">;
517
512
  readonly Reasoning: Data.TaggedEnum.ConstructorFrom<{
518
513
  readonly _tag: "Reasoning";
519
514
  readonly id: string;
@@ -541,6 +536,11 @@ declare const AgentChatItem: {
541
536
  readonly messageId: string;
542
537
  readonly content: Content;
543
538
  }, "_tag">;
539
+ readonly Error: Data.TaggedEnum.ConstructorFrom<{
540
+ readonly _tag: "Error";
541
+ readonly id: string;
542
+ readonly message: string;
543
+ }, "_tag">;
544
544
  readonly ToolRun: Data.TaggedEnum.ConstructorFrom<{
545
545
  readonly _tag: "ToolRun";
546
546
  readonly id: string;
@@ -568,7 +568,7 @@ declare const AgentChatItem: {
568
568
  readonly id: string;
569
569
  readonly label: string;
570
570
  }, "_tag">;
571
- readonly $is: <Tag extends "Error" | "Reasoning" | "ToolResult" | "UserMessage" | "AssistantMessage" | "ToolRun" | "UserDraft" | "AssistantDraft" | "Retry" | "AssistantStatus">(tag: Tag) => (u: unknown) => u is Extract<{
571
+ readonly $is: <Tag extends "Reasoning" | "ToolResult" | "UserMessage" | "AssistantMessage" | "Error" | "ToolRun" | "UserDraft" | "AssistantDraft" | "Retry" | "AssistantStatus">(tag: Tag) => (u: unknown) => u is Extract<{
572
572
  readonly _tag: "UserMessage";
573
573
  readonly id: string;
574
574
  readonly messageId: string;
@@ -640,11 +640,6 @@ declare const AgentChatItem: {
640
640
  }>;
641
641
  readonly $match: {
642
642
  <Cases extends {
643
- readonly Error: (args: {
644
- readonly _tag: "Error";
645
- readonly id: string;
646
- readonly message: string;
647
- }) => any;
648
643
  readonly Reasoning: (args: {
649
644
  readonly _tag: "Reasoning";
650
645
  readonly id: string;
@@ -672,6 +667,11 @@ declare const AgentChatItem: {
672
667
  readonly messageId: string;
673
668
  readonly content: Content;
674
669
  }) => any;
670
+ readonly Error: (args: {
671
+ readonly _tag: "Error";
672
+ readonly id: string;
673
+ readonly message: string;
674
+ }) => any;
675
675
  readonly ToolRun: (args: {
676
676
  readonly _tag: "ToolRun";
677
677
  readonly id: string;
@@ -699,13 +699,8 @@ declare const AgentChatItem: {
699
699
  readonly id: string;
700
700
  readonly label: string;
701
701
  }) => any;
702
- }>(cases: Cases): (value: AgentChatItem) => import("effect/Unify").Unify<ReturnType<Cases["Error" | "Reasoning" | "ToolResult" | "UserMessage" | "AssistantMessage" | "ToolRun" | "UserDraft" | "AssistantDraft" | "Retry" | "AssistantStatus"]>>;
702
+ }>(cases: Cases): (value: AgentChatItem) => import("effect/Unify").Unify<ReturnType<Cases["Reasoning" | "ToolResult" | "UserMessage" | "AssistantMessage" | "Error" | "ToolRun" | "UserDraft" | "AssistantDraft" | "Retry" | "AssistantStatus"]>>;
703
703
  <Cases extends {
704
- readonly Error: (args: {
705
- readonly _tag: "Error";
706
- readonly id: string;
707
- readonly message: string;
708
- }) => any;
709
704
  readonly Reasoning: (args: {
710
705
  readonly _tag: "Reasoning";
711
706
  readonly id: string;
@@ -733,6 +728,11 @@ declare const AgentChatItem: {
733
728
  readonly messageId: string;
734
729
  readonly content: Content;
735
730
  }) => any;
731
+ readonly Error: (args: {
732
+ readonly _tag: "Error";
733
+ readonly id: string;
734
+ readonly message: string;
735
+ }) => any;
736
736
  readonly ToolRun: (args: {
737
737
  readonly _tag: "ToolRun";
738
738
  readonly id: string;
@@ -760,7 +760,7 @@ declare const AgentChatItem: {
760
760
  readonly id: string;
761
761
  readonly label: string;
762
762
  }) => any;
763
- }>(value: AgentChatItem, cases: Cases): import("effect/Unify").Unify<ReturnType<Cases["Error" | "Reasoning" | "ToolResult" | "UserMessage" | "AssistantMessage" | "ToolRun" | "UserDraft" | "AssistantDraft" | "Retry" | "AssistantStatus"]>>;
763
+ }>(value: AgentChatItem, cases: Cases): import("effect/Unify").Unify<ReturnType<Cases["Reasoning" | "ToolResult" | "UserMessage" | "AssistantMessage" | "Error" | "ToolRun" | "UserDraft" | "AssistantDraft" | "Retry" | "AssistantStatus"]>>;
764
764
  };
765
765
  };
766
766
  type BuildAgentChatItemsInput = {
@@ -1 +1 @@
1
- {"version":3,"file":"chat-items.d.mts","names":[],"sources":["../../src/react/chat-items.ts"],"mappings":"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"}
1
+ {"version":3,"file":"chat-items.d.mts","names":[],"sources":["../../src/react/chat-items.ts"],"mappings":"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"}
@@ -464,11 +464,6 @@ type AgentChatPart = {
464
464
  readonly message: string;
465
465
  };
466
466
  declare const AgentChatPart: {
467
- readonly Error: Data.TaggedEnum.ConstructorFrom<{
468
- readonly _tag: "Error";
469
- readonly id: string;
470
- readonly message: string;
471
- }, "_tag">;
472
467
  readonly ToolCall: Data.TaggedEnum.ConstructorFrom<{
473
468
  readonly _tag: "ToolCall";
474
469
  readonly id: string;
@@ -497,7 +492,12 @@ declare const AgentChatPart: {
497
492
  readonly acceptance?: ToolResult["acceptance"];
498
493
  readonly structuredContent?: unknown;
499
494
  }, "_tag">;
500
- readonly $is: <Tag extends "Error" | "ToolCall" | "Text" | "Reasoning" | "ToolResult">(tag: Tag) => (u: unknown) => u is Extract<{
495
+ readonly Error: Data.TaggedEnum.ConstructorFrom<{
496
+ readonly _tag: "Error";
497
+ readonly id: string;
498
+ readonly message: string;
499
+ }, "_tag">;
500
+ readonly $is: <Tag extends "ToolCall" | "Text" | "Reasoning" | "ToolResult" | "Error">(tag: Tag) => (u: unknown) => u is Extract<{
501
501
  readonly _tag: "Text";
502
502
  readonly id: string;
503
503
  readonly content: Content;
@@ -538,11 +538,6 @@ declare const AgentChatPart: {
538
538
  }>;
539
539
  readonly $match: {
540
540
  <Cases extends {
541
- readonly Error: (args: {
542
- readonly _tag: "Error";
543
- readonly id: string;
544
- readonly message: string;
545
- }) => any;
546
541
  readonly ToolCall: (args: {
547
542
  readonly _tag: "ToolCall";
548
543
  readonly id: string;
@@ -571,13 +566,13 @@ declare const AgentChatPart: {
571
566
  readonly acceptance?: ToolResult["acceptance"];
572
567
  readonly structuredContent?: unknown;
573
568
  }) => any;
574
- }>(cases: Cases): (value: AgentChatPart) => import("effect/Unify").Unify<ReturnType<Cases["Error" | "ToolCall" | "Text" | "Reasoning" | "ToolResult"]>>;
575
- <Cases extends {
576
569
  readonly Error: (args: {
577
570
  readonly _tag: "Error";
578
571
  readonly id: string;
579
572
  readonly message: string;
580
573
  }) => any;
574
+ }>(cases: Cases): (value: AgentChatPart) => import("effect/Unify").Unify<ReturnType<Cases["ToolCall" | "Text" | "Reasoning" | "ToolResult" | "Error"]>>;
575
+ <Cases extends {
581
576
  readonly ToolCall: (args: {
582
577
  readonly _tag: "ToolCall";
583
578
  readonly id: string;
@@ -606,7 +601,12 @@ declare const AgentChatPart: {
606
601
  readonly acceptance?: ToolResult["acceptance"];
607
602
  readonly structuredContent?: unknown;
608
603
  }) => any;
609
- }>(value: AgentChatPart, cases: Cases): import("effect/Unify").Unify<ReturnType<Cases["Error" | "ToolCall" | "Text" | "Reasoning" | "ToolResult"]>>;
604
+ readonly Error: (args: {
605
+ readonly _tag: "Error";
606
+ readonly id: string;
607
+ readonly message: string;
608
+ }) => any;
609
+ }>(value: AgentChatPart, cases: Cases): import("effect/Unify").Unify<ReturnType<Cases["ToolCall" | "Text" | "Reasoning" | "ToolResult" | "Error"]>>;
610
610
  };
611
611
  };
612
612
  type AgentChatMessage = {
@@ -628,16 +628,16 @@ type DeleteChatTurnResult = {
628
628
  readonly messages: ReadonlyArray<AgentChatMessage>;
629
629
  };
630
630
  declare const DeleteChatTurnResult: {
631
- readonly NotFound: Data.TaggedEnum.ConstructorFrom<{
632
- readonly _tag: "NotFound";
633
- }, "_tag">;
634
631
  readonly Deleted: Data.TaggedEnum.ConstructorFrom<{
635
632
  readonly _tag: "Deleted";
636
633
  readonly turnStartMessageId: string;
637
634
  readonly deletedMessageIds: ReadonlyArray<string>;
638
635
  readonly messages: ReadonlyArray<AgentChatMessage>;
639
636
  }, "_tag">;
640
- readonly $is: <Tag extends "NotFound" | "Deleted">(tag: Tag) => (u: unknown) => u is Extract<{
637
+ readonly NotFound: Data.TaggedEnum.ConstructorFrom<{
638
+ readonly _tag: "NotFound";
639
+ }, "_tag">;
640
+ readonly $is: <Tag extends "Deleted" | "NotFound">(tag: Tag) => (u: unknown) => u is Extract<{
641
641
  readonly _tag: "NotFound";
642
642
  }, {
643
643
  readonly _tag: Tag;
@@ -651,27 +651,27 @@ declare const DeleteChatTurnResult: {
651
651
  }>;
652
652
  readonly $match: {
653
653
  <Cases extends {
654
- readonly NotFound: (args: {
655
- readonly _tag: "NotFound";
656
- }) => any;
657
654
  readonly Deleted: (args: {
658
655
  readonly _tag: "Deleted";
659
656
  readonly turnStartMessageId: string;
660
657
  readonly deletedMessageIds: ReadonlyArray<string>;
661
658
  readonly messages: ReadonlyArray<AgentChatMessage>;
662
659
  }) => any;
663
- }>(cases: Cases): (value: DeleteChatTurnResult) => import("effect/Unify").Unify<ReturnType<Cases["NotFound" | "Deleted"]>>;
664
- <Cases extends {
665
660
  readonly NotFound: (args: {
666
661
  readonly _tag: "NotFound";
667
662
  }) => any;
663
+ }>(cases: Cases): (value: DeleteChatTurnResult) => import("effect/Unify").Unify<ReturnType<Cases["Deleted" | "NotFound"]>>;
664
+ <Cases extends {
668
665
  readonly Deleted: (args: {
669
666
  readonly _tag: "Deleted";
670
667
  readonly turnStartMessageId: string;
671
668
  readonly deletedMessageIds: ReadonlyArray<string>;
672
669
  readonly messages: ReadonlyArray<AgentChatMessage>;
673
670
  }) => any;
674
- }>(value: DeleteChatTurnResult, cases: Cases): import("effect/Unify").Unify<ReturnType<Cases["NotFound" | "Deleted"]>>;
671
+ readonly NotFound: (args: {
672
+ readonly _tag: "NotFound";
673
+ }) => any;
674
+ }>(value: DeleteChatTurnResult, cases: Cases): import("effect/Unify").Unify<ReturnType<Cases["Deleted" | "NotFound"]>>;
675
675
  };
676
676
  };
677
677
  type EditChatUserMessageResult = {
@@ -684,18 +684,18 @@ type EditChatUserMessageResult = {
684
684
  readonly messages: ReadonlyArray<AgentChatMessage>;
685
685
  };
686
686
  declare const EditChatUserMessageResult: {
687
+ readonly Edited: Data.TaggedEnum.ConstructorFrom<{
688
+ readonly _tag: "Edited";
689
+ readonly messageId: string;
690
+ readonly messages: ReadonlyArray<AgentChatMessage>;
691
+ }, "_tag">;
687
692
  readonly NotFound: Data.TaggedEnum.ConstructorFrom<{
688
693
  readonly _tag: "NotFound";
689
694
  }, "_tag">;
690
695
  readonly NotUserMessage: Data.TaggedEnum.ConstructorFrom<{
691
696
  readonly _tag: "NotUserMessage";
692
697
  }, "_tag">;
693
- readonly Edited: Data.TaggedEnum.ConstructorFrom<{
694
- readonly _tag: "Edited";
695
- readonly messageId: string;
696
- readonly messages: ReadonlyArray<AgentChatMessage>;
697
- }, "_tag">;
698
- readonly $is: <Tag extends "NotFound" | "NotUserMessage" | "Edited">(tag: Tag) => (u: unknown) => u is Extract<{
698
+ readonly $is: <Tag extends "Edited" | "NotFound" | "NotUserMessage">(tag: Tag) => (u: unknown) => u is Extract<{
699
699
  readonly _tag: "NotFound";
700
700
  }, {
701
701
  readonly _tag: Tag;
@@ -712,31 +712,31 @@ declare const EditChatUserMessageResult: {
712
712
  }>;
713
713
  readonly $match: {
714
714
  <Cases extends {
715
+ readonly Edited: (args: {
716
+ readonly _tag: "Edited";
717
+ readonly messageId: string;
718
+ readonly messages: ReadonlyArray<AgentChatMessage>;
719
+ }) => any;
715
720
  readonly NotFound: (args: {
716
721
  readonly _tag: "NotFound";
717
722
  }) => any;
718
723
  readonly NotUserMessage: (args: {
719
724
  readonly _tag: "NotUserMessage";
720
725
  }) => any;
726
+ }>(cases: Cases): (value: EditChatUserMessageResult) => import("effect/Unify").Unify<ReturnType<Cases["Edited" | "NotFound" | "NotUserMessage"]>>;
727
+ <Cases extends {
721
728
  readonly Edited: (args: {
722
729
  readonly _tag: "Edited";
723
730
  readonly messageId: string;
724
731
  readonly messages: ReadonlyArray<AgentChatMessage>;
725
732
  }) => any;
726
- }>(cases: Cases): (value: EditChatUserMessageResult) => import("effect/Unify").Unify<ReturnType<Cases["NotFound" | "NotUserMessage" | "Edited"]>>;
727
- <Cases extends {
728
733
  readonly NotFound: (args: {
729
734
  readonly _tag: "NotFound";
730
735
  }) => any;
731
736
  readonly NotUserMessage: (args: {
732
737
  readonly _tag: "NotUserMessage";
733
738
  }) => any;
734
- readonly Edited: (args: {
735
- readonly _tag: "Edited";
736
- readonly messageId: string;
737
- readonly messages: ReadonlyArray<AgentChatMessage>;
738
- }) => any;
739
- }>(value: EditChatUserMessageResult, cases: Cases): import("effect/Unify").Unify<ReturnType<Cases["NotFound" | "NotUserMessage" | "Edited"]>>;
739
+ }>(value: EditChatUserMessageResult, cases: Cases): import("effect/Unify").Unify<ReturnType<Cases["Edited" | "NotFound" | "NotUserMessage"]>>;
740
740
  };
741
741
  };
742
742
  type RegenerateChatMessagesResult = {
@@ -746,14 +746,14 @@ type RegenerateChatMessagesResult = {
746
746
  readonly messages: ReadonlyArray<AgentChatMessage>;
747
747
  };
748
748
  declare const RegenerateChatMessagesResult: {
749
- readonly NotFound: Data.TaggedEnum.ConstructorFrom<{
750
- readonly _tag: "NotFound";
751
- }, "_tag">;
752
749
  readonly Regenerated: Data.TaggedEnum.ConstructorFrom<{
753
750
  readonly _tag: "Regenerated";
754
751
  readonly messages: ReadonlyArray<AgentChatMessage>;
755
752
  }, "_tag">;
756
- readonly $is: <Tag extends "NotFound" | "Regenerated">(tag: Tag) => (u: unknown) => u is Extract<{
753
+ readonly NotFound: Data.TaggedEnum.ConstructorFrom<{
754
+ readonly _tag: "NotFound";
755
+ }, "_tag">;
756
+ readonly $is: <Tag extends "Regenerated" | "NotFound">(tag: Tag) => (u: unknown) => u is Extract<{
757
757
  readonly _tag: "NotFound";
758
758
  }, {
759
759
  readonly _tag: Tag;
@@ -765,23 +765,23 @@ declare const RegenerateChatMessagesResult: {
765
765
  }>;
766
766
  readonly $match: {
767
767
  <Cases extends {
768
- readonly NotFound: (args: {
769
- readonly _tag: "NotFound";
770
- }) => any;
771
768
  readonly Regenerated: (args: {
772
769
  readonly _tag: "Regenerated";
773
770
  readonly messages: ReadonlyArray<AgentChatMessage>;
774
771
  }) => any;
775
- }>(cases: Cases): (value: RegenerateChatMessagesResult) => import("effect/Unify").Unify<ReturnType<Cases["NotFound" | "Regenerated"]>>;
776
- <Cases extends {
777
772
  readonly NotFound: (args: {
778
773
  readonly _tag: "NotFound";
779
774
  }) => any;
775
+ }>(cases: Cases): (value: RegenerateChatMessagesResult) => import("effect/Unify").Unify<ReturnType<Cases["Regenerated" | "NotFound"]>>;
776
+ <Cases extends {
780
777
  readonly Regenerated: (args: {
781
778
  readonly _tag: "Regenerated";
782
779
  readonly messages: ReadonlyArray<AgentChatMessage>;
783
780
  }) => any;
784
- }>(value: RegenerateChatMessagesResult, cases: Cases): import("effect/Unify").Unify<ReturnType<Cases["NotFound" | "Regenerated"]>>;
781
+ readonly NotFound: (args: {
782
+ readonly _tag: "NotFound";
783
+ }) => any;
784
+ }>(value: RegenerateChatMessagesResult, cases: Cases): import("effect/Unify").Unify<ReturnType<Cases["Regenerated" | "NotFound"]>>;
785
785
  };
786
786
  };
787
787
  type ApplyAgentEventToChatMessagesOptions = {
@@ -1 +1 @@
1
- {"version":3,"file":"chat-messages.d.mts","names":[],"sources":["../../src/react/chat-messages.ts"],"mappings":"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"}
1
+ {"version":3,"file":"chat-messages.d.mts","names":[],"sources":["../../src/react/chat-messages.ts"],"mappings":"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"}
@@ -17,8 +17,8 @@ declare const mergeSkillsets: (sources: ReadonlyArray<SkillsetSource>) => Effect
17
17
  skills: {
18
18
  readonly name: string;
19
19
  readonly description: string;
20
- readonly location: string;
21
20
  readonly content: string;
21
+ readonly location: string;
22
22
  readonly source?: string | undefined;
23
23
  }[];
24
24
  commands: {
@@ -3,8 +3,8 @@ import { Effect } from "effect";
3
3
 
4
4
  //#region src/skillset/name.d.ts
5
5
  declare const isValidSkillsetName: (name: string) => boolean;
6
- declare const validateSkillsetName: (name: string) => Effect.Effect<string, never, never> | Effect.Effect<never, SkillsetError, never>;
7
- declare const validateDirectoryName: (expected: string, actual: string) => Effect.Effect<string, never, never> | Effect.Effect<never, SkillsetError, never>;
6
+ declare const validateSkillsetName: (name: string) => Effect.Effect<never, SkillsetError, never> | Effect.Effect<string, never, never>;
7
+ declare const validateDirectoryName: (expected: string, actual: string) => Effect.Effect<never, SkillsetError, never> | Effect.Effect<string, never, never>;
8
8
  //#endregion
9
9
  export { isValidSkillsetName, validateDirectoryName, validateSkillsetName };
10
10
  //# sourceMappingURL=name.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"name.d.mts","names":[],"sources":["../../src/skillset/name.ts"],"mappings":";;;;cAOa,mBAAA,GAAuB,IAAY;AAAA,cAGnC,oBAAA,GAAwB,IAAA,aAAY,MAAA,CAAA,MAAA,yBAAA,MAAA,CAAA,MAAA,QAAA,aAAA;AAAA,cAUpC,qBAAA,GAAyB,QAAA,UAAkB,MAAA,aAAc,MAAA,CAAA,MAAA,yBAAA,MAAA,CAAA,MAAA,QAAA,aAAA"}
1
+ {"version":3,"file":"name.d.mts","names":[],"sources":["../../src/skillset/name.ts"],"mappings":";;;;cAOa,mBAAA,GAAuB,IAAY;AAAA,cAGnC,oBAAA,GAAwB,IAAA,aAAY,MAAA,CAAA,MAAA,QAAA,aAAA,WAAA,MAAA,CAAA,MAAA;AAAA,cAUpC,qBAAA,GAAyB,QAAA,UAAkB,MAAA,aAAc,MAAA,CAAA,MAAA,QAAA,aAAA,WAAA,MAAA,CAAA,MAAA"}
@@ -85,7 +85,9 @@ declare const subagentUsageFromToolResult: (result: ToolResult) => AgentUsage |
85
85
  declare const subagentResultFromEvents: (events: ReadonlyArray<AgentEvent>) => SubagentRunResult;
86
86
  declare const subagentResultText: (events: ReadonlyArray<AgentEvent>) => string;
87
87
  declare const makeSubagentToolResult: (input: SubagentToolResultInput) => ToolResult;
88
- /** Acceptance is a tool completion, never a child completion or usage delta. */
88
+ /** Acceptance is a tool completion, never a child completion or usage delta.
89
+ * Hosts own completion delivery and any observation tools; registration supplies neither.
90
+ */
89
91
  declare const makeSubagentAcceptedToolResult: (input: {
90
92
  readonly callId: string;
91
93
  readonly workflowRunId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"subagent.d.mts","names":[],"sources":["../../src/tools/subagent.ts"],"mappings":";;;;;;;KA+CY,kBAAA;EAAA,SACD,WAAA;EAAA,SACA,MAAA;EAAA,SACA,aAAA;EAAA,SACA,KAAA;EAAA,SACA,gBAAA,GAAmB,oBAAoB;EAAA,SACvC,UAAA;AAAA;AAAA,KAGC,kBAAA;EAAA,SACD,IAAA;EAAA,SACA,WAAW;AAAA;AAAA,KAGV,uBAAA;EAAA,SACD,EAAA;EAAA,SACA,WAAW;AAAA;AAAA,KAGV,iCAAA;EAAA,SACD,KAAA,EAAO,oBAAoB;EAAA,SAC3B,WAAA;AAAA;AAAA,KAGC,+BAAA;kFAED,UAAA;EAAA,SACA,MAAA,GAAS,aAAA,CAAc,uBAAA;EAAA,SACvB,gBAAA,GAAmB,aAAA,CAAc,iCAAA;AAAA;AAAA,KAGhC,eAAA;EAAA,SACD,QAAQ;AAAA;AAAA,KAGP,sBAAA;EAAA,SACD,IAAA,EAAM,QAAA;EAAA,SACN,OAAA,EAAS,OAAA;EAAA,SACT,MAAA,EAAQ,kBAAA;AAAA;AAAA,KAGP,mBAAA,YAA+B,+BAAA;EAAA,SAChC,SAAA,EAAW,aAAA,CAAc,kBAAA;EAAA,SACzB,SAAA,IAAa,OAAA,EAAS,OAAA,KAAY,MAAA,CAAO,MAAA,UAAgB,iBAAA;EAAA,SACzD,OAAA,GAAU,KAAA,EAAO,sBAAA,CAAuB,OAAA,MAAa,MAAA,CAAO,MAAA,CAAO,UAAA,EAAY,SAAA;AAAA;AAAA,KAG9E,gBAAA;EAAA,SACD,IAAA,EAAM,cAAA;EAAA,SACN,OAAA;EAAA,SACA,SAAA;EAAA,SACA,QAAA,GAAW,iBAAiB;AAAA;AAAA,KAG3B,iBAAA;AAAA,KAEA,iBAAA;EAAA,SACD,MAAA,EAAQ,iBAAA;EAAA,SACR,IAAA;EAAA,SACA,KAAA,GAAQ,UAAA;EAAA,SACR,KAAA;EAAA,SACA,QAAA,GAAW,aAAA,CAAc,WAAA;EAAA,SACzB,KAAA,GAAQ,gBAAA;AAAA;AAAA,KAGP,uBAAA;EAAA,SACD,MAAA;EAAA,SACA,MAAA;EAAA,SACA,YAAA;EAAA,SACA,WAAA;EAAA,SACA,aAAA;EAAA,SACA,WAAA;EAAA,SACA,SAAA;EAAA,SACA,KAAA;EAAA,SACA,eAAA,GAAkB,oBAAA;EAAA,SAClB,KAAA,GAAQ,UAAA;EAAA,SACR,KAAA;EAAA,SACA,MAAA,GAAS,iBAAA;EAAA,SACT,QAAA,GAAW,aAAA,CAAc,WAAA;EAAA,SACzB,KAAA,GAAQ,gBAAA;EAAA,SACR,OAAA;AAAA;AAAA,cAgRE,4BAAA,YACX,OAAA,EAAS,mBAAA,CAAoB,OAAA,MAC5B,gBAAA,CAAiB,OAAA;AAAA,cAwBP,mBAAA,GACX,SAAA,EAAW,aAAA,CAAc,kBAAA,GACzB,iBAAA,GAAmB,+BAAA,wCAAoC,OAAA;AAAA,cAQ5C,sBAAA,YACX,OAAA,EAAS,mBAAA,CAAoB,OAAA,MAC5B,UAAA,CAAW,OAAA;AAAA,cAKD,kCAAA,mBAAsD,eAAA,EACjE,OAAA,EAAS,mBAAA,CAAoB,OAAA,MAC5B,UAAA,CAAW,OAAA;AAAA,cAWD,oBAAA,GAAwB,MAAc;AAAA,cAGtC,iBAAA,GAAiB,gBAAA;AAAA,cAkJjB,2BAAA,GAA+B,MAAA,EAAQ,UAAA,KAAa,UAAU;AAAA,cA8B9D,wBAAA,GAA4B,MAAA,EAAQ,aAAA,CAAc,UAAA,MAAc,iBAAA;AAAA,cA2EhE,kBAAA,GAAsB,MAAA,EAAQ,aAAa,CAAC,UAAA;AAAA,cAyC5C,sBAAA,GAA0B,KAAA,EAAO,uBAAA,KAAuB,UAUpE;;cAsBY,8BAAA,GAAkC,KAAA;EAAA,SACpC,MAAA;EAAA,SACA,aAAA;EAAA,SACA,WAAA;AAAA,MACV,UAKG"}
1
+ {"version":3,"file":"subagent.d.mts","names":[],"sources":["../../src/tools/subagent.ts"],"mappings":"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"}
@@ -25,7 +25,7 @@ const optionalRuntimeSelection = (input) => Schema$1.optionalKey(Schema$1.Enum(e
25
25
  const configuredSubagentToolParams = (options) => {
26
26
  const fields = {
27
27
  ...SubagentToolBaseFields,
28
- background: Schema$1.optionalKey(Schema$1.Boolean.pipe(Schema$1.annotate({ description: "Return an accepted handle immediately; use subagent_status or subagent_wait to read the result." })))
28
+ background: Schema$1.optionalKey(Schema$1.Boolean.pipe(Schema$1.annotate({ description: "Return an accepted handle immediately, not the completed result. Completion delivery and observation follow the host instructions." })))
29
29
  };
30
30
  const model = options.models === void 0 || options.models.length === 0 ? void 0 : optionalRuntimeSelection({
31
31
  values: options.models.map((item) => item.id),
@@ -312,10 +312,12 @@ const subagentAcceptedStructuredContent = (input) => {
312
312
  if (input.parentRunId !== void 0) structuredContent.parent_run_id = input.parentRunId;
313
313
  return structuredContent;
314
314
  };
315
- /** Acceptance is a tool completion, never a child completion or usage delta. */
315
+ /** Acceptance is a tool completion, never a child completion or usage delta.
316
+ * Hosts own completion delivery and any observation tools; registration supplies neither.
317
+ */
316
318
  const makeSubagentAcceptedToolResult = (input) => ToolResult.make({
317
319
  toolCallId: input.callId,
318
- content: `Subagent accepted. Use subagent_status or subagent_wait with tool_call_id=${input.callId}${input.parentRunId === void 0 ? "" : ` and parent_run_id=${input.parentRunId}`}.`,
320
+ content: `Subagent accepted, not completed. Reference: tool_call_id=${input.callId}${input.parentRunId === void 0 ? "" : ` and parent_run_id=${input.parentRunId}`}. Completion delivery and observation follow the host instructions.`,
319
321
  structuredContent: subagentAcceptedStructuredContent(input)
320
322
  });
321
323
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"subagent.mjs","names":["Schema"],"sources":["../../src/tools/subagent.ts"],"sourcesContent":["import { Effect, Predicate } from 'effect'\nimport * as Schema from 'effect/Schema'\nimport { ToolError } from '@yolk-sdk/agent/loop'\nimport {\n addAgentUsage,\n assistantContent,\n AgentUsage,\n contentText,\n isTerminalAgentEvent,\n makeSubagentRunId,\n ToolResult,\n type AgentErrorCode,\n type AgentEvent,\n type AgentMessage,\n type AgentReasoningEffort,\n type HitlRequest,\n type ProviderErrorInfo,\n type ToolCall,\n zeroAgentUsage\n} from '@yolk-sdk/agent/protocol'\nimport { subagentToolName } from '../protocol/tool.ts'\nimport {\n makeTool,\n modelVisibleToolError,\n type ModelVisibleToolError,\n type ToolModule,\n type ToolRegistration,\n type ToolRegistryError\n} from './registry.ts'\n\nexport { subagentToolName }\n\nconst SubagentToolBaseFields = {\n description: Schema.String.pipe(\n Schema.annotate({ description: 'A short 3-5 word description of the task.' })\n ),\n prompt: Schema.String.pipe(\n Schema.annotate({\n description:\n 'The complete task instructions for the subagent, including all context it needs.'\n })\n ),\n subagent_type: Schema.String.pipe(\n Schema.annotate({ description: 'The specialized subagent type to use for this task.' })\n )\n}\n\nexport type SubagentToolParams = {\n readonly description: string\n readonly prompt: string\n readonly subagent_type: string\n readonly model?: string\n readonly reasoning_effort?: AgentReasoningEffort\n readonly background?: boolean\n}\n\nexport type SubagentDefinition = {\n readonly name: string\n readonly description: string\n}\n\nexport type SubagentModelDefinition = {\n readonly id: string\n readonly description: string\n}\n\nexport type SubagentReasoningEffortDefinition = {\n readonly value: AgentReasoningEffort\n readonly description: string\n}\n\nexport type SubagentRuntimeSelectionOptions = {\n /** Opt-in only: inline hosts do not advertise background execution. */\n readonly background?: boolean\n readonly models?: ReadonlyArray<SubagentModelDefinition>\n readonly reasoningEfforts?: ReadonlyArray<SubagentReasoningEffortDefinition>\n}\n\nexport type SubagentContext = {\n readonly subagent?: boolean\n}\n\nexport type SubagentExecutionInput<Context> = {\n readonly call: ToolCall\n readonly context: Context\n readonly params: SubagentToolParams\n}\n\nexport type SubagentToolOptions<Context> = SubagentRuntimeSelectionOptions & {\n readonly subagents: ReadonlyArray<SubagentDefinition>\n readonly isEnabled?: (context: Context) => Effect.Effect<boolean, ToolRegistryError>\n readonly execute: (input: SubagentExecutionInput<Context>) => Effect.Effect<ToolResult, ToolError>\n}\n\nexport type SubagentRunError = {\n readonly code: AgentErrorCode\n readonly message: string\n readonly retryable: boolean\n readonly provider?: ProviderErrorInfo\n}\n\nexport type SubagentRunStatus = 'completed' | 'awaiting_input' | 'error'\n\nexport type SubagentRunResult = {\n readonly status: SubagentRunStatus\n readonly text: string\n readonly usage?: AgentUsage\n readonly turns?: number\n readonly requests?: ReadonlyArray<HitlRequest>\n readonly error?: SubagentRunError\n}\n\nexport type SubagentToolResultInput = {\n readonly callId: string\n readonly output: string\n readonly subagentType: string\n readonly description: string\n readonly subagentRunId: string\n readonly startedAtMs: number\n readonly endedAtMs: number\n readonly model: string\n readonly reasoningEffort?: AgentReasoningEffort\n readonly usage?: AgentUsage\n readonly turns?: number\n readonly status?: SubagentRunStatus\n readonly requests?: ReadonlyArray<HitlRequest>\n readonly error?: SubagentRunError\n readonly isError?: boolean\n}\n\ntype SubagentToolParamsFields = {\n readonly description: string\n readonly prompt: string\n readonly subagent_type: string\n model?: string\n reasoning_effort?: AgentReasoningEffort\n background?: boolean\n}\n\ntype SubagentProviderMetadataFields = {\n readonly provider: string\n readonly kind: ProviderErrorInfo['kind']\n status?: number\n provider_code?: string\n retry_after_ms?: number\n}\n\ntype SubagentUsageInputMetadataFields = {\n readonly total: number\n uncached?: number\n cache_read?: number\n cache_write?: number\n}\n\ntype SubagentUsageOutputMetadataFields = {\n readonly total: number\n text?: number\n reasoning?: number\n}\n\ntype SubagentUsageMetadataFields = {\n readonly input: SubagentUsageInputMetadataFields\n readonly output: SubagentUsageOutputMetadataFields\n}\n\ntype SubagentErrorMetadataFields = {\n readonly code: AgentErrorCode\n readonly message: string\n readonly retryable: boolean\n provider?: SubagentProviderMetadataFields\n}\n\ntype SubagentRunErrorFields = {\n readonly code: AgentErrorCode\n readonly message: string\n readonly retryable: boolean\n provider?: ProviderErrorInfo\n}\n\ntype SubagentRunResultFields = {\n readonly status: SubagentRunStatus\n readonly text: string\n usage?: AgentUsage\n turns?: number\n requests?: ReadonlyArray<HitlRequest>\n error?: SubagentRunErrorFields\n}\n\ntype SubagentToolResultStructuredContentFields = {\n readonly subagent_run_id: string\n readonly subagent_type: string\n readonly description: string\n readonly started_at_ms: number\n readonly ended_at_ms: number\n readonly duration_ms: number\n readonly status: SubagentRunStatus\n readonly model: string\n reasoning_effort?: AgentReasoningEffort\n usage?: SubagentUsageMetadataFields\n turns?: number\n hitl_requests?: ReadonlyArray<HitlRequest>\n error?: SubagentErrorMetadataFields\n}\n\ntype SubagentAcceptedStructuredContentFields = {\n readonly type: 'subagent_accepted'\n readonly status: 'accepted'\n readonly subagent_run_id: string\n readonly workflow_run_id: string\n parent_run_id?: string\n}\n\ntype SubagentAgentInputUsageFields = {\n readonly total: number\n uncached?: number\n cacheRead?: number\n cacheWrite?: number\n}\n\ntype SubagentAgentOutputUsageFields = {\n readonly total: number\n text?: number\n reasoning?: number\n}\n\nconst subagentToolError = (message: string, cause: ToolError['cause']) =>\n new ToolError({\n tool: subagentToolName,\n message,\n cause\n })\n\nconst subagentModelVisibleError = (message: string) =>\n modelVisibleToolError({\n tool: subagentToolName,\n message,\n reason: 'validation'\n })\n\nconst enumRecord = <Value extends string>(\n values: ReadonlyArray<Value>\n): Readonly<Record<string, Value>> => Object.fromEntries(values.map(value => [value, value]))\n\nconst optionalRuntimeSelection = <Value extends string>(input: {\n readonly values: ReadonlyArray<Value>\n readonly description: string\n}) =>\n Schema.optionalKey(\n Schema.Enum(enumRecord(input.values)).pipe(Schema.annotate({ description: input.description }))\n )\n\nconst configuredSubagentToolParams = (options: SubagentRuntimeSelectionOptions) => {\n const fields = {\n ...SubagentToolBaseFields,\n background: Schema.optionalKey(\n Schema.Boolean.pipe(\n Schema.annotate({\n description:\n 'Return an accepted handle immediately; use subagent_status or subagent_wait to read the result.'\n })\n )\n )\n }\n\n const model =\n options.models === undefined || options.models.length === 0\n ? undefined\n : optionalRuntimeSelection({\n values: options.models.map(item => item.id),\n description: 'Model for this subagent. Omit to inherit the host runtime model.'\n })\n\n const reasoningEffort =\n options.reasoningEfforts === undefined || options.reasoningEfforts.length === 0\n ? undefined\n : optionalRuntimeSelection({\n values: options.reasoningEfforts.map(item => item.value),\n description:\n 'Reasoning effort for this subagent. Omit to inherit the host runtime effort.'\n })\n\n if (model !== undefined && reasoningEffort !== undefined) {\n return options.background === true\n ? Schema.Struct({ ...fields, model, reasoning_effort: reasoningEffort })\n : Schema.Struct({ ...SubagentToolBaseFields, model, reasoning_effort: reasoningEffort })\n }\n\n if (model !== undefined) {\n return options.background === true\n ? Schema.Struct({ ...fields, model })\n : Schema.Struct({ ...SubagentToolBaseFields, model })\n }\n\n if (reasoningEffort !== undefined) {\n return options.background === true\n ? Schema.Struct({ ...fields, reasoning_effort: reasoningEffort })\n : Schema.Struct({ ...SubagentToolBaseFields, reasoning_effort: reasoningEffort })\n }\n\n return options.background === true ? Schema.Struct(fields) : Schema.Struct(SubagentToolBaseFields)\n}\n\nconst trimmedSubagentParams = (params: SubagentToolParams): SubagentToolParams => {\n const trimmed: SubagentToolParamsFields = {\n description: params.description.trim(),\n prompt: params.prompt.trim(),\n subagent_type: params.subagent_type.trim()\n }\n\n if (params.background !== undefined) {\n trimmed.background = params.background\n }\n\n if (params.model !== undefined) {\n trimmed.model = params.model\n }\n\n if (params.reasoning_effort !== undefined) {\n trimmed.reasoning_effort = params.reasoning_effort\n }\n\n return trimmed\n}\n\nconst validateSubagentParams = (\n params: SubagentToolParams\n): Effect.Effect<SubagentToolParams, ModelVisibleToolError> => {\n const trimmed = trimmedSubagentParams(params)\n\n if (trimmed.description.length === 0) {\n return Effect.fail(subagentModelVisibleError('description must not be empty'))\n }\n\n if (trimmed.prompt.length === 0) {\n return Effect.fail(subagentModelVisibleError('prompt must not be empty'))\n }\n\n if (trimmed.subagent_type.length === 0) {\n return Effect.fail(subagentModelVisibleError('subagent_type must not be empty'))\n }\n\n return Effect.succeed(trimmed)\n}\n\nconst findSubagent = (subagents: ReadonlyArray<SubagentDefinition>, name: string) =>\n subagents.find(subagent => subagent.name === name)\n\nconst requireKnownSubagent = (\n subagents: ReadonlyArray<SubagentDefinition>,\n name: string\n): Effect.Effect<SubagentDefinition, ModelVisibleToolError> => {\n const subagent = findSubagent(subagents, name)\n\n return subagent === undefined\n ? Effect.fail(subagentModelVisibleError(`Unknown subagent type: ${name}`))\n : Effect.succeed(subagent)\n}\n\nconst subagentDescription = (subagent: SubagentDefinition) =>\n `- ${subagent.name}: ${subagent.description}`\n\nconst modelDescription = (model: SubagentModelDefinition) => `- ${model.id}: ${model.description}`\n\nconst reasoningEffortDescription = (effort: SubagentReasoningEffortDefinition) =>\n `- ${effort.value}: ${effort.description}`\n\nconst subagentToolDescription = (\n options: SubagentRuntimeSelectionOptions & {\n readonly subagents: ReadonlyArray<SubagentDefinition>\n }\n) =>\n [\n 'Launch a new agent to handle complex, multistep tasks autonomously.',\n 'Use this when delegating focused work to a specialized subagent would save context or allow parallel exploration.',\n 'To run subagents in parallel, call this subagent tool multiple times in the same assistant response.',\n 'Yolk runs same-turn subagent calls concurrently automatically.',\n 'A fresh subagent only sees the prompt you provide, so include all required context.',\n 'Subagents can use their normal tools but cannot launch further subagents in v1.',\n options.subagents.length === 0\n ? 'No subagent types are currently available.'\n : `Available subagent types:\\n${options.subagents.map(subagentDescription).join('\\n')}`,\n options.models === undefined || options.models.length === 0\n ? undefined\n : [\n 'Available subagent models:',\n options.models.map(modelDescription).join('\\n'),\n 'Omit model to inherit the host runtime model.'\n ].join('\\n'),\n options.reasoningEfforts === undefined || options.reasoningEfforts.length === 0\n ? undefined\n : [\n 'Available subagent reasoning efforts:',\n options.reasoningEfforts.map(reasoningEffortDescription).join('\\n'),\n 'Omit reasoning_effort to inherit the host runtime effort.'\n ].join('\\n')\n ]\n .filter(section => section !== undefined)\n .join('\\n\\n')\n\nexport const makeSubagentToolRegistration = <Context>(\n options: SubagentToolOptions<Context>\n): ToolRegistration<Context> =>\n makeTool({\n name: subagentToolName,\n description: subagentToolDescription(options),\n parameters: configuredSubagentToolParams(options),\n access: 'read',\n isEnabled: options.isEnabled,\n invalidParamsMessage: error =>\n `Invalid subagent arguments: ${error instanceof Error ? error.message : String(error)}`,\n execute: ({ call, context, params }) =>\n Effect.gen(function* () {\n if (call.name !== subagentToolName) {\n return yield* Effect.fail(\n subagentToolError(`Tool is not configured: ${call.name}`, 'not_found')\n )\n }\n\n const normalizedParams = yield* validateSubagentParams(params)\n yield* requireKnownSubagent(options.subagents, normalizedParams.subagent_type)\n\n return yield* options.execute({ call, context, params: normalizedParams })\n })\n })\n\nexport const makeSubagentToolDef = (\n subagents: ReadonlyArray<SubagentDefinition>,\n runtimeSelections: SubagentRuntimeSelectionOptions = {}\n) =>\n makeSubagentToolRegistration({\n subagents,\n ...runtimeSelections,\n execute: ({ call }) => Effect.succeed(ToolResult.make({ toolCallId: call.id, content: '' }))\n }).def\n\nexport const makeSubagentToolModule = <Context>(\n options: SubagentToolOptions<Context>\n): ToolModule<Context> => ({\n id: subagentToolName,\n tools: [makeSubagentToolRegistration(options)]\n})\n\nexport const makeNonRecursiveSubagentToolModule = <Context extends SubagentContext>(\n options: SubagentToolOptions<Context>\n): ToolModule<Context> =>\n makeSubagentToolModule({\n ...options,\n isEnabled: context =>\n context.subagent === true\n ? Effect.succeed(false)\n : options.isEnabled === undefined\n ? Effect.succeed(true)\n : options.isEnabled(context)\n })\n\nexport const formatSubagentResult = (output: string) =>\n ['<subagent_result>', output, '</subagent_result>'].join('\\n')\n\nexport const subagentToolRunId = makeSubagentRunId\n\nconst latestAssistantText = (messages: ReadonlyArray<AgentMessage>) => {\n const assistant = [...messages]\n .reverse()\n .find(message => Predicate.isTagged(message, 'Assistant'))\n\n return assistant === undefined ? '' : contentText(assistantContent(assistant))\n}\n\nconst subagentProviderMetadata = (provider: ProviderErrorInfo): SubagentProviderMetadataFields => {\n const metadata: SubagentProviderMetadataFields = {\n provider: provider.provider,\n kind: provider.kind\n }\n\n if (provider.status !== undefined) {\n metadata.status = provider.status\n }\n\n if (provider.providerCode !== undefined) {\n metadata.provider_code = provider.providerCode\n }\n\n if (provider.retryAfterMs !== undefined) {\n metadata.retry_after_ms = provider.retryAfterMs\n }\n\n return metadata\n}\n\nconst subagentUsageInputMetadata = (usage: AgentUsage): SubagentUsageInputMetadataFields => {\n const input: SubagentUsageInputMetadataFields = {\n total: usage.input.total\n }\n\n if (usage.input.uncached !== undefined) {\n input.uncached = usage.input.uncached\n }\n\n if (usage.input.cacheRead !== undefined) {\n input.cache_read = usage.input.cacheRead\n }\n\n if (usage.input.cacheWrite !== undefined) {\n input.cache_write = usage.input.cacheWrite\n }\n\n return input\n}\n\nconst subagentUsageOutputMetadata = (usage: AgentUsage): SubagentUsageOutputMetadataFields => {\n const output: SubagentUsageOutputMetadataFields = {\n total: usage.output.total\n }\n\n if (usage.output.text !== undefined) {\n output.text = usage.output.text\n }\n\n if (usage.output.reasoning !== undefined) {\n output.reasoning = usage.output.reasoning\n }\n\n return output\n}\n\nconst subagentUsageMetadata = (usage: AgentUsage): SubagentUsageMetadataFields => ({\n input: subagentUsageInputMetadata(usage),\n output: subagentUsageOutputMetadata(usage)\n})\n\nconst subagentErrorMetadata = (error: SubagentRunError): SubagentErrorMetadataFields => {\n const metadata: SubagentErrorMetadataFields = {\n code: error.code,\n message: error.message,\n retryable: error.retryable\n }\n\n if (error.provider !== undefined) {\n metadata.provider = subagentProviderMetadata(error.provider)\n }\n\n return metadata\n}\n\nconst SubagentUsageMetadata = Schema.Struct({\n input: Schema.Struct({\n total: Schema.Number,\n uncached: Schema.optional(Schema.Number),\n cache_read: Schema.optional(Schema.Number),\n cache_write: Schema.optional(Schema.Number)\n }),\n output: Schema.Struct({\n total: Schema.Number,\n text: Schema.optional(Schema.Number),\n reasoning: Schema.optional(Schema.Number)\n })\n})\n\nconst SubagentStructuredUsage = Schema.Struct({\n subagent_run_id: Schema.String,\n subagent_type: Schema.String,\n usage: SubagentUsageMetadata\n})\n\nconst subagentAgentInputUsageFromMetadata = (\n usage: SubagentUsageMetadataFields\n): SubagentAgentInputUsageFields => {\n const input: SubagentAgentInputUsageFields = {\n total: usage.input.total\n }\n\n if (usage.input.uncached !== undefined) {\n input.uncached = usage.input.uncached\n }\n\n if (usage.input.cache_read !== undefined) {\n input.cacheRead = usage.input.cache_read\n }\n\n if (usage.input.cache_write !== undefined) {\n input.cacheWrite = usage.input.cache_write\n }\n\n return input\n}\n\nconst subagentAgentOutputUsageFromMetadata = (\n usage: SubagentUsageMetadataFields\n): SubagentAgentOutputUsageFields => {\n const output: SubagentAgentOutputUsageFields = {\n total: usage.output.total\n }\n\n if (usage.output.text !== undefined) {\n output.text = usage.output.text\n }\n\n if (usage.output.reasoning !== undefined) {\n output.reasoning = usage.output.reasoning\n }\n\n return output\n}\n\nexport const subagentUsageFromToolResult = (result: ToolResult): AgentUsage | undefined => {\n if (\n !Schema.is(SubagentStructuredUsage)(result.structuredContent) ||\n result.structuredContent.subagent_run_id !== subagentToolRunId(result.toolCallId)\n ) {\n return undefined\n }\n\n const usage = result.structuredContent.usage\n\n return AgentUsage.make({\n input: subagentAgentInputUsageFromMetadata(usage),\n output: subagentAgentOutputUsageFromMetadata(usage)\n })\n}\n\nconst subagentRunErrorFromAgentError = (error: SubagentRunError): SubagentRunErrorFields => {\n const result: SubagentRunErrorFields = {\n code: error.code,\n message: error.message,\n retryable: error.retryable\n }\n\n if (error.provider !== undefined) {\n result.provider = error.provider\n }\n\n return result\n}\n\nexport const subagentResultFromEvents = (events: ReadonlyArray<AgentEvent>): SubagentRunResult => {\n const terminal = [...events].reverse().find(isTerminalAgentEvent)\n const usageUpdates = events.filter(event => Predicate.isTagged(event, 'UsageUpdate'))\n\n const usage = usageUpdates.reduce(\n (total, event) => addAgentUsage(total, event.usage),\n zeroAgentUsage\n )\n\n const turns = events.reduce(\n (latest, event) =>\n Predicate.isTagged(event, 'TurnStart') ? Math.max(latest, event.turn) : latest,\n 0\n )\n\n if (terminal === undefined) {\n const message = 'Subagent stream ended without a terminal event.'\n\n const result: SubagentRunResultFields = {\n status: 'error',\n text: `Subagent failed: ${message}`\n }\n\n if (usageUpdates.length !== 0) {\n result.usage = usage\n }\n\n if (turns !== 0) {\n result.turns = turns\n }\n\n result.error = {\n code: 'invalid_response',\n message,\n retryable: false\n }\n\n return result\n }\n\n if (Predicate.isTagged(terminal, 'AgentError')) {\n const result: SubagentRunResultFields = {\n status: 'error',\n text: `Subagent failed: ${terminal.message}`\n }\n\n if (usageUpdates.length !== 0) {\n result.usage = usage\n }\n\n if (turns !== 0) {\n result.turns = turns\n }\n\n result.error = subagentRunErrorFromAgentError(terminal)\n\n return result\n }\n\n const text = latestAssistantText(terminal.messages).trim()\n\n const result: SubagentRunResultFields = {\n status: Predicate.isTagged(terminal, 'AgentAwaitingInput') ? 'awaiting_input' : 'completed',\n text: text.length === 0 ? 'Subagent completed without a final text response.' : text,\n usage: terminal.usage,\n turns: terminal.turns\n }\n\n if (Predicate.isTagged(terminal, 'AgentAwaitingInput')) {\n result.requests = terminal.requests\n }\n\n return result\n}\n\nexport const subagentResultText = (events: ReadonlyArray<AgentEvent>) =>\n subagentResultFromEvents(events).text\n\nconst subagentToolResultStructuredContent = (\n input: SubagentToolResultInput,\n status: SubagentRunStatus\n): SubagentToolResultStructuredContentFields => {\n const structuredContent: SubagentToolResultStructuredContentFields = {\n subagent_run_id: input.subagentRunId,\n subagent_type: input.subagentType,\n description: input.description,\n started_at_ms: input.startedAtMs,\n ended_at_ms: input.endedAtMs,\n duration_ms: Math.max(0, input.endedAtMs - input.startedAtMs),\n status,\n model: input.model\n }\n\n if (input.reasoningEffort !== undefined) {\n structuredContent.reasoning_effort = input.reasoningEffort\n }\n\n if (input.usage !== undefined) {\n structuredContent.usage = subagentUsageMetadata(input.usage)\n }\n\n if (input.turns !== undefined) {\n structuredContent.turns = input.turns\n }\n\n if (input.requests !== undefined) {\n structuredContent.hitl_requests = input.requests\n }\n\n if (input.error !== undefined) {\n structuredContent.error = subagentErrorMetadata(input.error)\n }\n\n return structuredContent\n}\n\nexport const makeSubagentToolResult = (input: SubagentToolResultInput) => {\n const isError = input.isError === true || input.error !== undefined || input.status === 'error'\n const status = isError ? 'error' : (input.status ?? 'completed')\n\n return ToolResult.make({\n toolCallId: input.callId,\n content: formatSubagentResult(input.output),\n isError: isError ? true : undefined,\n structuredContent: subagentToolResultStructuredContent(input, status)\n })\n}\n\nconst subagentAcceptedStructuredContent = (input: {\n readonly callId: string\n readonly workflowRunId: string\n readonly parentRunId?: string\n}): SubagentAcceptedStructuredContentFields => {\n const structuredContent: SubagentAcceptedStructuredContentFields = {\n type: 'subagent_accepted',\n status: 'accepted',\n subagent_run_id: makeSubagentRunId(input.callId),\n workflow_run_id: input.workflowRunId\n }\n\n if (input.parentRunId !== undefined) {\n structuredContent.parent_run_id = input.parentRunId\n }\n\n return structuredContent\n}\n\n/** Acceptance is a tool completion, never a child completion or usage delta. */\nexport const makeSubagentAcceptedToolResult = (input: {\n readonly callId: string\n readonly workflowRunId: string\n readonly parentRunId?: string\n}) =>\n ToolResult.make({\n toolCallId: input.callId,\n content: `Subagent accepted. Use subagent_status or subagent_wait with tool_call_id=${input.callId}${input.parentRunId === undefined ? '' : ` and parent_run_id=${input.parentRunId}`}.`,\n structuredContent: subagentAcceptedStructuredContent(input)\n })\n"],"mappings":"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"}
1
+ {"version":3,"file":"subagent.mjs","names":["Schema"],"sources":["../../src/tools/subagent.ts"],"sourcesContent":["import { Effect, Predicate } from 'effect'\nimport * as Schema from 'effect/Schema'\nimport { ToolError } from '@yolk-sdk/agent/loop'\nimport {\n addAgentUsage,\n assistantContent,\n AgentUsage,\n contentText,\n isTerminalAgentEvent,\n makeSubagentRunId,\n ToolResult,\n type AgentErrorCode,\n type AgentEvent,\n type AgentMessage,\n type AgentReasoningEffort,\n type HitlRequest,\n type ProviderErrorInfo,\n type ToolCall,\n zeroAgentUsage\n} from '@yolk-sdk/agent/protocol'\nimport { subagentToolName } from '../protocol/tool.ts'\nimport {\n makeTool,\n modelVisibleToolError,\n type ModelVisibleToolError,\n type ToolModule,\n type ToolRegistration,\n type ToolRegistryError\n} from './registry.ts'\n\nexport { subagentToolName }\n\nconst SubagentToolBaseFields = {\n description: Schema.String.pipe(\n Schema.annotate({ description: 'A short 3-5 word description of the task.' })\n ),\n prompt: Schema.String.pipe(\n Schema.annotate({\n description:\n 'The complete task instructions for the subagent, including all context it needs.'\n })\n ),\n subagent_type: Schema.String.pipe(\n Schema.annotate({ description: 'The specialized subagent type to use for this task.' })\n )\n}\n\nexport type SubagentToolParams = {\n readonly description: string\n readonly prompt: string\n readonly subagent_type: string\n readonly model?: string\n readonly reasoning_effort?: AgentReasoningEffort\n readonly background?: boolean\n}\n\nexport type SubagentDefinition = {\n readonly name: string\n readonly description: string\n}\n\nexport type SubagentModelDefinition = {\n readonly id: string\n readonly description: string\n}\n\nexport type SubagentReasoningEffortDefinition = {\n readonly value: AgentReasoningEffort\n readonly description: string\n}\n\nexport type SubagentRuntimeSelectionOptions = {\n /** Opt-in only: inline hosts do not advertise background execution. */\n readonly background?: boolean\n readonly models?: ReadonlyArray<SubagentModelDefinition>\n readonly reasoningEfforts?: ReadonlyArray<SubagentReasoningEffortDefinition>\n}\n\nexport type SubagentContext = {\n readonly subagent?: boolean\n}\n\nexport type SubagentExecutionInput<Context> = {\n readonly call: ToolCall\n readonly context: Context\n readonly params: SubagentToolParams\n}\n\nexport type SubagentToolOptions<Context> = SubagentRuntimeSelectionOptions & {\n readonly subagents: ReadonlyArray<SubagentDefinition>\n readonly isEnabled?: (context: Context) => Effect.Effect<boolean, ToolRegistryError>\n readonly execute: (input: SubagentExecutionInput<Context>) => Effect.Effect<ToolResult, ToolError>\n}\n\nexport type SubagentRunError = {\n readonly code: AgentErrorCode\n readonly message: string\n readonly retryable: boolean\n readonly provider?: ProviderErrorInfo\n}\n\nexport type SubagentRunStatus = 'completed' | 'awaiting_input' | 'error'\n\nexport type SubagentRunResult = {\n readonly status: SubagentRunStatus\n readonly text: string\n readonly usage?: AgentUsage\n readonly turns?: number\n readonly requests?: ReadonlyArray<HitlRequest>\n readonly error?: SubagentRunError\n}\n\nexport type SubagentToolResultInput = {\n readonly callId: string\n readonly output: string\n readonly subagentType: string\n readonly description: string\n readonly subagentRunId: string\n readonly startedAtMs: number\n readonly endedAtMs: number\n readonly model: string\n readonly reasoningEffort?: AgentReasoningEffort\n readonly usage?: AgentUsage\n readonly turns?: number\n readonly status?: SubagentRunStatus\n readonly requests?: ReadonlyArray<HitlRequest>\n readonly error?: SubagentRunError\n readonly isError?: boolean\n}\n\ntype SubagentToolParamsFields = {\n readonly description: string\n readonly prompt: string\n readonly subagent_type: string\n model?: string\n reasoning_effort?: AgentReasoningEffort\n background?: boolean\n}\n\ntype SubagentProviderMetadataFields = {\n readonly provider: string\n readonly kind: ProviderErrorInfo['kind']\n status?: number\n provider_code?: string\n retry_after_ms?: number\n}\n\ntype SubagentUsageInputMetadataFields = {\n readonly total: number\n uncached?: number\n cache_read?: number\n cache_write?: number\n}\n\ntype SubagentUsageOutputMetadataFields = {\n readonly total: number\n text?: number\n reasoning?: number\n}\n\ntype SubagentUsageMetadataFields = {\n readonly input: SubagentUsageInputMetadataFields\n readonly output: SubagentUsageOutputMetadataFields\n}\n\ntype SubagentErrorMetadataFields = {\n readonly code: AgentErrorCode\n readonly message: string\n readonly retryable: boolean\n provider?: SubagentProviderMetadataFields\n}\n\ntype SubagentRunErrorFields = {\n readonly code: AgentErrorCode\n readonly message: string\n readonly retryable: boolean\n provider?: ProviderErrorInfo\n}\n\ntype SubagentRunResultFields = {\n readonly status: SubagentRunStatus\n readonly text: string\n usage?: AgentUsage\n turns?: number\n requests?: ReadonlyArray<HitlRequest>\n error?: SubagentRunErrorFields\n}\n\ntype SubagentToolResultStructuredContentFields = {\n readonly subagent_run_id: string\n readonly subagent_type: string\n readonly description: string\n readonly started_at_ms: number\n readonly ended_at_ms: number\n readonly duration_ms: number\n readonly status: SubagentRunStatus\n readonly model: string\n reasoning_effort?: AgentReasoningEffort\n usage?: SubagentUsageMetadataFields\n turns?: number\n hitl_requests?: ReadonlyArray<HitlRequest>\n error?: SubagentErrorMetadataFields\n}\n\ntype SubagentAcceptedStructuredContentFields = {\n readonly type: 'subagent_accepted'\n readonly status: 'accepted'\n readonly subagent_run_id: string\n readonly workflow_run_id: string\n parent_run_id?: string\n}\n\ntype SubagentAgentInputUsageFields = {\n readonly total: number\n uncached?: number\n cacheRead?: number\n cacheWrite?: number\n}\n\ntype SubagentAgentOutputUsageFields = {\n readonly total: number\n text?: number\n reasoning?: number\n}\n\nconst subagentToolError = (message: string, cause: ToolError['cause']) =>\n new ToolError({\n tool: subagentToolName,\n message,\n cause\n })\n\nconst subagentModelVisibleError = (message: string) =>\n modelVisibleToolError({\n tool: subagentToolName,\n message,\n reason: 'validation'\n })\n\nconst enumRecord = <Value extends string>(\n values: ReadonlyArray<Value>\n): Readonly<Record<string, Value>> => Object.fromEntries(values.map(value => [value, value]))\n\nconst optionalRuntimeSelection = <Value extends string>(input: {\n readonly values: ReadonlyArray<Value>\n readonly description: string\n}) =>\n Schema.optionalKey(\n Schema.Enum(enumRecord(input.values)).pipe(Schema.annotate({ description: input.description }))\n )\n\nconst configuredSubagentToolParams = (options: SubagentRuntimeSelectionOptions) => {\n const fields = {\n ...SubagentToolBaseFields,\n background: Schema.optionalKey(\n Schema.Boolean.pipe(\n Schema.annotate({\n description:\n 'Return an accepted handle immediately, not the completed result. Completion delivery and observation follow the host instructions.'\n })\n )\n )\n }\n\n const model =\n options.models === undefined || options.models.length === 0\n ? undefined\n : optionalRuntimeSelection({\n values: options.models.map(item => item.id),\n description: 'Model for this subagent. Omit to inherit the host runtime model.'\n })\n\n const reasoningEffort =\n options.reasoningEfforts === undefined || options.reasoningEfforts.length === 0\n ? undefined\n : optionalRuntimeSelection({\n values: options.reasoningEfforts.map(item => item.value),\n description:\n 'Reasoning effort for this subagent. Omit to inherit the host runtime effort.'\n })\n\n if (model !== undefined && reasoningEffort !== undefined) {\n return options.background === true\n ? Schema.Struct({ ...fields, model, reasoning_effort: reasoningEffort })\n : Schema.Struct({ ...SubagentToolBaseFields, model, reasoning_effort: reasoningEffort })\n }\n\n if (model !== undefined) {\n return options.background === true\n ? Schema.Struct({ ...fields, model })\n : Schema.Struct({ ...SubagentToolBaseFields, model })\n }\n\n if (reasoningEffort !== undefined) {\n return options.background === true\n ? Schema.Struct({ ...fields, reasoning_effort: reasoningEffort })\n : Schema.Struct({ ...SubagentToolBaseFields, reasoning_effort: reasoningEffort })\n }\n\n return options.background === true ? Schema.Struct(fields) : Schema.Struct(SubagentToolBaseFields)\n}\n\nconst trimmedSubagentParams = (params: SubagentToolParams): SubagentToolParams => {\n const trimmed: SubagentToolParamsFields = {\n description: params.description.trim(),\n prompt: params.prompt.trim(),\n subagent_type: params.subagent_type.trim()\n }\n\n if (params.background !== undefined) {\n trimmed.background = params.background\n }\n\n if (params.model !== undefined) {\n trimmed.model = params.model\n }\n\n if (params.reasoning_effort !== undefined) {\n trimmed.reasoning_effort = params.reasoning_effort\n }\n\n return trimmed\n}\n\nconst validateSubagentParams = (\n params: SubagentToolParams\n): Effect.Effect<SubagentToolParams, ModelVisibleToolError> => {\n const trimmed = trimmedSubagentParams(params)\n\n if (trimmed.description.length === 0) {\n return Effect.fail(subagentModelVisibleError('description must not be empty'))\n }\n\n if (trimmed.prompt.length === 0) {\n return Effect.fail(subagentModelVisibleError('prompt must not be empty'))\n }\n\n if (trimmed.subagent_type.length === 0) {\n return Effect.fail(subagentModelVisibleError('subagent_type must not be empty'))\n }\n\n return Effect.succeed(trimmed)\n}\n\nconst findSubagent = (subagents: ReadonlyArray<SubagentDefinition>, name: string) =>\n subagents.find(subagent => subagent.name === name)\n\nconst requireKnownSubagent = (\n subagents: ReadonlyArray<SubagentDefinition>,\n name: string\n): Effect.Effect<SubagentDefinition, ModelVisibleToolError> => {\n const subagent = findSubagent(subagents, name)\n\n return subagent === undefined\n ? Effect.fail(subagentModelVisibleError(`Unknown subagent type: ${name}`))\n : Effect.succeed(subagent)\n}\n\nconst subagentDescription = (subagent: SubagentDefinition) =>\n `- ${subagent.name}: ${subagent.description}`\n\nconst modelDescription = (model: SubagentModelDefinition) => `- ${model.id}: ${model.description}`\n\nconst reasoningEffortDescription = (effort: SubagentReasoningEffortDefinition) =>\n `- ${effort.value}: ${effort.description}`\n\nconst subagentToolDescription = (\n options: SubagentRuntimeSelectionOptions & {\n readonly subagents: ReadonlyArray<SubagentDefinition>\n }\n) =>\n [\n 'Launch a new agent to handle complex, multistep tasks autonomously.',\n 'Use this when delegating focused work to a specialized subagent would save context or allow parallel exploration.',\n 'To run subagents in parallel, call this subagent tool multiple times in the same assistant response.',\n 'Yolk runs same-turn subagent calls concurrently automatically.',\n 'A fresh subagent only sees the prompt you provide, so include all required context.',\n 'Subagents can use their normal tools but cannot launch further subagents in v1.',\n options.subagents.length === 0\n ? 'No subagent types are currently available.'\n : `Available subagent types:\\n${options.subagents.map(subagentDescription).join('\\n')}`,\n options.models === undefined || options.models.length === 0\n ? undefined\n : [\n 'Available subagent models:',\n options.models.map(modelDescription).join('\\n'),\n 'Omit model to inherit the host runtime model.'\n ].join('\\n'),\n options.reasoningEfforts === undefined || options.reasoningEfforts.length === 0\n ? undefined\n : [\n 'Available subagent reasoning efforts:',\n options.reasoningEfforts.map(reasoningEffortDescription).join('\\n'),\n 'Omit reasoning_effort to inherit the host runtime effort.'\n ].join('\\n')\n ]\n .filter(section => section !== undefined)\n .join('\\n\\n')\n\nexport const makeSubagentToolRegistration = <Context>(\n options: SubagentToolOptions<Context>\n): ToolRegistration<Context> =>\n makeTool({\n name: subagentToolName,\n description: subagentToolDescription(options),\n parameters: configuredSubagentToolParams(options),\n access: 'read',\n isEnabled: options.isEnabled,\n invalidParamsMessage: error =>\n `Invalid subagent arguments: ${error instanceof Error ? error.message : String(error)}`,\n execute: ({ call, context, params }) =>\n Effect.gen(function* () {\n if (call.name !== subagentToolName) {\n return yield* Effect.fail(\n subagentToolError(`Tool is not configured: ${call.name}`, 'not_found')\n )\n }\n\n const normalizedParams = yield* validateSubagentParams(params)\n yield* requireKnownSubagent(options.subagents, normalizedParams.subagent_type)\n\n return yield* options.execute({ call, context, params: normalizedParams })\n })\n })\n\nexport const makeSubagentToolDef = (\n subagents: ReadonlyArray<SubagentDefinition>,\n runtimeSelections: SubagentRuntimeSelectionOptions = {}\n) =>\n makeSubagentToolRegistration({\n subagents,\n ...runtimeSelections,\n execute: ({ call }) => Effect.succeed(ToolResult.make({ toolCallId: call.id, content: '' }))\n }).def\n\nexport const makeSubagentToolModule = <Context>(\n options: SubagentToolOptions<Context>\n): ToolModule<Context> => ({\n id: subagentToolName,\n tools: [makeSubagentToolRegistration(options)]\n})\n\nexport const makeNonRecursiveSubagentToolModule = <Context extends SubagentContext>(\n options: SubagentToolOptions<Context>\n): ToolModule<Context> =>\n makeSubagentToolModule({\n ...options,\n isEnabled: context =>\n context.subagent === true\n ? Effect.succeed(false)\n : options.isEnabled === undefined\n ? Effect.succeed(true)\n : options.isEnabled(context)\n })\n\nexport const formatSubagentResult = (output: string) =>\n ['<subagent_result>', output, '</subagent_result>'].join('\\n')\n\nexport const subagentToolRunId = makeSubagentRunId\n\nconst latestAssistantText = (messages: ReadonlyArray<AgentMessage>) => {\n const assistant = [...messages]\n .reverse()\n .find(message => Predicate.isTagged(message, 'Assistant'))\n\n return assistant === undefined ? '' : contentText(assistantContent(assistant))\n}\n\nconst subagentProviderMetadata = (provider: ProviderErrorInfo): SubagentProviderMetadataFields => {\n const metadata: SubagentProviderMetadataFields = {\n provider: provider.provider,\n kind: provider.kind\n }\n\n if (provider.status !== undefined) {\n metadata.status = provider.status\n }\n\n if (provider.providerCode !== undefined) {\n metadata.provider_code = provider.providerCode\n }\n\n if (provider.retryAfterMs !== undefined) {\n metadata.retry_after_ms = provider.retryAfterMs\n }\n\n return metadata\n}\n\nconst subagentUsageInputMetadata = (usage: AgentUsage): SubagentUsageInputMetadataFields => {\n const input: SubagentUsageInputMetadataFields = {\n total: usage.input.total\n }\n\n if (usage.input.uncached !== undefined) {\n input.uncached = usage.input.uncached\n }\n\n if (usage.input.cacheRead !== undefined) {\n input.cache_read = usage.input.cacheRead\n }\n\n if (usage.input.cacheWrite !== undefined) {\n input.cache_write = usage.input.cacheWrite\n }\n\n return input\n}\n\nconst subagentUsageOutputMetadata = (usage: AgentUsage): SubagentUsageOutputMetadataFields => {\n const output: SubagentUsageOutputMetadataFields = {\n total: usage.output.total\n }\n\n if (usage.output.text !== undefined) {\n output.text = usage.output.text\n }\n\n if (usage.output.reasoning !== undefined) {\n output.reasoning = usage.output.reasoning\n }\n\n return output\n}\n\nconst subagentUsageMetadata = (usage: AgentUsage): SubagentUsageMetadataFields => ({\n input: subagentUsageInputMetadata(usage),\n output: subagentUsageOutputMetadata(usage)\n})\n\nconst subagentErrorMetadata = (error: SubagentRunError): SubagentErrorMetadataFields => {\n const metadata: SubagentErrorMetadataFields = {\n code: error.code,\n message: error.message,\n retryable: error.retryable\n }\n\n if (error.provider !== undefined) {\n metadata.provider = subagentProviderMetadata(error.provider)\n }\n\n return metadata\n}\n\nconst SubagentUsageMetadata = Schema.Struct({\n input: Schema.Struct({\n total: Schema.Number,\n uncached: Schema.optional(Schema.Number),\n cache_read: Schema.optional(Schema.Number),\n cache_write: Schema.optional(Schema.Number)\n }),\n output: Schema.Struct({\n total: Schema.Number,\n text: Schema.optional(Schema.Number),\n reasoning: Schema.optional(Schema.Number)\n })\n})\n\nconst SubagentStructuredUsage = Schema.Struct({\n subagent_run_id: Schema.String,\n subagent_type: Schema.String,\n usage: SubagentUsageMetadata\n})\n\nconst subagentAgentInputUsageFromMetadata = (\n usage: SubagentUsageMetadataFields\n): SubagentAgentInputUsageFields => {\n const input: SubagentAgentInputUsageFields = {\n total: usage.input.total\n }\n\n if (usage.input.uncached !== undefined) {\n input.uncached = usage.input.uncached\n }\n\n if (usage.input.cache_read !== undefined) {\n input.cacheRead = usage.input.cache_read\n }\n\n if (usage.input.cache_write !== undefined) {\n input.cacheWrite = usage.input.cache_write\n }\n\n return input\n}\n\nconst subagentAgentOutputUsageFromMetadata = (\n usage: SubagentUsageMetadataFields\n): SubagentAgentOutputUsageFields => {\n const output: SubagentAgentOutputUsageFields = {\n total: usage.output.total\n }\n\n if (usage.output.text !== undefined) {\n output.text = usage.output.text\n }\n\n if (usage.output.reasoning !== undefined) {\n output.reasoning = usage.output.reasoning\n }\n\n return output\n}\n\nexport const subagentUsageFromToolResult = (result: ToolResult): AgentUsage | undefined => {\n if (\n !Schema.is(SubagentStructuredUsage)(result.structuredContent) ||\n result.structuredContent.subagent_run_id !== subagentToolRunId(result.toolCallId)\n ) {\n return undefined\n }\n\n const usage = result.structuredContent.usage\n\n return AgentUsage.make({\n input: subagentAgentInputUsageFromMetadata(usage),\n output: subagentAgentOutputUsageFromMetadata(usage)\n })\n}\n\nconst subagentRunErrorFromAgentError = (error: SubagentRunError): SubagentRunErrorFields => {\n const result: SubagentRunErrorFields = {\n code: error.code,\n message: error.message,\n retryable: error.retryable\n }\n\n if (error.provider !== undefined) {\n result.provider = error.provider\n }\n\n return result\n}\n\nexport const subagentResultFromEvents = (events: ReadonlyArray<AgentEvent>): SubagentRunResult => {\n const terminal = [...events].reverse().find(isTerminalAgentEvent)\n const usageUpdates = events.filter(event => Predicate.isTagged(event, 'UsageUpdate'))\n\n const usage = usageUpdates.reduce(\n (total, event) => addAgentUsage(total, event.usage),\n zeroAgentUsage\n )\n\n const turns = events.reduce(\n (latest, event) =>\n Predicate.isTagged(event, 'TurnStart') ? Math.max(latest, event.turn) : latest,\n 0\n )\n\n if (terminal === undefined) {\n const message = 'Subagent stream ended without a terminal event.'\n\n const result: SubagentRunResultFields = {\n status: 'error',\n text: `Subagent failed: ${message}`\n }\n\n if (usageUpdates.length !== 0) {\n result.usage = usage\n }\n\n if (turns !== 0) {\n result.turns = turns\n }\n\n result.error = {\n code: 'invalid_response',\n message,\n retryable: false\n }\n\n return result\n }\n\n if (Predicate.isTagged(terminal, 'AgentError')) {\n const result: SubagentRunResultFields = {\n status: 'error',\n text: `Subagent failed: ${terminal.message}`\n }\n\n if (usageUpdates.length !== 0) {\n result.usage = usage\n }\n\n if (turns !== 0) {\n result.turns = turns\n }\n\n result.error = subagentRunErrorFromAgentError(terminal)\n\n return result\n }\n\n const text = latestAssistantText(terminal.messages).trim()\n\n const result: SubagentRunResultFields = {\n status: Predicate.isTagged(terminal, 'AgentAwaitingInput') ? 'awaiting_input' : 'completed',\n text: text.length === 0 ? 'Subagent completed without a final text response.' : text,\n usage: terminal.usage,\n turns: terminal.turns\n }\n\n if (Predicate.isTagged(terminal, 'AgentAwaitingInput')) {\n result.requests = terminal.requests\n }\n\n return result\n}\n\nexport const subagentResultText = (events: ReadonlyArray<AgentEvent>) =>\n subagentResultFromEvents(events).text\n\nconst subagentToolResultStructuredContent = (\n input: SubagentToolResultInput,\n status: SubagentRunStatus\n): SubagentToolResultStructuredContentFields => {\n const structuredContent: SubagentToolResultStructuredContentFields = {\n subagent_run_id: input.subagentRunId,\n subagent_type: input.subagentType,\n description: input.description,\n started_at_ms: input.startedAtMs,\n ended_at_ms: input.endedAtMs,\n duration_ms: Math.max(0, input.endedAtMs - input.startedAtMs),\n status,\n model: input.model\n }\n\n if (input.reasoningEffort !== undefined) {\n structuredContent.reasoning_effort = input.reasoningEffort\n }\n\n if (input.usage !== undefined) {\n structuredContent.usage = subagentUsageMetadata(input.usage)\n }\n\n if (input.turns !== undefined) {\n structuredContent.turns = input.turns\n }\n\n if (input.requests !== undefined) {\n structuredContent.hitl_requests = input.requests\n }\n\n if (input.error !== undefined) {\n structuredContent.error = subagentErrorMetadata(input.error)\n }\n\n return structuredContent\n}\n\nexport const makeSubagentToolResult = (input: SubagentToolResultInput) => {\n const isError = input.isError === true || input.error !== undefined || input.status === 'error'\n const status = isError ? 'error' : (input.status ?? 'completed')\n\n return ToolResult.make({\n toolCallId: input.callId,\n content: formatSubagentResult(input.output),\n isError: isError ? true : undefined,\n structuredContent: subagentToolResultStructuredContent(input, status)\n })\n}\n\nconst subagentAcceptedStructuredContent = (input: {\n readonly callId: string\n readonly workflowRunId: string\n readonly parentRunId?: string\n}): SubagentAcceptedStructuredContentFields => {\n const structuredContent: SubagentAcceptedStructuredContentFields = {\n type: 'subagent_accepted',\n status: 'accepted',\n subagent_run_id: makeSubagentRunId(input.callId),\n workflow_run_id: input.workflowRunId\n }\n\n if (input.parentRunId !== undefined) {\n structuredContent.parent_run_id = input.parentRunId\n }\n\n return structuredContent\n}\n\n/** Acceptance is a tool completion, never a child completion or usage delta.\n * Hosts own completion delivery and any observation tools; registration supplies neither.\n */\nexport const makeSubagentAcceptedToolResult = (input: {\n readonly callId: string\n readonly workflowRunId: string\n readonly parentRunId?: string\n}) =>\n ToolResult.make({\n toolCallId: input.callId,\n content: `Subagent accepted, not completed. Reference: tool_call_id=${input.callId}${input.parentRunId === undefined ? '' : ` and parent_run_id=${input.parentRunId}`}. Completion delivery and observation follow the host instructions.`,\n structuredContent: subagentAcceptedStructuredContent(input)\n })\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yolk-sdk/agent",
3
- "version": "0.1.0-canary.87",
3
+ "version": "0.1.0-canary.89",
4
4
  "description": "Agent protocol, loop, runtime, Effect-native client, compaction, tools, React, providers, OAuth, skillset, and voice primitives.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -256,7 +256,7 @@ const configuredSubagentToolParams = (options: SubagentRuntimeSelectionOptions)
256
256
  Schema.Boolean.pipe(
257
257
  Schema.annotate({
258
258
  description:
259
- 'Return an accepted handle immediately; use subagent_status or subagent_wait to read the result.'
259
+ 'Return an accepted handle immediately, not the completed result. Completion delivery and observation follow the host instructions.'
260
260
  })
261
261
  )
262
262
  )
@@ -779,7 +779,9 @@ const subagentAcceptedStructuredContent = (input: {
779
779
  return structuredContent
780
780
  }
781
781
 
782
- /** Acceptance is a tool completion, never a child completion or usage delta. */
782
+ /** Acceptance is a tool completion, never a child completion or usage delta.
783
+ * Hosts own completion delivery and any observation tools; registration supplies neither.
784
+ */
783
785
  export const makeSubagentAcceptedToolResult = (input: {
784
786
  readonly callId: string
785
787
  readonly workflowRunId: string
@@ -787,6 +789,6 @@ export const makeSubagentAcceptedToolResult = (input: {
787
789
  }) =>
788
790
  ToolResult.make({
789
791
  toolCallId: input.callId,
790
- content: `Subagent accepted. Use subagent_status or subagent_wait with tool_call_id=${input.callId}${input.parentRunId === undefined ? '' : ` and parent_run_id=${input.parentRunId}`}.`,
792
+ content: `Subagent accepted, not completed. Reference: tool_call_id=${input.callId}${input.parentRunId === undefined ? '' : ` and parent_run_id=${input.parentRunId}`}. Completion delivery and observation follow the host instructions.`,
791
793
  structuredContent: subagentAcceptedStructuredContent(input)
792
794
  })