mcp-scraper 0.45.0 → 0.46.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.
@@ -12,16 +12,16 @@ import {
12
12
  registerScheduledResultsMcpTools,
13
13
  registerSerpIntelligenceCaptureTools,
14
14
  resolveDeploymentProfile
15
- } from "../chunk-FQIICRR4.js";
15
+ } from "../chunk-BP2IUIAH.js";
16
16
  import "../chunk-2K74LVV7.js";
17
17
  import "../chunk-BBI7RGOT.js";
18
18
  import "../chunk-T5AFM4G5.js";
19
19
  import {
20
20
  renderInstallTerminal
21
- } from "../chunk-GRODXRUY.js";
21
+ } from "../chunk-QSUGPYGQ.js";
22
22
  import {
23
23
  PACKAGE_VERSION
24
- } from "../chunk-CEZ3NFBP.js";
24
+ } from "../chunk-TQKQK7OV.js";
25
25
  import "../chunk-SOEYDWJU.js";
26
26
  import "../chunk-5UN33CGU.js";
27
27
  import "../chunk-5X7CJEK3.js";
@@ -21,7 +21,7 @@ import {
21
21
  } from "./chunk-T5AFM4G5.js";
22
22
  import {
23
23
  PACKAGE_VERSION
24
- } from "./chunk-CEZ3NFBP.js";
24
+ } from "./chunk-TQKQK7OV.js";
25
25
  import {
26
26
  MC_PER_CREDIT
27
27
  } from "./chunk-SOEYDWJU.js";
@@ -385,6 +385,18 @@ seam is noted so you can chain them.
385
385
  Use saved filters when a person wants their MCP to operate inside a reading room, trail, source scope,
386
386
  category, tag bundle, media constraint, or other personalized subset of the shared Commons graph.
387
387
 
