meridianjs 0.2.5 → 0.2.8

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.
Files changed (102) hide show
  1. package/README.md +86 -16
  2. package/dist/capabilities/registry.d.ts.map +1 -1
  3. package/dist/capabilities/registry.js +7 -0
  4. package/dist/capabilities/registry.js.map +1 -1
  5. package/dist/core/types.d.ts +1 -1
  6. package/dist/core/types.js +1 -1
  7. package/dist/generator/index.d.ts +2 -0
  8. package/dist/generator/index.d.ts.map +1 -1
  9. package/dist/generator/index.js +2 -1
  10. package/dist/generator/index.js.map +1 -1
  11. package/dist/generator/openapi-export.d.ts +51 -0
  12. package/dist/generator/openapi-export.d.ts.map +1 -0
  13. package/dist/generator/openapi-export.js +95 -0
  14. package/dist/generator/openapi-export.js.map +1 -0
  15. package/dist/generator/templates.d.ts.map +1 -1
  16. package/dist/generator/templates.js +86 -17
  17. package/dist/generator/templates.js.map +1 -1
  18. package/dist/index.d.ts +5 -0
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +12 -0
  21. package/dist/index.js.map +1 -1
  22. package/dist/providers/billdesk/adapter.d.ts +36 -0
  23. package/dist/providers/billdesk/adapter.d.ts.map +1 -0
  24. package/dist/providers/billdesk/adapter.js +212 -0
  25. package/dist/providers/billdesk/adapter.js.map +1 -0
  26. package/dist/providers/billdesk/index.d.ts +3 -0
  27. package/dist/providers/billdesk/index.d.ts.map +1 -0
  28. package/dist/providers/billdesk/index.js +3 -0
  29. package/dist/providers/billdesk/index.js.map +1 -0
  30. package/dist/providers/billdesk/pagination.d.ts +15 -0
  31. package/dist/providers/billdesk/pagination.d.ts.map +1 -0
  32. package/dist/providers/billdesk/pagination.js +51 -0
  33. package/dist/providers/billdesk/pagination.js.map +1 -0
  34. package/dist/providers/ccavenue/adapter.d.ts +38 -0
  35. package/dist/providers/ccavenue/adapter.d.ts.map +1 -0
  36. package/dist/providers/ccavenue/adapter.js +181 -0
  37. package/dist/providers/ccavenue/adapter.js.map +1 -0
  38. package/dist/providers/ccavenue/index.d.ts +3 -0
  39. package/dist/providers/ccavenue/index.d.ts.map +1 -0
  40. package/dist/providers/ccavenue/index.js +3 -0
  41. package/dist/providers/ccavenue/index.js.map +1 -0
  42. package/dist/providers/ccavenue/pagination.d.ts +16 -0
  43. package/dist/providers/ccavenue/pagination.d.ts.map +1 -0
  44. package/dist/providers/ccavenue/pagination.js +20 -0
  45. package/dist/providers/ccavenue/pagination.js.map +1 -0
  46. package/dist/providers/datadog/adapter.d.ts +30 -0
  47. package/dist/providers/datadog/adapter.d.ts.map +1 -0
  48. package/dist/providers/datadog/adapter.js +163 -0
  49. package/dist/providers/datadog/adapter.js.map +1 -0
  50. package/dist/providers/datadog/index.d.ts +3 -0
  51. package/dist/providers/datadog/index.d.ts.map +1 -0
  52. package/dist/providers/datadog/index.js +3 -0
  53. package/dist/providers/datadog/index.js.map +1 -0
  54. package/dist/providers/datadog/pagination.d.ts +16 -0
  55. package/dist/providers/datadog/pagination.d.ts.map +1 -0
  56. package/dist/providers/datadog/pagination.js +41 -0
  57. package/dist/providers/datadog/pagination.js.map +1 -0
  58. package/dist/providers/googlemaps/adapter.d.ts +17 -0
  59. package/dist/providers/googlemaps/adapter.d.ts.map +1 -0
  60. package/dist/providers/googlemaps/adapter.js +154 -0
  61. package/dist/providers/googlemaps/adapter.js.map +1 -0
  62. package/dist/providers/googlemaps/pagination.d.ts +17 -0
  63. package/dist/providers/googlemaps/pagination.d.ts.map +1 -0
  64. package/dist/providers/googlemaps/pagination.js +36 -0
  65. package/dist/providers/googlemaps/pagination.js.map +1 -0
  66. package/dist/providers/s3/adapter.d.ts +37 -0
  67. package/dist/providers/s3/adapter.d.ts.map +1 -0
  68. package/dist/providers/s3/adapter.js +206 -0
  69. package/dist/providers/s3/adapter.js.map +1 -0
  70. package/dist/providers/s3/index.d.ts +4 -0
  71. package/dist/providers/s3/index.d.ts.map +1 -0
  72. package/dist/providers/s3/index.js +4 -0
  73. package/dist/providers/s3/index.js.map +1 -0
  74. package/dist/providers/s3/pagination.d.ts +18 -0
  75. package/dist/providers/s3/pagination.d.ts.map +1 -0
  76. package/dist/providers/s3/pagination.js +58 -0
  77. package/dist/providers/s3/pagination.js.map +1 -0
  78. package/dist/providers/s3/sigv4.d.ts +29 -0
  79. package/dist/providers/s3/sigv4.d.ts.map +1 -0
  80. package/dist/providers/s3/sigv4.js +101 -0
  81. package/dist/providers/s3/sigv4.js.map +1 -0
  82. package/dist/providers/sentry/adapter.d.ts +29 -0
  83. package/dist/providers/sentry/adapter.d.ts.map +1 -0
  84. package/dist/providers/sentry/adapter.js +154 -0
  85. package/dist/providers/sentry/adapter.js.map +1 -0
  86. package/dist/providers/sentry/index.d.ts +3 -0
  87. package/dist/providers/sentry/index.d.ts.map +1 -0
  88. package/dist/providers/sentry/index.js +3 -0
  89. package/dist/providers/sentry/index.js.map +1 -0
  90. package/dist/providers/sentry/pagination.d.ts +17 -0
  91. package/dist/providers/sentry/pagination.d.ts.map +1 -0
  92. package/dist/providers/sentry/pagination.js +54 -0
  93. package/dist/providers/sentry/pagination.js.map +1 -0
  94. package/dist/public.d.ts +11 -1
  95. package/dist/public.d.ts.map +1 -1
  96. package/dist/public.js +9 -1
  97. package/dist/public.js.map +1 -1
  98. package/dist/upi/index.d.ts +43 -0
  99. package/dist/upi/index.d.ts.map +1 -0
  100. package/dist/upi/index.js +57 -0
  101. package/dist/upi/index.js.map +1 -0
  102. package/package.json +29 -6
