@qilin-agent/experimental-agent-team 3.1.5 → 3.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.i18n.yaml +44 -44
- package/README.md +32 -28
- package/README.zh.md +33 -29
- package/lib/index.js +3 -7
- package/lib/typert.host.js +145 -26
- package/lib/typert.remote-client.d.ts +6 -2
- package/lib/typert.remote-client.js +77 -23
- package/lib/types/index.d.ts +1 -3
- package/lib/types/index.js +2 -6
- package/lib/types/journal.d.ts +1 -1
- package/lib/types/session-message.d.ts +1 -1
- package/lib/types/session-message.js +1 -1
- package/lib/types/types.d.ts +5 -5
- package/package.json +26 -26
package/lib/types/index.js
CHANGED
|
@@ -300,22 +300,18 @@ let TeamService = (() => {
|
|
|
300
300
|
tryMembership(agent) {
|
|
301
301
|
return this.roster.tryMembership(agent);
|
|
302
302
|
}
|
|
303
|
-
/** Queue one contained
|
|
303
|
+
/** Queue one contained provisioning reconciliation after publication has unwound. */
|
|
304
304
|
scheduleRecovery(agent) {
|
|
305
305
|
queueMicrotask(() => {
|
|
306
306
|
if (this.lifecycle.disposed)
|
|
307
307
|
return;
|
|
308
|
-
void this.recoverFor(agent).catch((error) => {
|
|
308
|
+
void this.roster.recoverFor(agent, this.lifecycle.signal).catch((error) => {
|
|
309
309
|
if (this.lifecycle.disposed)
|
|
310
310
|
return;
|
|
311
311
|
this.ctx.logger.warn(`Agent Teams recovery for "${agent.id}" failed: ${errorMessage(error)}`);
|
|
312
312
|
});
|
|
313
313
|
});
|
|
314
314
|
}
|
|
315
|
-
/** Reconcile roster provisioning when one Team member Session starts. */
|
|
316
|
-
async recoverFor(agent) {
|
|
317
|
-
await this.roster.recoverFor(agent, this.lifecycle.signal);
|
|
318
|
-
}
|
|
319
315
|
/** Stop Team-owned live branches and release every waiter before service disposal completes. */
|
|
320
316
|
async disposeRuntime() {
|
|
321
317
|
this.lifecycle.close();
|
package/lib/types/journal.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import type { Agent } from '@qilin-agent/agent';
|
|
|
3
3
|
import type { Context } from '@qilin-agent/kylin';
|
|
4
4
|
import type { SessionEventMap, SessionId } from '@qilin-agent/session';
|
|
5
5
|
import type { TeamState } from './projection.ts';
|
|
6
|
-
type MutableTeamEventType = 'team/member' | 'team/task'
|
|
6
|
+
type MutableTeamEventType = 'team/member' | 'team/task';
|
|
7
7
|
/** Owns per-Lead transaction order and committed Team event publication. */
|
|
8
8
|
export declare class TeamJournal {
|
|
9
9
|
private readonly ctx;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** Durable Session-message acceptance checks
|
|
1
|
+
/** Durable Session-message acceptance checks for teammate provisioning. */
|
|
2
2
|
import type { UserMessage } from '@qilin-agent/llm';
|
|
3
3
|
import type { SessionEvent } from '@qilin-agent/session';
|
|
4
4
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** Durable Session-message acceptance checks
|
|
1
|
+
/** Durable Session-message acceptance checks for teammate provisioning. */
|
|
2
2
|
/** Fold the durable inbox suffix into the messages still awaiting a claim. */
|
|
3
3
|
function pendingInboxMessages(events) {
|
|
4
4
|
const inbox = { 'next-turn': [], 'next-step': [] };
|
package/lib/types/types.d.ts
CHANGED
|
@@ -101,7 +101,7 @@ declare module '@qilin-agent/session-projection/types' {
|
|
|
101
101
|
agentTeam: TeamProjection;
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
|
-
/** One peer message
|
|
104
|
+
/** One peer message recorded by the historical Team mailbox. */
|
|
105
105
|
export interface TeamMessageSnapshot {
|
|
106
106
|
readonly id: TeamMessageId;
|
|
107
107
|
readonly senderId: SessionId;
|
|
@@ -109,7 +109,7 @@ export interface TeamMessageSnapshot {
|
|
|
109
109
|
readonly targetId: SessionId;
|
|
110
110
|
readonly content: ContentBlock[];
|
|
111
111
|
}
|
|
112
|
-
/** Source
|
|
112
|
+
/** Source carried by a target Session for one Team peer message, new or historical. */
|
|
113
113
|
export interface TeamMessageSource {
|
|
114
114
|
readonly kind: 'team-message';
|
|
115
115
|
readonly teamId: TeamId;
|
|
@@ -130,7 +130,7 @@ export interface Config {
|
|
|
130
130
|
readonly maxTasks?: number;
|
|
131
131
|
/** Maximum UTF-8 bytes in one complete sender-framed delivery. */
|
|
132
132
|
readonly maxMessageBytes?: number;
|
|
133
|
-
/** Maximum milliseconds
|
|
133
|
+
/** Maximum milliseconds for shared operation settlement and for each Team child drain. */
|
|
134
134
|
readonly disposalTimeoutMs?: number;
|
|
135
135
|
}
|
|
136
136
|
/** Input for creating one durable teammate. */
|
|
@@ -146,13 +146,13 @@ export interface SpawnTeammateRequest {
|
|
|
146
146
|
export interface SpawnTeammateResult {
|
|
147
147
|
readonly member: TeamMemberView;
|
|
148
148
|
}
|
|
149
|
-
/** Input for one
|
|
149
|
+
/** Input for one direct peer-message attempt. */
|
|
150
150
|
export interface SendTeamMessageRequest {
|
|
151
151
|
readonly target: string;
|
|
152
152
|
readonly content: ContentBlock[];
|
|
153
153
|
readonly signal: AbortSignal;
|
|
154
154
|
}
|
|
155
|
-
/**
|
|
155
|
+
/** Target inbox acceptance under ordinary Agent persistence; no Team retry or deduplication. */
|
|
156
156
|
export interface SendTeamMessageResult {
|
|
157
157
|
readonly messageId: TeamMessageId;
|
|
158
158
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@qilin-agent/experimental-agent-team",
|
|
3
|
-
"description": "Implicit-root Agent Teams roster,
|
|
4
|
-
"version": "3.1.
|
|
3
|
+
"description": "Implicit-root Agent Teams roster, direct peer messaging, and shared task DAG",
|
|
4
|
+
"version": "3.1.6",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -54,33 +54,33 @@
|
|
|
54
54
|
"license": "MIT",
|
|
55
55
|
"dependencies": {
|
|
56
56
|
"zod": "^4.4.3",
|
|
57
|
-
"@qilin-agent/brand": "3.1.
|
|
58
|
-
"@qilin-agent/schemastery": "~3.18.
|
|
57
|
+
"@qilin-agent/brand": "3.1.6",
|
|
58
|
+
"@qilin-agent/schemastery": "~3.18.5"
|
|
59
59
|
},
|
|
60
60
|
"peerDependencies": {
|
|
61
|
-
"@qilin-agent/
|
|
62
|
-
"@qilin-agent/
|
|
63
|
-
"@qilin-agent/session": "3.1.
|
|
64
|
-
"@qilin-agent/
|
|
65
|
-
"@qilin-agent/
|
|
66
|
-
"@qilin-agent/
|
|
67
|
-
"@qilin-agent/
|
|
68
|
-
"@qilin-agent/
|
|
61
|
+
"@qilin-agent/kylin": "~4.0.5",
|
|
62
|
+
"@qilin-agent/llm": "3.1.6",
|
|
63
|
+
"@qilin-agent/session-persistence": "3.1.6",
|
|
64
|
+
"@qilin-agent/session-projection": "3.1.6",
|
|
65
|
+
"@qilin-agent/session": "3.1.6",
|
|
66
|
+
"@qilin-agent/subagent": "3.1.6",
|
|
67
|
+
"@qilin-agent/typert-protocol": "3.1.6",
|
|
68
|
+
"@qilin-agent/agent": "3.1.6"
|
|
69
69
|
},
|
|
70
70
|
"devDependencies": {
|
|
71
|
-
"@qilin-agent/
|
|
72
|
-
"@qilin-agent/agent": "3.1.
|
|
73
|
-
"@qilin-agent/
|
|
74
|
-
"@qilin-agent/agent-loop
|
|
75
|
-
"@qilin-agent/session
|
|
76
|
-
"@qilin-agent/
|
|
77
|
-
"@qilin-agent/session-
|
|
78
|
-
"@qilin-agent/
|
|
79
|
-
"@qilin-agent/session-query": "3.1.
|
|
80
|
-
"@qilin-agent/
|
|
81
|
-
"@qilin-agent/
|
|
82
|
-
"@qilin-agent/subagent-spawn-in-process": "3.1.
|
|
83
|
-
"@qilin-agent/
|
|
84
|
-
"@qilin-agent/
|
|
71
|
+
"@qilin-agent/agent": "3.1.6",
|
|
72
|
+
"@qilin-agent/agent-loop-testkit": "3.1.6",
|
|
73
|
+
"@qilin-agent/kylin": "~4.0.5",
|
|
74
|
+
"@qilin-agent/agent-loop": "3.1.6",
|
|
75
|
+
"@qilin-agent/session": "3.1.6",
|
|
76
|
+
"@qilin-agent/llm": "3.1.6",
|
|
77
|
+
"@qilin-agent/session-persistence": "3.1.6",
|
|
78
|
+
"@qilin-agent/session-persistence-jsonl": "3.1.6",
|
|
79
|
+
"@qilin-agent/session-query": "3.1.6",
|
|
80
|
+
"@qilin-agent/session-projection": "3.1.6",
|
|
81
|
+
"@qilin-agent/subagent": "3.1.6",
|
|
82
|
+
"@qilin-agent/subagent-spawn-in-process": "3.1.6",
|
|
83
|
+
"@qilin-agent/typert-protocol": "3.1.6",
|
|
84
|
+
"@qilin-agent/subagent-fork-in-process": "3.1.6"
|
|
85
85
|
}
|
|
86
86
|
}
|