@wowyuarm/dsh-agent-team 0.1.6 → 0.1.8

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.
Files changed (108) hide show
  1. package/README.md +11 -5
  2. package/README.zh.md +11 -5
  3. package/package.json +44 -42
  4. package/packages/agent-team/README.md +2 -0
  5. package/packages/agent-team/README.zh.md +2 -0
  6. package/packages/agent-team/core-skills/member-skill-manager/SKILL.md +2 -0
  7. package/packages/agent-team/lib/index.js +140 -204
  8. package/packages/agent-team/lib/ledger.js +436 -25
  9. package/packages/agent-team/lib/member-context.js +6 -2
  10. package/packages/agent-team/lib/member-runtime.js +229 -0
  11. package/packages/agent-team/lib/preset-roster.js +1 -0
  12. package/packages/agent-team/lib/progress-nudge.js +320 -0
  13. package/packages/agent-team/lib/spec.js +30 -1
  14. package/packages/agent-team/lib/typert.host.js +250 -70
  15. package/packages/agent-team/lib/typert.remote-client.d.ts +5 -1
  16. package/packages/agent-team/lib/typert.remote-client.d.ts.map +1 -1
  17. package/packages/agent-team/lib/typert.remote-client.js +168 -38
  18. package/packages/agent-team/lib/types/entities.js +1 -0
  19. package/packages/agent-team/lib/types/index.d.ts +28 -44
  20. package/packages/agent-team/lib/types/index.d.ts.map +1 -1
  21. package/packages/agent-team/lib/types/ledger.d.ts +60 -2
  22. package/packages/agent-team/lib/types/ledger.d.ts.map +1 -1
  23. package/packages/agent-team/lib/types/member-context.d.ts.map +1 -1
  24. package/packages/agent-team/lib/types/member-runtime.d.ts +108 -0
  25. package/packages/agent-team/lib/types/member-runtime.d.ts.map +1 -0
  26. package/packages/agent-team/lib/types/operations.js +1 -0
  27. package/packages/agent-team/lib/types/preset-roster.d.ts.map +1 -1
  28. package/packages/agent-team/lib/types/progress-nudge.d.ts +136 -0
  29. package/packages/agent-team/lib/types/progress-nudge.d.ts.map +1 -0
  30. package/packages/agent-team/lib/types/requests-results.js +1 -0
  31. package/packages/agent-team/lib/types/spec.d.ts.map +1 -1
  32. package/packages/agent-team/lib/types/types/entities.d.ts +357 -0
  33. package/packages/agent-team/lib/types/types/entities.d.ts.map +1 -0
  34. package/packages/agent-team/lib/types/types/operations.d.ts +303 -0
  35. package/packages/agent-team/lib/types/types/operations.d.ts.map +1 -0
  36. package/packages/agent-team/lib/types/types/requests-results.d.ts +529 -0
  37. package/packages/agent-team/lib/types/types/requests-results.d.ts.map +1 -0
  38. package/packages/agent-team/lib/types/types.d.ts +10 -1070
  39. package/packages/agent-team/lib/types/types.d.ts.map +1 -1
  40. package/packages/agent-team/preset/team-member/agent.cordis.yml +6 -4
  41. package/packages/client-agent-team/README.md +3 -1
  42. package/packages/client-agent-team/README.zh.md +3 -1
  43. package/packages/client-agent-team/lib/client.js +773 -733
  44. package/packages/client-agent-team/lib/client.js.map +1 -1
  45. package/packages/client-agent-team/lib/types/client/TeamAgentsPanel.d.ts +3 -2
  46. package/packages/client-agent-team/lib/types/client/TeamAgentsPanel.d.ts.map +1 -1
  47. package/packages/client-agent-team/lib/types/client/TeamAgentsPanel.js +30 -7
  48. package/packages/client-agent-team/lib/types/client/TeamChannelPage.d.ts +1 -1
  49. package/packages/client-agent-team/lib/types/client/TeamChannelPage.d.ts.map +1 -1
  50. package/packages/client-agent-team/lib/types/client/TeamChannelPage.js +5 -9
  51. package/packages/client-agent-team/lib/types/client/TeamChannelsPanel.d.ts +2 -1
  52. package/packages/client-agent-team/lib/types/client/TeamChannelsPanel.d.ts.map +1 -1
  53. package/packages/client-agent-team/lib/types/client/TeamChannelsPanel.js +31 -5
  54. package/packages/client-agent-team/lib/types/client/TeamComposer.d.ts +3 -1
  55. package/packages/client-agent-team/lib/types/client/TeamComposer.d.ts.map +1 -1
  56. package/packages/client-agent-team/lib/types/client/TeamComposer.js +39 -28
  57. package/packages/client-agent-team/lib/types/client/TeamConversation.d.ts +1 -1
  58. package/packages/client-agent-team/lib/types/client/TeamConversation.d.ts.map +1 -1
  59. package/packages/client-agent-team/lib/types/client/TeamConversation.js +2 -2
  60. package/packages/client-agent-team/lib/types/client/TeamMemberAvatar.d.ts.map +1 -1
  61. package/packages/client-agent-team/lib/types/client/TeamMemberAvatar.js +3 -2
  62. package/packages/client-agent-team/lib/types/client/TeamMessage.d.ts.map +1 -1
  63. package/packages/client-agent-team/lib/types/client/TeamMessage.js +15 -3
  64. package/packages/client-agent-team/lib/types/client/TeamPresenceDot.d.ts +2 -2
  65. package/packages/client-agent-team/lib/types/client/TeamPresenceDot.d.ts.map +1 -1
  66. package/packages/client-agent-team/lib/types/client/TeamPresenceDot.js +4 -6
  67. package/packages/client-agent-team/lib/types/client/TeamStateDot.d.ts +14 -0
  68. package/packages/client-agent-team/lib/types/client/TeamStateDot.d.ts.map +1 -0
  69. package/packages/client-agent-team/lib/types/client/TeamStateDot.js +15 -0
  70. package/packages/client-agent-team/lib/types/client/TeamThreadPage.d.ts +2 -1
  71. package/packages/client-agent-team/lib/types/client/TeamThreadPage.d.ts.map +1 -1
  72. package/packages/client-agent-team/lib/types/client/TeamThreadPage.js +41 -16
  73. package/packages/client-agent-team/lib/types/client/TeamWorkspaceBrowser.d.ts +1 -1
  74. package/packages/client-agent-team/lib/types/client/TeamWorkspaceBrowser.d.ts.map +1 -1
  75. package/packages/client-agent-team/lib/types/client/TeamWorkspaceBrowser.js +2 -2
  76. package/packages/client-agent-team/lib/types/client/TeamWorkspaceRow.d.ts +1 -1
  77. package/packages/client-agent-team/lib/types/client/TeamWorkspaceRow.d.ts.map +1 -1
  78. package/packages/client-agent-team/lib/types/client/index.d.ts +1 -1
  79. package/packages/client-agent-team/lib/types/client/index.d.ts.map +1 -1
  80. package/packages/client-agent-team/lib/types/client/index.js +9 -77
  81. package/packages/client-agent-team/lib/types/client/locales.d.ts +26 -0
  82. package/packages/client-agent-team/lib/types/client/locales.d.ts.map +1 -1
  83. package/packages/client-agent-team/lib/types/client/locales.js +26 -0
  84. package/packages/client-agent-team/lib/types/client/navigation.d.ts +2 -1
  85. package/packages/client-agent-team/lib/types/client/navigation.d.ts.map +1 -1
  86. package/packages/client-agent-team/lib/types/client/sidebar-drag.d.ts +1 -2
  87. package/packages/client-agent-team/lib/types/client/sidebar-drag.d.ts.map +1 -1
  88. package/packages/client-agent-team/lib/types/client/sidebar-order.d.ts +1 -1
  89. package/packages/client-agent-team/lib/types/client/sidebar-order.d.ts.map +1 -1
  90. package/packages/client-agent-team/lib/types/client/sidebar-sections.d.ts +1 -1
  91. package/packages/client-agent-team/lib/types/client/sidebar-sections.d.ts.map +1 -1
  92. package/packages/client-agent-team/lib/types/client/slots.d.ts +5 -1
  93. package/packages/client-agent-team/lib/types/client/slots.d.ts.map +1 -1
  94. package/packages/client-agent-team/lib/types/client/task-refs.d.ts +7 -1
  95. package/packages/client-agent-team/lib/types/client/task-refs.d.ts.map +1 -1
  96. package/packages/client-agent-team/lib/types/client/task-refs.js +25 -3
  97. package/packages/client-agent-team/lib/types/client/team-formatters.d.ts +11 -10
  98. package/packages/client-agent-team/lib/types/client/team-formatters.d.ts.map +1 -1
  99. package/packages/client-agent-team/lib/types/client/team-formatters.js +14 -11
  100. package/packages/client-agent-team/lib/types/client/team-membership.d.ts +1 -1
  101. package/packages/client-agent-team/lib/types/client/team-membership.d.ts.map +1 -1
  102. package/packages/tool-agent-team/lib/index.js +9 -9
  103. package/packages/client-agent-team/lib/types/client/TeamMemberSessionComposer.d.ts +0 -17
  104. package/packages/client-agent-team/lib/types/client/TeamMemberSessionComposer.d.ts.map +0 -1
  105. package/packages/client-agent-team/lib/types/client/TeamMemberSessionComposer.js +0 -135
  106. package/packages/client-agent-team/lib/types/client/member-session-input.d.ts +0 -22
  107. package/packages/client-agent-team/lib/types/client/member-session-input.d.ts.map +0 -1
  108. package/packages/client-agent-team/lib/types/client/member-session-input.js +0 -98
