mcp-scraper 0.21.2 → 0.21.4

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 (57) hide show
  1. package/README.md +1 -1
  2. package/dist/bin/api-server.cjs +1061 -308
  3. package/dist/bin/api-server.cjs.map +1 -1
  4. package/dist/bin/api-server.js +3 -3
  5. package/dist/bin/mcp-scraper-cli.cjs +1 -1
  6. package/dist/bin/mcp-scraper-cli.cjs.map +1 -1
  7. package/dist/bin/mcp-scraper-cli.js +1 -1
  8. package/dist/bin/mcp-scraper-install.cjs +1 -1
  9. package/dist/bin/mcp-scraper-install.cjs.map +1 -1
  10. package/dist/bin/mcp-scraper-install.js +1 -1
  11. package/dist/bin/mcp-stdio-server.cjs +101 -34
  12. package/dist/bin/mcp-stdio-server.cjs.map +1 -1
  13. package/dist/bin/mcp-stdio-server.js +5 -5
  14. package/dist/bin/paa-harvest.cjs +22 -0
  15. package/dist/bin/paa-harvest.cjs.map +1 -1
  16. package/dist/bin/paa-harvest.js +3 -3
  17. package/dist/{chunk-ZJDANZTQ.js → chunk-E5J4HJBO.js} +3 -2
  18. package/dist/chunk-E5J4HJBO.js.map +1 -0
  19. package/dist/{chunk-DZBGULWW.js → chunk-ICT7DDHL.js} +399 -3
  20. package/dist/chunk-ICT7DDHL.js.map +1 -0
  21. package/dist/{chunk-2FF4GBQ4.js → chunk-JHI373VB.js} +49 -7
  22. package/dist/chunk-JHI373VB.js.map +1 -0
  23. package/dist/{chunk-GMZFQRH2.js → chunk-MTSBI7ZH.js} +23 -6
  24. package/dist/chunk-MTSBI7ZH.js.map +1 -0
  25. package/dist/{chunk-ZNNYPE2U.js → chunk-N4JHXPW6.js} +89 -27
  26. package/dist/chunk-N4JHXPW6.js.map +1 -0
  27. package/dist/{chunk-X3NIXHHG.js → chunk-PNBYYAEK.js} +3 -3
  28. package/dist/{chunk-JBME5WJR.js → chunk-SDHPQTFM.js} +2 -2
  29. package/dist/chunk-WQI7JIIN.js +7 -0
  30. package/dist/chunk-WQI7JIIN.js.map +1 -0
  31. package/dist/{db-EONGTNJM.js → db-WRILVOFY.js} +6 -2
  32. package/dist/{extract-bundle-HMCYUVBJ.js → extract-bundle-NFFVMUMT.js} +2 -2
  33. package/dist/index.cjs +22 -0
  34. package/dist/index.cjs.map +1 -1
  35. package/dist/index.js +3 -3
  36. package/dist/{server-CHTX6YQA.js → server-OLOOFN5W.js} +499 -271
  37. package/dist/server-OLOOFN5W.js.map +1 -0
  38. package/dist/{site-extract-repository-5V5EEQ72.js → site-extract-repository-2QQSL2QC.js} +4 -4
  39. package/dist/{worker-GE5JMHE6.js → worker-RV2TYXE3.js} +15 -8
  40. package/dist/worker-RV2TYXE3.js.map +1 -0
  41. package/docs/mcp-tool-manifest.generated.json +90 -11
  42. package/docs/specs/oauth-mcp-spec.md +2 -2
  43. package/package.json +1 -1
  44. package/dist/chunk-2FF4GBQ4.js.map +0 -1
  45. package/dist/chunk-DZBGULWW.js.map +0 -1
  46. package/dist/chunk-GMZFQRH2.js.map +0 -1
  47. package/dist/chunk-NBF4F4UT.js +0 -7
  48. package/dist/chunk-NBF4F4UT.js.map +0 -1
  49. package/dist/chunk-ZJDANZTQ.js.map +0 -1
  50. package/dist/chunk-ZNNYPE2U.js.map +0 -1
  51. package/dist/server-CHTX6YQA.js.map +0 -1
  52. package/dist/worker-GE5JMHE6.js.map +0 -1
  53. /package/dist/{chunk-X3NIXHHG.js.map → chunk-PNBYYAEK.js.map} +0 -0
  54. /package/dist/{chunk-JBME5WJR.js.map → chunk-SDHPQTFM.js.map} +0 -0
  55. /package/dist/{db-EONGTNJM.js.map → db-WRILVOFY.js.map} +0 -0
  56. /package/dist/{extract-bundle-HMCYUVBJ.js.map → extract-bundle-NFFVMUMT.js.map} +0 -0
  57. /package/dist/{site-extract-repository-5V5EEQ72.js.map → site-extract-repository-2QQSL2QC.js.map} +0 -0
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  LedgerOperation
3
- } from "./chunk-2FF4GBQ4.js";
3
+ } from "./chunk-JHI373VB.js";
4
4
  import {
5
5
  sanitizeVendorName
6
6
  } from "./chunk-M2S27J6Z.js";
