@indexnetwork/protocol 0.1.0 → 0.2.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 (128) hide show
  1. package/README.md +113 -0
  2. package/dist/agents/chat.agent.js +2 -2
  3. package/dist/agents/chat.agent.js.map +1 -1
  4. package/dist/agents/chat.prompt.d.ts.map +1 -1
  5. package/dist/agents/chat.prompt.js +44 -32
  6. package/dist/agents/chat.prompt.js.map +1 -1
  7. package/dist/agents/chat.prompt.modules.js +16 -16
  8. package/dist/agents/chat.prompt.modules.js.map +1 -1
  9. package/dist/agents/negotiation.proposer.d.ts +1 -1
  10. package/dist/agents/negotiation.proposer.d.ts.map +1 -1
  11. package/dist/agents/negotiation.responder.d.ts +1 -1
  12. package/dist/agents/negotiation.responder.d.ts.map +1 -1
  13. package/dist/agents/opportunity.evaluator.d.ts +1 -1
  14. package/dist/agents/opportunity.evaluator.d.ts.map +1 -1
  15. package/dist/agents/opportunity.evaluator.js +2 -2
  16. package/dist/agents/opportunity.evaluator.js.map +1 -1
  17. package/dist/agents/opportunity.presenter.js +1 -1
  18. package/dist/agents/opportunity.presenter.js.map +1 -1
  19. package/dist/graphs/chat.graph.d.ts +9 -9
  20. package/dist/graphs/chat.graph.d.ts.map +1 -1
  21. package/dist/graphs/chat.graph.js +2 -2
  22. package/dist/graphs/chat.graph.js.map +1 -1
  23. package/dist/graphs/home.graph.d.ts +5 -5
  24. package/dist/graphs/home.graph.d.ts.map +1 -1
  25. package/dist/graphs/home.graph.js +2 -2
  26. package/dist/graphs/home.graph.js.map +1 -1
  27. package/dist/graphs/intent.graph.d.ts +21 -21
  28. package/dist/graphs/intent.graph.d.ts.map +1 -1
  29. package/dist/graphs/intent.graph.js +8 -8
  30. package/dist/graphs/intent.graph.js.map +1 -1
  31. package/dist/graphs/intent_network.graph.d.ts +398 -0
  32. package/dist/graphs/intent_network.graph.d.ts.map +1 -0
  33. package/dist/graphs/intent_network.graph.js +345 -0
  34. package/dist/graphs/intent_network.graph.js.map +1 -0
  35. package/dist/graphs/negotiation.graph.d.ts +27 -27
  36. package/dist/graphs/negotiation.graph.d.ts.map +1 -1
  37. package/dist/graphs/negotiation.graph.js +2 -2
  38. package/dist/graphs/negotiation.graph.js.map +1 -1
  39. package/dist/graphs/network.graph.d.ts +620 -0
  40. package/dist/graphs/network.graph.d.ts.map +1 -0
  41. package/dist/graphs/network.graph.js +226 -0
  42. package/dist/graphs/network.graph.js.map +1 -0
  43. package/dist/graphs/network_membership.graph.d.ts +250 -0
  44. package/dist/graphs/network_membership.graph.d.ts.map +1 -0
  45. package/dist/graphs/network_membership.graph.js +204 -0
  46. package/dist/graphs/network_membership.graph.js.map +1 -0
  47. package/dist/graphs/opportunity.graph.d.ts +33 -33
  48. package/dist/graphs/opportunity.graph.d.ts.map +1 -1
  49. package/dist/graphs/opportunity.graph.js +161 -144
  50. package/dist/graphs/opportunity.graph.js.map +1 -1
  51. package/dist/graphs/profile.graph.js +4 -4
  52. package/dist/graphs/profile.graph.js.map +1 -1
  53. package/dist/graphs/tests/chat.graph.mocks.d.ts +14 -14
  54. package/dist/graphs/tests/chat.graph.mocks.d.ts.map +1 -1
  55. package/dist/graphs/tests/chat.graph.mocks.js +23 -23
  56. package/dist/graphs/tests/chat.graph.mocks.js.map +1 -1
  57. package/dist/index.d.ts +3 -3
  58. package/dist/index.d.ts.map +1 -1
  59. package/dist/index.js +3 -3
  60. package/dist/index.js.map +1 -1
  61. package/dist/interfaces/database.interface.d.ts +111 -111
  62. package/dist/interfaces/database.interface.d.ts.map +1 -1
  63. package/dist/interfaces/embedder.interface.d.ts +1 -1
  64. package/dist/interfaces/embedder.interface.d.ts.map +1 -1
  65. package/dist/mcp/mcp.server.js +1 -1
  66. package/dist/mcp/mcp.server.js.map +1 -1
  67. package/dist/states/chat.state.d.ts +2 -2
  68. package/dist/states/chat.state.js +2 -2
  69. package/dist/states/chat.state.js.map +1 -1
  70. package/dist/states/home.state.d.ts +1 -1
  71. package/dist/states/home.state.js +1 -1
  72. package/dist/states/home.state.js.map +1 -1
  73. package/dist/states/intent.state.d.ts +4 -4
  74. package/dist/states/intent.state.d.ts.map +1 -1
  75. package/dist/states/intent.state.js +1 -1
  76. package/dist/states/intent.state.js.map +1 -1
  77. package/dist/states/intent_network.state.d.ts +148 -0
  78. package/dist/states/intent_network.state.d.ts.map +1 -0
  79. package/dist/states/intent_network.state.js +100 -0
  80. package/dist/states/intent_network.state.js.map +1 -0
  81. package/dist/states/negotiation.state.d.ts +4 -4
  82. package/dist/states/negotiation.state.d.ts.map +1 -1
  83. package/dist/states/negotiation.state.js +1 -1
  84. package/dist/states/negotiation.state.js.map +1 -1
  85. package/dist/states/network.state.d.ts +179 -0
  86. package/dist/states/network.state.d.ts.map +1 -0
  87. package/dist/states/network.state.js +56 -0
  88. package/dist/states/network.state.js.map +1 -0
  89. package/dist/states/network_membership.state.d.ts +77 -0
  90. package/dist/states/network_membership.state.d.ts.map +1 -0
  91. package/dist/states/network_membership.state.js +43 -0
  92. package/dist/states/network_membership.state.js.map +1 -0
  93. package/dist/states/opportunity.state.d.ts +15 -15
  94. package/dist/states/opportunity.state.d.ts.map +1 -1
  95. package/dist/states/opportunity.state.js +6 -6
  96. package/dist/states/opportunity.state.js.map +1 -1
  97. package/dist/streamers/chat.streamer.d.ts +2 -2
  98. package/dist/streamers/chat.streamer.d.ts.map +1 -1
  99. package/dist/streamers/chat.streamer.js +6 -6
  100. package/dist/streamers/chat.streamer.js.map +1 -1
  101. package/dist/support/opportunity.discover.js +2 -2
  102. package/dist/support/opportunity.discover.js.map +1 -1
  103. package/dist/support/opportunity.enricher.js +2 -2
  104. package/dist/support/opportunity.enricher.js.map +1 -1
  105. package/dist/support/protocol.logger.d.ts +1 -1
  106. package/dist/support/protocol.logger.d.ts.map +1 -1
  107. package/dist/tools/index.d.ts.map +1 -1
  108. package/dist/tools/index.js +21 -17
  109. package/dist/tools/index.js.map +1 -1
  110. package/dist/tools/intent.tools.js +67 -67
  111. package/dist/tools/intent.tools.js.map +1 -1
  112. package/dist/tools/network.tools.d.ts +3 -0
  113. package/dist/tools/network.tools.d.ts.map +1 -0
  114. package/dist/tools/network.tools.js +423 -0
  115. package/dist/tools/network.tools.js.map +1 -0
  116. package/dist/tools/opportunity.tools.d.ts.map +1 -1
  117. package/dist/tools/opportunity.tools.js +51 -44
  118. package/dist/tools/opportunity.tools.js.map +1 -1
  119. package/dist/tools/profile.tools.js +21 -21
  120. package/dist/tools/profile.tools.js.map +1 -1
  121. package/dist/tools/tool.helpers.d.ts +10 -10
  122. package/dist/tools/tool.helpers.d.ts.map +1 -1
  123. package/dist/tools/tool.helpers.js +16 -16
  124. package/dist/tools/tool.helpers.js.map +1 -1
  125. package/dist/tools/tool.registry.js +3 -3
  126. package/dist/tools/tool.registry.js.map +1 -1
  127. package/dist/tools/utility.tools.js +3 -3
  128. package/package.json +4 -2