388
+ ## Transparent Commons user publications
389
+ - A user-owned editorial publication is separate from the neutral public wiki. Start with
390
+ **commons_prepare_publication** to normalize the requested subdomain, check availability, and read the live
391
+ ownership contract. Then call **commons_validate_publication** with operation \`claim\` before
392
+ **commons_claim_publication**.
393
+ - Each account may claim one stable name at \`https://{name}.transparent-commons.cc\`. Claims require an
394
+ idempotency key and never publish content by themselves.
395
+ - To publish, use **editorial_reading_room_guide** when needed, research and author the complete source-grounded
396
+ edition, validate it with **commons_validate_publication** operation \`publish\`, then call
397
+ **commons_publish_editorial**. The publish result returns the permanent publication, archive, and edition URLs.
398
+ - Use **commons_get_publication** to recover the caller's publication and current edition revisions. Existing
399
+ edition edits require the returned baseRevision. Only the account that claimed the subdomain can publish to it.
388
400
 
389
401
  ## Google Maps
390
402
  - Find multiple places/competitors/prospects -> **maps_search** (returns \`results[]\` with name,
@@ -5253,6 +5265,37 @@ var RenewEditorialReadingRoomDownloadOutputSchema = {
5253
5265
  downloadUrlExpiresAt: z4.string(),
5254
5266
  expiresAt: z4.string()
5255
5267
  };
5268
+ var CommonsPublicationSubdomainSchema = z4.string().trim().min(3).max(50).describe("Requested publication name under transparent-commons.cc. The server normalizes spaces to hyphens, rejects reserved names, and enforces one globally unique name per account.");
5269
+ var CommonsPreparePublicationInputSchema = {
5270
+ requestedSubdomain: CommonsPublicationSubdomainSchema,
5271
+ title: z4.string().trim().min(1).max(140).optional().describe("Reader-facing publication title. Omit to derive it from the chosen subdomain."),
5272
+ description: z4.string().trim().max(500).optional().describe("Short description used on the publication archive and discovery surfaces.")
5273
+ };
5274
+ var CommonsValidatePublicationInputSchema = {
5275
+ operation: z4.enum(["claim", "publish"]).describe("Validate either a new name claim or a finished editorial edition without writing."),
5276
+ requestedSubdomain: CommonsPublicationSubdomainSchema.optional().describe("Publication name to validate when operation is claim."),
5277
+ publicationSubdomain: CommonsPublicationSubdomainSchema.optional().describe("Already claimed publication name to validate when operation is publish."),
5278
+ title: z4.string().trim().min(1).max(140).optional(),
5279
+ description: z4.string().trim().max(500).optional(),
5280
+ edition: z4.object(CreateEditorialReadingRoomInputSchema).strict().optional().describe("Complete source-grounded reading-room payload to validate when operation is publish."),
5281
+ editionSlug: z4.string().trim().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/).max(80).optional().describe("Stable public edition slug. Defaults to edition.site.slug."),
5282
+ baseRevision: z4.number().int().positive().optional().describe("Current edition revision when validating an edit.")
5283
+ };
5284
+ var CommonsClaimPublicationInputSchema = {
5285
+ ...CommonsPreparePublicationInputSchema,
5286
+ idempotencyKey: z4.string().trim().min(8).max(200).describe("Unique key for this intended claim. Reuse it only when retrying the same claim.")
5287
+ };
5288
+ var CommonsPublishEditorialInputSchema = {
5289
+ publicationSubdomain: CommonsPublicationSubdomainSchema.describe("Publication owned by the authenticated account."),
5290
+ editionSlug: z4.string().trim().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/).max(80).optional().describe("Stable public edition slug. Defaults to site.slug."),
5291
+ idempotencyKey: z4.string().trim().min(8).max(200).describe("Unique key for this intended publish. Reuse it only when retrying the same revision."),
5292
+ baseRevision: z4.number().int().positive().optional().describe("Required when revising an existing edition; use the current revision from commons_get_publication."),
5293
+ ...CreateEditorialReadingRoomInputSchema
5294
+ };
5295
+ var CommonsGetPublicationInputSchema = {
5296
+ subdomain: CommonsPublicationSubdomainSchema.optional().describe("Public publication name to inspect. Omit to return the publication owned by the authenticated account."),
5297
+ includeEditions: z4.boolean().default(true).describe("Include the latest revision of every published edition.")
5298
+ };
5256
5299
  var RankTrackerModeSchema = z4.enum(["maps", "organic", "ai_overview", "paa"]);
5257
5300
  var RankTrackerBlueprintInputSchema = {
5258
5301
  projectName: z4.string().min(1).optional().describe("Optional name for the rank tracker project, client, or campaign."),
@@ -8029,6 +8072,41 @@ function registerPaaExtractorMcpTools(server, executor, options = {}) {
8029
8072
  openWorldHint: false
8030
8073
  }
8031
8074
  }, async (input) => executor.commonsListFilters(input));
8075
+ server.registerTool("commons_prepare_publication", {
8076
+ title: "Prepare Transparent Commons Publication",
8077
+ description: "Check and normalize a subscriber-chosen Transparent Commons publication name before any write. Returns name availability, the caller's existing publication, permanent URL shape, ownership rules, and the required validate/claim/publish workflow. This is for a user-owned editorial publication, not a neutral /wiki/ entity.",
8078
+ inputSchema: CommonsPreparePublicationInputSchema,
8079
+ outputSchema: recordOutputSchema("commons_prepare_publication", CommonsGenericOutputSchema),
8080
+ annotations: { title: "Prepare Transparent Commons Publication", readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false }
8081
+ }, async (input) => executor.commonsPreparePublication(input));
8082
+ server.registerTool("commons_validate_publication", {
8083
+ title: "Validate Transparent Commons Publication",
8084
+ description: "Validate a publication name claim or a complete source-grounded editorial edition without writing. Use operation claim before commons_claim_publication and operation publish before commons_publish_editorial. This uses the editorial reading-room contract and checks ownership plus revision conflicts.",
8085
+ inputSchema: CommonsValidatePublicationInputSchema,
8086
+ outputSchema: recordOutputSchema("commons_validate_publication", CommonsGenericOutputSchema),
8087
+ annotations: { title: "Validate Transparent Commons Publication", readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false }
8088
+ }, async (input) => executor.commonsValidatePublication(input));
8089
+ server.registerTool("commons_claim_publication", {
8090
+ title: "Claim Transparent Commons Publication",
8091
+ description: "Permanently claim one globally unique publication subdomain for the authenticated MCP Scraper account. Call commons_prepare_publication and commons_validate_publication first. This creates public identity state but does not publish an edition. Requires an idempotencyKey; retries with the same intended claim are safe.",
8092
+ inputSchema: CommonsClaimPublicationInputSchema,
8093
+ outputSchema: recordOutputSchema("commons_claim_publication", CommonsGenericOutputSchema),
8094
+ annotations: { title: "Claim Transparent Commons Publication", readOnlyHint: false, destructiveHint: false, idempotentHint: true, openWorldHint: true }
8095
+ }, async (input) => executor.commonsClaimPublication(input));
8096
+ server.registerTool("commons_publish_editorial", {
8097
+ title: "Publish Transparent Commons Editorial Edition",
8098
+ description: "Publish a fully authored editorial reading-room edition to the caller-owned Transparent Commons subdomain and return permanent root, archive, and edition URLs. The calling AI must research and author the source-grounded edition first; this tool validates, renders, and persists it. For an existing edition, pass its current baseRevision. Requires an idempotencyKey; this is not the neutral wiki write tool.",
8099
+ inputSchema: CommonsPublishEditorialInputSchema,
8100
+ outputSchema: recordOutputSchema("commons_publish_editorial", CommonsGenericOutputSchema),
8101
+ annotations: { title: "Publish Transparent Commons Editorial Edition", readOnlyHint: false, destructiveHint: false, idempotentHint: true, openWorldHint: true }
8102
+ }, async (input) => executor.commonsPublishEditorial(input));
8103
+ server.registerTool("commons_get_publication", {
8104
+ title: "Get Transparent Commons Publication",
8105
+ description: "Read a Transparent Commons publication and its latest edition revisions. Omit subdomain to inspect the caller-owned publication; pass a name to inspect a public publication. Returns the permanent public and archive URLs needed for sharing or later edits.",
8106
+ inputSchema: CommonsGetPublicationInputSchema,
8107
+ outputSchema: recordOutputSchema("commons_get_publication", CommonsGenericOutputSchema),
8108
+ annotations: { title: "Get Transparent Commons Publication", readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false }
8109
+ }, async (input) => executor.commonsGetPublication(input));
8032
8110
  server.registerTool("directory_workflow", {
8033
8111
  title: "Directory Workflow: Markets + Maps",
8034
8112
  description: `Start a durable directory/prospecting job: selects US city markets from versioned hosted Census-place data, optionally joins the active hosted ZIP dataset, then runs Google Maps business searches per city. Pass a new idempotencyKey for each intended job and reuse it only when retrying that call. Production does not read server-local location CSVs. Always returns a background jobId; poll with directory_workflow_status. ${fileBehavior("Saves a CSV of results per city.", "Completed jobs return an owner-scoped CSV artifact.")}`,
@@ -8864,6 +8942,28 @@ var HttpMcpToolExecutor = class {
8864
8942
  commonsListNeedsLinks(input) {
8865
8943
  return this.call("/commons/needs-links/search", input);
8866
8944
  }
8945
+ commonsPreparePublication(input) {
8946
+ return this.call("/commons/publications/prepare", input);
8947
+ }
8948
+ commonsValidatePublication(input) {
8949
+ return this.call("/commons/publications/validate", input);
8950
+ }
8951
+ commonsClaimPublication(input) {
8952
+ const { idempotencyKey, ...body } = input;
8953
+ return this.call("/commons/publications/claim", { ...body, idempotencyKey }, this.timeoutMs, "POST", {
8954
+ "Idempotency-Key": `commons-publication-claim-${createHash4("sha256").update(idempotencyKey).digest("hex")}`
8955
+ });
8956
+ }
8957
+ commonsPublishEditorial(input) {
8958
+ const { idempotencyKey, ...body } = input;
8959
+ return this.call("/commons/publications/publish", { ...body, idempotencyKey }, this.timeoutMs, "POST", {
8960
+ "Idempotency-Key": `commons-publication-publish-${createHash4("sha256").update(idempotencyKey).digest("hex")}`
8961
+ });
8962
+ }
8963
+ commonsGetPublication(input) {
8964
+ const query = new URLSearchParams({ includeEditions: String(input.includeEditions ?? true) });
8965
+ return this.getJson(input.subdomain ? `/commons/publications/${encodeURIComponent(input.subdomain)}?${query}` : `/commons/publications/me?${query}`);
8966
+ }
8867
8967
  async captureSerpSnapshot(input) {
8868
8968
  const fingerprint = createHash4("sha256").update(JSON.stringify(input)).digest("hex");
8869
8969
  const now = Date.now();
@@ -13330,6 +13430,10 @@ export {
13330
13430
  SCHEDULED_ARTIFACT_TEMPLATE_PRESET,
13331
13431
  CreateEditorialReadingRoomInputSchema,
13332
13432
  RenewEditorialReadingRoomDownloadInputSchema,
13433
+ CommonsPreparePublicationInputSchema,
13434
+ CommonsValidatePublicationInputSchema,
13435
+ CommonsClaimPublicationInputSchema,
13436
+ CommonsPublishEditorialInputSchema,
13333
13437
  resolveDeploymentProfile,
13334
13438
  isLoopbackBaseUrl,
13335
13439
  permitsLocalNetworkAccess,
@@ -13346,4 +13450,4 @@ export {
13346
13450
  ScheduledResultsMcpExecutor,
13347
13451
  registerScheduledResultsMcpTools
13348
13452
  };
13349
- //# sourceMappingURL=chunk-FQIICRR4.js.map
13453
+ //# sourceMappingURL=chunk-BP2IUIAH.js.map