7
7
  import {
8
8
  getDb
9
- } from "./chunk-DZBGULWW.js";
9
+ } from "./chunk-ICT7DDHL.js";
10
10
 
11
11
  // src/api/site-extract-repository.ts
12
12
  function rowToJob(r) {
@@ -127,4 +127,4 @@ export {
127
127
  failExtractJob,
128
128
  settleExtractJob
129
129
  };
130
- //# sourceMappingURL=chunk-X3NIXHHG.js.map
130
+ //# sourceMappingURL=chunk-PNBYYAEK.js.map
@@ -6,7 +6,7 @@ import {
6
6
  import {
7
7
  finishHarvestAttempt,
8
8
  startHarvestAttempt
9
- } from "./chunk-DZBGULWW.js";
9
+ } from "./chunk-ICT7DDHL.js";
10
10
 
11
11
  // src/api/harvest-problems.ts
12
12
  function errorMessage(err) {
@@ -155,4 +155,4 @@ export {
155
155
  harvestProblemResponse,
156
156
  createHarvestAttemptRecorder
157
157
  };
158
- //# sourceMappingURL=chunk-JBME5WJR.js.map
158
+ //# sourceMappingURL=chunk-SDHPQTFM.js.map
@@ -0,0 +1,7 @@
1
+ // src/version.ts
2
+ var PACKAGE_VERSION = "0.21.4";
3
+
4
+ export {
5
+ PACKAGE_VERSION
6
+ };
7
+ //# sourceMappingURL=chunk-WQI7JIIN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/version.ts"],"sourcesContent":["export const PACKAGE_VERSION = '0.21.4'\n"],"mappings":";AAAO,IAAM,kBAAkB;","names":[]}
@@ -26,6 +26,7 @@ import {
26
26
  creditMc,
27
27
  deactivateUser,
28
28
  debitMc,
29
+ debitMcIdempotent,
29
30
  deleteWorkflowSchedule,
30
31
  expireOldLots,
31
32
  failJob,
@@ -94,12 +95,13 @@ import {
94
95
  setStripeCustomerId,
95
96
  setSubscriptionTier,
96
97
  setUserMemoryCreds,
98
+ settleDebitMcIdempotent,
97
99
  startHarvestAttempt,
98
100
  stripeEventAlreadyProcessed,
99
101
  updateKpoJobState,
100
102
  upsertPageSnapshot,
101
103
  verifyPassword
102
- } from "./chunk-DZBGULWW.js";
104
+ } from "./chunk-ICT7DDHL.js";
103
105
  export {
104
106
  CREDIT_LOT_TTL,
105
107
  SiteAuditJobRowSchema,
@@ -128,6 +130,7 @@ export {
128
130
  creditMc,
129
131
  deactivateUser,
130
132
  debitMc,
133
+ debitMcIdempotent,
131
134
  deleteWorkflowSchedule,
132
135
  expireOldLots,
133
136
  failJob,
@@ -196,10 +199,11 @@ export {
196
199
  setStripeCustomerId,
197
200
  setSubscriptionTier,
198
201
  setUserMemoryCreds,
202
+ settleDebitMcIdempotent,
199
203
  startHarvestAttempt,
200
204
  stripeEventAlreadyProcessed,
201
205
  updateKpoJobState,
202
206
  upsertPageSnapshot,
203
207
  verifyPassword
204
208
  };
205
- //# sourceMappingURL=db-EONGTNJM.js.map
209
+ //# sourceMappingURL=db-WRILVOFY.js.map
@@ -10,7 +10,7 @@ import {
10
10
  } from "./chunk-R7EETU7Z.js";
11
11
  import {
12
12
  getDb
13
- } from "./chunk-DZBGULWW.js";
13
+ } from "./chunk-ICT7DDHL.js";
14
14
 
15
15
  // src/api/extract-bundle.ts
16
16
  import { createWriteStream, mkdirSync, readFileSync, readdirSync, rmSync, statSync, writeFileSync } from "fs";
@@ -328,4 +328,4 @@ ${renderImageSection(extras.imageAudit)}`;
328
328
  export {
329
329
  assembleExtractArtifacts
330
330
  };
331
- //# sourceMappingURL=extract-bundle-HMCYUVBJ.js.map
331
+ //# sourceMappingURL=extract-bundle-NFFVMUMT.js.map
package/dist/index.cjs CHANGED
@@ -282,6 +282,7 @@ function getDb() {
282
282
  if (!_db) _db = (0, import_http.createClient)({ url: DB_URL, authToken: DB_TOKEN });
283
283
  return _db;
284
284
  }
285
+ var REQUEST_EVENT_RESULT_MAX_BYTES = 32 * 1024;
285
286
  var SiteAuditJobRowSchema = import_zod2.z.object({
286
287
  id: import_zod2.z.string(),
287
288
  user_id: import_zod2.z.number(),
@@ -337,9 +338,29 @@ function vendorCostUsd(vendor, units) {
337
338
 
338
339
  // src/api/cost-telemetry.ts
339
340
  var _ready = false;
341
+ var _migrationPromise = null;
340
342
  async function migrateCostTelemetry() {
341
343
  if (_ready) return;
344
+ if (_migrationPromise) return _migrationPromise;
345
+ _migrationPromise = runCostTelemetryMigration().finally(() => {
346
+ _migrationPromise = null;
347
+ });
348
+ return _migrationPromise;
349
+ }
350
+ async function runCostTelemetryMigration() {
342
351
  const db = getDb();
352
+ const existing = await db.execute(`
353
+ SELECT
354
+ (SELECT COUNT(*) FROM sqlite_master WHERE type = 'table' AND name IN ('kernel_session_log', 'vendor_usage_log', 'cost_probe_runs')) = 3
355
+ AND (SELECT COUNT(*) FROM pragma_table_info('kernel_session_log') WHERE name IN ('proxy_source', 'proxy_type', 'method')) = 3
356
+ AND (SELECT COUNT(*) FROM pragma_table_info('vendor_usage_log') WHERE name = 'method') = 1
357
+ AND (SELECT COUNT(*) FROM pragma_table_info('cost_probe_runs') WHERE name IN ('units', 'unit_type', 'mode')) = 3
358
+ AS ready
359
+ `);
360
+ if (Number(existing.rows[0]?.ready ?? 0) === 1) {
361
+ _ready = true;
362
+ return;
363
+ }
343
364
  await db.execute(`
344
365
  CREATE TABLE IF NOT EXISTS kernel_session_log (
345
366
  id TEXT PRIMARY KEY,
@@ -634,6 +655,7 @@ var BrowserDriver = class {
634
655
  else if (config.headlessMode === "headless") useHeadless = true;
635
656
  else useHeadless = costCtx?.forceHeadless === true || process.env.KERNEL_HEADLESS_DISABLED !== "true" && !!costCtx?.op && HEADLESS_OPS.has(costCtx.op);
636
657
  this.kernelHeadlessSent = useHeadless ? true : null;
658
+ if (costCtx?.headlessSentOut) costCtx.headlessSentOut.value = this.kernelHeadlessSent;
637
659
  const kernelBrowser = await this.kernelClient.browsers.create({
638
660
  stealth: true,
639
661
  timeout_seconds: timeoutSeconds,