@@ -87,7 +87,7 @@ export function createOpportunityTools(defineTool, deps) {
87
87
  name: "create_opportunities",
88
88
  description: "Creates opportunities (connections). NOT for looking up a specific person by name — use read_user_profiles(query=name) for that.\n\n" +
89
89
  "Four modes:\n" +
90
- "1. **Discovery**: pass searchQuery and/or indexId. Finds matching people based on intent overlap.\n" +
90
+ "1. **Discovery**: pass searchQuery and/or networkId. Finds matching people based on intent overlap.\n" +
91
91
  "2. **Introduction**: pass partyUserIds (2+ user IDs) + entities (pre-gathered profiles and intents). " +
92
92
  "You MUST gather profiles and intents from shared indexes BEFORE calling this. " +
93
93
  "Optionally pass hint (the user's reason for the introduction).\n" +
@@ -106,7 +106,7 @@ export function createOpportunityTools(defineTool, deps) {
106
106
  .string()
107
107
  .optional()
108
108
  .describe("Discovery mode: what to look for."),
109
- indexId: z
109
+ networkId: z
110
110
  .string()
111
111
  .optional()
112
112
  .describe("Index UUID; optional when index-scoped. Pass the personal index ID (\"My Network\") to scope discovery to the user's contacts only."),
@@ -148,7 +148,7 @@ export function createOpportunityTools(defineTool, deps) {
148
148
  summary: z.string().optional(),
149
149
  }))
150
150
  .optional(),
151
- indexId: z
151
+ networkId: z
152
152
  .string()
153
153
  .describe("Shared index this entity's data comes from (required for intro mode)"),
154
154
  }))
@@ -161,12 +161,12 @@ export function createOpportunityTools(defineTool, deps) {
161
161
  }),
