alterlab-mcp-server 1.7.0 → 1.9.0

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 (83) hide show
  1. package/README.md +75 -33
  2. package/dist/auth.d.ts +30 -0
  3. package/dist/auth.d.ts.map +1 -0
  4. package/dist/auth.js +423 -0
  5. package/dist/auth.js.map +1 -0
  6. package/dist/client.d.ts +23 -1
  7. package/dist/client.d.ts.map +1 -1
  8. package/dist/client.js +61 -3
  9. package/dist/client.js.map +1 -1
  10. package/dist/config.d.ts +21 -1
  11. package/dist/config.d.ts.map +1 -1
  12. package/dist/config.js +85 -8
  13. package/dist/config.js.map +1 -1
  14. package/dist/errors.d.ts.map +1 -1
  15. package/dist/errors.js +6 -4
  16. package/dist/errors.js.map +1 -1
  17. package/dist/format.d.ts +20 -2
  18. package/dist/format.d.ts.map +1 -1
  19. package/dist/format.js +187 -9
  20. package/dist/format.js.map +1 -1
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +66 -2
  23. package/dist/index.js.map +1 -1
  24. package/dist/tools/balance.d.ts.map +1 -1
  25. package/dist/tools/balance.js +4 -2
  26. package/dist/tools/balance.js.map +1 -1
  27. package/dist/tools/batch.d.ts +1221 -25
  28. package/dist/tools/batch.d.ts.map +1 -1
  29. package/dist/tools/batch.js +123 -34
  30. package/dist/tools/batch.js.map +1 -1
  31. package/dist/tools/common.d.ts +313 -0
  32. package/dist/tools/common.d.ts.map +1 -0
  33. package/dist/tools/common.js +336 -0
  34. package/dist/tools/common.js.map +1 -0
  35. package/dist/tools/crawl.d.ts +165 -10
  36. package/dist/tools/crawl.d.ts.map +1 -1
  37. package/dist/tools/crawl.js +191 -43
  38. package/dist/tools/crawl.js.map +1 -1
  39. package/dist/tools/estimate.d.ts +21 -6
  40. package/dist/tools/estimate.d.ts.map +1 -1
  41. package/dist/tools/estimate.js +28 -35
  42. package/dist/tools/estimate.js.map +1 -1
  43. package/dist/tools/extract.d.ts +5 -5
  44. package/dist/tools/extract.d.ts.map +1 -1
  45. package/dist/tools/extract.js +16 -12
  46. package/dist/tools/extract.js.map +1 -1
  47. package/dist/tools/job.d.ts +13 -0
  48. package/dist/tools/job.d.ts.map +1 -0
  49. package/dist/tools/job.js +62 -0
  50. package/dist/tools/job.js.map +1 -0
  51. package/dist/tools/map.d.ts +5 -2
  52. package/dist/tools/map.d.ts.map +1 -1
  53. package/dist/tools/map.js +16 -5
  54. package/dist/tools/map.js.map +1 -1
  55. package/dist/tools/scrape.d.ts +431 -49
  56. package/dist/tools/scrape.d.ts.map +1 -1
  57. package/dist/tools/scrape.js +267 -135
  58. package/dist/tools/scrape.js.map +1 -1
  59. package/dist/tools/screenshot.d.ts +33 -0
  60. package/dist/tools/screenshot.d.ts.map +1 -1
  61. package/dist/tools/screenshot.js +60 -10
  62. package/dist/tools/screenshot.js.map +1 -1
  63. package/dist/tools/search.d.ts +11 -5
  64. package/dist/tools/search.d.ts.map +1 -1
  65. package/dist/tools/search.js +22 -6
  66. package/dist/tools/search.js.map +1 -1
  67. package/dist/tools/sessions.d.ts +180 -12
  68. package/dist/tools/sessions.d.ts.map +1 -1
  69. package/dist/tools/sessions.js +75 -21
  70. package/dist/tools/sessions.js.map +1 -1
  71. package/dist/tools/simple_batch.d.ts +28 -0
  72. package/dist/tools/simple_batch.d.ts.map +1 -0
  73. package/dist/tools/simple_batch.js +142 -0
  74. package/dist/tools/simple_batch.js.map +1 -0
  75. package/dist/tools/usage.d.ts +7 -0
  76. package/dist/tools/usage.d.ts.map +1 -0
  77. package/dist/tools/usage.js +42 -0
  78. package/dist/tools/usage.js.map +1 -0
  79. package/dist/types.d.ts +219 -21
  80. package/dist/types.d.ts.map +1 -1
  81. package/dist/types.js.map +1 -1
  82. package/package.json +5 -3
  83. package/server.json +40 -4
@@ -5,8 +5,10 @@ exports.handleScreenshot = handleScreenshot;
5
5
  const zod_1 = require("zod");
6
6
  const errors_js_1 = require("../errors.js");
7
7
  const types_js_1 = require("../types.js");
