@cyanheads/hn-mcp-server 0.5.20 → 0.5.22

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 (36) hide show
  1. package/AGENTS.md +19 -18
  2. package/CLAUDE.md +19 -18
  3. package/Dockerfile +93 -35
  4. package/README.md +19 -14
  5. package/changelog/0.5.x/0.5.21.md +38 -0
  6. package/changelog/0.5.x/0.5.22.md +45 -0
  7. package/dist/mcp-server/tools/definitions/get-stories.tool.d.ts.map +1 -1
  8. package/dist/mcp-server/tools/definitions/get-stories.tool.js +23 -12
  9. package/dist/mcp-server/tools/definitions/get-stories.tool.js.map +1 -1
  10. package/dist/mcp-server/tools/definitions/get-thread.tool.d.ts +3 -2
  11. package/dist/mcp-server/tools/definitions/get-thread.tool.d.ts.map +1 -1
  12. package/dist/mcp-server/tools/definitions/get-thread.tool.js +194 -104
  13. package/dist/mcp-server/tools/definitions/get-thread.tool.js.map +1 -1
  14. package/dist/mcp-server/tools/definitions/get-user.tool.d.ts.map +1 -1
  15. package/dist/mcp-server/tools/definitions/get-user.tool.js +22 -9
  16. package/dist/mcp-server/tools/definitions/get-user.tool.js.map +1 -1
  17. package/dist/mcp-server/tools/definitions/search-content.tool.d.ts +93 -0
  18. package/dist/mcp-server/tools/definitions/search-content.tool.d.ts.map +1 -1
  19. package/dist/mcp-server/tools/definitions/search-content.tool.js +326 -63
  20. package/dist/mcp-server/tools/definitions/search-content.tool.js.map +1 -1
  21. package/dist/mcp-server/tools/served-at-cap.d.ts +14 -0
  22. package/dist/mcp-server/tools/served-at-cap.d.ts.map +1 -0
  23. package/dist/mcp-server/tools/served-at-cap.js +16 -0
  24. package/dist/mcp-server/tools/served-at-cap.js.map +1 -0
  25. package/dist/mcp-server/tools/thread-cursor.d.ts +68 -0
  26. package/dist/mcp-server/tools/thread-cursor.d.ts.map +1 -0
  27. package/dist/mcp-server/tools/thread-cursor.js +200 -0
  28. package/dist/mcp-server/tools/thread-cursor.js.map +1 -0
  29. package/dist/services/hn/hn-service.d.ts +29 -4
  30. package/dist/services/hn/hn-service.d.ts.map +1 -1
  31. package/dist/services/hn/hn-service.js +58 -25
  32. package/dist/services/hn/hn-service.js.map +1 -1
  33. package/dist/services/hn/types.d.ts +9 -0
  34. package/dist/services/hn/types.d.ts.map +1 -1
  35. package/package.json +13 -12
  36. package/server.json +10 -24
@@ -4,14 +4,30 @@
4
4
  * @module mcp-server/tools/definitions/get-thread.tool
5
5
  */
6
6
  import { tool, z } from '@cyanheads/mcp-ts-core';
7
- import { invalidParams, JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
8
- import { decodeCursor, encodeCursor } from '@cyanheads/mcp-ts-core/utils';
7
+ import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
9
8
  import { escapeInline, quoteBody } from '../markdown-escape.js';
9
+ import { servedAtCap } from '../served-at-cap.js';
10
+ import { decodeThreadCursor, encodeThreadCursor, } from '../thread-cursor.js';
10
11
  import { decodeHtmlEntities, getHnService, isRateLimited, normalizeUrl, stripHtml, } from '../../../services/hn/hn-service.js';
11
- /** Largest `maxComments` accepts, mirrored in the input schema. */
12
- const MAX_COMMENTS = 200;
13
- /** Largest `depth` accepts, mirrored in the input schema. */
14
- const MAX_DEPTH = 10;
12
+ /** Most comments one call returns; a larger `maxComments` is served at this cap. */
13
+ const MAX_COMMENTS_CAP = 200;
14
+ /** Largest `maxComments` accepted; anything above it is rejected. */
15
+ const MAX_COMMENTS_CEILING = 1000;
16
+ /**
17
+ * Most reply levels one call resolves; a larger `depth` is served at this cap.
18
+ * Every issued cursor carries a depth at or below it, so it also bounds the
19
+ * depth a cursor may claim.
20
+ */
21
+ const DEPTH_CAP = 10;
22
+ /** Largest `depth` accepted; anything above it is rejected. */
23
+ const DEPTH_CEILING = 100;
24
+ /**
25
+ * Most dead or deleted comments a notice names when the depth limit cut their
26
+ * replies and a larger depth still reaches the rest. At the depth cap an ID is
27
+ * the only way into those replies, so every one is named — at most the items
28
+ * one call examines.
29
+ */
30
+ const OMITTED_IDS_NAMED = 10;
15
31
  /**
16
32
  * Byte budget for the rendered `format()` text. Checked between comments, so a
17
33
  * page never ends mid-comment, and the first comment on a page is always kept.
@@ -25,6 +41,17 @@ const FETCH_CHUNK = 25;
25
41
  * them would run unbounded.
26
42
  */
27
43
  const MAX_ITEMS_EXAMINED = 1_000;
44
+ /**
45
+ * Most `parent` links one call follows to find a comment root's story. The
46
+ * deepest comment in 22 of HN's largest threads is 32 links below its story.
47
+ */
48
+ const MAX_STORY_HOPS = 64;
49
+ /**
50
+ * The story lookup ends this long after the call starts, its retries and
51
+ * backoff included, so a slow root fetch leaves it less time rather than
52
+ * stretching the call.
53
+ */
54
+ const STORY_LOOKUP_DEADLINE_MS = 20_000;
28
55
  // ---------------------------------------------------------------------------
29
56
  // Schemas
30
57
  // ---------------------------------------------------------------------------
@@ -53,11 +80,18 @@ const ItemSchema = z
53
80
  url: z.string().optional().describe('External link URL.'),
54
81
  text: z.string().optional().describe('Body text (HTML stripped).'),
55
82
  score: z.number().optional().describe('Upvote count.'),
56
- descendants: z.number().optional().describe('Total comment count.'),
83
+ descendants: z
84
+ .number()
85
+ .optional()
86
+ .describe("HN's count of live comments in the thread; dead and deleted comments are not counted."),
57
87
  parent: z
58
88
  .number()
59
89
  .optional()
60
90
  .describe('For a comment root, the ID of the story or comment it replies to — pass it as itemId for the context above.'),
91
+ storyId: z
92
+ .number()
93
+ .optional()
94
+ .describe('For a comment root, the ID of the story or poll its discussion belongs to — pass it as itemId for the whole thread, or as storyId to hn_search_content. Absent for other roots, and when the story could not be found (notice says why).'),
61
95
  poll: z.number().optional().describe('For a poll-option root, the ID of its poll.'),
62
96
  parts: z.array(z.number()).optional().describe('For a poll root, its option IDs in HN order.'),
63
97
  deleted: z
@@ -81,14 +115,16 @@ const CommentSchema = z
81
115
  time: z.number().optional().describe('Unix timestamp.'),
82
116
  text: z.string().optional().describe('Comment text (HTML stripped).'),
83
117
  depth: z.number().describe('Nesting level (0 = direct reply to root).'),
84
- parentId: z.number().describe('Parent item ID.'),
118
+ parentId: z
119
+ .number()
120
+ .describe('Parent item ID: the root or another comment. It can name a dead or deleted comment, which this list omits while still returning its replies; pass that ID as itemId to see it marked.'),
85
121
  childCount: z
86
122
  .number()
87
123
  .describe('Number of direct child comments (may exceed what was resolved).'),
88
124
  isOp: z
89
125
  .literal(true)
90
126
  .optional()
91
- .describe('Present and `true` when the comment author matches the root item author (OP replying within their own thread). Omitted otherwise — including when either author is missing. Most threads carry no OP replies, so absence is the common case; treat missing as "not OP" rather than unknown.'),
127
+ .describe('Present and `true` when the comment author submitted the story or poll the thread belongs to (OP replying within their own thread) — for a comment root, the story at item.storyId. Omitted otherwise, including when either author is missing. Most threads carry no OP replies, so absence usually means "not OP"; it means unknown when the thread\'s root has no author (a deleted story, for example) or when notice says replies are not marked.'),
92
128
  })
