@indexnetwork/protocol 0.4.0-rc.12.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.
Files changed (80) hide show
  1. package/dist/agent/agent.tools.d.ts +3 -0
  2. package/dist/agent/agent.tools.d.ts.map +1 -0
  3. package/dist/agent/agent.tools.js +330 -0
  4. package/dist/agent/agent.tools.js.map +1 -0
  5. package/dist/chat/chat.agent.d.ts.map +1 -1
  6. package/dist/chat/chat.agent.js +7 -6
  7. package/dist/chat/chat.agent.js.map +1 -1
  8. package/dist/index.d.ts +6 -2
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +3 -2
  11. package/dist/index.js.map +1 -1
  12. package/dist/mcp/mcp.server.d.ts +1 -1
  13. package/dist/mcp/mcp.server.d.ts.map +1 -1
  14. package/dist/mcp/mcp.server.js +6 -3
  15. package/dist/mcp/mcp.server.js.map +1 -1
  16. package/dist/negotiation/negotiation.agent.d.ts +30 -0
  17. package/dist/negotiation/negotiation.agent.d.ts.map +1 -0
  18. package/dist/negotiation/negotiation.agent.js +92 -0
  19. package/dist/negotiation/negotiation.agent.js.map +1 -0
  20. package/dist/negotiation/negotiation.graph.d.ts +138 -166
  21. package/dist/negotiation/negotiation.graph.d.ts.map +1 -1
  22. package/dist/negotiation/negotiation.graph.js +85 -80
  23. package/dist/negotiation/negotiation.graph.js.map +1 -1
  24. package/dist/negotiation/negotiation.state.d.ts +128 -34
  25. package/dist/negotiation/negotiation.state.d.ts.map +1 -1
  26. package/dist/negotiation/negotiation.state.js +45 -14
  27. package/dist/negotiation/negotiation.state.js.map +1 -1
  28. package/dist/negotiation/negotiation.tools.d.ts.map +1 -1
  29. package/dist/negotiation/negotiation.tools.js +183 -172
  30. package/dist/negotiation/negotiation.tools.js.map +1 -1
  31. package/dist/opportunity/opportunity.evaluator.d.ts.map +1 -1
  32. package/dist/opportunity/opportunity.evaluator.js +35 -10
  33. package/dist/opportunity/opportunity.evaluator.js.map +1 -1
  34. package/dist/opportunity/opportunity.graph.d.ts +30 -0
  35. package/dist/opportunity/opportunity.graph.d.ts.map +1 -1
  36. package/dist/opportunity/opportunity.graph.js +45 -8
  37. package/dist/opportunity/opportunity.graph.js.map +1 -1
  38. package/dist/opportunity/opportunity.tools.d.ts.map +1 -1
  39. package/dist/opportunity/opportunity.tools.js +12 -4
  40. package/dist/opportunity/opportunity.tools.js.map +1 -1
  41. package/dist/profile/profile.tools.d.ts.map +1 -1
  42. package/dist/profile/profile.tools.js +12 -1
  43. package/dist/profile/profile.tools.js.map +1 -1
  44. package/dist/shared/agent/model.config.d.ts +1 -4
  45. package/dist/shared/agent/model.config.d.ts.map +1 -1
  46. package/dist/shared/agent/model.config.js +1 -2
  47. package/dist/shared/agent/model.config.js.map +1 -1
  48. package/dist/shared/agent/tool.factory.d.ts.map +1 -1
  49. package/dist/shared/agent/tool.factory.js +12 -6
  50. package/dist/shared/agent/tool.factory.js.map +1 -1
  51. package/dist/shared/agent/tool.helpers.d.ts +17 -9
  52. package/dist/shared/agent/tool.helpers.d.ts.map +1 -1
  53. package/dist/shared/agent/tool.helpers.js.map +1 -1
  54. package/dist/shared/agent/tool.registry.d.ts.map +1 -1
  55. package/dist/shared/agent/tool.registry.js +2 -0
  56. package/dist/shared/agent/tool.registry.js.map +1 -1
  57. package/dist/shared/interfaces/agent-dispatcher.interface.d.ts +68 -0
  58. package/dist/shared/interfaces/agent-dispatcher.interface.d.ts.map +1 -0
  59. package/dist/shared/interfaces/agent-dispatcher.interface.js +9 -0
  60. package/dist/shared/interfaces/agent-dispatcher.interface.js.map +1 -0
  61. package/dist/shared/interfaces/agent.interface.d.ts +176 -0
  62. package/dist/shared/interfaces/agent.interface.d.ts.map +1 -0
  63. package/dist/shared/interfaces/agent.interface.js +15 -0
  64. package/dist/shared/interfaces/agent.interface.js.map +1 -0
  65. package/dist/shared/interfaces/auth.interface.d.ts +10 -3
  66. package/dist/shared/interfaces/auth.interface.d.ts.map +1 -1
  67. package/dist/shared/interfaces/database.interface.d.ts +1 -1
  68. package/dist/shared/interfaces/database.interface.d.ts.map +1 -1
  69. package/dist/shared/interfaces/negotiation-events.interface.d.ts +2 -34
  70. package/dist/shared/interfaces/negotiation-events.interface.d.ts.map +1 -1
  71. package/dist/shared/interfaces/negotiation-events.interface.js +2 -2
  72. package/package.json +1 -1
  73. package/dist/negotiation/negotiation.proposer.d.ts +0 -26
  74. package/dist/negotiation/negotiation.proposer.d.ts.map +0 -1
  75. package/dist/negotiation/negotiation.proposer.js +0 -67
  76. package/dist/negotiation/negotiation.proposer.js.map +0 -1
  77. package/dist/negotiation/negotiation.responder.d.ts +0 -26
  78. package/dist/negotiation/negotiation.responder.d.ts.map +0 -1
  79. package/dist/negotiation/negotiation.responder.js +0 -71
  80. 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":"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"}
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 dependencies via constructor for testability.
9
+ * @remarks Accepts an AgentDispatcher for per-turn agent resolution.
11
10
  */