@@ -1,1073 +1,13 @@
1
- import type { ReasoningEffortId } from '@deepseek-ai/dsh-llm';
2
- import type { Branded } from '@deepseek-ai/dsh-brand';
3
- import type { SessionId } from '@deepseek-ai/dsh-session';
4
- import type { WorkspaceId } from '@deepseek-ai/dsh-workspace';
5
- /** Stable identifier of one Agent Team operation. */
6
- export type AgentTeamOperationId = Branded<'AgentTeamOperationId'>;
7
- /** Caller-supplied idempotency identifier for one business operation. */
8
- export type AgentTeamRequestId = Branded<'AgentTeamRequestId'>;
9
- /** Stable identifier of one uploaded composer attachment (cache, not archive). */
10
- export type AgentTeamAttachmentId = Branded<'AgentTeamAttachmentId'>;
11
- /** Stable identifier of one Team member. */
12
- export type AgentTeamMemberId = Branded<'AgentTeamMemberId'>;
13
- /** Stable identifier of one Workspace-scoped Channel. */
14
- export type AgentTeamChannelRef = Branded<'AgentTeamChannelRef'>;
15
- /** Stable identifier of one immutable Message. */
16
- export type AgentTeamMessageRef = Branded<'AgentTeamMessageRef'>;
17
- /** Stable identifier of one Task. */
18
- export type AgentTeamTaskRef = Branded<'AgentTeamTaskRef'>;
19
- /** Stable identifier of one Thread. */
20
- export type AgentTeamThreadRef = Branded<'AgentTeamThreadRef'>;
21
- /** Stable identifier of one Claim. */
22
- export type AgentTeamClaimRef = Branded<'AgentTeamClaimRef'>;
23
- /** Stable identifier of one public Thread Activity. */
24
- export type AgentTeamActivityRef = Branded<'AgentTeamActivityRef'>;
25
- /** Process-local one-use authorization for one Human invitation. */
26
- export type AgentTeamConfirmationToken = Branded<'AgentTeamConfirmationToken'>;
27
- /** Snapshot of the Human authority authorized for an operation. */
28
- export interface AgentTeamHumanActor {
29
- readonly kind: 'human';
30
- readonly memberId: AgentTeamMemberId;
31
- readonly handle: string;
32
- }
33
- /** Snapshot of the exact Agent Member authorized by its live Agent binding. */
34
- export interface AgentTeamMemberActor {
35
- readonly kind: 'member';
36
- readonly memberId: AgentTeamMemberId;
37
- readonly handle: string;
38
- }
39
- export type AgentTeamActor = AgentTeamHumanActor | AgentTeamMemberActor;
40
- /** Provider route plus provider-owned model id one Member can be pinned to. */
41
- export interface AgentTeamModelSelection {
42
- readonly provider: string;
43
- readonly model: string;
44
- /** Adapter-owned reasoning effort, or the model's provider/default behavior when absent. */
45
- readonly reasoningEffort?: ReasoningEffortId;
46
- }
47
- /**
48
- * Durable capability intent of one Member, carried verbatim on the Member
49
- * entity through every lifecycle operation. Pure intent: names are not
50
- * validated against any known-tool list at commit time, so a Harness upgrade
51
- * that renames or removes tools can never make an old ledger unreplayable.
52
- * Divergence surfaces at activation as runtime-derived warnings, never as
53
- * persisted facts (stale persisted warnings would lie after Host restart or
54
- * Harness upgrades).
55
- */
56
- export interface AgentTeamMemberCapabilities {
57
- /**
58
- * Deliberate interface reservation, no UI writes it today: Runtime Revision
59
- * manifests depend on this seam — do not remove during cleanup.
60
- * Absent = the Member sees all standard tools; present = the activation
61
- * allow-list (unknown names drop with a warning; the Host always unions
62
- * the five Team tools over it).
63
- */
64
- readonly tools?: {
65
- readonly allow?: readonly string[];
66
- } | undefined;
67
- /**
68
- * Absent = auto-load every skill in the Member's private skills directory;
69
- * present = only the listed skill names.
70
- */
71
- readonly skills?: {
72
- readonly allow?: readonly string[];
73
- } | undefined;
74
- }
75
- /** Durable identity and lifecycle intent of one team-managed Agent. */
76
- export interface AgentTeamAgentMember {
77
- readonly memberId: AgentTeamMemberId;
78
- readonly sessionId: SessionId;
79
- readonly workspaceId: WorkspaceId;
80
- readonly handle: string;
81
- readonly description: string;
82
- readonly presetId: string;
83
- /** Absent inherits the Host default model selection at every activation. */
84
- readonly model?: AgentTeamModelSelection | undefined;
85
- /** Durable capability intent; see AgentTeamMemberCapabilities. */
86
- readonly capabilities?: AgentTeamMemberCapabilities | undefined;
87
- /** Host-internal namespace; never exposed through Client projections. */
88
- readonly privateMemoryPath: string;
89
- readonly state: 'enabled' | 'suspended' | 'inactive';
90
- }
91
- /**
92
- * Runtime-derived capability divergence between a Member's persisted intent
93
- * and the names known at activation time (for example after a Harness
94
- * upgrade renamed or removed a tool). Derived state only — never persisted;
95
- * recomputed at every activation so warnings never go stale.
96
- */
97
- export interface AgentTeamCapabilityWarning {
98
- /** The persisted allow-list entry that resolved to no known capability. */
99
- readonly name: string;
100
- /** Digest of the names that were known when the entry was dropped. */
101
- readonly knownNames: readonly string[];
102
- }
103
- /** Host projection combining durable intent with process-local availability. */
104
- export interface AgentTeamAgentMemberStatus {
105
- readonly member: AgentTeamAgentMember;
106
- readonly availability: 'active' | 'suspended' | 'inactive' | 'unavailable';
107
- readonly presence: 'available' | 'working' | 'error' | 'unavailable';
108
- readonly diagnostic?: string;
109
- /**
110
- * Runtime-derived, activation-scoped capability warnings (see
111
- * AgentTeamCapabilityWarning); empty while capabilities resolve cleanly.
112
- */
113
- readonly capabilityWarnings?: readonly AgentTeamCapabilityWarning[] | undefined;
114
- }
115
- /** Browser-safe Member identity with Host-only paths removed. */
116
- export type AgentTeamClientMember = Omit<AgentTeamAgentMember, 'privateMemoryPath'>;
117
- /** Browser-safe lifecycle projection. */
118
- export interface AgentTeamClientMemberStatus extends Omit<AgentTeamAgentMemberStatus, 'member'> {
119
- readonly member: AgentTeamClientMember;
120
- }
121
- /** Workspace-scoped request used by the Client Remote projection. */
122
- export interface AgentTeamMembersRequest {
123
- readonly workspaceId: WorkspaceId;
124
- }
125
- /** Look up navigation facts for branded Task refs found in message bodies. */
126
- export interface AgentTeamResolveTaskRefsRequest {
127
- readonly workspaceId: WorkspaceId;
128
- readonly taskRefs: readonly AgentTeamTaskRef[];
129
- }
130
- /** One resolved Task; refs that do not exist in the workspace are omitted. */
131
- export interface AgentTeamResolvedTaskRef {
132
- readonly taskRef: AgentTeamTaskRef;
133
- readonly channelRef: AgentTeamChannelRef;
134
- readonly threadRef: AgentTeamThreadRef;
135
- readonly taskNumber: number;
136
- }
137
- export interface AgentTeamResolveTaskRefsResult {
138
- readonly resolved: readonly AgentTeamResolvedTaskRef[];
139
- }
140
- interface AgentTeamOperationBase {
141
- readonly sequence: number;
142
- readonly operationId: AgentTeamOperationId;
143
- readonly requestId: AgentTeamRequestId;
144
- readonly occurredAt: string;
145
- readonly actor: AgentTeamActor;
146
- readonly previousOperationId: AgentTeamOperationId | null;
147
- }
148
- /** One Workspace-scoped collaboration Channel. */
149
- export interface AgentTeamChannel {
150
- readonly channelRef: AgentTeamChannelRef;
151
- readonly workspaceId: WorkspaceId;
152
- readonly name: string;
153
- readonly description: string;
154
- readonly createdAtSequence: number;
155
- }
156
- /** One durable Channel membership fact derived from the operation ledger. */
157
- export interface AgentTeamChannelMembership {
158
- readonly channelRef: AgentTeamChannelRef;
159
- readonly memberId: AgentTeamMemberId;
160
- }
161
- /** One immutable top-level or reply Message. */
162
- export interface AgentTeamMessageAttachment {
163
- readonly attachmentId: AgentTeamAttachmentId;
164
- readonly name: string;
165
- readonly byteSize: number;
166
- readonly mediaType: string;
167
- }
168
- export interface AgentTeamMessage {
169
- readonly messageRef: AgentTeamMessageRef;
170
- readonly channelRef: AgentTeamChannelRef;
171
- readonly threadRef: AgentTeamThreadRef;
172
- /** Absent on Messages committed while the Thread had no Task; promotion does not rewrite prior Messages. */
173
- readonly taskRef?: AgentTeamTaskRef;
174
- readonly sender: AgentTeamMemberId;
175
- readonly body: string;
176
- readonly attachments?: readonly AgentTeamMessageAttachment[] | undefined;
177
- readonly topLevel: boolean;
178
- readonly sequence: number;
179
- /** Wall-clock instant of the wrapping ledger operation; pre-occurredAt ledgers normalize on replay. */
180
- readonly occurredAt: string;
181
- }
182
- /** Task overlay created by an atomic start or Human promotion. */
183
- export interface AgentTeamTask {
184
- readonly taskRef: AgentTeamTaskRef;
185
- readonly channelRef: AgentTeamChannelRef;
186
- readonly threadRef: AgentTeamThreadRef;
187
- readonly status: 'todo' | 'in_progress' | 'in_review' | 'done' | 'closed';
188
- readonly resolution: 'open' | 'accepted' | 'closed';
189
- }
190
- /** Current projection of one collaboration Thread. */
191
- export interface AgentTeamThread {
192
- readonly threadRef: AgentTeamThreadRef;
193
- /** Present after atomic Task creation or Human promotion; absent on taskless Threads. */
194
- readonly taskRef?: AgentTeamTaskRef;
195
- /** Last public Message, Claim, or Task-resolution sequence. */
196
- readonly revision: number;
197
- }
198
- /**
199
- * A Member's current attention period for one Thread.
1
+ /** Public domain types for the Agent Team Host, split by concern.
200
2
  *
201
- * Its absence means the Member is not following. Read state is compact: all
202
- * follower-visible facts from `startSequence` through `readThroughSequence`
203
- * are acknowledged, except for sparse direct markers retained separately.
204
- */
205
- export interface AgentTeamThreadAttention {
206
- readonly memberId: AgentTeamMemberId;
207
- readonly threadRef: AgentTeamThreadRef;
208
- readonly startSequence: number;
209
- readonly readThroughSequence: number;
210
- }
211
- /** Identity of one Member × Thread attention period. */
212
- export interface AgentTeamThreadAttentionKey {
213
- readonly memberId: AgentTeamMemberId;
214
- readonly threadRef: AgentTeamThreadRef;
215
- }
216
- /** Sparse direct-priority marker for one structured Message mention. */
217
- export interface AgentTeamDirectMarker {
218
- readonly memberId: AgentTeamMemberId;
219
- readonly threadRef: AgentTeamThreadRef;
220
- readonly messageRef: AgentTeamMessageRef;
221
- readonly sequence: number;
222
- }
223
- /** Sparse marker retaining a relevant Task or Claim Activity after Attention ends. */
224
- export interface AgentTeamActivityMarker {
225
- readonly memberId: AgentTeamMemberId;
226
- readonly threadRef: AgentTeamThreadRef;
227
- readonly activityRef: AgentTeamActivityRef;
228
- readonly sequence: number;
229
- }
230
- /** Durable changes to private Member inbox state carried by one operation. */
231
- export interface AgentTeamInboxDelta {
232
- readonly attention: {
233
- /** New or replacement current Attention records. */
234
- readonly set: readonly AgentTeamThreadAttention[];
235
- /** Attention periods ended by this operation. */
236
- readonly removed: readonly AgentTeamThreadAttentionKey[];
237
- };
238
- readonly directMarkers: {
239
- readonly added: readonly AgentTeamDirectMarker[];
240
- readonly removed: readonly AgentTeamDirectMarker[];
241
- };
242
- readonly activityMarkers: {
243
- readonly added: readonly AgentTeamActivityMarker[];
244
- readonly removed: readonly AgentTeamActivityMarker[];
245
- };
246
- }
247
- /** One Direction Claim retained as Task progress history. */
248
- export interface AgentTeamClaim {
249
- readonly claimRef: AgentTeamClaimRef;
250
- readonly taskRef: AgentTeamTaskRef;
251
- readonly threadRef: AgentTeamThreadRef;
252
- readonly owner: AgentTeamMemberId;
253
- readonly direction: string;
254
- readonly normalizedDirection: string;
255
- readonly state: 'active' | 'done' | 'released';
256
- }
257
- interface AgentTeamActivityBase {
258
- readonly activityRef: AgentTeamActivityRef;
259
- readonly taskRef: AgentTeamTaskRef;
260
- readonly threadRef: AgentTeamThreadRef;
261
- readonly actor: AgentTeamMemberId;
262
- readonly sequence: number;
263
- }
264
- export interface AgentTeamClaimActivity extends AgentTeamActivityBase {
265
- readonly kind: 'claim' | 'done' | 'release';
266
- readonly claimRef: AgentTeamClaimRef;
267
- }
268
- export interface AgentTeamTaskActivity extends AgentTeamActivityBase {
269
- readonly kind: 'promote' | 'accept' | 'close' | 'reopen';
270
- /** Claims atomically released by close; absent for other Task transitions. */
271
- readonly releasedClaimRefs?: readonly AgentTeamClaimRef[] | undefined;
272
- /** Active claims the Human acceptance completed alongside the Task; absent for plain accepts. */
273
- readonly completedClaimRefs?: readonly AgentTeamClaimRef[] | undefined;
274
- }
275
- /** One automatic, public release summary caused by a membership lifecycle action. */
276
- export interface AgentTeamClaimsReleasedActivity extends AgentTeamActivityBase {
277
- readonly kind: 'claims_released';
278
- readonly claimRefs: readonly AgentTeamClaimRef[];
279
- }
280
- /** One ordered public Thread Activity. */
281
- export type AgentTeamActivity = AgentTeamClaimActivity | AgentTeamTaskActivity | AgentTeamClaimsReleasedActivity;
282
- /** One public, revisioned fact in a Thread timeline. */
283
- export type AgentTeamThreadFact = {
284
- readonly kind: 'message';
285
- readonly sequence: number;
286
- readonly message: AgentTeamMessage;
287
- /** Structured Member refs from the originating send operation; empty when the Message mentions nobody. */
288
- readonly mentions: readonly AgentTeamMemberId[];
289
- } | {
290
- readonly kind: 'activity';
291
- readonly sequence: number;
292
- readonly activity: AgentTeamActivity;
293
- };
294
- /** One fact returned by a durable Thread read. */
295
- export interface AgentTeamThreadReadFact {
296
- readonly fact: AgentTeamThreadFact;
297
- /** This fact was part of the unread batch advanced by this read. */
298
- readonly unread: boolean;
299
- /** This fact carries one of the recipient's structured direct mentions. */
300
- readonly direct: boolean;
301
- }
302
- /** Stored form of a Message inside durable operations; pre-occurredAt ledgers omit it and normalize on load. */
303
- export type AgentTeamStoredMessage = Omit<AgentTeamMessage, 'occurredAt'> & {
304
- readonly occurredAt?: string | undefined;
305
- };
306
- /** Stored form of one Thread timeline fact; mirrors AgentTeamThreadFact with stored messages. */
307
- export type AgentTeamStoredThreadFact = {
308
- readonly kind: 'message';
309
- readonly sequence: number;
310
- readonly message: AgentTeamStoredMessage;
311
- readonly mentions: readonly AgentTeamMemberId[];
312
- } | {
313
- readonly kind: 'activity';
314
- readonly sequence: number;
315
- readonly activity: AgentTeamActivity;
316
- };
317
- /** Stored form of one durable Thread read fact. */
318
- export interface AgentTeamStoredThreadReadFact {
319
- readonly fact: AgentTeamStoredThreadFact;
320
- readonly unread: boolean;
321
- readonly direct: boolean;
322
- }
323
- /** The first durable operation in every Agent Team ledger. */
324
- export interface AgentTeamInitializedOperation extends AgentTeamOperationBase {
325
- readonly previousOperationId: null;
326
- readonly kind: 'team/initialized';
327
- readonly data: {
328
- readonly humanMemberId: AgentTeamMemberId;
329
- };
330
- }
331
- /** Durable creation of one Channel with its atomic initial memberships. */
332
- export interface AgentTeamChannelCreatedOperation extends AgentTeamOperationBase {
333
- readonly kind: 'team/channel-created';
334
- readonly data: {
335
- readonly workspaceId: WorkspaceId;
336
- readonly channel: AgentTeamChannel;
337
- readonly memberIds: readonly AgentTeamMemberId[];
338
- };
339
- }
340
- /** Durable Agent Member creation with optional initial Channel memberships. */
341
- export interface AgentTeamMemberAddedOperation extends AgentTeamOperationBase {
342
- readonly kind: 'team/member-added';
343
- readonly data: {
344
- readonly member: AgentTeamAgentMember;
345
- readonly channelRefs: readonly AgentTeamChannelRef[];
346
- };
347
- }
348
- /** Durable suspension of one existing Agent Member. */
349
- export interface AgentTeamMemberSuspendedOperation extends AgentTeamOperationBase {
350
- readonly kind: 'team/member-suspended';
351
- readonly data: {
352
- readonly member: AgentTeamAgentMember;
353
- };
354
- }
355
- /** Durable re-enablement of one suspended Agent Member. */
356
- export interface AgentTeamMemberResumedOperation extends AgentTeamOperationBase {
357
- readonly kind: 'team/member-resumed';
358
- readonly data: {
359
- readonly member: AgentTeamAgentMember;
360
- };
361
- }
362
- /**
363
- * Audit record of one in-place Member session restart. The restart changes no
364
- * projection state — the Member keeps identity, transcript, and memory — so
365
- * apply() treats this operation as a marker only.
366
- */
367
- export interface AgentTeamMemberSessionRestartedOperation extends AgentTeamOperationBase {
368
- readonly kind: 'team/member-session-restarted';
369
- readonly data: {
370
- readonly member: AgentTeamAgentMember;
371
- };
372
- }
373
- /**
374
- * Legacy audit record of one in-place Member context clear (superseded by
375
- * `team/member-session-renewed`). The Host discarded the Member's persisted
376
- * Session log and recreated the live Session under the same sessionId.
377
- * Projection state is unchanged, so apply() treats this operation as a marker
378
- * only. Never written again; the schema and replay validation stay so
379
- * ledgers recorded before the renewal redesign keep replaying.
380
- */
381
- export interface AgentTeamMemberContextClearedOperation extends AgentTeamOperationBase {
382
- readonly kind: 'team/member-context-cleared';
383
- readonly data: {
384
- readonly member: AgentTeamAgentMember;
385
- };
386
- }
387
- /**
388
- * Durable transition of one Member onto a fresh Session: the Member keeps its
389
- * identity, memory, and binding while its sessionId moves to a newly created
390
- * Session whose first turn starts from an empty context. The previous Session
391
- * log stays on disk (archived from every grouping surface), and the new
392
- * Session header records the previous id as fork lineage.
393
- */
394
- export interface AgentTeamMemberSessionRenewedOperation extends AgentTeamOperationBase {
395
- readonly kind: 'team/member-session-renewed';
396
- readonly data: {
397
- readonly member: AgentTeamAgentMember;
398
- /** The Session the Member ran on before this renewal. */
399
- readonly previousSessionId: SessionId;
400
- };
401
- }
402
- /** Durable Human rename of one Channel's display facts; identity refs never change. */
403
- export interface AgentTeamChannelUpdatedOperation extends AgentTeamOperationBase {
404
- readonly kind: 'team/channel-updated';
405
- readonly data: {
406
- readonly workspaceId: WorkspaceId;
407
- readonly channel: AgentTeamChannel;
408
- };
409
- }
410
- /** Durable Human edit of one Member's mutable facts (handle, description, model). */
411
- export interface AgentTeamMemberUpdatedOperation extends AgentTeamOperationBase {
412
- readonly kind: 'team/member-updated';
413
- readonly data: {
414
- readonly member: AgentTeamAgentMember;
415
- };
416
- }
417
- /** Durable addition of one Agent Member to one Channel. */
418
- export interface AgentTeamChannelMemberAddedOperation extends AgentTeamOperationBase {
419
- readonly kind: 'team/channel-member-added';
420
- readonly data: {
421
- readonly workspaceId: WorkspaceId;
422
- readonly channelRef: AgentTeamChannelRef;
423
- readonly memberId: AgentTeamMemberId;
424
- };
425
- }
426
- /** Durable removal of one Agent Member from one Channel and Channel-scoped cleanup. */
427
- export interface AgentTeamChannelMemberRemovedOperation extends AgentTeamOperationBase {
428
- readonly kind: 'team/channel-member-removed';
429
- readonly data: {
430
- readonly workspaceId: WorkspaceId;
431
- readonly channelRef: AgentTeamChannelRef;
432
- readonly memberId: AgentTeamMemberId;
433
- /** Claims released because this Member lost Channel authority. */
434
- readonly claims: readonly AgentTeamClaim[];
435
- /** Public release summaries for the affected Threads. */
436
- readonly activities: readonly AgentTeamClaimsReleasedActivity[];
437
- readonly tasks: readonly AgentTeamTask[];
438
- readonly threads: readonly AgentTeamThread[];
439
- readonly inbox: AgentTeamInboxDelta;
440
- };
441
- }
442
- /** Durable top-level Message, Thread, optional Task, and initial inbox facts. */
443
- export interface AgentTeamMessageSentOperation extends AgentTeamOperationBase {
444
- readonly kind: 'team/message-sent';
445
- readonly data: {
446
- readonly workspaceId: WorkspaceId;
447
- readonly mentions: readonly AgentTeamMemberId[];
448
- readonly message: AgentTeamMessage;
449
- readonly task?: AgentTeamTask;
450
- readonly thread: AgentTeamThread;
451
- readonly inbox: AgentTeamInboxDelta;
452
- };
453
- }
454
- /** Durable existing-Thread reply and any invitation/direct-mention facts. */
455
- export interface AgentTeamThreadRepliedOperation extends AgentTeamOperationBase {
456
- readonly kind: 'team/thread-replied';
457
- readonly data: {
458
- readonly workspaceId: WorkspaceId;
459
- readonly baseRevision: number;
460
- readonly mentions: readonly AgentTeamMemberId[];
461
- readonly message: AgentTeamMessage;
462
- readonly task?: AgentTeamTask;
463
- readonly thread: AgentTeamThread;
464
- readonly inbox: AgentTeamInboxDelta;
465
- };
466
- }
467
- /** Durable Human promotion of a taskless Thread into a real Task, announced by a structured Task activity. */
468
- export interface AgentTeamThreadPromotedOperation extends AgentTeamOperationBase {
469
- readonly kind: 'team/thread-promoted';
470
- readonly data: {
471
- readonly workspaceId: WorkspaceId;
472
- readonly baseRevision: number;
473
- readonly activity: AgentTeamTaskActivity;
474
- readonly task: AgentTeamTask;
475
- readonly thread: AgentTeamThread;
476
- readonly inbox: AgentTeamInboxDelta;
477
- };
478
- }
479
- export interface AgentTeamClaimOperationData {
480
- readonly workspaceId: WorkspaceId;
481
- readonly baseRevision: number;
482
- readonly activity: AgentTeamClaimActivity;
483
- readonly claim: AgentTeamClaim;
484
- readonly task: AgentTeamTask;
485
- readonly thread: AgentTeamThread;
486
- readonly inbox: AgentTeamInboxDelta;
487
- }
488
- export interface AgentTeamClaimCreatedOperation extends AgentTeamOperationBase {
489
- readonly kind: 'team/claim-created';
490
- readonly data: AgentTeamClaimOperationData;
491
- }
492
- export interface AgentTeamClaimDoneOperation extends AgentTeamOperationBase {
493
- readonly kind: 'team/claim-done';
494
- readonly data: AgentTeamClaimOperationData;
495
- }
496
- export interface AgentTeamClaimReleasedOperation extends AgentTeamOperationBase {
497
- readonly kind: 'team/claim-released';
498
- readonly data: AgentTeamClaimOperationData;
499
- }
500
- export type AgentTeamClaimChangedOperation = AgentTeamClaimCreatedOperation | AgentTeamClaimDoneOperation | AgentTeamClaimReleasedOperation;
501
- /** Durable Human Task-resolution change. */
502
- export interface AgentTeamTaskChangedOperation extends AgentTeamOperationBase {
503
- readonly kind: 'team/task-changed';
504
- readonly data: {
505
- readonly workspaceId: WorkspaceId;
506
- readonly baseRevision: number;
507
- readonly activity: AgentTeamTaskActivity;
508
- readonly task: AgentTeamTask;
509
- readonly thread: AgentTeamThread;
510
- readonly claims: readonly AgentTeamClaim[];
511
- readonly inbox: AgentTeamInboxDelta;
512
- };
513
- }
514
- /** Durable personal Attention follow or unfollow; it does not revise the Thread. */
515
- export interface AgentTeamThreadAttentionChangedOperation extends AgentTeamOperationBase {
516
- readonly kind: 'team/thread-attention-changed';
517
- readonly data: {
518
- readonly workspaceId: WorkspaceId;
519
- readonly action: 'follow' | 'unfollow';
520
- readonly memberId: AgentTeamMemberId;
521
- readonly task?: AgentTeamTask;
522
- readonly thread: AgentTeamThread;
523
- readonly inbox: AgentTeamInboxDelta;
524
- };
525
- }
526
- /** Durable one-batch read and direct-marker consumption. It does not revise the Thread. */
527
- export interface AgentTeamThreadReadOperation extends AgentTeamOperationBase {
528
- readonly kind: 'team/thread-read';
529
- readonly data: {
530
- readonly workspaceId: WorkspaceId;
531
- readonly memberId: AgentTeamMemberId;
532
- /** Current public state captured for a stable idempotent read response. */
533
- readonly task?: AgentTeamTask;
534
- readonly thread: AgentTeamThread;
535
- readonly claims: readonly AgentTeamClaim[];
536
- readonly anchor: AgentTeamStoredMessage;
537
- /** Structured Member refs of the anchor Message, from its originating send operation. */
538
- readonly anchorMentions: readonly AgentTeamMemberId[];
539
- readonly facts: readonly AgentTeamStoredThreadReadFact[];
540
- readonly readThroughSequence: number;
541
- /** Number of unread facts left after this bounded read. */
542
- readonly remainingUnreadCount: number;
543
- /** The reader's post-read Attention snapshot, when the reader follows. */
544
- readonly attention?: AgentTeamThreadAttention | undefined;
545
- readonly inbox: AgentTeamInboxDelta;
546
- };
547
- }
548
- /** Durable irreversible Member removal and global inbox cleanup. */
549
- export interface AgentTeamMemberRemovedOperation extends AgentTeamOperationBase {
550
- readonly kind: 'team/member-removed';
551
- readonly data: {
552
- readonly member: AgentTeamAgentMember;
553
- /** Claims released because this Member became inactive. */
554
- readonly claims: readonly AgentTeamClaim[];
555
- /** Public release summaries for the affected Threads. */
556
- readonly activities: readonly AgentTeamClaimsReleasedActivity[];
557
- readonly tasks: readonly AgentTeamTask[];
558
- readonly threads: readonly AgentTeamThread[];
559
- readonly inbox: AgentTeamInboxDelta;
560
- };
561
- }
562
- /**
563
- * Durable audit record of one Member-to-Member direct message. A DM is pure
564
- * delivery: it creates no Channel/Thread/revision, no Inbox attention, and no
565
- * markers. The ledger records it for audit, idempotent retries, and post-
566
- * compaction traceability; the wake itself is a transient runtime effect.
567
- */
568
- export interface AgentTeamDmSentOperation extends AgentTeamOperationBase {
569
- readonly kind: 'team/dm-sent';
570
- readonly data: {
571
- readonly workspaceId: WorkspaceId;
572
- readonly senderMemberId: AgentTeamMemberId;
573
- readonly recipientMemberId: AgentTeamMemberId;
574
- readonly body: string;
575
- };
576
- }
577
- /** Closed union of durable Agent Team operations. */
578
- export type AgentTeamOperation = AgentTeamInitializedOperation | AgentTeamChannelCreatedOperation | AgentTeamMemberAddedOperation | AgentTeamMemberSuspendedOperation | AgentTeamMemberResumedOperation | AgentTeamMemberSessionRestartedOperation | AgentTeamMemberContextClearedOperation | AgentTeamMemberSessionRenewedOperation | AgentTeamChannelUpdatedOperation | AgentTeamMemberUpdatedOperation | AgentTeamChannelMemberAddedOperation | AgentTeamChannelMemberRemovedOperation | AgentTeamMessageSentOperation | AgentTeamThreadRepliedOperation | AgentTeamThreadPromotedOperation | AgentTeamClaimCreatedOperation | AgentTeamClaimDoneOperation | AgentTeamClaimReleasedOperation | AgentTeamTaskChangedOperation | AgentTeamThreadAttentionChangedOperation | AgentTeamThreadReadOperation | AgentTeamMemberRemovedOperation | AgentTeamDmSentOperation;
579
- /** Receipt returned after an operation is durable or an identical retry resolves it. */
580
- export interface AgentTeamOperationReceipt {
581
- readonly operationId: AgentTeamOperationId;
582
- readonly requestId: AgentTeamRequestId;
583
- readonly sequence: number;
584
- }
585
- /** Human intent to create a Workspace Channel with its initial Members. */
586
- export interface AgentTeamCreateChannelRequest {
587
- readonly requestId: AgentTeamRequestId;
588
- readonly workspaceId: WorkspaceId;
589
- readonly name: string;
590
- /** Display purpose text; may be empty and filled in later through an edit. */
591
- readonly description: string;
592
- readonly memberIds?: readonly AgentTeamMemberId[];
593
- }
594
- /** Result of creating or idempotently resolving a Channel and its initial Members. */
595
- export interface AgentTeamCreateChannelResult {
596
- readonly receipt: AgentTeamOperationReceipt;
597
- readonly channel: AgentTeamChannel;
598
- readonly memberIds: readonly AgentTeamMemberId[];
599
- }
600
- /** Human intent to provision one team-managed Agent Member with initial Channels. */
601
- export interface AgentTeamAddMemberRequest {
602
- readonly requestId: AgentTeamRequestId;
603
- readonly workspaceId: WorkspaceId;
604
- readonly handle: string;
605
- /** Display purpose text; may be empty and filled in later through an edit. */
606
- readonly description: string;
607
- readonly presetId: string;
608
- /** Absent inherits the Host default model selection. */
609
- readonly model?: AgentTeamModelSelection;
610
- /** Durable capability intent; see AgentTeamMemberCapabilities. */
611
- readonly capabilities?: AgentTeamMemberCapabilities;
612
- /** Existing Channels in this Workspace; may be empty — the Member joins Channels later and stays reachable through its DM view. */
613
- readonly channelRefs: readonly AgentTeamChannelRef[];
614
- }
615
- /** Human intent to rename one Channel's display facts. */
616
- export interface AgentTeamUpdateChannelRequest {
617
- readonly requestId: AgentTeamRequestId;
618
- readonly workspaceId: WorkspaceId;
619
- readonly channelRef: AgentTeamChannelRef;
620
- readonly name: string;
621
- /** Display purpose text; may be empty, matching creation. */
622
- readonly description: string;
623
- }
624
- /** Result of updating or idempotently resolving one Channel's display facts. */
625
- export interface AgentTeamUpdateChannelResult {
626
- readonly receipt: AgentTeamOperationReceipt;
627
- readonly channel: AgentTeamChannel;
628
- }
629
- /**
630
- * Human intent to edit one Member's mutable facts; absent optional facts
631
- * clear any override. Callers that do not manage capabilities must echo the
632
- * stored value back, or their edit would silently clear it.
633
- */
634
- export interface AgentTeamUpdateMemberRequest {
635
- readonly requestId: AgentTeamRequestId;
636
- readonly memberId: AgentTeamMemberId;
637
- readonly handle: string;
638
- /** Display purpose text; may be empty, matching creation. */
639
- readonly description: string;
640
- readonly model?: AgentTeamModelSelection;
641
- /** Absent clears any capability override, matching `model`. */
642
- readonly capabilities?: AgentTeamMemberCapabilities;
643
- }
644
- /** Human intent to suspend or resume one Agent Member. */
645
- export interface AgentTeamSetMemberStateRequest {
646
- readonly requestId: AgentTeamRequestId;
647
- readonly memberId: AgentTeamMemberId;
648
- }
649
- /** Result of a Member lifecycle operation. */
650
- export interface AgentTeamMemberResult {
651
- readonly receipt: AgentTeamOperationReceipt;
652
- readonly status: AgentTeamAgentMemberStatus;
653
- }
654
- /** Operator intent to nudge one error-stopped Member into continuing its work. */
655
- export interface AgentTeamRecoverMemberRequest {
656
- readonly requestId: AgentTeamRequestId;
657
- readonly workspaceId: WorkspaceId;
658
- readonly memberId: AgentTeamMemberId;
659
- }
660
- /** Result of a recovery nudge; runtime-only steering, so there is no ledger receipt. */
661
- export interface AgentTeamRecoverMemberResult {
662
- readonly status: AgentTeamAgentMemberStatus;
663
- }
664
- /** Human intent to start one enabled Member's next turn from an empty context. */
665
- export interface AgentTeamClearMemberContextRequest {
666
- readonly requestId: AgentTeamRequestId;
667
- readonly workspaceId: WorkspaceId;
668
- readonly memberId: AgentTeamMemberId;
669
- }
670
- /** The Member keeps identity, memory, and binding; its sessionId moves to a fresh Session and the previous log stays archived on disk. */
671
- export interface AgentTeamClearMemberContextResult {
672
- readonly receipt: AgentTeamOperationReceipt;
673
- readonly status: AgentTeamAgentMemberStatus;
674
- }
675
- /** Human intent to remove one Agent Member from one Channel. */
676
- export interface AgentTeamRemoveChannelMemberRequest {
677
- readonly requestId: AgentTeamRequestId;
678
- readonly workspaceId: WorkspaceId;
679
- readonly channelRef: AgentTeamChannelRef;
680
- readonly memberId: AgentTeamMemberId;
681
- }
682
- /** Result of Channel-scoped member cleanup. */
683
- export interface AgentTeamRemoveChannelMemberResult {
684
- readonly receipt: AgentTeamOperationReceipt;
685
- readonly channelRef: AgentTeamChannelRef;
686
- readonly memberId: AgentTeamMemberId;
687
- readonly releasedClaims: readonly AgentTeamClaim[];
688
- readonly removedAttention: readonly AgentTeamThreadAttentionKey[];
689
- }
690
- /** Human intent to add one Agent Member to one Channel. */
691
- export interface AgentTeamJoinChannelRequest {
692
- readonly requestId: AgentTeamRequestId;
693
- readonly workspaceId: WorkspaceId;
694
- readonly channelRef: AgentTeamChannelRef;
695
- readonly memberId: AgentTeamMemberId;
696
- }
697
- export interface AgentTeamJoinChannelResult {
698
- readonly receipt: AgentTeamOperationReceipt;
699
- readonly channelRef: AgentTeamChannelRef;
700
- readonly memberId: AgentTeamMemberId;
701
- }
702
- /** Intent to create one top-level Message and Thread, with an optional Task. */
703
- export interface AgentTeamSendMessageRequest {
704
- readonly requestId: AgentTeamRequestId;
705
- readonly workspaceId: WorkspaceId;
706
- readonly channelRef: AgentTeamChannelRef;
707
- readonly body: string;
708
- readonly recipients?: readonly AgentTeamMemberId[];
709
- /** Uploaded attachments to reference; the Host resolves and verifies each id. */
710
- readonly attachments?: readonly AgentTeamAttachmentId[] | undefined;
711
- /**
712
- * Agent-supplied absolute file paths; the Host validates each one, copies the
713
- * bytes into the attachment cache, and turns them into the same metadata.
714
- */
715
- readonly attachmentPaths?: readonly string[] | undefined;
716
- readonly confirmationToken?: AgentTeamConfirmationToken;
717
- /**
718
- * When false, create a taskless Thread. Omitted/true keeps the released-client
719
- * atomic Message+Thread+Task path. New composer/tool seams pass false explicitly.
720
- */
721
- readonly asTask?: boolean;
722
- }
723
- /** Upload one composer attachment into the Team attachment cache. */
724
- export interface AgentTeamPutAttachmentRequest {
725
- readonly requestId: AgentTeamRequestId;
726
- readonly workspaceId: WorkspaceId;
727
- readonly name: string;
728
- readonly mediaType?: string | undefined;
729
- readonly bytesBase64: string;
730
- }
731
- export interface AgentTeamPutAttachmentResult {
732
- readonly attachmentId: AgentTeamAttachmentId;
733
- /** Absolute path members read the bytes from; stable for the cache lifetime. */
734
- readonly path: string;
735
- readonly name: string;
736
- readonly byteSize: number;
737
- readonly mediaType: string;
738
- }
739
- /** Read one uploaded attachment back for client-side display. */
740
- export interface AgentTeamGetAttachmentRequest {
741
- readonly attachmentId: AgentTeamAttachmentId;
742
- }
743
- export interface AgentTeamGetAttachmentResult {
744
- readonly name: string;
745
- readonly mediaType: string;
746
- readonly byteSize: number;
747
- readonly bytesBase64: string;
748
- }
749
- /** Intent to append one public Message to an existing Thread. */
750
- export interface AgentTeamReplyRequest {
751
- readonly requestId: AgentTeamRequestId;
752
- readonly workspaceId: WorkspaceId;
753
- readonly threadRef?: AgentTeamThreadRef;
754
- readonly taskRef?: AgentTeamTaskRef;
755
- readonly body: string;
756
- readonly baseRevision: number;
757
- readonly recipients?: readonly AgentTeamMemberId[];
758
- /** Agent-supplied absolute file paths, resolved like sendMessage's. */
759
- readonly attachmentPaths?: readonly string[] | undefined;
760
- /** Attachment cache IDs from the Human picker, resolved like sendMessage's. */
761
- readonly attachments?: readonly AgentTeamAttachmentId[] | undefined;
762
- readonly confirmationToken?: AgentTeamConfirmationToken;
763
- }
764
- /** A Human must send the same invitation one more time with this token. */
765
- export interface AgentTeamConfirmationRequired {
766
- readonly kind: 'confirmation_required';
767
- readonly confirmationToken: AgentTeamConfirmationToken;
768
- readonly workspaceId: WorkspaceId;
769
- readonly channelRef: AgentTeamChannelRef;
770
- readonly recipients: readonly AgentTeamMemberId[];
771
- readonly taskRef?: AgentTeamTaskRef;
772
- readonly threadRef?: AgentTeamThreadRef;
773
- readonly revision?: number;
774
- }
775
- /** Existing unread work must be read before this Thread mutation can proceed. */
776
- export interface AgentTeamUnreadRequired {
777
- readonly kind: 'unread_required';
778
- readonly taskRef?: AgentTeamTaskRef;
779
- readonly threadRef: AgentTeamThreadRef;
780
- readonly revision: number;
781
- readonly unreadCount: number;
782
- readonly directCount: number;
783
- }
784
- /** A public Thread mutation used an obsolete optimistic-concurrency revision. */
785
- export interface AgentTeamStaleRevision {
786
- readonly kind: 'stale_revision';
787
- readonly taskRef?: AgentTeamTaskRef;
788
- readonly threadRef: AgentTeamThreadRef;
789
- readonly expectedRevision: number;
790
- readonly revision: number;
791
- }
792
- /** An Agent tried to address an Agent who is not already following. */
793
- export interface AgentTeamMemberNotFollowing {
794
- readonly kind: 'member_not_following';
795
- readonly memberIds: readonly AgentTeamMemberId[];
796
- readonly workspaceId: WorkspaceId;
797
- readonly channelRef: AgentTeamChannelRef;
798
- readonly taskRef?: AgentTeamTaskRef;
799
- readonly threadRef?: AgentTeamThreadRef;
800
- readonly revision?: number;
801
- }
802
- export interface AgentTeamSendMessageCommittedResult {
803
- readonly kind: 'committed';
804
- readonly receipt: AgentTeamOperationReceipt;
805
- readonly message: AgentTeamMessage;
806
- readonly task?: AgentTeamTask;
807
- readonly thread: AgentTeamThread;
808
- readonly attention: readonly AgentTeamThreadAttention[];
809
- readonly directMarkers: readonly AgentTeamDirectMarker[];
810
- }
811
- export type AgentTeamSendMessageResult = AgentTeamSendMessageCommittedResult | AgentTeamConfirmationRequired | AgentTeamMemberNotFollowing;
812
- export interface AgentTeamReplyCommittedResult {
813
- readonly kind: 'committed';
814
- readonly receipt: AgentTeamOperationReceipt;
815
- readonly message: AgentTeamMessage;
816
- readonly task?: AgentTeamTask;
817
- readonly thread: AgentTeamThread;
818
- readonly attention: readonly AgentTeamThreadAttention[];
819
- readonly directMarkers: readonly AgentTeamDirectMarker[];
820
- }
821
- export type AgentTeamReplyResult = AgentTeamReplyCommittedResult | AgentTeamConfirmationRequired | AgentTeamUnreadRequired | AgentTeamStaleRevision | AgentTeamMemberNotFollowing;
822
- /** Human Task resolution intent. */
823
- export interface AgentTeamTaskRequest {
824
- readonly requestId: AgentTeamRequestId;
825
- readonly workspaceId: WorkspaceId;
826
- readonly taskRef: AgentTeamTaskRef;
827
- readonly action: 'accept' | 'close' | 'reopen';
828
- readonly baseRevision: number;
829
- }
830
- export interface AgentTeamTaskCommittedResult {
831
- readonly kind: 'committed';
832
- readonly receipt: AgentTeamOperationReceipt;
833
- readonly activity: AgentTeamTaskActivity;
834
- readonly task: AgentTeamTask;
835
- readonly thread: AgentTeamThread;
836
- readonly claims: readonly AgentTeamClaim[];
837
- }
838
- export type AgentTeamTaskResult = AgentTeamTaskCommittedResult | AgentTeamUnreadRequired | AgentTeamStaleRevision;
839
- /** Human intent to attach a real Task overlay to a taskless Thread. */
840
- export interface AgentTeamPromoteThreadRequest {
841
- readonly requestId: AgentTeamRequestId;
842
- readonly workspaceId: WorkspaceId;
843
- readonly threadRef: AgentTeamThreadRef;
844
- readonly baseRevision: number;
845
- }
846
- export interface AgentTeamPromoteThreadCommittedResult {
847
- readonly kind: 'committed';
848
- readonly receipt: AgentTeamOperationReceipt;
849
- readonly activity: AgentTeamTaskActivity;
850
- readonly task: AgentTeamTask;
851
- readonly thread: AgentTeamThread;
852
- }
853
- export type AgentTeamPromoteThreadResult = AgentTeamPromoteThreadCommittedResult | AgentTeamUnreadRequired | AgentTeamStaleRevision;
854
- /** Human intent to permanently remove one Agent Member. */
855
- export interface AgentTeamRemoveMemberRequest {
856
- readonly requestId: AgentTeamRequestId;
857
- readonly memberId: AgentTeamMemberId;
858
- }
859
- export interface AgentTeamRemoveMemberResult {
860
- readonly receipt: AgentTeamOperationReceipt;
861
- readonly member: AgentTeamAgentMember;
862
- readonly releasedClaims: readonly AgentTeamClaim[];
863
- readonly removedAttention: readonly AgentTeamThreadAttentionKey[];
864
- }
865
- /** Personal Thread Attention mutation; it is exempt from public mutation fences. */
866
- export interface AgentTeamThreadAttentionRequest {
867
- readonly requestId: AgentTeamRequestId;
868
- readonly workspaceId: WorkspaceId;
869
- readonly threadRef?: AgentTeamThreadRef;
870
- readonly taskRef?: AgentTeamTaskRef;
871
- readonly action: 'follow' | 'unfollow';
872
- }
873
- /**
874
- * Agent-only direct message to one enabled Agent Member in the same
875
- * Workspace. Delivery is pure injection: the ledger records the send, and the
876
- * recipient's live session receives the body as a relay-form user message.
3
+ * - ./types/entities.ts branded ids, actors, entities, activities, stored facts.
4
+ * - ./types/operations.ts durable operation records embedded in the ledger.
5
+ * - ./types/requests-results.ts operation receipts, requests, results, views.
6
+ *
7
+ * This file stays the single public import path; every consumer keeps importing
8
+ * from ./types.ts (or @wowyuarm/dsh-agent-team/types) unchanged.
877
9
  */
