@scrapa/sdk 0.2.2 → 0.4.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.
@@ -1,8 +1,8 @@
1
1
  import type { RequestOptions, RequestSpec } from "../client.js";
2
- import type { BatchDto, BatchQuoteDto, CreatedBatchDto, LiveSessionDto, ScrapeQuoteDto, ScrapeResultDto, SearchResultDto, SessionDto, SessionQuoteDto, UsageDto } from "./contract.js";
3
- import type { CancelBatchParams, CloseSessionParams, CreateBatchParams, CreateSessionParams, GetBatchParams, GetSessionParams, ListBatchesParams, ListSessionsParams, QuoteBatchParams, QuoteScrapeParams, QuoteSessionParams, ScrapeParams, SearchParams } from "./params.js";
2
+ import type { BatchDto, BatchQuoteDto, CreatedBatchDto, LiveSessionDto, MapQuoteDto, MapResultDto, ScrapeQuoteDto, ScrapeResultDto, SearchResultDto, SessionDto, SessionQuoteDto, UsageDto } from "./contract.js";
3
+ import type { CancelBatchParams, CloseSessionParams, CreateBatchParams, CreateSessionParams, GetBatchParams, GetSessionParams, ListBatchesParams, ListSessionsParams, MapSiteParams, QuoteBatchParams, QuoteMapParams, QuoteScrapeParams, QuoteSessionParams, ScrapeParams, SearchParams } from "./params.js";
4
4
  /** The version this client reports in `x-scrapa-client`. */
5
- export declare const SDK_VERSION = "0.2.2";
5
+ export declare const SDK_VERSION = "0.4.0";
6
6
  /** The hosted API. */
7
7
  export declare const DEFAULT_BASE_URL = "https://api.scrapa.app/v1";
