linkup-sdk 1.0.0 → 1.0.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/README.md +1 -1
- package/dist/errors.d.ts +18 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +67 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/linkup-client.d.ts +12 -0
- package/dist/linkup-client.d.ts.map +1 -0
- package/dist/linkup-client.js +88 -0
- package/dist/linkup-client.js.map +1 -0
- package/dist/types.d.ts +32 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/schema.utils.d.ts +2 -0
- package/dist/utils/schema.utils.d.ts.map +1 -0
- package/dist/utils/schema.utils.js +12 -0
- package/dist/utils/schema.utils.js.map +1 -0
- package/dist/utils/version.utils.d.ts +2 -0
- package/dist/utils/version.utils.d.ts.map +1 -0
- package/dist/utils/version.utils.js +16 -0
- package/dist/utils/version.utils.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
[](LICENSE)
|
|
5
5
|
|
|
6
6
|
A JS/TS SDK for the [Linkup API](https://linkup-api.readme.io/reference/getting-started), allowing
|
|
7
|
-
easy integration with Linkup's services.
|
|
7
|
+
easy integration with Linkup's services.
|
|
8
8
|
|
|
9
9
|
## 🌟 Features
|
|
10
10
|
|
package/dist/errors.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export declare abstract class LinkupError extends Error {
|
|
2
|
+
}
|
|
3
|
+
export declare class LinkupInvalidRequestError extends LinkupError {
|
|
4
|
+
constructor(message: string);
|
|
5
|
+
}
|
|
6
|
+
export declare class LinkupNoResultError extends LinkupError {
|
|
7
|
+
constructor(message?: string);
|
|
8
|
+
}
|
|
9
|
+
export declare class LinkupAuthenticationError extends LinkupError {
|
|
10
|
+
constructor(message?: string);
|
|
11
|
+
}
|
|
12
|
+
export declare class LinkupInsufficientCreditError extends LinkupError {
|
|
13
|
+
constructor(message?: string);
|
|
14
|
+
}
|
|
15
|
+
export declare class LinkupUnknownError extends LinkupError {
|
|
16
|
+
constructor(message: string);
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,8BAAsB,WAAY,SAAQ,KAAK;CAAG;AAKlD,qBAAa,yBAA0B,SAAQ,WAAW;gBAC5C,OAAO,EAAE,MAAM;CAQ5B;AAID,qBAAa,mBAAoB,SAAQ,WAAW;gBACtC,OAAO,CAAC,EAAE,MAAM;CAQ7B;AAID,qBAAa,yBAA0B,SAAQ,WAAW;gBAC5C,OAAO,CAAC,EAAE,MAAM;CAQ7B;AAID,qBAAa,6BAA8B,SAAQ,WAAW;gBAChD,OAAO,CAAC,EAAE,MAAM;CAQ7B;AAGD,qBAAa,kBAAmB,SAAQ,WAAW;gBACrC,OAAO,EAAE,MAAM;CAQ5B"}
|
package/dist/errors.js
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LinkupUnknownError = exports.LinkupInsufficientCreditError = exports.LinkupAuthenticationError = exports.LinkupNoResultError = exports.LinkupInvalidRequestError = exports.LinkupError = void 0;
|
|
4
|
+
class LinkupError extends Error {
|
|
5
|
+
}
|
|
6
|
+
exports.LinkupError = LinkupError;
|
|
7
|
+
// Invalid request error, raised when the Linkup API returns a 400 status code.
|
|
8
|
+
// It is returned by the Linkup API when the request is invalid, typically when a mandatory
|
|
9
|
+
// parameter is missing, or isn't valid (type, structure, etc.).
|
|
10
|
+
class LinkupInvalidRequestError extends LinkupError {
|
|
11
|
+
constructor(message) {
|
|
12
|
+
super(message);
|
|
13
|
+
this.name = LinkupInvalidRequestError.name;
|
|
14
|
+
if ('captureStackTrace' in Error) {
|
|
15
|
+
Error.captureStackTrace(this, LinkupInvalidRequestError);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.LinkupInvalidRequestError = LinkupInvalidRequestError;
|
|
20
|
+
// No result error, raised when the Linkup API returns a 400 status code.
|
|
21
|
+
// It is returned by the Linkup API when the search query did not yield any result.
|
|
22
|
+
class LinkupNoResultError extends LinkupError {
|
|
23
|
+
constructor(message) {
|
|
24
|
+
super(message);
|
|
25
|
+
this.name = LinkupNoResultError.name;
|
|
26
|
+
if ('captureStackTrace' in Error) {
|
|
27
|
+
Error.captureStackTrace(this, LinkupNoResultError);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.LinkupNoResultError = LinkupNoResultError;
|
|
32
|
+
// Authentication error, raised when the Linkup API returns a 403 status code.
|
|
33
|
+
// It is returned when there is an authentication issue, typically when the API key is not valid.
|
|
34
|
+
class LinkupAuthenticationError extends LinkupError {
|
|
35
|
+
constructor(message) {
|
|
36
|
+
super(message);
|
|
37
|
+
this.name = LinkupAuthenticationError.name;
|
|
38
|
+
if ('captureStackTrace' in Error) {
|
|
39
|
+
Error.captureStackTrace(this, LinkupAuthenticationError);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
exports.LinkupAuthenticationError = LinkupAuthenticationError;
|
|
44
|
+
// Insufficient credit error, raised when the Linkup API returns a 429 status code.
|
|
45
|
+
// It is returned when you have run out of credits.
|
|
46
|
+
class LinkupInsufficientCreditError extends LinkupError {
|
|
47
|
+
constructor(message) {
|
|
48
|
+
super(message);
|
|
49
|
+
this.name = LinkupInsufficientCreditError.name;
|
|
50
|
+
if ('captureStackTrace' in Error) {
|
|
51
|
+
Error.captureStackTrace(this, LinkupInsufficientCreditError);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
exports.LinkupInsufficientCreditError = LinkupInsufficientCreditError;
|
|
56
|
+
// Unknown error
|
|
57
|
+
class LinkupUnknownError extends LinkupError {
|
|
58
|
+
constructor(message) {
|
|
59
|
+
super(message);
|
|
60
|
+
this.name = LinkupUnknownError.name;
|
|
61
|
+
if ('captureStackTrace' in Error) {
|
|
62
|
+
Error.captureStackTrace(this, LinkupUnknownError);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
exports.LinkupUnknownError = LinkupUnknownError;
|
|
67
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAAA,MAAsB,WAAY,SAAQ,KAAK;CAAG;AAAlD,kCAAkD;AAElD,+EAA+E;AAC/E,2FAA2F;AAC3F,gEAAgE;AAChE,MAAa,yBAA0B,SAAQ,WAAW;IACxD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC,IAAI,CAAC;QAE3C,IAAI,mBAAmB,IAAI,KAAK,EAAE,CAAC;YACjC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;CACF;AATD,8DASC;AAED,yEAAyE;AACzE,mFAAmF;AACnF,MAAa,mBAAoB,SAAQ,WAAW;IAClD,YAAY,OAAgB;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC;QAErC,IAAI,mBAAmB,IAAI,KAAK,EAAE,CAAC;YACjC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;CACF;AATD,kDASC;AAED,8EAA8E;AAC9E,iGAAiG;AACjG,MAAa,yBAA0B,SAAQ,WAAW;IACxD,YAAY,OAAgB;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC,IAAI,CAAC;QAE3C,IAAI,mBAAmB,IAAI,KAAK,EAAE,CAAC;YACjC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;CACF;AATD,8DASC;AAED,mFAAmF;AACnF,mDAAmD;AACnD,MAAa,6BAA8B,SAAQ,WAAW;IAC5D,YAAY,OAAgB;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC,IAAI,CAAC;QAE/C,IAAI,mBAAmB,IAAI,KAAK,EAAE,CAAC;YACjC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,6BAA6B,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;CACF;AATD,sEASC;AAED,gBAAgB;AAChB,MAAa,kBAAmB,SAAQ,WAAW;IACjD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC;QAEpC,IAAI,mBAAmB,IAAI,KAAK,EAAE,CAAC;YACjC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;CACF;AATD,gDASC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./linkup-client"), exports);
|
|
18
|
+
__exportStar(require("./errors"), exports);
|
|
19
|
+
__exportStar(require("./types"), exports);
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,2CAAyB;AACzB,0CAAwB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ApiConfig, SearchParams, SearchResults, SourcedAnswer, StructuredOutputSchema } from './types';
|
|
2
|
+
export declare class LinkupClient {
|
|
3
|
+
private readonly USER_AGENT;
|
|
4
|
+
private readonly apiKey;
|
|
5
|
+
private readonly baseUrl;
|
|
6
|
+
constructor(config: ApiConfig);
|
|
7
|
+
search<T extends 'sourcedAnswer' | 'searchResults' | 'structured'>(params: SearchParams<T>): Promise<T extends 'sourcedAnswer' ? SourcedAnswer : T extends 'searchResults' ? SearchResults : T extends 'structured' ? StructuredOutputSchema : never>;
|
|
8
|
+
private sanitizeParams;
|
|
9
|
+
private formatResponse;
|
|
10
|
+
private refineError;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=linkup-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"linkup-client.d.ts","sourceRoot":"","sources":["../src/linkup-client.ts"],"names":[],"mappings":"AASA,OAAO,EACL,SAAS,EAET,YAAY,EACZ,aAAa,EACb,aAAa,EACb,sBAAsB,EAEvB,MAAM,SAAS,CAAC;AAMjB,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA8C;IACzE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,MAAM,EAAE,SAAS;IAKvB,MAAM,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,GAAG,YAAY,EACrE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,GACtB,OAAO,CACR,CAAC,SAAS,eAAe,GACrB,aAAa,GACb,CAAC,SAAS,eAAe,GACvB,aAAa,GACb,CAAC,SAAS,YAAY,GACpB,sBAAsB,GACtB,KAAK,CACd;IAiBD,OAAO,CAAC,cAAc;IAyBtB,OAAO,CAAC,cAAc;IAoBtB,OAAO,CAAC,WAAW;CAgCpB"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.LinkupClient = void 0;
|
|
7
|
+
const axios_1 = __importDefault(require("axios"));
|
|
8
|
+
const errors_1 = require("./errors");
|
|
9
|
+
const version_utils_1 = require("./utils/version.utils");
|
|
10
|
+
const zod_to_json_schema_1 = __importDefault(require("zod-to-json-schema"));
|
|
11
|
+
const schema_utils_1 = require("./utils/schema.utils");
|
|
12
|
+
class LinkupClient {
|
|
13
|
+
USER_AGENT = `Linkup-JS-SDK/${(0, version_utils_1.getVersionFromPackage)()}`;
|
|
14
|
+
apiKey;
|
|
15
|
+
baseUrl;
|
|
16
|
+
constructor(config) {
|
|
17
|
+
this.apiKey = config.apiKey;
|
|
18
|
+
this.baseUrl = config.baseUrl || 'https://api.linkup.so/v1';
|
|
19
|
+
}
|
|
20
|
+
async search(params) {
|
|
21
|
+
return axios_1.default
|
|
22
|
+
.post('/search', this.sanitizeParams(params), {
|
|
23
|
+
baseURL: this.baseUrl,
|
|
24
|
+
headers: {
|
|
25
|
+
'User-Agent': this.USER_AGENT,
|
|
26
|
+
Authorization: `Bearer ${this.apiKey}`,
|
|
27
|
+
},
|
|
28
|
+
})
|
|
29
|
+
.then((response) => this.formatResponse(response.data, params.outputType))
|
|
30
|
+
.catch((e) => {
|
|
31
|
+
throw this.refineError(e);
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
sanitizeParams({ query, depth, outputType, includeImages = false, structuredOutputSchema, }) {
|
|
35
|
+
const searchParams = {
|
|
36
|
+
q: query,
|
|
37
|
+
depth,
|
|
38
|
+
outputType,
|
|
39
|
+
includeImages,
|
|
40
|
+
};
|
|
41
|
+
if (structuredOutputSchema) {
|
|
42
|
+
searchParams.structuredOutputSchema = JSON.stringify((0, schema_utils_1.isZodObject)(structuredOutputSchema)
|
|
43
|
+
? (0, zod_to_json_schema_1.default)(structuredOutputSchema)
|
|
44
|
+
: structuredOutputSchema);
|
|
45
|
+
}
|
|
46
|
+
return searchParams;
|
|
47
|
+
}
|
|
48
|
+
formatResponse(searchResponse, outputType) {
|
|
49
|
+
switch (outputType) {
|
|
50
|
+
case 'sourcedAnswer':
|
|
51
|
+
return {
|
|
52
|
+
answer: searchResponse.answer,
|
|
53
|
+
sources: searchResponse.sources,
|
|
54
|
+
};
|
|
55
|
+
case 'searchResults':
|
|
56
|
+
return {
|
|
57
|
+
results: searchResponse.results,
|
|
58
|
+
};
|
|
59
|
+
case 'structured':
|
|
60
|
+
default:
|
|
61
|
+
return searchResponse;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
refineError(error) {
|
|
65
|
+
const unknownErrorMessage = `An unknown error occurred: ${error.message}`;
|
|
66
|
+
if (!axios_1.default.isAxiosError(error) ||
|
|
67
|
+
!error.response ||
|
|
68
|
+
!('message' in error.response.data)) {
|
|
69
|
+
return new errors_1.LinkupUnknownError(unknownErrorMessage);
|
|
70
|
+
}
|
|
71
|
+
const { data: { message }, status, } = error.response;
|
|
72
|
+
switch (status) {
|
|
73
|
+
case 400:
|
|
74
|
+
if (message === 'The query did not yield any result') {
|
|
75
|
+
return new errors_1.LinkupNoResultError();
|
|
76
|
+
}
|
|
77
|
+
return new errors_1.LinkupInvalidRequestError(Array.isArray(message) ? message.join(',') : message);
|
|
78
|
+
case 403:
|
|
79
|
+
return new errors_1.LinkupAuthenticationError();
|
|
80
|
+
case 429:
|
|
81
|
+
return new errors_1.LinkupInsufficientCreditError();
|
|
82
|
+
default:
|
|
83
|
+
return new errors_1.LinkupUnknownError(unknownErrorMessage);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
exports.LinkupClient = LinkupClient;
|
|
88
|
+
//# sourceMappingURL=linkup-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"linkup-client.js","sourceRoot":"","sources":["../src/linkup-client.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { ZodObject, ZodRawShape } from 'zod';
|
|
2
|
+
export type SearchDepth = 'standard' | 'deep';
|
|
3
|
+
export type SearchOutputType = 'sourcedAnswer' | 'searchResults' | 'structured';
|
|
4
|
+
export interface ApiConfig {
|
|
5
|
+
apiKey: string;
|
|
6
|
+
baseUrl?: string;
|
|
7
|
+
}
|
|
8
|
+
export type StructuredOutputSchema = Record<string, unknown> | ZodObject<ZodRawShape>;
|
|
9
|
+
export interface SearchParams<T extends SearchOutputType> {
|
|
10
|
+
query: string;
|
|
11
|
+
depth: SearchDepth;
|
|
12
|
+
outputType: T;
|
|
13
|
+
includeImages?: boolean;
|
|
14
|
+
structuredOutputSchema?: StructuredOutputSchema;
|
|
15
|
+
}
|
|
16
|
+
export type LinkupSearchResponse<T> = T extends 'sourcedAnswer' ? SourcedAnswer : T extends 'searchResults' ? SearchResults : T extends 'structured' ? StructuredOutputSchema : never;
|
|
17
|
+
export interface SourcedAnswer {
|
|
18
|
+
answer: string;
|
|
19
|
+
sources: {
|
|
20
|
+
name: string;
|
|
21
|
+
url: string;
|
|
22
|
+
snippet: string;
|
|
23
|
+
}[];
|
|
24
|
+
}
|
|
25
|
+
export interface SearchResults {
|
|
26
|
+
results: {
|
|
27
|
+
name: string;
|
|
28
|
+
url: string;
|
|
29
|
+
content: string;
|
|
30
|
+
}[];
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,KAAK,CAAC;AAE7C,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,MAAM,CAAC;AAE9C,MAAM,MAAM,gBAAgB,GAAG,eAAe,GAAG,eAAe,GAAG,YAAY,CAAC;AAEhF,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,sBAAsB,GAC9B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvB,SAAS,CAAC,WAAW,CAAC,CAAC;AAE3B,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,gBAAgB;IACtD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,WAAW,CAAC;IACnB,UAAU,EAAE,CAAC,CAAC;IACd,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;CACjD;AAED,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI,CAAC,SAAS,eAAe,GAC3D,aAAa,GACb,CAAC,SAAS,eAAe,GACvB,aAAa,GACb,CAAC,SAAS,YAAY,GACpB,sBAAsB,GACtB,KAAK,CAAC;AAEd,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;KACjB,EAAE,CAAC;CACL;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;KACjB,EAAE,CAAC;CACL"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.utils.d.ts","sourceRoot":"","sources":["../../src/utils/schema.utils.ts"],"names":[],"mappings":"AAEA,wBAAgB,WAAW,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAQpD"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isZodObject = isZodObject;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
function isZodObject(schema) {
|
|
6
|
+
return (schema instanceof zod_1.ZodObject ||
|
|
7
|
+
(typeof schema === 'object' &&
|
|
8
|
+
schema !== null &&
|
|
9
|
+
'parse' in schema &&
|
|
10
|
+
'shape' in schema));
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=schema.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.utils.js","sourceRoot":"","sources":["../../src/utils/schema.utils.ts"],"names":[],"mappings":";;AAEA,kCAQC;AAVD,6BAAgC;AAEhC,SAAgB,WAAW,CAAC,MAAe;IACzC,OAAO,CACL,MAAM,YAAY,eAAS;QAC3B,CAAC,OAAO,MAAM,KAAK,QAAQ;YACzB,MAAM,KAAK,IAAI;YACf,OAAO,IAAI,MAAM;YACjB,OAAO,IAAI,MAAM,CAAC,CACrB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.utils.d.ts","sourceRoot":"","sources":["../../src/utils/version.utils.ts"],"names":[],"mappings":"AAGA,wBAAgB,qBAAqB,IAAI,MAAM,CAQ9C"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getVersionFromPackage = getVersionFromPackage;
|
|
4
|
+
const fs_1 = require("fs");
|
|
5
|
+
const path_1 = require("path");
|
|
6
|
+
function getVersionFromPackage() {
|
|
7
|
+
try {
|
|
8
|
+
const packagePath = (0, path_1.join)(__dirname, '..', '..', 'package.json');
|
|
9
|
+
const packageJson = JSON.parse((0, fs_1.readFileSync)(packagePath, 'utf8'));
|
|
10
|
+
return packageJson.version;
|
|
11
|
+
}
|
|
12
|
+
catch {
|
|
13
|
+
throw new Error('Could not read package version');
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=version.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.utils.js","sourceRoot":"","sources":["../../src/utils/version.utils.ts"],"names":[],"mappings":";;AAGA,sDAQC;AAXD,2BAAkC;AAClC,+BAA4B;AAE5B,SAAgB,qBAAqB;IACnC,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QAChE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;QAClE,OAAO,WAAW,CAAC,OAAO,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;AACH,CAAC"}
|