93
129
  .describe('A single comment in the thread with its tree position.');
94
130
  // ---------------------------------------------------------------------------
@@ -135,6 +171,7 @@ function renderRoot(item) {
135
171
  `id:${item.id}`,
136
172
  `type:${item.type}`,
137
173
  item.parent != null ? `parent:${item.parent}` : null,
174
+ item.storyId != null ? `story:${item.storyId}` : null,
138
175
  item.poll != null ? `poll:${item.poll}` : null,
139
176
  item.parts?.length ? `parts:${item.parts.join(',')}` : null,
140
177
  item.score != null ? `${item.score} pts` : null,
@@ -175,66 +212,6 @@ function renderThread(item, comments) {
175
212
  }
176
213
  return parts.join('\n');
177
214
  }
178
- const CursorStateSchema = z
179
- .object({
180
- offset: z.number().int().min(0),
181
- limit: z.number().int().min(1),
182
- itemId: z.number().int(),
183
- depth: z.number().int().min(1).max(MAX_DEPTH),
184
- /** Each group is `[level, parentId, ...ids]`. */
185
- frontier: z.array(z.array(z.number().int().min(0)).min(3)).min(1),
186
- depthCut: z.literal(true).optional(),
187
- })
188
- .refine((state) => state.frontier.every(([level = state.depth]) => level < state.depth));
189
- function encodeThreadCursor(state) {
190
- const groups = [];
191
- let group;
192
- for (const { id, level, parentId } of state.frontier) {
193
- if (group?.[0] === level && group[1] === parentId) {
194
- group.push(id);
195
- }
196
- else {
197
- group = [level, parentId, id];
198
- groups.push(group);
199
- }
200
- }
201
- return encodeCursor({
202
- offset: state.offset,
203
- limit: state.limit,
204
- itemId: state.itemId,
205
- depth: state.depth,
206
- frontier: groups,
207
- ...(state.depthCut && { depthCut: true }),
208
- });
209
- }
210
- function malformedCursor(cause) {
211
- return invalidParams('cursor is not one hn_get_thread issued, or it was altered.', {
212
- recovery: {
213
- hint: 'Pass nextCursor exactly as a previous hn_get_thread call returned it, or omit cursor to start the thread from the top.',
214
- },
215
- }, { cause });
216
- }
217
- /** Decode and validate a cursor; anything this tool did not issue is an input error. */
218
- function readCursor(cursor, ctx) {
219
- let decoded;
220
- try {
221
- decoded = decodeCursor(cursor, ctx);
222
- }
223
- catch (error) {
224
- throw malformedCursor(error);
225
- }
226
- const parsed = CursorStateSchema.safeParse(decoded);
227
- if (!parsed.success)
228
- throw malformedCursor(parsed.error);
229
- const { offset, itemId, depth, frontier, depthCut } = parsed.data;
230
- return {
231
- offset,
232
- itemId,
233
- depth,
234
- depthCut: depthCut === true,
235
- frontier: frontier.flatMap(([level = 0, parentId = 0, ...ids]) => ids.map((id) => ({ id, level, parentId }))),
236
- };
237
- }
238
215
  /**
239
216
  * Ranked BFS over the frontier: every comment at one depth before any at the
240
217
  * next, and HN's kids order within each parent. Fetches in chunks no larger
@@ -254,9 +231,20 @@ async function walkThread(hn, ctx, args) {
254
231
  let { rateLimit, usedBytes } = args;
255
232
  let omittedDeleted = 0;
256
233
  let omittedDead = 0;
257
- let depthCut = false;
234
+ let liveDepthCut = false;
235
+ const omittedDepthCut = [];
258
236
  let examined = 0;
259
237
  let stop;
238
+ /** Queue a visited comment's replies one level down; true when the depth limit cut them instead. */
239
+ const enqueueKids = (c, level) => {
240
+ if (!c.kids?.length)
241
+ return false;
242
+ const next = levels[level + 1];
243
+ if (!next)
244
+ return true;
245
+ next.push(...c.kids.map((id) => ({ id, level: level + 1, parentId: c.id })));
246
+ return false;
247
+ };
260
248
  walk: for (const [level, queue] of levels.entries()) {
261
249
  while (queue.length > 0) {
262
250
  if (rateLimit)
@@ -285,7 +273,7 @@ async function walkThread(hn, ctx, args) {
285
273
  depth: level,
286
274
  parentId: entry.parentId,
287
275
  childCount: c.kids?.length ?? 0,
288
- ...(c.by != null && c.by === args.rootBy && { isOp: true }),
276
+ ...(c.by != null && c.by === args.opAuthor && { isOp: true }),
289
277
  };
290
278
  const bytes = byteLength(renderComment(comment)) +
291
279
  (comments.length === 0
@@ -297,13 +285,8 @@ async function walkThread(hn, ctx, args) {
297
285
  }
298
286
  comments.push(comment);
299
287
  usedBytes += bytes;
300
- if (c.kids?.length) {
301
- const next = levels[level + 1];
302
- if (next)
303
- next.push(...c.kids.map((id) => ({ id, level: level + 1, parentId: c.id })));
304
- else
305
- depthCut = true;
306
- }
288
+ if (enqueueKids(c, level))
289
+ liveDepthCut = true;
307
290
  }
308
291
  else if (slot.kind === 'failed') {
309
292
  failed.push(entry);
@@ -311,10 +294,13 @@ async function walkThread(hn, ctx, args) {
311
294
  rateLimit ??= slot.error;
312
295
  }
313
296
  else if (slot.kind === 'item') {
297
+ /** Omitted, but its live replies are still owed at their true depth. */
314
298
  if (slot.item.deleted)
315
299
  omittedDeleted++;
316
300
  else
317
301
  omittedDead++;
302
+ if (enqueueKids(slot.item, level))
303
+ omittedDepthCut.push(slot.item.id);
318
304
  }
319
305
  visited++;
320
306
  }
@@ -328,15 +314,57 @@ async function walkThread(hn, ctx, args) {
328
314
  stop = 'rate_limited';
329
315
  return {
330
316
  comments,
331
- depthCut,
332
317
  failed,
318
+ liveDepthCut,
333
319
  omittedDead,
320
+ omittedDepthCut,
334
321
  omittedDeleted,
335
322
  rateLimit,
336
323
  rest: levels.flat(),
337
324
  stop,
338
325
  };
339
326
  }
327
+ /**
328
+ * Find the story or poll a comment root belongs to by following `parent` links
329
+ * up from it, one request per link, all bounded by one `deadline`. A failed,
330
+ * missing, or parentless ancestor, the hop ceiling, or the deadline ends the
331
+ * lookup with a `gap` instead of failing the call; a cancellation propagates.
332
+ */
333
+ async function findStory(hn, ctx, root, deadline) {
334
+ const outOfTime = 'the lookup ran out of time';
335
+ let next = root.parent;
336
+ let below = 'it';
337
+ let hops = 0;
338
+ while (next != null) {
339
+ if (hops === MAX_STORY_HOPS) {
340
+ return { hops, gap: `it sits more than ${MAX_STORY_HOPS} levels below its story` };
341
+ }
342
+ if (Date.now() >= deadline)
343
+ return { hops, gap: outOfTime, transient: true };
344
+ hops++;
345
+ const [slot] = await hn.fetchItems([next], ctx, deadline);
346
+ if (slot?.kind === 'failed') {
347
+ if (isRateLimited(slot.error)) {
348
+ return {
349
+ hops,
350
+ gap: 'the HN API is rate-limiting this server',
351
+ rateLimit: slot.error,
352
+ transient: true,
353
+ };
354
+ }
355
+ const gap = Date.now() >= deadline ? outOfTime : `ancestor ${next} failed to load`;
356
+ return { hops, gap, transient: true };
357
+ }
358
+ if (slot?.kind !== 'item')
359
+ return { hops, gap: `ancestor ${next} does not exist` };
360
+ if (slot.item.type !== 'comment') {
361
+ return { hops, story: { id: slot.item.id, by: slot.item.by } };
362
+ }
363
+ below = `ancestor ${slot.item.id}`;
364
+ next = slot.item.parent;
365
+ }
366
+ return { hops, gap: `HN lists no parent for ${below}` };
367
+ }
340
368
  function projectOption(option) {
341
369
  return {
342
370
  id: option.id,
@@ -371,8 +399,8 @@ export const getThread = tool('hn_get_thread', {
371
399
  {
372
400
  reason: 'invalid_cursor',
373
401
  code: JsonRpcErrorCode.InvalidParams,
374
- when: 'The cursor was issued for a different itemId than the one passed with it.',
375
- recovery: 'Pass the cursor with the same itemId it was returned for, or omit cursor to start this item from the top.',
402
+ when: 'The cursor is not one this tool issued, was altered, or was issued for a different itemId than the one passed with it.',
403
+ recovery: 'Pass nextCursor unchanged, with the same itemId it was returned for, or omit cursor to start this item from the top.',
376
404
  severity: 'notice',
377
405
  },
378
406
  {
@@ -424,16 +452,16 @@ export const getThread = tool('hn_get_thread', {
424
452
  .number()
425
453
  .int()
426
454
  .min(0)
427
- .max(MAX_DEPTH)
455
+ .max(DEPTH_CEILING)
428
456
  .default(3)
429
- .describe(`How many levels of replies to resolve. 0 = just the item, no comments. 1 = direct replies only. Replies below this depth are never fetched — to read them, raise depth or call again with a specific comment's itemId to drill into its subtree. Ignored when cursor is set: the depth the cursor was issued with applies.`),
457
+ .describe(`How many levels of replies to resolve, at most ${DEPTH_CAP} per call. 0 = just the item, no comments. 1 = direct replies only. A larger value is served at ${DEPTH_CAP}. Replies below the depth served are never fetched — to read them, raise depth up to ${DEPTH_CAP}, or call again with a comment from the deepest level returned, or one notice names, as itemId to drill into its subtree. Ignored when cursor is set: the depth the cursor was issued with applies.`),
430
458
  maxComments: z
431
459
  .number()
432
460
  .int()
433
461
  .min(1)
434
- .max(MAX_COMMENTS)
462
+ .max(MAX_COMMENTS_CEILING)
435
463
  .default(50)
436
- .describe(`Maximum comments in one response, across all depth levels. Highest-ranked top-level comments resolve first; replies fill in only after the level above is exhausted. A response also stops at a fixed 64,000-byte text budget. When either limit stops the traversal, nextCursor continues it.`),
464
+ .describe(`Maximum comments in one response, across all depth levels, at most ${MAX_COMMENTS_CAP} per call. A larger value is served at ${MAX_COMMENTS_CAP}, and nextCursor continues from there. Highest-ranked top-level comments resolve first; replies fill in only after the level above is exhausted. A response also stops at a fixed 64,000-byte text budget. When either limit stops the traversal, nextCursor continues it.`),
437
465
  cursor: z
438
466
  .string()
439
467
  .optional()
@@ -452,7 +480,7 @@ export const getThread = tool('hn_get_thread', {
452
480
  totalAvailable: z
453
481
  .number()
454
482
  .optional()
455
- .describe("HN's total comment count for the root (descendants), which also counts dead and deleted comments. Absent for comment and job roots."),
483
+ .describe("HN's count of live comments in the thread (descendants); dead and deleted comments are not counted. Absent for comment and job roots."),
456
484
  truncated: z
457
485
  .boolean()
458
486
  .optional()
@@ -466,7 +494,10 @@ export const getThread = tool('hn_get_thread', {
466
494
  .optional()
467
495
  .describe('Pass as cursor, with the same itemId, to continue from the next unseen comment. Present when truncationReason is count, size, or rate_limited; absent on the last page.'),
468
496
  shown: z.number().optional().describe('Number of comments returned.'),
469
- cap: z.number().optional().describe('The maxComments cap that was applied.'),
497
+ cap: z
498
+ .number()
499
+ .optional()
500
+ .describe(`The maxComments value served: as passed, or ${MAX_COMMENTS_CAP} when maxComments was above that cap.`),
470
501
  failedIds: z
471
502
  .array(z.number())
472
503
  .optional()
@@ -474,24 +505,35 @@ export const getThread = tool('hn_get_thread', {
474
505
  notice: z
475
506
  .string()
476
507
  .optional()
477
- .describe('Traversal context: counts of deleted/dead comments dropped, the IDs that failed to load and how to retry them, then what stopped the traversal and how to continue — nextCursor for a count, size, or rate-limit stop, or a larger depth or a comment id as itemId for a depth cut. Absent when nothing was dropped, failed, or left unread.'),
508
+ .describe('Traversal context: counts of deleted/dead comments dropped, the IDs that failed to load and how to retry them, then what stopped the traversal and how to continue — nextCursor for a count, size, or rate-limit stop, or a larger depth or a comment id as itemId for a depth cut — noting when the maxComments or depth that stopped it was served at its per-call cap. Dead or deleted comments whose replies the depth limit cut are named by id, to pass as itemId, on the page that reaches them, since comments omits them. Absent when nothing was dropped, failed, or left unread.'),
478
509
  },
479
510
  enrichmentTrailer: {
480
511
  failedIds: { render: (ids) => `**Failed to load:** ${(ids ?? []).join(', ')}` },
481
512
  },
482
513
  async handler(input, ctx) {
483
- const resume = input.cursor ? readCursor(input.cursor, ctx) : undefined;
514
+ const startedAt = Date.now();
515
+ const resume = input.cursor ? decodeThreadCursor(input.cursor, DEPTH_CAP) : undefined;
516
+ if (input.cursor && !resume) {
517
+ throw ctx.fail('invalid_cursor', 'cursor is not one hn_get_thread issued, or it was altered.', { itemId: input.itemId });
518
+ }
484
519
  if (resume && resume.itemId !== input.itemId) {
485
- throw ctx.fail('invalid_cursor', `This cursor continues item ${resume.itemId}, not item ${input.itemId}.`, { itemId: input.itemId, ...ctx.recoveryFor('invalid_cursor') });
520
+ throw ctx.fail('invalid_cursor', `This cursor continues item ${resume.itemId}, not item ${input.itemId}.`, { itemId: input.itemId });
486
521
  }
487
522
  const hn = getHnService();
488
523
  const root = await hn.fetchItem(input.itemId, ctx);
489
524
  if (!root) {
490
- throw ctx.fail('item_not_found', `Item ${input.itemId} not found`, {
491
- itemId: input.itemId,
492
- ...ctx.recoveryFor('item_not_found'),
493
- });
525
+ throw ctx.fail('item_not_found', `Item ${input.itemId} not found`, { itemId: input.itemId });
494
526
  }
527
+ /**
528
+ * OP on a comment root means the author of the story above it. A cursor
529
+ * carries the story an earlier page found; one issued before it was found
530
+ * looks again.
531
+ */
532
+ const lookup = root.type !== 'comment'
533
+ ? undefined
534
+ : resume?.story
535
+ ? { hops: 0, story: resume.story }
536
+ : await findStory(hn, ctx, root, startedAt + STORY_LOOKUP_DEADLINE_MS);
495
537
  const options = [];
496
538
  const failedOptionIds = [];
497
539
  let optionRateLimit;
@@ -521,20 +563,22 @@ export const getThread = tool('hn_get_thread', {
521
563
  score: root.score,
522
564
  descendants: root.descendants,
523
565
  ...(root.parent != null && { parent: root.parent }),
566
+ ...(lookup?.story && { storyId: lookup.story.id }),
524
567
  ...(root.poll != null && { poll: root.poll }),
525
568
  ...(root.parts && root.parts.length > 0 && { parts: root.parts }),
526
569
  ...(root.deleted && { deleted: true }),
527
570
  ...(root.dead && { dead: true }),
528
571
  ...(options.length > 0 && { options }),
529
572
  };
530
- const depth = resume?.depth ?? input.depth;
573
+ const depth = resume?.depth ?? Math.min(input.depth, DEPTH_CAP);
574
+ const maxComments = Math.min(input.maxComments, MAX_COMMENTS_CAP);
531
575
  const seed = resume?.frontier ??
532
576
  (depth > 0 ? (root.kids ?? []).map((id) => ({ id, level: 0, parentId: root.id })) : []);
533
577
  const walk = await walkThread(hn, ctx, {
534
578
  depth,
535
- maxComments: input.maxComments,
536
- rateLimit: optionRateLimit,
537
- rootBy: root.by,
579
+ maxComments,
580
+ opAuthor: lookup ? lookup.story?.by : root.by,
581
+ rateLimit: optionRateLimit ?? lookup?.rateLimit,
538
582
  seed,
539
583
  usedBytes: byteLength(renderRoot(item)),
540
584
  });
@@ -544,6 +588,7 @@ export const getThread = tool('hn_get_thread', {
544
588
  comments: comments.length,
545
589
  failed: walk.failed.length + failedOptionIds.length,
546
590
  stop,
591
+ ...(lookup && { storyId: lookup.story?.id, storyHops: lookup.hops }),
547
592
  });
548
593
  const totalLoaded = comments.length;
549
594
  /** Comments returned across every page so far, this one included. */
@@ -556,18 +601,32 @@ export const getThread = tool('hn_get_thread', {
556
601
  ...(totalAvailable != null && { totalAvailable }),
557
602
  ...(failedIds.length > 0 && { failedIds }),
558
603
  });
559
- const depthCut = walk.depthCut || resume?.depthCut === true;
604
+ const omittedCut = walk.omittedDepthCut;
605
+ const depthCut = walk.liveDepthCut || omittedCut.length > 0 || resume?.depthCut === true;
560
606
  /** Failed comments lead the cursor, so continuing retries them rather than skipping them. */
561
607
  const nextCursor = stop &&
562
608
  encodeThreadCursor({
563
609
  offset: loadedSoFar,
564
- limit: input.maxComments,
565
610
  itemId: input.itemId,
566
611
  depth,
567
612
  frontier: [...walk.failed, ...walk.rest],
568
613
  depthCut,
614
+ ...(lookup?.story && { story: lookup.story }),
569
615
  });
570
616
  const noticeParts = [];
617
+ if (lookup?.gap) {
618
+ const retry = !lookup.transient
619
+ ? ''
620
+ : nextCursor
621
+ ? ' Continuing with nextCursor retries the lookup.'
622
+ : lookup.rateLimit
623
+ ? ` Wait ${waitFor(lookup.rateLimit)}, then call again.`
624
+ : ' Call again to retry.';
625
+ noticeParts.push(`Could not find the story this comment belongs to: ${lookup.gap}. storyId is absent and replies by the story's author are not marked isOp.${retry}`);
626
+ }
627
+ else if (lookup?.story && !lookup.story.by) {
628
+ noticeParts.push(`The story this comment belongs to (id ${lookup.story.id}) has no author on record, so no reply is marked isOp.`);
629
+ }
571
630
  if (walk.omittedDeleted > 0 || walk.omittedDead > 0) {
572
631
  noticeParts.push(`${walk.omittedDeleted} deleted, ${walk.omittedDead} dead — omitted from this view.`);
573
632
  }
@@ -584,9 +643,15 @@ export const getThread = tool('hn_get_thread', {
584
643
  }
585
644
  const loaded = totalAvailable != null ? ` with ${loadedSoFar}/${totalAvailable} comments loaded` : '';
586
645
  const resumeHint = 'Pass nextCursor as cursor, with the same itemId, to continue.';
646
+ /** Below the depth cap a larger depth reaches every omitted subtree, so a few names do. */
647
+ const named = depth < DEPTH_CAP ? omittedCut.slice(0, OMITTED_IDS_NAMED) : omittedCut;
648
+ const unnamed = omittedCut.length - named.length;
649
+ const omittedIds = `${plural(omittedCut.length, 'id')} ${named.join(', ')}${unnamed > 0 ? `, and ${unnamed} more` : ''}`;
587
650
  switch (stop) {
588
651
  case 'count':
589
- noticeParts.push(`Stopped at maxComments ${input.maxComments}${loaded}. ${resumeHint}`);
652
+ noticeParts.push(`Stopped at maxComments ${maxComments}${loaded}.`, ...(input.maxComments > MAX_COMMENTS_CAP
653
+ ? [servedAtCap('maxComments', input.maxComments, MAX_COMMENTS_CAP)]
654
+ : []), resumeHint);
590
655
  break;
591
656
  case 'examined':
592
657
  noticeParts.push(`Stopped after examining ${MAX_ITEMS_EXAMINED.toLocaleString('en-US')} items in one call${loaded}. ${resumeHint}`);
@@ -599,17 +664,42 @@ export const getThread = tool('hn_get_thread', {
599
664
  break;
600
665
  case undefined:
601
666
  if (depthCut) {
602
- const raise = depth < MAX_DEPTH ? `Raise depth (max ${MAX_DEPTH}), or pass` : 'Pass';
603
- noticeParts.push(`The depth limit (${depth}) left replies unread${loaded}. ${raise} the id of a depth-${depth - 1} comment that shows replies as itemId to read its subtree.`);
667
+ const raise = depth < DEPTH_CAP ? `Raise depth (max ${DEPTH_CAP}), or pass` : 'Pass';
668
+ /** With a cursor its depth applies; the cap is named only when it is what was served. */
669
+ const overCap = input.depth > DEPTH_CAP && depth === DEPTH_CAP;
670
+ /**
671
+ * Name only drill-in targets this page can vouch for. A cut carried from
672
+ * an earlier page may have fallen below a comment shown there or one
673
+ * named there as omitted, and this page cannot tell which.
674
+ */
675
+ const targets = [
676
+ walk.liveDepthCut
677
+ ? `a depth-${depth - 1} comment that shows replies`
678
+ : resume?.depthCut
679
+ ? `a depth-${depth - 1} comment with replies on an earlier page (shown there, or named as omitted)`
680
+ : undefined,
681
+ omittedCut.length === 1
682
+ ? `omitted comment ${omittedCut[0]}`
683
+ : omittedCut.length > 1
684
+ ? `an omitted comment with replies (${omittedIds})`
685
+ : undefined,
686
+ ].filter((target) => target != null);
687
+ noticeParts.push(`The depth limit (${depth}) left replies unread${loaded}.`, ...(overCap ? [servedAtCap('depth', input.depth, DEPTH_CAP)] : []), `${raise} the id of ${targets.join(', or of ')}${targets.length > 1 ? ',' : ''} as itemId to read its subtree.`);
604
688
  }
605
689
  else if (resume && totalLoaded === 0 && noticeParts.length === 0) {
606
690
  noticeParts.push('No comments remain past this cursor; the thread has been read to the end.');
607
691
  }
608
692
  break;
609
693
  }
694
+ /** A page nextCursor continues reports the depth cut later, by flag alone, so it names them now. */
695
+ if (stop && omittedCut.length > 0) {
696
+ const n = omittedCut.length;
697
+ const raiseAll = unnamed > 0 ? `, or raise depth (max ${DEPTH_CAP}) to read them all` : '';
698
+ noticeParts.push(`${n} omitted ${plural(n, 'comment')} (${omittedIds}) ${plural(n, 'has', 'have')} replies below the depth limit, which nextCursor does not reach; pass ${plural(n, 'its id', 'an id')} as itemId to read ${plural(n, 'its', "that comment's")} subtree${raiseAll}.`);
699
+ }
610
700
  const notice = noticeParts.join(' ');
611
701
  if (stop === 'count' || stop === 'examined' || stop === 'size') {
612
- ctx.enrich.truncated({ shown: totalLoaded, cap: input.maxComments, guidance: notice });
702
+ ctx.enrich.truncated({ shown: totalLoaded, cap: maxComments, guidance: notice });
613
703
  }
614
704
  else if (stop === 'rate_limited' || depthCut) {
615
705
  ctx.enrich({ truncated: true });
@@ -1 +1 @@
1
- {"version":3,"file":"get-thread.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-thread.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-thread.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-thread.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAgB,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAiB,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,EAEL,kBAAkB,EAClB,kBAAkB,GAEnB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,kBAAkB,EAClB,YAAY,EAEZ,aAAa,EACb,YAAY,EACZ,SAAS,GACV,MAAM,6BAA6B,CAAC;AAGrC,oFAAoF;AACpF,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAE7B,qEAAqE;AACrE,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAElC;;;;GAIG;AACH,MAAM,SAAS,GAAG,EAAE,CAAC;AAErB,+DAA+D;AAC/D,MAAM,aAAa,GAAG,GAAG,CAAC;AAE1B;;;;;GAKG;AACH,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAE7B;;;GAGG;AACH,MAAM,qBAAqB,GAAG,MAAM,CAAC;AAErC,qFAAqF;AACrF,MAAM,WAAW,GAAG,EAAE,CAAC;AAEvB;;;;GAIG;AACH,MAAM,kBAAkB,GAAG,KAAK,CAAC;AAEjC;;;GAGG;AACH,MAAM,cAAc,GAAG,EAAE,CAAC;AAE1B;;;;GAIG;AACH,MAAM,wBAAwB,GAAG,MAAM,CAAC;AAExC,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,MAAM,YAAY,GAAG,CAAC;KACnB,MAAM,CAAC;IACN,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;IACzF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IAC/D,OAAO,EAAE,CAAC;SACP,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,EAAE;SACV,QAAQ,CAAC,oEAAoE,CAAC;IACjF,IAAI,EAAE,CAAC;SACJ,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,EAAE;SACV,QAAQ,CACP,oFAAoF,CACrF;CACJ,CAAC;KACD,QAAQ,CAAC,kBAAkB,CAAC,CAAC;AAEhC,MAAM,UAAU,GAAG,CAAC;KACjB,MAAM,CAAC;IACN,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;IACnC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oDAAoD,CAAC;IAC/E,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IACtD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IACvD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IAC9D,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IACzD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IAClE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;IACtD,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,uFAAuF,CACxF;IACH,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,6GAA6G,CAC9G;IACH,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,0OAA0O,CAC3O;IACH,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;IACnF,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;IAC9F,OAAO,EAAE,CAAC;SACP,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,EAAE;SACV,QAAQ,CACP,yIAAyI,CAC1I;IACH,IAAI,EAAE,CAAC;SACJ,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,EAAE;SACV,QAAQ,CACP,gHAAgH,CACjH;IACH,OAAO,EAAE,CAAC;SACP,KAAK,CAAC,YAAY,CAAC;SACnB,QAAQ,EAAE;SACV,QAAQ,CACP,0QAA0Q,CAC3Q;CACJ,CAAC;KACD,QAAQ,CAAC,6DAA6D,CAAC,CAAC;AAE3E,MAAM,aAAa,GAAG,CAAC;KACpB,MAAM,CAAC;IACN,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;IACtC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IACtD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IACvD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IACrE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IACvE,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,CACP,uLAAuL,CACxL;IACH,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,QAAQ,CAAC,iEAAiE,CAAC;IAC9E,IAAI,EAAE,CAAC;SACJ,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,EAAE;SACV,QAAQ,CACP,wbAAwb,CACzb;CACJ,CAAC;KACD,QAAQ,CAAC,wDAAwD,CAAC,CAAC;AAMtE,8EAA8E;AAC9E,+EAA+E;AAC/E,sCAAsC;AACtC,8EAA8E;AAE9E,MAAM,WAAW,GAA2B;IAC1C,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,SAAS;IAClB,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,aAAa;CACvB,CAAC;AAEF,8EAA8E;AAC9E,MAAM,gBAAgB,GAAG,SAAS,CAAC;AAEnC,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC;AAC/B,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC;AAElE,qFAAqF;AACrF,SAAS,WAAW,CAAC,IAAgB;IACnC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACvE,IAAI,IAAI,CAAC,KAAK;QAAE,OAAO,GAAG,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IAC7D,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC;IAClD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,IAAI,SAAS,EAAE,CAAC;IACjE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9D,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,IAAI,EAAE,CAAC;AAC5C,CAAC;AAED,SAAS,YAAY,CAAC,MAAoB;IACxC,MAAM,IAAI,GAAG;QACX,MAAM,MAAM,CAAC,EAAE,EAAE;QACjB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI;QACnC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;QAC7B,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI;KACpD;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,KAAK,CAAC,CAAC;IACf,OAAO,KAAK,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAC3E,CAAC;AAED,SAAS,UAAU,CAAC,IAAgB;IAClC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI;QACpB,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,GAAG;QAC7E,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,IAAI,GAAG;QACX,MAAM,IAAI,CAAC,EAAE,EAAE;QACf,QAAQ,IAAI,CAAC,IAAI,EAAE;QACnB,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI;QACpD,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI;QACrD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI;QAC9C,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;QAC3D,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI;QAC/C,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI;QAChC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,WAAW,CAAC,CAAC,CAAC,IAAI;QAChE,IAAI;KACL;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,KAAK,CAAC,CAAC;IACf,MAAM,KAAK,GAAG,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IACnD,IAAI,IAAI,CAAC,GAAG;QAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,IAAI,CAAC,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAChD,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,gFAAgF;AAChF,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAEjC,SAAS,aAAa,CAAC,CAAgB;IACrC,wFAAwF;IACxF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IACrE,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI;QACjB,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,GAAG;QACzF,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,OAAO,GAAG,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,UAAU,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IACrE,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3C,MAAM,MAAM,GAAG,GAAG,MAAM,KAAK,MAAM,UAAU,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC,QAAQ,GAAG,KAAK,GAAG,OAAO,MAAM,IAAI,GAAG,CAAC;IAC3H,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;AACrE,CAAC;AAED,SAAS,YAAY,CAAC,IAAgB,EAAE,QAAkC;IACxE,MAAM,KAAK,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IACjC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACpF,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AA6BD;;;;;;;;;GASG;AACH,KAAK,UAAU,UAAU,CACvB,EAAa,EACb,GAAY,EACZ,IAQC;IAED,MAAM,MAAM,GAAsB,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAC/E,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,IAAI;QAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAEhE,MAAM,QAAQ,GAAoB,EAAE,CAAC;IACrC,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IACpC,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,MAAM,eAAe,GAAa,EAAE,CAAC;IACrC,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,IAA0B,CAAC;IAE/B,oGAAoG;IACpG,MAAM,WAAW,GAAG,CAAC,CAAS,EAAE,KAAa,EAAW,EAAE;QACxD,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM;YAAE,OAAO,KAAK,CAAC;QAClC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7E,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF,IAAI,EAAE,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QACpD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,IAAI,SAAS;gBAAE,IAAI,GAAG,cAAc,CAAC;iBAChC,IAAI,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW;gBAAE,IAAI,GAAG,OAAO,CAAC;iBACxD,IAAI,QAAQ,IAAI,kBAAkB;gBAAE,IAAI,GAAG,UAAU,CAAC;YAC3D,IAAI,IAAI;gBAAE,MAAM,IAAI,CAAC;YAErB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CACvB,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,kBAAkB,GAAG,QAAQ,CAAC,CACzF,CAAC;YACF,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC;YACzB,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,UAAU,CAC/B,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAC9B,GAAG,CACJ,CAAC;YAEF,IAAI,OAAO,GAAG,CAAC,CAAC;YAChB,KAAK,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;gBACzC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACtB,IAAI,CAAC,IAAI;oBAAE,MAAM;gBACjB,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;oBAClE,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;oBACpB,MAAM,OAAO,GAAkB;wBAC7B,EAAE,EAAE,CAAC,CAAC,EAAE;wBACR,EAAE,EAAE,CAAC,CAAC,EAAE;wBACR,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;wBAC5C,KAAK,EAAE,KAAK;wBACZ,QAAQ,EAAE,KAAK,CAAC,QAAQ;wBACxB,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;wBAC/B,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,QAAQ,IAAI,EAAE,IAAI,EAAE,IAAa,EAAE,CAAC;qBACvE,CAAC;oBACF,MAAM,KAAK,GACT,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;wBAClC,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;4BACpB,CAAC,CAAC,UAAU,CAAC,KAAK,gBAAgB,IAAI,CAAC;4BACvC,CAAC,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC;oBACrC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,GAAG,KAAK,GAAG,qBAAqB,EAAE,CAAC;wBACrE,IAAI,GAAG,MAAM,CAAC;wBACd,MAAM;oBACR,CAAC;oBACD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACvB,SAAS,IAAI,KAAK,CAAC;oBACnB,IAAI,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC;wBAAE,YAAY,GAAG,IAAI,CAAC;gBACjD,CAAC;qBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAClC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACnB,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;wBAAE,SAAS,KAAK,IAAI,CAAC,KAAK,CAAC;gBAC1D,CAAC;qBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBAChC,wEAAwE;oBACxE,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO;wBAAE,cAAc,EAAE,CAAC;;wBACnC,WAAW,EAAE,CAAC;oBACnB,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;wBAAE,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACxE,CAAC;gBACD,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACzB,IAAI,IAAI;gBAAE,MAAM,IAAI,CAAC;QACvB,CAAC;IACH,CAAC;IAED,gFAAgF;IAChF,IAAI,CAAC,IAAI,IAAI,SAAS,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,IAAI,GAAG,cAAc,CAAC;IAEnE,OAAO;QACL,QAAQ;QACR,MAAM;QACN,YAAY;QACZ,WAAW;QACX,eAAe;QACf,cAAc;QACd,SAAS;QACT,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE;QACnB,IAAI;KACL,CAAC;AACJ,CAAC;AAmBD;;;;;GAKG;AACH,KAAK,UAAU,SAAS,CACtB,EAAa,EACb,GAAY,EACZ,IAAY,EACZ,QAAgB;IAEhB,MAAM,SAAS,GAAG,4BAA4B,CAAC;IAC/C,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;IACvB,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,OAAO,IAAI,IAAI,IAAI,EAAE,CAAC;QACpB,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;YAC5B,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,qBAAqB,cAAc,yBAAyB,EAAE,CAAC;QACrF,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ;YAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAC7E,IAAI,EAAE,CAAC;QACP,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC1D,IAAI,IAAI,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5B,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9B,OAAO;oBACL,IAAI;oBACJ,GAAG,EAAE,yCAAyC;oBAC9C,SAAS,EAAE,IAAI,CAAC,KAAK;oBACrB,SAAS,EAAE,IAAI;iBAChB,CAAC;YACJ,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,IAAI,iBAAiB,CAAC;YACnF,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QACxC,CAAC;QACD,IAAI,IAAI,EAAE,IAAI,KAAK,MAAM;YAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,IAAI,iBAAiB,EAAE,CAAC;QACnF,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACjC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;QACjE,CAAC;QACD,KAAK,GAAG,YAAY,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACnC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAC1B,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,0BAA0B,KAAK,EAAE,EAAE,CAAC;AAC1D,CAAC;AAED,SAAS,aAAa,CAAC,MAAc;IACnC,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5D,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;QACpD,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,IAAa,EAAE,CAAC;QACjD,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,IAAa,EAAE,CAAC;KAC5C,CAAC;AACJ,CAAC;AAED,kDAAkD;AAClD,SAAS,OAAO,CAAC,SAA+B;IAC9C,MAAM,UAAU,GAAG,SAAS,EAAE,IAAI,EAAE,UAAU,CAAC;IAC/C,IAAI,OAAO,UAAU,KAAK,QAAQ;QAAE,OAAO,iBAAiB,CAAC;IAC7D,OAAO,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,UAAU,CAAC,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC;AACpF,CAAC;AAED,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,GAAW,EAAE,IAAI,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAEpF,8EAA8E;AAC9E,OAAO;AACP,8EAA8E;AAE9E,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE;IAC7C,WAAW,EACT,kOAAkO;IACpO,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;IACnC,MAAM,EAAE;QACN;YACE,MAAM,EAAE,gBAAgB;YACxB,IAAI,EAAE,gBAAgB,CAAC,QAAQ;YAC/B,IAAI,EAAE,iDAAiD;YACvD,QAAQ,EAAE,gFAAgF;YAC1F,QAAQ,EAAE,QAAQ;SACnB;QACD;YACE,MAAM,EAAE,gBAAgB;YACxB,IAAI,EAAE,gBAAgB,CAAC,aAAa;YACpC,IAAI,EAAE,wHAAwH;YAC9H,QAAQ,EACN,sHAAsH;YACxH,QAAQ,EAAE,QAAQ;SACnB;QACD;YACE,MAAM,EAAE,mBAAmB;YAC3B,IAAI,EAAE,gBAAgB,CAAC,aAAa;YACpC,IAAI,EAAE,0FAA0F;YAChG,QAAQ,EAAE,+EAA+E;YACzF,QAAQ,EAAE,SAAS;SACpB;QACD;YACE,MAAM,EAAE,uBAAuB;YAC/B,IAAI,EAAE,gBAAgB,CAAC,WAAW;YAClC,IAAI,EAAE,oCAAoC;YAC1C,QAAQ,EACN,kIAAkI;YACpI,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,SAAS;SACpB;QACD;YACE,MAAM,EAAE,sBAAsB;YAC9B,IAAI,EAAE,gBAAgB,CAAC,kBAAkB;YACzC,IAAI,EAAE,wCAAwC;YAC9C,QAAQ,EAAE,8EAA8E;YACxF,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,SAAS;SACpB;QACD;YACE,MAAM,EAAE,eAAe;YACvB,IAAI,EAAE,gBAAgB,CAAC,kBAAkB;YACzC,IAAI,EAAE,2GAA2G;YACjH,QAAQ,EAAE,0EAA0E;YACpF,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,SAAS;SACpB;QACD;YACE,MAAM,EAAE,oBAAoB;YAC5B,IAAI,EAAE,gBAAgB,CAAC,kBAAkB;YACzC,IAAI,EAAE,oEAAoE;YAC1E,QAAQ,EAAE,kFAAkF;YAC5F,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,SAAS;SACpB;KACF;IACD,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,GAAG,EAAE;aACL,QAAQ,CAAC,8EAA8E,CAAC;QAC3F,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,aAAa,CAAC;aAClB,OAAO,CAAC,CAAC,CAAC;aACV,QAAQ,CACP,kDAAkD,SAAS,mGAAmG,SAAS,wFAAwF,SAAS,qMAAqM,CAC9c;QACH,WAAW,EAAE,CAAC;aACX,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,oBAAoB,CAAC;aACzB,OAAO,CAAC,EAAE,CAAC;aACX,QAAQ,CACP,sEAAsE,gBAAgB,0CAA0C,gBAAgB,4QAA4Q,CAC7Z;QACH,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,mLAAmL,CACpL;KACJ,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,CAAC;aACR,KAAK,CAAC,aAAa,CAAC;aACpB,QAAQ,CACP,0MAA0M,CAC3M;KACJ,CAAC;IAEF,UAAU,EAAE;QACV,WAAW,EAAE,CAAC;aACX,MAAM,EAAE;aACR,QAAQ,CAAC,2EAA2E,CAAC;QACxF,cAAc,EAAE,CAAC;aACd,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,uIAAuI,CACxI;QACH,SAAS,EAAE,CAAC;aACT,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CACP,6OAA6O,CAC9O;QACH,gBAAgB,EAAE,CAAC;aAChB,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;aAChD,QAAQ,EAAE;aACV,QAAQ,CACP,sZAAsZ,CACvZ;QACH,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,yKAAyK,CAC1K;QACH,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;QACrE,GAAG,EAAE,CAAC;aACH,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,+CAA+C,gBAAgB,uCAAuC,CACvG;QACH,SAAS,EAAE,CAAC;aACT,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aACjB,QAAQ,EAAE;aACV,QAAQ,CACP,wYAAwY,CACzY;QACH,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,6jBAA6jB,CAC9jB;KACJ;IACD,iBAAiB,EAAE;QACjB,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,uBAAuB,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;KAChF;IAED,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACtF,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5B,MAAM,GAAG,CAAC,IAAI,CACZ,gBAAgB,EAChB,4DAA4D,EAC5D,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CACzB,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;YAC7C,MAAM,GAAG,CAAC,IAAI,CACZ,gBAAgB,EAChB,8BAA8B,MAAM,CAAC,MAAM,cAAc,KAAK,CAAC,MAAM,GAAG,EACxE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CACzB,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,GAAG,YAAY,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,QAAQ,KAAK,CAAC,MAAM,YAAY,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/F,CAAC;QAED;;;;WAIG;QACH,MAAM,MAAM,GACV,IAAI,CAAC,IAAI,KAAK,SAAS;YACrB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,MAAM,EAAE,KAAK;gBACb,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE;gBAClC,CAAC,CAAC,MAAM,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,GAAG,wBAAwB,CAAC,CAAC;QAE7E,MAAM,OAAO,GAAmB,EAAE,CAAC;QACnC,MAAM,eAAe,GAAa,EAAE,CAAC;QACrC,IAAI,eAAqC,CAAC;QAC1C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAClF,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACzB,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACzC,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAClC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC9B,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;oBAAE,eAAe,KAAK,IAAI,CAAC,KAAK,CAAC;YAChE,CAAC;QACH,CAAC;QAED;;;;WAIG;QACH,MAAM,IAAI,GAAe;YACvB,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;YAC9D,GAAG,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC;YAC3B,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;YAClD,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;YACnD,GAAG,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;YAClD,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;YAC7C,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;YACjE,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,IAAa,EAAE,CAAC;YAC/C,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,IAAa,EAAE,CAAC;YACzC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;SACvC,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,EAAE,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAChE,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;QAClE,MAAM,IAAI,GACR,MAAM,EAAE,QAAQ;YAChB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1F,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,EAAE,EAAE,GAAG,EAAE;YACrC,KAAK;YACL,WAAW;YACX,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;YAC7C,SAAS,EAAE,eAAe,IAAI,MAAM,EAAE,SAAS;YAC/C,IAAI;YACJ,SAAS,EAAE,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SACxC,CAAC,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QAEhC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC9B,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,QAAQ,EAAE,QAAQ,CAAC,MAAM;YACzB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM;YACnD,IAAI;YACJ,GAAG,CAAC,MAAM,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;SACrE,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC;QACpC,qEAAqE;QACrE,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,WAAW,CAAC;QACxD,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC;QACxC,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC9D,MAAM,SAAS,GAAG,CAAC,GAAG,gBAAgB,EAAE,GAAG,eAAe,CAAC,CAAC;QAC5D,GAAG,CAAC,MAAM,CAAC;YACT,WAAW;YACX,GAAG,CAAC,cAAc,IAAI,IAAI,IAAI,EAAE,cAAc,EAAE,CAAC;YACjD,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC;SAC3C,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,EAAE,QAAQ,KAAK,IAAI,CAAC;QACzF,6FAA6F;QAC7F,MAAM,UAAU,GACd,IAAI;YACJ,kBAAkB,CAAC;gBACjB,MAAM,EAAE,WAAW;gBACnB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,KAAK;gBACL,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;gBACxC,QAAQ;gBACR,GAAG,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;aAC9C,CAAC,CAAC;QAEL,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,IAAI,MAAM,EAAE,GAAG,EAAE,CAAC;YAChB,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,SAAS;gBAC7B,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,UAAU;oBACV,CAAC,CAAC,iDAAiD;oBACnD,CAAC,CAAC,MAAM,CAAC,SAAS;wBAChB,CAAC,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB;wBACxD,CAAC,CAAC,uBAAuB,CAAC;YAChC,WAAW,CAAC,IAAI,CACd,qDAAqD,MAAM,CAAC,GAAG,6EAA6E,KAAK,EAAE,CACpJ,CAAC;QACJ,CAAC;aAAM,IAAI,MAAM,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;YAC7C,WAAW,CAAC,IAAI,CACd,yCAAyC,MAAM,CAAC,KAAK,CAAC,EAAE,wDAAwD,CACjH,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;YACpD,WAAW,CAAC,IAAI,CACd,GAAG,IAAI,CAAC,cAAc,aAAa,IAAI,CAAC,WAAW,iCAAiC,CACrF,CAAC;QACJ,CAAC;QACD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC;YAClC,MAAM,KAAK,GAAG,UAAU;gBACtB,CAAC,CAAC,sBAAsB,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,2BAA2B,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,kEAAkE;gBACnK,CAAC,CAAC,qFAAqF,CAAC;YAC1F,WAAW,CAAC,IAAI,CACd,mBAAmB,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,qCAAqC,KAAK,EAAE,CAC3K,CAAC;QACJ,CAAC;QACD,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC;YACjC,WAAW,CAAC,IAAI,CACd,mBAAmB,CAAC,SAAS,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAC5H,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GACV,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,WAAW,IAAI,cAAc,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;QACzF,MAAM,UAAU,GAAG,+DAA+D,CAAC;QACnF,2FAA2F;QAC3F,MAAM,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QACtF,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QACjD,MAAM,UAAU,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,OAAO,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACzH,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,OAAO;gBACV,WAAW,CAAC,IAAI,CACd,0BAA0B,WAAW,GAAG,MAAM,GAAG,EACjD,GAAG,CAAC,KAAK,CAAC,WAAW,GAAG,gBAAgB;oBACtC,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,EAAE,KAAK,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;oBACnE,CAAC,CAAC,EAAE,CAAC,EACP,UAAU,CACX,CAAC;gBACF,MAAM;YACR,KAAK,UAAU;gBACb,WAAW,CAAC,IAAI,CACd,2BAA2B,kBAAkB,CAAC,cAAc,CAAC,OAAO,CAAC,qBAAqB,MAAM,KAAK,UAAU,EAAE,CAClH,CAAC;gBACF,MAAM;YACR,KAAK,MAAM;gBACT,WAAW,CAAC,IAAI,CACd,kBAAkB,qBAAqB,CAAC,cAAc,CAAC,OAAO,CAAC,+BAA+B,WAAW,IAAI,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG,MAAM,KAAK,UAAU,EAAE,CACtK,CAAC;gBACF,MAAM;YACR,KAAK,cAAc;gBACjB,WAAW,CAAC,IAAI,CACd,yDAAyD,MAAM,UAAU,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,oHAAoH,CACrN,CAAC;gBACF,MAAM;YACR,KAAK,SAAS;gBACZ,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,oBAAoB,SAAS,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC;oBACrF,yFAAyF;oBACzF,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,GAAG,SAAS,IAAI,KAAK,KAAK,SAAS,CAAC;oBAC/D;;;;uBAIG;oBACH,MAAM,OAAO,GAAG;wBACd,IAAI,CAAC,YAAY;4BACf,CAAC,CAAC,WAAW,KAAK,GAAG,CAAC,6BAA6B;4BACnD,CAAC,CAAC,MAAM,EAAE,QAAQ;gCAChB,CAAC,CAAC,WAAW,KAAK,GAAG,CAAC,6EAA6E;gCACnG,CAAC,CAAC,SAAS;wBACf,UAAU,CAAC,MAAM,KAAK,CAAC;4BACrB,CAAC,CAAC,mBAAmB,UAAU,CAAC,CAAC,CAAC,EAAE;4BACpC,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;gCACrB,CAAC,CAAC,oCAAoC,UAAU,GAAG;gCACnD,CAAC,CAAC,SAAS;qBAChB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;oBACrC,WAAW,CAAC,IAAI,CACd,oBAAoB,KAAK,wBAAwB,MAAM,GAAG,EAC1D,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAClE,GAAG,KAAK,cAAc,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,iCAAiC,CAChH,CAAC;gBACJ,CAAC;qBAAM,IAAI,MAAM,IAAI,WAAW,KAAK,CAAC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACnE,WAAW,CAAC,IAAI,CACd,2EAA2E,CAC5E,CAAC;gBACJ,CAAC;gBACD,MAAM;QACV,CAAC;QACD,oGAAoG;QACpG,IAAI,IAAI,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC;YAC5B,MAAM,QAAQ,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,yBAAyB,SAAS,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3F,WAAW,CAAC,IAAI,CACd,GAAG,CAAC,YAAY,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,UAAU,KAAK,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,yEAAyE,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,sBAAsB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,WAAW,QAAQ,GAAG,CACpQ,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YAC/D,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QACnF,CAAC;aAAM,IAAI,IAAI,KAAK,cAAc,IAAI,QAAQ,EAAE,CAAC;YAC/C,GAAG,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAChC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;aAAM,IAAI,MAAM,EAAE,CAAC;YAClB,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;QACD,IAAI,IAAI,IAAI,QAAQ,EAAE,CAAC;YACrB,GAAG,CAAC,MAAM,CAAC;gBACT,gBAAgB,EAAE,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC;gBACnE,GAAG,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,CAAC;aAClC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC5B,CAAC;IAED,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;CACzF,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-user.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-user.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAUjE,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkRlB,CAAC"}
1
+ {"version":3,"file":"get-user.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-user.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAiBjE,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8RlB,CAAC"}