linkup-sdk 2.3.0 → 2.4.1
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/dist/linkup-client.d.ts +2 -3
- package/dist/linkup-client.d.ts.map +1 -1
- package/dist/linkup-client.js +15 -27
- package/dist/linkup-client.js.map +1 -1
- package/dist/types.d.ts +45 -23
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/linkup-client.d.ts
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { ApiConfig, FetchParams, LinkupFetchResponse, LinkupSearchResponse,
|
|
1
|
+
import { ApiConfig, FetchParams, LinkupFetchResponse, LinkupSearchResponse, SearchParams } from './types';
|
|
2
2
|
export declare class LinkupClient {
|
|
3
3
|
private readonly USER_AGENT;
|
|
4
4
|
private readonly client;
|
|
5
5
|
constructor(config: ApiConfig);
|
|
6
|
-
search<T extends
|
|
6
|
+
search<T extends SearchParams>(params: T): Promise<LinkupSearchResponse<T>>;
|
|
7
7
|
fetch<T extends FetchParams>(params: T): Promise<LinkupFetchResponse<T>>;
|
|
8
8
|
private sanitizeParams;
|
|
9
|
-
private formatResponse;
|
|
10
9
|
}
|
|
11
10
|
//# sourceMappingURL=linkup-client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linkup-client.d.ts","sourceRoot":"","sources":["../src/linkup-client.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,oBAAoB,EACpB,
|
|
1
|
+
{"version":3,"file":"linkup-client.d.ts","sourceRoot":"","sources":["../src/linkup-client.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACb,MAAM,SAAS,CAAC;AAIjB,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;IACpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;gBAE3B,MAAM,EAAE,SAAS;IAsBvB,MAAM,CAAC,CAAC,SAAS,YAAY,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;IAI3E,KAAK,CAAC,CAAC,SAAS,WAAW,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAI9E,OAAO,CAAC,cAAc;CA2CvB"}
|
package/dist/linkup-client.js
CHANGED
|
@@ -28,15 +28,14 @@ class LinkupClient {
|
|
|
28
28
|
});
|
|
29
29
|
}
|
|
30
30
|
async search(params) {
|
|
31
|
-
return this.client
|
|
32
|
-
.post('/search', this.sanitizeParams(params))
|
|
33
|
-
.then(response => this.formatResponse(response.data, params.outputType));
|
|
31
|
+
return this.client.post('/search', this.sanitizeParams(params)).then(response => response.data);
|
|
34
32
|
}
|
|
35
33
|
async fetch(params) {
|
|
36
34
|
return this.client.post('/fetch', params).then(response => response.data);
|
|
37
35
|
}
|
|
38
|
-
sanitizeParams(
|
|
39
|
-
|
|
36
|
+
sanitizeParams(params) {
|
|
37
|
+
const { query, depth, outputType, includeImages, includeDomains, excludeDomains, fromDate, toDate, } = params;
|
|
38
|
+
const result = {
|
|
40
39
|
depth,
|
|
41
40
|
outputType,
|
|
42
41
|
q: query,
|
|
@@ -45,30 +44,19 @@ class LinkupClient {
|
|
|
45
44
|
...(excludeDomains && { excludeDomains }),
|
|
46
45
|
...(fromDate && { fromDate: fromDate.toISOString() }),
|
|
47
46
|
...(toDate && { toDate: toDate.toISOString() }),
|
|
48
|
-
...(includeInlineCitations && { includeInlineCitations }),
|
|
49
|
-
...(structuredOutputSchema && {
|
|
50
|
-
structuredOutputSchema: JSON.stringify((0, schema_utils_1.isZodObject)(structuredOutputSchema)
|
|
51
|
-
? (0, zod_to_json_schema_1.default)(structuredOutputSchema)
|
|
52
|
-
: structuredOutputSchema),
|
|
53
|
-
}),
|
|
54
47
|
};
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
results: searchResponse.results,
|
|
66
|
-
};
|
|
67
|
-
// biome-ignore lint/complexity/noUselessSwitchCase: left for exhaustiveness
|
|
68
|
-
case 'structured':
|
|
69
|
-
default:
|
|
70
|
-
return searchResponse;
|
|
48
|
+
if ('includeInlineCitations' in params && params.includeInlineCitations) {
|
|
49
|
+
result.includeInlineCitations = params.includeInlineCitations;
|
|
50
|
+
}
|
|
51
|
+
if ('includeSources' in params && params.includeSources) {
|
|
52
|
+
result.includeSources = params.includeSources;
|
|
53
|
+
}
|
|
54
|
+
if ('structuredOutputSchema' in params) {
|
|
55
|
+
result.structuredOutputSchema = JSON.stringify((0, schema_utils_1.isZodObject)(params.structuredOutputSchema)
|
|
56
|
+
? (0, zod_to_json_schema_1.default)(params.structuredOutputSchema)
|
|
57
|
+
: params.structuredOutputSchema);
|
|
71
58
|
}
|
|
59
|
+
return result;
|
|
72
60
|
}
|
|
73
61
|
}
|
|
74
62
|
exports.LinkupClient = LinkupClient;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linkup-client.js","sourceRoot":"","sources":["../src/linkup-client.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA6C;AAE7C,4EAAiD;
|
|
1
|
+
{"version":3,"file":"linkup-client.js","sourceRoot":"","sources":["../src/linkup-client.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,49 +1,71 @@
|
|
|
1
1
|
/** biome-ignore-all lint/complexity/noBannedTypes: needed for conditional props */
|
|
2
2
|
import { ZodObject, ZodRawShape } from 'zod';
|
|
3
3
|
export type SearchDepth = 'standard' | 'deep';
|
|
4
|
-
export type
|
|
5
|
-
export interface ApiConfig {
|
|
4
|
+
export type ApiConfig = {
|
|
6
5
|
apiKey: string;
|
|
7
6
|
baseUrl?: string;
|
|
8
|
-
}
|
|
9
|
-
export type
|
|
10
|
-
export type
|
|
11
|
-
export
|
|
7
|
+
};
|
|
8
|
+
export type Structured = Record<string, unknown>;
|
|
9
|
+
export type StructuredInputSchema = Structured | ZodObject<ZodRawShape>;
|
|
10
|
+
export type StructuredWithSources = {
|
|
11
|
+
data: Structured;
|
|
12
|
+
sources: StructuredSource[];
|
|
13
|
+
};
|
|
14
|
+
export type StructuredSource = {
|
|
15
|
+
url: string;
|
|
16
|
+
content: string;
|
|
17
|
+
name: string;
|
|
18
|
+
type: string;
|
|
19
|
+
};
|
|
20
|
+
export type SearchParams = {
|
|
12
21
|
query: string;
|
|
13
22
|
depth: SearchDepth;
|
|
14
|
-
outputType: T;
|
|
15
23
|
includeImages?: boolean;
|
|
16
|
-
structuredOutputSchema?: StructuredOutputInputSchema;
|
|
17
24
|
includeDomains?: string[];
|
|
18
25
|
excludeDomains?: string[];
|
|
19
26
|
fromDate?: Date;
|
|
20
27
|
toDate?: Date;
|
|
28
|
+
} & ({
|
|
29
|
+
outputType: 'searchResults';
|
|
30
|
+
} | {
|
|
31
|
+
outputType: 'sourcedAnswer';
|
|
21
32
|
includeInlineCitations?: boolean;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
|
|
33
|
+
} | {
|
|
34
|
+
outputType: 'structured';
|
|
35
|
+
includeSources?: boolean;
|
|
36
|
+
structuredOutputSchema: StructuredInputSchema;
|
|
37
|
+
});
|
|
38
|
+
export type LinkupSearchResponse<T> = T extends {
|
|
39
|
+
outputType: 'structured';
|
|
40
|
+
includeSources: true;
|
|
41
|
+
} ? StructuredWithSources : T extends {
|
|
42
|
+
outputType: 'structured';
|
|
43
|
+
} ? Structured : T extends {
|
|
44
|
+
outputType: 'sourcedAnswer';
|
|
45
|
+
} ? SourcedAnswer : SearchResults;
|
|
46
|
+
export type SearchResults = {
|
|
25
47
|
results: (TextSearchResult | ImageSearchResult)[];
|
|
26
|
-
}
|
|
27
|
-
export
|
|
48
|
+
};
|
|
49
|
+
export type TextSearchResult = {
|
|
28
50
|
type: 'text';
|
|
29
51
|
name: string;
|
|
30
52
|
url: string;
|
|
31
53
|
content: string;
|
|
32
|
-
}
|
|
33
|
-
export
|
|
54
|
+
};
|
|
55
|
+
export type ImageSearchResult = {
|
|
34
56
|
type: 'image';
|
|
35
57
|
name: string;
|
|
36
58
|
url: string;
|
|
37
|
-
}
|
|
38
|
-
export
|
|
59
|
+
};
|
|
60
|
+
export type SourcedAnswer = {
|
|
39
61
|
answer: string;
|
|
40
62
|
sources: (Source | TextSearchResult | ImageSearchResult)[];
|
|
41
|
-
}
|
|
42
|
-
export
|
|
63
|
+
};
|
|
64
|
+
export type Source = {
|
|
43
65
|
name: string;
|
|
44
66
|
url: string;
|
|
45
67
|
snippet: string;
|
|
46
|
-
}
|
|
68
|
+
};
|
|
47
69
|
export type LinkupApiError = {
|
|
48
70
|
statusCode: number;
|
|
49
71
|
error: {
|
|
@@ -55,13 +77,12 @@ export type LinkupApiError = {
|
|
|
55
77
|
}[];
|
|
56
78
|
};
|
|
57
79
|
};
|
|
58
|
-
export
|
|
80
|
+
export type FetchParams = {
|
|
59
81
|
url: string;
|
|
60
82
|
renderJs?: boolean;
|
|
61
83
|
includeRawHtml?: boolean;
|
|
62
84
|
extractImages?: boolean;
|
|
63
|
-
}
|
|
64
|
-
type ConditionalProp<Condition, PropType> = Condition extends true ? PropType : {};
|
|
85
|
+
};
|
|
65
86
|
export type LinkupFetchResponse<T extends FetchParams = FetchParams> = {
|
|
66
87
|
markdown: string;
|
|
67
88
|
} & ConditionalProp<T['includeRawHtml'], {
|
|
@@ -69,5 +90,6 @@ export type LinkupFetchResponse<T extends FetchParams = FetchParams> = {
|
|
|
69
90
|
}> & ConditionalProp<T['extractImages'], {
|
|
70
91
|
images: string[];
|
|
71
92
|
}>;
|
|
93
|
+
type ConditionalProp<Condition, PropType> = Condition extends true ? PropType : {};
|
|
72
94
|
export {};
|
|
73
95
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,KAAK,CAAC;AAE7C,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,MAAM,CAAC;AAE9C,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|