162
162
  handler: async ({ context, query }) => {
163
163
  // Strict scope enforcement: when chat is index-scoped, only allow that index
164
- if (context.indexId &&
165
- query.indexId?.trim() &&
166
- query.indexId.trim() !== context.indexId) {
164
+ if (context.networkId &&
165
+ query.networkId?.trim() &&
166
+ query.networkId.trim() !== context.networkId) {
167
167
  return error(`This chat is scoped to ${context.indexName ?? "this index"}. You can only create opportunities in this community.`);
168
168
  }
169
- const effectiveIndexId = (context.indexId || query.indexId?.trim()) ?? undefined;
169
+ const effectiveIndexId = (context.networkId || query.networkId?.trim()) ?? undefined;
170
170
  // ── Continuation mode ── (must take strict precedence — it's a pagination token)
171
171
  if (query.continueFrom) {
172
172
  const _continueTraceEmitter = requestContext.getStore()?.traceEmitter;
@@ -178,7 +178,7 @@ export function createOpportunityTools(defineTool, deps) {
178
178
  cache,
179
179
  userId: context.userId,
180
180
  discoveryId: query.continueFrom,
181
- expectedIndexId: context.indexId,
181
+ expectedIndexId: context.networkId,
182
182
  limit: 20,
183
183
  minimalForChat: true,
184
184
  ...(context.sessionId ? { chatSessionId: context.sessionId } : {}),
@@ -247,13 +247,15 @@ export function createOpportunityTools(defineTool, deps) {
247
247
  _graphTimings: [{ name: 'opportunity', durationMs: _graphMs, agents: [] }],
248
248
  });
249
249
  }
250
+ // Normalize entity networkIds before any checks to avoid raw-vs-trimmed mismatches.
251
+ const normalizedEntities = query.entities?.map((e) => ({ ...e, networkId: e.networkId?.trim() }));
250
252
  // Derive partyUserIds from entities when agent passes entities but omits partyUserIds (intro mode).
251
- // Only derive when all entities share the same indexId to prevent cross-index introductions.
252
- const partyUserIdsFromEntities = query.entities &&
253
- query.entities.length >= 2 &&
254
- query.entities.every((e) => e.userId && e.indexId) &&
255
- new Set(query.entities.map((e) => e.indexId)).size === 1
256
- ? [...new Set(query.entities.map((e) => e.userId))]
253
+ // Only derive when all entities share the same networkId to prevent cross-network introductions.
254
+ const partyUserIdsFromEntities = normalizedEntities &&
255
+ normalizedEntities.length >= 2 &&
256
+ normalizedEntities.every((e) => e.userId && e.networkId) &&
257
+ new Set(normalizedEntities.map((e) => e.networkId)).size === 1
258
+ ? [...new Set(normalizedEntities.map((e) => e.userId))]
257
259
  : undefined;
258
260
  const effectivePartyUserIds = query.partyUserIds && query.partyUserIds.length >= 2
259
261
  ? query.partyUserIds
@@ -262,25 +264,29 @@ export function createOpportunityTools(defineTool, deps) {
262
264
  : undefined;
263
265
  // ── Introduction mode ── (validation and persistence via opportunity graph)
264
266
  if (effectivePartyUserIds && effectivePartyUserIds.length >= 2) {
265
- if (!query.entities || query.entities.length === 0) {
267
+ if (!normalizedEntities || normalizedEntities.length === 0) {
266
268
  return error("Introduction requires pre-gathered entity data. " +
267
- "First use read_index_memberships to find shared indexes, " +
269
+ "First use read_network_memberships to find shared networks, " +
268
270
  "then read_user_profiles and read_intents for each party, " +
269
271
  "then pass the results as entities.");
270
272
  }
271
- const primaryIndexId = query.entities[0]?.indexId;
272
- if (!primaryIndexId) {
273
- return error("Each entity must include an indexId (the shared index).");
273
+ const normalizedEntityNetworkIds = normalizedEntities
274
+ .map((e) => e.networkId)
275
+ .filter((id) => Boolean(id));
276
+ if (normalizedEntityNetworkIds.length !== normalizedEntities.length ||
277
+ new Set(normalizedEntityNetworkIds).size !== 1) {
278
+ return error("All entities must include the same shared networkId.");
274
279
  }
280
+ const [primaryNetworkId] = normalizedEntityNetworkIds;
275
281
  const introducedPartyUserIds = effectivePartyUserIds.filter((uid) => uid !== context.userId);
276
282
  if (introducedPartyUserIds.length === 0) {
277
283
  return error("No counterpart to introduce. Provide at least one other user ID in partyUserIds (besides yourself).");
278
284
  }
279
- const evaluatorEntities = query.entities.map((e) => ({
285
+ const evaluatorEntities = normalizedEntities.map((e) => ({
280
286
  userId: e.userId,
281
287
  profile: e.profile ?? {},
282
288
  intents: e.intents,
283
- indexId: e.indexId,
289
+ networkId: e.networkId,
284
290
  }));
285
291
  const _introGraphStart = Date.now();
286
292
  const _introTraceEmitter = requestContext.getStore()?.traceEmitter;
@@ -288,10 +294,10 @@ export function createOpportunityTools(defineTool, deps) {
288
294
  const result = await graphs.opportunity.invoke({
289
295
  operationMode: "create_introduction",
290
296
  userId: context.userId,
291
- indexId: primaryIndexId,
297
+ networkId: primaryNetworkId,
292
298
  introductionEntities: evaluatorEntities,
293
299
  introductionHint: query.hint,
294
- requiredIndexId: context.indexId ?? undefined,
300
+ requiredNetworkId: context.networkId ?? undefined,
295
301
  options: {
296
302
  initialStatus: "draft",
297
303
  ...(context.sessionId ? { conversationId: context.sessionId } : {}),
@@ -398,27 +404,27 @@ export function createOpportunityTools(defineTool, deps) {
398
404
  const _scopeGraphTimings = [];
399
405
  if (effectiveIndexId) {
400
406
  if (!UUID_REGEX.test(effectiveIndexId)) {
401
- return error("Invalid index ID format.");
407
+ return error("Invalid network ID format.");
402
408
  }
403
409
  const _scopeGraphStart = Date.now();
404
410
  const _scopeIndexMembershipTraceEmitter = requestContext.getStore()?.traceEmitter;
405
- _scopeIndexMembershipTraceEmitter?.({ type: "graph_start", name: "index_membership" });
406
- const memberResult = await graphs.indexMembership.invoke({
411
+ _scopeIndexMembershipTraceEmitter?.({ type: "graph_start", name: "network_membership" });
412
+ const memberResult = await graphs.networkMembership.invoke({
407
413
  userId: context.userId,
408
- indexId: effectiveIndexId,
414
+ networkId: effectiveIndexId,
409
415
  operationMode: "read",
410
416
  });
411
417
  const _scopeIndexMembershipMs = Date.now() - _scopeGraphStart;
412
- _scopeIndexMembershipTraceEmitter?.({ type: "graph_end", name: "index_membership", durationMs: _scopeIndexMembershipMs });
413
- _scopeGraphTimings.push({ name: 'index_membership', durationMs: _scopeIndexMembershipMs, agents: [] });
418
+ _scopeIndexMembershipTraceEmitter?.({ type: "graph_end", name: "network_membership", durationMs: _scopeIndexMembershipMs });
419
+ _scopeGraphTimings.push({ name: 'network_membership', durationMs: _scopeIndexMembershipMs, agents: [] });
414
420
  if (memberResult.error) {
415
- return error("Index not found or you are not a member.");
421
+ return error("Network not found or you are not a member.");
416
422
  }
417
423
  indexScope = [effectiveIndexId];
418
424
  }
419
- else if (context.indexId) {
420
- // When scoped but no explicit indexId, use the scoped index
421
- indexScope = [context.indexId];
425
+ else if (context.networkId) {
426
+ // When scoped but no explicit networkId, use the scoped index
427
+ indexScope = [context.networkId];
422
428
  }
423
429
  else {
424
430
  // No scope - use all indexes (only in unscoped chat)
@@ -433,7 +439,7 @@ export function createOpportunityTools(defineTool, deps) {
433
439
  const _scopeIndexMs = Date.now() - _scopeGraphStart;
434
440
  _scopeIndexTraceEmitter?.({ type: "graph_end", name: "index", durationMs: _scopeIndexMs });
435
441
  _scopeGraphTimings.push({ name: 'index', durationMs: _scopeIndexMs, agents: [] });
436
- indexScope = (indexResult.readResult?.memberOf || []).map((m) => m.indexId);
442
+ indexScope = (indexResult.readResult?.memberOf || []).map((m) => m.networkId);
437
443
  }
438
444
  const toolDebugSteps = [
439
445
  { step: "resolve_index_scope", detail: `${indexScope.length} index(es)` },
@@ -591,27 +597,27 @@ export function createOpportunityTools(defineTool, deps) {
591
597
  name: "list_opportunities",
592
598
  description: "Lists the user's opportunities (suggested connections). Returns opportunity cards to display. When chat is index-scoped, only shows opportunities from that index.",
593
599
  querySchema: z.object({
594
- indexId: z
600
+ networkId: z
595
601
  .string()
596
602
  .optional()
597
603
  .describe("Index UUID filter; defaults to current index when scoped."),
598
604
  }),
599
605
  handler: async ({ context, query }) => {
600
606
  // Strict scope enforcement: when chat is index-scoped, only allow that index
601
- if (context.indexId &&
602
- query.indexId?.trim() &&
603
- query.indexId.trim() !== context.indexId) {
607
+ if (context.networkId &&
608
+ query.networkId?.trim() &&
609
+ query.networkId.trim() !== context.networkId) {
604
610
  return error("This chat is scoped to " +
605
611
  (context.indexName ?? "this index") +
606
612
  ". You can only list opportunities from this community.");
607
613
  }
608
- const effectiveIndexId = (context.indexId || query.indexId?.trim()) ?? undefined;
614
+ const effectiveIndexId = (context.networkId || query.networkId?.trim()) ?? undefined;
609
615
  if (effectiveIndexId && !UUID_REGEX.test(effectiveIndexId)) {
610
- return error("Invalid index ID format.");
616
+ return error("Invalid network ID format.");
611
617
  }
612
618
  // Get opportunities; use minimal card data (no LLM presenter) for fast chat response
613
619
  const opportunities = await database.getOpportunitiesForUser(context.userId, {
614
- indexId: effectiveIndexId,
620
+ networkId: effectiveIndexId,
615
621
  limit: CHAT_DISPLAY_LIMIT,
616
622
  });
617
623
  if (!opportunities || opportunities.length === 0) {
@@ -770,13 +776,14 @@ export function createOpportunityTools(defineTool, deps) {
770
776
  return error("Valid opportunityId required.");
771
777
  }
772
778
  // Strict scope enforcement: when chat is index-scoped, verify opportunity is in that index
773
- if (context.indexId) {
779
+ if (context.networkId) {
774
780
  const opportunity = await systemDb.getOpportunity(opportunityId);
775
781
  if (!opportunity) {
776
782
  return error("Opportunity not found.");
777
783
  }
778
- const opportunityIndexId = opportunity.context?.indexId;
779
- if (!opportunityIndexId || opportunityIndexId !== context.indexId) {
784
+ const opportunityIndexId = opportunity.context?.networkId
785
+ ?? opportunity.actors?.find((a) => a.networkId === context.networkId)?.networkId;
786
+ if (!opportunityIndexId || opportunityIndexId !== context.networkId) {
780
787
  return error("Opportunity not found.");
781
788
  }
782
789
  }
@@ -1 +1 @@
1
- {"version":3,"file":"opportunity.tools.js","sourceRoot":"","sources":["../../src/tools/opportunity.tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAG/D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AACjI,OAAO,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAC5G,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAE7F,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAG/D,MAAM,MAAM,GAAG,cAAc,CAAC,uBAAuB,CAAC,CAAC;AAEvD,qEAAqE;AACrE,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAE7B,iHAAiH;AACjH,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAEnD;;;GAGG;AACH,SAAS,wBAAwB,CAAC,IAAY;IAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACvC,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,2BAA2B,CACzC,GAAgB,EAChB,QAAgB,EAChB,iBAAyB,EACzB,eAAuB,EACvB,iBAAgC,EAChC,cAA8B,EAC9B,gBAAgC,EAChC,UAAmB,EACnB,eAAwB,EACxB,iBAAiC,EACjC,iBAA0B,EAC1B,kBAA4B;IAmB5B,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,WAAW,EAAE,IAAI,IAAI,OAAO,CAAC;IAChD,MAAM,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CACrC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,CACxD,CAAC;IACF,MAAM,kBAAkB,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,CACxD,CAAC;IACF,MAAM,SAAS,GAAG,GAAG,CAAC,cAAc,EAAE,SAAS,IAAI,EAAE,CAAC;IACtD,MAAM,QAAQ,GAAG,wBAAwB,CACvC,SAAS,EACT,eAAe,EACf,2BAA2B,EAC3B,UAAU,EACV,cAAc,IAAI,SAAS,CAC5B,CAAC;IACF,MAAM,KAAK,GACT,OAAO,GAAG,CAAC,cAAc,EAAE,UAAU,KAAK,QAAQ;QAChD,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,UAAU;QAC/B,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,YAAY,GAAG,kBAAkB;QACrC,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACtE,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAC7D,OAAO;QACL,aAAa,EAAE,GAAG,CAAC,EAAE;QACrB,MAAM,EAAE,iBAAiB;QACzB,IAAI,EAAE,eAAe;QACrB,MAAM,EAAE,iBAAiB;QACzB,QAAQ;QACR,GAAG,EAAE,kCAAkC;QACvC,QAAQ,EAAE,kBAAkB,IAAI,eAAe;YAC7C,CAAC,CAAC,GAAG,eAAe,MAAM,eAAe,EAAE;YAC3C,CAAC,CAAC,mBAAmB,eAAe,EAAE;QACxC,kBAAkB;QAClB,oBAAoB,EAAE,sBAAsB;QAC5C,kBAAkB,EAAE,sBAAsB;QAC1C,YAAY,EAAE;YACZ,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,2BAA2B,CAAC,SAAS,EAAE,eAAe,EAAE,UAAU,CAAC;YACzE,GAAG,CAAC,kBAAkB;gBACpB,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;gBACpC,CAAC,CAAC,eAAe;oBACf,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,IAAI,IAAI,EAAE;oBACtE,CAAC,CAAC,EAAE,CAAC;SACV;QACD,UAAU;QACV,KAAK;QACL,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,QAAQ;QAC9B,OAAO,EAAE,kBAAkB,IAAI,KAAK;QACpC,GAAG,CAAC,kBAAkB,IAAI,eAAe;YACvC,CAAC,CAAC;gBACE,WAAW,EAAE;oBACX,IAAI,EAAE,eAAe;oBACrB,GAAG,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnE,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC5D;aACF;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,UAAsB,EAAE,IAAc;IAC3E,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IAErE,MAAM,mBAAmB,GAAG,UAAU,CAAC;QACrC,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EACT,sIAAsI;YACtI,eAAe;YACf,qGAAqG;YACrG,uGAAuG;YACvG,gFAAgF;YAChF,kEAAkE;YAClE,wGAAwG;YACxG,wEAAwE;YACxE,qFAAqF;YACrF,0EAA0E;YAC1E,6DAA6D;YAC7D,gFAAgF;QAClF,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,YAAY,EAAE,CAAC;iBACZ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,gGAAgG,CAAC;YAC7G,WAAW,EAAE,CAAC;iBACX,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,mCAAmC,CAAC;YAChD,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,qIAAqI,CAAC;YAClJ,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,yFAAyF,CAAC;YACtG,YAAY,EAAE,CAAC;iBACZ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,iIAAiI,CAAC;YAC9I,iBAAiB,EAAE,CAAC;iBACjB,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,sGAAsG;gBACtG,8DAA8D;gBAC9D,mEAAmE,CACpE;YACH,YAAY,EAAE,CAAC;iBACZ,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;iBACjB,QAAQ,EAAE;iBACV,QAAQ,CAAC,wDAAwD,CAAC;YACrE,QAAQ,EAAE,CAAC;iBACR,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;gBACP,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;gBAClB,OAAO,EAAE,CAAC;qBACP,MAAM,CAAC;oBACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;oBAC3B,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;oBAC1B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;oBAC/B,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;oBACzC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;oBACtC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;iBAC/B,CAAC;qBACD,QAAQ,EAAE;gBACb,OAAO,EAAE,CAAC;qBACP,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;oBACP,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;oBACpB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;oBACnB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;iBAC/B,CAAC,CACH;qBACA,QAAQ,EAAE;gBACb,OAAO,EAAE,CAAC;qBACP,MAAM,EAAE;qBACR,QAAQ,CAAC,sEAAsE,CAAC;aACpF,CAAC,CACH;iBACA,QAAQ,EAAE;iBACV,QAAQ,CACP,4HAA4H,CAC7H;YACH,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,2EAA2E,CAC5E;SACJ,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;YACpC,6EAA6E;YAC7E,IACE,OAAO,CAAC,OAAO;gBACf,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;gBACrB,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,OAAO,CAAC,OAAO,EACxC,CAAC;gBACD,OAAO,KAAK,CACV,0BAA0B,OAAO,CAAC,SAAS,IAAI,YAAY,wDAAwD,CACpH,CAAC;YACJ,CAAC;YAED,MAAM,gBAAgB,GACpB,CAAC,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,IAAI,SAAS,CAAC;YAE1D,kFAAkF;YAClF,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;gBACvB,MAAM,qBAAqB,GAAG,cAAc,CAAC,QAAQ,EAAE,EAAE,YAAY,CAAC;gBACtE,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC/B,qBAAqB,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;gBACtE,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC;oBACrC,gBAAgB,EAAE,MAAM,CAAC,WAAW;oBACpC,QAAQ;oBACR,KAAK;oBACL,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,WAAW,EAAE,KAAK,CAAC,YAAY;oBAC/B,eAAe,EAAE,OAAO,CAAC,OAAO;oBAChC,KAAK,EAAE,EAAE;oBACT,cAAc,EAAE,IAAI;oBACpB,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACnE,CAAC,CAAC;gBACH,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC;gBAC1C,qBAAqB,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAE1F,MAAM,aAAa,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC;gBAErD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;oBAClB,OAAO,OAAO,CAAC;wBACb,KAAK,EAAE,KAAK;wBACZ,KAAK,EAAE,CAAC;wBACR,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,mEAAmE;wBAC9F,OAAO,EAAE,uBAAuB;wBAChC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC/D,UAAU,EAAE,aAAa;wBACzB,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;qBAC3E,CAAC,CAAC;gBACL,CAAC;gBAED,uEAAuE;gBACvE,MAAM,iBAAiB,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;oBACjE,MAAM,QAAQ,GAAG;wBACf,aAAa,EAAE,GAAG,CAAC,aAAa;wBAChC,MAAM,EAAE,GAAG,CAAC,MAAM;wBAClB,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,MAAM,EAAE,GAAG,CAAC,MAAM;wBAClB,QAAQ,EAAE,GAAG,CAAC,oBAAoB,EAAE,mBAAmB,IAAI,GAAG,CAAC,WAAW,IAAI,EAAE;wBAChF,GAAG,EAAE,GAAG,CAAC,oBAAoB,EAAE,eAAe;wBAC9C,QAAQ,EAAE,GAAG,CAAC,oBAAoB,EAAE,QAAQ;wBAC5C,kBAAkB,EAAE,GAAG,CAAC,oBAAoB,EAAE,kBAAkB;wBAChE,oBAAoB,EAAE,GAAG,CAAC,oBAAoB,EAAE,oBAAoB;wBACpE,kBAAkB,EAAE,GAAG,CAAC,oBAAoB,EAAE,kBAAkB;wBAChE,YAAY,EAAE,GAAG,CAAC,YAAY;wBAC9B,UAAU,EAAE,GAAG,CAAC,UAAU;wBAC1B,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,KAAK;wBAC7B,KAAK,EAAE,GAAG,CAAC,KAAK;wBAChB,MAAM,EAAE,GAAG,CAAC,MAAM;qBACnB,CAAC;oBACF,OAAO,CACL,UAAU,GAAG,eAAe;wBAC5B,wBAAwB,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;wBAClD,IAAI,GAAG,UAAU,CAClB,CAAC;gBACJ,CAAC,CAAC,CAAC;gBAEH,4EAA4E;gBAC5E,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;gBACvE,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;gBAEvE,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAChD,IAAI,OAAO,GACT,QAAQ,GAAG,eAAe,CAAC,MAAM,GAAG,gKAAgK;oBACpM,UAAU,CAAC;gBAEb,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC;gBACnE,MAAM,cAAc,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,IAAI,CAAC,CAAC,GAAG,YAAY,CAAC;gBAC1E,IAAI,cAAc,GAAG,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE,WAAW,EAAE,CAAC;oBACzD,OAAO,IAAI,iBAAiB,cAAc,iJAAiJ,MAAM,CAAC,UAAU,CAAC,WAAW,IAAI,CAAC;gBAC/N,CAAC;qBAAM,IAAI,wBAAwB,EAAE,CAAC;oBACpC,OAAO,IAAI,wEAAwE,CAAC;gBACtF,CAAC;qBAAM,CAAC;oBACN,OAAO,IAAI,oTAAoT,CAAC;gBAClU,CAAC;gBAED,OAAO,OAAO,CAAC;oBACb,KAAK,EAAE,IAAI;oBACX,KAAK,EAAE,eAAe,CAAC,MAAM;oBAC7B,OAAO;oBACP,OAAO,EAAE,SAAS,eAAe,CAAC,MAAM,iBAAiB;oBACzD,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC/D,UAAU,EAAE,aAAa;oBACzB,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;iBAC3E,CAAC,CAAC;YACL,CAAC;YAED,oGAAoG;YACpG,6FAA6F;YAC7F,MAAM,wBAAwB,GAC5B,KAAK,CAAC,QAAQ;gBACd,KAAK,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC;gBAC1B,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC;gBAClD,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;gBACtD,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;gBACnD,CAAC,CAAC,SAAS,CAAC;YAChB,MAAM,qBAAqB,GACzB,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC;gBAClD,CAAC,CAAC,KAAK,CAAC,YAAY;gBACpB,CAAC,CAAC,CAAC,wBAAwB,EAAE,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC;oBAC5C,CAAC,CAAC,wBAAwB;oBAC1B,CAAC,CAAC,SAAS,CAAC;YAElB,6EAA6E;YAC7E,IAAI,qBAAqB,IAAI,qBAAqB,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBAC/D,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACnD,OAAO,KAAK,CACV,kDAAkD;wBAChD,2DAA2D;wBAC3D,2DAA2D;wBAC3D,oCAAoC,CACvC,CAAC;gBACJ,CAAC;gBAED,MAAM,cAAc,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;gBAClD,IAAI,CAAC,cAAc,EAAE,CAAC;oBACpB,OAAO,KAAK,CACV,yDAAyD,CAC1D,CAAC;gBACJ,CAAC;gBAED,MAAM,sBAAsB,GAAG,qBAAqB,CAAC,MAAM,CACzD,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,OAAO,CAAC,MAAM,CAChC,CAAC;gBACF,IAAI,sBAAsB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACxC,OAAO,KAAK,CACV,qGAAqG,CACtG,CAAC;gBACJ,CAAC;gBAED,MAAM,iBAAiB,GAAsB,KAAK,CAAC,QAAQ,CAAC,GAAG,CAC7D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACN,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,EAAE;oBACxB,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,OAAO,EAAE,CAAC,CAAC,OAAO;iBACnB,CAAC,CACH,CAAC;gBAEF,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACpC,MAAM,kBAAkB,GAAG,cAAc,CAAC,QAAQ,EAAE,EAAE,YAAY,CAAC;gBACnE,kBAAkB,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;gBACnE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC;oBAC7C,aAAa,EAAE,qBAAqB;oBACpC,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,OAAO,EAAE,cAAc;oBACvB,oBAAoB,EAAE,iBAAiB;oBACvC,gBAAgB,EAAE,KAAK,CAAC,IAAI;oBAC5B,eAAe,EAAE,OAAO,CAAC,OAAO,IAAI,SAAS;oBAC7C,OAAO,EAAE;wBACP,aAAa,EAAE,OAAgB;wBAC/B,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACpE;iBACF,CAAC,CAAC;gBACH,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,gBAAgB,CAAC;gBACpD,kBAAkB,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC;gBAE5F,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC;oBAClD,OAAO,KAAK,CACV,MAAM,CAAC,KAAK,IAAI,gCAAgC,CACjD,CAAC;gBACJ,CAAC;gBAED,MAAM,OAAO,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;gBACxC,MAAM,SAAS,GACb,OAAO,CAAC,cAAc,EAAE,SAAS,IAAI,yBAAyB,CAAC;gBACjE,MAAM,UAAU,GACd,OAAO,OAAO,CAAC,cAAc,EAAE,UAAU,KAAK,QAAQ;oBACpD,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,UAAU;oBACnC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACvD,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC9C,MAAM,YAAY,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;gBAC/C,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC;gBAC3E,MAAM,eAAe,GAAG,YAAY;oBAClC,CAAC,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC;oBACtC,CAAC,CAAC,IAAI,CAAC;gBACT,MAAM,eAAe,GACnB,WAAW,EAAE,OAAO,EAAE,IAAI,IAAI,YAAY,IAAI,SAAS,CAAC;gBAE1D,yFAAyF;gBACzF,MAAM,aAAa,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;gBAChD,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC;gBAC7E,MAAM,eAAe,GAAI,YAAY,EAAE,OAAyC,EAAE,IAAI,CAAC;gBACvF,MAAM,iBAAiB,GAAI,YAAY,EAAE,OAAkD,EAAE,MAAM,IAAI,IAAI,CAAC;gBAC5G,MAAM,eAAe,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAErF,MAAM,aAAa,GAAG,qBAAqB,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACrE,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC;gBAC1D,MAAM,kBAAkB,GAAG,eAAe,EAAE,OAAO,IAAI,KAAK,CAAC;gBAC7D,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;gBAC7D,MAAM,YAAY,GAAG,aAAa;oBAChC,CAAC,CAAC;wBACE,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,2BAA2B,CAAC,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,IAAI,IAAI,SAAS,CAAC;qBACjG;oBACH,CAAC,CAAC;wBACE,IAAI,EAAE,KAAK;wBACX,IAAI,EAAE,2BAA2B,CAAC,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,IAAI,IAAI,SAAS,CAAC;wBAChG,MAAM,EAAE,OAAO,CAAC,MAAM;qBACvB,CAAC;gBAEN,MAAM,QAAQ,GACZ,CAAC,aAAa,IAAI,eAAe;oBAC/B,CAAC,CAAC,GAAG,eAAe,MAAM,eAAe,EAAE;oBAC3C,CAAC,CAAC,mBAAmB,eAAe,EAAE,CAAC;gBAE3C,MAAM,QAAQ,GAAG;oBACf,aAAa,EAAE,OAAO,CAAC,EAAE;oBACzB,MAAM,EAAE,YAAY;oBACpB,IAAI,EAAE,eAAe;oBACrB,MAAM,EACJ,eAAe,EAAE,MAAM;wBACtB,WAAW,EAAE,OAAkD;4BAC9D,EAAE,MAAM;wBACV,IAAI;oBACN,QAAQ,EAAE,wBAAwB,CAChC,SAAS,EACT,eAAe,EACf,2BAA2B,EAC3B,SAAS,EAAE,8EAA8E;oBACzF,cAAc,EAAE,IAAI,IAAI,SAAS,CAClC;oBACD,GAAG,EAAE,kCAAkC;oBACvC,QAAQ;oBACR,kBAAkB;oBAClB,oBAAoB,EAAE,sBAAsB;oBAC5C,kBAAkB,EAAE,sBAAsB;oBAC1C,YAAY;oBACZ,UAAU;oBACV,OAAO,EAAE,kBAAkB;oBAC3B,KAAK,EAAE,UAAU;oBACjB,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,OAAO;oBACjC,GAAG,CAAC,CAAC,aAAa,IAAI,eAAe;wBACnC,CAAC,CAAC;4BACE,WAAW,EAAE;gCACX,IAAI,EAAE,eAAe;gCACrB,MAAM,EAAE,eAAe,EAAE,MAAM,IAAI,iBAAiB;gCACpD,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;6BACpD;yBACF;wBACH,CAAC,CAAC,EAAE,CAAC;iBACR,CAAC;gBACF,MAAM,KAAK,GACT,UAAU,GAAG,eAAe;oBAC5B,wBAAwB,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;oBAClD,IAAI,GAAG,UAAU,CAAC;gBAEpB,OAAO,OAAO,CAAC;oBACb,KAAK,EAAE,IAAI;oBACX,KAAK,EAAE,CAAC;oBACR,OAAO,EAAE,4BAA4B;oBACrC,OAAO,EACL,+DAA+D;wBAC/D,UAAU;wBACV,gGAAgG;wBAChG,KAAK;oBACP,aAAa,EAAE;wBACb;4BACE,aAAa,EAAE,OAAO,CAAC,EAAE;4BACzB,WAAW,EAAE,SAAS;4BACtB,KAAK,EAAE,UAAU;4BACjB,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,OAAO;yBAClC;qBACF;oBACD,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,YAAY,IAAI,EAAE,EAAE,CAAC;iBACvG,CAAC,CAAC;YACL,CAAC;YAED,uBAAuB;YACvB,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YAEpD,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,IAAI,KAAK,CAAC,QAAQ,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC/F,OAAO,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC5C,CAAC;YAED,IAAI,UAAoB,CAAC;YACzB,MAAM,kBAAkB,GAAqG,EAAE,CAAC;YAChI,IAAI,gBAAgB,EAAE,CAAC;gBACrB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBACvC,OAAO,KAAK,CAAC,0BAA0B,CAAC,CAAC;gBAC3C,CAAC;gBACD,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACpC,MAAM,iCAAiC,GAAG,cAAc,CAAC,QAAQ,EAAE,EAAE,YAAY,CAAC;gBAClF,iCAAiC,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBACvF,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC;oBACvD,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,OAAO,EAAE,gBAAgB;oBACzB,aAAa,EAAE,MAAe;iBAC/B,CAAC,CAAC;gBACH,MAAM,uBAAuB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,gBAAgB,CAAC;gBAC9D,iCAAiC,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,kBAAkB,EAAE,UAAU,EAAE,uBAAuB,EAAE,CAAC,CAAC;gBAC1H,kBAAkB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,UAAU,EAAE,uBAAuB,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;gBACvG,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;oBACvB,OAAO,KAAK,CAAC,0CAA0C,CAAC,CAAC;gBAC3D,CAAC;gBACD,UAAU,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAClC,CAAC;iBAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC3B,4DAA4D;gBAC5D,UAAU,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACN,qDAAqD;gBACrD,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACpC,MAAM,uBAAuB,GAAG,cAAc,CAAC,QAAQ,EAAE,EAAE,YAAY,CAAC;gBACxE,uBAAuB,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;gBAClE,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;oBAC5C,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,aAAa,EAAE,MAAe;oBAC9B,OAAO,EAAE,IAAI;iBACd,CAAC,CAAC;gBACH,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,gBAAgB,CAAC;gBACpD,uBAAuB,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC;gBAC3F,kBAAkB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;gBAClF,UAAU,GAAG,CAAC,WAAW,CAAC,UAAU,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CACvD,CAAC,CAAsB,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CACtC,CAAC;YACJ,CAAC;YAED,MAAM,cAAc,GAA6C;gBAC/D,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,YAAY,EAAE;aAC1E,CAAC;YAEF,MAAM,eAAe,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;YAC5D,IAAI,eAAe,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;gBACjE,OAAO,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC5C,CAAC;YAED,IAAI,KAAK,CAAC,iBAAiB,EAAE,IAAI,EAAE,IAAI,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;gBACzF,OAAO,KAAK,CAAC,gFAAgF,CAAC,CAAC;YACjG,CAAC;YAED,MAAM,qBAAqB,GAAG,cAAc,CAAC,QAAQ,EAAE,EAAE,YAAY,CAAC;YACtE,MAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvC,qBAAqB,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;YACtE,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC;gBACxC,gBAAgB,EAAE,MAAM,CAAC,WAAW;gBACpC,QAAQ;gBACR,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,KAAK,EAAE,WAAW;gBAClB,UAAU;gBACV,KAAK,EAAE,EAAE;gBACT,cAAc,EAAE,IAAI,EAAE,gEAAgE;gBACtF,eAAe;gBACf,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,SAAS;gBACrD,gBAAgB,EAAE,KAAK,CAAC,iBAAiB,EAAE,IAAI,EAAE,IAAI,SAAS;gBAC9D,KAAK;gBACL,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACnE,CAAC,CAAC;YACH,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,mBAAmB,CAAC;YAC1D,qBAAqB,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC,CAAC;YAClG,MAAM,qBAAqB,GAAG;gBAC5B,GAAG,kBAAkB;gBACrB,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,EAAE,EAAE,EAAE;aAClE,CAAC;YAEF,MAAM,aAAa,GAAG;gBACpB,GAAG,cAAc;gBACjB,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;aAC7B,CAAC;YAEF,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC;YAE3D,IAAI,MAAM,CAAC,qBAAqB,IAAI,MAAM,CAAC,0BAA0B,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC3F,OAAO,OAAO,CAAC;oBACb,KAAK,EAAE,KAAK;oBACZ,KAAK,EAAE,CAAC;oBACR,qBAAqB,EAAE,IAAI;oBAC3B,0BAA0B,EAAE,MAAM,CAAC,0BAA0B;oBAC7D,OAAO,EACL,sHAAsH;oBACxH,OAAO,EAAE,kBAAkB;oBAC3B,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC/D,UAAU,EAAE,aAAa;oBACzB,aAAa,EAAE,qBAAqB;iBACrC,CAAC,CAAC;YACL,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBAClB,OAAO,OAAO,CAAC;oBACb,KAAK,EAAE,KAAK;oBACZ,KAAK,EAAE,CAAC;oBACR,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,kCAAkC;oBAC7D,OAAO,EAAE,kBAAkB;oBAC3B,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC/D,UAAU,EAAE,aAAa;oBACzB,aAAa,EAAE,qBAAqB;iBACrC,CAAC,CAAC;YACL,CAAC;YAED,qEAAqE;YACrE,MAAM,UAAU,GAAG,MAAM,CAAC,6BAA6B,IAAI,MAAM,CAAC,mBAAmB,IAAI,EAAE,CAAC;YAC5F,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvE,OAAO,OAAO,CAAC;oBACb,KAAK,EAAE,IAAI;oBACX,KAAK,EAAE,CAAC;oBACR,OAAO,EACL,MAAM,CAAC,OAAO;wBACd,oEAAoE;4BAClE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;4BAClF,2BAA2B;oBAC/B,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;oBAC/C,OAAO,EAAE,4CAA4C;oBACrD,UAAU,EAAE,aAAa;oBACzB,aAAa,EAAE,qBAAqB;iBACrC,CAAC,CAAC;YACL,CAAC;YAED,6EAA6E;YAC7E,2EAA2E;YAC3E,MAAM,iBAAiB,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBACjE,MAAM,QAAQ,GAAG;oBACf,aAAa,EAAE,GAAG,CAAC,aAAa;oBAChC,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,QAAQ,EACN,GAAG,CAAC,oBAAoB,EAAE,mBAAmB;wBAC7C,GAAG,CAAC,WAAW;wBACf,EAAE;oBACJ,GAAG,EAAE,GAAG,CAAC,oBAAoB,EAAE,eAAe;oBAC9C,QAAQ,EAAE,GAAG,CAAC,oBAAoB,EAAE,QAAQ;oBAC5C,kBAAkB,EAAE,GAAG,CAAC,oBAAoB,EAAE,kBAAkB;oBAChE,oBAAoB,EAAE,GAAG,CAAC,oBAAoB,EAAE,oBAAoB;oBACpE,kBAAkB,EAAE,GAAG,CAAC,oBAAoB,EAAE,kBAAkB;oBAChE,YAAY,EAAE,GAAG,CAAC,YAAY;oBAC9B,UAAU,EAAE,GAAG,CAAC,UAAU;oBAC1B,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,KAAK;oBAC7B,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,GAAG,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC;iBACzD,CAAC;gBACF,OAAO,CACL,UAAU,GAAG,eAAe;oBAC5B,wBAAwB,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;oBAClD,IAAI,GAAG,UAAU,CAClB,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,4EAA4E;YAC5E,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;YACvE,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;YAEvE,mFAAmF;YACnF,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAChD,IAAI,OAAO,GACT,QAAQ;gBACR,eAAe,CAAC,MAAM;gBACtB,6DAA6D,GAAG,UAAU,GAAG,gGAAgG;gBAC7K,UAAU,CAAC;YACb,MAAM,kBAAkB,GAAG,MAAM,CAAC,6BAA6B,IAAI,MAAM,CAAC,mBAAmB,IAAI,EAAE,CAAC;YACpG,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClC,OAAO;oBACL,0CAA0C;wBAC1C,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;wBAC1F,2BAA2B,CAAC;YAChC,CAAC;YAED,MAAM,cAAc,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,IAAI,CAAC,CAAC,GAAG,YAAY,CAAC;YAC1E,IAAI,cAAc,GAAG,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE,WAAW,EAAE,CAAC;gBACzD,OAAO,IAAI,iBAAiB,cAAc,iJAAiJ,MAAM,CAAC,UAAU,CAAC,WAAW,IAAI,CAAC;YAC/N,CAAC;iBAAM,IAAI,gBAAgB,EAAE,CAAC;gBAC5B,OAAO,IAAI,wEAAwE,CAAC;YACtF,CAAC;iBAAM,CAAC;gBACN,OAAO,IAAI,oTAAoT,CAAC;YAClU,CAAC;YAED,OAAO,OAAO,CAAC;gBACb,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,eAAe,CAAC,MAAM;gBAC7B,OAAO;gBACP,OAAO,EAAE,SAAS,eAAe,CAAC,MAAM,YAAY;gBACpD,GAAG,CAAC,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/D,UAAU,EAAE,aAAa;gBACzB,yEAAyE;gBACzE,2EAA2E;gBAC3E,mFAAmF;gBACnF,GAAG,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,gBAAgB;oBACzD,CAAC,CAAC;wBACE,kCAAkC,EAAE,IAAI;wBACxC,0BAA0B,EAAE,WAAW;qBACxC;oBACH,CAAC,CAAC,EAAE,CAAC;gBACP,aAAa,EAAE,qBAAqB;aACrC,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,UAAU,CAAC;QACnC,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,oKAAoK;QACtK,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,2DAA2D,CAAC;SACzE,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;YACpC,6EAA6E;YAC7E,IACE,OAAO,CAAC,OAAO;gBACf,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;gBACrB,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,OAAO,CAAC,OAAO,EACxC,CAAC;gBACD,OAAO,KAAK,CACV,yBAAyB;oBACvB,CAAC,OAAO,CAAC,SAAS,IAAI,YAAY,CAAC;oBACnC,wDAAwD,CAC3D,CAAC;YACJ,CAAC;YAED,MAAM,gBAAgB,GACpB,CAAC,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,IAAI,SAAS,CAAC;YAC1D,IAAI,gBAAgB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC3D,OAAO,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAC3C,CAAC;YAED,qFAAqF;YACrF,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,uBAAuB,CAC1D,OAAO,CAAC,MAAM,EACd;gBACE,OAAO,EAAE,gBAAgB;gBACzB,KAAK,EAAE,kBAAkB;aAC1B,CACF,CAAC;YAEF,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACjD,OAAO,OAAO,CAAC;oBACb,KAAK,EAAE,KAAK;oBACZ,KAAK,EAAE,CAAC;oBACR,OAAO,EAAE,sBAAsB;oBAC/B,OAAO,EACL,8EAA8E;iBACjF,CAAC,CAAC;YACL,CAAC;YAED,yFAAyF;YACzF,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;YAC7C,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;YAC5C,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;gBAChC,MAAM,gBAAgB,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,CAC9D,CAAC;gBACF,IAAI,gBAAgB,EAAE,MAAM;oBAAE,kBAAkB,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBAC9E,MAAM,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CACrC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAC9D,CAAC;gBACF,IAAI,eAAe,EAAE,MAAM;oBAAE,iBAAiB,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAC7E,CAAC;YACD,MAAM,UAAU,GAAG;gBACjB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,kBAAkB,EAAE,GAAG,iBAAiB,CAAC,CAAC;aAC1D,CAAC;YACF,MAAM,CAAC,UAAU,EAAE,cAAc,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAClE,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;gBAChC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC5D,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;aAC1D,CAAC,CAAC;YACH,MAAM,UAAU,GAAG,UAAU,EAAE,IAAI,IAAI,SAAS,CAAC;YACjD,MAAM,UAAU,GAAG,IAAI,GAAG,EAA2D,CAAC;YACtF,MAAM,OAAO,GAAG,IAAI,GAAG,EAAwD,CAAC;YAChF,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC/B,MAAM,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;gBAC1C,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;gBACpC,IAAI,OAAO;oBAAE,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC7C,IAAI,IAAI;oBAAE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;YAEH,MAAM,iBAAiB,GAAa,EAAE,CAAC;YACvC,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;YAC7C,MAAM,YAAY,GAAoD,EAAE,CAAC;YAEzE,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;gBAChC,IAAI,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBAAE,SAAS;gBAC7C,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC/B,IAAI,CAAC;oBACH,MAAM,gBAAgB,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,CAC9D,CAAC;oBACF,MAAM,iBAAiB,GAAG,gBAAgB,EAAE,MAAM,CAAC;oBACnD,IAAI,CAAC,iBAAiB;wBAAE,SAAS;oBAEjC,MAAM,sBAAsB,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAC5C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAC9D,CAAC;oBACF,MAAM,2BAA2B,GAAG,sBAAsB;wBACxD,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CACb,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM;4BAC3B,CAAC,CAAC,MAAM,KAAK,iBAAiB;4BAC9B,CAAC,CAAC,IAAI,KAAK,YAAY,CAC1B;wBACH,CAAC,CAAC,SAAS,CAAC;oBACd,MAAM,0BAA0B,GAAG,2BAA2B;wBAC5D,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,2BAA2B,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI;4BACnE,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,MAAM,CAAC,EAAE,IAAI;4BACrD,SAAS,CAAC;wBACZ,CAAC,CAAC,SAAS,CAAC;oBAEd,MAAM,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CACrC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAC9D,CAAC;oBACF,MAAM,aAAa,GAAG,GAAG,CAAC,SAAS,CAAC,aAAa,CAAC;oBAElD,MAAM,kBAAkB,GAAG,UAAU,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC;oBACrE,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC;oBAC/D,MAAM,iBAAiB,GACrB,eAAe,IAAI,CAAC,aAAa;wBAC/B,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,IAAI;wBAChD,CAAC,CAAC,IAAI,CAAC;oBAEX,MAAM,eAAe,GACnB,kBAAkB,EAAE,QAAQ,EAAE,IAAI;wBAClC,eAAe,EAAE,IAAI;wBACrB,SAAS,CAAC;oBACZ,MAAM,cAAc,GAClB,aAAa;wBACb,CAAC,eAAe,CAAC,CAAC,CAAC,iBAAiB,EAAE,QAAQ,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBACvE,MAAM,cAAc,GAAG,eAAe;wBACpC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,IAAI;wBAC7C,CAAC,CAAC,IAAI,CAAC;oBAET,MAAM,eAAe,GAAG,2BAA2B;wBACjD,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,MAAM,CAAC,IAAI,IAAI;wBACzD,CAAC,CAAC,IAAI,CAAC;oBACT,MAAM,QAAQ,GAAG,2BAA2B,CAC1C,GAAG,EACH,OAAO,CAAC,MAAM,EACd,iBAAiB,EACjB,eAAe,EACf,eAAe,EAAE,MAAM,IAAI,IAAI,EAC/B,cAAc,EACd,cAAc,EAAE,MAAM,IAAI,IAAI,EAC9B,UAAU,EACV,0BAA0B,EAC1B,eAAe,EAAE,MAAM,IAAI,IAAI,EAC/B,2BAA2B,EAAE,MAAM,CACpC,CAAC;oBAEF,iBAAiB,CAAC,IAAI,CACpB,UAAU,GAAG,eAAe;wBAC1B,wBAAwB,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;wBAClD,IAAI,GAAG,UAAU,CACpB,CAAC;gBACJ,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAChE,MAAM,CAAC,IAAI,CAAC,wDAAwD,EAAE;wBACpE,aAAa,EAAE,GAAG,CAAC,EAAE;wBACrB,KAAK,EAAE,MAAM;qBACd,CAAC,CAAC;oBACH,YAAY,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;oBAC5D,SAAS;gBACX,CAAC;YACH,CAAC;YAED,MAAM,cAAc,GAA6E,EAAE,CAAC;YACpG,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,cAAc,CAAC,IAAI,CAAC;oBAClB,IAAI,EAAE,mBAAmB;oBACzB,MAAM,EAAE,GAAG,YAAY,CAAC,MAAM,sCAAsC;oBACpE,IAAI,EAAE;wBACJ,YAAY,EAAE,YAAY,CAAC,MAAM;wBACjC,kBAAkB,EAAE,aAAa,CAAC,MAAM;wBACxC,MAAM,EAAE,YAAY;qBACrB;iBACF,CAAC,CAAC;YACL,CAAC;YAED,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5B,OAAO,OAAO,CAAC;wBACb,KAAK,EAAE,KAAK;wBACZ,KAAK,EAAE,CAAC;wBACR,OAAO,EAAE,0CAA0C;wBACnD,OAAO,EACL,oEAAoE;wBACtE,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACjE,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO,OAAO,CAAC;oBACb,KAAK,EAAE,KAAK;oBACZ,KAAK,EAAE,CAAC;oBACR,OAAO,EAAE,sBAAsB;oBAC/B,OAAO,EACL,8EAA8E;iBACjF,CAAC,CAAC;YACL,CAAC;YAED,mFAAmF;YACnF,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAElD,OAAO,OAAO,CAAC;gBACb,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,iBAAiB,CAAC,MAAM;gBAC/B,OAAO,EAAE,YAAY,iBAAiB,CAAC,MAAM,mBAAmB;gBAChE,OAAO,EACL,WAAW;oBACX,iBAAiB,CAAC,MAAM;oBACxB,sDAAsD;oBACtD,UAAU;oBACV,gGAAgG;oBAChG,UAAU;gBACZ,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACjE,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,UAAU,CAAC;QACnC,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,kOAAkO;QACpO,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,aAAa,EAAE,CAAC;iBACb,MAAM,EAAE;iBACR,QAAQ,CAAC,wCAAwC,CAAC;YACrD,MAAM,EAAE,CAAC;iBACN,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;iBACpD,QAAQ,CACP,+DAA+D,CAChE;SACJ,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;YACpC,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC;YAClD,IAAI,CAAC,aAAa,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;gBACtD,OAAO,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAChD,CAAC;YAED,2FAA2F;YAC3F,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;gBACjE,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,OAAO,KAAK,CAAC,wBAAwB,CAAC,CAAC;gBACzC,CAAC;gBACD,MAAM,kBAAkB,GAAG,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC;gBACxD,IAAI,CAAC,kBAAkB,IAAI,kBAAkB,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC;oBAClE,OAAO,KAAK,CAAC,wBAAwB,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;YAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC;YAC1C,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACrC,MAAM,mBAAmB,GAAG,cAAc,CAAC,QAAQ,EAAE,EAAE,YAAY,CAAC;YACpE,mBAAmB,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;YACpE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC;gBAC7C,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,aAAa,EAAE,MAAM,CAAC,CAAC,CAAE,MAAgB,CAAC,CAAC,CAAE,QAAkB;gBAC/D,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;aAC/C,CAAC,CAAC;YACH,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,iBAAiB,CAAC;YACtD,mBAAmB,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC,CAAC;YAE9F,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;gBAC1B,IAAI,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;oBAClC,OAAO,OAAO,CAAC;wBACb,aAAa,EAAE,MAAM,CAAC,cAAc,CAAC,aAAa;wBAClD,MAAM,EAAE,KAAK,CAAC,MAAM;wBACpB,OAAO,EAAE,MAAM,CAAC,cAAc,CAAC,OAAO;wBACtC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,IAAI;4BACpC,QAAQ,EAAE,MAAM,CAAC,cAAc,CAAC,QAAQ;yBACzC,CAAC;wBACF,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,YAAY,IAAI,EAAE,EAAE,CAAC;qBACxG,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO,KAAK,CACV,MAAM,CAAC,cAAc,CAAC,KAAK,IAAI,+BAA+B,CAC/D,CAAC;YACJ,CAAC;YACD,OAAO,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAChD,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,CAAC,mBAAmB,EAAE,iBAAiB,EAAE,iBAAiB,CAAU,CAAC;AAC9E,CAAC"}
1
+ {"version":3,"file":"opportunity.tools.js","sourceRoot":"","sources":["../../src/tools/opportunity.tools.ts"],"names":[],"mappings":"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"}
@@ -25,34 +25,34 @@ export function createProfileTools(defineTool, deps) {
25
25
  }
26
26
  const readUserProfiles = defineTool({
27
27
  name: "read_user_profiles",
28
- description: "Find or read user profiles. When the user asks to find, look up, or learn about a specific person by name, use `query` — this is the primary way to look up people by name. With `query`: finds members by name (case-insensitive) across the user's indexes (or a specific index if `indexId` also provided). With `userId`: returns that user's profile. With `indexId` alone: returns profiles of all members in that index. In an index-scoped chat, no args returns the current user's profile. Outside an index-scoped chat, at least one parameter is required.",
28
+ description: "Find or read user profiles. When the user asks to find, look up, or learn about a specific person by name, use `query` — this is the primary way to look up people by name. With `query`: finds members by name (case-insensitive) across the user's indexes (or a specific index if `networkId` also provided). With `userId`: returns that user's profile. With `networkId` alone: returns profiles of all members in that index. In an index-scoped chat, no args returns the current user's profile. Outside an index-scoped chat, at least one parameter is required.",
29
29
  querySchema: z.object({
30
30
  userId: z.string().optional().describe("Optional user ID to fetch a specific user's profile"),
31
- indexId: z.string().optional().describe("Optional index ID to fetch profiles of all members in that index"),
32
- query: z.string().optional().describe("Name to find (case-insensitive substring match). Searches across the user's indexes, or within a specific index if indexId is also provided."),
31
+ networkId: z.string().optional().describe("Optional index ID to fetch profiles of all members in that index"),
32
+ query: z.string().optional().describe("Name to find (case-insensitive substring match). Searches across the user's indexes, or within a specific index if networkId is also provided."),
33
33
  }),
34
34
  handler: async ({ context, query }) => {
35
- const effectiveIndexId = query.indexId?.trim() || undefined;
35
+ const effectiveIndexId = query.networkId?.trim() || undefined;
36
36
  const targetUserId = query.userId?.trim() || undefined;
37
37
  const nameQuery = query.query?.trim() || undefined;
38
38
  if (effectiveIndexId && !UUID_REGEX.test(effectiveIndexId)) {
39
- return error("Invalid index ID format. Use the exact UUID from read_indexes.");
39
+ return error("Invalid network ID format. Use the exact UUID from read_networks.");
40
40
  }
41
41
  // --- Name search mode: query provided → find members by name ---
42
42
  if (nameQuery) {
43
43
  const pattern = nameQuery.toLowerCase();
44
44
  const MAX_RESULTS = 20;
45
45
  // When chat is index-scoped, restrict name search to that index
46
- const searchIndexId = effectiveIndexId || context.indexId || undefined;
46
+ const searchIndexId = effectiveIndexId || context.networkId || undefined;
47
47
  let candidates;
48
48
  if (searchIndexId) {
49
49
  // Scoped to a specific index
50
- if (context.indexId && searchIndexId !== context.indexId) {
50
+ if (context.networkId && searchIndexId !== context.networkId) {
51
51
  return error(context.indexName
52
52
  ? `This chat is scoped to ${context.indexName}. You can only look up people in this community.`
53
53
  : `This chat is scoped to this index. You can only look up people in this community.`);
54
54
  }
55
- const callerIsMember = await systemDb.isIndexMember(searchIndexId, context.userId);
55
+ const callerIsMember = await systemDb.isNetworkMember(searchIndexId, context.userId);
56
56
  if (!callerIsMember) {
57
57
  return error("You can only look up people in indexes you are a member of.");
58
58
  }
@@ -96,20 +96,20 @@ export function createProfileTools(defineTool, deps) {
96
96
  }));
97
97
  return success({ query: nameQuery, matchCount: profiles.length, profiles });
98
98
  }
99
- // Guard: when chat is NOT index-scoped and no userId/indexId provided, disallow
100
- if (!effectiveIndexId && !targetUserId && !context.indexId) {
101
- return error("Please provide a userId, indexId, or query. Outside of an index-scoped chat, read_user_profiles requires at least one of these parameters. To read your own profile, pass your own userId.");
99
+ // Guard: when chat is NOT index-scoped and no userId/networkId provided, disallow
100
+ if (!effectiveIndexId && !targetUserId && !context.networkId) {
101
+ return error("Please provide a userId, networkId, or query. Outside of an index-scoped chat, read_user_profiles requires at least one of these parameters. To read your own profile, pass your own userId.");
102
102
  }
103
- // --- Mode 3: indexId provided → fetch all member profiles ---
103
+ // --- Mode 3: networkId provided → fetch all member profiles ---
104
104
  if (effectiveIndexId) {
105
105
  // Strict scope enforcement: when chat is index-scoped, only allow querying that index
106
- if (context.indexId && effectiveIndexId !== context.indexId) {
106
+ if (context.networkId && effectiveIndexId !== context.networkId) {
107
107
  return error(context.indexName
108
108
  ? `This chat is scoped to ${context.indexName}. You can only read profiles from this community.`
109
109
  : `This chat is scoped to this index. You can only read profiles from this community.`);
110
110
  }
111
111
  // Verify the caller is a member of the index they're querying
112
- const callerIsMember = await systemDb.isIndexMember(effectiveIndexId, context.userId);
112
+ const callerIsMember = await systemDb.isNetworkMember(effectiveIndexId, context.userId);
113
113
  if (!callerIsMember) {
114
114
  return error("You can only read profiles from indexes you are a member of.");
115
115
  }
@@ -132,13 +132,13 @@ export function createProfileTools(defineTool, deps) {
132
132
  : undefined,
133
133
  };
134
134
  }));
135
- return success({ indexId: effectiveIndexId, memberCount: members.length, profiles });
135
+ return success({ networkId: effectiveIndexId, memberCount: members.length, profiles });
136
136
  }
137
137
  // --- Mode 2: userId provided (different user) → fetch single profile directly ---
138
138
  if (targetUserId && targetUserId !== context.userId) {
139
139
  // Strict scope enforcement: when chat is index-scoped, verify user is in that index
140
- if (context.indexId) {
141
- const isInScopedIndex = await systemDb.isIndexMember(context.indexId, targetUserId);
140
+ if (context.networkId) {
141
+ const isInScopedIndex = await systemDb.isNetworkMember(context.networkId, targetUserId);
142
142
  if (!isInScopedIndex) {
143
143
  return error(context.indexName
144
144
  ? `This chat is scoped to ${context.indexName}. You can only read profiles of members in this community.`
@@ -496,15 +496,15 @@ export function createProfileTools(defineTool, deps) {
496
496
  .split(',')
497
497
  .map(id => id.trim())
498
498
  .filter(Boolean);
499
- for (const indexId of autoJoinIds) {
499
+ for (const networkId of autoJoinIds) {
500
500
  try {
501
- await database.addMemberToIndex(indexId, context.userId, 'member');
501
+ await database.addMemberToNetwork(networkId, context.userId, 'member');
502
502
  }
503
503
  catch (err) {
504
- logger.warn('Auto-join index failed (non-fatal)', { indexId, userId: context.userId, error: err instanceof Error ? err.message : String(err) });
504
+ logger.warn('Auto-join network failed (non-fatal)', { networkId, userId: context.userId, error: err instanceof Error ? err.message : String(err) });
505
505
  }
506
506
  }
507
- logger.info("Onboarding completed", { userId: context.userId, autoJoinedIndexes: autoJoinIds.length });
507
+ logger.info("Onboarding completed", { userId: context.userId, autoJoinedNetworks: autoJoinIds.length });
508
508
  return success({ message: "Onboarding complete." });
509
509
  },
510
510
  });
@@ -1 +1 @@
1
- {"version":3,"file":"profile.tools.js","sourceRoot":"","sources":["../../src/tools/profile.tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profile.tools.js","sourceRoot":"","sources":["../../src/tools/profile.tools.ts"],"names":[],"mappings":"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"}