@indexnetwork/protocol 0.4.0-rc.13.1 → 0.4.0-rc.15.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chat/chat.agent.d.ts.map +1 -1
- package/dist/chat/chat.agent.js +7 -6
- package/dist/chat/chat.agent.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -2
- package/dist/index.js.map +1 -1
- package/dist/negotiation/negotiation.agent.d.ts +30 -0
- package/dist/negotiation/negotiation.agent.d.ts.map +1 -0
- package/dist/negotiation/negotiation.agent.js +92 -0
- package/dist/negotiation/negotiation.agent.js.map +1 -0
- package/dist/negotiation/negotiation.graph.d.ts +138 -166
- package/dist/negotiation/negotiation.graph.d.ts.map +1 -1
- package/dist/negotiation/negotiation.graph.js +85 -80
- package/dist/negotiation/negotiation.graph.js.map +1 -1
- package/dist/negotiation/negotiation.state.d.ts +128 -34
- package/dist/negotiation/negotiation.state.d.ts.map +1 -1
- package/dist/negotiation/negotiation.state.js +45 -14
- package/dist/negotiation/negotiation.state.js.map +1 -1
- package/dist/negotiation/negotiation.tools.d.ts.map +1 -1
- package/dist/negotiation/negotiation.tools.js +183 -172
- package/dist/negotiation/negotiation.tools.js.map +1 -1
- package/dist/opportunity/opportunity.evaluator.d.ts.map +1 -1
- package/dist/opportunity/opportunity.evaluator.js +35 -10
- package/dist/opportunity/opportunity.evaluator.js.map +1 -1
- package/dist/opportunity/opportunity.graph.d.ts +1 -2
- package/dist/opportunity/opportunity.graph.d.ts.map +1 -1
- package/dist/opportunity/opportunity.graph.js +4 -10
- package/dist/opportunity/opportunity.graph.js.map +1 -1
- package/dist/shared/agent/model.config.d.ts +1 -4
- package/dist/shared/agent/model.config.d.ts.map +1 -1
- package/dist/shared/agent/model.config.js +1 -2
- package/dist/shared/agent/model.config.js.map +1 -1
- package/dist/shared/agent/tool.factory.d.ts.map +1 -1
- package/dist/shared/agent/tool.factory.js +7 -6
- package/dist/shared/agent/tool.factory.js.map +1 -1
- package/dist/shared/agent/tool.helpers.d.ts +6 -9
- package/dist/shared/agent/tool.helpers.d.ts.map +1 -1
- package/dist/shared/agent/tool.helpers.js.map +1 -1
- package/dist/shared/interfaces/agent-dispatcher.interface.d.ts +68 -0
- package/dist/shared/interfaces/agent-dispatcher.interface.d.ts.map +1 -0
- package/dist/shared/interfaces/agent-dispatcher.interface.js +9 -0
- package/dist/shared/interfaces/agent-dispatcher.interface.js.map +1 -0
- package/dist/shared/interfaces/database.interface.d.ts +1 -1
- package/dist/shared/interfaces/database.interface.d.ts.map +1 -1
- package/dist/shared/interfaces/negotiation-events.interface.d.ts +2 -34
- package/dist/shared/interfaces/negotiation-events.interface.d.ts.map +1 -1
- package/dist/shared/interfaces/negotiation-events.interface.js +2 -2
- package/package.json +1 -1
- package/dist/negotiation/negotiation.proposer.d.ts +0 -26
- package/dist/negotiation/negotiation.proposer.d.ts.map +0 -1
- package/dist/negotiation/negotiation.proposer.js +0 -67
- package/dist/negotiation/negotiation.proposer.js.map +0 -1
- package/dist/negotiation/negotiation.responder.d.ts +0 -26
- package/dist/negotiation/negotiation.responder.d.ts.map +0 -1
- package/dist/negotiation/negotiation.responder.js +0 -71
- package/dist/negotiation/negotiation.responder.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"negotiation.graph.d.ts","sourceRoot":"","sources":["../../src/negotiation/negotiation.graph.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC/F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACtF,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"negotiation.graph.d.ts","sourceRoot":"","sources":["../../src/negotiation/negotiation.graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,41 +1,60 @@
|
|
|
1
1
|
import { StateGraph } from "@langchain/langgraph";
|
|
2
2
|
import { requestContext } from "../shared/observability/request-context.js";
|
|
3
3
|
import { NegotiationGraphState } from "./negotiation.state.js";
|
|
4
|
+
import { IndexNegotiator } from "./negotiation.agent.js";
|
|
4
5
|
import { protocolLogger } from "../shared/observability/protocol.logger.js";
|
|
5
6
|
const logger = protocolLogger("NegotiationGraph");
|
|
6
|
-
/** Default timeout for external agent responses (24 hours). */
|
|
7
|
-
const DEFAULT_EXTERNAL_TIMEOUT_MS = 24 * 60 * 60 * 1000;
|
|
8
7
|
/**
|
|
9
8
|
* Factory for the bilateral negotiation LangGraph state machine.
|
|
10
|
-
* @remarks Accepts
|
|
9
|
+
* @remarks Accepts an AgentDispatcher for per-turn agent resolution.
|
|
11
10
|
*/
|
|
12
11
|
export class NegotiationGraphFactory {
|
|
13
|
-
constructor(database,
|
|
12
|
+
constructor(database, dispatcher, timeoutQueue) {
|
|
14
13
|
this.database = database;
|
|
15
|
-
this.
|
|
16
|
-
this.responder = responder;
|
|
17
|
-
this.webhookLookup = webhookLookup;
|
|
18
|
-
this.eventEmitter = eventEmitter;
|
|
14
|
+
this.dispatcher = dispatcher;
|
|
19
15
|
this.timeoutQueue = timeoutQueue;
|
|
20
16
|
}
|
|
21
17
|
createGraph() {
|
|
22
|
-
const { database,
|
|
18
|
+
const { database, dispatcher, timeoutQueue } = this;
|
|
19
|
+
const systemAgent = new IndexNegotiator();
|
|
23
20
|
const initNode = async (state) => {
|
|
24
21
|
try {
|
|
25
22
|
const conversation = await database.createConversation([
|
|
26
23
|
{ participantId: `agent:${state.sourceUser.id}`, participantType: "agent" },
|
|
27
24
|
{ participantId: `agent:${state.candidateUser.id}`, participantType: "agent" },
|
|
28
25
|
]);
|
|
26
|
+
// Determine scenario-based maxTurns before creating the task
|
|
27
|
+
const scope = { action: 'manage:negotiations', scopeType: 'network', scopeId: state.indexContext.networkId };
|
|
28
|
+
const [sourceHasAgent, candidateHasAgent] = await Promise.all([
|
|
29
|
+
dispatcher.hasPersonalAgent(state.sourceUser.id, scope),
|
|
30
|
+
dispatcher.hasPersonalAgent(state.candidateUser.id, scope),
|
|
31
|
+
]);
|
|
32
|
+
let maxTurns = state.maxTurns;
|
|
33
|
+
if (maxTurns == null) {
|
|
34
|
+
// No explicit override from caller — choose based on agent presence
|
|
35
|
+
if (sourceHasAgent && candidateHasAgent) {
|
|
36
|
+
maxTurns = 0; // unlimited — 24h timeout is the safety valve
|
|
37
|
+
}
|
|
38
|
+
else if (sourceHasAgent || candidateHasAgent) {
|
|
39
|
+
maxTurns = 8;
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
maxTurns = 6; // both system agents: default cap
|
|
43
|
+
}
|
|
44
|
+
}
|
|
29
45
|
const task = await database.createTask(conversation.id, {
|
|
30
46
|
type: "negotiation",
|
|
31
47
|
sourceUserId: state.sourceUser.id,
|
|
32
48
|
candidateUserId: state.candidateUser.id,
|
|
49
|
+
...(state.opportunityId && { opportunityId: state.opportunityId }),
|
|
50
|
+
maxTurns,
|
|
33
51
|
});
|
|
34
52
|
return {
|
|
35
53
|
conversationId: conversation.id,
|
|
36
54
|
taskId: task.id,
|
|
37
55
|
currentSpeaker: "source",
|
|
38
56
|
turnCount: 0,
|
|
57
|
+
maxTurns,
|
|
39
58
|
};
|
|
40
59
|
}
|
|
41
60
|
catch (err) {
|
|
@@ -43,6 +62,10 @@ export class NegotiationGraphFactory {
|
|
|
43
62
|
}
|
|
44
63
|
};
|
|
45
64
|
const turnNode = async (state) => {
|
|
65
|
+
const traceEmitter = requestContext.getStore()?.traceEmitter;
|
|
66
|
+
const agentName = "Index negotiator";
|
|
67
|
+
const agentStart = Date.now();
|
|
68
|
+
traceEmitter?.({ type: "agent_start", name: agentName });
|
|
46
69
|
try {
|
|
47
70
|
const history = state.messages.map((m) => {
|
|
48
71
|
const dataPart = m.parts.find((p) => p.kind === "data");
|
|
@@ -51,57 +74,56 @@ export class NegotiationGraphFactory {
|
|
|
51
74
|
const isSource = state.currentSpeaker === "source";
|
|
52
75
|
const ownUser = isSource ? state.sourceUser : state.candidateUser;
|
|
53
76
|
const otherUser = isSource ? state.candidateUser : state.sourceUser;
|
|
54
|
-
//
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
logger.info("[Graph:Turn] External agent available, yielding", { userId: ownUser.id, turnCount: state.turnCount });
|
|
60
|
-
await database.updateTaskState(state.taskId, "waiting_for_external");
|
|
61
|
-
// Determine the last counterparty action for the event payload
|
|
62
|
-
const lastTurnData = history[history.length - 1];
|
|
63
|
-
const deadline = new Date(Date.now() + DEFAULT_EXTERNAL_TIMEOUT_MS).toISOString();
|
|
64
|
-
eventEmitter?.emitTurnReceived({
|
|
65
|
-
negotiationId: state.taskId,
|
|
66
|
-
userId: ownUser.id,
|
|
67
|
-
turnNumber: state.turnCount + 1,
|
|
68
|
-
counterpartyAction: lastTurnData?.action ?? 'propose',
|
|
69
|
-
counterpartyMessage: lastTurnData?.assessment?.reasoning,
|
|
70
|
-
deadline,
|
|
71
|
-
});
|
|
72
|
-
// Enqueue timeout fallback (fire-and-forget to avoid blocking if Redis is down)
|
|
73
|
-
if (timeoutQueue) {
|
|
74
|
-
timeoutQueue.enqueueTimeout(state.taskId, state.turnCount, DEFAULT_EXTERNAL_TIMEOUT_MS)
|
|
75
|
-
.catch((err) => logger.error("[Graph:Turn] Failed to enqueue timeout", { taskId: state.taskId, error: err instanceof Error ? err.message : String(err) }));
|
|
76
|
-
}
|
|
77
|
-
// Return early — graph yields. No new message, no turn increment.
|
|
78
|
-
return { status: 'waiting_for_external' };
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
// ── No external agent: run the built-in AI agent ──
|
|
82
|
-
const agent = isSource ? proposer : responder;
|
|
83
|
-
const senderId = `agent:${ownUser.id}`;
|
|
84
|
-
const traceEmitter = requestContext.getStore()?.traceEmitter;
|
|
85
|
-
const agentName = isSource ? "Negotiation proposer agent" : "Negotiation responder agent";
|
|
86
|
-
const agentStart = Date.now();
|
|
87
|
-
traceEmitter?.({ type: "agent_start", name: agentName });
|
|
88
|
-
const turn = await agent.invoke({
|
|
77
|
+
// Determine if this is the system agent's final allowed turn
|
|
78
|
+
const maxTurns = state.maxTurns ?? 0;
|
|
79
|
+
const isFinalTurn = maxTurns > 0 && (state.turnCount + 1) >= maxTurns;
|
|
80
|
+
const payload = {
|
|
81
|
+
negotiationId: state.taskId,
|
|
89
82
|
ownUser,
|
|
90
83
|
otherUser,
|
|
91
84
|
indexContext: state.indexContext,
|
|
92
85
|
seedAssessment: state.seedAssessment,
|
|
93
86
|
history,
|
|
94
|
-
|
|
95
|
-
|
|
87
|
+
isFinalTurn,
|
|
88
|
+
isDiscoverer: isSource,
|
|
89
|
+
...(state.discoveryQuery && { discoveryQuery: state.discoveryQuery }),
|
|
90
|
+
};
|
|
91
|
+
const scope = { action: 'manage:negotiations', scopeType: 'network', scopeId: state.indexContext.networkId };
|
|
92
|
+
const dispatchResult = await dispatcher.dispatch(ownUser.id, scope, payload, { timeoutMs: state.timeoutMs });
|
|
93
|
+
let turn;
|
|
94
|
+
if (dispatchResult.handled) {
|
|
95
|
+
// Personal agent responded
|
|
96
|
+
turn = dispatchResult.turn;
|
|
97
|
+
}
|
|
98
|
+
else if (dispatchResult.reason === 'waiting') {
|
|
99
|
+
// Long timeout — graph suspends
|
|
100
|
+
traceEmitter?.({ type: "agent_end", name: agentName, durationMs: Date.now() - agentStart, summary: "waiting_for_agent" });
|
|
101
|
+
await database.updateTaskState(state.taskId, "waiting_for_agent");
|
|
102
|
+
return { status: 'waiting_for_agent' };
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
// No personal agent or timeout — run system agent
|
|
106
|
+
turn = await systemAgent.invoke({
|
|
107
|
+
ownUser,
|
|
108
|
+
otherUser,
|
|
109
|
+
indexContext: state.indexContext,
|
|
110
|
+
seedAssessment: state.seedAssessment,
|
|
111
|
+
history,
|
|
112
|
+
isFinalTurn,
|
|
113
|
+
isDiscoverer: isSource,
|
|
114
|
+
...(state.discoveryQuery && { discoveryQuery: state.discoveryQuery }),
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
traceEmitter?.({ type: "agent_end", name: agentName, durationMs: Date.now() - agentStart, summary: `${turn.action}` });
|
|
96
118
|
// First turn must be "propose"
|
|
97
119
|
if (state.turnCount === 0 && turn.action !== "propose") {
|
|
98
|
-
logger.warn("[Graph:Turn]
|
|
120
|
+
logger.warn("[Graph:Turn] Agent returned unexpected action on turn 0, forcing to propose", { action: turn.action });
|
|
99
121
|
turn.action = "propose";
|
|
100
122
|
}
|
|
101
123
|
const parts = [{ kind: "data", data: turn }];
|
|
102
124
|
const message = await database.createMessage({
|
|
103
125
|
conversationId: state.conversationId,
|
|
104
|
-
senderId
|
|
126
|
+
senderId: `agent:${ownUser.id}`,
|
|
105
127
|
role: "agent",
|
|
106
128
|
parts,
|
|
107
129
|
taskId: state.taskId,
|
|
@@ -121,19 +143,21 @@ export class NegotiationGraphFactory {
|
|
|
121
143
|
};
|
|
122
144
|
}
|
|
123
145
|
catch (err) {
|
|
146
|
+
const errMsg = err instanceof Error ? err.message : String(err);
|
|
147
|
+
logger.error("[Graph:Turn] Agent invocation failed", { error: errMsg, stack: err instanceof Error ? err.stack : undefined, turnCount: state.turnCount });
|
|
148
|
+
traceEmitter?.({ type: "agent_end", name: agentName, durationMs: Date.now() - agentStart, summary: `error: ${errMsg}` });
|
|
124
149
|
return {
|
|
125
150
|
lastTurn: {
|
|
126
151
|
action: "reject",
|
|
127
|
-
assessment: {
|
|
152
|
+
assessment: { reasoning: `Agent error: ${errMsg}`, suggestedRoles: { ownUser: "peer", otherUser: "peer" } },
|
|
128
153
|
},
|
|
129
154
|
turnCount: state.turnCount + 1,
|
|
130
|
-
error: `Turn failed: ${
|
|
155
|
+
error: `Turn failed: ${errMsg}`,
|
|
131
156
|
};
|
|
132
157
|
}
|
|
133
158
|
};
|
|
134
159
|
const evaluateNode = (state) => {
|
|
135
|
-
|
|
136
|
-
if (state.status === 'waiting_for_external')
|
|
160
|
+
if (state.status === 'waiting_for_agent')
|
|
137
161
|
return "finalize";
|
|
138
162
|
if (state.error)
|
|
139
163
|
return "finalize";
|
|
@@ -143,14 +167,13 @@ export class NegotiationGraphFactory {
|
|
|
143
167
|
return "finalize";
|
|
144
168
|
if (state.lastTurn.action === "reject")
|
|
145
169
|
return "finalize";
|
|
146
|
-
|
|
170
|
+
// question routes same as counter — next turn
|
|
171
|
+
if ((state.maxTurns ?? 0) > 0 && state.turnCount >= state.maxTurns)
|
|
147
172
|
return "finalize";
|
|
148
173
|
return "turn";
|
|
149
174
|
};
|
|
150
175
|
const finalizeNode = async (state) => {
|
|
151
|
-
|
|
152
|
-
// will be resumed via respond_to_negotiation or the timeout worker.
|
|
153
|
-
if (state.status === 'waiting_for_external') {
|
|
176
|
+
if (state.status === 'waiting_for_agent') {
|
|
154
177
|
return {};
|
|
155
178
|
}
|
|
156
179
|
const history = state.messages.map((m) => {
|
|
@@ -159,17 +182,11 @@ export class NegotiationGraphFactory {
|
|
|
159
182
|
}).filter(Boolean);
|
|
160
183
|
const lastTurn = state.lastTurn;
|
|
161
184
|
const hasOpportunity = lastTurn?.action === "accept";
|
|
162
|
-
const atCap = state.turnCount >= state.maxTurns && lastTurn?.action
|
|
163
|
-
const scores = history.map((t) => t.assessment.fitScore);
|
|
164
|
-
const avgScore = scores.length > 0 ? Math.round(scores.reduce((a, b) => a + b, 0) / scores.length) : 0;
|
|
185
|
+
const atCap = (state.maxTurns ?? 0) > 0 && state.turnCount >= state.maxTurns && lastTurn?.action !== "accept" && lastTurn?.action !== "reject";
|
|
165
186
|
let agreedRoles = [];
|
|
166
187
|
if (hasOpportunity && history.length >= 2) {
|
|
167
|
-
// The accept turn is always last; the preceding turn is from the other side.
|
|
168
|
-
// Use currentSpeaker (who would speak NEXT) to determine who spoke last.
|
|
169
188
|
const acceptTurn = history[history.length - 1];
|
|
170
189
|
const precedingTurn = history[history.length - 2];
|
|
171
|
-
// currentSpeaker flips after each turn; after the accept turn it points to who would go next.
|
|
172
|
-
// The accepter is the one who just spoke (opposite of currentSpeaker).
|
|
173
190
|
const accepterIsSource = state.currentSpeaker === "candidate";
|
|
174
191
|
const [sourceRole, candidateRole] = accepterIsSource
|
|
175
192
|
? [acceptTurn.assessment.suggestedRoles.ownUser, precedingTurn.assessment.suggestedRoles.ownUser]
|
|
@@ -181,7 +198,6 @@ export class NegotiationGraphFactory {
|
|
|
181
198
|
}
|
|
182
199
|
const outcome = {
|
|
183
200
|
hasOpportunity,
|
|
184
|
-
finalScore: hasOpportunity ? avgScore : 0,
|
|
185
201
|
agreedRoles,
|
|
186
202
|
reasoning: lastTurn?.assessment.reasoning ?? "",
|
|
187
203
|
turnCount: state.turnCount,
|
|
@@ -219,20 +235,14 @@ export class NegotiationGraphFactory {
|
|
|
219
235
|
}
|
|
220
236
|
/**
|
|
221
237
|
* Runs bilateral negotiation for each candidate in parallel.
|
|
222
|
-
* @param negotiationGraph - Compiled negotiation graph
|
|
223
|
-
* @param sourceUser - Source user context
|
|
224
|
-
* @param candidates - Evaluated candidates to negotiate with
|
|
225
|
-
* @param indexContext - Index context for the negotiation
|
|
226
|
-
* @param opts - Optional maxTurns and traceEmitter
|
|
227
238
|
* @returns Only candidates that produced an opportunity
|
|
228
239
|
*/
|
|
229
240
|
export async function negotiateCandidates(negotiationGraph, sourceUser, candidates, indexContext, opts) {
|
|
230
|
-
const { maxTurns, traceEmitter, indexContextOverrides,
|
|
241
|
+
const { maxTurns, traceEmitter, indexContextOverrides, timeoutMs } = opts ?? {};
|
|
231
242
|
const results = await Promise.all(candidates.map(async (candidate) => {
|
|
232
243
|
const start = Date.now();
|
|
233
244
|
traceEmitter?.({ type: "agent_start", name: "Negotiating candidate" });
|
|
234
245
|
try {
|
|
235
|
-
// Use per-candidate index context; never fall back to a different index's prompt
|
|
236
246
|
const candidateIndexContext = candidate.networkId
|
|
237
247
|
? { networkId: candidate.networkId, prompt: indexContextOverrides?.get(candidate.networkId) ?? '' }
|
|
238
248
|
: indexContext;
|
|
@@ -241,24 +251,23 @@ export async function negotiateCandidates(negotiationGraph, sourceUser, candidat
|
|
|
241
251
|
candidateUser: candidate.candidateUser,
|
|
242
252
|
indexContext: candidateIndexContext,
|
|
243
253
|
seedAssessment: {
|
|
244
|
-
score: candidate.score,
|
|
245
254
|
reasoning: candidate.reasoning,
|
|
246
255
|
valencyRole: candidate.valencyRole,
|
|
247
256
|
},
|
|
257
|
+
...(candidate.discoveryQuery && { discoveryQuery: candidate.discoveryQuery }),
|
|
248
258
|
...(maxTurns !== undefined && { maxTurns }),
|
|
249
|
-
...(
|
|
259
|
+
...(timeoutMs !== undefined && { timeoutMs }),
|
|
250
260
|
});
|
|
251
261
|
const durationMs = Date.now() - start;
|
|
252
262
|
const outcome = result.outcome;
|
|
253
263
|
const hasOpportunity = outcome?.hasOpportunity === true;
|
|
254
|
-
// Build inline turn flow: "propose:85 → counter:70 → accept:78"
|
|
255
264
|
const turnFlow = (result.messages ?? [])
|
|
256
265
|
.map((m) => {
|
|
257
266
|
const dataPart = m.parts?.find((p) => p.kind === "data");
|
|
258
267
|
if (!dataPart?.data)
|
|
259
268
|
return null;
|
|
260
269
|
const turn = dataPart.data;
|
|
261
|
-
return
|
|
270
|
+
return turn.action ?? "unknown";
|
|
262
271
|
})
|
|
263
272
|
.filter(Boolean)
|
|
264
273
|
.join(" → ");
|
|
@@ -267,7 +276,6 @@ export async function negotiateCandidates(negotiationGraph, sourceUser, candidat
|
|
|
267
276
|
if (hasOpportunity && outcome) {
|
|
268
277
|
return {
|
|
269
278
|
userId: candidate.userId,
|
|
270
|
-
negotiationScore: outcome.finalScore,
|
|
271
279
|
agreedRoles: outcome.agreedRoles,
|
|
272
280
|
reasoning: outcome.reasoning,
|
|
273
281
|
turnCount: outcome.turnCount,
|
|
@@ -286,12 +294,9 @@ export async function negotiateCandidates(negotiationGraph, sourceUser, candidat
|
|
|
286
294
|
}
|
|
287
295
|
/**
|
|
288
296
|
* Creates a negotiation graph with the provided dependencies.
|
|
289
|
-
* @param deps.database - Conversation database adapter
|
|
290
|
-
* @param deps.proposer - Agent that proposes negotiation terms
|
|
291
|
-
* @param deps.responder - Agent that responds to negotiation proposals
|
|
292
297
|
*/
|
|
293
298
|
export function createDefaultNegotiationGraph(deps) {
|
|
294
|
-
const factory = new NegotiationGraphFactory(deps.database, deps.
|
|
299
|
+
const factory = new NegotiationGraphFactory(deps.database, deps.dispatcher, deps.timeoutQueue);
|
|
295
300
|
return factory.createGraph();
|
|
296
301
|
}
|
|
297
302
|
//# sourceMappingURL=negotiation.graph.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"negotiation.graph.js","sourceRoot":"","sources":["../../src/negotiation/negotiation.graph.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"negotiation.graph.js","sourceRoot":"","sources":["../../src/negotiation/negotiation.graph.ts"],"names":[],"mappings":"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"}
|