@adecore/agent-contracts 0.26.1 → 0.26.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/dist/chat.d.ts +40 -0
- package/dist/chat.js +21 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/protocol.d.ts +39 -0
- package/package.json +2 -2
- package/src/chat.ts +25 -1
- package/src/index.ts +1 -0
package/dist/chat.d.ts
CHANGED
|
@@ -1397,6 +1397,7 @@ export type ChatQuestionItem = z.infer<typeof ChatQuestionItemSchema>;
|
|
|
1397
1397
|
export type ChatTurnItem = z.infer<typeof ChatTurnItemSchema>;
|
|
1398
1398
|
export type ChatNoteItem = z.infer<typeof ChatNoteItemSchema>;
|
|
1399
1399
|
export type ChatCompactionItem = z.infer<typeof ChatCompactionItemSchema>;
|
|
1400
|
+
export declare function activeSubagents(items: readonly ChatItem[]): ChatSubagentItem[];
|
|
1400
1401
|
export declare const ChatEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
1401
1402
|
type: z.ZodLiteral<"item">;
|
|
1402
1403
|
item: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
@@ -6685,6 +6686,45 @@ export declare const ChatAttachResultSchema: z.ZodObject<{
|
|
|
6685
6686
|
size: z.ZodNumber;
|
|
6686
6687
|
turnId: z.ZodOptional<z.ZodString>;
|
|
6687
6688
|
}, z.core.$strip>>>;
|
|
6689
|
+
subagents: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
6690
|
+
id: z.ZodString;
|
|
6691
|
+
createdAt: z.ZodNumber;
|
|
6692
|
+
turnId: z.ZodNullable<z.ZodString>;
|
|
6693
|
+
kind: z.ZodLiteral<"subagent">;
|
|
6694
|
+
toolUseId: z.ZodString;
|
|
6695
|
+
description: z.ZodString;
|
|
6696
|
+
subagentType: z.ZodNullable<z.ZodString>;
|
|
6697
|
+
model: z.ZodOptional<z.ZodString>;
|
|
6698
|
+
prompt: z.ZodNullable<z.ZodString>;
|
|
6699
|
+
background: z.ZodBoolean;
|
|
6700
|
+
status: z.ZodEnum<{
|
|
6701
|
+
done: "done";
|
|
6702
|
+
failed: "failed";
|
|
6703
|
+
running: "running";
|
|
6704
|
+
}>;
|
|
6705
|
+
startedAt: z.ZodNumber;
|
|
6706
|
+
finishedAt: z.ZodNullable<z.ZodNumber>;
|
|
6707
|
+
summary: z.ZodNullable<z.ZodString>;
|
|
6708
|
+
result: z.ZodNullable<z.ZodString>;
|
|
6709
|
+
usage: z.ZodNullable<z.ZodObject<{
|
|
6710
|
+
totalTokens: z.ZodNumber;
|
|
6711
|
+
toolUses: z.ZodNumber;
|
|
6712
|
+
durationMs: z.ZodNumber;
|
|
6713
|
+
}, z.core.$strip>>;
|
|
6714
|
+
lastTool: z.ZodNullable<z.ZodString>;
|
|
6715
|
+
outputFile: z.ZodOptional<z.ZodString>;
|
|
6716
|
+
itemsTruncated: z.ZodBoolean;
|
|
6717
|
+
native: z.ZodOptional<z.ZodObject<{
|
|
6718
|
+
agentId: z.ZodOptional<z.ZodString>;
|
|
6719
|
+
threadId: z.ZodOptional<z.ZodString>;
|
|
6720
|
+
}, z.core.$strip>>;
|
|
6721
|
+
origin: z.ZodOptional<z.ZodEnum<{
|
|
6722
|
+
native: "native";
|
|
6723
|
+
ruimte: "ruimte";
|
|
6724
|
+
}>>;
|
|
6725
|
+
childId: z.ZodOptional<z.ZodString>;
|
|
6726
|
+
parentToolUseId: z.ZodOptional<z.ZodString>;
|
|
6727
|
+
}, z.core.$strip>>>;
|
|
6688
6728
|
}, z.core.$strip>;
|
|
6689
6729
|
export type ChatAttachResult = z.infer<typeof ChatAttachResultSchema>;
|
|
6690
6730
|
export declare const ChatDeliverySchema: z.ZodEnum<{
|
package/dist/chat.js
CHANGED
|
@@ -585,6 +585,24 @@ export const ChatItemSchema = z.discriminatedUnion('kind', [
|
|
|
585
585
|
ChatNoteItemSchema,
|
|
586
586
|
ChatCompactionItemSchema
|
|
587
587
|
]);
|
|
588
|
+
/*
|
|
589
|
+
* The sub-agents a chat still speaks of beside its thread: every one at work, and the ones that settled
|
|
590
|
+
* since the last message, so a finished batch stays until the next message is sent. That includes an
|
|
591
|
+
* older row a message woke again. A settled one from before that message stays too while a sibling of
|
|
592
|
+
* its turn still runs. Older ones are only in the thread. `items` is in thread order.
|
|
593
|
+
*/
|
|
594
|
+
export function activeSubagents(items) {
|
|
595
|
+
const lastMessage = items.findLastIndex((item) => item.kind === 'user');
|
|
596
|
+
const lastMessageAt = lastMessage < 0 ? null : items[lastMessage].createdAt;
|
|
597
|
+
const rows = items.flatMap((item, index) => (item.kind === 'subagent' ? [{ item, index }] : []));
|
|
598
|
+
const turns = new Set(rows.flatMap(({ item }) => (item.status === 'running' && item.turnId !== null ? [item.turnId] : [])));
|
|
599
|
+
return rows
|
|
600
|
+
.filter(({ item, index }) => item.status === 'running' ||
|
|
601
|
+
index > lastMessage ||
|
|
602
|
+
(lastMessageAt !== null && item.finishedAt !== null && item.finishedAt > lastMessageAt) ||
|
|
603
|
+
(item.turnId !== null && turns.has(item.turnId)))
|
|
604
|
+
.map(({ item }) => item);
|
|
605
|
+
}
|
|
588
606
|
// Events apply after the `chat.attach` snapshot; item ids make upserts and streamed deltas replayable.
|
|
589
607
|
export const ChatEventSchema = z.discriminatedUnion('type', [
|
|
590
608
|
z.object({ type: z.literal('item'), item: ChatItemSchema, historyIndex: z.number().int().nonnegative().optional() }),
|
|
@@ -748,7 +766,9 @@ export const ChatAttachResultSchema = z.object({
|
|
|
748
766
|
// Absent from a daemon that keeps no bookmarks.
|
|
749
767
|
bookmarks: ChatBookmarksSchema.optional(),
|
|
750
768
|
// Absent from a host that keeps no visuals.
|
|
751
|
-
visuals: ChatVisualsSchema.optional()
|
|
769
|
+
visuals: ChatVisualsSchema.optional(),
|
|
770
|
+
// With a page: the active sub-agents (`activeSubagents`) from before it, so the pill over the composer never waits on a scroll.
|
|
771
|
+
subagents: z.array(ChatSubagentItemSchema).optional()
|
|
752
772
|
});
|
|
753
773
|
export const ChatDeliverySchema = z.enum(['steer', 'queue']);
|
|
754
774
|
export const ChatSendPayloadSchema = z
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { AgentKindSchema, type AgentKind, AgentStatusSchema, type AgentStatus, SUGGESTED_TITLE_LIMIT, SuggestedTitleSchema, AgentRequestSchema, type AgentRequest, AgentInfoSchema, type AgentInfo, SessionStatusEventSchema, type SessionStatusEvent, AgentResumePayloadSchema, type AgentResumePayload, ApprovalChoiceSchema, type ApprovalChoice, ApprovalRequestSchema, type ApprovalRequest, SessionApprovalsEventSchema, type SessionApprovalsEvent, ApprovalAnswerPayloadSchema, type ApprovalAnswerPayload, ApprovalAnswerResultSchema, type ApprovalAnswerResult, ApprovalPreferencePayloadSchema, type ApprovalPreferencePayload } from './agent.ts';
|
|
2
|
-
export { ChatIdSchema, type ChatId, ChatContextBreakdownSchema, type ChatContextBreakdown, ChatUsageSchema, type ChatUsage, CHAT_ATTACHMENTS_MAX_BYTES, CHAT_ATTACHMENT_MAX_BYTES, CHAT_ATTACHMENTS_MAX_COUNT, attachmentBytes, attachmentImageMime, ChatAttachmentUploadSchema, type ChatAttachmentUpload, ChatAttachmentUploadsSchema, ChatAttachmentSchema, type ChatAttachment, ChatUiChoiceOriginSchema, type ChatUiChoiceOrigin, ChatUiAnswerSchema, type ChatUiAnswer, ChatQuoteSourceSchema, type ChatQuoteSource, ChatQueuedMessageSchema, type ChatQueuedMessage, ChatBackgroundTaskSchema, type ChatBackgroundTask, ChatTurnLimitSchema, type ChatTurnLimit, ChatGoalStatusSchema, type ChatGoalStatus, ChatGoalSchema, type ChatGoal, ChatQuestionSchema, type ChatQuestion, ChatRequestKindSchema, type ChatRequestKind, CHAT_REQUEST_LIMITS, ChatRequestApprovalSchema, type ChatRequestApproval, ChatRequestSummarySchema, type ChatRequestSummary, ChatInfoSchema, type ChatInfo, ChatSkillSourceSchema, type ChatSkillSource, ChatSkillSchema, type ChatSkill, SkillsListPayloadSchema, type SkillsListPayload, SkillsListResultSchema, type SkillsListResult, ChatUserItemSchema, ChatUiQueryReadingSchema, type ChatUiQueryReading, ChatUiLinkReadingSchema, type ChatUiLinkReading, ChatUiPlaceReadingSchema, type ChatUiPlaceReading, ChatUiQueryStateSchema, type ChatUiQueryState, ChatAssistantItemSchema, ChatThinkingItemSchema, ChatToolStateSchema, type ChatToolState, ChatToolProgressSchema, type ChatToolProgress, ChatFileChangeSchema, type ChatFileChange, ChatSubagentStatusSchema, type ChatSubagentStatus, ChatWorkflowPhaseSchema, type ChatWorkflowPhase, ChatWorkflowAgentSchema, type ChatWorkflowAgent, ChatWorkflowSchema, type ChatWorkflow, workflowAgentRef, workflowAgentIdOf, ChatToolItemSchema, ChatSubagentUsageSchema, type ChatSubagentUsage, HOST_TASK_ORIGIN, ChatSubagentItemSchema, ChatApprovalDecisionSchema, type ChatApprovalDecision, ChatApprovalItemSchema, ChatQuestionItemSchema, ChatCheckpointFileSchema, type ChatCheckpointFile, ChatCheckpointDiffSchema, type ChatCheckpointDiff, ChatTurnItemSchema, notResumedNote, abortedByMachine, ENDED_NOTE_PREFIX, abortedByEnd, WAITING_NOTE_PREFIX, ChatNoteItemSchema, ChatCompactionItemSchema, ChatItemSchema, type ChatItem, type ChatUserItem, type ChatAssistantItem, type ChatThinkingItem, type ChatToolItem, type ChatSubagentItem, type ChatApprovalItem, type ChatQuestionItem, type ChatTurnItem, type ChatNoteItem, type ChatCompactionItem, ChatEventSchema, type ChatEvent, ChatEventEnvelopeSchema, type ChatEventEnvelope, ChatCreatePayloadSchema, type ChatCreatePayload, ChatConfigurePayloadSchema, type ChatConfigurePayload, ChatPreferencesPayloadSchema, type ChatPreferencesPayload, ChatTargetPayloadSchema, type ChatTargetPayload, ChatClearPayloadSchema, type ChatClearPayload, ChatCancelPayloadSchema, type ChatCancelPayload, ChatAttachPayloadSchema, ChatHistoryPayloadSchema, ChatHistoryPageSchema, ChatHistoryResultSchema, type ChatHistoryResult, ChatSubagentPayloadSchema, type ChatSubagentPayload, ChatStopSubagentPayloadSchema, type ChatStopSubagentPayload, ChatGoalActionSchema, type ChatGoalAction, ChatGoalPayloadSchema, type ChatGoalPayload, ChatStopTaskPayloadSchema, type ChatStopTaskPayload, ChatSubagentPageSchema, ChatSubagentSourceSchema, type ChatSubagentSource, ChatSubagentResultSchema, type ChatSubagentResult, ChatStatusEventSchema, type ChatStatusEvent, ChatSubagentChangedEventSchema, type ChatSubagentChangedEvent, CHAT_BOOKMARK_LIMITS, ChatBookmarkSchema, type ChatBookmark, ChatBookmarksSchema, ChatAddBookmarkPayloadSchema, type ChatAddBookmarkPayload, ChatRenameBookmarkPayloadSchema, type ChatRenameBookmarkPayload, ChatRemoveBookmarkPayloadSchema, type ChatRemoveBookmarkPayload, ChatBookmarksResultSchema, type ChatBookmarksResult, ChatBookmarksEventSchema, type ChatBookmarksEvent, ChatRemoveVisualPayloadSchema, type ChatRemoveVisualPayload, ChatVisualsResultSchema, type ChatVisualsResult, ChatVisualsEventSchema, type ChatVisualsEvent, ChatAttachResultSchema, type ChatAttachResult, ChatDeliverySchema, type ChatDelivery, ChatSendPayloadSchema, type ChatSendPayload, ChatSendResultSchema, type ChatSendResult, ChatUiChoicePayloadSchema, type ChatUiChoicePayload, ChatUiQueryPayloadSchema, type ChatUiQueryPayload, ChatUiLinkPayloadSchema, type ChatUiLinkPayload, ChatQueuePayloadSchema, type ChatQueuePayload, ChatUnqueueResultSchema, type ChatUnqueueResult, ChatApprovePayloadSchema, type ChatApprovePayload, ChatDismissPayloadSchema, type ChatDismissPayload, ChatAnswerPayloadSchema, type ChatAnswerPayload, ChatTurnDiffPayloadSchema, type ChatTurnDiffPayload, ChatTurnDiffResultSchema, type ChatTurnDiffResult, CHAT_FORK_TITLE_MAX, ChatForkPayloadSchema, type ChatForkPayload, ChatForkResultSchema, type ChatForkResult, ChatContinueOnPayloadSchema, type ChatContinueOnPayload, ChatContinueOnResultSchema, type ChatContinueOnResult, ChatSummarizePayloadSchema, type ChatSummarizePayload, ChatSummarizeResultSchema, type ChatSummarizeResult, ChatForkInfoPayloadSchema, type ChatForkInfoPayload, ChatForkInfoResultSchema, type ChatForkInfoResult, ChatListResultSchema, type ChatListResult, GeneratedImageInputSchema, type GeneratedImageInput, generatedImageAttachment } from './chat.ts';
|
|
2
|
+
export { ChatIdSchema, type ChatId, ChatContextBreakdownSchema, type ChatContextBreakdown, ChatUsageSchema, type ChatUsage, CHAT_ATTACHMENTS_MAX_BYTES, CHAT_ATTACHMENT_MAX_BYTES, CHAT_ATTACHMENTS_MAX_COUNT, attachmentBytes, attachmentImageMime, ChatAttachmentUploadSchema, type ChatAttachmentUpload, ChatAttachmentUploadsSchema, ChatAttachmentSchema, type ChatAttachment, ChatUiChoiceOriginSchema, type ChatUiChoiceOrigin, ChatUiAnswerSchema, type ChatUiAnswer, ChatQuoteSourceSchema, type ChatQuoteSource, ChatQueuedMessageSchema, type ChatQueuedMessage, ChatBackgroundTaskSchema, type ChatBackgroundTask, ChatTurnLimitSchema, type ChatTurnLimit, ChatGoalStatusSchema, type ChatGoalStatus, ChatGoalSchema, type ChatGoal, ChatQuestionSchema, type ChatQuestion, ChatRequestKindSchema, type ChatRequestKind, CHAT_REQUEST_LIMITS, ChatRequestApprovalSchema, type ChatRequestApproval, ChatRequestSummarySchema, type ChatRequestSummary, ChatInfoSchema, type ChatInfo, ChatSkillSourceSchema, type ChatSkillSource, ChatSkillSchema, type ChatSkill, SkillsListPayloadSchema, type SkillsListPayload, SkillsListResultSchema, type SkillsListResult, ChatUserItemSchema, ChatUiQueryReadingSchema, type ChatUiQueryReading, ChatUiLinkReadingSchema, type ChatUiLinkReading, ChatUiPlaceReadingSchema, type ChatUiPlaceReading, ChatUiQueryStateSchema, type ChatUiQueryState, ChatAssistantItemSchema, ChatThinkingItemSchema, ChatToolStateSchema, type ChatToolState, ChatToolProgressSchema, type ChatToolProgress, ChatFileChangeSchema, type ChatFileChange, ChatSubagentStatusSchema, type ChatSubagentStatus, ChatWorkflowPhaseSchema, type ChatWorkflowPhase, ChatWorkflowAgentSchema, type ChatWorkflowAgent, ChatWorkflowSchema, type ChatWorkflow, workflowAgentRef, workflowAgentIdOf, ChatToolItemSchema, ChatSubagentUsageSchema, type ChatSubagentUsage, HOST_TASK_ORIGIN, ChatSubagentItemSchema, ChatApprovalDecisionSchema, type ChatApprovalDecision, ChatApprovalItemSchema, ChatQuestionItemSchema, ChatCheckpointFileSchema, type ChatCheckpointFile, ChatCheckpointDiffSchema, type ChatCheckpointDiff, ChatTurnItemSchema, notResumedNote, abortedByMachine, ENDED_NOTE_PREFIX, abortedByEnd, activeSubagents, WAITING_NOTE_PREFIX, ChatNoteItemSchema, ChatCompactionItemSchema, ChatItemSchema, type ChatItem, type ChatUserItem, type ChatAssistantItem, type ChatThinkingItem, type ChatToolItem, type ChatSubagentItem, type ChatApprovalItem, type ChatQuestionItem, type ChatTurnItem, type ChatNoteItem, type ChatCompactionItem, ChatEventSchema, type ChatEvent, ChatEventEnvelopeSchema, type ChatEventEnvelope, ChatCreatePayloadSchema, type ChatCreatePayload, ChatConfigurePayloadSchema, type ChatConfigurePayload, ChatPreferencesPayloadSchema, type ChatPreferencesPayload, ChatTargetPayloadSchema, type ChatTargetPayload, ChatClearPayloadSchema, type ChatClearPayload, ChatCancelPayloadSchema, type ChatCancelPayload, ChatAttachPayloadSchema, ChatHistoryPayloadSchema, ChatHistoryPageSchema, ChatHistoryResultSchema, type ChatHistoryResult, ChatSubagentPayloadSchema, type ChatSubagentPayload, ChatStopSubagentPayloadSchema, type ChatStopSubagentPayload, ChatGoalActionSchema, type ChatGoalAction, ChatGoalPayloadSchema, type ChatGoalPayload, ChatStopTaskPayloadSchema, type ChatStopTaskPayload, ChatSubagentPageSchema, ChatSubagentSourceSchema, type ChatSubagentSource, ChatSubagentResultSchema, type ChatSubagentResult, ChatStatusEventSchema, type ChatStatusEvent, ChatSubagentChangedEventSchema, type ChatSubagentChangedEvent, CHAT_BOOKMARK_LIMITS, ChatBookmarkSchema, type ChatBookmark, ChatBookmarksSchema, ChatAddBookmarkPayloadSchema, type ChatAddBookmarkPayload, ChatRenameBookmarkPayloadSchema, type ChatRenameBookmarkPayload, ChatRemoveBookmarkPayloadSchema, type ChatRemoveBookmarkPayload, ChatBookmarksResultSchema, type ChatBookmarksResult, ChatBookmarksEventSchema, type ChatBookmarksEvent, ChatRemoveVisualPayloadSchema, type ChatRemoveVisualPayload, ChatVisualsResultSchema, type ChatVisualsResult, ChatVisualsEventSchema, type ChatVisualsEvent, ChatAttachResultSchema, type ChatAttachResult, ChatDeliverySchema, type ChatDelivery, ChatSendPayloadSchema, type ChatSendPayload, ChatSendResultSchema, type ChatSendResult, ChatUiChoicePayloadSchema, type ChatUiChoicePayload, ChatUiQueryPayloadSchema, type ChatUiQueryPayload, ChatUiLinkPayloadSchema, type ChatUiLinkPayload, ChatQueuePayloadSchema, type ChatQueuePayload, ChatUnqueueResultSchema, type ChatUnqueueResult, ChatApprovePayloadSchema, type ChatApprovePayload, ChatDismissPayloadSchema, type ChatDismissPayload, ChatAnswerPayloadSchema, type ChatAnswerPayload, ChatTurnDiffPayloadSchema, type ChatTurnDiffPayload, ChatTurnDiffResultSchema, type ChatTurnDiffResult, CHAT_FORK_TITLE_MAX, ChatForkPayloadSchema, type ChatForkPayload, ChatForkResultSchema, type ChatForkResult, ChatContinueOnPayloadSchema, type ChatContinueOnPayload, ChatContinueOnResultSchema, type ChatContinueOnResult, ChatSummarizePayloadSchema, type ChatSummarizePayload, ChatSummarizeResultSchema, type ChatSummarizeResult, ChatForkInfoPayloadSchema, type ChatForkInfoPayload, ChatForkInfoResultSchema, type ChatForkInfoResult, ChatListResultSchema, type ChatListResult, GeneratedImageInputSchema, type GeneratedImageInput, generatedImageAttachment } from './chat.ts';
|
|
3
3
|
export { ErrorSchema, type WireError, RequestSchema, type Request, ReplyOkSchema, type ReplyOk, ReplyErrorSchema, type ReplyError, ReplySchema, type Reply, EventSchema, type Event, ServerFrameSchema, type ServerFrame, type ParseResult, parseRequest, parseServerFrame } from './envelope.ts';
|
|
4
4
|
export { SessionIdSchema, type SessionId } from './ids.ts';
|
|
5
5
|
export { ModelOptionChoiceSchema, type ModelOptionChoice, ModelOptionDescriptorSchema, type ModelOptionDescriptor, ModelInfoSchema, type ModelInfo, ModelSelectionSchema, type ModelSelection, ModelCatalogProfileSchema, type ModelCatalogProfile, ModelCatalogEntrySchema, type ModelCatalogEntry, ModelCatalogDataSchema, type ModelCatalogData, RuntimeModeSchema, type RuntimeMode, ProviderCapabilitiesSchema, type ProviderCapabilities, ProviderInfoSchema, type ProviderInfo, ProviderListResultSchema, type ProviderListResult, resumeCommandFor } from './model.ts';
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Public API: exports.test.ts snapshots this list, so a name added or dropped here is an API change.
|
|
2
2
|
export { AgentKindSchema, AgentStatusSchema, SUGGESTED_TITLE_LIMIT, SuggestedTitleSchema, AgentRequestSchema, AgentInfoSchema, SessionStatusEventSchema, AgentResumePayloadSchema, ApprovalChoiceSchema, ApprovalRequestSchema, SessionApprovalsEventSchema, ApprovalAnswerPayloadSchema, ApprovalAnswerResultSchema, ApprovalPreferencePayloadSchema } from './agent.js';
|
|
3
|
-
export { ChatIdSchema, ChatContextBreakdownSchema, ChatUsageSchema, CHAT_ATTACHMENTS_MAX_BYTES, CHAT_ATTACHMENT_MAX_BYTES, CHAT_ATTACHMENTS_MAX_COUNT, attachmentBytes, attachmentImageMime, ChatAttachmentUploadSchema, ChatAttachmentUploadsSchema, ChatAttachmentSchema, ChatUiChoiceOriginSchema, ChatUiAnswerSchema, ChatQuoteSourceSchema, ChatQueuedMessageSchema, ChatBackgroundTaskSchema, ChatTurnLimitSchema, ChatGoalStatusSchema, ChatGoalSchema, ChatQuestionSchema, ChatRequestKindSchema, CHAT_REQUEST_LIMITS, ChatRequestApprovalSchema, ChatRequestSummarySchema, ChatInfoSchema, ChatSkillSourceSchema, ChatSkillSchema, SkillsListPayloadSchema, SkillsListResultSchema, ChatUserItemSchema, ChatUiQueryReadingSchema, ChatUiLinkReadingSchema, ChatUiPlaceReadingSchema, ChatUiQueryStateSchema, ChatAssistantItemSchema, ChatThinkingItemSchema, ChatToolStateSchema, ChatToolProgressSchema, ChatFileChangeSchema, ChatSubagentStatusSchema, ChatWorkflowPhaseSchema, ChatWorkflowAgentSchema, ChatWorkflowSchema, workflowAgentRef, workflowAgentIdOf, ChatToolItemSchema, ChatSubagentUsageSchema, HOST_TASK_ORIGIN, ChatSubagentItemSchema, ChatApprovalDecisionSchema, ChatApprovalItemSchema, ChatQuestionItemSchema, ChatCheckpointFileSchema, ChatCheckpointDiffSchema, ChatTurnItemSchema, notResumedNote, abortedByMachine, ENDED_NOTE_PREFIX, abortedByEnd, WAITING_NOTE_PREFIX, ChatNoteItemSchema, ChatCompactionItemSchema, ChatItemSchema, ChatEventSchema, ChatEventEnvelopeSchema, ChatCreatePayloadSchema, ChatConfigurePayloadSchema, ChatPreferencesPayloadSchema, ChatTargetPayloadSchema, ChatClearPayloadSchema, ChatCancelPayloadSchema, ChatAttachPayloadSchema, ChatHistoryPayloadSchema, ChatHistoryPageSchema, ChatHistoryResultSchema, ChatSubagentPayloadSchema, ChatStopSubagentPayloadSchema, ChatGoalActionSchema, ChatGoalPayloadSchema, ChatStopTaskPayloadSchema, ChatSubagentPageSchema, ChatSubagentSourceSchema, ChatSubagentResultSchema, ChatStatusEventSchema, ChatSubagentChangedEventSchema, CHAT_BOOKMARK_LIMITS, ChatBookmarkSchema, ChatBookmarksSchema, ChatAddBookmarkPayloadSchema, ChatRenameBookmarkPayloadSchema, ChatRemoveBookmarkPayloadSchema, ChatBookmarksResultSchema, ChatBookmarksEventSchema, ChatRemoveVisualPayloadSchema, ChatVisualsResultSchema, ChatVisualsEventSchema, ChatAttachResultSchema, ChatDeliverySchema, ChatSendPayloadSchema, ChatSendResultSchema, ChatUiChoicePayloadSchema, ChatUiQueryPayloadSchema, ChatUiLinkPayloadSchema, ChatQueuePayloadSchema, ChatUnqueueResultSchema, ChatApprovePayloadSchema, ChatDismissPayloadSchema, ChatAnswerPayloadSchema, ChatTurnDiffPayloadSchema, ChatTurnDiffResultSchema, CHAT_FORK_TITLE_MAX, ChatForkPayloadSchema, ChatForkResultSchema, ChatContinueOnPayloadSchema, ChatContinueOnResultSchema, ChatSummarizePayloadSchema, ChatSummarizeResultSchema, ChatForkInfoPayloadSchema, ChatForkInfoResultSchema, ChatListResultSchema, GeneratedImageInputSchema, generatedImageAttachment } from './chat.js';
|
|
3
|
+
export { ChatIdSchema, ChatContextBreakdownSchema, ChatUsageSchema, CHAT_ATTACHMENTS_MAX_BYTES, CHAT_ATTACHMENT_MAX_BYTES, CHAT_ATTACHMENTS_MAX_COUNT, attachmentBytes, attachmentImageMime, ChatAttachmentUploadSchema, ChatAttachmentUploadsSchema, ChatAttachmentSchema, ChatUiChoiceOriginSchema, ChatUiAnswerSchema, ChatQuoteSourceSchema, ChatQueuedMessageSchema, ChatBackgroundTaskSchema, ChatTurnLimitSchema, ChatGoalStatusSchema, ChatGoalSchema, ChatQuestionSchema, ChatRequestKindSchema, CHAT_REQUEST_LIMITS, ChatRequestApprovalSchema, ChatRequestSummarySchema, ChatInfoSchema, ChatSkillSourceSchema, ChatSkillSchema, SkillsListPayloadSchema, SkillsListResultSchema, ChatUserItemSchema, ChatUiQueryReadingSchema, ChatUiLinkReadingSchema, ChatUiPlaceReadingSchema, ChatUiQueryStateSchema, ChatAssistantItemSchema, ChatThinkingItemSchema, ChatToolStateSchema, ChatToolProgressSchema, ChatFileChangeSchema, ChatSubagentStatusSchema, ChatWorkflowPhaseSchema, ChatWorkflowAgentSchema, ChatWorkflowSchema, workflowAgentRef, workflowAgentIdOf, ChatToolItemSchema, ChatSubagentUsageSchema, HOST_TASK_ORIGIN, ChatSubagentItemSchema, ChatApprovalDecisionSchema, ChatApprovalItemSchema, ChatQuestionItemSchema, ChatCheckpointFileSchema, ChatCheckpointDiffSchema, ChatTurnItemSchema, notResumedNote, abortedByMachine, ENDED_NOTE_PREFIX, abortedByEnd, activeSubagents, WAITING_NOTE_PREFIX, ChatNoteItemSchema, ChatCompactionItemSchema, ChatItemSchema, ChatEventSchema, ChatEventEnvelopeSchema, ChatCreatePayloadSchema, ChatConfigurePayloadSchema, ChatPreferencesPayloadSchema, ChatTargetPayloadSchema, ChatClearPayloadSchema, ChatCancelPayloadSchema, ChatAttachPayloadSchema, ChatHistoryPayloadSchema, ChatHistoryPageSchema, ChatHistoryResultSchema, ChatSubagentPayloadSchema, ChatStopSubagentPayloadSchema, ChatGoalActionSchema, ChatGoalPayloadSchema, ChatStopTaskPayloadSchema, ChatSubagentPageSchema, ChatSubagentSourceSchema, ChatSubagentResultSchema, ChatStatusEventSchema, ChatSubagentChangedEventSchema, CHAT_BOOKMARK_LIMITS, ChatBookmarkSchema, ChatBookmarksSchema, ChatAddBookmarkPayloadSchema, ChatRenameBookmarkPayloadSchema, ChatRemoveBookmarkPayloadSchema, ChatBookmarksResultSchema, ChatBookmarksEventSchema, ChatRemoveVisualPayloadSchema, ChatVisualsResultSchema, ChatVisualsEventSchema, ChatAttachResultSchema, ChatDeliverySchema, ChatSendPayloadSchema, ChatSendResultSchema, ChatUiChoicePayloadSchema, ChatUiQueryPayloadSchema, ChatUiLinkPayloadSchema, ChatQueuePayloadSchema, ChatUnqueueResultSchema, ChatApprovePayloadSchema, ChatDismissPayloadSchema, ChatAnswerPayloadSchema, ChatTurnDiffPayloadSchema, ChatTurnDiffResultSchema, CHAT_FORK_TITLE_MAX, ChatForkPayloadSchema, ChatForkResultSchema, ChatContinueOnPayloadSchema, ChatContinueOnResultSchema, ChatSummarizePayloadSchema, ChatSummarizeResultSchema, ChatForkInfoPayloadSchema, ChatForkInfoResultSchema, ChatListResultSchema, GeneratedImageInputSchema, generatedImageAttachment } from './chat.js';
|
|
4
4
|
export { ErrorSchema, RequestSchema, ReplyOkSchema, ReplyErrorSchema, ReplySchema, EventSchema, ServerFrameSchema, parseRequest, parseServerFrame } from './envelope.js';
|
|
5
5
|
export { SessionIdSchema } from './ids.js';
|
|
6
6
|
export { ModelOptionChoiceSchema, ModelOptionDescriptorSchema, ModelInfoSchema, ModelSelectionSchema, ModelCatalogProfileSchema, ModelCatalogEntrySchema, ModelCatalogDataSchema, RuntimeModeSchema, ProviderCapabilitiesSchema, ProviderInfoSchema, ProviderListResultSchema, resumeCommandFor } from './model.js';
|
package/dist/protocol.d.ts
CHANGED
|
@@ -2501,6 +2501,45 @@ export declare const AGENT_REQUEST_SCHEMAS: {
|
|
|
2501
2501
|
size: z.ZodNumber;
|
|
2502
2502
|
turnId: z.ZodOptional<z.ZodString>;
|
|
2503
2503
|
}, z.core.$strip>>>;
|
|
2504
|
+
subagents: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
2505
|
+
id: z.ZodString;
|
|
2506
|
+
createdAt: z.ZodNumber;
|
|
2507
|
+
turnId: z.ZodNullable<z.ZodString>;
|
|
2508
|
+
kind: z.ZodLiteral<"subagent">;
|
|
2509
|
+
toolUseId: z.ZodString;
|
|
2510
|
+
description: z.ZodString;
|
|
2511
|
+
subagentType: z.ZodNullable<z.ZodString>;
|
|
2512
|
+
model: z.ZodOptional<z.ZodString>;
|
|
2513
|
+
prompt: z.ZodNullable<z.ZodString>;
|
|
2514
|
+
background: z.ZodBoolean;
|
|
2515
|
+
status: z.ZodEnum<{
|
|
2516
|
+
done: "done";
|
|
2517
|
+
failed: "failed";
|
|
2518
|
+
running: "running";
|
|
2519
|
+
}>;
|
|
2520
|
+
startedAt: z.ZodNumber;
|
|
2521
|
+
finishedAt: z.ZodNullable<z.ZodNumber>;
|
|
2522
|
+
summary: z.ZodNullable<z.ZodString>;
|
|
2523
|
+
result: z.ZodNullable<z.ZodString>;
|
|
2524
|
+
usage: z.ZodNullable<z.ZodObject<{
|
|
2525
|
+
totalTokens: z.ZodNumber;
|
|
2526
|
+
toolUses: z.ZodNumber;
|
|
2527
|
+
durationMs: z.ZodNumber;
|
|
2528
|
+
}, z.core.$strip>>;
|
|
2529
|
+
lastTool: z.ZodNullable<z.ZodString>;
|
|
2530
|
+
outputFile: z.ZodOptional<z.ZodString>;
|
|
2531
|
+
itemsTruncated: z.ZodBoolean;
|
|
2532
|
+
native: z.ZodOptional<z.ZodObject<{
|
|
2533
|
+
agentId: z.ZodOptional<z.ZodString>;
|
|
2534
|
+
threadId: z.ZodOptional<z.ZodString>;
|
|
2535
|
+
}, z.core.$strip>>;
|
|
2536
|
+
origin: z.ZodOptional<z.ZodEnum<{
|
|
2537
|
+
native: "native";
|
|
2538
|
+
ruimte: "ruimte";
|
|
2539
|
+
}>>;
|
|
2540
|
+
childId: z.ZodOptional<z.ZodString>;
|
|
2541
|
+
parentToolUseId: z.ZodOptional<z.ZodString>;
|
|
2542
|
+
}, z.core.$strip>>>;
|
|
2504
2543
|
}, z.core.$strip>;
|
|
2505
2544
|
};
|
|
2506
2545
|
readonly 'chat.detach': {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adecore/agent-contracts",
|
|
3
|
-
"version": "0.26.
|
|
3
|
+
"version": "0.26.2",
|
|
4
4
|
"description": "Schemas and port contracts for agent chats, provider accounts, models and usage.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -86,7 +86,7 @@
|
|
|
86
86
|
"test": "bun --conditions=source test"
|
|
87
87
|
},
|
|
88
88
|
"dependencies": {
|
|
89
|
-
"@adecore/intelligent-ui": "0.26.
|
|
89
|
+
"@adecore/intelligent-ui": "0.26.2",
|
|
90
90
|
"zod": "^4.6.5"
|
|
91
91
|
},
|
|
92
92
|
"devDependencies": {
|
package/src/chat.ts
CHANGED
|
@@ -709,6 +709,28 @@ export type ChatTurnItem = z.infer<typeof ChatTurnItemSchema>;
|
|
|
709
709
|
export type ChatNoteItem = z.infer<typeof ChatNoteItemSchema>;
|
|
710
710
|
export type ChatCompactionItem = z.infer<typeof ChatCompactionItemSchema>;
|
|
711
711
|
|
|
712
|
+
/*
|
|
713
|
+
* The sub-agents a chat still speaks of beside its thread: every one at work, and the ones that settled
|
|
714
|
+
* since the last message, so a finished batch stays until the next message is sent. That includes an
|
|
715
|
+
* older row a message woke again. A settled one from before that message stays too while a sibling of
|
|
716
|
+
* its turn still runs. Older ones are only in the thread. `items` is in thread order.
|
|
717
|
+
*/
|
|
718
|
+
export function activeSubagents(items: readonly ChatItem[]): ChatSubagentItem[] {
|
|
719
|
+
const lastMessage = items.findLastIndex((item) => item.kind === 'user');
|
|
720
|
+
const lastMessageAt = lastMessage < 0 ? null : items[lastMessage]!.createdAt;
|
|
721
|
+
const rows = items.flatMap((item, index) => (item.kind === 'subagent' ? [{ item, index }] : []));
|
|
722
|
+
const turns = new Set(rows.flatMap(({ item }) => (item.status === 'running' && item.turnId !== null ? [item.turnId] : [])));
|
|
723
|
+
return rows
|
|
724
|
+
.filter(
|
|
725
|
+
({ item, index }) =>
|
|
726
|
+
item.status === 'running' ||
|
|
727
|
+
index > lastMessage ||
|
|
728
|
+
(lastMessageAt !== null && item.finishedAt !== null && item.finishedAt > lastMessageAt) ||
|
|
729
|
+
(item.turnId !== null && turns.has(item.turnId))
|
|
730
|
+
)
|
|
731
|
+
.map(({ item }) => item);
|
|
732
|
+
}
|
|
733
|
+
|
|
712
734
|
// Events apply after the `chat.attach` snapshot; item ids make upserts and streamed deltas replayable.
|
|
713
735
|
export const ChatEventSchema = z.discriminatedUnion('type', [
|
|
714
736
|
z.object({ type: z.literal('item'), item: ChatItemSchema, historyIndex: z.number().int().nonnegative().optional() }),
|
|
@@ -929,7 +951,9 @@ export const ChatAttachResultSchema = z.object({
|
|
|
929
951
|
// Absent from a daemon that keeps no bookmarks.
|
|
930
952
|
bookmarks: ChatBookmarksSchema.optional(),
|
|
931
953
|
// Absent from a host that keeps no visuals.
|
|
932
|
-
visuals: ChatVisualsSchema.optional()
|
|
954
|
+
visuals: ChatVisualsSchema.optional(),
|
|
955
|
+
// With a page: the active sub-agents (`activeSubagents`) from before it, so the pill over the composer never waits on a scroll.
|
|
956
|
+
subagents: z.array(ChatSubagentItemSchema).optional()
|
|
933
957
|
});
|
|
934
958
|
export type ChatAttachResult = z.infer<typeof ChatAttachResultSchema>;
|
|
935
959
|
|