12
11
  export class NegotiationGraphFactory {
13
- constructor(database, proposer, responder, webhookLookup, eventEmitter, timeoutQueue) {
12
+ constructor(database, dispatcher, timeoutQueue) {
14
13
  this.database = database;
15
- this.proposer = proposer;
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, proposer, responder, webhookLookup, eventEmitter, timeoutQueue } = this;
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
- // ── Yield check: if the active party has an external agent (webhook), pause ──
55
- // Skip when yieldForExternal is false (e.g. chat-initiated negotiations need real-time results).
56
- if (webhookLookup && state.yieldForExternal !== false) {
57
- const hasExternalAgent = await webhookLookup.hasWebhookForEvent(ownUser.id, 'negotiation.turn_received');
58
- if (hasExternalAgent) {
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
- traceEmitter?.({ type: "agent_end", name: agentName, durationMs: Date.now() - agentStart, summary: `${turn.action}:${turn.assessment.fitScore}` });
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] Proposer returned unexpected action on turn 0, forcing to propose", { action: turn.action });
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: { fitScore: 0, reasoning: `Agent error: ${err instanceof Error ? err.message : String(err)}`, suggestedRoles: { ownUser: "peer", otherUser: "peer" } },
152
+ assessment: { reasoning: `Agent error: ${errMsg}`, suggestedRoles: { ownUser: "peer", otherUser: "peer" } },
128
153
  },
129
154
  turnCount: state.turnCount + 1,
130
- error: `Turn failed: ${err instanceof Error ? err.message : String(err)}`,
155
+ error: `Turn failed: ${errMsg}`,
131
156
  };
132
157
  }
133
158
  };
134
159
  const evaluateNode = (state) => {
135
- // When the graph yielded for an external agent, go straight to finalize (no-op exit)
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
- if (state.turnCount >= state.maxTurns)
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
- // When yielding for an external agent, skip outcome persistence — the graph
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 === "counter";
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, yieldForExternal } = opts ?? {};
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
- ...(yieldForExternal !== undefined && { yieldForExternal }),
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 `${turn.action ?? "unknown"}:${turn.assessment?.fitScore ?? "?"}`;
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.proposer, deps.responder, deps.webhookLookup, deps.eventEmitter, deps.timeoutQueue);
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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"}