878
- export interface AgentTeamDmRequest {
879
- readonly requestId: AgentTeamRequestId;
880
- readonly workspaceId: WorkspaceId;
881
- readonly recipientMemberId: AgentTeamMemberId;
882
- readonly body: string;
883
- }
884
- export interface AgentTeamDmResult {
885
- readonly receipt: AgentTeamOperationReceipt;
886
- readonly recipient: AgentTeamAgentMember;
887
- }
888
- export interface AgentTeamThreadAttentionResult {
889
- readonly receipt: AgentTeamOperationReceipt;
890
- readonly task?: AgentTeamTask;
891
- readonly thread: AgentTeamThread;
892
- /** Present after follow, absent after unfollow. */
893
- readonly attention?: AgentTeamThreadAttention;
894
- }
895
- export interface AgentTeamThreadAttentionStatus {
896
- readonly task?: AgentTeamTask;
897
- readonly thread: AgentTeamThread;
898
- readonly attention?: AgentTeamThreadAttention;
899
- }
900
- /** Direction Claim mutation. `baseRevision` fences every non-list public mutation. */
901
- export interface AgentTeamClaimRequest {
902
- readonly requestId: AgentTeamRequestId;
903
- readonly workspaceId: WorkspaceId;
904
- readonly taskRef: AgentTeamTaskRef;
905
- readonly action: 'claim' | 'done' | 'release';
906
- readonly baseRevision: number;
907
- readonly direction?: string;
908
- readonly claimRef?: AgentTeamClaimRef;
909
- }
910
- export interface AgentTeamClaimCommittedResult {
911
- readonly kind: 'committed';
912
- readonly receipt: AgentTeamOperationReceipt;
913
- readonly activity: AgentTeamClaimActivity;
914
- readonly claim: AgentTeamClaim;
915
- readonly task: AgentTeamTask;
916
- readonly thread: AgentTeamThread;
917
- readonly attention?: AgentTeamThreadAttention;
918
- }
919
- export type AgentTeamClaimResult = AgentTeamClaimCommittedResult | AgentTeamUnreadRequired | AgentTeamStaleRevision;
920
- export interface AgentTeamClaimList {
921
- readonly task: AgentTeamTask;
922
- readonly thread: AgentTeamThread;
923
- readonly claims: readonly AgentTeamClaim[];
924
- }
925
- /** Read-only, personal Workspace Inbox projection. */
926
- export interface AgentTeamInboxRequest {
927
- readonly workspaceId: WorkspaceId;
928
- readonly limit?: number;
929
- }
930
- /** One Thread summary containing no Message bodies. */
931
- export interface AgentTeamInboxItem {
932
- readonly channelRef: AgentTeamChannelRef;
933
- readonly task?: AgentTeamTask;
934
- readonly thread: AgentTeamThread;
935
- readonly unreadCount: number;
936
- readonly directCount: number;
937
- readonly newestSequence: number;
938
- readonly attention?: AgentTeamThreadAttention;
939
- }
940
- export interface AgentTeamInbox {
941
- readonly items: readonly AgentTeamInboxItem[];
942
- readonly totalUnreadCount: number;
943
- readonly totalDirectCount: number;
944
- }
945
- /** Request to atomically receive and acknowledge one contiguous Thread batch. */
946
- export interface AgentTeamThreadReadRequest {
947
- readonly requestId: AgentTeamRequestId;
948
- readonly workspaceId: WorkspaceId;
949
- readonly threadRef?: AgentTeamThreadRef;
950
- readonly taskRef?: AgentTeamTaskRef;
951
- }
952
- export interface AgentTeamThreadReadResult {
953
- readonly receipt: AgentTeamOperationReceipt;
954
- readonly task?: AgentTeamTask;
955
- readonly thread: AgentTeamThread;
956
- readonly claims: readonly AgentTeamClaim[];
957
- readonly anchor: AgentTeamMessage;
958
- /** Structured Member refs of the anchor Message, from its originating send operation. */
959
- readonly anchorMentions: readonly AgentTeamMemberId[];
960
- readonly facts: readonly AgentTeamThreadReadFact[];
961
- readonly readThroughSequence: number;
962
- /** Number of unread facts left after this bounded read. */
963
- readonly remainingUnreadCount: number;
964
- readonly attention?: AgentTeamThreadAttention;
965
- readonly consumedDirectMarkers: readonly AgentTeamDirectMarker[];
966
- }
967
- /** Non-mutating Thread history request. */
968
- export interface AgentTeamThreadHistoryRequest {
969
- readonly workspaceId: WorkspaceId;
970
- readonly threadRef?: AgentTeamThreadRef;
971
- readonly taskRef?: AgentTeamTaskRef;
972
- readonly beforeSequence?: number;
973
- readonly limit?: number;
974
- }
975
- export interface AgentTeamThreadHistory {
976
- readonly task?: AgentTeamTask;
977
- readonly thread: AgentTeamThread;
978
- readonly anchor: AgentTeamMessage;
979
- /** Structured Member refs of the anchor Message, from its originating send operation. */
980
- readonly anchorMentions: readonly AgentTeamMemberId[];
981
- readonly claims: readonly AgentTeamClaim[];
982
- readonly facts: readonly AgentTeamThreadFact[];
983
- readonly cursor: number;
984
- readonly hasMore: boolean;
985
- }
986
- /** Human-only observation of a durable personal Attention change. */
987
- export interface AgentTeamThreadAttentionObservation {
988
- readonly sequence: number;
989
- readonly threadRef: AgentTeamThreadRef;
990
- readonly taskRef?: AgentTeamTaskRef;
991
- readonly memberId: AgentTeamMemberId;
992
- readonly action: 'follow' | 'unfollow';
993
- }
994
- export interface AgentTeamThreadObservationsRequest {
995
- readonly workspaceId: WorkspaceId;
996
- readonly threadRef?: AgentTeamThreadRef;
997
- readonly taskRef?: AgentTeamTaskRef;
998
- readonly limit?: number;
999
- }
1000
- export interface AgentTeamThreadObservations {
1001
- readonly items: readonly AgentTeamThreadAttentionObservation[];
1002
- }
1003
- /** One bounded Workspace view item. */
1004
- export interface AgentTeamViewItem {
1005
- readonly message: AgentTeamMessage;
1006
- /** Structured Member refs of this Message, from its originating send operation. */
1007
- readonly mentions: readonly AgentTeamMemberId[];
1008
- readonly task?: AgentTeamTask;
1009
- readonly thread: AgentTeamThread;
1010
- readonly taskNumber?: number;
1011
- readonly messageCount: number;
1012
- }
1013
- export interface AgentTeamViewRequest {
1014
- readonly workspaceId: WorkspaceId;
1015
- readonly channelRef?: AgentTeamChannelRef;
1016
- readonly threadRef?: AgentTeamThreadRef;
1017
- readonly limit?: number;
1018
- readonly cursor?: number;
1019
- /** Read facts after the cursor (Agent default) or the latest facts before it (Client history). */
1020
- readonly direction?: 'after' | 'before';
1021
- /** Exclude Thread replies from a top-level-only projection. */
1022
- readonly topLevelOnly?: boolean;
1023
- /** Include public Claim and Task activities in the bounded stream (default true). */
1024
- readonly includeActivities?: boolean;
1025
- }
1026
- /** Bounded public collaboration facts plus a continuation sequence. */
1027
- export interface AgentTeamView {
1028
- readonly humanMemberId: AgentTeamMemberId;
1029
- readonly channels: readonly AgentTeamChannel[];
1030
- readonly members: readonly AgentTeamChannelMembership[];
1031
- readonly tasks: readonly AgentTeamTask[];
1032
- readonly threads: readonly AgentTeamThread[];
1033
- readonly taskNumbers: readonly {
1034
- readonly taskRef: AgentTeamTaskRef;
1035
- readonly taskNumber: number;
1036
- }[];
1037
- readonly items: readonly AgentTeamViewItem[];
1038
- readonly claims: readonly AgentTeamClaim[];
1039
- readonly activities: readonly AgentTeamActivity[];
1040
- readonly cursor: number;
1041
- readonly hasMore: boolean;
1042
- }
1043
- /** One projection slice a Client can wait on; events wake only matching waiters. */
1044
- export type AgentTeamChangeScope = {
1045
- readonly kind: 'workspace';
1046
- readonly workspaceId: WorkspaceId;
1047
- } | {
1048
- readonly kind: 'channel';
1049
- readonly channelRef: AgentTeamChannelRef;
1050
- } | {
1051
- readonly kind: 'thread';
1052
- readonly threadRef: AgentTeamThreadRef;
1053
- };
1054
- /** Cursor for the lightweight Client invalidation stream. */
1055
- export interface AgentTeamChangesRequest {
1056
- readonly afterVersion: number;
1057
- /** Restrict wake-ups to one projection scope; omit to observe every Team change. */
1058
- readonly scope?: AgentTeamChangeScope;
1059
- }
1060
- export interface AgentTeamChangesResult {
1061
- readonly version: number;
1062
- }
1063
- /** Human-facing summary of the current Team projection. */
1064
- export interface AgentTeamStatus {
1065
- readonly initialized: true;
1066
- readonly sequence: number;
1067
- readonly operationCount: number;
1068
- readonly channelCount: number;
1069
- readonly agentMemberCount: number;
1070
- readonly humanMemberId: AgentTeamMemberId;
1071
- }
1072
- export {};
10
+ export type * from "./types/entities.ts";
11
+ export type * from "./types/operations.ts";
12
+ export type * from "./types/requests-results.ts";
1073
13
  //# sourceMappingURL=types.d.ts.map