@spicrawl/mcp 0.1.6 → 0.1.7
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.
- package/CHANGELOG.md +8 -0
- package/README.md +4 -1
- package/dist/card.d.ts +2 -1
- package/dist/card.js +2 -1
- package/dist/card.js.map +1 -1
- package/dist/http.d.ts +4 -0
- package/dist/http.js +87 -5
- package/dist/http.js.map +1 -1
- package/dist/httputil.d.ts +8 -2
- package/dist/httputil.js +12 -3
- package/dist/httputil.js.map +1 -1
- package/dist/tools/actions.d.ts +12 -12
- package/dist/tools/batch.js +116 -1
- package/dist/tools/batch.js.map +1 -1
- package/dist/tools/browser.js +8 -1
- package/dist/tools/browser.js.map +1 -1
- package/dist/tools/common.d.ts +20 -8
- package/dist/tools/common.js +28 -3
- package/dist/tools/common.js.map +1 -1
- package/dist/tools/docs.js +78 -15
- package/dist/tools/docs.js.map +1 -1
- package/dist/tools/requests.js +70 -1
- package/dist/tools/requests.js.map +1 -1
- package/dist/tools/scrape.js +41 -1
- package/dist/tools/scrape.js.map +1 -1
- package/dist/tools/sessions.js +87 -1
- package/dist/tools/sessions.js.map +1 -1
- package/dist/tools/usage.js +105 -1
- package/dist/tools/usage.js.map +1 -1
- package/package.json +1 -1
package/dist/tools/requests.js
CHANGED
|
@@ -1,10 +1,77 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { run } from "./common.js";
|
|
2
|
+
import { loose, run } from "./common.js";
|
|
3
3
|
// Request history: /v1/requests. Per-call records from the request log (Redis),
|
|
4
4
|
// retained only for the org's retention window. The key's own project needs any
|
|
5
5
|
// valid key; all_projects=true (every project in the org) and another project's
|
|
6
6
|
// request by id need the `read` scope.
|
|
7
7
|
// Not billing-grade: totals here need not match an invoice (use spicrawl_usage).
|
|
8
|
+
// One record of the request log (openapi.yaml: RequestLogEntry). Fields the API
|
|
9
|
+
// leaves out when zero or unknown are optional; spans are null when not measured.
|
|
10
|
+
const MS = z.number().nullish();
|
|
11
|
+
const ENTRY = {
|
|
12
|
+
id: z.string().describe("The request id (X-Request-Id)."),
|
|
13
|
+
created_at: z.string().optional().describe("When the request arrived, RFC 3339 UTC."),
|
|
14
|
+
project_id: z.string().optional(),
|
|
15
|
+
engine: z.string().optional().describe("The rendering tier that served it: fetch, js or browser. Absent when refused before a tier was chosen."),
|
|
16
|
+
status: z.string().optional().describe("Terminal outcome: success, failed, timeout, blocked, rejected or cancelled. Only success is charged."),
|
|
17
|
+
http_status: z.number().optional().describe("The target's HTTP status; absent when no response was received."),
|
|
18
|
+
error_code: z.string().optional().describe("The problem code the caller got, e.g. ERR::UPSTREAM::CHALLENGE. Absent on success."),
|
|
19
|
+
error_detail: z.string().optional(),
|
|
20
|
+
attempts: z.number().optional().describe("Dispatch attempts including retries."),
|
|
21
|
+
url: z.string().optional().describe("The target URL as requested."),
|
|
22
|
+
url_host: z.string().optional(),
|
|
23
|
+
proxy: loose({
|
|
24
|
+
source: z.string().optional().describe("pool, custom or direct."),
|
|
25
|
+
endpoint_id: z.string().optional(),
|
|
26
|
+
provider: z.string().optional(),
|
|
27
|
+
requested_tier: z.string().optional(),
|
|
28
|
+
requested_country: z.string().optional(),
|
|
29
|
+
country: z.string().optional().describe("Where the exit actually served from; compare with requested_country."),
|
|
30
|
+
sticky: z.boolean().optional(),
|
|
31
|
+
reason: z.string().optional(),
|
|
32
|
+
endpoints: z.array(z.string()).nullish().describe("Every exit touched, in attempt order."),
|
|
33
|
+
})
|
|
34
|
+
.optional()
|
|
35
|
+
.describe("What proxy was asked for versus what served. Never an exit IP or credentials."),
|
|
36
|
+
spans: loose({
|
|
37
|
+
admission_ms: MS,
|
|
38
|
+
dispatch_ms: MS,
|
|
39
|
+
worker_ms: MS,
|
|
40
|
+
queue_ms: MS.describe("Wait for a slot; high means capacity shortage, not a slow page."),
|
|
41
|
+
engine_ms: MS,
|
|
42
|
+
upstream_ms: MS,
|
|
43
|
+
extract_ms: MS,
|
|
44
|
+
total_ms: MS,
|
|
45
|
+
})
|
|
46
|
+
.optional()
|
|
47
|
+
.describe("Latency in milliseconds per stage; null means not measured. Stages do not sum to total_ms."),
|
|
48
|
+
blocked: loose({
|
|
49
|
+
vendor: z.string().optional(),
|
|
50
|
+
signal: z.string().optional(),
|
|
51
|
+
rule: z.string().optional(),
|
|
52
|
+
})
|
|
53
|
+
.optional()
|
|
54
|
+
.describe("Present only when a bot challenge was detected."),
|
|
55
|
+
bytes_in: z.number().optional(),
|
|
56
|
+
bytes_out: z.number().optional(),
|
|
57
|
+
proxy_bytes: z.number().optional(),
|
|
58
|
+
credits_micro: z.number().optional().describe("Credits charged in micro-credits (1 credit = 1000000); 0 unless success."),
|
|
59
|
+
features: z.record(z.string(), z.unknown()).optional().describe("Features the request used; free-form."),
|
|
60
|
+
};
|
|
61
|
+
// `data` and `page` are optional so a gateway or older server that words the
|
|
62
|
+
// list differently never fails the call; a real answer always carries both.
|
|
63
|
+
const LIST_OUTPUT = loose({
|
|
64
|
+
data: z.array(loose(ENTRY)).optional().describe("Request records, newest first. Can be shorter than limit while page.has_more is true."),
|
|
65
|
+
page: loose({
|
|
66
|
+
retention_hours: z.number().optional().describe("How long records are kept; an empty data means nothing in this window."),
|
|
67
|
+
retained_since: z.string().optional().describe("The oldest instant still readable."),
|
|
68
|
+
has_more: z.boolean().optional().describe("True when more records may exist; continue with next_before and next_before_id."),
|
|
69
|
+
next_before: z.string().optional().describe("Send back as before. Present only when has_more."),
|
|
70
|
+
next_before_id: z.string().optional().describe("Send back as before_id. Present only when has_more."),
|
|
71
|
+
})
|
|
72
|
+
.optional()
|
|
73
|
+
.describe("Paging cursor and the retention window."),
|
|
74
|
+
});
|
|
8
75
|
export const registerRequestsTools = (server, client) => {
|
|
9
76
|
server.registerTool("spicrawl_requests_list", {
|
|
10
77
|
title: "List recent requests",
|
|
@@ -37,6 +104,7 @@ export const registerRequestsTools = (server, client) => {
|
|
|
37
104
|
.optional()
|
|
38
105
|
.describe("Cursor: request id, exactly as returned in page.next_before_id."),
|
|
39
106
|
},
|
|
107
|
+
outputSchema: LIST_OUTPUT,
|
|
40
108
|
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false },
|
|
41
109
|
}, async (args) => run(() => {
|
|
42
110
|
const qs = new URLSearchParams();
|
|
@@ -65,6 +133,7 @@ export const registerRequestsTools = (server, client) => {
|
|
|
65
133
|
inputSchema: {
|
|
66
134
|
id: z.string().min(1).describe("The request id (a ULID, from X-Request-Id or a spicrawl_requests_list row's `id`)."),
|
|
67
135
|
},
|
|
136
|
+
outputSchema: loose(ENTRY),
|
|
68
137
|
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false },
|
|
69
138
|
}, async ({ id }) => run(() => client.request("GET", `/v1/requests/${encodeURIComponent(id)}`)));
|
|
70
139
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requests.js","sourceRoot":"","sources":["../../src/tools/requests.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,GAAG,EAAsB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"requests.js","sourceRoot":"","sources":["../../src/tools/requests.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/scrape.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { COMING_SOON, availableOnly, run } from "./common.js";
|
|
2
|
+
import { COMING_SOON, availableOnly, loose, run } from "./common.js";
|
|
3
3
|
import { attachScreenshots } from "./screenshots.js";
|
|
4
4
|
import { attachPdf } from "./pdf.js";
|
|
5
5
|
import { ActionsSchema, toApiActions } from "./actions.js";
|
|
@@ -130,6 +130,45 @@ export const registerScrapeTools = (server, client, { hideUnavailable }) => {
|
|
|
130
130
|
.optional()
|
|
131
131
|
.describe("Target statuses to treat as success instead of an error (e.g. [404] to capture a not-found page)."),
|
|
132
132
|
};
|
|
133
|
+
// What spicrawl_scrape returns (ScrapeEnvelope in the API's OpenAPI). Every field is
|
|
134
|
+
// optional and the object is open: a markdown/text/html scrape is just `{ content }`, a
|
|
135
|
+
// PDF carries `pdf` instead of `content`, and a result the schema rejected would be
|
|
136
|
+
// reported as a tool error AFTER the credits were charged, so nothing here is strict.
|
|
137
|
+
const ScrapeOutput = loose({
|
|
138
|
+
content: z.string().optional().describe("The page in the requested format (markdown, text or html); absent for a PDF."),
|
|
139
|
+
url: z.string().optional().describe("The requested URL."),
|
|
140
|
+
final_url: z.string().optional().describe("URL after redirects; may be empty."),
|
|
141
|
+
status: z.number().optional().describe("The target site's HTTP status (not this call's). Anything but 200/404/410 is charged 0."),
|
|
142
|
+
credits: z.number().optional().describe("Credits charged for this call."),
|
|
143
|
+
engine: z.string().optional().describe("Rendering tier that produced the page: fetch, js or browser."),
|
|
144
|
+
proxy_source: z.string().optional().describe("Whose exit carried the request: pool, custom or direct."),
|
|
145
|
+
truncated: z.boolean().optional().describe("The target body exceeded the size cap and was cut."),
|
|
146
|
+
headers: z.record(z.string()).nullish().describe("The target's response headers."),
|
|
147
|
+
warnings: z.array(z.string()).nullish().describe("Advisories about the call, e.g. an ignored option."),
|
|
148
|
+
data: z.record(z.unknown()).nullish().describe("Output of `extract` or `autoparse`."),
|
|
149
|
+
empty_fields: z.array(z.string()).nullish().describe("`extract` rules that matched nothing: usually a broken selector."),
|
|
150
|
+
links: z.array(z.string()).nullish().describe("The page's links, absolute and de-duplicated, when `links` was set."),
|
|
151
|
+
screenshots: z
|
|
152
|
+
.array(loose({
|
|
153
|
+
label: z.string().optional(),
|
|
154
|
+
format: z.string().optional(),
|
|
155
|
+
size_bytes: z.number().optional(),
|
|
156
|
+
width: z.number().optional(),
|
|
157
|
+
height: z.number().optional(),
|
|
158
|
+
attached_as: z.string().optional().describe("Which image content block holds this screenshot."),
|
|
159
|
+
not_attached: z.string().optional().describe("Why the image is not attached, and how to get it."),
|
|
160
|
+
}))
|
|
161
|
+
.nullish()
|
|
162
|
+
.describe("Metadata of each screenshot; the images are separate image content blocks."),
|
|
163
|
+
network: z.array(z.record(z.unknown())).nullish().describe("Responses the page fetched, when `network_capture` was set."),
|
|
164
|
+
pdf: loose({
|
|
165
|
+
content_type: z.string().optional(),
|
|
166
|
+
size_bytes: z.number().optional(),
|
|
167
|
+
attached_as: z.string().optional().describe("Which resource content block holds the PDF."),
|
|
168
|
+
not_attached: z.string().optional().describe("Why the PDF is not attached, and how to get it."),
|
|
169
|
+
}).optional().describe("Present for format=pdf: the file itself is a resource content block."),
|
|
170
|
+
diagnostics: z.record(z.unknown()).nullish().describe("Which rendering tiers were tried, after an escalation."),
|
|
171
|
+
});
|
|
133
172
|
/**
|
|
134
173
|
* API parameter names this tool exposes under a different argument name. An
|
|
135
174
|
* API message saying "set `js_render=true`" is advice the agent cannot follow
|
|
@@ -162,6 +201,7 @@ export const registerScrapeTools = (server, client, { hideUnavailable }) => {
|
|
|
162
201
|
"Screenshots come back as image content blocks; each `screenshots` entry in the JSON keeps its metadata and says which block holds it. " +
|
|
163
202
|
"A PDF comes back as a resource content block, with its size, the rendering tier and the credits in the JSON.",
|
|
164
203
|
inputSchema: availableOnly(ScrapeInput, hideUnavailable),
|
|
204
|
+
outputSchema: ScrapeOutput,
|
|
165
205
|
// Not read-only, whatever the default call does: `method` accepts POST/PUT/PATCH/DELETE
|
|
166
206
|
// and `actions` can click, fill and run scripts on the target page, so a call can submit
|
|
167
207
|
// a form or write to a third-party site (a write-style outbound action). Not marked
|
package/dist/tools/scrape.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scrape.js","sourceRoot":"","sources":["../../src/tools/scrape.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scrape.js","sourceRoot":"","sources":["../../src/tools/scrape.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/sessions.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { COMING_SOON, availableOnly, run } from "./common.js";
|
|
2
|
+
import { COMING_SOON, availableOnly, loose, run } from "./common.js";
|
|
3
3
|
const sessionPath = (id) => `/v1/sessions/${encodeURIComponent(id)}`;
|
|
4
4
|
function withQuery(path, q) {
|
|
5
5
|
const params = new URLSearchParams();
|
|
@@ -16,6 +16,86 @@ const force = z
|
|
|
16
16
|
.describe("Break an active lease (a scrape currently using the session). Only set when you know it is safe.");
|
|
17
17
|
// The rendering tiers a session can be bound to (the API's public names).
|
|
18
18
|
const engines = ["fetch", "js", "browser"];
|
|
19
|
+
// Output shapes (structuredContent). Loose and mostly optional: the API may add fields, and a
|
|
20
|
+
// session in another state omits some (a released one has `context: null`, no `lease`).
|
|
21
|
+
const ts = (what) => z.string().optional().describe(`${what}, RFC 3339 UTC.`);
|
|
22
|
+
const domainScores = z
|
|
23
|
+
.record(loose({
|
|
24
|
+
score: z.number().optional().describe("Error score; rises on failures, decays on successes. Blocked at 3."),
|
|
25
|
+
good: z.number().int().optional().describe("Successful requests counted."),
|
|
26
|
+
bad: z.number().int().optional().describe("Failed requests counted."),
|
|
27
|
+
last_updated: z.number().optional().describe("Last update, Unix milliseconds."),
|
|
28
|
+
retired: z.boolean().optional().describe("Hard block for this domain; use a new session for it."),
|
|
29
|
+
}))
|
|
30
|
+
.optional()
|
|
31
|
+
.describe("Per-domain standing, keyed by domain. Omitted when empty.");
|
|
32
|
+
const sessionOut = loose({
|
|
33
|
+
id: z.string().describe("Session id; pass it as `session_id` to spicrawl_scrape."),
|
|
34
|
+
project_id: z.string().optional().describe("Project the session belongs to."),
|
|
35
|
+
// Plain strings, not enums: a client rejects a result that fails its outputSchema, so a value the API adds later must not break the call.
|
|
36
|
+
engine: z.string().optional().describe("Rendering tier the session is bound to: fetch, js or browser."),
|
|
37
|
+
status: z.string().optional().describe("active, released or expired; derived from the clock, and only `active` sessions can be used."),
|
|
38
|
+
sticky_key: z.string().optional().describe("Exit pin in use (empty when rotate_ip was set)."),
|
|
39
|
+
proxy: loose({
|
|
40
|
+
tier: z.string().optional().describe("Exit tier: datacenter or residential."),
|
|
41
|
+
country: z.string().optional().describe("Lowercase alpha-2 exit country, when one was requested."),
|
|
42
|
+
region_pool: z.string().optional().describe("Regional pool requested at creation."),
|
|
43
|
+
})
|
|
44
|
+
.optional()
|
|
45
|
+
.describe("The session's exit intent (never an IP or endpoint)."),
|
|
46
|
+
created_at: ts("Creation time"),
|
|
47
|
+
last_used_at: z.string().nullish().describe("Last successful scrape, RFC 3339 UTC; null if never used."),
|
|
48
|
+
expires_at: ts("Current expiry (slides on use)"),
|
|
49
|
+
hard_expires_at: ts("Fixed ceiling the expiry never passes"),
|
|
50
|
+
released_at: ts("Release time, on released sessions"),
|
|
51
|
+
usage_count: z.number().int().optional().describe("Successful scrapes that used the session."),
|
|
52
|
+
context: loose({
|
|
53
|
+
schema_version: z.number().int().optional(),
|
|
54
|
+
cookies: z.number().int().optional().describe("Cookies stored."),
|
|
55
|
+
origins: z.number().int().optional().describe("Distinct origins with stored web storage."),
|
|
56
|
+
bytes: z.number().int().optional().describe("Serialised size of the stored context."),
|
|
57
|
+
})
|
|
58
|
+
.nullish()
|
|
59
|
+
.describe("Size summary of the stored context (counts only, no secrets); null once the session is not active."),
|
|
60
|
+
retired: z.string().optional().describe("Why the session was taken out of service (expired, usage_exhausted, explicit); absent while usable."),
|
|
61
|
+
domain_scores: domainScores,
|
|
62
|
+
fingerprint: z.record(z.unknown()).optional().describe("Browser fingerprint, as stored."),
|
|
63
|
+
lease: loose({
|
|
64
|
+
holder: z.string().optional(),
|
|
65
|
+
expires_at: ts("When the lease lapses at the latest"),
|
|
66
|
+
})
|
|
67
|
+
.optional()
|
|
68
|
+
.describe("Present only while a scrape holds the session; release and delete are refused until it lapses unless `force`."),
|
|
69
|
+
warnings: z.array(z.string()).optional().describe("Decisions made on your behalf at creation, e.g. a TTL reduced to the organization maximum."),
|
|
70
|
+
});
|
|
71
|
+
const sessionListOut = loose({
|
|
72
|
+
sessions: z.array(sessionOut).describe("Sessions on this page, newest first; may be short or empty under a `status` filter."),
|
|
73
|
+
next_cursor: z.string().optional().describe("Pass back as `cursor` for the next page; absent on the last page."),
|
|
74
|
+
});
|
|
75
|
+
const sessionContextOut = loose({
|
|
76
|
+
session_id: z.string().describe("The session id."),
|
|
77
|
+
schema_version: z.number().int().optional(),
|
|
78
|
+
session_context: loose({
|
|
79
|
+
cookies: z.array(loose({ name: z.string().optional(), value: z.string().optional(), domain: z.string().optional() })).optional(),
|
|
80
|
+
local_storage: z.record(z.unknown()).optional().describe("Origin to key/value map."),
|
|
81
|
+
session_storage: z.record(z.unknown()).optional().describe("Origin to key/value map."),
|
|
82
|
+
indexed_db: z.record(z.unknown()).optional().describe("Origin to databases; opaque."),
|
|
83
|
+
})
|
|
84
|
+
.optional()
|
|
85
|
+
.describe("Cookies and storage: secrets. Pass it as `session_context` to spicrawl_session_create to clone the session."),
|
|
86
|
+
fingerprint: z.record(z.unknown()).nullish().describe("Stored browser fingerprint; null when none."),
|
|
87
|
+
domain_scores: domainScores,
|
|
88
|
+
retired: z.string().optional().describe("Why the session was retired; absent while usable."),
|
|
89
|
+
usage_count: z.number().int().optional(),
|
|
90
|
+
created_at: ts("Creation time"),
|
|
91
|
+
last_used_at: z.string().nullish().describe("Last use, RFC 3339 UTC; null if never used."),
|
|
92
|
+
expires_at: ts("Current expiry"),
|
|
93
|
+
warning: z.string().optional().describe("The API's reminder that this state dies with the session."),
|
|
94
|
+
});
|
|
95
|
+
const sessionDeletedOut = loose({
|
|
96
|
+
deleted: z.boolean().describe("Always true on success (deleting an already-deleted session succeeds)."),
|
|
97
|
+
session_id: z.string().describe("The id that was deleted."),
|
|
98
|
+
});
|
|
19
99
|
// Sessions: /v1/sessions.
|
|
20
100
|
export const registerSessionsTools = (server, client, { hideUnavailable }) => {
|
|
21
101
|
// -------------------------------------------------------------------------
|
|
@@ -74,6 +154,7 @@ export const registerSessionsTools = (server, client, { hideUnavailable }) => {
|
|
|
74
154
|
.describe("Seed the session's state (cookies, storage) — e.g. the `session_context` object from spicrawl_session_context, to clone a session."),
|
|
75
155
|
}, hideUnavailable),
|
|
76
156
|
// Creates a persistent record in the user's own account; nothing outside it is contacted.
|
|
157
|
+
outputSchema: sessionOut,
|
|
77
158
|
annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: false, openWorldHint: false },
|
|
78
159
|
}, async (input) => {
|
|
79
160
|
const body = {};
|
|
@@ -95,6 +176,7 @@ export const registerSessionsTools = (server, client, { hideUnavailable }) => {
|
|
|
95
176
|
limit: z.number().int().min(1).max(200).optional().describe("Page size (default 50, max 200)."),
|
|
96
177
|
cursor: z.string().optional().describe("`next_cursor` from a previous page, verbatim."),
|
|
97
178
|
},
|
|
179
|
+
outputSchema: sessionListOut,
|
|
98
180
|
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false },
|
|
99
181
|
}, async ({ status, engine, limit, cursor }) => run(() => client.request("GET", withQuery("/v1/sessions", { status, engine, limit, cursor }))));
|
|
100
182
|
// -------------------------------------------------------------------------
|
|
@@ -105,6 +187,7 @@ export const registerSessionsTools = (server, client, { hideUnavailable }) => {
|
|
|
105
187
|
description: "Return one session's metadata: status, `engine` (its rendering tier), proxy/exit, usage count, expiry, lease holder, and a summary " +
|
|
106
188
|
"of its stored context. Never returns the credentials themselves (use spicrawl_session_context for that).",
|
|
107
189
|
inputSchema: { session_id: sessionId },
|
|
190
|
+
outputSchema: sessionOut,
|
|
108
191
|
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false },
|
|
109
192
|
}, async ({ session_id }) => run(() => client.request("GET", sessionPath(session_id))));
|
|
110
193
|
// -------------------------------------------------------------------------
|
|
@@ -116,6 +199,7 @@ export const registerSessionsTools = (server, client, { hideUnavailable }) => {
|
|
|
116
199
|
"fingerprint and domain scores. The `session_context` object can be passed to spicrawl_session_create to clone " +
|
|
117
200
|
"the session. The result contains secrets (login cookies): do not echo it to the user or logs unless asked.",
|
|
118
201
|
inputSchema: { session_id: sessionId },
|
|
202
|
+
outputSchema: sessionContextOut,
|
|
119
203
|
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false },
|
|
120
204
|
}, async ({ session_id }) => run(() => client.request("GET", `${sessionPath(session_id)}/context`)));
|
|
121
205
|
// -------------------------------------------------------------------------
|
|
@@ -128,6 +212,7 @@ export const registerSessionsTools = (server, client, { hideUnavailable }) => {
|
|
|
128
212
|
"The record stays visible (status `released`) so its history can still be inspected. " +
|
|
129
213
|
"Refused while a scrape holds the session's lease unless `force` is true. Returns the session object.",
|
|
130
214
|
inputSchema: { session_id: sessionId, force },
|
|
215
|
+
outputSchema: sessionOut,
|
|
131
216
|
annotations: { readOnlyHint: false, destructiveHint: true, idempotentHint: true, openWorldHint: false },
|
|
132
217
|
}, async ({ session_id, force }) => run(() => client.request("POST", withQuery(`${sessionPath(session_id)}/release`, { force }))));
|
|
133
218
|
// -------------------------------------------------------------------------
|
|
@@ -139,6 +224,7 @@ export const registerSessionsTools = (server, client, { hideUnavailable }) => {
|
|
|
139
224
|
"if you only want to stop using it). Idempotent: deleting an already-deleted session succeeds. Refused while a " +
|
|
140
225
|
"scrape holds the session's lease unless `force` is true.",
|
|
141
226
|
inputSchema: { session_id: sessionId, force },
|
|
227
|
+
outputSchema: sessionDeletedOut,
|
|
142
228
|
annotations: { readOnlyHint: false, destructiveHint: true, idempotentHint: true, openWorldHint: false },
|
|
143
229
|
}, async ({ session_id, force }) => run(async () => {
|
|
144
230
|
await client.request("DELETE", withQuery(sessionPath(session_id), { force }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/tools/sessions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/tools/sessions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,EAAsB,MAAM,aAAa,CAAC;AAEzF,MAAM,WAAW,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,gBAAgB,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC;AAE7E,SAAS,SAAS,CAAC,IAAY,EAAE,CAAwD;IACvF,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,IAAI,CAAC,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACtF,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC5B,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACnC,CAAC;AAED,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,8EAA8E,CAAC,CAAC;AAC7H,MAAM,KAAK,GAAG,CAAC;KACZ,OAAO,EAAE;KACT,QAAQ,EAAE;KACV,QAAQ,CAAC,kGAAkG,CAAC,CAAC;AAEhH,0EAA0E;AAC1E,MAAM,OAAO,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,CAAU,CAAC;AAEpD,8FAA8F;AAC9F,wFAAwF;AACxF,MAAM,EAAE,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,GAAG,IAAI,iBAAiB,CAAC,CAAC;AAEtF,MAAM,YAAY,GAAG,CAAC;KACnB,MAAM,CACL,KAAK,CAAC;IACJ,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oEAAoE,CAAC;IAC3G,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IAC1E,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACrE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IAC/E,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uDAAuD,CAAC;CAClG,CAAC,CACH;KACA,QAAQ,EAAE;KACV,QAAQ,CAAC,2DAA2D,CAAC,CAAC;AAEzE,MAAM,UAAU,GAAG,KAAK,CAAC;IACvB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;IAClF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IAC7E,0IAA0I;IAC1I,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+DAA+D,CAAC;IACvG,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8FAA8F,CAAC;IACtI,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;IAC7F,KAAK,EAAE,KAAK,CAAC;QACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;QAC7E,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;QAClG,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;KACpF,CAAC;SACC,QAAQ,EAAE;SACV,QAAQ,CAAC,sDAAsD,CAAC;IACnE,UAAU,EAAE,EAAE,CAAC,eAAe,CAAC;IAC/B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,2DAA2D,CAAC;IACxG,UAAU,EAAE,EAAE,CAAC,gCAAgC,CAAC;IAChD,eAAe,EAAE,EAAE,CAAC,uCAAuC,CAAC;IAC5D,WAAW,EAAE,EAAE,CAAC,oCAAoC,CAAC;IACrD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IAC9F,OAAO,EAAE,KAAK,CAAC;QACb,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;QAC3C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QAChE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;QAC1F,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;KACtF,CAAC;SACC,OAAO,EAAE;SACT,QAAQ,CAAC,oGAAoG,CAAC;IACjH,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qGAAqG,CAAC;IAC9I,aAAa,EAAE,YAAY;IAC3B,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IACzF,KAAK,EAAE,KAAK,CAAC;QACX,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC7B,UAAU,EAAE,EAAE,CAAC,qCAAqC,CAAC;KACtD,CAAC;SACC,QAAQ,EAAE;SACV,QAAQ,CAAC,+GAA+G,CAAC;IAC5H,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4FAA4F,CAAC;CAChJ,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,KAAK,CAAC;IAC3B,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,qFAAqF,CAAC;IAC7H,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mEAAmE,CAAC;CACjH,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,KAAK,CAAC;IAC9B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAClD,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC3C,eAAe,EAAE,KAAK,CAAC;QACrB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;QAChI,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QACpF,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QACtF,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;KACtF,CAAC;SACC,QAAQ,EAAE;SACV,QAAQ,CAAC,6GAA6G,CAAC;IAC1H,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;IACpG,aAAa,EAAE,YAAY;IAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;IAC5F,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACxC,UAAU,EAAE,EAAE,CAAC,eAAe,CAAC;IAC/B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;IAC1F,UAAU,EAAE,EAAE,CAAC,gBAAgB,CAAC;IAChC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2DAA2D,CAAC;CACrG,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,KAAK,CAAC;IAC9B,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,wEAAwE,CAAC;IACvG,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;CAC5D,CAAC,CAAC;AAEH,0BAA0B;AAC1B,MAAM,CAAC,MAAM,qBAAqB,GAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE;IAC1F,4EAA4E;IAC5E,8CAA8C;IAC9C,4EAA4E;IAC5E,MAAM,CAAC,YAAY,CACjB,yBAAyB,EACzB;QACE,KAAK,EAAE,2BAA2B;QAClC,WAAW,EACT,uHAAuH;YACvH,8GAA8G;YAC9G,iHAAiH;YACjH,kHAAkH;YAClH,yGAAyG;YACzG,iFAAiF;QACnF,WAAW,EAAE,aAAa,CAAC;YACzB,MAAM,EAAE,CAAC;iBACN,IAAI,CAAC,OAAO,CAAC;iBACb,QAAQ,EAAE;iBACV,QAAQ,CAAC,qPAAqP,CAAC;YAClQ,WAAW,EAAE,CAAC;iBACX,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,GAAG,CAAC,EAAE,CAAC;iBACP,QAAQ,EAAE;iBACV,QAAQ,CAAC,uGAAuG,CAAC;YACpH,UAAU,EAAE,CAAC;iBACV,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,WAAW,GAAG,gHAAgH,CAAC;YAC3I,SAAS,EAAE,CAAC;iBACT,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,WAAW,GAAG,6GAA6G,CAAC;YACxI,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,WAAW,GAAG,4CAA4C,CAAC;YACvG,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,WAAW,GAAG,qEAAqE,CAAC;YACnI,aAAa,EAAE,CAAC;iBACb,MAAM,EAAE;iBACR,MAAM,CAAC,CAAC,CAAC;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,WAAW,GAAG,wDAAwD,CAAC;YACnF,WAAW,EAAE,CAAC;iBACX,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;iBACnB,QAAQ,EAAE;iBACV,QAAQ,CAAC,WAAW,GAAG,iGAAiG,CAAC;YAC5H,aAAa,EAAE,CAAC;iBACb,MAAM,CACL,CAAC,CAAC,MAAM,CAAC;gBACP,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;gBACjB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;gBACtB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;gBACrB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;aAC/B,CAAC,CAAC,WAAW,EAAE,CACjB;iBACA,QAAQ,EAAE;iBACV,QAAQ,CAAC,qFAAqF,CAAC;YAClG,eAAe,EAAE,CAAC;iBACf,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;iBACnB,QAAQ,EAAE;iBACV,QAAQ,CACP,oIAAoI,CACrI;SACJ,EAAE,eAAe,CAAC;QACnB,0FAA0F;QAC1F,YAAY,EAAE,UAAU;QACxB,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE;KAC1G,EACD,KAAK,EAAE,KAAK,EAAE,EAAE;QACd,MAAM,IAAI,GAA4B,EAAE,CAAC;QACzC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,IAAI,CAAC,KAAK,SAAS;gBAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC7E,OAAO,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC;IACjE,CAAC,CACF,CAAC;IAEF,4EAA4E;IAC5E,2CAA2C;IAC3C,4EAA4E;IAC5E,MAAM,CAAC,YAAY,CACjB,uBAAuB,EACvB;QACE,KAAK,EAAE,eAAe;QACtB,WAAW,EACT,0GAA0G;YAC1G,0FAA0F;QAC5F,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;YACrG,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;YACpF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;YAC/F,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;SACxF;QACD,YAAY,EAAE,cAAc;QAC5B,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;KACxG,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAC1C,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CACjG,CAAC;IAEF,4EAA4E;IAC5E,+CAA+C;IAC/C,4EAA4E;IAC5E,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;QACE,KAAK,EAAE,eAAe;QACtB,WAAW,EACT,qIAAqI;YACrI,0GAA0G;QAC5G,WAAW,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE;QACtC,YAAY,EAAE,UAAU;QACxB,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;KACxG,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CACpF,CAAC;IAEF,4EAA4E;IAC5E,2DAA2D;IAC3D,4EAA4E;IAC5E,MAAM,CAAC,YAAY,CACjB,0BAA0B,EAC1B;QACE,KAAK,EAAE,iCAAiC;QACxC,WAAW,EACT,0GAA0G;YAC1G,gHAAgH;YAChH,4GAA4G;QAC9G,WAAW,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE;QACtC,YAAY,EAAE,iBAAiB;QAC/B,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;KACxG,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CACjG,CAAC;IAEF,4EAA4E;IAC5E,4DAA4D;IAC5D,4EAA4E;IAC5E,MAAM,CAAC,YAAY,CACjB,0BAA0B,EAC1B;QACE,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EACT,8GAA8G;YAC9G,wIAAwI;YACxI,sFAAsF;YACtF,sGAAsG;QACxG,WAAW,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE;QAC7C,YAAY,EAAE,UAAU;QACxB,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;KACxG,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,CAC9B,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAChG,CAAC;IAEF,4EAA4E;IAC5E,qDAAqD;IACrD,4EAA4E;IAC5E,MAAM,CAAC,YAAY,CACjB,yBAAyB,EACzB;QACE,KAAK,EAAE,kBAAkB;QACzB,WAAW,EACT,kHAAkH;YAClH,gHAAgH;YAChH,0DAA0D;QAC5D,WAAW,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE;QAC7C,YAAY,EAAE,iBAAiB;QAC/B,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;KACxG,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,CAC9B,GAAG,CAAC,KAAK,IAAI,EAAE;QACb,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC9E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IACvC,CAAC,CAAC,CACL,CAAC;AACJ,CAAC,CAAC"}
|
package/dist/tools/usage.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { run } from "./common.js";
|
|
2
|
+
import { loose, run } from "./common.js";
|
|
3
3
|
// Usage analytics: /v1/usage, /v1/usage/summary, /v1/usage/reconciliation.
|
|
4
4
|
// All three require the API key to carry the `read` scope (not in the default
|
|
5
5
|
// key scopes {scrape, batch, sessions}); without it the API answers 403.
|
|
@@ -35,6 +35,107 @@ const METRICS = [
|
|
|
35
35
|
"client_other",
|
|
36
36
|
];
|
|
37
37
|
const DATE = z.string().regex(/^\d{4}-\d{2}-\d{2}$/, "YYYY-MM-DD");
|
|
38
|
+
// What the three endpoints answer (openapi.yaml: UsageBreakdown, UsageByKey,
|
|
39
|
+
// UsageSummary, UsageReconciliation). Metric names are open-ended ("new metrics
|
|
40
|
+
// may appear as map keys"), so a metric map is a record, not a fixed list.
|
|
41
|
+
const METRIC_MAP = z
|
|
42
|
+
.record(z.string(), z.number())
|
|
43
|
+
.nullish()
|
|
44
|
+
.describe("Metric name -> quantity. credits are micro-credits (1 credit = 1000000), engine_ms milliseconds, bytes_* bytes, the rest counts.");
|
|
45
|
+
const PERIOD = loose({
|
|
46
|
+
start: z.string().optional().describe("First UTC day, inclusive (YYYY-MM-DD)."),
|
|
47
|
+
end: z.string().optional().describe("End UTC day, EXCLUSIVE (YYYY-MM-DD)."),
|
|
48
|
+
days: z.number().optional(),
|
|
49
|
+
bounds: z.string().optional().describe("Always '[start, end)'."),
|
|
50
|
+
}).optional().describe("The window, as a half-open range of UTC days.");
|
|
51
|
+
const USAGE_AS_OF = z.string().nullish().describe("When the newest rollup row in the window was written; null when the window is empty.");
|
|
52
|
+
const STALE_SECONDS = z.number().nullish().describe("Age of usage_as_of in seconds; null when the window is empty. A large value means the rollup is behind.");
|
|
53
|
+
const WARNINGS = z.array(z.string()).optional().describe("Caveats the numbers would otherwise hide.");
|
|
54
|
+
const USAGE_OUTPUT = loose({
|
|
55
|
+
period: PERIOD,
|
|
56
|
+
group_by: z.string().optional().describe("The dimension used: day, project, engine, feature or key."),
|
|
57
|
+
groups: z
|
|
58
|
+
.array(loose({
|
|
59
|
+
key: z.string().describe("The bucket: a YYYY-MM-DD day, a project id, an engine tier (fetch, js or browser) or a feature (extract, ai_extract, proxy_datacenter, proxy_residential, batch)."),
|
|
60
|
+
label: z.string().optional().describe("Human label for an engine tier."),
|
|
61
|
+
metrics: METRIC_MAP,
|
|
62
|
+
}))
|
|
63
|
+
.nullish()
|
|
64
|
+
.describe("The buckets, sorted by key. Empty (or missing for group_by=key) does not mean no usage: read totals."),
|
|
65
|
+
totals: METRIC_MAP.optional().describe("Billed quantities for the whole window. Authoritative; use these, not the sum of groups."),
|
|
66
|
+
unattributed: METRIC_MAP.optional().describe("The part of each total the groups do not explain."),
|
|
67
|
+
keys: z
|
|
68
|
+
.array(loose({
|
|
69
|
+
key_id: z.string(),
|
|
70
|
+
name: z.string().optional(),
|
|
71
|
+
prefix: z.string().optional().describe("Display prefix of the API key, never the secret."),
|
|
72
|
+
project_id: z.string().optional(),
|
|
73
|
+
revoked: z.boolean().optional(),
|
|
74
|
+
days: z.array(loose({ day: z.string(), metrics: METRIC_MAP })).nullish(),
|
|
75
|
+
totals: METRIC_MAP.optional(),
|
|
76
|
+
}))
|
|
77
|
+
.nullish()
|
|
78
|
+
.describe("group_by=key only: one entry per API key, with its counters per UTC day."),
|
|
79
|
+
usage_as_of: USAGE_AS_OF,
|
|
80
|
+
stale_seconds: STALE_SECONDS,
|
|
81
|
+
warnings: WARNINGS,
|
|
82
|
+
});
|
|
83
|
+
const SUMMARY_OUTPUT = loose({
|
|
84
|
+
period: PERIOD,
|
|
85
|
+
period_elapsed_days: z.number().optional().describe("Whole days of the period elapsed; use it to pace consumption."),
|
|
86
|
+
plan: loose({
|
|
87
|
+
code: z.string().optional(),
|
|
88
|
+
name: z.string().optional(),
|
|
89
|
+
version: z.number().optional(),
|
|
90
|
+
subscription_status: z.string().optional().describe("'none' when no subscription covers now (the free plan)."),
|
|
91
|
+
period_source: z.string().optional().describe("'subscription' (billing period) or 'allowance_month'."),
|
|
92
|
+
}).optional(),
|
|
93
|
+
credits: loose({
|
|
94
|
+
included_micro: z.number().optional(),
|
|
95
|
+
used_micro: z.number().optional().describe("Credits spent so far, from the usage rollup; excludes credits held for in-flight work."),
|
|
96
|
+
remaining_micro: z.number().optional(),
|
|
97
|
+
overage_micro: z.number().optional(),
|
|
98
|
+
overage_micro_cents_per_credit: z.number().optional(),
|
|
99
|
+
used_basis_points: z.number().nullish().describe("Used / included in basis points (10000 = 100%); null when nothing is included."),
|
|
100
|
+
})
|
|
101
|
+
.nullish()
|
|
102
|
+
.describe("Metered usage against the plan's included credits. Micro-credits: 1 credit = 1000000."),
|
|
103
|
+
allowance: loose({
|
|
104
|
+
limit_micro: z.number().optional(),
|
|
105
|
+
limit_credits: z.number().optional(),
|
|
106
|
+
limit_source: z.string().optional().describe("'default' or 'override'."),
|
|
107
|
+
unlimited: z.boolean().optional(),
|
|
108
|
+
used_micro: z.number().optional().describe("Spent plus credits held for in-flight work."),
|
|
109
|
+
remaining_micro: z.number().optional().describe("Credits left under the monthly limit: the number to show."),
|
|
110
|
+
window_start: z.string().optional(),
|
|
111
|
+
resets_at: z.string().optional().describe("When the allowance is restored in full."),
|
|
112
|
+
})
|
|
113
|
+
.optional()
|
|
114
|
+
.describe("The monthly allowance the API enforces. Omitted when it cannot be read (warnings says so)."),
|
|
115
|
+
metrics: METRIC_MAP.optional().describe("Every billed metric for the period."),
|
|
116
|
+
unattributed: METRIC_MAP.optional(),
|
|
117
|
+
usage_as_of: USAGE_AS_OF,
|
|
118
|
+
stale_seconds: STALE_SECONDS,
|
|
119
|
+
warnings: WARNINGS,
|
|
120
|
+
});
|
|
121
|
+
const RECONCILIATION_OUTPUT = loose({
|
|
122
|
+
day: z.string().optional().describe("The UTC day reconciled."),
|
|
123
|
+
drift: z
|
|
124
|
+
.array(loose({
|
|
125
|
+
project_id: z.string().optional(),
|
|
126
|
+
metric: z.string().optional(),
|
|
127
|
+
stored_qty: z.number().optional().describe("The billed quantity."),
|
|
128
|
+
observed_qty: z.number().optional().describe("The quantity re-derived from the request log."),
|
|
129
|
+
delta: z.number().optional(),
|
|
130
|
+
action: z.string().optional().describe("The verdict: missing_in_usage_daily, absent_from_request_log, undercounted or overcounted."),
|
|
131
|
+
}))
|
|
132
|
+
.nullish()
|
|
133
|
+
.describe("Disagreements; empty means no drift."),
|
|
134
|
+
request_log_rows: z.number().optional().describe("Rows in the request log for the day; 0 means there was nothing to compare against."),
|
|
135
|
+
interpretation: z.string().optional().describe("What the drift can and cannot prove. Read it before acting on drift."),
|
|
136
|
+
repairable: z.boolean().optional().describe("Always false; nothing is repaired."),
|
|
137
|
+
warnings: WARNINGS,
|
|
138
|
+
});
|
|
38
139
|
export const registerUsageTools = (server, client) => {
|
|
39
140
|
server.registerTool("spicrawl_usage", {
|
|
40
141
|
title: "Usage breakdown",
|
|
@@ -56,6 +157,7 @@ export const registerUsageTools = (server, client) => {
|
|
|
56
157
|
.optional()
|
|
57
158
|
.describe("Metrics to return. Omit for all of them."),
|
|
58
159
|
},
|
|
160
|
+
outputSchema: USAGE_OUTPUT,
|
|
59
161
|
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false },
|
|
60
162
|
}, async (args) => run(() => {
|
|
61
163
|
const qs = new URLSearchParams();
|
|
@@ -77,6 +179,7 @@ export const registerUsageTools = (server, client) => {
|
|
|
77
179
|
description: "A compact current-period summary of your org's usage (totals as of now, from the daily rollup). No parameters. " +
|
|
78
180
|
"Use for a quick 'how much have I used so far'; use spicrawl_usage for a windowed breakdown. Requires the `read` scope.",
|
|
79
181
|
inputSchema: {},
|
|
182
|
+
outputSchema: SUMMARY_OUTPUT,
|
|
80
183
|
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false },
|
|
81
184
|
}, async () => run(() => client.request("GET", "/v1/usage/summary")));
|
|
82
185
|
server.registerTool("spicrawl_usage_reconciliation", {
|
|
@@ -87,6 +190,7 @@ export const registerUsageTools = (server, client) => {
|
|
|
87
190
|
inputSchema: {
|
|
88
191
|
day: DATE.optional().describe("The UTC day to reconcile, YYYY-MM-DD. Default: yesterday."),
|
|
89
192
|
},
|
|
193
|
+
outputSchema: RECONCILIATION_OUTPUT,
|
|
90
194
|
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false },
|
|
91
195
|
}, async ({ day }) => run(() => client.request("GET", `/v1/usage/reconciliation${day ? `?day=${encodeURIComponent(day)}` : ""}`)));
|
|
92
196
|
};
|
package/dist/tools/usage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/tools/usage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,GAAG,EAAsB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/tools/usage.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@spicrawl/mcp",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.7",
|
|
4
4
|
"mcpName": "io.github.OfficialSpicrawl/mcp",
|
|
5
5
|
"description": "The Spicrawl MCP server is a Model Context Protocol server that gives AI agents in Claude Code, Claude Desktop, Cursor, VS Code, Windsurf, Gemini CLI and Codex web scraping to Markdown, structured data extraction, screenshots, browser sessions and batch scraping as 25 native tools.",
|
|
6
6
|
"license": "Apache-2.0",
|