@knowledgesdk/node 0.1.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.
- package/LICENSE +21 -0
- package/README.md +495 -0
- package/dist/api/classify.d.ts +24 -0
- package/dist/api/classify.js +19 -0
- package/dist/api/classify.js.map +1 -0
- package/dist/api/extract.d.ts +118 -0
- package/dist/api/extract.js +60 -0
- package/dist/api/extract.js.map +1 -0
- package/dist/api/jobs.d.ts +35 -0
- package/dist/api/jobs.js +43 -0
- package/dist/api/jobs.js.map +1 -0
- package/dist/api/scrape.d.ts +18 -0
- package/dist/api/scrape.js +18 -0
- package/dist/api/scrape.js.map +1 -0
- package/dist/api/screenshot.d.ts +15 -0
- package/dist/api/screenshot.js +18 -0
- package/dist/api/screenshot.js.map +1 -0
- package/dist/api/search.d.ts +29 -0
- package/dist/api/search.js +22 -0
- package/dist/api/search.js.map +1 -0
- package/dist/api/sitemap.d.ts +17 -0
- package/dist/api/sitemap.js +19 -0
- package/dist/api/sitemap.js.map +1 -0
- package/dist/api/webhooks.d.ts +40 -0
- package/dist/api/webhooks.js +39 -0
- package/dist/api/webhooks.js.map +1 -0
- package/dist/constants.d.ts +5 -0
- package/dist/constants.js +9 -0
- package/dist/constants.js.map +1 -0
- package/dist/errors.d.ts +32 -0
- package/dist/errors.js +52 -0
- package/dist/errors.js.map +1 -0
- package/dist/esm/api/classify.d.ts +24 -0
- package/dist/esm/api/classify.js +15 -0
- package/dist/esm/api/classify.js.map +1 -0
- package/dist/esm/api/extract.d.ts +118 -0
- package/dist/esm/api/extract.js +56 -0
- package/dist/esm/api/extract.js.map +1 -0
- package/dist/esm/api/jobs.d.ts +35 -0
- package/dist/esm/api/jobs.js +39 -0
- package/dist/esm/api/jobs.js.map +1 -0
- package/dist/esm/api/scrape.d.ts +18 -0
- package/dist/esm/api/scrape.js +14 -0
- package/dist/esm/api/scrape.js.map +1 -0
- package/dist/esm/api/screenshot.d.ts +15 -0
- package/dist/esm/api/screenshot.js +14 -0
- package/dist/esm/api/screenshot.js.map +1 -0
- package/dist/esm/api/search.d.ts +29 -0
- package/dist/esm/api/search.js +18 -0
- package/dist/esm/api/search.js.map +1 -0
- package/dist/esm/api/sitemap.d.ts +17 -0
- package/dist/esm/api/sitemap.js +15 -0
- package/dist/esm/api/sitemap.js.map +1 -0
- package/dist/esm/api/webhooks.d.ts +40 -0
- package/dist/esm/api/webhooks.js +35 -0
- package/dist/esm/api/webhooks.js.map +1 -0
- package/dist/esm/constants.d.ts +5 -0
- package/dist/esm/constants.js +6 -0
- package/dist/esm/constants.js.map +1 -0
- package/dist/esm/errors.d.ts +32 -0
- package/dist/esm/errors.js +43 -0
- package/dist/esm/errors.js.map +1 -0
- package/dist/esm/index.d.ts +100 -0
- package/dist/esm/index.js +91 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/utils/http-client.d.ts +62 -0
- package/dist/esm/utils/http-client.js +354 -0
- package/dist/esm/utils/http-client.js.map +1 -0
- package/dist/index.d.ts +100 -0
- package/dist/index.js +102 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +2 -0
- package/dist/index.mjs.map +1 -0
- package/dist/utils/http-client.d.ts +62 -0
- package/dist/utils/http-client.js +361 -0
- package/dist/utils/http-client.js.map +1 -0
- package/package.json +93 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { Extract } from './api/extract';
|
|
2
|
+
import { Scrape } from './api/scrape';
|
|
3
|
+
import { Classify } from './api/classify';
|
|
4
|
+
import { Screenshot } from './api/screenshot';
|
|
5
|
+
import { Sitemap } from './api/sitemap';
|
|
6
|
+
import { Search } from './api/search';
|
|
7
|
+
import { Webhooks } from './api/webhooks';
|
|
8
|
+
import { Jobs } from './api/jobs';
|
|
9
|
+
import { KnowledgeSDKError, APIError, AuthenticationError, NetworkError, RateLimitError, TimeoutError } from './errors';
|
|
10
|
+
export interface KnowledgeSDKOptions {
|
|
11
|
+
baseUrl?: string;
|
|
12
|
+
maxRetries?: number;
|
|
13
|
+
timeout?: number;
|
|
14
|
+
apiVersion?: string;
|
|
15
|
+
}
|
|
16
|
+
export declare class KnowledgeSDK {
|
|
17
|
+
/**
|
|
18
|
+
* The Extract resource — full pipeline extraction (sync and async)
|
|
19
|
+
*/
|
|
20
|
+
readonly extract: Extract;
|
|
21
|
+
/**
|
|
22
|
+
* The Scrape resource — single-page scraping to Markdown
|
|
23
|
+
*/
|
|
24
|
+
readonly scrape: Scrape;
|
|
25
|
+
/**
|
|
26
|
+
* The Classify resource — business classification from a URL
|
|
27
|
+
*/
|
|
28
|
+
readonly classify: Classify;
|
|
29
|
+
/**
|
|
30
|
+
* The Screenshot resource — full-page screenshots as base64 PNG
|
|
31
|
+
*/
|
|
32
|
+
readonly screenshot: Screenshot;
|
|
33
|
+
/**
|
|
34
|
+
* The Sitemap resource — URL discovery via sitemap crawling
|
|
35
|
+
*/
|
|
36
|
+
readonly sitemap: Sitemap;
|
|
37
|
+
/**
|
|
38
|
+
* The Search resource — semantic search across indexed knowledge items
|
|
39
|
+
*/
|
|
40
|
+
readonly search: Search;
|
|
41
|
+
/**
|
|
42
|
+
* The Webhooks resource — manage webhook endpoints
|
|
43
|
+
*/
|
|
44
|
+
readonly webhooks: Webhooks;
|
|
45
|
+
/**
|
|
46
|
+
* The Jobs resource — retrieve and poll async job results
|
|
47
|
+
*/
|
|
48
|
+
readonly jobs: Jobs;
|
|
49
|
+
private httpClient;
|
|
50
|
+
/**
|
|
51
|
+
* Create a new KnowledgeSDK client instance.
|
|
52
|
+
*
|
|
53
|
+
* @param apiKey Your KnowledgeSDK API key (must start with 'sk_ks_')
|
|
54
|
+
* @param options Optional configuration for the client
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* ```typescript
|
|
58
|
+
* import { KnowledgeSDK } from '@knowledgesdk/node';
|
|
59
|
+
*
|
|
60
|
+
* const client = new KnowledgeSDK('sk_ks_your_api_key');
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
constructor(apiKey: string, options?: KnowledgeSDKOptions);
|
|
64
|
+
/**
|
|
65
|
+
* Set custom headers to be included with every request
|
|
66
|
+
* @param headers Record of header names and values
|
|
67
|
+
* @returns The KnowledgeSDK instance for chaining
|
|
68
|
+
*/
|
|
69
|
+
setHeaders(headers: Record<string, string>): KnowledgeSDK;
|
|
70
|
+
/**
|
|
71
|
+
* Set a specific custom header
|
|
72
|
+
* @param name Header name
|
|
73
|
+
* @param value Header value
|
|
74
|
+
* @returns The KnowledgeSDK instance for chaining
|
|
75
|
+
*/
|
|
76
|
+
setHeader(name: string, value: string): KnowledgeSDK;
|
|
77
|
+
/**
|
|
78
|
+
* Enable or disable debug mode.
|
|
79
|
+
* When enabled, all requests and responses will be logged to the console.
|
|
80
|
+
* @param enabled Whether debug mode should be enabled
|
|
81
|
+
* @returns The KnowledgeSDK instance for chaining
|
|
82
|
+
*/
|
|
83
|
+
setDebugMode(enabled: boolean): KnowledgeSDK;
|
|
84
|
+
/**
|
|
85
|
+
* Set the API version to use for requests
|
|
86
|
+
* @param version API version string (e.g., 'v1', 'v2')
|
|
87
|
+
* @returns The KnowledgeSDK instance for chaining
|
|
88
|
+
*/
|
|
89
|
+
setApiVersion(version: string): KnowledgeSDK;
|
|
90
|
+
}
|
|
91
|
+
export { KnowledgeSDKError, APIError, AuthenticationError, NetworkError, RateLimitError, TimeoutError, };
|
|
92
|
+
export { DEFAULT_BASE_URL, DEFAULT_MAX_RETRIES, DEFAULT_TIMEOUT } from './constants';
|
|
93
|
+
export type { ExtractResult, ExtractOptions, ExtractAsyncOptions, ExtractAsyncResult, ExtractStreamOptions, ExtractStreamEvent, KnowledgeItem, BusinessProfile } from './api/extract';
|
|
94
|
+
export type { ScrapeResult } from './api/scrape';
|
|
95
|
+
export type { BusinessClassification } from './api/classify';
|
|
96
|
+
export type { ScreenshotResult } from './api/screenshot';
|
|
97
|
+
export type { SitemapResult } from './api/sitemap';
|
|
98
|
+
export type { SearchResult, SearchHit, SearchOptions } from './api/search';
|
|
99
|
+
export type { WebhookFull, WebhookCreateOptions } from './api/webhooks';
|
|
100
|
+
export type { JobResult, JobStatus, PollOptions } from './api/jobs';
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DEFAULT_TIMEOUT = exports.DEFAULT_MAX_RETRIES = exports.DEFAULT_BASE_URL = exports.TimeoutError = exports.RateLimitError = exports.NetworkError = exports.AuthenticationError = exports.APIError = exports.KnowledgeSDKError = exports.KnowledgeSDK = void 0;
|
|
4
|
+
const extract_1 = require("./api/extract");
|
|
5
|
+
const scrape_1 = require("./api/scrape");
|
|
6
|
+
const classify_1 = require("./api/classify");
|
|
7
|
+
const screenshot_1 = require("./api/screenshot");
|
|
8
|
+
const sitemap_1 = require("./api/sitemap");
|
|
9
|
+
const search_1 = require("./api/search");
|
|
10
|
+
const webhooks_1 = require("./api/webhooks");
|
|
11
|
+
const jobs_1 = require("./api/jobs");
|
|
12
|
+
const http_client_1 = require("./utils/http-client");
|
|
13
|
+
const errors_1 = require("./errors");
|
|
14
|
+
Object.defineProperty(exports, "KnowledgeSDKError", { enumerable: true, get: function () { return errors_1.KnowledgeSDKError; } });
|
|
15
|
+
Object.defineProperty(exports, "APIError", { enumerable: true, get: function () { return errors_1.APIError; } });
|
|
16
|
+
Object.defineProperty(exports, "AuthenticationError", { enumerable: true, get: function () { return errors_1.AuthenticationError; } });
|
|
17
|
+
Object.defineProperty(exports, "NetworkError", { enumerable: true, get: function () { return errors_1.NetworkError; } });
|
|
18
|
+
Object.defineProperty(exports, "RateLimitError", { enumerable: true, get: function () { return errors_1.RateLimitError; } });
|
|
19
|
+
Object.defineProperty(exports, "TimeoutError", { enumerable: true, get: function () { return errors_1.TimeoutError; } });
|
|
20
|
+
const constants_1 = require("./constants");
|
|
21
|
+
class KnowledgeSDK {
|
|
22
|
+
/**
|
|
23
|
+
* Create a new KnowledgeSDK client instance.
|
|
24
|
+
*
|
|
25
|
+
* @param apiKey Your KnowledgeSDK API key (must start with 'sk_ks_')
|
|
26
|
+
* @param options Optional configuration for the client
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```typescript
|
|
30
|
+
* import { KnowledgeSDK } from '@knowledgesdk/node';
|
|
31
|
+
*
|
|
32
|
+
* const client = new KnowledgeSDK('sk_ks_your_api_key');
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
constructor(apiKey, options = {}) {
|
|
36
|
+
var _a, _b;
|
|
37
|
+
if (!apiKey) {
|
|
38
|
+
throw new errors_1.AuthenticationError('API key is required', {
|
|
39
|
+
code: 'api_key_required',
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
if (!apiKey.startsWith('sk_ks_')) {
|
|
43
|
+
throw new errors_1.AuthenticationError('Invalid API key format. Keys must start with sk_ks_', { code: 'invalid_api_key_format' });
|
|
44
|
+
}
|
|
45
|
+
// Initialize the HTTP client
|
|
46
|
+
this.httpClient = new http_client_1.HttpClient(apiKey, options.baseUrl || constants_1.DEFAULT_BASE_URL, (_a = options.maxRetries) !== null && _a !== void 0 ? _a : constants_1.DEFAULT_MAX_RETRIES, (_b = options.timeout) !== null && _b !== void 0 ? _b : constants_1.DEFAULT_TIMEOUT, options.apiVersion || constants_1.DEFAULT_API_VERSION);
|
|
47
|
+
// Initialize API resources
|
|
48
|
+
this.extract = new extract_1.Extract(this.httpClient);
|
|
49
|
+
this.scrape = new scrape_1.Scrape(this.httpClient);
|
|
50
|
+
this.classify = new classify_1.Classify(this.httpClient);
|
|
51
|
+
this.screenshot = new screenshot_1.Screenshot(this.httpClient);
|
|
52
|
+
this.sitemap = new sitemap_1.Sitemap(this.httpClient);
|
|
53
|
+
this.search = new search_1.Search(this.httpClient);
|
|
54
|
+
this.webhooks = new webhooks_1.Webhooks(this.httpClient);
|
|
55
|
+
this.jobs = new jobs_1.Jobs(this.httpClient);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Set custom headers to be included with every request
|
|
59
|
+
* @param headers Record of header names and values
|
|
60
|
+
* @returns The KnowledgeSDK instance for chaining
|
|
61
|
+
*/
|
|
62
|
+
setHeaders(headers) {
|
|
63
|
+
this.httpClient.setHeaders(headers);
|
|
64
|
+
return this;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Set a specific custom header
|
|
68
|
+
* @param name Header name
|
|
69
|
+
* @param value Header value
|
|
70
|
+
* @returns The KnowledgeSDK instance for chaining
|
|
71
|
+
*/
|
|
72
|
+
setHeader(name, value) {
|
|
73
|
+
this.httpClient.setHeader(name, value);
|
|
74
|
+
return this;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Enable or disable debug mode.
|
|
78
|
+
* When enabled, all requests and responses will be logged to the console.
|
|
79
|
+
* @param enabled Whether debug mode should be enabled
|
|
80
|
+
* @returns The KnowledgeSDK instance for chaining
|
|
81
|
+
*/
|
|
82
|
+
setDebugMode(enabled) {
|
|
83
|
+
this.httpClient.setDebugMode(enabled);
|
|
84
|
+
return this;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Set the API version to use for requests
|
|
88
|
+
* @param version API version string (e.g., 'v1', 'v2')
|
|
89
|
+
* @returns The KnowledgeSDK instance for chaining
|
|
90
|
+
*/
|
|
91
|
+
setApiVersion(version) {
|
|
92
|
+
this.httpClient.setApiVersion(version);
|
|
93
|
+
return this;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
exports.KnowledgeSDK = KnowledgeSDK;
|
|
97
|
+
// Re-export constants
|
|
98
|
+
var constants_2 = require("./constants");
|
|
99
|
+
Object.defineProperty(exports, "DEFAULT_BASE_URL", { enumerable: true, get: function () { return constants_2.DEFAULT_BASE_URL; } });
|
|
100
|
+
Object.defineProperty(exports, "DEFAULT_MAX_RETRIES", { enumerable: true, get: function () { return constants_2.DEFAULT_MAX_RETRIES; } });
|
|
101
|
+
Object.defineProperty(exports, "DEFAULT_TIMEOUT", { enumerable: true, get: function () { return constants_2.DEFAULT_TIMEOUT; } });
|
|
102
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AACxC,yCAAsC;AACtC,6CAA0C;AAC1C,iDAA8C;AAC9C,2CAAwC;AACxC,yCAAsC;AACtC,6CAA0C;AAC1C,qCAAkC;AAClC,qDAAiD;AACjD,qCAOkB;AAiJhB,kGAvJA,0BAAiB,OAuJA;AACjB,yFAvJA,iBAAQ,OAuJA;AACR,oGAvJA,4BAAmB,OAuJA;AACnB,6FAvJA,qBAAY,OAuJA;AACZ,+FAvJA,uBAAc,OAuJA;AACd,6FAvJA,qBAAY,OAuJA;AArJd,2CAA0G;AAS1G,MAAa,YAAY;IA2CvB;;;;;;;;;;;;OAYG;IACH,YAAY,MAAc,EAAE,UAA+B,EAAE;;QAC3D,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,4BAAmB,CAAC,qBAAqB,EAAE;gBACnD,IAAI,EAAE,kBAAkB;aACzB,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,4BAAmB,CAC3B,qDAAqD,EACrD,EAAE,IAAI,EAAE,wBAAwB,EAAE,CACnC,CAAC;QACJ,CAAC;QAED,6BAA6B;QAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,wBAAU,CAC9B,MAAM,EACN,OAAO,CAAC,OAAO,IAAI,4BAAgB,EACnC,MAAA,OAAO,CAAC,UAAU,mCAAI,+BAAmB,EACzC,MAAA,OAAO,CAAC,OAAO,mCAAI,2BAAe,EAClC,OAAO,CAAC,UAAU,IAAI,+BAAmB,CAC1C,CAAC;QAEF,2BAA2B;QAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,mBAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,GAAG,IAAI,uBAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,mBAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,GAAG,IAAI,WAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,OAA+B;QACxC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,SAAS,CAAC,IAAY,EAAE,KAAa;QACnC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,OAAgB;QAC3B,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,aAAa,CAAC,OAAe;QAC3B,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAnID,oCAmIC;AAYD,sBAAsB;AACtB,yCAAqF;AAA5E,6GAAA,gBAAgB,OAAA;AAAE,gHAAA,mBAAmB,OAAA;AAAE,4GAAA,eAAe,OAAA"}
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import t from"cross-fetch";class e{constructor(t){this.httpClient=t}async run(t,e){return this.httpClient.post("/extract",{url:t,...e})}async runAsync(t,e){return this.httpClient.post("/extract/async",{url:t,...e})}async*runStream(t,e){yield*this.httpClient.streamPost("/extract/stream",{url:t,...e})}}class s{constructor(t){this.httpClient=t}async run(t){return this.httpClient.post("/scrape",{url:t})}}class r{constructor(t){this.httpClient=t}async run(t){return this.httpClient.post("/classify",{url:t})}}class n{constructor(t){this.httpClient=t}async run(t){return this.httpClient.post("/screenshot",{url:t})}}class o{constructor(t){this.httpClient=t}async run(t){return this.httpClient.post("/sitemap",{url:t})}}class a{constructor(t){this.httpClient=t}async run(t,e){return this.httpClient.post("/search",{query:t,...e})}}class i{constructor(t){this.httpClient=t}async create(t){return this.httpClient.post("/webhooks",t)}async list(){return this.httpClient.get("/webhooks")}async delete(t){return this.httpClient.delete(`/webhooks/${t}`)}async test(t){return this.httpClient.post(`/webhooks/${t}/test`)}}class c extends Error{constructor(t,e={}){super(t),this.name="KnowledgeSDKError",this.code=e.code,this.statusCode=e.statusCode,this.requestId=e.requestId,this.cause=e.cause,this.data=e.data}}class l extends c{constructor(t,e={}){super(t,e),this.name="APIError"}}class h extends c{constructor(t,e={}){super(t,e),this.name="AuthenticationError"}}class u extends c{constructor(t,e={}){super(t,e),this.name="NetworkError"}}class d extends c{constructor(t,e={}){super(t,e),this.name="RateLimitError",this.retryAfter="number"==typeof e.retryAfter?e.retryAfter:void 0}}class p extends c{constructor(t,e={}){super(t,e),this.name="TimeoutError"}}class m{constructor(t){this.httpClient=t}async get(t){return this.httpClient.get(`/jobs/${t}`)}async poll(t,e){var s,r;const n=null!==(s=null==e?void 0:e.intervalMs)&&void 0!==s?s:2e3,o=null!==(r=null==e?void 0:e.timeoutMs)&&void 0!==r?r:12e4,a=Date.now();for(;;){const e=await this.get(t);if("completed"===e.status||"failed"===e.status)return e;if(Date.now()-a+n>=o)throw new p(`Job ${t} did not complete within ${o}ms. Last status: ${e.status}`,{code:"job_timeout",data:{jobId:t,status:e.status}});await new Promise(t=>setTimeout(t,n))}}}const y="https://api.knowledgesdk.com",w=3,f=3e4;function g(t){let e,s,r,n=!1;return function(o){void 0===e?(e=o,s=0,r=-1):e=function(t,e){const s=new Uint8Array(t.length+e.length);return s.set(t),s.set(e,t.length),s}(e,o);const a=e.length;let i=0;for(;s<a;){n&&(10===e[s]&&(i=++s),n=!1);let o=-1;for(;s<a&&-1===o;++s)switch(e[s]){case 58:-1===r&&(r=s-i);break;case 13:n=!0;case 10:o=s}if(-1===o)break;t(e.subarray(i,o),r),i=s,r=-1}i===a?e=void 0:0!==i&&(e=e.subarray(i),s-=i)}}var b=function(t,e){var s={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(s[r]=t[r]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(r=Object.getOwnPropertySymbols(t);n<r.length;n++)e.indexOf(r[n])<0&&Object.prototype.propertyIsEnumerable.call(t,r[n])&&(s[r[n]]=t[r[n]])}return s};const v="text/event-stream",C="last-event-id";function E(t,e){var{signal:s,headers:r,onopen:n,onmessage:o,onclose:a,onerror:i,openWhenHidden:c,fetch:l}=e,h=b(e,["signal","headers","onopen","onmessage","onclose","onerror","openWhenHidden","fetch"]);return new Promise((e,u)=>{const d=Object.assign({},r);let p;function m(){p.abort(),document.hidden||x()}d.accept||(d.accept=v),c||document.addEventListener("visibilitychange",m);let y=1e3,w=0;function f(){document.removeEventListener("visibilitychange",m),window.clearTimeout(w),p.abort()}null==s||s.addEventListener("abort",()=>{f(),e()});const b=null!=l?l:window.fetch,E=null!=n?n:k;async function x(){var s;p=new AbortController;try{const s=await b(t,Object.assign(Object.assign({},h),{headers:d,signal:p.signal}));await E(s),await async function(t,e){const s=t.getReader();let r;for(;!(r=await s.read()).done;)e(r.value)}(s.body,g(function(t,e,s){let r={data:"",event:"",id:"",retry:void 0};const n=new TextDecoder;return function(o,a){if(0===o.length)null==s||s(r),r={data:"",event:"",id:"",retry:void 0};else if(a>0){const s=n.decode(o.subarray(0,a)),i=a+(32===o[a+1]?2:1),c=n.decode(o.subarray(i));switch(s){case"data":r.data=r.data?r.data+"\n"+c:c;break;case"event":r.event=c;break;case"id":t(r.id=c);break;case"retry":const s=parseInt(c,10);isNaN(s)||e(r.retry=s)}}}}(t=>{t?d[C]=t:delete d[C]},t=>{y=t},o))),null==a||a(),f(),e()}catch(t){if(!p.signal.aborted)try{const e=null!==(s=null==i?void 0:i(t))&&void 0!==s?s:y;window.clearTimeout(w),w=window.setTimeout(x,e)}catch(t){f(),u(t)}}}x()})}function k(t){const e=t.headers.get("content-type");if(!(null==e?void 0:e.startsWith(v)))throw new Error(`Expected content-type to be ${v}, Actual: ${e}`)}class x{constructor(t,e="https://api.knowledgesdk.com",s=3,r=3e4,n="v1"){this.customHeaders={},this.debugMode=!1,this.apiKey=t,this.baseUrl=e,this.defaultMaxRetries=s,this.defaultTimeout=r,this.apiVersion=n}setHeaders(t){return this.customHeaders={...this.customHeaders,...t},this}setHeader(t,e){return this.customHeaders[t]=e,this}setDebugMode(t){return this.debugMode=t,this}setApiVersion(t){return this.apiVersion=t,this}createUrl(t,e){const s=t.startsWith("/")?`/${this.apiVersion}${t}`:`/${this.apiVersion}/${t}`,r=new URL(s,this.baseUrl);return e&&Object.entries(e).forEach(([t,e])=>{Array.isArray(e)?e.forEach(e=>r.searchParams.append(t,e)):null!=e&&r.searchParams.append(t,String(e))}),r.toString()}getHeaders(){return{"x-api-key":this.apiKey,"Content-Type":"application/json","User-Agent":"KnowledgeSDK Node SDK v0.1.0",Accept:"application/json",...this.customHeaders}}calculateBackoff(t,e){const s=e*Math.pow(4,t)*(.8+.4*Math.random());return Math.min(s,3e4)}async request(e,s={}){const{method:r="GET",headers:n={},params:o,data:a,maxRetries:i=this.defaultMaxRetries,retryCount:m=0,retryDelay:y=100,timeout:w=this.defaultTimeout}=s,f=this.createUrl(e,o);let g;const b=new Promise((t,e)=>{g=setTimeout(()=>{e(new p(`Request timed out after ${w}ms`,{code:"timeout"}))},w)});try{const s={...this.getHeaders(),...n},c={method:r,headers:s};"GET"!==r&&void 0!==a&&(c.body=JSON.stringify(a)),this.debugMode&&(console.log(`[KNOWLEDGESDK] Request: ${r} ${f}`),console.log("[KNOWLEDGESDK] Headers:",s),a&&console.log("[KNOWLEDGESDK] Body:",JSON.stringify(a,null,2)));const u=await Promise.race([t(f,c),b]);g&&clearTimeout(g);const p=u.headers.get("x-request-id");let v;const C=u.headers.get("content-type");if(v=C&&C.includes("application/json")?await u.json():await u.text(),this.debugMode&&(console.log(`[KNOWLEDGESDK] Response: ${u.status}`),console.log("[KNOWLEDGESDK] Response body:","string"==typeof v?v:JSON.stringify(v,null,2))),429===u.status){if(m<i){const t=this.calculateBackoff(m,y);return this.debugMode&&console.log(`[KNOWLEDGESDK] Rate limited, retrying in ${t}ms (attempt ${m+1}/${i})`),await new Promise(e=>setTimeout(e,t)),this.request(e,{method:r,headers:n,params:o,data:a,maxRetries:i,retryCount:m+1,retryDelay:y,timeout:w})}throw new d("Rate limit exceeded",{statusCode:u.status,requestId:p||void 0})}if(401===u.status)throw new h("Invalid API key",{statusCode:u.status,code:"invalid_api_key",requestId:p||void 0});if(u.status>=500){if(m<i){const t=this.calculateBackoff(m,y);return this.debugMode&&console.log(`[KNOWLEDGESDK] Server error, retrying in ${t}ms (attempt ${m+1}/${i})`),await new Promise(e=>setTimeout(e,t)),this.request(e,{method:r,headers:n,params:o,data:a,maxRetries:i,retryCount:m+1,retryDelay:y,timeout:w})}throw new l(`Server error: ${u.status}`,{statusCode:u.status,code:"server_error",requestId:p||void 0,data:v})}if(!u.ok){let t=`API error: ${u.status}`,e="api_error";throw v&&"object"==typeof v&&(t=v.message||v.error||t,e=v.code||e),new l(t,{statusCode:u.status,code:e,requestId:p||void 0,data:v})}return v}catch(t){if(g&&clearTimeout(g),t instanceof c)throw t;if(t instanceof p)throw t;if("TypeError"===t.name&&t.message.includes("fetch"))throw new u("Network error",{code:"network_error",data:t.message});throw new c("Unexpected error",{code:"unexpected_error",data:t})}}async get(t,e){return this.request(t,{method:"GET",...e})}async post(t,e,s){return this.request(t,{method:"POST",data:e,...s})}async put(t,e,s){return this.request(t,{method:"PUT",data:e,...s})}async patch(t,e,s){return this.request(t,{method:"PATCH",data:e,...s})}async delete(t,e){return this.request(t,{method:"DELETE",...e})}async*streamPost(t,e){const s=this.createUrl(t),r={...this.getHeaders(),Accept:"text/event-stream","Content-Type":"application/json"},n=[];let o=null,a=!1,i=null;const c=new AbortController,h=t=>{a=!0,i=null!=t?t:null,null==o||o(),o=null};E(s,{method:"POST",headers:r,body:JSON.stringify(e),signal:c.signal,async onopen(t){if(!t.ok){const e=await t.text().catch(()=>"");let s={};try{s=JSON.parse(e)}catch{}throw new l(s.message||`Stream failed: ${t.status}`,{statusCode:t.status,code:"stream_error",data:s})}},onmessage(t){var e;if(t.data)try{const s=JSON.parse(t.data);e={type:t.event||"message",...s},n.push(e),null==o||o(),o=null}catch{}},onclose(){h()},onerror(t){throw h(t instanceof Error?t:new Error(String(t))),t}}).catch(t=>{a||h(t instanceof Error?t:new Error(String(t)))});try{for(;!a||n.length>0;)n.length>0?yield n.shift():await new Promise(t=>{o=t})}finally{c.abort()}if(i)throw i}}class O{constructor(t,c={}){var l,u;if(!t)throw new h("API key is required",{code:"api_key_required"});if(!t.startsWith("sk_ks_"))throw new h("Invalid API key format. Keys must start with sk_ks_",{code:"invalid_api_key_format"});this.httpClient=new x(t,c.baseUrl||y,null!==(l=c.maxRetries)&&void 0!==l?l:3,null!==(u=c.timeout)&&void 0!==u?u:3e4,c.apiVersion||"v1"),this.extract=new e(this.httpClient),this.scrape=new s(this.httpClient),this.classify=new r(this.httpClient),this.screenshot=new n(this.httpClient),this.sitemap=new o(this.httpClient),this.search=new a(this.httpClient),this.webhooks=new i(this.httpClient),this.jobs=new m(this.httpClient)}setHeaders(t){return this.httpClient.setHeaders(t),this}setHeader(t,e){return this.httpClient.setHeader(t,e),this}setDebugMode(t){return this.httpClient.setDebugMode(t),this}setApiVersion(t){return this.httpClient.setApiVersion(t),this}}export{l as APIError,h as AuthenticationError,y as DEFAULT_BASE_URL,w as DEFAULT_MAX_RETRIES,f as DEFAULT_TIMEOUT,O as KnowledgeSDK,c as KnowledgeSDKError,u as NetworkError,d as RateLimitError,p as TimeoutError};
|
|
2
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/api/extract.ts","../../src/api/scrape.ts","../../src/api/classify.ts","../../src/api/screenshot.ts","../../src/api/sitemap.ts","../../src/api/search.ts","../../src/api/webhooks.ts","../../src/errors.ts","../../src/api/jobs.ts","../../src/constants.ts","../node_modules/@microsoft/fetch-event-source/lib/esm/parse.js","../node_modules/@microsoft/fetch-event-source/lib/esm/fetch.js","../../src/utils/http-client.ts","../../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,"export async function getBytes(stream, onChunk) {\r\n const reader = stream.getReader();\r\n let result;\r\n while (!(result = await reader.read()).done) {\r\n onChunk(result.value);\r\n }\r\n}\r\nexport function getLines(onLine) {\r\n let buffer;\r\n let position;\r\n let fieldLength;\r\n let discardTrailingNewline = false;\r\n return function onChunk(arr) {\r\n if (buffer === undefined) {\r\n buffer = arr;\r\n position = 0;\r\n fieldLength = -1;\r\n }\r\n else {\r\n buffer = concat(buffer, arr);\r\n }\r\n const bufLength = buffer.length;\r\n let lineStart = 0;\r\n while (position < bufLength) {\r\n if (discardTrailingNewline) {\r\n if (buffer[position] === 10) {\r\n lineStart = ++position;\r\n }\r\n discardTrailingNewline = false;\r\n }\r\n let lineEnd = -1;\r\n for (; position < bufLength && lineEnd === -1; ++position) {\r\n switch (buffer[position]) {\r\n case 58:\r\n if (fieldLength === -1) {\r\n fieldLength = position - lineStart;\r\n }\r\n break;\r\n case 13:\r\n discardTrailingNewline = true;\r\n case 10:\r\n lineEnd = position;\r\n break;\r\n }\r\n }\r\n if (lineEnd === -1) {\r\n break;\r\n }\r\n onLine(buffer.subarray(lineStart, lineEnd), fieldLength);\r\n lineStart = position;\r\n fieldLength = -1;\r\n }\r\n if (lineStart === bufLength) {\r\n buffer = undefined;\r\n }\r\n else if (lineStart !== 0) {\r\n buffer = buffer.subarray(lineStart);\r\n position -= lineStart;\r\n }\r\n };\r\n}\r\nexport function getMessages(onId, onRetry, onMessage) {\r\n let message = newMessage();\r\n const decoder = new TextDecoder();\r\n return function onLine(line, fieldLength) {\r\n if (line.length === 0) {\r\n onMessage === null || onMessage === void 0 ? void 0 : onMessage(message);\r\n message = newMessage();\r\n }\r\n else if (fieldLength > 0) {\r\n const field = decoder.decode(line.subarray(0, fieldLength));\r\n const valueOffset = fieldLength + (line[fieldLength + 1] === 32 ? 2 : 1);\r\n const value = decoder.decode(line.subarray(valueOffset));\r\n switch (field) {\r\n case 'data':\r\n message.data = message.data\r\n ? message.data + '\\n' + value\r\n : value;\r\n break;\r\n case 'event':\r\n message.event = value;\r\n break;\r\n case 'id':\r\n onId(message.id = value);\r\n break;\r\n case 'retry':\r\n const retry = parseInt(value, 10);\r\n if (!isNaN(retry)) {\r\n onRetry(message.retry = retry);\r\n }\r\n break;\r\n }\r\n }\r\n };\r\n}\r\nfunction concat(a, b) {\r\n const res = new Uint8Array(a.length + b.length);\r\n res.set(a);\r\n res.set(b, a.length);\r\n return res;\r\n}\r\nfunction newMessage() {\r\n return {\r\n data: '',\r\n event: '',\r\n id: '',\r\n retry: undefined,\r\n };\r\n}\r\n//# sourceMappingURL=parse.js.map","var __rest = (this && this.__rest) || function (s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n};\r\nimport { getBytes, getLines, getMessages } from './parse';\r\nexport const EventStreamContentType = 'text/event-stream';\r\nconst DefaultRetryInterval = 1000;\r\nconst LastEventId = 'last-event-id';\r\nexport function fetchEventSource(input, _a) {\r\n var { signal: inputSignal, headers: inputHeaders, onopen: inputOnOpen, onmessage, onclose, onerror, openWhenHidden, fetch: inputFetch } = _a, rest = __rest(_a, [\"signal\", \"headers\", \"onopen\", \"onmessage\", \"onclose\", \"onerror\", \"openWhenHidden\", \"fetch\"]);\r\n return new Promise((resolve, reject) => {\r\n const headers = Object.assign({}, inputHeaders);\r\n if (!headers.accept) {\r\n headers.accept = EventStreamContentType;\r\n }\r\n let curRequestController;\r\n function onVisibilityChange() {\r\n curRequestController.abort();\r\n if (!document.hidden) {\r\n create();\r\n }\r\n }\r\n if (!openWhenHidden) {\r\n document.addEventListener('visibilitychange', onVisibilityChange);\r\n }\r\n let retryInterval = DefaultRetryInterval;\r\n let retryTimer = 0;\r\n function dispose() {\r\n document.removeEventListener('visibilitychange', onVisibilityChange);\r\n window.clearTimeout(retryTimer);\r\n curRequestController.abort();\r\n }\r\n inputSignal === null || inputSignal === void 0 ? void 0 : inputSignal.addEventListener('abort', () => {\r\n dispose();\r\n resolve();\r\n });\r\n const fetch = inputFetch !== null && inputFetch !== void 0 ? inputFetch : window.fetch;\r\n const onopen = inputOnOpen !== null && inputOnOpen !== void 0 ? inputOnOpen : defaultOnOpen;\r\n async function create() {\r\n var _a;\r\n curRequestController = new AbortController();\r\n try {\r\n const response = await fetch(input, Object.assign(Object.assign({}, rest), { headers, signal: curRequestController.signal }));\r\n await onopen(response);\r\n await getBytes(response.body, getLines(getMessages(id => {\r\n if (id) {\r\n headers[LastEventId] = id;\r\n }\r\n else {\r\n delete headers[LastEventId];\r\n }\r\n }, retry => {\r\n retryInterval = retry;\r\n }, onmessage)));\r\n onclose === null || onclose === void 0 ? void 0 : onclose();\r\n dispose();\r\n resolve();\r\n }\r\n catch (err) {\r\n if (!curRequestController.signal.aborted) {\r\n try {\r\n const interval = (_a = onerror === null || onerror === void 0 ? void 0 : onerror(err)) !== null && _a !== void 0 ? _a : retryInterval;\r\n window.clearTimeout(retryTimer);\r\n retryTimer = window.setTimeout(create, interval);\r\n }\r\n catch (innerErr) {\r\n dispose();\r\n reject(innerErr);\r\n }\r\n }\r\n }\r\n }\r\n create();\r\n });\r\n}\r\nfunction defaultOnOpen(response) {\r\n const contentType = response.headers.get('content-type');\r\n if (!(contentType === null || contentType === void 0 ? void 0 : contentType.startsWith(EventStreamContentType))) {\r\n throw new Error(`Expected content-type to be ${EventStreamContentType}, Actual: ${contentType}`);\r\n }\r\n}\r\n//# sourceMappingURL=fetch.js.map",null,null],"names":["Extract","constructor","httpClient","this","run","url","options","post","runAsync","runStream","streamPost","Scrape","Classify","Screenshot","Sitemap","Search","query","Webhooks","create","list","get","webhookId","delete","test","KnowledgeSDKError","Error","message","super","name","code","statusCode","requestId","cause","data","APIError","AuthenticationError","NetworkError","RateLimitError","retryAfter","undefined","TimeoutError","Jobs","jobId","poll","intervalMs","_a","timeoutMs","_b","startTime","Date","now","job","status","Promise","resolve","setTimeout","DEFAULT_BASE_URL","DEFAULT_MAX_RETRIES","DEFAULT_TIMEOUT","getLines","onLine","buffer","position","fieldLength","discardTrailingNewline","arr","a","b","res","Uint8Array","length","set","concat","bufLength","lineStart","lineEnd","subarray","__rest","s","e","t","p","Object","prototype","hasOwnProperty","call","indexOf","getOwnPropertySymbols","i","propertyIsEnumerable","EventStreamContentType","LastEventId","fetchEventSource","input","signal","inputSignal","headers","inputHeaders","onopen","inputOnOpen","onmessage","onclose","onerror","openWhenHidden","fetch","inputFetch","rest","reject","assign","curRequestController","onVisibilityChange","abort","document","hidden","accept","addEventListener","retryInterval","retryTimer","dispose","removeEventListener","window","clearTimeout","defaultOnOpen","async","AbortController","response","stream","onChunk","reader","getReader","result","read","done","value","getBytes","body","onId","onRetry","onMessage","event","id","retry","decoder","TextDecoder","line","field","decode","valueOffset","parseInt","isNaN","getMessages","err","aborted","interval","innerErr","contentType","startsWith","HttpClient","apiKey","baseUrl","maxRetries","timeout","apiVersion","customHeaders","debugMode","defaultMaxRetries","defaultTimeout","setHeaders","setHeader","setDebugMode","enabled","setApiVersion","version","createUrl","path","params","versionedPath","URL","entries","forEach","key","Array","isArray","v","searchParams","append","String","toString","getHeaders","Accept","calculateBackoff","retryCount","retryDelay","withJitter","Math","pow","random","min","request","method","timeoutId","timeoutPromise","_","requestHeaders","requestOptions","JSON","stringify","console","log","race","responseData","includes","json","text","nextDelay","ok","errorMessage","errorCode","error","put","patch","queue","waitResolve","streamError","controller","finish","catch","parse","ev","item","parsed","type","push","shift","r","KnowledgeSDK","extract","scrape","classify","screenshot","sitemap","search","webhooks","jobs"],"mappings":"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","x_google_ignoreList":[10,11]}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
type HttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
|
|
2
|
+
export interface RequestOptions {
|
|
3
|
+
method?: HttpMethod;
|
|
4
|
+
headers?: Record<string, string>;
|
|
5
|
+
params?: Record<string, any>;
|
|
6
|
+
data?: any;
|
|
7
|
+
maxRetries?: number;
|
|
8
|
+
retryCount?: number;
|
|
9
|
+
retryDelay?: number;
|
|
10
|
+
timeout?: number;
|
|
11
|
+
}
|
|
12
|
+
export declare class HttpClient {
|
|
13
|
+
private apiKey;
|
|
14
|
+
private baseUrl;
|
|
15
|
+
private apiVersion;
|
|
16
|
+
private defaultMaxRetries;
|
|
17
|
+
private defaultTimeout;
|
|
18
|
+
private customHeaders;
|
|
19
|
+
private debugMode;
|
|
20
|
+
constructor(apiKey: string, baseUrl?: string, maxRetries?: number, timeout?: number, apiVersion?: string);
|
|
21
|
+
/**
|
|
22
|
+
* Set custom headers to be included with every request
|
|
23
|
+
* @param headers Record of header names and values
|
|
24
|
+
* @returns The HttpClient instance for chaining
|
|
25
|
+
*/
|
|
26
|
+
setHeaders(headers: Record<string, string>): HttpClient;
|
|
27
|
+
/**
|
|
28
|
+
* Set a specific custom header
|
|
29
|
+
* @param name Header name
|
|
30
|
+
* @param value Header value
|
|
31
|
+
* @returns The HttpClient instance for chaining
|
|
32
|
+
*/
|
|
33
|
+
setHeader(name: string, value: string): HttpClient;
|
|
34
|
+
/**
|
|
35
|
+
* Enable or disable debug mode
|
|
36
|
+
* When enabled, requests and responses will be logged to console
|
|
37
|
+
* @param enabled Whether debug mode should be enabled
|
|
38
|
+
* @returns The HttpClient instance for chaining
|
|
39
|
+
*/
|
|
40
|
+
setDebugMode(enabled: boolean): HttpClient;
|
|
41
|
+
/**
|
|
42
|
+
* Set the API version to use for requests
|
|
43
|
+
* @param version API version string (e.g., 'v1', 'v2', etc.)
|
|
44
|
+
* @returns The HttpClient instance for chaining
|
|
45
|
+
*/
|
|
46
|
+
setApiVersion(version: string): HttpClient;
|
|
47
|
+
private createUrl;
|
|
48
|
+
private getHeaders;
|
|
49
|
+
private calculateBackoff;
|
|
50
|
+
request<T = any>(path: string, options?: RequestOptions): Promise<T>;
|
|
51
|
+
get<T = any>(path: string, options?: Omit<RequestOptions, 'method'>): Promise<T>;
|
|
52
|
+
post<T = any>(path: string, data?: any, options?: Omit<RequestOptions, 'method' | 'data'>): Promise<T>;
|
|
53
|
+
put<T = any>(path: string, data?: any, options?: Omit<RequestOptions, 'method' | 'data'>): Promise<T>;
|
|
54
|
+
patch<T = any>(path: string, data?: any, options?: Omit<RequestOptions, 'method' | 'data'>): Promise<T>;
|
|
55
|
+
delete<T = any>(path: string, options?: Omit<RequestOptions, 'method'>): Promise<T>;
|
|
56
|
+
/**
|
|
57
|
+
* POST to a server-sent events endpoint and yield typed events as an async generator.
|
|
58
|
+
* Requires Node.js 18+ (or a runtime with native fetch support).
|
|
59
|
+
*/
|
|
60
|
+
streamPost<T = any>(path: string, data?: any): AsyncGenerator<T>;
|
|
61
|
+
}
|
|
62
|
+
export {};
|