@bowenqt/qiniu-ai-sdk 0.30.2 → 0.30.4
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/ai/create-agent.d.ts +2 -0
- package/dist/ai/create-agent.d.ts.map +1 -1
- package/dist/ai/create-agent.js +6 -2
- package/dist/ai/create-agent.js.map +1 -1
- package/dist/ai/create-agent.mjs +6 -2
- package/dist/ai/crew/hierarchical.d.ts +12 -0
- package/dist/ai/crew/hierarchical.d.ts.map +1 -0
- package/dist/ai/crew/hierarchical.js +181 -0
- package/dist/ai/crew/hierarchical.js.map +1 -0
- package/dist/ai/crew/hierarchical.mjs +178 -0
- package/dist/ai/crew/index.d.ts +2 -0
- package/dist/ai/crew/index.d.ts.map +1 -1
- package/dist/ai/crew/index.js +9 -5
- package/dist/ai/crew/index.js.map +1 -1
- package/dist/ai/crew/index.mjs +6 -4
- package/dist/ai/crew/parallel.d.ts +12 -0
- package/dist/ai/crew/parallel.d.ts.map +1 -0
- package/dist/ai/crew/parallel.js +114 -0
- package/dist/ai/crew/parallel.js.map +1 -0
- package/dist/ai/crew/parallel.mjs +111 -0
- package/dist/ai/crew/sequential.d.ts.map +1 -1
- package/dist/ai/crew/sequential.js +31 -3
- package/dist/ai/crew/sequential.js.map +1 -1
- package/dist/ai/crew/sequential.mjs +31 -3
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +1 -1
|
@@ -64,6 +64,8 @@ export interface AgentRunOptions {
|
|
|
64
64
|
onNodeEnter?: (nodeName: string) => void;
|
|
65
65
|
/** Node exit callback */
|
|
66
66
|
onNodeExit?: (nodeName: string) => void;
|
|
67
|
+
/** Abort signal for cancellation */
|
|
68
|
+
abortSignal?: AbortSignal;
|
|
67
69
|
}
|
|
68
70
|
/** Options for run with thread (persistent conversation) */
|
|
69
71
|
export interface AgentRunWithThreadOptions extends AgentRunOptions {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-agent.d.ts","sourceRoot":"","sources":["../../src/ai/create-agent.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAEH,KAAK,2BAA2B,EAChC,KAAK,UAAU,EACf,KAAK,IAAI,EACZ,MAAM,iBAAiB,CAAC;AAMzB,0BAA0B;AAC1B,MAAM,WAAW,WAAW;IACxB,uEAAuE;IACvE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,sBAAsB;IACtB,MAAM,EAAE,OAAO,CAAC;IAChB,mBAAmB;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7B,uBAAuB;IACvB,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;IACjB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,wBAAwB;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qBAAqB;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sBAAsB;IACtB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,2BAA2B;IAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,QAAQ,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IAChF,mBAAmB;IACnB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,gDAAgD;IAChD,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,yCAAyC;IACzC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,oDAAoD;IACpD,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,4CAA4C;IAC5C,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;CAC5B;AAED,8CAA8C;AAC9C,MAAM,WAAW,eAAe;IAC5B,kBAAkB;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,2BAA2B;IAC3B,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;IAC1C,0BAA0B;IAC1B,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,yBAAyB;IACzB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"create-agent.d.ts","sourceRoot":"","sources":["../../src/ai/create-agent.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAEH,KAAK,2BAA2B,EAChC,KAAK,UAAU,EACf,KAAK,IAAI,EACZ,MAAM,iBAAiB,CAAC;AAMzB,0BAA0B;AAC1B,MAAM,WAAW,WAAW;IACxB,uEAAuE;IACvE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,sBAAsB;IACtB,MAAM,EAAE,OAAO,CAAC;IAChB,mBAAmB;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7B,uBAAuB;IACvB,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;IACjB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,wBAAwB;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qBAAqB;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sBAAsB;IACtB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,2BAA2B;IAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,QAAQ,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IAChF,mBAAmB;IACnB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,gDAAgD;IAChD,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,yCAAyC;IACzC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,oDAAoD;IACpD,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,4CAA4C;IAC5C,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;CAC5B;AAED,8CAA8C;AAC9C,MAAM,WAAW,eAAe;IAC5B,kBAAkB;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,2BAA2B;IAC3B,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;IAC1C,0BAA0B;IAC1B,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,yBAAyB;IACzB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,oCAAoC;IACpC,WAAW,CAAC,EAAE,WAAW,CAAC;CAC7B;AAED,4DAA4D;AAC5D,MAAM,WAAW,yBAA0B,SAAQ,eAAe;IAC9D,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,0DAA0D;IAC1D,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,qBAAqB;AACrB,MAAM,WAAW,KAAK;IAClB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACtC,sCAAsC;IACtC,GAAG,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,2BAA2B,CAAC,CAAC;IACxE,sDAAsD;IACtD,aAAa,EAAE,CAAC,OAAO,EAAE,yBAAyB,KAAK,OAAO,CAAC,2BAA2B,CAAC,CAAC;CAC/F;AAMD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,KAAK,CA8FtD"}
|
package/dist/ai/create-agent.js
CHANGED
|
@@ -67,8 +67,12 @@ function createAgent(config) {
|
|
|
67
67
|
* Run agent once without persistence.
|
|
68
68
|
*/
|
|
69
69
|
async run(options) {
|
|
70
|
-
const { prompt, onStepFinish, onNodeEnter, onNodeExit } = options;
|
|
71
|
-
return (0, generate_text_1.generateTextWithGraph)(
|
|
70
|
+
const { prompt, onStepFinish, onNodeEnter, onNodeExit, abortSignal: runAbortSignal } = options;
|
|
71
|
+
return (0, generate_text_1.generateTextWithGraph)({
|
|
72
|
+
...buildOptions(prompt, undefined, onStepFinish, onNodeEnter, onNodeExit),
|
|
73
|
+
// Use run-level abort signal if provided, otherwise fall back to config-level
|
|
74
|
+
abortSignal: runAbortSignal ?? abortSignal,
|
|
75
|
+
});
|
|
72
76
|
},
|
|
73
77
|
/**
|
|
74
78
|
* Run agent with thread-based persistence.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-agent.js","sourceRoot":"","sources":["../../src/ai/create-agent.ts"],"names":[],"mappings":";AAAA;;;GAGG;;
|
|
1
|
+
{"version":3,"file":"create-agent.js","sourceRoot":"","sources":["../../src/ai/create-agent.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAyHH,kCA8FC;AA9MD,mDAKyB;AAgFzB,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,SAAgB,WAAW,CAAC,MAAmB;IAC3C,MAAM,EACF,MAAM,EACN,KAAK,EACL,MAAM,EACN,KAAK,EACL,MAAM,EACN,QAAQ,EACR,gBAAgB,EAChB,WAAW,EACX,IAAI,EACJ,SAAS,EACT,cAAc,EACd,UAAU,EACV,WAAW,EACX,cAAc,EACd,YAAY,EACZ,MAAM,EACN,UAAU,GACb,GAAG,MAAM,CAAC;IAEX,iCAAiC;IACjC,MAAM,YAAY,GAAG,CACjB,MAAc,EACd,QAAiB,EACjB,YAAyC,EACzC,WAAwC,EACxC,UAAuC,EACzC,EAAE,CAAC,CAAC;QACF,MAAM;QACN,KAAK;QACL,MAAM;QACN,MAAM;QACN,KAAK;QACL,MAAM;QACN,QAAQ;QACR,gBAAgB;QAChB,WAAW;QACX,IAAI;QACJ,SAAS;QACT,cAAc;QACd,UAAU;QACV,WAAW;QACX,cAAc;QACd,MAAM;QACN,UAAU;QACV,QAAQ;QACR,YAAY;QACZ,WAAW;QACX,UAAU;KACb,CAAC,CAAC;IAEH,oBAAoB;IACpB,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,IAAI,SAAS,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IAE7F,OAAO;QACH,EAAE,EAAE,OAAO;QACX,MAAM,EAAE,KAAK,IAAI,EAAE;QAEnB;;WAEG;QACH,KAAK,CAAC,GAAG,CAAC,OAAwB;YAC9B,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;YAE/F,OAAO,IAAA,qCAAqB,EAAC;gBACzB,GAAG,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,CAAC;gBACzE,8EAA8E;gBAC9E,WAAW,EAAE,cAAc,IAAI,WAAW;aAC7C,CAAC,CAAC;QACP,CAAC;QAED;;;WAGG;QACH,KAAK,CAAC,aAAa,CAAC,OAAkC;YAClD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,oBAAoB,GAAG,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;YAEzG,IAAI,CAAC,YAAY,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;YAC3F,CAAC;YAED,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;YAC9D,CAAC;YAED,OAAO,IAAA,qCAAqB,EAAC;gBACzB,GAAG,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,CAAC;gBACxE,YAAY;gBACZ,oBAAoB;aACvB,CAAC,CAAC;QACP,CAAC;KACJ,CAAC;AACN,CAAC"}
|
package/dist/ai/create-agent.mjs
CHANGED
|
@@ -64,8 +64,12 @@ export function createAgent(config) {
|
|
|
64
64
|
* Run agent once without persistence.
|
|
65
65
|
*/
|
|
66
66
|
async run(options) {
|
|
67
|
-
const { prompt, onStepFinish, onNodeEnter, onNodeExit } = options;
|
|
68
|
-
return generateTextWithGraph(
|
|
67
|
+
const { prompt, onStepFinish, onNodeEnter, onNodeExit, abortSignal: runAbortSignal } = options;
|
|
68
|
+
return generateTextWithGraph({
|
|
69
|
+
...buildOptions(prompt, undefined, onStepFinish, onNodeEnter, onNodeExit),
|
|
70
|
+
// Use run-level abort signal if provided, otherwise fall back to config-level
|
|
71
|
+
abortSignal: runAbortSignal ?? abortSignal,
|
|
72
|
+
});
|
|
69
73
|
},
|
|
70
74
|
/**
|
|
71
75
|
* Run agent with thread-based persistence.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hierarchical Orchestrator - Manager delegates to workers.
|
|
3
|
+
*
|
|
4
|
+
* A manager agent decides which worker agents to invoke based on the task.
|
|
5
|
+
*/
|
|
6
|
+
import type { CrewConfig, Crew } from './types';
|
|
7
|
+
/**
|
|
8
|
+
* Create a crew with hierarchical orchestration.
|
|
9
|
+
* A manager agent delegates tasks to worker agents.
|
|
10
|
+
*/
|
|
11
|
+
export declare function createHierarchicalCrew(config: CrewConfig): Crew;
|
|
12
|
+
//# sourceMappingURL=hierarchical.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hierarchical.d.ts","sourceRoot":"","sources":["../../../src/ai/crew/hierarchical.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EACR,UAAU,EAIV,IAAI,EACP,MAAM,SAAS,CAAC;AA8BjB;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAiK/D"}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Hierarchical Orchestrator - Manager delegates to workers.
|
|
4
|
+
*
|
|
5
|
+
* A manager agent decides which worker agents to invoke based on the task.
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.createHierarchicalCrew = createHierarchicalCrew;
|
|
9
|
+
// ============================================================================
|
|
10
|
+
// Helpers
|
|
11
|
+
// ============================================================================
|
|
12
|
+
/**
|
|
13
|
+
* Safely serialize context to string, handling circular references.
|
|
14
|
+
*/
|
|
15
|
+
function safeStringify(obj) {
|
|
16
|
+
try {
|
|
17
|
+
return JSON.stringify(obj, null, 2);
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
const seen = new WeakSet();
|
|
21
|
+
return JSON.stringify(obj, (_key, value) => {
|
|
22
|
+
if (typeof value === 'object' && value !== null) {
|
|
23
|
+
if (seen.has(value)) {
|
|
24
|
+
return '[Circular]';
|
|
25
|
+
}
|
|
26
|
+
seen.add(value);
|
|
27
|
+
}
|
|
28
|
+
return value;
|
|
29
|
+
}, 2);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
// ============================================================================
|
|
33
|
+
// Hierarchical Crew
|
|
34
|
+
// ============================================================================
|
|
35
|
+
/**
|
|
36
|
+
* Create a crew with hierarchical orchestration.
|
|
37
|
+
* A manager agent delegates tasks to worker agents.
|
|
38
|
+
*/
|
|
39
|
+
function createHierarchicalCrew(config) {
|
|
40
|
+
const { agents, manager, verbose = false } = config;
|
|
41
|
+
if (!manager) {
|
|
42
|
+
throw new Error('Hierarchical orchestration requires a manager agent');
|
|
43
|
+
}
|
|
44
|
+
return {
|
|
45
|
+
async kickoff(options) {
|
|
46
|
+
const startTime = Date.now();
|
|
47
|
+
const agentResults = [];
|
|
48
|
+
if (verbose) {
|
|
49
|
+
console.log(`[Crew] Hierarchical execution with manager: ${manager.id}`);
|
|
50
|
+
}
|
|
51
|
+
// Build worker descriptions for manager
|
|
52
|
+
const workerDescriptions = agents
|
|
53
|
+
.map(a => `- ${a.id}`)
|
|
54
|
+
.join('\n');
|
|
55
|
+
// Build context string
|
|
56
|
+
let contextStr = '';
|
|
57
|
+
if (options.context) {
|
|
58
|
+
contextStr = `\nContext:\n${safeStringify(options.context)}`;
|
|
59
|
+
}
|
|
60
|
+
// Ask manager to delegate
|
|
61
|
+
const managerPrompt = `You are a manager coordinating a team of agents.
|
|
62
|
+
|
|
63
|
+
Available workers:
|
|
64
|
+
${workerDescriptions}
|
|
65
|
+
|
|
66
|
+
Task: ${options.task}${contextStr}
|
|
67
|
+
|
|
68
|
+
Decide which worker(s) to assign and provide specific instructions for each.
|
|
69
|
+
Respond with a JSON array: [{"agent": "agent_id", "task": "specific task"}]
|
|
70
|
+
Only use agent IDs from the list above.`;
|
|
71
|
+
// Manager planning phase
|
|
72
|
+
const managerStart = Date.now();
|
|
73
|
+
try {
|
|
74
|
+
if (options.abortSignal?.aborted) {
|
|
75
|
+
throw new Error('Crew execution aborted');
|
|
76
|
+
}
|
|
77
|
+
const managerResult = await manager.run({
|
|
78
|
+
prompt: managerPrompt,
|
|
79
|
+
abortSignal: options.abortSignal,
|
|
80
|
+
});
|
|
81
|
+
agentResults.push({
|
|
82
|
+
agentId: manager.id,
|
|
83
|
+
output: managerResult.text,
|
|
84
|
+
durationMs: Date.now() - managerStart,
|
|
85
|
+
success: true,
|
|
86
|
+
});
|
|
87
|
+
if (verbose) {
|
|
88
|
+
console.log(`[Crew] Manager delegated: ${managerResult.text}`);
|
|
89
|
+
}
|
|
90
|
+
// Parse manager's delegation
|
|
91
|
+
let delegations = [];
|
|
92
|
+
try {
|
|
93
|
+
// Extract JSON from response
|
|
94
|
+
const jsonMatch = managerResult.text.match(/\[[\s\S]*\]/);
|
|
95
|
+
if (jsonMatch) {
|
|
96
|
+
delegations = JSON.parse(jsonMatch[0]);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
catch {
|
|
100
|
+
if (verbose) {
|
|
101
|
+
console.warn('[Crew] Failed to parse manager response, running all agents');
|
|
102
|
+
}
|
|
103
|
+
// Fallback: run all agents with original task
|
|
104
|
+
delegations = agents.map(a => ({ agent: a.id, task: options.task }));
|
|
105
|
+
}
|
|
106
|
+
// Execute delegated tasks
|
|
107
|
+
const workerOutputs = [];
|
|
108
|
+
for (const delegation of delegations) {
|
|
109
|
+
const worker = agents.find(a => a.id === delegation.agent);
|
|
110
|
+
if (!worker) {
|
|
111
|
+
if (verbose) {
|
|
112
|
+
console.warn(`[Crew] Unknown agent: ${delegation.agent}`);
|
|
113
|
+
}
|
|
114
|
+
continue;
|
|
115
|
+
}
|
|
116
|
+
const workerStart = Date.now();
|
|
117
|
+
if (options.abortSignal?.aborted) {
|
|
118
|
+
throw new Error('Crew execution aborted');
|
|
119
|
+
}
|
|
120
|
+
try {
|
|
121
|
+
const workerResult = await worker.run({
|
|
122
|
+
prompt: delegation.task,
|
|
123
|
+
abortSignal: options.abortSignal,
|
|
124
|
+
});
|
|
125
|
+
agentResults.push({
|
|
126
|
+
agentId: worker.id,
|
|
127
|
+
output: workerResult.text,
|
|
128
|
+
durationMs: Date.now() - workerStart,
|
|
129
|
+
success: true,
|
|
130
|
+
});
|
|
131
|
+
workerOutputs.push(`[${worker.id}]\n${workerResult.text}`);
|
|
132
|
+
if (verbose) {
|
|
133
|
+
console.log(`[Crew] Worker ${worker.id} completed`);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
catch (error) {
|
|
137
|
+
agentResults.push({
|
|
138
|
+
agentId: worker.id,
|
|
139
|
+
output: '',
|
|
140
|
+
durationMs: Date.now() - workerStart,
|
|
141
|
+
success: false,
|
|
142
|
+
error: error instanceof Error ? error : new Error(String(error)),
|
|
143
|
+
});
|
|
144
|
+
if (verbose) {
|
|
145
|
+
console.error(`[Crew] Worker ${worker.id} failed:`, error);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
// Aggregate results
|
|
150
|
+
const output = workerOutputs.length > 0
|
|
151
|
+
? workerOutputs.join('\n\n---\n\n')
|
|
152
|
+
: 'No workers completed successfully';
|
|
153
|
+
return {
|
|
154
|
+
output,
|
|
155
|
+
agentResults,
|
|
156
|
+
totalDurationMs: Date.now() - startTime,
|
|
157
|
+
orchestration: 'hierarchical',
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
catch (error) {
|
|
161
|
+
agentResults.push({
|
|
162
|
+
agentId: manager.id,
|
|
163
|
+
output: '',
|
|
164
|
+
durationMs: Date.now() - managerStart,
|
|
165
|
+
success: false,
|
|
166
|
+
error: error instanceof Error ? error : new Error(String(error)),
|
|
167
|
+
});
|
|
168
|
+
return {
|
|
169
|
+
output: 'Manager failed to delegate',
|
|
170
|
+
agentResults,
|
|
171
|
+
totalDurationMs: Date.now() - startTime,
|
|
172
|
+
orchestration: 'hierarchical',
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
},
|
|
176
|
+
getAgents() {
|
|
177
|
+
return [manager, ...agents];
|
|
178
|
+
},
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
//# sourceMappingURL=hierarchical.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hierarchical.js","sourceRoot":"","sources":["../../../src/ai/crew/hierarchical.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hierarchical Orchestrator - Manager delegates to workers.
|
|
3
|
+
*
|
|
4
|
+
* A manager agent decides which worker agents to invoke based on the task.
|
|
5
|
+
*/
|
|
6
|
+
// ============================================================================
|
|
7
|
+
// Helpers
|
|
8
|
+
// ============================================================================
|
|
9
|
+
/**
|
|
10
|
+
* Safely serialize context to string, handling circular references.
|
|
11
|
+
*/
|
|
12
|
+
function safeStringify(obj) {
|
|
13
|
+
try {
|
|
14
|
+
return JSON.stringify(obj, null, 2);
|
|
15
|
+
}
|
|
16
|
+
catch {
|
|
17
|
+
const seen = new WeakSet();
|
|
18
|
+
return JSON.stringify(obj, (_key, value) => {
|
|
19
|
+
if (typeof value === 'object' && value !== null) {
|
|
20
|
+
if (seen.has(value)) {
|
|
21
|
+
return '[Circular]';
|
|
22
|
+
}
|
|
23
|
+
seen.add(value);
|
|
24
|
+
}
|
|
25
|
+
return value;
|
|
26
|
+
}, 2);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
// ============================================================================
|
|
30
|
+
// Hierarchical Crew
|
|
31
|
+
// ============================================================================
|
|
32
|
+
/**
|
|
33
|
+
* Create a crew with hierarchical orchestration.
|
|
34
|
+
* A manager agent delegates tasks to worker agents.
|
|
35
|
+
*/
|
|
36
|
+
export function createHierarchicalCrew(config) {
|
|
37
|
+
const { agents, manager, verbose = false } = config;
|
|
38
|
+
if (!manager) {
|
|
39
|
+
throw new Error('Hierarchical orchestration requires a manager agent');
|
|
40
|
+
}
|
|
41
|
+
return {
|
|
42
|
+
async kickoff(options) {
|
|
43
|
+
const startTime = Date.now();
|
|
44
|
+
const agentResults = [];
|
|
45
|
+
if (verbose) {
|
|
46
|
+
console.log(`[Crew] Hierarchical execution with manager: ${manager.id}`);
|
|
47
|
+
}
|
|
48
|
+
// Build worker descriptions for manager
|
|
49
|
+
const workerDescriptions = agents
|
|
50
|
+
.map(a => `- ${a.id}`)
|
|
51
|
+
.join('\n');
|
|
52
|
+
// Build context string
|
|
53
|
+
let contextStr = '';
|
|
54
|
+
if (options.context) {
|
|
55
|
+
contextStr = `\nContext:\n${safeStringify(options.context)}`;
|
|
56
|
+
}
|
|
57
|
+
// Ask manager to delegate
|
|
58
|
+
const managerPrompt = `You are a manager coordinating a team of agents.
|
|
59
|
+
|
|
60
|
+
Available workers:
|
|
61
|
+
${workerDescriptions}
|
|
62
|
+
|
|
63
|
+
Task: ${options.task}${contextStr}
|
|
64
|
+
|
|
65
|
+
Decide which worker(s) to assign and provide specific instructions for each.
|
|
66
|
+
Respond with a JSON array: [{"agent": "agent_id", "task": "specific task"}]
|
|
67
|
+
Only use agent IDs from the list above.`;
|
|
68
|
+
// Manager planning phase
|
|
69
|
+
const managerStart = Date.now();
|
|
70
|
+
try {
|
|
71
|
+
if (options.abortSignal?.aborted) {
|
|
72
|
+
throw new Error('Crew execution aborted');
|
|
73
|
+
}
|
|
74
|
+
const managerResult = await manager.run({
|
|
75
|
+
prompt: managerPrompt,
|
|
76
|
+
abortSignal: options.abortSignal,
|
|
77
|
+
});
|
|
78
|
+
agentResults.push({
|
|
79
|
+
agentId: manager.id,
|
|
80
|
+
output: managerResult.text,
|
|
81
|
+
durationMs: Date.now() - managerStart,
|
|
82
|
+
success: true,
|
|
83
|
+
});
|
|
84
|
+
if (verbose) {
|
|
85
|
+
console.log(`[Crew] Manager delegated: ${managerResult.text}`);
|
|
86
|
+
}
|
|
87
|
+
// Parse manager's delegation
|
|
88
|
+
let delegations = [];
|
|
89
|
+
try {
|
|
90
|
+
// Extract JSON from response
|
|
91
|
+
const jsonMatch = managerResult.text.match(/\[[\s\S]*\]/);
|
|
92
|
+
if (jsonMatch) {
|
|
93
|
+
delegations = JSON.parse(jsonMatch[0]);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
catch {
|
|
97
|
+
if (verbose) {
|
|
98
|
+
console.warn('[Crew] Failed to parse manager response, running all agents');
|
|
99
|
+
}
|
|
100
|
+
// Fallback: run all agents with original task
|
|
101
|
+
delegations = agents.map(a => ({ agent: a.id, task: options.task }));
|
|
102
|
+
}
|
|
103
|
+
// Execute delegated tasks
|
|
104
|
+
const workerOutputs = [];
|
|
105
|
+
for (const delegation of delegations) {
|
|
106
|
+
const worker = agents.find(a => a.id === delegation.agent);
|
|
107
|
+
if (!worker) {
|
|
108
|
+
if (verbose) {
|
|
109
|
+
console.warn(`[Crew] Unknown agent: ${delegation.agent}`);
|
|
110
|
+
}
|
|
111
|
+
continue;
|
|
112
|
+
}
|
|
113
|
+
const workerStart = Date.now();
|
|
114
|
+
if (options.abortSignal?.aborted) {
|
|
115
|
+
throw new Error('Crew execution aborted');
|
|
116
|
+
}
|
|
117
|
+
try {
|
|
118
|
+
const workerResult = await worker.run({
|
|
119
|
+
prompt: delegation.task,
|
|
120
|
+
abortSignal: options.abortSignal,
|
|
121
|
+
});
|
|
122
|
+
agentResults.push({
|
|
123
|
+
agentId: worker.id,
|
|
124
|
+
output: workerResult.text,
|
|
125
|
+
durationMs: Date.now() - workerStart,
|
|
126
|
+
success: true,
|
|
127
|
+
});
|
|
128
|
+
workerOutputs.push(`[${worker.id}]\n${workerResult.text}`);
|
|
129
|
+
if (verbose) {
|
|
130
|
+
console.log(`[Crew] Worker ${worker.id} completed`);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
catch (error) {
|
|
134
|
+
agentResults.push({
|
|
135
|
+
agentId: worker.id,
|
|
136
|
+
output: '',
|
|
137
|
+
durationMs: Date.now() - workerStart,
|
|
138
|
+
success: false,
|
|
139
|
+
error: error instanceof Error ? error : new Error(String(error)),
|
|
140
|
+
});
|
|
141
|
+
if (verbose) {
|
|
142
|
+
console.error(`[Crew] Worker ${worker.id} failed:`, error);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
// Aggregate results
|
|
147
|
+
const output = workerOutputs.length > 0
|
|
148
|
+
? workerOutputs.join('\n\n---\n\n')
|
|
149
|
+
: 'No workers completed successfully';
|
|
150
|
+
return {
|
|
151
|
+
output,
|
|
152
|
+
agentResults,
|
|
153
|
+
totalDurationMs: Date.now() - startTime,
|
|
154
|
+
orchestration: 'hierarchical',
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
catch (error) {
|
|
158
|
+
agentResults.push({
|
|
159
|
+
agentId: manager.id,
|
|
160
|
+
output: '',
|
|
161
|
+
durationMs: Date.now() - managerStart,
|
|
162
|
+
success: false,
|
|
163
|
+
error: error instanceof Error ? error : new Error(String(error)),
|
|
164
|
+
});
|
|
165
|
+
return {
|
|
166
|
+
output: 'Manager failed to delegate',
|
|
167
|
+
agentResults,
|
|
168
|
+
totalDurationMs: Date.now() - startTime,
|
|
169
|
+
orchestration: 'hierarchical',
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
},
|
|
173
|
+
getAgents() {
|
|
174
|
+
return [manager, ...agents];
|
|
175
|
+
},
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
//# sourceMappingURL=hierarchical.js.map
|
package/dist/ai/crew/index.d.ts
CHANGED
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export type { OrchestrationMode, CrewConfig, CrewKickoffOptions, AgentResult, CrewResult, Crew, } from './types';
|
|
5
5
|
export { createSequentialCrew } from './sequential';
|
|
6
|
+
export { createParallelCrew } from './parallel';
|
|
7
|
+
export { createHierarchicalCrew } from './hierarchical';
|
|
6
8
|
import type { CrewConfig, Crew } from './types';
|
|
7
9
|
/**
|
|
8
10
|
* Create a crew with the specified orchestration mode.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ai/crew/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,YAAY,EACR,iBAAiB,EACjB,UAAU,EACV,kBAAkB,EAClB,WAAW,EACX,UAAU,EACV,IAAI,GACP,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ai/crew/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,YAAY,EACR,iBAAiB,EACjB,UAAU,EACV,kBAAkB,EAClB,WAAW,EACX,UAAU,EACV,IAAI,GACP,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAMxD,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAKhD;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAWnD"}
|
package/dist/ai/crew/index.js
CHANGED
|
@@ -3,12 +3,18 @@
|
|
|
3
3
|
* Crew Module - Multi-Agent Orchestration.
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.createSequentialCrew = void 0;
|
|
6
|
+
exports.createHierarchicalCrew = exports.createParallelCrew = exports.createSequentialCrew = void 0;
|
|
7
7
|
exports.createCrew = createCrew;
|
|
8
8
|
// Factory
|
|
9
9
|
var sequential_1 = require("./sequential");
|
|
10
10
|
Object.defineProperty(exports, "createSequentialCrew", { enumerable: true, get: function () { return sequential_1.createSequentialCrew; } });
|
|
11
|
+
var parallel_1 = require("./parallel");
|
|
12
|
+
Object.defineProperty(exports, "createParallelCrew", { enumerable: true, get: function () { return parallel_1.createParallelCrew; } });
|
|
13
|
+
var hierarchical_1 = require("./hierarchical");
|
|
14
|
+
Object.defineProperty(exports, "createHierarchicalCrew", { enumerable: true, get: function () { return hierarchical_1.createHierarchicalCrew; } });
|
|
11
15
|
const sequential_2 = require("./sequential");
|
|
16
|
+
const parallel_2 = require("./parallel");
|
|
17
|
+
const hierarchical_2 = require("./hierarchical");
|
|
12
18
|
/**
|
|
13
19
|
* Create a crew with the specified orchestration mode.
|
|
14
20
|
*
|
|
@@ -27,11 +33,9 @@ function createCrew(config) {
|
|
|
27
33
|
case 'sequential':
|
|
28
34
|
return (0, sequential_2.createSequentialCrew)(config);
|
|
29
35
|
case 'parallel':
|
|
30
|
-
|
|
31
|
-
throw new Error('Parallel orchestration not yet implemented');
|
|
36
|
+
return (0, parallel_2.createParallelCrew)(config);
|
|
32
37
|
case 'hierarchical':
|
|
33
|
-
|
|
34
|
-
throw new Error('Hierarchical orchestration not yet implemented');
|
|
38
|
+
return (0, hierarchical_2.createHierarchicalCrew)(config);
|
|
35
39
|
default:
|
|
36
40
|
throw new Error(`Unknown orchestration mode: ${config.orchestration}`);
|
|
37
41
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ai/crew/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ai/crew/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAuCH,gCAWC;AAtCD,UAAU;AACV,2CAAoD;AAA3C,kHAAA,oBAAoB,OAAA;AAC7B,uCAAgD;AAAvC,8GAAA,kBAAkB,OAAA;AAC3B,+CAAwD;AAA/C,sHAAA,sBAAsB,OAAA;AAO/B,6CAAoD;AACpD,yCAAgD;AAChD,iDAAwD;AAExD;;;;;;;;;;;;GAYG;AACH,SAAgB,UAAU,CAAC,MAAkB;IACzC,QAAQ,MAAM,CAAC,aAAa,EAAE,CAAC;QAC3B,KAAK,YAAY;YACb,OAAO,IAAA,iCAAoB,EAAC,MAAM,CAAC,CAAC;QACxC,KAAK,UAAU;YACX,OAAO,IAAA,6BAAkB,EAAC,MAAM,CAAC,CAAC;QACtC,KAAK,cAAc;YACf,OAAO,IAAA,qCAAsB,EAAC,MAAM,CAAC,CAAC;QAC1C;YACI,MAAM,IAAI,KAAK,CAAC,+BAA+B,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;IAC/E,CAAC;AACL,CAAC"}
|
package/dist/ai/crew/index.mjs
CHANGED
|
@@ -3,7 +3,11 @@
|
|
|
3
3
|
*/
|
|
4
4
|
// Factory
|
|
5
5
|
export { createSequentialCrew } from './sequential.mjs';
|
|
6
|
+
export { createParallelCrew } from './parallel.mjs';
|
|
7
|
+
export { createHierarchicalCrew } from './hierarchical.mjs';
|
|
6
8
|
import { createSequentialCrew } from './sequential.mjs';
|
|
9
|
+
import { createParallelCrew } from './parallel.mjs';
|
|
10
|
+
import { createHierarchicalCrew } from './hierarchical.mjs';
|
|
7
11
|
/**
|
|
8
12
|
* Create a crew with the specified orchestration mode.
|
|
9
13
|
*
|
|
@@ -22,11 +26,9 @@ export function createCrew(config) {
|
|
|
22
26
|
case 'sequential':
|
|
23
27
|
return createSequentialCrew(config);
|
|
24
28
|
case 'parallel':
|
|
25
|
-
|
|
26
|
-
throw new Error('Parallel orchestration not yet implemented');
|
|
29
|
+
return createParallelCrew(config);
|
|
27
30
|
case 'hierarchical':
|
|
28
|
-
|
|
29
|
-
throw new Error('Hierarchical orchestration not yet implemented');
|
|
31
|
+
return createHierarchicalCrew(config);
|
|
30
32
|
default:
|
|
31
33
|
throw new Error(`Unknown orchestration mode: ${config.orchestration}`);
|
|
32
34
|
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parallel Orchestrator - Execute agents concurrently.
|
|
3
|
+
*
|
|
4
|
+
* All agents run in parallel, results are aggregated.
|
|
5
|
+
*/
|
|
6
|
+
import type { CrewConfig, Crew } from './types';
|
|
7
|
+
/**
|
|
8
|
+
* Create a crew with parallel orchestration.
|
|
9
|
+
* All agents execute concurrently with the same task.
|
|
10
|
+
*/
|
|
11
|
+
export declare function createParallelCrew(config: CrewConfig): Crew;
|
|
12
|
+
//# sourceMappingURL=parallel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parallel.d.ts","sourceRoot":"","sources":["../../../src/ai/crew/parallel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EACR,UAAU,EAIV,IAAI,EACP,MAAM,SAAS,CAAC;AA+BjB;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAwF3D"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Parallel Orchestrator - Execute agents concurrently.
|
|
4
|
+
*
|
|
5
|
+
* All agents run in parallel, results are aggregated.
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.createParallelCrew = createParallelCrew;
|
|
9
|
+
// ============================================================================
|
|
10
|
+
// Helpers
|
|
11
|
+
// ============================================================================
|
|
12
|
+
/**
|
|
13
|
+
* Safely serialize context to string, handling circular references.
|
|
14
|
+
*/
|
|
15
|
+
function safeStringify(obj) {
|
|
16
|
+
try {
|
|
17
|
+
return JSON.stringify(obj, null, 2);
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
// Handle circular references
|
|
21
|
+
const seen = new WeakSet();
|
|
22
|
+
return JSON.stringify(obj, (_key, value) => {
|
|
23
|
+
if (typeof value === 'object' && value !== null) {
|
|
24
|
+
if (seen.has(value)) {
|
|
25
|
+
return '[Circular]';
|
|
26
|
+
}
|
|
27
|
+
seen.add(value);
|
|
28
|
+
}
|
|
29
|
+
return value;
|
|
30
|
+
}, 2);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
// ============================================================================
|
|
34
|
+
// Parallel Crew
|
|
35
|
+
// ============================================================================
|
|
36
|
+
/**
|
|
37
|
+
* Create a crew with parallel orchestration.
|
|
38
|
+
* All agents execute concurrently with the same task.
|
|
39
|
+
*/
|
|
40
|
+
function createParallelCrew(config) {
|
|
41
|
+
const { agents, verbose = false } = config;
|
|
42
|
+
return {
|
|
43
|
+
async kickoff(options) {
|
|
44
|
+
const startTime = Date.now();
|
|
45
|
+
if (verbose) {
|
|
46
|
+
console.log(`[Crew] Starting parallel execution with ${agents.length} agents`);
|
|
47
|
+
}
|
|
48
|
+
// Build context-aware prompt with safe serialization
|
|
49
|
+
let prompt = options.task;
|
|
50
|
+
if (options.context) {
|
|
51
|
+
const contextStr = safeStringify(options.context);
|
|
52
|
+
prompt = `Context:\n${contextStr}\n\nTask: ${options.task}`;
|
|
53
|
+
}
|
|
54
|
+
// Execute all agents in parallel
|
|
55
|
+
const agentPromises = agents.map(async (agent) => {
|
|
56
|
+
const agentStart = Date.now();
|
|
57
|
+
if (verbose) {
|
|
58
|
+
console.log(`[Crew] Starting agent: ${agent.id}`);
|
|
59
|
+
}
|
|
60
|
+
try {
|
|
61
|
+
// Check abort signal before starting
|
|
62
|
+
if (options.abortSignal?.aborted) {
|
|
63
|
+
throw new Error('Crew execution aborted');
|
|
64
|
+
}
|
|
65
|
+
// Pass abort signal to agent for in-flight cancellation
|
|
66
|
+
const result = await agent.run({
|
|
67
|
+
prompt,
|
|
68
|
+
abortSignal: options.abortSignal,
|
|
69
|
+
});
|
|
70
|
+
const agentResult = {
|
|
71
|
+
agentId: agent.id,
|
|
72
|
+
output: result.text,
|
|
73
|
+
durationMs: Date.now() - agentStart,
|
|
74
|
+
success: true,
|
|
75
|
+
};
|
|
76
|
+
if (verbose) {
|
|
77
|
+
console.log(`[Crew] Agent ${agent.id} completed in ${agentResult.durationMs}ms`);
|
|
78
|
+
}
|
|
79
|
+
return agentResult;
|
|
80
|
+
}
|
|
81
|
+
catch (error) {
|
|
82
|
+
const agentResult = {
|
|
83
|
+
agentId: agent.id,
|
|
84
|
+
output: '',
|
|
85
|
+
durationMs: Date.now() - agentStart,
|
|
86
|
+
success: false,
|
|
87
|
+
error: error instanceof Error ? error : new Error(String(error)),
|
|
88
|
+
};
|
|
89
|
+
if (verbose) {
|
|
90
|
+
console.error(`[Crew] Agent ${agent.id} failed:`, error);
|
|
91
|
+
}
|
|
92
|
+
return agentResult;
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
// Wait for all agents to complete
|
|
96
|
+
const agentResults = await Promise.all(agentPromises);
|
|
97
|
+
// Aggregate outputs from successful agents
|
|
98
|
+
const successfulOutputs = agentResults
|
|
99
|
+
.filter(r => r.success)
|
|
100
|
+
.map(r => `[${r.agentId}]\n${r.output}`)
|
|
101
|
+
.join('\n\n---\n\n');
|
|
102
|
+
return {
|
|
103
|
+
output: successfulOutputs || 'All agents failed',
|
|
104
|
+
agentResults,
|
|
105
|
+
totalDurationMs: Date.now() - startTime,
|
|
106
|
+
orchestration: 'parallel',
|
|
107
|
+
};
|
|
108
|
+
},
|
|
109
|
+
getAgents() {
|
|
110
|
+
return [...agents];
|
|
111
|
+
},
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=parallel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parallel.js","sourceRoot":"","sources":["../../../src/ai/crew/parallel.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parallel Orchestrator - Execute agents concurrently.
|
|
3
|
+
*
|
|
4
|
+
* All agents run in parallel, results are aggregated.
|
|
5
|
+
*/
|
|
6
|
+
// ============================================================================
|
|
7
|
+
// Helpers
|
|
8
|
+
// ============================================================================
|
|
9
|
+
/**
|
|
10
|
+
* Safely serialize context to string, handling circular references.
|
|
11
|
+
*/
|
|
12
|
+
function safeStringify(obj) {
|
|
13
|
+
try {
|
|
14
|
+
return JSON.stringify(obj, null, 2);
|
|
15
|
+
}
|
|
16
|
+
catch {
|
|
17
|
+
// Handle circular references
|
|
18
|
+
const seen = new WeakSet();
|
|
19
|
+
return JSON.stringify(obj, (_key, value) => {
|
|
20
|
+
if (typeof value === 'object' && value !== null) {
|
|
21
|
+
if (seen.has(value)) {
|
|
22
|
+
return '[Circular]';
|
|
23
|
+
}
|
|
24
|
+
seen.add(value);
|
|
25
|
+
}
|
|
26
|
+
return value;
|
|
27
|
+
}, 2);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
// ============================================================================
|
|
31
|
+
// Parallel Crew
|
|
32
|
+
// ============================================================================
|
|
33
|
+
/**
|
|
34
|
+
* Create a crew with parallel orchestration.
|
|
35
|
+
* All agents execute concurrently with the same task.
|
|
36
|
+
*/
|
|
37
|
+
export function createParallelCrew(config) {
|
|
38
|
+
const { agents, verbose = false } = config;
|
|
39
|
+
return {
|
|
40
|
+
async kickoff(options) {
|
|
41
|
+
const startTime = Date.now();
|
|
42
|
+
if (verbose) {
|
|
43
|
+
console.log(`[Crew] Starting parallel execution with ${agents.length} agents`);
|
|
44
|
+
}
|
|
45
|
+
// Build context-aware prompt with safe serialization
|
|
46
|
+
let prompt = options.task;
|
|
47
|
+
if (options.context) {
|
|
48
|
+
const contextStr = safeStringify(options.context);
|
|
49
|
+
prompt = `Context:\n${contextStr}\n\nTask: ${options.task}`;
|
|
50
|
+
}
|
|
51
|
+
// Execute all agents in parallel
|
|
52
|
+
const agentPromises = agents.map(async (agent) => {
|
|
53
|
+
const agentStart = Date.now();
|
|
54
|
+
if (verbose) {
|
|
55
|
+
console.log(`[Crew] Starting agent: ${agent.id}`);
|
|
56
|
+
}
|
|
57
|
+
try {
|
|
58
|
+
// Check abort signal before starting
|
|
59
|
+
if (options.abortSignal?.aborted) {
|
|
60
|
+
throw new Error('Crew execution aborted');
|
|
61
|
+
}
|
|
62
|
+
// Pass abort signal to agent for in-flight cancellation
|
|
63
|
+
const result = await agent.run({
|
|
64
|
+
prompt,
|
|
65
|
+
abortSignal: options.abortSignal,
|
|
66
|
+
});
|
|
67
|
+
const agentResult = {
|
|
68
|
+
agentId: agent.id,
|
|
69
|
+
output: result.text,
|
|
70
|
+
durationMs: Date.now() - agentStart,
|
|
71
|
+
success: true,
|
|
72
|
+
};
|
|
73
|
+
if (verbose) {
|
|
74
|
+
console.log(`[Crew] Agent ${agent.id} completed in ${agentResult.durationMs}ms`);
|
|
75
|
+
}
|
|
76
|
+
return agentResult;
|
|
77
|
+
}
|
|
78
|
+
catch (error) {
|
|
79
|
+
const agentResult = {
|
|
80
|
+
agentId: agent.id,
|
|
81
|
+
output: '',
|
|
82
|
+
durationMs: Date.now() - agentStart,
|
|
83
|
+
success: false,
|
|
84
|
+
error: error instanceof Error ? error : new Error(String(error)),
|
|
85
|
+
};
|
|
86
|
+
if (verbose) {
|
|
87
|
+
console.error(`[Crew] Agent ${agent.id} failed:`, error);
|
|
88
|
+
}
|
|
89
|
+
return agentResult;
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
// Wait for all agents to complete
|
|
93
|
+
const agentResults = await Promise.all(agentPromises);
|
|
94
|
+
// Aggregate outputs from successful agents
|
|
95
|
+
const successfulOutputs = agentResults
|
|
96
|
+
.filter(r => r.success)
|
|
97
|
+
.map(r => `[${r.agentId}]\n${r.output}`)
|
|
98
|
+
.join('\n\n---\n\n');
|
|
99
|
+
return {
|
|
100
|
+
output: successfulOutputs || 'All agents failed',
|
|
101
|
+
agentResults,
|
|
102
|
+
totalDurationMs: Date.now() - startTime,
|
|
103
|
+
orchestration: 'parallel',
|
|
104
|
+
};
|
|
105
|
+
},
|
|
106
|
+
getAgents() {
|
|
107
|
+
return [...agents];
|
|
108
|
+
},
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=parallel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sequential.d.ts","sourceRoot":"","sources":["../../../src/ai/crew/sequential.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EACR,UAAU,EAIV,IAAI,EACP,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"sequential.d.ts","sourceRoot":"","sources":["../../../src/ai/crew/sequential.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EACR,UAAU,EAIV,IAAI,EACP,MAAM,SAAS,CAAC;AA+BjB;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAsF7D"}
|
|
@@ -7,6 +7,30 @@
|
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
8
|
exports.createSequentialCrew = createSequentialCrew;
|
|
9
9
|
// ============================================================================
|
|
10
|
+
// Helpers
|
|
11
|
+
// ============================================================================
|
|
12
|
+
/**
|
|
13
|
+
* Safely serialize context to string, handling circular references.
|
|
14
|
+
*/
|
|
15
|
+
function safeStringify(obj) {
|
|
16
|
+
try {
|
|
17
|
+
return JSON.stringify(obj, null, 2);
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
// Handle circular references
|
|
21
|
+
const seen = new WeakSet();
|
|
22
|
+
return JSON.stringify(obj, (_key, value) => {
|
|
23
|
+
if (typeof value === 'object' && value !== null) {
|
|
24
|
+
if (seen.has(value)) {
|
|
25
|
+
return '[Circular]';
|
|
26
|
+
}
|
|
27
|
+
seen.add(value);
|
|
28
|
+
}
|
|
29
|
+
return value;
|
|
30
|
+
}, 2);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
// ============================================================================
|
|
10
34
|
// Sequential Crew
|
|
11
35
|
// ============================================================================
|
|
12
36
|
/**
|
|
@@ -28,9 +52,9 @@ function createSequentialCrew(config) {
|
|
|
28
52
|
try {
|
|
29
53
|
// Build prompt with context
|
|
30
54
|
let prompt = options.task;
|
|
31
|
-
// Include initial context if provided
|
|
55
|
+
// Include initial context if provided (safe serialization)
|
|
32
56
|
if (options.context && agentResults.length === 0) {
|
|
33
|
-
const contextStr =
|
|
57
|
+
const contextStr = safeStringify(options.context);
|
|
34
58
|
prompt = `Context:\n${contextStr}\n\nTask: ${options.task}`;
|
|
35
59
|
}
|
|
36
60
|
// Include previous agent output
|
|
@@ -41,7 +65,11 @@ function createSequentialCrew(config) {
|
|
|
41
65
|
if (options.abortSignal?.aborted) {
|
|
42
66
|
throw new Error('Crew execution aborted');
|
|
43
67
|
}
|
|
44
|
-
|
|
68
|
+
// Pass abort signal to agent for in-flight cancellation
|
|
69
|
+
const result = await agent.run({
|
|
70
|
+
prompt,
|
|
71
|
+
abortSignal: options.abortSignal,
|
|
72
|
+
});
|
|
45
73
|
const agentResult = {
|
|
46
74
|
agentId: agent.id,
|
|
47
75
|
output: result.text,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sequential.js","sourceRoot":"","sources":["../../../src/ai/crew/sequential.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;
|
|
1
|
+
{"version":3,"file":"sequential.js","sourceRoot":"","sources":["../../../src/ai/crew/sequential.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,30 @@
|
|
|
4
4
|
* Each agent receives the output of the previous agent as context.
|
|
5
5
|
*/
|
|
6
6
|
// ============================================================================
|
|
7
|
+
// Helpers
|
|
8
|
+
// ============================================================================
|
|
9
|
+
/**
|
|
10
|
+
* Safely serialize context to string, handling circular references.
|
|
11
|
+
*/
|
|
12
|
+
function safeStringify(obj) {
|
|
13
|
+
try {
|
|
14
|
+
return JSON.stringify(obj, null, 2);
|
|
15
|
+
}
|
|
16
|
+
catch {
|
|
17
|
+
// Handle circular references
|
|
18
|
+
const seen = new WeakSet();
|
|
19
|
+
return JSON.stringify(obj, (_key, value) => {
|
|
20
|
+
if (typeof value === 'object' && value !== null) {
|
|
21
|
+
if (seen.has(value)) {
|
|
22
|
+
return '[Circular]';
|
|
23
|
+
}
|
|
24
|
+
seen.add(value);
|
|
25
|
+
}
|
|
26
|
+
return value;
|
|
27
|
+
}, 2);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
// ============================================================================
|
|
7
31
|
// Sequential Crew
|
|
8
32
|
// ============================================================================
|
|
9
33
|
/**
|
|
@@ -25,9 +49,9 @@ export function createSequentialCrew(config) {
|
|
|
25
49
|
try {
|
|
26
50
|
// Build prompt with context
|
|
27
51
|
let prompt = options.task;
|
|
28
|
-
// Include initial context if provided
|
|
52
|
+
// Include initial context if provided (safe serialization)
|
|
29
53
|
if (options.context && agentResults.length === 0) {
|
|
30
|
-
const contextStr =
|
|
54
|
+
const contextStr = safeStringify(options.context);
|
|
31
55
|
prompt = `Context:\n${contextStr}\n\nTask: ${options.task}`;
|
|
32
56
|
}
|
|
33
57
|
// Include previous agent output
|
|
@@ -38,7 +62,11 @@ export function createSequentialCrew(config) {
|
|
|
38
62
|
if (options.abortSignal?.aborted) {
|
|
39
63
|
throw new Error('Crew execution aborted');
|
|
40
64
|
}
|
|
41
|
-
|
|
65
|
+
// Pass abort signal to agent for in-flight cancellation
|
|
66
|
+
const result = await agent.run({
|
|
67
|
+
prompt,
|
|
68
|
+
abortSignal: options.abortSignal,
|
|
69
|
+
});
|
|
42
70
|
const agentResult = {
|
|
43
71
|
agentId: agent.id,
|
|
44
72
|
output: result.text,
|
package/dist/index.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ export { AgentExpert, A2ARateLimiter, RateLimitError, validateSchema, sanitizeAr
|
|
|
11
11
|
export type { A2AMessage, A2AError, A2AErrorCode, AgentExpertConfig, RateLimitConfig, CallToolRequest, RunTaskRequest, RunTaskResult, ValidationResult, JsonSchema, } from './ai/a2a';
|
|
12
12
|
export { GuardrailChain, GuardrailBlockedError, inputFilter, outputFilter, tokenLimiter, auditLogger, AuditLoggerCollector, ACTION_PRIORITY, } from './ai/guardrails';
|
|
13
13
|
export type { Guardrail, GuardrailPhase, GuardrailAction, GuardrailContext, GuardrailResult, GuardrailChainResult, ContentFilterConfig, ContentCategory, TokenLimiterConfig, GuardrailTokenStore, AuditLoggerConfig, AuditLogEntry, } from './ai/guardrails';
|
|
14
|
-
export { createCrew, createSequentialCrew, } from './ai/crew';
|
|
14
|
+
export { createCrew, createSequentialCrew, createParallelCrew, createHierarchicalCrew, } from './ai/crew';
|
|
15
15
|
export type { OrchestrationMode, CrewConfig, CrewKickoffOptions, AgentResult, CrewResult, Crew, } from './ai/crew';
|
|
16
16
|
export * from './lib/types';
|
|
17
17
|
export { appendMessages, truncateHistory } from './lib/messages';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACH,OAAO,EACP,aAAa,EACb,UAAU,EACV,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,GACnB,MAAM,UAAU,CAAC;AAGlB,OAAO,EACH,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,aAAa,GAChB,MAAM,UAAU,CAAC;AAElB,YAAY,EACR,SAAS,EACT,UAAU,IAAI,cAAc,EAC5B,UAAU,IAAI,cAAc,EAC5B,KAAK,EACL,SAAS,GACZ,MAAM,UAAU,CAAC;AAElB,YAAY,EACR,cAAc,EACd,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,GACjB,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACH,OAAO,EACP,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,cAAc,EACd,gBAAgB,GACnB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAGxD,OAAO,EACH,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,oBAAoB,EACpB,eAAe,EACf,sBAAsB,GACzB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACR,cAAc,EACd,cAAc,EACd,cAAc,GACjB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EACH,WAAW,EACX,cAAc,EACd,cAAc,EACd,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,GACjB,MAAM,UAAU,CAAC;AAClB,YAAY,EACR,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,UAAU,GACb,MAAM,UAAU,CAAC;AAGlB,OAAO,EACH,cAAc,EACd,qBAAqB,EACrB,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,oBAAoB,EACpB,eAAe,GAClB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACR,SAAS,EACT,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,GAChB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACH,UAAU,EACV,oBAAoB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -14,9 +14,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.
|
|
18
|
-
exports.
|
|
19
|
-
exports.OTelTracer = exports.PRODUCTION_TRACER_CONFIG = exports.DEFAULT_TRACER_CONFIG = exports.redactAttributes = exports.redactContent = exports.getGlobalTracer = exports.setGlobalTracer = exports.ConsoleTracer = exports.NoopTracer = exports.DEFAULT_ESTIMATOR_CONFIG = exports.estimateMessagesTokens = exports.estimateMessageTokens = exports.defaultContentEstimator = exports.createTokenEstimator = exports.ContextOverflowError = exports.buildToolPairs = exports.compactMessages = exports.MaxGraphStepsError = exports.END = exports.StateGraph = exports.ToolConflictError = exports.ToolRegistry = exports.resumeWithApproval = exports.getPendingApproval = exports.isPendingApproval = exports.KodoCheckpointer = exports.PostgresCheckpointer = exports.RedisCheckpointer = exports.deserializeCheckpoint = exports.MemoryCheckpointer = exports.startFromEnv = exports.QiniuMCPServer = exports.TokenManager = exports.FileTokenStore = exports.MemoryTokenStore = exports.refreshAccessToken = exports.generateState = exports.generateCodeChallenge = exports.generateCodeVerifier = void 0;
|
|
17
|
+
exports.generateText = exports.truncateHistory = exports.appendMessages = exports.createHierarchicalCrew = exports.createParallelCrew = exports.createSequentialCrew = exports.createCrew = exports.ACTION_PRIORITY = exports.AuditLoggerCollector = exports.auditLogger = exports.tokenLimiter = exports.outputFilter = exports.inputFilter = exports.GuardrailBlockedError = exports.GuardrailChain = exports.createA2AError = exports.createA2AResponse = exports.createA2ARequest = exports.generateRequestId = exports.sanitizeArgs = exports.validateSchema = exports.RateLimitError = exports.A2ARateLimiter = exports.AgentExpert = exports.defaultParallelReducer = exports.stripBranchMeta = exports.sortMessagesByBranch = exports.stampMessage = exports.cloneStateForBranch = exports.executeParallel = exports.RecoverableError = exports.FatalToolError = exports.StructuredOutputError = exports.MaxStepsExceededError = exports.ToolExecutionError = exports.AIError = exports.APIError = exports.MODEL_CATALOG = exports.VIDEO_MODELS = exports.IMAGE_MODELS = exports.CHAT_MODELS = exports.timingMiddleware = exports.headersMiddleware = exports.retryMiddleware = exports.composeMiddleware = exports.defaultFetchAdapter = exports.createFilteredLogger = exports.noopLogger = exports.consoleLogger = exports.QiniuAI = void 0;
|
|
18
|
+
exports.PKCEFlow = exports.MCPHttpTransportError = exports.MCPHttpTransport = exports.getAllMCPToolsAsRegistered = exports.adaptMCPToolsToRegistry = exports.MCPClientError = exports.MCPClient = exports.SkillLoader = exports.qiniuVframeTool = exports.qiniuVideoCensorTool = exports.qiniuImageCensorTool = exports.qiniuOcrTool = exports.getQiniuToolSchemas = exports.getQiniuToolsArray = exports.QINIU_TOOLS = exports.Censor = exports.detectAssetType = exports.estimateAssetCost = exports.VframeError = exports.extractFrame = exports.extractFrames = exports.buildVframeUrl = exports.buildVframeFop = exports.AssetResolutionError = exports.resolveAssets = exports.resolveAsset = exports.parseQiniuUri = exports.CachedSigner = exports.UrlCache = exports.isMessageDroppable = exports.InMemoryVectorStore = exports.MemoryManager = exports.getDroppableId = exports.getSummaryId = exports.getSkillId = exports.isDroppable = exports.stripMeta = exports.createAgent = exports.AgentGraph = exports.generateTextWithGraph = exports.createPoller = exports.pollUntilComplete = exports.accumulateDelta = exports.createStreamAccumulator = exports.parseSSEStream = exports.parsePartialJson = exports.PartialJsonParser = exports.streamObject = exports.generateObject = exports.serializeToolResult = void 0;
|
|
19
|
+
exports.OTelTracer = exports.PRODUCTION_TRACER_CONFIG = exports.DEFAULT_TRACER_CONFIG = exports.redactAttributes = exports.redactContent = exports.getGlobalTracer = exports.setGlobalTracer = exports.ConsoleTracer = exports.NoopTracer = exports.DEFAULT_ESTIMATOR_CONFIG = exports.estimateMessagesTokens = exports.estimateMessageTokens = exports.defaultContentEstimator = exports.createTokenEstimator = exports.ContextOverflowError = exports.buildToolPairs = exports.compactMessages = exports.MaxGraphStepsError = exports.END = exports.StateGraph = exports.ToolConflictError = exports.ToolRegistry = exports.resumeWithApproval = exports.getPendingApproval = exports.isPendingApproval = exports.KodoCheckpointer = exports.PostgresCheckpointer = exports.RedisCheckpointer = exports.deserializeCheckpoint = exports.MemoryCheckpointer = exports.startFromEnv = exports.QiniuMCPServer = exports.TokenManager = exports.FileTokenStore = exports.MemoryTokenStore = exports.refreshAccessToken = exports.generateState = exports.generateCodeChallenge = exports.generateCodeVerifier = exports.OAuthError = exports.DeviceCodeFlow = void 0;
|
|
20
20
|
// Main client
|
|
21
21
|
var client_1 = require("./client");
|
|
22
22
|
Object.defineProperty(exports, "QiniuAI", { enumerable: true, get: function () { return client_1.QiniuAI; } });
|
|
@@ -77,6 +77,8 @@ Object.defineProperty(exports, "ACTION_PRIORITY", { enumerable: true, get: funct
|
|
|
77
77
|
var crew_1 = require("./ai/crew");
|
|
78
78
|
Object.defineProperty(exports, "createCrew", { enumerable: true, get: function () { return crew_1.createCrew; } });
|
|
79
79
|
Object.defineProperty(exports, "createSequentialCrew", { enumerable: true, get: function () { return crew_1.createSequentialCrew; } });
|
|
80
|
+
Object.defineProperty(exports, "createParallelCrew", { enumerable: true, get: function () { return crew_1.createParallelCrew; } });
|
|
81
|
+
Object.defineProperty(exports, "createHierarchicalCrew", { enumerable: true, get: function () { return crew_1.createHierarchicalCrew; } });
|
|
80
82
|
// Shared types
|
|
81
83
|
__exportStar(require("./lib/types"), exports);
|
|
82
84
|
// Message helpers
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,cAAc;AACd,mCAUkB;AATd,iGAAA,OAAO,OAAA;AACP,uGAAA,aAAa,OAAA;AACb,oGAAA,UAAU,OAAA;AACV,8GAAA,oBAAoB,OAAA;AACpB,6GAAA,mBAAmB,OAAA;AACnB,2GAAA,iBAAiB,OAAA;AACjB,yGAAA,eAAe,OAAA;AACf,2GAAA,iBAAiB,OAAA;AACjB,0GAAA,gBAAgB,OAAA;AAGpB,gBAAgB;AAChB,mCAKkB;AAJd,qGAAA,WAAW,OAAA;AACX,sGAAA,YAAY,OAAA;AACZ,sGAAA,YAAY,OAAA;AACZ,uGAAA,aAAa,OAAA;AAsBjB,cAAc;AACd,yCAAyC;AAAhC,mGAAA,QAAQ,OAAA;AACjB,uCAOsB;AANlB,iGAAA,OAAO,OAAA;AACP,4GAAA,kBAAkB,OAAA;AAClB,+GAAA,qBAAqB,OAAA;AACrB,+GAAA,qBAAqB,OAAA;AACrB,wGAAA,cAAc,OAAA;AACd,0GAAA,gBAAgB,OAAA;AAIpB,qBAAqB;AACrB,kEAOsC;AANlC,oHAAA,eAAe,OAAA;AACf,wHAAA,mBAAmB,OAAA;AACnB,iHAAA,YAAY,OAAA;AACZ,yHAAA,oBAAoB,OAAA;AACpB,oHAAA,eAAe,OAAA;AACf,2HAAA,sBAAsB,OAAA;AAQ1B,gCAAgC;AAChC,gCAUkB;AATd,kGAAA,WAAW,OAAA;AACX,qGAAA,cAAc,OAAA;AACd,qGAAA,cAAc,OAAA;AACd,qGAAA,cAAc,OAAA;AACd,mGAAA,YAAY,OAAA;AACZ,wGAAA,iBAAiB,OAAA;AACjB,uGAAA,gBAAgB,OAAA;AAChB,wGAAA,iBAAiB,OAAA;AACjB,qGAAA,cAAc,OAAA;AAelB,aAAa;AACb,8CASyB;AARrB,4GAAA,cAAc,OAAA;AACd,mHAAA,qBAAqB,OAAA;AACrB,yGAAA,WAAW,OAAA;AACX,0GAAA,YAAY,OAAA;AACZ,0GAAA,YAAY,OAAA;AACZ,yGAAA,WAAW,OAAA;AACX,kHAAA,oBAAoB,OAAA;AACpB,6GAAA,eAAe,OAAA;AAiBnB,mCAAmC;AACnC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.mjs
CHANGED
|
@@ -12,7 +12,7 @@ export { AgentExpert, A2ARateLimiter, RateLimitError, validateSchema, sanitizeAr
|
|
|
12
12
|
// Guardrails
|
|
13
13
|
export { GuardrailChain, GuardrailBlockedError, inputFilter, outputFilter, tokenLimiter, auditLogger, AuditLoggerCollector, ACTION_PRIORITY, } from './ai/guardrails/index.mjs';
|
|
14
14
|
// Crew (Multi-Agent Orchestration)
|
|
15
|
-
export { createCrew, createSequentialCrew, } from './ai/crew/index.mjs';
|
|
15
|
+
export { createCrew, createSequentialCrew, createParallelCrew, createHierarchicalCrew, } from './ai/crew/index.mjs';
|
|
16
16
|
// Shared types
|
|
17
17
|
export * from './lib/types.mjs';
|
|
18
18
|
// Message helpers
|
package/package.json
CHANGED