8
8
  export declare abstract class GeneratedOperations {
@@ -11,12 +11,14 @@ export declare abstract class GeneratedOperations {
11
11
  * Scrape a page
12
12
  *
13
13
  * Read one web page and hand it back as markdown, HTML, plain text, its links, a screenshot, a
14
- * PDF — or the fields you ask for, read off the page by a model. `engine: "auto"` (the
15
- * default) makes a plain HTTP request first and re-reads the page in a real Chromium when the
16
- * body turns out to be a JavaScript shell, so you pay for a browser only when the page needed
17
- * one. Every request leaves through a residential proxy, or through your own with `proxy: {
18
- * pool: "custom", server }`. The answer says which engine replied, where the page finally was
19
- * and what it cost.
14
+ * PDF, or the fields you ask for, read off the page by a model. `engine: "auto"` (the default)
15
+ * makes a plain HTTP request first and re-reads the page in a real Chromium when the body
16
+ * turns out to be a JavaScript shell, so you pay for a browser only when the page needed one.
17
+ * To send a search form or a JSON query, use `method: "POST"` with a `body`; to download a
18
+ * file exactly as the site sent it, ask for `formats: ["raw"]`. A link to a PDF or a Word file
19
+ * is read into text too, headings and paragraphs included. Every request leaves through a
20
+ * residential proxy, or through your own with `proxy: { pool: "custom", server }`. The answer
21
+ * says which engine replied, where the page finally was and what it cost.
20
22
  *
21
23
  * Credits: 1 credit with the fetch engine, 5 with the browser (a screenshot or a PDF is
22
24
  * included, never a surcharge), 5 more when you ask for `extract`, plus managed-proxy
@@ -30,24 +32,54 @@ export declare abstract class GeneratedOperations {
30
32
  * Price a scrape
31
33
  *
32
34
  * What the same request would cost, without making it. Free, and refused by the same guards a
33
- * real call meets — so a quote is never a price for a call that would be denied. `maxCost` is
35
+ * real call meets, so a quote is never a price for a call that would be denied. `maxCost` is
34
36
  * the ceiling: for `auto` it is the browser's price, which is only charged if the page turns
35
37
  * out to need one.
36
38
  *
37
- * Credits: 0 credits — pricing a call is free.
39
+ * Credits: 0 credits. Pricing a call is free.
38
40
  *
39
41
  * `POST /v1/scrape/quote`
40
42
  */
41
43
  quote(params: QuoteScrapeParams, opts?: Omit<RequestOptions, "idempotencyKey">): Promise<ScrapeQuoteDto>;
44
+ /**
45
+ * List a site's URLs
46
+ *
47
+ * Hand back every URL a site lists, without reading the pages: what its robots.txt and
48
+ * sitemaps name (gzipped ones too, and indexes of sitemaps), plus the links on the page you
49
+ * named. Each URL comes back once, without tracking parameters or a trailing slash, with
50
+ * `lastmod` when the sitemap gives one. Only the host you named is kept unless you set
51
+ * `includeSubdomains`, and `search` keeps the URLs that contain a word. To read a page, pass
52
+ * its URL to `scrape`.
53
+ *
54
+ * Credits: 2 credits, plus managed-proxy bandwidth past the first megabyte, every file the map
55
+ * read counted together. A site that lists nothing is charged, because it answered. A site
56
+ * that refused every file, and anything we broke, cost nothing.
57
+ *
58
+ * `POST /v1/map`
59
+ */
60
+ map(params: MapSiteParams, opts?: Omit<RequestOptions, "idempotencyKey">): Promise<MapResultDto>;
61
+ /**
62
+ * Price a map
63
+ *
64
+ * What the same map would cost, without making it. Free, and refused by the same guards a real
65
+ * call meets. Bandwidth is priced per megabyte because nobody knows a site's sitemap size
66
+ * before reading it.
67
+ *
68
+ * Credits: 0 credits. Pricing a call is free.
69
+ *
70
+ * `POST /v1/map/quote`
71
+ */
72
+ quoteMap(params: QuoteMapParams, opts?: Omit<RequestOptions, "idempotencyKey">): Promise<MapQuoteDto>;
42
73
  /**
43
74
  * Search the web
44
75
  *
45
- * Ask the web a question and get back ranked results — title, URL and the snippet the index
46
- * holds — read live off a real search front through a residential exit, never a reseller's
47
- * cache. `country` picks both the exit and the market, so `br` returns what somebody in Brazil
48
- * would see. Narrow to your own list of hosts with `includeDomains`, ask for `topic: "news"`
49
- * when you want dated journalism, and add `answer: true` when you want a paragraph written
50
- * over the results instead of writing it yourself. To read a result, pass its URL to `scrape`.
76
+ * Ask the web a question and get back ranked results: title, URL and the snippet the index
77
+ * holds. They are read live off a real search front through a residential exit, never a
78
+ * reseller's cache. `country` picks both the exit and the market, so `br` returns what
79
+ * somebody in Brazil would see. Narrow to your own list of hosts with `includeDomains`, ask
80
+ * for `topic: "news"` when you want dated journalism, and add `answer: true` when you want a
81
+ * paragraph written over the results instead of writing it yourself. To read a result, pass
82
+ * its URL to `scrape`.
51
83
  *
52
84
  * Credits: 4 credits per 10 results, so a `limit` above 10 costs two rows, plus 1 for `answer:
53
85
  * true`. A search every front refused, and anything we broke, cost nothing; a search that ran
@@ -62,8 +94,8 @@ export declare abstract class GeneratedOperations {
62
94
  * Start a batch
63
95
  *
64
96
  * Hand us a list of URLs and stop holding a connection open. Every one is read with the
65
- * options you pass here — the same engines, the same exit and the same meter a single
66
- * `scrape` uses — and a page the site blocked costs nothing here too. Nothing is charged
97
+ * options you pass here. It uses the same engines, the same exit and the same meter as a
98
+ * single `scrape`, and a page the site blocked costs nothing here too. Nothing is charged
67
99
  * when you submit: a batch spends as it goes, so use `quote` for the ceiling. Poll `get`
68
100
  * for progress, or pass a `webhook` and we will call you instead. Results are readable for
69
101
  * 24 hours.
@@ -82,9 +114,9 @@ export declare abstract class GeneratedOperations {
82
114
  * What that submission would cost at most, without submitting it. `maxCost` prices every
83
115
  * URL at the ceiling one page could reach, so the real bill comes in lower by whatever the
84
116
  * web refuses for free and by every page that never needed a browser. Bandwidth is on top
85
- * and cannot be quoted — it depends on what the pages weigh.
117
+ * and cannot be quoted, because it depends on what the pages weigh.
86
118
  *
87
- * Credits: 0 credits — pricing a batch is free.
119
+ * Credits: 0 credits. Pricing a batch is free.
88
120
  *
89
121
  * `POST /v1/batches/quote`
90
122
  */
@@ -92,10 +124,10 @@ export declare abstract class GeneratedOperations {
92
124
  /**
93
125
  * List your batches
94
126
  *
95
- * Your most recent batches, newest first — what each one is doing, how far it has got and
96
- * what it has cost. Results are not included; ask `get` for one batch's pages.
127
+ * Your most recent batches, newest first, with what each one is doing, how far it has got
128
+ * and what it has cost. Results are not included; ask `get` for one batch's pages.
97
129
  *
98
- * Credits: 0 credits — listing batches is free.
130
+ * Credits: 0 credits. Listing batches is free.
99
131
  *
100
132
  * `GET /v1/batches`
101
133
  */
@@ -105,13 +137,13 @@ export declare abstract class GeneratedOperations {
105
137
  *
106
138
  * Where a batch got to: whether it is still running, how many of its URLs now have a
107
139
  * verdict, how many of those the web or our policy refused, how many were never attempted,
108
- * and what it has spent so far. Ask for `items` to get the results themselves — the pages
140
+ * and what it has spent so far. Ask for `items` to get the results themselves: the pages
109
141
  * and the refusals, in the order you submitted them, each one the same answer a single
110
- * `scrape` would have given — up to 200 at a time, from wherever `from` says. A batch
111
- * whose results have expired still answers with everything else, because somebody who paid
112
- * for those pages must never be told the batch does not exist.
142
+ * `scrape` would have given. You get up to 200 at a time, from wherever `from` says. A
143
+ * batch whose results have expired still answers with everything else, because somebody
144
+ * who paid for those pages must never be told the batch does not exist.
113
145
  *
114
- * Credits: 0 credits — reading a batch is free.
146
+ * Credits: 0 credits. Reading a batch is free.
115
147
  *
116
148
  * `GET /v1/batches/{id}`
117
149
  */
@@ -119,12 +151,12 @@ export declare abstract class GeneratedOperations {
119
151
  /**
120
152
  * Cancel a batch
121
153
  *
122
- * Stop a batch. A URL already being read finishes and is charged — it is a page we are
123
- * already paying for — and every URL not yet started becomes `skipped`, which costs
124
- * nothing and is not a verdict about the URL: submit those positions again whenever you
125
- * like. Safe to repeat; a batch that has already ended answers with how it ended.
154
+ * Stop a batch. A URL already being read finishes and is charged, because it is a page we
155
+ * are already paying for. Every URL not yet started becomes `skipped`, which costs nothing
156
+ * and is not a verdict about the URL: submit those positions again whenever you like. Safe
157
+ * to repeat; a batch that has already ended answers with how it ended.
126
158
  *
127
- * Credits: 0 credits — cancelling is free, and it stops the spending.
159
+ * Credits: 0 credits. Cancelling is free, and it stops the spending.
128
160
  *
129
161
  * `DELETE /v1/batches/{id}`
130
162
  */
@@ -139,10 +171,10 @@ export declare abstract class GeneratedOperations {
139
171
  * `puppeteer.connect({ browserWSEndpoint: connectUrl })` in Puppeteer. The browser is
140
172
  * yours alone for the whole window, every byte it pulls leaves through the exit you
141
173
  * picked, and the socket survives our deploys. The URL carries the session's token and is
142
- * shown once — it cannot be rebuilt from the id.
174
+ * shown once. It cannot be rebuilt from the id.
143
175
  *
144
176
  * Credits: 2 credits per minute, reserved for the whole window when the session starts and
145
- * settled by the minutes actually used when it closes — so closing early gives the rest
177
+ * settled by the minutes actually used when it closes, so closing early gives the rest
146
178
  * back, and a browser that never came up costs nothing at all. Managed-proxy bandwidth
147
179
  * past the first megabyte is added at close; your own proxy is never metered.
148
180
  *
@@ -153,10 +185,10 @@ export declare abstract class GeneratedOperations {
153
185
  * Price a session
154
186
  *
155
187
  * What holding a browser for that long would cost, without holding one. `maxCost` is the
156
- * whole window at the per-minute rate — a ceiling, not a bill, because the minutes you do
157
- * not use come back when the session closes.
188
+ * whole window at the per-minute rate. It is a ceiling, not a bill, because the minutes
189
+ * you do not use come back when the session closes.
158
190
  *
159
- * Credits: 0 credits — pricing a session is free.
191
+ * Credits: 0 credits. Pricing a session is free.
160
192
  *
161
193
  * `POST /v1/sessions/quote`
162
194
  */
@@ -164,10 +196,10 @@ export declare abstract class GeneratedOperations {
164
196
  /**
165
197
  * List your sessions
166
198
  *
167
- * Your most recent sessions, newest first — the live ones and the ones that have ended,
199
+ * Your most recent sessions, newest first: the live ones and the ones that have ended,
168
200
  * with what each of them cost.
169
201
  *
170
- * Credits: 0 credits — listing sessions is free.
202
+ * Credits: 0 credits. Listing sessions is free.
171
203
  *
172
204
  * `GET /v1/sessions`
173
205
  */
@@ -176,10 +208,10 @@ export declare abstract class GeneratedOperations {
176
208
  * Read one session
177
209
  *
178
210
  * Where a session got to: whether it is still live, when it expires, what it has pulled
179
- * and — once it has ended — what it finally cost. The connect URL is not repeated here; it
211
+ * and, once it has ended, what it finally cost. The connect URL is not repeated here; it
180
212
  * is shown once, when the session starts.
181
213
  *
182
- * Credits: 0 credits — reading a session is free.
214
+ * Credits: 0 credits. Reading a session is free.
183
215
  *
184
216
  * `GET /v1/sessions/{id}`
185
217
  */
@@ -188,8 +220,8 @@ export declare abstract class GeneratedOperations {
188
220
  * Close a session
189
221
  *
190
222
  * Stop the browser and settle the bill: the minutes you held it are kept and the rest of
191
- * the reservation goes back. Safe to repeat — a session that has already ended answers
192
- * with how it ended.
223
+ * the reservation goes back. Safe to repeat: a session that has already ended answers with
224
+ * how it ended.
193
225
  *
194
226
  * Credits: Closing is free. It is where the session's own bill lands: the unused minutes
195
227
  * are refunded and the managed pool's bandwidth is charged.
@@ -1 +1 @@
1
- {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/generated/operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/generated/operations.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  // One method per capability, grouped the way the docs group them, returning the
5
5
  // DTO the operation declares. `Scrapa` in ../client.ts supplies request().
6
6
  /** The version this client reports in `x-scrapa-client`. */
7
- export const SDK_VERSION = "0.2.2";
7
+ export const SDK_VERSION = "0.4.0";
8
8
  /** The hosted API. */
9
9
  export const DEFAULT_BASE_URL = "https://api.scrapa.app/v1";
10
10
  export class GeneratedOperations {
@@ -12,12 +12,14 @@ export class GeneratedOperations {
12
12
  * Scrape a page
13
13
  *
14
14
  * Read one web page and hand it back as markdown, HTML, plain text, its links, a screenshot, a
15
- * PDF — or the fields you ask for, read off the page by a model. `engine: "auto"` (the
16
- * default) makes a plain HTTP request first and re-reads the page in a real Chromium when the
17
- * body turns out to be a JavaScript shell, so you pay for a browser only when the page needed
18
- * one. Every request leaves through a residential proxy, or through your own with `proxy: {
19
- * pool: "custom", server }`. The answer says which engine replied, where the page finally was
20
- * and what it cost.
15
+ * PDF, or the fields you ask for, read off the page by a model. `engine: "auto"` (the default)
16
+ * makes a plain HTTP request first and re-reads the page in a real Chromium when the body
17
+ * turns out to be a JavaScript shell, so you pay for a browser only when the page needed one.
18
+ * To send a search form or a JSON query, use `method: "POST"` with a `body`; to download a
19
+ * file exactly as the site sent it, ask for `formats: ["raw"]`. A link to a PDF or a Word file
20
+ * is read into text too, headings and paragraphs included. Every request leaves through a
21
+ * residential proxy, or through your own with `proxy: { pool: "custom", server }`. The answer
22
+ * says which engine replied, where the page finally was and what it cost.
21
23
  *
22
24
  * Credits: 1 credit with the fetch engine, 5 with the browser (a screenshot or a PDF is
23
25
  * included, never a surcharge), 5 more when you ask for `extract`, plus managed-proxy
@@ -38,11 +40,11 @@ export class GeneratedOperations {
38
40
  * Price a scrape
39
41
  *
40
42
  * What the same request would cost, without making it. Free, and refused by the same guards a
41
- * real call meets — so a quote is never a price for a call that would be denied. `maxCost` is
43
+ * real call meets, so a quote is never a price for a call that would be denied. `maxCost` is
42
44
  * the ceiling: for `auto` it is the browser's price, which is only charged if the page turns
43
45
  * out to need one.
44
46
  *
45
- * Credits: 0 credits — pricing a call is free.
47
+ * Credits: 0 credits. Pricing a call is free.
46
48
  *
47
49
  * `POST /v1/scrape/quote`
48
50
  */
@@ -54,15 +56,59 @@ export class GeneratedOperations {
54
56
  proxy: ["pool", "server", "country", "state", "city"],
55
57
  }, params, opts);
56
58
  }
59
+ /**
60
+ * List a site's URLs
61
+ *
62
+ * Hand back every URL a site lists, without reading the pages: what its robots.txt and
63
+ * sitemaps name (gzipped ones too, and indexes of sitemaps), plus the links on the page you
64
+ * named. Each URL comes back once, without tracking parameters or a trailing slash, with
65
+ * `lastmod` when the sitemap gives one. Only the host you named is kept unless you set
66
+ * `includeSubdomains`, and `search` keeps the URLs that contain a word. To read a page, pass
67
+ * its URL to `scrape`.
68
+ *
69
+ * Credits: 2 credits, plus managed-proxy bandwidth past the first megabyte, every file the map
70
+ * read counted together. A site that lists nothing is charged, because it answered. A site
71
+ * that refused every file, and anything we broke, cost nothing.
72
+ *
73
+ * `POST /v1/map`
74
+ */
75
+ map(params, opts) {
76
+ return this.request({
77
+ method: "POST",
78
+ path: "/map",
79
+ repeatable: false,
80
+ proxy: ["pool", "server", "country"],
81
+ }, params, opts);
82
+ }
83
+ /**
84
+ * Price a map
85
+ *
86
+ * What the same map would cost, without making it. Free, and refused by the same guards a real
87
+ * call meets. Bandwidth is priced per megabyte because nobody knows a site's sitemap size
88
+ * before reading it.
89
+ *
90
+ * Credits: 0 credits. Pricing a call is free.
91
+ *
92
+ * `POST /v1/map/quote`
93
+ */
94
+ quoteMap(params, opts) {
95
+ return this.request({
96
+ method: "POST",
97
+ path: "/map/quote",
98
+ repeatable: true,
99
+ proxy: ["pool", "server", "country"],
100
+ }, params, opts);
101
+ }
57
102
  /**
58
103
  * Search the web
59
104
  *
60
- * Ask the web a question and get back ranked results — title, URL and the snippet the index
61
- * holds — read live off a real search front through a residential exit, never a reseller's
62
- * cache. `country` picks both the exit and the market, so `br` returns what somebody in Brazil
63
- * would see. Narrow to your own list of hosts with `includeDomains`, ask for `topic: "news"`
64
- * when you want dated journalism, and add `answer: true` when you want a paragraph written
65
- * over the results instead of writing it yourself. To read a result, pass its URL to `scrape`.
105
+ * Ask the web a question and get back ranked results: title, URL and the snippet the index
106
+ * holds. They are read live off a real search front through a residential exit, never a
107
+ * reseller's cache. `country` picks both the exit and the market, so `br` returns what
108
+ * somebody in Brazil would see. Narrow to your own list of hosts with `includeDomains`, ask
109
+ * for `topic: "news"` when you want dated journalism, and add `answer: true` when you want a
110
+ * paragraph written over the results instead of writing it yourself. To read a result, pass
111
+ * its URL to `scrape`.
66
112
  *
67
113
  * Credits: 4 credits per 10 results, so a `limit` above 10 costs two rows, plus 1 for `answer:
68
114
  * true`. A search every front refused, and anything we broke, cost nothing; a search that ran
@@ -84,8 +130,8 @@ export class GeneratedOperations {
84
130
  * Start a batch
85
131
  *
86
132
  * Hand us a list of URLs and stop holding a connection open. Every one is read with the
87
- * options you pass here — the same engines, the same exit and the same meter a single
88
- * `scrape` uses — and a page the site blocked costs nothing here too. Nothing is charged
133
+ * options you pass here. It uses the same engines, the same exit and the same meter as a
134
+ * single `scrape`, and a page the site blocked costs nothing here too. Nothing is charged
89
135
  * when you submit: a batch spends as it goes, so use `quote` for the ceiling. Poll `get`
90
136
  * for progress, or pass a `webhook` and we will call you instead. Results are readable for
91
137
  * 24 hours.
@@ -109,9 +155,9 @@ export class GeneratedOperations {
109
155
  * What that submission would cost at most, without submitting it. `maxCost` prices every
110
156
  * URL at the ceiling one page could reach, so the real bill comes in lower by whatever the
111
157
  * web refuses for free and by every page that never needed a browser. Bandwidth is on top
112
- * and cannot be quoted — it depends on what the pages weigh.
158
+ * and cannot be quoted, because it depends on what the pages weigh.
113
159
  *
114
- * Credits: 0 credits — pricing a batch is free.
160
+ * Credits: 0 credits. Pricing a batch is free.
115
161
  *
116
162
  * `POST /v1/batches/quote`
117
163
  */
@@ -124,10 +170,10 @@ export class GeneratedOperations {
124
170
  /**
125
171
  * List your batches
126
172
  *
127
- * Your most recent batches, newest first — what each one is doing, how far it has got and
128
- * what it has cost. Results are not included; ask `get` for one batch's pages.
173
+ * Your most recent batches, newest first, with what each one is doing, how far it has got
174
+ * and what it has cost. Results are not included; ask `get` for one batch's pages.
129
175
  *
130
- * Credits: 0 credits — listing batches is free.
176
+ * Credits: 0 credits. Listing batches is free.
131
177
  *
132
178
  * `GET /v1/batches`
133
179
  */
@@ -137,13 +183,13 @@ export class GeneratedOperations {
137
183
  *
138
184
  * Where a batch got to: whether it is still running, how many of its URLs now have a
139
185
  * verdict, how many of those the web or our policy refused, how many were never attempted,
140
- * and what it has spent so far. Ask for `items` to get the results themselves — the pages
186
+ * and what it has spent so far. Ask for `items` to get the results themselves: the pages
141
187
  * and the refusals, in the order you submitted them, each one the same answer a single
142
- * `scrape` would have given — up to 200 at a time, from wherever `from` says. A batch
143
- * whose results have expired still answers with everything else, because somebody who paid
144
- * for those pages must never be told the batch does not exist.
188
+ * `scrape` would have given. You get up to 200 at a time, from wherever `from` says. A
189
+ * batch whose results have expired still answers with everything else, because somebody
190
+ * who paid for those pages must never be told the batch does not exist.
145
191
  *
146
- * Credits: 0 credits — reading a batch is free.
192
+ * Credits: 0 credits. Reading a batch is free.
147
193
  *
148
194
  * `GET /v1/batches/{id}`
149
195
  */
@@ -151,12 +197,12 @@ export class GeneratedOperations {
151
197
  /**
152
198
  * Cancel a batch
153
199
  *
154
- * Stop a batch. A URL already being read finishes and is charged — it is a page we are
155
- * already paying for — and every URL not yet started becomes `skipped`, which costs
156
- * nothing and is not a verdict about the URL: submit those positions again whenever you
157
- * like. Safe to repeat; a batch that has already ended answers with how it ended.
200
+ * Stop a batch. A URL already being read finishes and is charged, because it is a page we
201
+ * are already paying for. Every URL not yet started becomes `skipped`, which costs nothing
202
+ * and is not a verdict about the URL: submit those positions again whenever you like. Safe
203
+ * to repeat; a batch that has already ended answers with how it ended.
158
204
  *
159
- * Credits: 0 credits — cancelling is free, and it stops the spending.
205
+ * Credits: 0 credits. Cancelling is free, and it stops the spending.
160
206
  *
161
207
  * `DELETE /v1/batches/{id}`
162
208
  */
@@ -171,10 +217,10 @@ export class GeneratedOperations {
171
217
  * `puppeteer.connect({ browserWSEndpoint: connectUrl })` in Puppeteer. The browser is
172
218
  * yours alone for the whole window, every byte it pulls leaves through the exit you
173
219
  * picked, and the socket survives our deploys. The URL carries the session's token and is
174
- * shown once — it cannot be rebuilt from the id.
220
+ * shown once. It cannot be rebuilt from the id.
175
221
  *
176
222
  * Credits: 2 credits per minute, reserved for the whole window when the session starts and
177
- * settled by the minutes actually used when it closes — so closing early gives the rest
223
+ * settled by the minutes actually used when it closes, so closing early gives the rest
178
224
  * back, and a browser that never came up costs nothing at all. Managed-proxy bandwidth
179
225
  * past the first megabyte is added at close; your own proxy is never metered.
180
226
  *
@@ -190,10 +236,10 @@ export class GeneratedOperations {
190
236
  * Price a session
191
237
  *
192
238
  * What holding a browser for that long would cost, without holding one. `maxCost` is the
193
- * whole window at the per-minute rate — a ceiling, not a bill, because the minutes you do
194
- * not use come back when the session closes.
239
+ * whole window at the per-minute rate. It is a ceiling, not a bill, because the minutes
240
+ * you do not use come back when the session closes.
195
241
  *
196
- * Credits: 0 credits — pricing a session is free.
242
+ * Credits: 0 credits. Pricing a session is free.
197
243
  *
198
244
  * `POST /v1/sessions/quote`
199
245
  */
@@ -206,10 +252,10 @@ export class GeneratedOperations {
206
252
  /**
207
253
  * List your sessions
208
254
  *
209
- * Your most recent sessions, newest first — the live ones and the ones that have ended,
255
+ * Your most recent sessions, newest first: the live ones and the ones that have ended,
210
256
  * with what each of them cost.
211
257
  *
212
- * Credits: 0 credits — listing sessions is free.
258
+ * Credits: 0 credits. Listing sessions is free.
213
259
  *
214
260
  * `GET /v1/sessions`
215
261
  */
@@ -218,10 +264,10 @@ export class GeneratedOperations {
218
264
  * Read one session
219
265
  *
220
266
  * Where a session got to: whether it is still live, when it expires, what it has pulled
221
- * and — once it has ended — what it finally cost. The connect URL is not repeated here; it
267
+ * and, once it has ended, what it finally cost. The connect URL is not repeated here; it
222
268
  * is shown once, when the session starts.
223
269
  *
224
- * Credits: 0 credits — reading a session is free.
270
+ * Credits: 0 credits. Reading a session is free.
225
271
  *
226
272
  * `GET /v1/sessions/{id}`
227
273
  */
@@ -230,8 +276,8 @@ export class GeneratedOperations {
230
276
  * Close a session
231
277
  *
232
278
  * Stop the browser and settle the bill: the minutes you held it are kept and the rest of
233
- * the reservation goes back. Safe to repeat — a session that has already ended answers
234
- * with how it ended.
279
+ * the reservation goes back. Safe to repeat: a session that has already ended answers with
280
+ * how it ended.
235
281
  *
236
282
  * Credits: Closing is free. It is where the session's own bill lands: the unused minutes
237
283
  * are refunded and the managed pool's bandwidth is charged.
@@ -1 +1 @@
1
- {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/generated/operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/generated/operations.ts"],"names":[],"mappings":"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"}