@@ -0,0 +1,101 @@
1
+ import { createHash, createHmac } from "node:crypto";
2
+ const UNRESERVED = /^[A-Za-z0-9\-_.~]$/;
3
+ /** AWS's "URI encode" — percent-encodes everything outside the unreserved set. */
4
+ function uriEncode(value, encodeSlash = true) {
5
+ let out = "";
6
+ for (const ch of Buffer.from(value, "utf-8")) {
7
+ const c = String.fromCharCode(ch);
8
+ if (UNRESERVED.test(c) || (c === "/" && !encodeSlash)) {
9
+ out += c;
10
+ }
11
+ else {
12
+ out += `%${ch.toString(16).toUpperCase().padStart(2, "0")}`;
13
+ }
14
+ }
15
+ return out;
16
+ }
17
+ function canonicalUri(pathname) {
18
+ if (!pathname || pathname === "")
19
+ return "/";
20
+ return pathname
21
+ .split("/")
22
+ .map((segment) => uriEncode(segment, false))
23
+ .join("/");
24
+ }
25
+ function canonicalQueryString(url) {
26
+ const params = [];
27
+ url.searchParams.forEach((value, key) => params.push([key, value]));
28
+ params.sort(([ak, av], [bk, bv]) => ak === bk ? (av < bv ? -1 : av > bv ? 1 : 0) : ak < bk ? -1 : 1);
29
+ return params.map(([k, v]) => `${uriEncode(k)}=${uriEncode(v)}`).join("&");
30
+ }
31
+ function sha256Hex(data) {
32
+ return createHash("sha256").update(data, "utf-8").digest("hex");
33
+ }
34
+ function hmac(key, data) {
35
+ return createHmac("sha256", key).update(data, "utf-8").digest();
36
+ }
37
+ function signingKey(secretAccessKey, dateStamp, region, service) {
38
+ const kDate = hmac(`AWS4${secretAccessKey}`, dateStamp);
39
+ const kRegion = hmac(kDate, region);
40
+ const kService = hmac(kRegion, service);
41
+ return hmac(kService, "aws4_request");
42
+ }
43
+ function amzDate(date) {
44
+ const iso = date.toISOString().replace(/[:-]|\.\d{3}/g, "");
45
+ return { amzDate: iso, dateStamp: iso.slice(0, 8) };
46
+ }
47
+ /**
48
+ * Signs a request per AWS Signature Version 4 (the scheme used by S3, R2, and
49
+ * other S3-compatible object stores). Returns the headers to attach — including
50
+ * `Authorization`, `x-amz-date`, `x-amz-content-sha256`, and `host` — that make
51
+ * the request authenticate as the given credentials.
52
+ *
53
+ * Reference: https://docs.aws.amazon.com/general/latest/gr/sigv4-create-canonical-request.html
54
+ */
55
+ export function signSigV4(input) {
56
+ const { method, url, body, credentials } = input;
57
+ const service = credentials.service ?? "s3";
58
+ const date = input.date ?? new Date();
59
+ const { amzDate: amzDateStr, dateStamp } = amzDate(date);
60
+ const payloadHash = sha256Hex(body ?? "");
61
+ const headers = {
62
+ ...input.headers,
63
+ host: url.host,
64
+ "x-amz-date": amzDateStr,
65
+ "x-amz-content-sha256": payloadHash,
66
+ };
67
+ if (credentials.sessionToken) {
68
+ headers["x-amz-security-token"] = credentials.sessionToken;
69
+ }
70
+ const headerEntries = Object.entries(headers)
71
+ .map(([k, v]) => [k.toLowerCase(), v.trim().replace(/\s+/g, " ")])
72
+ .sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0));
73
+ const canonicalHeaders = headerEntries.map(([k, v]) => `${k}:${v}\n`).join("");
74
+ const signedHeaders = headerEntries.map(([k]) => k).join(";");
75
+ const canonicalRequest = [
76
+ method.toUpperCase(),
77
+ canonicalUri(url.pathname),
78
+ canonicalQueryString(url),
79
+ canonicalHeaders,
80
+ signedHeaders,
81
+ payloadHash,
82
+ ].join("\n");
83
+ const credentialScope = `${dateStamp}/${credentials.region}/${service}/aws4_request`;
84
+ const stringToSign = [
85
+ "AWS4-HMAC-SHA256",
86
+ amzDateStr,
87
+ credentialScope,
88
+ sha256Hex(canonicalRequest),
89
+ ].join("\n");
90
+ const key = signingKey(credentials.secretAccessKey, dateStamp, credentials.region, service);
91
+ const signature = createHmac("sha256", key).update(stringToSign, "utf-8").digest("hex");
92
+ const authorization = `AWS4-HMAC-SHA256 Credential=${credentials.accessKeyId}/${credentialScope}, ` +
93
+ `SignedHeaders=${signedHeaders}, Signature=${signature}`;
94
+ return {
95
+ headers: {
96
+ ...headers,
97
+ Authorization: authorization,
98
+ },
99
+ };
100
+ }
101
+ //# sourceMappingURL=sigv4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sigv4.js","sourceRoot":"","sources":["../../../src/providers/s3/sigv4.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type { AdapterInput, AuthConfig, AuthToken, BuiltRequest, IdempotencyConfig, NormalizedResponse, PaginationStrategy, ProviderAdapter, RateLimitInfo, RawResponse } from "../../core/types.js";
2
+ import { MeridianError } from "../../core/types.js";
3
+ /**
4
+ * Sentry's REST API (`/api/0/`) authenticates with a bearer auth token
5
+ * (internal integration token or personal API token) and uses RFC 5988
6
+ * `Link`-header cursor pagination. Rate limiting is communicated via 429s
7
+ * with a `Retry-After` header (and, on the SaaS product, `X-Sentry-Rate-Limit-*`).
8
+ */
9
+ export declare class SentryAdapter implements ProviderAdapter {
10
+ private baseUrl;
11
+ constructor(baseUrl?: string);
12
+ buildRequest(input: AdapterInput): BuiltRequest;
13
+ parseResponse(raw: RawResponse): NormalizedResponse;
14
+ parseError(raw: unknown): MeridianError;
15
+ private parseHttpError;
16
+ authStrategy(config: AuthConfig): Promise<AuthToken>;
17
+ rateLimitPolicy(headers: Headers): RateLimitInfo;
18
+ paginationStrategy(): PaginationStrategy;
19
+ getIdempotencyConfig(): IdempotencyConfig;
20
+ /**
21
+ * Verifies a Sentry integration-platform webhook using the `Sentry-Hook-Signature`
22
+ * header — an HMAC-SHA256 digest of the raw request body keyed by the
23
+ * integration's client secret.
24
+ */
25
+ verifyWebhook(payload: string | Buffer, signature: string, secret: string): boolean;
26
+ private createMeridianError;
27
+ private extractRetryAfter;
28
+ }
29
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/providers/sentry/adapter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,SAAS,EACT,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAyB,aAAa,EAAe,MAAM,qBAAqB,CAAC;AASxF;;;;;GAKG;AACH,qBAAa,aAAc,YAAW,eAAe;IACnD,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,SAA6B;IAIhD,YAAY,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY;IA+B/C,aAAa,CAAC,GAAG,EAAE,WAAW,GAAG,kBAAkB;IAOnD,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa;IAkCvC,OAAO,CAAC,cAAc;IAiGhB,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IAkB1D,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa;IAYhD,kBAAkB,IAAI,kBAAkB;IAIxC,oBAAoB,IAAI,iBAAiB;IAOzC;;;;OAIG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAYnF,OAAO,CAAC,mBAAmB;IAoB3B,OAAO,CAAC,iBAAiB;CAY1B"}
@@ -0,0 +1,154 @@
1
+ import { createHmac, timingSafeEqual } from "node:crypto";
2
+ import { parseRetryAfter } from "../../core/header-parser.js";
3
+ import { ResponseNormalizer } from "../../core/normalizer.js";
4
+ import { MeridianError, SDK_VERSION } from "../../core/types.js";
5
+ import { SentryPaginationStrategy } from "./pagination.js";
6
+ /**
7
+ * Sentry's REST API (`/api/0/`) authenticates with a bearer auth token
8
+ * (internal integration token or personal API token) and uses RFC 5988
9
+ * `Link`-header cursor pagination. Rate limiting is communicated via 429s
10
+ * with a `Retry-After` header (and, on the SaaS product, `X-Sentry-Rate-Limit-*`).
11
+ */
12
+ export class SentryAdapter {
13
+ baseUrl;
14
+ constructor(baseUrl = "https://sentry.io/api/0/") {
15
+ this.baseUrl = baseUrl;
16
+ }
17
+ buildRequest(input) {
18
+ const { endpoint, options, authToken, baseUrl } = input;
19
+ const effectiveBaseUrl = baseUrl ?? this.baseUrl;
20
+ const url = new URL(endpoint.replace(/^\//, ""), effectiveBaseUrl);
21
+ if (options.query) {
22
+ for (const [key, value] of Object.entries(options.query)) {
23
+ url.searchParams.set(key, String(value));
24
+ }
25
+ }
26
+ const headers = {
27
+ Authorization: `Bearer ${authToken.token}`,
28
+ "User-Agent": `Meridian-SDK/${SDK_VERSION}`,
29
+ ...options.headers,
30
+ };
31
+ let body;
32
+ const method = options.method ?? "GET";
33
+ if (options.body && method !== "GET" && method !== "HEAD") {
34
+ body = JSON.stringify(options.body);
35
+ headers["Content-Type"] = "application/json";
36
+ }
37
+ const built = { url: url.toString(), method, headers };
38
+ if (body !== undefined) {
39
+ built.body = body;
40
+ }
41
+ return built;
42
+ }
43
+ parseResponse(raw) {
44
+ const rateLimitInfo = this.rateLimitPolicy(raw.headers);
45
+ const paginationStrategy = this.paginationStrategy();
46
+ const paginationInfo = ResponseNormalizer.extractPaginationInfo(raw, paginationStrategy);
47
+ return ResponseNormalizer.normalize(raw, "sentry", rateLimitInfo, paginationInfo, [], "1.0.0");
48
+ }
49
+ parseError(raw) {
50
+ if (raw instanceof Error) {
51
+ const msg = raw.message.toLowerCase();
52
+ if (msg.includes("fetch") ||
53
+ msg.includes("network") ||
54
+ msg.includes("econnreset") ||
55
+ msg.includes("etimedout") ||
56
+ msg.includes("enotfound") ||
57
+ msg.includes("timeout")) {
58
+ return this.createMeridianError("network", true, "Network request failed. Check your connection and try again.", { originalError: raw.message });
59
+ }
60
+ }
61
+ if (typeof raw === "object" &&
62
+ raw !== null &&
63
+ "status" in raw &&
64
+ typeof raw.status === "number") {
65
+ return this.parseHttpError(raw);
66
+ }
67
+ return this.createMeridianError("provider", false, "An unexpected error occurred", { raw });
68
+ }
69
+ parseHttpError(error) {
70
+ const { status, body, headers } = error;
71
+ const errorBody = body;
72
+ const errorMessage = errorBody?.detail ?? errorBody?.error;
73
+ if (status === 401) {
74
+ return this.createMeridianError("auth", false, errorMessage ?? "Authentication failed. Check your Sentry auth token.", { sentryError: errorBody }, undefined, 401);
75
+ }
76
+ if (status === 403) {
77
+ return this.createMeridianError("auth", false, errorMessage ?? "Permission denied. Your auth token lacks the required scopes.", { sentryError: errorBody }, undefined, 403);
78
+ }
79
+ if (status === 404) {
80
+ return this.createMeridianError("validation", false, errorMessage ?? "Resource not found.", { sentryError: errorBody }, undefined, 404);
81
+ }
82
+ if (status === 429) {
83
+ const retryAfter = this.extractRetryAfter(headers);
84
+ return this.createMeridianError("rate_limit", true, errorMessage ?? "Rate limit exceeded. Please wait before retrying.", { retryAfter: retryAfter?.toISOString() }, retryAfter, 429);
85
+ }
86
+ if (status === 400 || status === 422) {
87
+ return this.createMeridianError("validation", false, errorMessage ?? "Request validation failed.", { sentryErrors: errorBody?.errors }, undefined, status);
88
+ }
89
+ if (status >= 500) {
90
+ return this.createMeridianError("provider", true, errorMessage ?? `Sentry API returned error ${status}. This may be temporary.`, { status }, undefined, status);
91
+ }
92
+ if (status >= 400) {
93
+ return this.createMeridianError("validation", false, errorMessage ?? `Request failed with status ${status}.`, { status }, undefined, status);
94
+ }
95
+ return this.createMeridianError("provider", false, `Unexpected response status ${status}.`, { status }, undefined, status);
96
+ }
97
+ async authStrategy(config) {
98
+ const token = config.token ?? config.apiKey;
99
+ if (!token) {
100
+ throw this.createMeridianError("auth", false, "Sentry authentication requires an auth token. Set auth.token (internal integration " +
101
+ "token or personal API token with the appropriate scopes).", {}, undefined, 401);
102
+ }
103
+ return { token };
104
+ }
105
+ rateLimitPolicy(headers) {
106
+ const limit = headers.get("X-Sentry-Rate-Limit-Limit");
107
+ const remaining = headers.get("X-Sentry-Rate-Limit-Remaining");
108
+ const reset = headers.get("X-Sentry-Rate-Limit-Reset");
109
+ return {
110
+ limit: limit ? Number.parseInt(limit, 10) : 40,
111
+ remaining: remaining ? Number.parseInt(remaining, 10) : 40,
112
+ reset: reset ? new Date(Number.parseInt(reset, 10) * 1000) : new Date(Date.now() + 60_000),
113
+ };
114
+ }
115
+ paginationStrategy() {
116
+ return new SentryPaginationStrategy();
117
+ }
118
+ getIdempotencyConfig() {
119
+ return {
120
+ defaultSafeOperations: new Set(["GET", "HEAD", "OPTIONS"]),
121
+ operationOverrides: new Map(),
122
+ };
123
+ }
124
+ /**
125
+ * Verifies a Sentry integration-platform webhook using the `Sentry-Hook-Signature`
126
+ * header — an HMAC-SHA256 digest of the raw request body keyed by the
127
+ * integration's client secret.
128
+ */
129
+ verifyWebhook(payload, signature, secret) {
130
+ const expected = createHmac("sha256", secret).update(payload).digest("hex");
131
+ try {
132
+ const a = Buffer.from(expected);
133
+ const b = Buffer.from(signature);
134
+ if (a.length !== b.length)
135
+ return false;
136
+ return timingSafeEqual(a, b);
137
+ }
138
+ catch {
139
+ return false;
140
+ }
141
+ }
142
+ createMeridianError(category, retryable, message, metadata, retryAfter, status) {
143
+ return new MeridianError(message, category, "sentry", retryable, "", metadata, retryAfter, status);
144
+ }
145
+ extractRetryAfter(headers) {
146
+ if (!headers)
147
+ return undefined;
148
+ const value = headers instanceof Headers
149
+ ? headers.get("retry-after")
150
+ : (Object.entries(headers).find(([k]) => k.toLowerCase() === "retry-after")?.[1] ?? null);
151
+ return parseRetryAfter(value) ?? undefined;
152
+ }
153
+ }
154
+ //# sourceMappingURL=adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/providers/sentry/adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from "./adapter.js";
2
+ export * from "./pagination.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/sentry/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from "./adapter.js";
2
+ export * from "./pagination.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/sentry/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { PaginationStrategy, RawResponse, RequestOptions } from "../../core/types.js";
2
+ /**
3
+ * Sentry uses RFC 5988 `Link` headers for cursor pagination, e.g.
4
+ * <https://sentry.io/api/0/...?&cursor=1234:0:0>; rel="next"; results="true"; cursor="1234:0:0"
5
+ * `results="true"` signals more pages are available; the `cursor` link-param
6
+ * (or the `cursor` query string param on the link URL) carries the next cursor.
7
+ */
8
+ export declare class SentryPaginationStrategy implements PaginationStrategy {
9
+ extractCursor(response: RawResponse): string | null;
10
+ extractTotal(_response: RawResponse): number | null;
11
+ hasNext(response: RawResponse): boolean;
12
+ buildNextRequest(endpoint: string, options: RequestOptions, cursor: string): {
13
+ endpoint: string;
14
+ options: RequestOptions;
15
+ };
16
+ }
17
+ //# sourceMappingURL=pagination.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../../src/providers/sentry/pagination.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE3F;;;;;GAKG;AACH,qBAAa,wBAAyB,YAAW,kBAAkB;IACjE,aAAa,CAAC,QAAQ,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI;IAmBnD,YAAY,CAAC,SAAS,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI;IAKnD,OAAO,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO;IAWvC,gBAAgB,CACd,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,MAAM,GACb;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,cAAc,CAAA;KAAE;CAYjD"}
@@ -0,0 +1,54 @@
1
+ import { findLinkByRel, parseLinkHeader } from "../../core/header-parser.js";
2
+ /**
3
+ * Sentry uses RFC 5988 `Link` headers for cursor pagination, e.g.
4
+ * <https://sentry.io/api/0/...?&cursor=1234:0:0>; rel="next"; results="true"; cursor="1234:0:0"
5
+ * `results="true"` signals more pages are available; the `cursor` link-param
6
+ * (or the `cursor` query string param on the link URL) carries the next cursor.
7
+ */
8
+ export class SentryPaginationStrategy {
9
+ extractCursor(response) {
10
+ const linkHeader = response.headers.get("Link");
11
+ if (!linkHeader)
12
+ return null;
13
+ const links = parseLinkHeader(linkHeader);
14
+ const nextLink = findLinkByRel(links, "next");
15
+ if (!nextLink)
16
+ return null;
17
+ if (nextLink.params.cursor) {
18
+ return nextLink.params.cursor;
19
+ }
20
+ try {
21
+ return new URL(nextLink.url).searchParams.get("cursor");
22
+ }
23
+ catch {
24
+ return null;
25
+ }
26
+ }
27
+ extractTotal(_response) {
28
+ // Sentry's list endpoints don't expose a total-count header.
29
+ return null;
30
+ }
31
+ hasNext(response) {
32
+ const linkHeader = response.headers.get("Link");
33
+ if (!linkHeader)
34
+ return false;
35
+ const links = parseLinkHeader(linkHeader);
36
+ const nextLink = findLinkByRel(links, "next");
37
+ if (!nextLink)
38
+ return false;
39
+ return nextLink.params.results !== "false";
40
+ }
41
+ buildNextRequest(endpoint, options, cursor) {
42
+ return {
43
+ endpoint,
44
+ options: {
45
+ ...options,
46
+ query: {
47
+ ...options.query,
48
+ cursor,
49
+ },
50
+ },
51
+ };
52
+ }
53
+ }
54
+ //# sourceMappingURL=pagination.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../../src/providers/sentry/pagination.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG7E;;;;;GAKG;AACH,MAAM,OAAO,wBAAwB;IACnC,aAAa,CAAC,QAAqB;QACjC,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QAE7B,MAAM,KAAK,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAE3B,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAC3B,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;QAChC,CAAC;QAED,IAAI,CAAC;YACH,OAAO,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,YAAY,CAAC,SAAsB;QACjC,6DAA6D;QAC7D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,QAAqB;QAC3B,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,CAAC,UAAU;YAAE,OAAO,KAAK,CAAC;QAE9B,MAAM,KAAK,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAE5B,OAAO,QAAQ,CAAC,MAAM,CAAC,OAAO,KAAK,OAAO,CAAC;IAC7C,CAAC;IAED,gBAAgB,CACd,QAAgB,EAChB,OAAuB,EACvB,MAAc;QAEd,OAAO;YACL,QAAQ;YACR,OAAO,EAAE;gBACP,GAAG,OAAO;gBACV,KAAK,EAAE;oBACL,GAAG,OAAO,CAAC,KAAK;oBAChB,MAAM;iBACP;aACF;SACF,CAAC;IACJ,CAAC;CACF"}
package/dist/public.d.ts CHANGED
@@ -25,6 +25,9 @@ export { AnthropicAdapter } from "./providers/anthropic/adapter.js";
25
25
  export { OpenAIAdapter } from "./providers/openai/adapter.js";
26
26
  export { StripeAdapter } from "./providers/stripe/adapter.js";
27
27
  export { GitHubAdapter } from "./providers/github/adapter.js";
28
+ export { BilldeskAdapter } from "./providers/billdesk/adapter.js";
29
+ export { CcavenueAdapter, ccavenueDecrypt, ccavenueEncrypt } from "./providers/ccavenue/adapter.js";
30
+ export { DatadogAdapter } from "./providers/datadog/adapter.js";
28
31
  export { RazorpayAdapter } from "./providers/razorpay/adapter.js";
29
32
  export { CashfreeAdapter } from "./providers/cashfree/adapter.js";
30
33
  export { PayuAdapter } from "./providers/payu/adapter.js";
@@ -45,6 +48,7 @@ export { MapmyindiaAdapter } from "./providers/mapmyindia/adapter.js";
45
48
  export { PerfiosAdapter } from "./providers/perfios/adapter.js";
46
49
  export { TwilioAdapter } from "./providers/twilio/adapter.js";
47
50
  export { SendgridAdapter } from "./providers/sendgrid/adapter.js";
51
+ export { SentryAdapter } from "./providers/sentry/adapter.js";
48
52
  export { MailgunAdapter } from "./providers/mailgun/adapter.js";
49
53
  export { VonageAdapter } from "./providers/vonage/adapter.js";
50
54
  export { AdyenAdapter } from "./providers/adyen/adapter.js";
@@ -60,6 +64,9 @@ export { KlarnaAdapter } from "./providers/klarna/adapter.js";
60
64
  export { MistralAdapter } from "./providers/mistral/adapter.js";
61
65
  export { MollieAdapter } from "./providers/mollie/adapter.js";
62
66
  export { ApolloAdapter } from "./providers/apollo/adapter.js";
67
+ export { S3Adapter } from "./providers/s3/adapter.js";
68
+ export { signSigV4 } from "./providers/s3/sigv4.js";
69
+ export type { SigV4Credentials } from "./providers/s3/sigv4.js";
63
70
  export { BoundaryProxyServer } from "./proxy/server.js";
64
71
  export type { ProxyServerOptions } from "./proxy/server.js";
65
72
  export { MemoryStateStorage, RedisStateStorage, UpstashStateStorage } from "./state/index.js";
@@ -80,10 +87,13 @@ export type { RequestRecording } from "./debug/index.js";
80
87
  export { SchemaMonitor } from "./schema/index.js";
81
88
  export type { SchemaReport } from "./schema/monitor.js";
82
89
  export type { CostReport, CostEntry } from "./analytics/collector.js";
83
- export { generate } from "./generator/index.js";
90
+ export { generate, generateOpenApiSpec } from "./generator/index.js";
84
91
  export type { GeneratorOptions } from "./generator/index.js";
92
+ export type { GenerateOpenApiSpecOptions, HttpMethod, OpenApiDocument, ProviderSpecSource, } from "./generator/index.js";
85
93
  export type { Policy, PolicyContext, PolicyDecision } from "./core/types.js";
86
94
  export { blockPII, allowedProviders, blockedProviders, readOnly, customPolicy, redact, requireFields, denyCountries, } from "./policies/index.js";
87
95
  export { runTransaction, TransactionError } from "./transactions/index.js";
88
96
  export type { TransactionStep, TransactionResult } from "./transactions/index.js";
97
+ export { createUpiDeepLink, validateVpa } from "./upi/index.js";
98
+ export type { UpiDeepLinkOptions } from "./upi/index.js";
89
99
  //# sourceMappingURL=public.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../src/public.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../src/public.ts"],"names":[],"mappings":"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"}
package/dist/public.js CHANGED
@@ -20,6 +20,9 @@ export { AnthropicAdapter } from "./providers/anthropic/adapter.js";
20
20
  export { OpenAIAdapter } from "./providers/openai/adapter.js";
21
21
  export { StripeAdapter } from "./providers/stripe/adapter.js";
22
22
  export { GitHubAdapter } from "./providers/github/adapter.js";
23
+ export { BilldeskAdapter } from "./providers/billdesk/adapter.js";
24
+ export { CcavenueAdapter, ccavenueDecrypt, ccavenueEncrypt } from "./providers/ccavenue/adapter.js";
25
+ export { DatadogAdapter } from "./providers/datadog/adapter.js";
23
26
  export { RazorpayAdapter } from "./providers/razorpay/adapter.js";
24
27
  export { CashfreeAdapter } from "./providers/cashfree/adapter.js";
25
28
  export { PayuAdapter } from "./providers/payu/adapter.js";
@@ -40,6 +43,7 @@ export { MapmyindiaAdapter } from "./providers/mapmyindia/adapter.js";
40
43
  export { PerfiosAdapter } from "./providers/perfios/adapter.js";
41
44
  export { TwilioAdapter } from "./providers/twilio/adapter.js";
42
45
  export { SendgridAdapter } from "./providers/sendgrid/adapter.js";
46
+ export { SentryAdapter } from "./providers/sentry/adapter.js";
43
47
  export { MailgunAdapter } from "./providers/mailgun/adapter.js";
44
48
  export { VonageAdapter } from "./providers/vonage/adapter.js";
45
49
  export { AdyenAdapter } from "./providers/adyen/adapter.js";
@@ -55,6 +59,8 @@ export { KlarnaAdapter } from "./providers/klarna/adapter.js";
55
59
  export { MistralAdapter } from "./providers/mistral/adapter.js";
56
60
  export { MollieAdapter } from "./providers/mollie/adapter.js";
57
61
  export { ApolloAdapter } from "./providers/apollo/adapter.js";
62
+ export { S3Adapter } from "./providers/s3/adapter.js";
63
+ export { signSigV4 } from "./providers/s3/sigv4.js";
58
64
  // Claw / agent proxy integration
59
65
  export { BoundaryProxyServer } from "./proxy/server.js";
60
66
  // State storage implementations
@@ -76,8 +82,10 @@ export { DebugRecorder } from "./debug/index.js";
76
82
  // Schema drift monitor
77
83
  export { SchemaMonitor } from "./schema/index.js";
78
84
  // Adapter generator (programmatic API)
79
- export { generate } from "./generator/index.js";
85
+ export { generate, generateOpenApiSpec } from "./generator/index.js";
80
86
  export { blockPII, allowedProviders, blockedProviders, readOnly, customPolicy, redact, requireFields, denyCountries, } from "./policies/index.js";
81
87
  // Multi-provider transactions
82
88
  export { runTransaction, TransactionError } from "./transactions/index.js";
89
+ // UPI flow helpers
90
+ export { createUpiDeepLink, validateVpa } from "./upi/index.js";
83
91
  //# sourceMappingURL=public.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"public.js","sourceRoot":"","sources":["../src/public.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"public.js","sourceRoot":"","sources":["../src/public.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc;AACd,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAetC,+BAA+B;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAwBhD,kCAAkC;AAClC,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAK5D,4BAA4B;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGnD,wBAAwB;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAa/C,6BAA6B;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACpG,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAGpD,iCAAiC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAGxD,gCAAgC;AAChC,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAG9F,uBAAuB;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,oBAAoB;AACpB,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAG3D,UAAU;AACV,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,wEAAwE;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD,qBAAqB;AACrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,+BAA+B;AAC/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,iBAAiB;AACjB,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGjD,uBAAuB;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIlD,uCAAuC;AACvC,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAWrE,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EAChB,QAAQ,EACR,YAAY,EACZ,MAAM,EACN,aAAa,EACb,aAAa,GACd,MAAM,qBAAqB,CAAC;AAE7B,8BAA8B;AAC9B,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAG3E,mBAAmB;AACnB,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * High-level helpers for UPI (Unified Payments Interface) — a uniquely Indian
3
+ * payment primitive layered on top of raw provider adapters (Setu, Decentro,
4
+ * BillDesk, CCAvenue, ...). These helpers operate purely on the UPI URI/VPA
5
+ * formats defined by NPCI; they don't call any provider API.
6
+ *
7
+ * Reference: NPCI UPI Linking Specification (`upi://pay?...` deep links) and
8
+ * the VPA format `<handle>@<psp-handle>`.
9
+ */
10
+ /**
11
+ * Validates a UPI Virtual Payment Address against NPCI's `handle@pspHandle`
12
+ * format. This is a syntactic check — it does not confirm the VPA is
13
+ * registered or resolvable; that requires a live lookup through a provider
14
+ * such as Setu or Decentro.
15
+ */
16
+ export declare function validateVpa(vpa: string): boolean;
17
+ export interface UpiDeepLinkOptions {
18
+ /** Payee VPA, e.g. "merchant@oksbi" (mapped to the `pa` parameter). */
19
+ vpa: string;
20
+ /** Payee display name (`pn`). */
21
+ payeeName?: string;
22
+ /** Amount in major currency units, e.g. 1000 for ₹1000 (`am`). */
23
+ amount?: number;
24
+ /** ISO 4217 currency code; defaults to "INR" (`cu`). */
25
+ currency?: string;
26
+ /** Transaction note / description shown to the payer (`tn`). */
27
+ note?: string;
28
+ /** Merchant-generated transaction reference (`tr`). */
29
+ transactionRef?: string;
30
+ /** Transaction ID, typically issued by the PSP (`tid`). */
31
+ transactionId?: string;
32
+ /** Merchant category code (`mc`). */
33
+ merchantCode?: string;
34
+ }
35
+ /**
36
+ * Builds a `upi://pay` deep link per NPCI's UPI Linking Specification, suitable
37
+ * for opening a UPI app's payment screen pre-filled with the given details.
38
+ *
39
+ * Throws if `vpa` fails {@link validateVpa} or `amount` is not a positive,
40
+ * finite number — both would produce a deep link that UPI apps reject.
41
+ */
42
+ export declare function createUpiDeepLink(options: UpiDeepLinkOptions): string;
43
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/upi/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAGhD;AAED,MAAM,WAAW,kBAAkB;IACjC,uEAAuE;IACvE,GAAG,EAAE,MAAM,CAAC;IACZ,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,2DAA2D;IAC3D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qCAAqC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAyBrE"}