8
+ const format_js_1 = require("../format.js");
9
+ const common_js_1 = require("./common.js");
8
10
  exports.screenshotSchema = zod_1.z.object({
9
- url: zod_1.z.string().url().describe("URL to take a screenshot of"),
11
+ url: zod_1.z.string().url().max(2083).describe("URL to take a screenshot of"),
10
12
  wait_for: zod_1.z
11
13
  .string()
12
14
  .optional()
@@ -15,10 +17,40 @@ exports.screenshotSchema = zod_1.z.object({
15
17
  .enum(["networkidle", "domcontentloaded", "load"])
16
18
  .default("networkidle")
17
19
  .describe("Page load event to wait for before screenshot"),
20
+ timeout: zod_1.z
21
+ .number()
22
+ .int()
23
+ .min(1)
24
+ .max(300)
25
+ .optional()
26
+ .describe("Request timeout in seconds (1-300, API default 90)"),
27
+ use_proxy: zod_1.z
28
+ .boolean()
29
+ .optional()
30
+ .describe("Route through AlterLab's premium proxy (+$0.0002)"),
31
+ proxy_country: zod_1.z
32
+ .string()
33
+ .optional()
34
+ .describe("ISO country code for proxy geo-targeting. Requires use_proxy=true"),
35
+ session_id: zod_1.z
36
+ .string()
37
+ .uuid()
38
+ .optional()
39
+ .describe("UUID of a stored session, to screenshot a logged-in page"),
40
+ cookies: zod_1.z
41
+ .record(zod_1.z.string(), zod_1.z.string())
42
+ .optional()
43
+ .describe("Inline cookies for a one-off authenticated screenshot"),
44
+ location: common_js_1.locationSchema.optional(),
18
45
  });
19
- exports.screenshotDescription = "Take a full-page screenshot of a URL. Returns the screenshot as a PNG image. " +
20
- "Uses headless browser rendering. " +
21
- "Use wait_for to wait for a specific element before capturing.";
46
+ exports.screenshotDescription = "Take a screenshot of any website, capture a webpage as an image, or snapshot a URL visually. " +
47
+ "Works on anti-bot protected sites (Cloudflare, DataDome, etc.) — uses the same bypass engine as alterlab_scrape. " +
48
+ "Returns a full-page PNG screenshot directly in the conversation — rendered with a real headless browser " +
49
+ "(tier 4 $0.004 + $0.0002 screenshot add-on). " +
50
+ "Use wait_for to wait for a specific element before capturing. " +
51
+ "Use wait_until to control page load timing (networkidle, domcontentloaded, load). " +
52
+ "Use session_id or cookies to capture pages behind a login. " +
53
+ "For the full set of scrape options (actions, sticky sessions, cost controls), call alterlab_scrape with screenshot=true.";
22
54
  async function handleScreenshot(client, params) {
23
55
  try {
24
56
  // Screenshot requires render_js=true and screenshot=true
@@ -29,11 +61,23 @@ async function handleScreenshot(client, params) {
29
61
  screenshot: true,
30
62
  wait_for: params.wait_for,
31
63
  wait_until: params.wait_until,
32
- advanced: {
64
+ timeout: params.timeout,
65
+ location: params.location,
66
+ advanced: (0, common_js_1.compact)({
33
67
  render_js: true,
34
68
  screenshot: true,
35
- },
69
+ use_proxy: params.use_proxy,
70
+ proxy_country: params.proxy_country,
71
+ session_id: params.session_id,
72
+ cookies: params.cookies,
73
+ }),
36
74
  });
75
+ if (!response.billing) {
76
+ // 202: the render outlived the synchronous wait window.
77
+ return {
78
+ content: [{ type: "text", text: (0, format_js_1.formatAsyncScrapeAccepted)(response) }],
79
+ };
80
+ }
37
81
  if (!response.screenshot_url) {
38
82
  return {
39
83
  isError: true,
@@ -53,6 +97,7 @@ async function handleScreenshot(client, params) {
53
97
  const base64 = await client.fetchScreenshotAsBase64(response.screenshot_url);
54
98
  const tier = response.billing.tier_used;
55
99
  const tierName = types_js_1.TIER_NAMES[tier] || tier;
100
+ const balanceWarningSuffix = (0, format_js_1.formatBalanceWarning)(client.getLastBalanceWarning());
56
101
  return {
57
102
  content: [
58
103
  {
@@ -63,16 +108,21 @@ async function handleScreenshot(client, params) {
63
108
  {
64
109
  type: "text",
65
110
  text: `Screenshot of ${response.url}\n` +
66
- `Tier: ${tierName} | Time: ${response.response_time_ms}ms`,
111
+ `Tier: ${tierName} | Time: ${response.response_time_ms}ms` +
112
+ balanceWarningSuffix,
67
113
  },
68
114
  ],
69
115
  };
70
116
  }
71
117
  catch (error) {
72
- if (isApiError(error)) {
73
- return (0, errors_js_1.formatErrorResult)(error, { url: params.url });
118
+ const balanceWarningSuffix = (0, format_js_1.formatBalanceWarning)(client.getLastBalanceWarning());
119
+ const result = isApiError(error)
120
+ ? (0, errors_js_1.formatErrorResult)(error, { url: params.url })
121
+ : (0, errors_js_1.formatErrorResult)(error, { url: params.url });
122
+ if (balanceWarningSuffix && result.content[0]?.type === "text") {
123
+ result.content[0].text += balanceWarningSuffix;
74
124
  }
75
- return (0, errors_js_1.formatErrorResult)(error, { url: params.url });
125
+ return result;
76
126
  }
77
127
  }
78
128
  function isApiError(error) {
@@ -1 +1 @@
1
- {"version":3,"file":"screenshot.js","sourceRoot":"","sources":["../../src/tools/screenshot.ts"],"names":[],"mappings":";;;AAuBA,4CAiEC;AAxFD,6BAAwB;AAGxB,4CAAgE;AAChE,0CAAyC;AAE5B,QAAA,gBAAgB,GAAG,OAAC,CAAC,MAAM,CAAC;IACvC,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IAC7D,QAAQ,EAAE,OAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,mDAAmD,CAAC;IAChE,UAAU,EAAE,OAAC;SACV,IAAI,CAAC,CAAC,aAAa,EAAE,kBAAkB,EAAE,MAAM,CAAC,CAAC;SACjD,OAAO,CAAC,aAAa,CAAC;SACtB,QAAQ,CAAC,+CAA+C,CAAC;CAC7D,CAAC,CAAC;AAEU,QAAA,qBAAqB,GAChC,+EAA+E;IAC/E,mCAAmC;IACnC,+DAA+D,CAAC;AAE3D,KAAK,UAAU,gBAAgB,CACpC,MAAsB,EACtB,MAAwC;IAExC,IAAI,CAAC;QACH,yDAAyD;QACzD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC;YACnC,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,IAAI;YACV,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,QAAQ,EAAE;gBACR,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,IAAI;aACjB;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;YAC7B,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EACF,oCAAoC,MAAM,CAAC,GAAG,OAAO;4BACrD,4CAA4C;4BAC5C,wBAAwB;4BACxB,iDAAiD;4BACjD,uCAAuC;qBAC1C;iBACF;aACF,CAAC;QACJ,CAAC;QAED,kDAAkD;QAClD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,uBAAuB,CACjD,QAAQ,CAAC,cAAc,CACxB,CAAC;QAEF,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;QACxC,MAAM,QAAQ,GAAG,qBAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;QAE1C,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,OAAgB;oBACtB,IAAI,EAAE,MAAM;oBACZ,QAAQ,EAAE,WAAW;iBACtB;gBACD;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EACF,iBAAiB,QAAQ,CAAC,GAAG,IAAI;wBACjC,SAAS,QAAQ,YAAY,QAAQ,CAAC,gBAAgB,IAAI;iBAC7D;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,IAAA,6BAAiB,EAAC,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,IAAA,6BAAiB,EAAC,KAAc,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,QAAQ,IAAI,KAAK;QACjB,OAAQ,KAAkB,CAAC,MAAM,KAAK,QAAQ,CAC/C,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"screenshot.js","sourceRoot":"","sources":["../../src/tools/screenshot.ts"],"names":[],"mappings":";;;AAuDA,4CAoFC;AA3ID,6BAAwB;AAGxB,4CAAgE;AAChE,0CAAyC;AACzC,4CAA+E;AAC/E,2CAAsD;AAEzC,QAAA,gBAAgB,GAAG,OAAC,CAAC,MAAM,CAAC;IACvC,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IACvE,QAAQ,EAAE,OAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,mDAAmD,CAAC;IAChE,UAAU,EAAE,OAAC;SACV,IAAI,CAAC,CAAC,aAAa,EAAE,kBAAkB,EAAE,MAAM,CAAC,CAAC;SACjD,OAAO,CAAC,aAAa,CAAC;SACtB,QAAQ,CAAC,+CAA+C,CAAC;IAC5D,OAAO,EAAE,OAAC;SACP,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,oDAAoD,CAAC;IACjE,SAAS,EAAE,OAAC;SACT,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CAAC,mDAAmD,CAAC;IAChE,aAAa,EAAE,OAAC;SACb,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,mEAAmE,CAAC;IAChF,UAAU,EAAE,OAAC;SACV,MAAM,EAAE;SACR,IAAI,EAAE;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,0DAA0D,CAAC;IACvE,OAAO,EAAE,OAAC;SACP,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC;SAC9B,QAAQ,EAAE;SACV,QAAQ,CAAC,uDAAuD,CAAC;IACpE,QAAQ,EAAE,0BAAc,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC;AAEU,QAAA,qBAAqB,GAChC,+FAA+F;IAC/F,mHAAmH;IACnH,0GAA0G;IAC1G,+CAA+C;IAC/C,gEAAgE;IAChE,oFAAoF;IACpF,6DAA6D;IAC7D,0HAA0H,CAAC;AAEtH,KAAK,UAAU,gBAAgB,CACpC,MAAsB,EACtB,MAAwC;IAExC,IAAI,CAAC;QACH,yDAAyD;QACzD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC;YACnC,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,IAAI;YACV,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,IAAA,mBAAO,EAAC;gBAChB,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,IAAI;gBAChB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,aAAa,EAAE,MAAM,CAAC,aAAa;gBACnC,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;aACxB,CAAC;SACH,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACtB,wDAAwD;YACxD,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAA,qCAAyB,EAAC,QAAiB,CAAC,EAAE,CAAC;aAChF,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;YAC7B,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EACF,oCAAoC,MAAM,CAAC,GAAG,OAAO;4BACrD,4CAA4C;4BAC5C,wBAAwB;4BACxB,iDAAiD;4BACjD,uCAAuC;qBAC1C;iBACF;aACF,CAAC;QACJ,CAAC;QAED,kDAAkD;QAClD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,uBAAuB,CACjD,QAAQ,CAAC,cAAc,CACxB,CAAC;QAEF,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;QACxC,MAAM,QAAQ,GAAG,qBAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;QAE1C,MAAM,oBAAoB,GAAG,IAAA,gCAAoB,EAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC,CAAC;QAClF,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,OAAgB;oBACtB,IAAI,EAAE,MAAM;oBACZ,QAAQ,EAAE,WAAW;iBACtB;gBACD;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EACF,iBAAiB,QAAQ,CAAC,GAAG,IAAI;wBACjC,SAAS,QAAQ,YAAY,QAAQ,CAAC,gBAAgB,IAAI;wBAC1D,oBAAoB;iBACvB;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,oBAAoB,GAAG,IAAA,gCAAoB,EAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC,CAAC;QAClF,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC;YAC9B,CAAC,CAAC,IAAA,6BAAiB,EAAC,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC;YAC/C,CAAC,CAAC,IAAA,6BAAiB,EAAC,KAAc,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QAC3D,IAAI,oBAAoB,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;YAC9D,MAAM,CAAC,OAAO,CAAC,CAAC,CAAoC,CAAC,IAAI,IAAI,oBAAoB,CAAC;QACrF,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,QAAQ,IAAI,KAAK;QACjB,OAAQ,KAAkB,CAAC,MAAM,KAAK,QAAQ,CAC/C,CAAC;AACJ,CAAC"}
@@ -3,6 +3,7 @@ import type { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
3
3
  import type { AlterLabClient } from "../client.js";
4
4
  export declare const searchSchema: z.ZodObject<{
5
5
  query: z.ZodString;
6
+ engine: z.ZodOptional<z.ZodEnum<["duckduckgo", "google", "bing"]>>;
6
7
  num_results: z.ZodDefault<z.ZodNumber>;
7
8
  page: z.ZodDefault<z.ZodNumber>;
8
9
  domain: z.ZodOptional<z.ZodString>;
@@ -10,30 +11,35 @@ export declare const searchSchema: z.ZodObject<{
10
11
  language: z.ZodOptional<z.ZodString>;
11
12
  time_range: z.ZodOptional<z.ZodEnum<["hour", "day", "week", "month", "year"]>>;
12
13
  scrape_results: z.ZodDefault<z.ZodBoolean>;
13
- formats: z.ZodOptional<z.ZodArray<z.ZodEnum<["text", "json", "json_v2", "html", "markdown"]>, "many">>;
14
+ formats: z.ZodOptional<z.ZodArray<z.ZodEnum<["text", "json", "json_v2", "html", "markdown", "rag", "content"]>, "many">>;
14
15
  extraction_schema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
16
+ safe_search: z.ZodOptional<z.ZodBoolean>;
15
17
  }, "strip", z.ZodTypeAny, {
16
18
  query: string;
17
19
  num_results: number;
18
20
  page: number;
19
21
  scrape_results: boolean;
20
- formats?: ("text" | "html" | "json" | "json_v2" | "markdown")[] | undefined;
21
- extraction_schema?: Record<string, unknown> | undefined;
22
22
  country?: string | undefined;
23
23
  language?: string | undefined;
24
+ formats?: ("content" | "text" | "json" | "json_v2" | "html" | "markdown" | "rag")[] | undefined;
25
+ extraction_schema?: Record<string, unknown> | undefined;
26
+ engine?: "duckduckgo" | "google" | "bing" | undefined;
24
27
  domain?: string | undefined;
25
28
  time_range?: "hour" | "day" | "week" | "month" | "year" | undefined;
29
+ safe_search?: boolean | undefined;
26
30
  }, {
27
31
  query: string;
28
- formats?: ("text" | "html" | "json" | "json_v2" | "markdown")[] | undefined;
29
- extraction_schema?: Record<string, unknown> | undefined;
30
32
  country?: string | undefined;
31
33
  language?: string | undefined;
34
+ formats?: ("content" | "text" | "json" | "json_v2" | "html" | "markdown" | "rag")[] | undefined;
35
+ extraction_schema?: Record<string, unknown> | undefined;
36
+ engine?: "duckduckgo" | "google" | "bing" | undefined;
32
37
  num_results?: number | undefined;
33
38
  page?: number | undefined;
34
39
  domain?: string | undefined;
35
40
  time_range?: "hour" | "day" | "week" | "month" | "year" | undefined;
36
41
  scrape_results?: boolean | undefined;
42
+ safe_search?: boolean | undefined;
37
43
  }>;
38
44
  export declare const searchDescription: string;
39
45
  export declare function handleSearch(client: AlterLabClient, params: z.infer<typeof searchSchema>): Promise<CallToolResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAGnD,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4DvB,CAAC;AAEH,eAAO,MAAM,iBAAiB,QAOqC,CAAC;AAEpE,wBAAsB,YAAY,CAChC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,GACnC,OAAO,CAAC,cAAc,CAAC,CAuBzB"}
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAInD,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2EvB,CAAC;AAEH,eAAO,MAAM,iBAAiB,QASyC,CAAC;AAExE,wBAAsB,YAAY,CAChC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,GACnC,OAAO,CAAC,cAAc,CAAC,CAyBzB"}
@@ -4,12 +4,18 @@ exports.searchDescription = exports.searchSchema = void 0;
4
4
  exports.handleSearch = handleSearch;
5
5
  const zod_1 = require("zod");
6
6
  const errors_js_1 = require("../errors.js");
7
+ const common_js_1 = require("./common.js");
7
8
  exports.searchSchema = zod_1.z.object({
8
9
  query: zod_1.z
9
10
  .string()
10
11
  .min(1)
11
12
  .max(500)
12
13
  .describe("Search query (max 500 characters)"),
14
+ engine: zod_1.z
15
+ .enum(["duckduckgo", "google", "bing"])
16
+ .optional()
17
+ .describe("Search engine (API default duckduckgo). duckduckgo costs $0.001/query; google and bing use " +
18
+ "browser rendering and cost $0.004/query."),
13
19
  num_results: zod_1.z
14
20
  .number()
15
21
  .int()
@@ -26,6 +32,7 @@ exports.searchSchema = zod_1.z.object({
26
32
  .describe("Result page number (1-indexed). Page 2 returns results 11-20, etc."),
27
33
  domain: zod_1.z
28
34
  .string()
35
+ .max(253)
29
36
  .optional()
30
37
  .describe("Restrict results to a specific domain (applied as site: prefix, e.g. 'docs.example.com')"),
31
38
  country: zod_1.z
@@ -49,25 +56,33 @@ exports.searchSchema = zod_1.z.object({
49
56
  .describe("If true, scrape each result page and include content in response. " +
50
57
  "Each page is billed at its scraping tier cost in addition to the base search fee."),
51
58
  formats: zod_1.z
52
- .array(zod_1.z.enum(["text", "json", "json_v2", "html", "markdown"]))
59
+ .array(common_js_1.crawlFormatEnum)
53
60
  .optional()
54
61
  .describe("Output formats when scrape_results=true"),
55
62
  extraction_schema: zod_1.z
56
63
  .record(zod_1.z.unknown())
57
64
  .optional()
58
65
  .describe("JSON schema for structured extraction when scrape_results=true"),
66
+ safe_search: zod_1.z
67
+ .boolean()
68
+ .optional()
69
+ .describe("Safe search filtering to exclude adult content from results (API default true). " +
70
+ "Set false to disable."),
59
71
  });
60
- exports.searchDescription = "Execute a web search and return SERP results (URLs, titles, snippets). " +
61
- "Uses AlterLab's own SERP engine with Google/Bing/DuckDuckGo multi-engine failover. " +
62
- "Costs $0.001 per search query. " +
63
- "Set scrape_results=true to also scrape each result page and get full content — " +
72
+ exports.searchDescription = "Search the web, find information online, look up any topic, or research a subject across the internet. " +
73
+ "Returns search results with URLs, titles, and snippets from multiple search engines. " +
74
+ "Uses AlterLab's SERP engine with Google/Bing/DuckDuckGo multi-engine failover for reliable results. " +
75
+ "Costs $0.001 per search query on the default duckduckgo engine; engine='google' or 'bing' costs $0.004 per query. " +
76
+ "Set scrape_results=true to also scrape each result page (with anti-bot bypass) and get full content — " +
64
77
  "each page is billed at its normal scraping tier cost. " +
65
78
  "Use domain to restrict results to a specific site (equivalent to site: operator). " +
66
- "Use time_range to filter by recency (hour/day/week/month/year).";
79
+ "Use time_range to filter by recency (hour/day/week/month/year). " +
80
+ "Safe search is on by default; pass safe_search=false to disable it.";
67
81
  async function handleSearch(client, params) {
68
82
  try {
69
83
  const response = await client.search({
70
84
  query: params.query,
85
+ engine: params.engine,
71
86
  num_results: params.num_results,
72
87
  page: params.page,
73
88
  domain: params.domain,
@@ -77,6 +92,7 @@ async function handleSearch(client, params) {
77
92
  scrape_results: params.scrape_results,
78
93
  formats: params.formats,
79
94
  extraction_schema: params.extraction_schema,
95
+ safe_search: params.safe_search,
80
96
  });
81
97
  const text = formatSearchResponse(response, params.query);
82
98
  return { content: [{ type: "text", text }] };
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"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"}
@@ -7,18 +7,87 @@ export declare function handleListSessions(client: AlterLabClient): Promise<Call
7
7
  export declare const createSessionSchema: z.ZodObject<{
8
8
  name: z.ZodString;
9
9
  domain: z.ZodString;
10
- cookies: z.ZodRecord<z.ZodString, z.ZodString>;
11
- user_agent: z.ZodOptional<z.ZodString>;
10
+ consent: z.ZodBoolean;
11
+ cookies: z.ZodOptional<z.ZodUnion<[z.ZodRecord<z.ZodString, z.ZodString>, z.ZodArray<z.ZodObject<{
12
+ name: z.ZodString;
13
+ value: z.ZodString;
14
+ domain: z.ZodOptional<z.ZodString>;
15
+ path: z.ZodOptional<z.ZodString>;
16
+ secure: z.ZodOptional<z.ZodBoolean>;
17
+ httpOnly: z.ZodOptional<z.ZodBoolean>;
18
+ sameSite: z.ZodOptional<z.ZodString>;
19
+ expires: z.ZodOptional<z.ZodNumber>;
20
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
21
+ name: z.ZodString;
22
+ value: z.ZodString;
23
+ domain: z.ZodOptional<z.ZodString>;
24
+ path: z.ZodOptional<z.ZodString>;
25
+ secure: z.ZodOptional<z.ZodBoolean>;
26
+ httpOnly: z.ZodOptional<z.ZodBoolean>;
27
+ sameSite: z.ZodOptional<z.ZodString>;
28
+ expires: z.ZodOptional<z.ZodNumber>;
29
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
30
+ name: z.ZodString;
31
+ value: z.ZodString;
32
+ domain: z.ZodOptional<z.ZodString>;
33
+ path: z.ZodOptional<z.ZodString>;
34
+ secure: z.ZodOptional<z.ZodBoolean>;
35
+ httpOnly: z.ZodOptional<z.ZodBoolean>;
36
+ sameSite: z.ZodOptional<z.ZodString>;
37
+ expires: z.ZodOptional<z.ZodNumber>;
38
+ }, z.ZodTypeAny, "passthrough">>, "many">]>>;
39
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
40
+ expires_at: z.ZodOptional<z.ZodString>;
41
+ notes: z.ZodOptional<z.ZodString>;
42
+ auto_refresh_enabled: z.ZodOptional<z.ZodBoolean>;
43
+ notify_before_expiry: z.ZodOptional<z.ZodBoolean>;
44
+ notify_on_failure: z.ZodOptional<z.ZodBoolean>;
45
+ organization_id: z.ZodOptional<z.ZodString>;
46
+ shared: z.ZodOptional<z.ZodBoolean>;
12
47
  }, "strip", z.ZodTypeAny, {
13
48
  name: string;
14
- cookies: Record<string, string>;
15
49
  domain: string;
16
- user_agent?: string | undefined;
50
+ consent: boolean;
51
+ headers?: Record<string, string> | undefined;
52
+ cookies?: Record<string, string> | z.objectOutputType<{
53
+ name: z.ZodString;
54
+ value: z.ZodString;
55
+ domain: z.ZodOptional<z.ZodString>;
56
+ path: z.ZodOptional<z.ZodString>;
57
+ secure: z.ZodOptional<z.ZodBoolean>;
58
+ httpOnly: z.ZodOptional<z.ZodBoolean>;
59
+ sameSite: z.ZodOptional<z.ZodString>;
60
+ expires: z.ZodOptional<z.ZodNumber>;
61
+ }, z.ZodTypeAny, "passthrough">[] | undefined;
62
+ expires_at?: string | undefined;
63
+ notes?: string | undefined;
64
+ auto_refresh_enabled?: boolean | undefined;
65
+ notify_before_expiry?: boolean | undefined;
66
+ notify_on_failure?: boolean | undefined;
67
+ organization_id?: string | undefined;
68
+ shared?: boolean | undefined;
17
69
  }, {
18
70
  name: string;
19
- cookies: Record<string, string>;
20
71
  domain: string;
21
- user_agent?: string | undefined;
72
+ consent: boolean;
73
+ headers?: Record<string, string> | undefined;
74
+ cookies?: Record<string, string> | z.objectInputType<{
75
+ name: z.ZodString;
76
+ value: z.ZodString;
77
+ domain: z.ZodOptional<z.ZodString>;
78
+ path: z.ZodOptional<z.ZodString>;
79
+ secure: z.ZodOptional<z.ZodBoolean>;
80
+ httpOnly: z.ZodOptional<z.ZodBoolean>;
81
+ sameSite: z.ZodOptional<z.ZodString>;
82
+ expires: z.ZodOptional<z.ZodNumber>;
83
+ }, z.ZodTypeAny, "passthrough">[] | undefined;
84
+ expires_at?: string | undefined;
85
+ notes?: string | undefined;
86
+ auto_refresh_enabled?: boolean | undefined;
87
+ notify_before_expiry?: boolean | undefined;
88
+ notify_on_failure?: boolean | undefined;
89
+ organization_id?: string | undefined;
90
+ shared?: boolean | undefined;
22
91
  }>;
23
92
  export declare const createSessionDescription: string;
24
93
  export declare function handleCreateSession(client: AlterLabClient, params: z.infer<typeof createSessionSchema>): Promise<CallToolResult>;
@@ -43,39 +112,138 @@ export declare function handleGetSession(client: AlterLabClient, params: z.infer
43
112
  export declare const updateSessionSchema: z.ZodObject<{
44
113
  session_id: z.ZodString;
45
114
  name: z.ZodOptional<z.ZodString>;
46
- cookies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
115
+ cookies: z.ZodOptional<z.ZodUnion<[z.ZodRecord<z.ZodString, z.ZodString>, z.ZodArray<z.ZodObject<{
116
+ name: z.ZodString;
117
+ value: z.ZodString;
118
+ domain: z.ZodOptional<z.ZodString>;
119
+ path: z.ZodOptional<z.ZodString>;
120
+ secure: z.ZodOptional<z.ZodBoolean>;
121
+ httpOnly: z.ZodOptional<z.ZodBoolean>;
122
+ sameSite: z.ZodOptional<z.ZodString>;
123
+ expires: z.ZodOptional<z.ZodNumber>;
124
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
125
+ name: z.ZodString;
126
+ value: z.ZodString;
127
+ domain: z.ZodOptional<z.ZodString>;
128
+ path: z.ZodOptional<z.ZodString>;
129
+ secure: z.ZodOptional<z.ZodBoolean>;
130
+ httpOnly: z.ZodOptional<z.ZodBoolean>;
131
+ sameSite: z.ZodOptional<z.ZodString>;
132
+ expires: z.ZodOptional<z.ZodNumber>;
133
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
134
+ name: z.ZodString;
135
+ value: z.ZodString;
136
+ domain: z.ZodOptional<z.ZodString>;
137
+ path: z.ZodOptional<z.ZodString>;
138
+ secure: z.ZodOptional<z.ZodBoolean>;
139
+ httpOnly: z.ZodOptional<z.ZodBoolean>;
140
+ sameSite: z.ZodOptional<z.ZodString>;
141
+ expires: z.ZodOptional<z.ZodNumber>;
142
+ }, z.ZodTypeAny, "passthrough">>, "many">]>>;
47
143
  headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
48
144
  expires_at: z.ZodOptional<z.ZodString>;
49
145
  notes: z.ZodOptional<z.ZodString>;
146
+ auto_refresh_enabled: z.ZodOptional<z.ZodBoolean>;
147
+ notify_before_expiry: z.ZodOptional<z.ZodBoolean>;
148
+ notify_on_failure: z.ZodOptional<z.ZodBoolean>;
50
149
  }, "strip", z.ZodTypeAny, {
51
150
  session_id: string;
52
151
  name?: string | undefined;
53
152
  headers?: Record<string, string> | undefined;
54
- cookies?: Record<string, string> | undefined;
153
+ cookies?: Record<string, string> | z.objectOutputType<{
154
+ name: z.ZodString;
155
+ value: z.ZodString;
156
+ domain: z.ZodOptional<z.ZodString>;
157
+ path: z.ZodOptional<z.ZodString>;
158
+ secure: z.ZodOptional<z.ZodBoolean>;
159
+ httpOnly: z.ZodOptional<z.ZodBoolean>;
160
+ sameSite: z.ZodOptional<z.ZodString>;
161
+ expires: z.ZodOptional<z.ZodNumber>;
162
+ }, z.ZodTypeAny, "passthrough">[] | undefined;
55
163
  expires_at?: string | undefined;
56
164
  notes?: string | undefined;
165
+ auto_refresh_enabled?: boolean | undefined;
166
+ notify_before_expiry?: boolean | undefined;
167
+ notify_on_failure?: boolean | undefined;
57
168
  }, {
58
169
  session_id: string;
59
170
  name?: string | undefined;
60
171
  headers?: Record<string, string> | undefined;
61
- cookies?: Record<string, string> | undefined;
172
+ cookies?: Record<string, string> | z.objectInputType<{
173
+ name: z.ZodString;
174
+ value: z.ZodString;
175
+ domain: z.ZodOptional<z.ZodString>;
176
+ path: z.ZodOptional<z.ZodString>;
177
+ secure: z.ZodOptional<z.ZodBoolean>;
178
+ httpOnly: z.ZodOptional<z.ZodBoolean>;
179
+ sameSite: z.ZodOptional<z.ZodString>;
180
+ expires: z.ZodOptional<z.ZodNumber>;
181
+ }, z.ZodTypeAny, "passthrough">[] | undefined;
62
182
  expires_at?: string | undefined;
63
183
  notes?: string | undefined;
184
+ auto_refresh_enabled?: boolean | undefined;
185
+ notify_before_expiry?: boolean | undefined;
186
+ notify_on_failure?: boolean | undefined;
64
187
  }>;
65
188
  export declare const updateSessionDescription: string;
66
189
  export declare function handleUpdateSession(client: AlterLabClient, params: z.infer<typeof updateSessionSchema>): Promise<CallToolResult>;
67
190
  export declare const refreshSessionSchema: z.ZodObject<{
68
191
  session_id: z.ZodString;
69
- cookies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
192
+ cookies: z.ZodOptional<z.ZodUnion<[z.ZodRecord<z.ZodString, z.ZodString>, z.ZodArray<z.ZodObject<{
193
+ name: z.ZodString;
194
+ value: z.ZodString;
195
+ domain: z.ZodOptional<z.ZodString>;
196
+ path: z.ZodOptional<z.ZodString>;
197
+ secure: z.ZodOptional<z.ZodBoolean>;
198
+ httpOnly: z.ZodOptional<z.ZodBoolean>;
199
+ sameSite: z.ZodOptional<z.ZodString>;
200
+ expires: z.ZodOptional<z.ZodNumber>;
201
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
202
+ name: z.ZodString;
203
+ value: z.ZodString;
204
+ domain: z.ZodOptional<z.ZodString>;
205
+ path: z.ZodOptional<z.ZodString>;
206
+ secure: z.ZodOptional<z.ZodBoolean>;
207
+ httpOnly: z.ZodOptional<z.ZodBoolean>;
208
+ sameSite: z.ZodOptional<z.ZodString>;
209
+ expires: z.ZodOptional<z.ZodNumber>;
210
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
211
+ name: z.ZodString;
212
+ value: z.ZodString;
213
+ domain: z.ZodOptional<z.ZodString>;
214
+ path: z.ZodOptional<z.ZodString>;
215
+ secure: z.ZodOptional<z.ZodBoolean>;
216
+ httpOnly: z.ZodOptional<z.ZodBoolean>;
217
+ sameSite: z.ZodOptional<z.ZodString>;
218
+ expires: z.ZodOptional<z.ZodNumber>;
219
+ }, z.ZodTypeAny, "passthrough">>, "many">]>>;
70
220
  headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
71
221
  }, "strip", z.ZodTypeAny, {
72
222
  session_id: string;
73
223
  headers?: Record<string, string> | undefined;
74
- cookies?: Record<string, string> | undefined;
224
+ cookies?: Record<string, string> | z.objectOutputType<{
225
+ name: z.ZodString;
226
+ value: z.ZodString;
227
+ domain: z.ZodOptional<z.ZodString>;
228
+ path: z.ZodOptional<z.ZodString>;
229
+ secure: z.ZodOptional<z.ZodBoolean>;
230
+ httpOnly: z.ZodOptional<z.ZodBoolean>;
231
+ sameSite: z.ZodOptional<z.ZodString>;
232
+ expires: z.ZodOptional<z.ZodNumber>;
233
+ }, z.ZodTypeAny, "passthrough">[] | undefined;
75
234
  }, {
76
235
  session_id: string;
77
236
  headers?: Record<string, string> | undefined;
78
- cookies?: Record<string, string> | undefined;
237
+ cookies?: Record<string, string> | z.objectInputType<{
238
+ name: z.ZodString;
239
+ value: z.ZodString;
240
+ domain: z.ZodOptional<z.ZodString>;
241
+ path: z.ZodOptional<z.ZodString>;
242
+ secure: z.ZodOptional<z.ZodBoolean>;
243
+ httpOnly: z.ZodOptional<z.ZodBoolean>;
244
+ sameSite: z.ZodOptional<z.ZodString>;
245
+ expires: z.ZodOptional<z.ZodNumber>;
246
+ }, z.ZodTypeAny, "passthrough">[] | undefined;
79
247
  }>;
80
248
  export declare const refreshSessionDescription: string;
81
249
  export declare function handleRefreshSession(client: AlterLabClient, params: z.infer<typeof refreshSessionSchema>): Promise<CallToolResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/tools/sessions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAenD,eAAO,MAAM,kBAAkB,gDAAe,CAAC;AAE/C,eAAO,MAAM,uBAAuB,QAI+C,CAAC;AAEpF,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,cAAc,CAAC,CAYzB;AAMD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;EAsB9B,CAAC;AAEH,eAAO,MAAM,wBAAwB,QAIc,CAAC;AAEpD,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,GAC1C,OAAO,CAAC,cAAc,CAAC,CAiBzB;AAMD,eAAO,MAAM,qBAAqB;;;;;;EAEhC,CAAC;AAEH,eAAO,MAAM,0BAA0B,QAGgB,CAAC;AAExD,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,GAC5C,OAAO,CAAC,cAAc,CAAC,CAczB;AAMD,eAAO,MAAM,gBAAgB;;;;;;EAE3B,CAAC;AAEH,eAAO,MAAM,qBAAqB,QAIqB,CAAC;AAExD,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,GACvC,OAAO,CAAC,cAAc,CAAC,CAYzB;AAMD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;EA8B9B,CAAC;AAEH,eAAO,MAAM,wBAAwB,QAIuC,CAAC;AAE7E,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,GAC1C,OAAO,CAAC,cAAc,CAAC,CAazB;AAMD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;EAa/B,CAAC;AAEH,eAAO,MAAM,yBAAyB,QAIW,CAAC;AAElD,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,GAC3C,OAAO,CAAC,cAAc,CAAC,CAazB;AAMD,eAAO,MAAM,mBAAmB;;;;;;EAE9B,CAAC;AAEH,eAAO,MAAM,wBAAwB,QAE4C,CAAC;AAElF,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,GAC1C,OAAO,CAAC,cAAc,CAAC,CAiBzB"}
1
+ {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/tools/sessions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAiBnD,eAAO,MAAM,kBAAkB,gDAAe,CAAC;AAE/C,eAAO,MAAM,uBAAuB,QAI+C,CAAC;AAEpF,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,cAAc,CAAC,CAYzB;AA4BD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqD9B,CAAC;AAEH,eAAO,MAAM,wBAAwB,QAMsC,CAAC;AAE5E,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,GAC1C,OAAO,CAAC,cAAc,CAAC,CAYzB;AAMD,eAAO,MAAM,qBAAqB;;;;;;EAEhC,CAAC;AAEH,eAAO,MAAM,0BAA0B,QAGgB,CAAC;AAExD,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,GAC5C,OAAO,CAAC,cAAc,CAAC,CAczB;AAMD,eAAO,MAAM,gBAAgB;;;;;;EAE3B,CAAC;AAEH,eAAO,MAAM,qBAAqB,QAIqB,CAAC;AAExD,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,GACvC,OAAO,CAAC,cAAc,CAAC,CAYzB;AAMD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwC9B,CAAC;AAEH,eAAO,MAAM,wBAAwB,QAIuC,CAAC;AAE7E,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,GAC1C,OAAO,CAAC,cAAc,CAAC,CAazB;AAMD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAY/B,CAAC;AAEH,eAAO,MAAM,yBAAyB,QAIW,CAAC;AAElD,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,GAC3C,OAAO,CAAC,cAAc,CAAC,CAazB;AAMD,eAAO,MAAM,mBAAmB;;;;;;EAE9B,CAAC;AAEH,eAAO,MAAM,wBAAwB,QAE4C,CAAC;AAElF,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,GAC1C,OAAO,CAAC,cAAc,CAAC,CAiBzB"}