@compose-market/sdk 0.8.2 → 0.8.3

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 (128) hide show
  1. package/.speakeasy/a2a.arazzo.yaml +1 -1
  2. package/.speakeasy/memory.arazzo.yaml +1 -1
  3. package/.speakeasy/tests.arazzo.yaml +1 -1
  4. package/dist/errors.d.ts +2 -0
  5. package/dist/errors.d.ts.map +1 -0
  6. package/dist/errors.js +2 -0
  7. package/dist/errors.js.map +1 -0
  8. package/dist/events.d.ts +202 -0
  9. package/dist/events.d.ts.map +1 -0
  10. package/dist/events.js +70 -0
  11. package/dist/events.js.map +1 -0
  12. package/dist/index.d.ts +277 -0
  13. package/dist/index.d.ts.map +1 -0
  14. package/dist/index.js +551 -0
  15. package/dist/index.js.map +1 -0
  16. package/dist/resources/accounts.d.ts +32 -0
  17. package/dist/resources/accounts.d.ts.map +1 -0
  18. package/dist/resources/accounts.js +128 -0
  19. package/dist/resources/accounts.js.map +1 -0
  20. package/dist/resources/agent.d.ts +58 -0
  21. package/dist/resources/agent.d.ts.map +1 -0
  22. package/dist/resources/agent.js +787 -0
  23. package/dist/resources/agent.js.map +1 -0
  24. package/dist/resources/channels.d.ts +24 -0
  25. package/dist/resources/channels.d.ts.map +1 -0
  26. package/dist/resources/channels.js +74 -0
  27. package/dist/resources/channels.js.map +1 -0
  28. package/dist/resources/directory.d.ts +43 -0
  29. package/dist/resources/directory.d.ts.map +1 -0
  30. package/dist/resources/directory.js +97 -0
  31. package/dist/resources/directory.js.map +1 -0
  32. package/dist/resources/dispenser.d.ts +25 -0
  33. package/dist/resources/dispenser.d.ts.map +1 -0
  34. package/dist/resources/dispenser.js +56 -0
  35. package/dist/resources/dispenser.js.map +1 -0
  36. package/dist/resources/feedback.d.ts +35 -0
  37. package/dist/resources/feedback.d.ts.map +1 -0
  38. package/dist/resources/feedback.js +127 -0
  39. package/dist/resources/feedback.js.map +1 -0
  40. package/dist/resources/inference.d.ts +206 -0
  41. package/dist/resources/inference.d.ts.map +1 -0
  42. package/dist/resources/inference.js +1049 -0
  43. package/dist/resources/inference.js.map +1 -0
  44. package/dist/resources/instrumentation.d.ts +29 -0
  45. package/dist/resources/instrumentation.d.ts.map +1 -0
  46. package/dist/resources/instrumentation.js +43 -0
  47. package/dist/resources/instrumentation.js.map +1 -0
  48. package/dist/resources/keys.d.ts +56 -0
  49. package/dist/resources/keys.d.ts.map +1 -0
  50. package/dist/resources/keys.js +186 -0
  51. package/dist/resources/keys.js.map +1 -0
  52. package/dist/resources/local.d.ts +56 -0
  53. package/dist/resources/local.d.ts.map +1 -0
  54. package/dist/resources/local.js +163 -0
  55. package/dist/resources/local.js.map +1 -0
  56. package/dist/resources/memory.d.ts +249 -0
  57. package/dist/resources/memory.d.ts.map +1 -0
  58. package/dist/resources/memory.js +217 -0
  59. package/dist/resources/memory.js.map +1 -0
  60. package/dist/resources/models.d.ts +45 -0
  61. package/dist/resources/models.d.ts.map +1 -0
  62. package/dist/resources/models.js +101 -0
  63. package/dist/resources/models.js.map +1 -0
  64. package/dist/resources/permissions.d.ts +23 -0
  65. package/dist/resources/permissions.d.ts.map +1 -0
  66. package/dist/resources/permissions.js +69 -0
  67. package/dist/resources/permissions.js.map +1 -0
  68. package/dist/resources/receipts.d.ts +23 -0
  69. package/dist/resources/receipts.d.ts.map +1 -0
  70. package/dist/resources/receipts.js +48 -0
  71. package/dist/resources/receipts.js.map +1 -0
  72. package/dist/resources/session-events.d.ts +51 -0
  73. package/dist/resources/session-events.d.ts.map +1 -0
  74. package/dist/resources/session-events.js +404 -0
  75. package/dist/resources/session-events.js.map +1 -0
  76. package/dist/resources/settlement.d.ts +21 -0
  77. package/dist/resources/settlement.d.ts.map +1 -0
  78. package/dist/resources/settlement.js +30 -0
  79. package/dist/resources/settlement.js.map +1 -0
  80. package/dist/resources/system.d.ts +9 -0
  81. package/dist/resources/system.d.ts.map +1 -0
  82. package/dist/resources/system.js +19 -0
  83. package/dist/resources/system.js.map +1 -0
  84. package/dist/resources/webhooks.d.ts +27 -0
  85. package/dist/resources/webhooks.d.ts.map +1 -0
  86. package/dist/resources/webhooks.js +78 -0
  87. package/dist/resources/webhooks.js.map +1 -0
  88. package/dist/resources/workflow.d.ts +49 -0
  89. package/dist/resources/workflow.d.ts.map +1 -0
  90. package/dist/resources/workflow.js +364 -0
  91. package/dist/resources/workflow.js.map +1 -0
  92. package/dist/resources/x402.d.ts +113 -0
  93. package/dist/resources/x402.d.ts.map +1 -0
  94. package/dist/resources/x402.js +231 -0
  95. package/dist/resources/x402.js.map +1 -0
  96. package/dist/tools/index.d.ts +55 -0
  97. package/dist/tools/index.d.ts.map +1 -0
  98. package/dist/tools/index.js +51 -0
  99. package/dist/tools/index.js.map +1 -0
  100. package/dist/types/index.d.ts +1859 -0
  101. package/dist/types/index.d.ts.map +1 -0
  102. package/dist/types/index.js +14 -0
  103. package/dist/types/index.js.map +1 -0
  104. package/dist/version.d.ts +9 -0
  105. package/dist/version.d.ts.map +1 -0
  106. package/dist/version.js +9 -0
  107. package/dist/version.js.map +1 -0
  108. package/generated/inference/esm/lib/config.d.ts +3 -3
  109. package/generated/inference/esm/lib/config.js +3 -3
  110. package/generated/inference/package.json +1 -1
  111. package/generated/inference/src/lib/config.ts +3 -3
  112. package/generated/manowar/esm/lib/config.d.ts +3 -3
  113. package/generated/manowar/esm/lib/config.js +3 -3
  114. package/generated/manowar/package.json +1 -1
  115. package/generated/manowar/src/lib/config.ts +3 -3
  116. package/generated/memory/esm/lib/config.d.ts +3 -3
  117. package/generated/memory/esm/lib/config.js +3 -3
  118. package/generated/memory/package.json +1 -1
  119. package/generated/memory/src/lib/config.ts +3 -3
  120. package/generated/x402/esm/lib/config.d.ts +3 -3
  121. package/generated/x402/esm/lib/config.js +3 -3
  122. package/generated/x402/package.json +1 -1
  123. package/generated/x402/src/lib/config.ts +3 -3
  124. package/package.json +2 -2
  125. package/specs/inference.openapi.yaml +1 -1
  126. package/specs/manowar.openapi.yaml +1 -1
  127. package/specs/memory.openapi.yaml +1 -1
  128. package/specs/x402.openapi.yaml +1 -1
@@ -0,0 +1,231 @@
1
+ import { x402Client } from "@x402/core/client";
2
+ import { ExactEvmScheme, toClientEvmSigner } from "@x402/evm";
3
+ import { UptoEvmScheme } from "@x402/evm/upto/client";
4
+ import { BatchSettlementEvmScheme } from "@x402/evm/batch-settlement/client";
5
+ import { createPublicClient, http } from "viem";
6
+ import { privateKeyToAccount } from "viem/accounts";
7
+ import { decodeReceiptHeader } from "@compose-market/core/sse/receipt";
8
+ function base64UrlDecode(value) {
9
+ const normalized = value.replace(/-/g, "+").replace(/_/g, "/");
10
+ const padding = normalized.length % 4 === 0 ? "" : "=".repeat(4 - (normalized.length % 4));
11
+ if (typeof globalThis.atob === "function") {
12
+ const binary = globalThis.atob(normalized + padding);
13
+ const bytes = new Uint8Array(binary.length);
14
+ for (let i = 0; i < binary.length; i += 1)
15
+ bytes[i] = binary.charCodeAt(i);
16
+ return new TextDecoder("utf-8").decode(bytes);
17
+ }
18
+ return Buffer.from(normalized + padding, "base64").toString("utf-8");
19
+ }
20
+ function base64UrlEncode(value) {
21
+ if (typeof Buffer !== "undefined") {
22
+ return Buffer.from(value, "utf-8").toString("base64")
23
+ .replace(/\+/g, "-")
24
+ .replace(/\//g, "_")
25
+ .replace(/=+$/, "");
26
+ }
27
+ const bytes = new TextEncoder().encode(value);
28
+ let binary = "";
29
+ for (const byte of bytes)
30
+ binary += String.fromCharCode(byte);
31
+ return globalThis.btoa(binary)
32
+ .replace(/\+/g, "-")
33
+ .replace(/\//g, "_")
34
+ .replace(/=+$/, "");
35
+ }
36
+ export function encodePaymentPayload(payload) {
37
+ return base64UrlEncode(JSON.stringify(payload));
38
+ }
39
+ export function encodePaymentSignature(value) {
40
+ return typeof value === "string" ? value : encodePaymentPayload(value);
41
+ }
42
+ export function createX402EvmSigner(signer, options = {}) {
43
+ const schemes = options.schemes ?? ["batch-settlement", "upto", "exact"];
44
+ const client = new x402Client();
45
+ const schemeOptions = options.rpcUrl ? { rpcUrl: options.rpcUrl } : undefined;
46
+ if (schemes.includes("batch-settlement")) {
47
+ client.register("eip155:*", new BatchSettlementEvmScheme(signer, schemeOptions));
48
+ }
49
+ if (schemes.includes("upto")) {
50
+ client.register("eip155:*", new UptoEvmScheme(signer, schemeOptions));
51
+ }
52
+ if (schemes.includes("exact")) {
53
+ client.register("eip155:*", new ExactEvmScheme(signer, schemeOptions));
54
+ }
55
+ return async (request) => {
56
+ const paymentRequired = filterPaymentRequiredByMaxAmount(request.paymentRequired, request.maxAmountWei);
57
+ return client.createPaymentPayload(paymentRequired);
58
+ };
59
+ }
60
+ export function createPrivateKeyX402EvmSigner(input) {
61
+ return createPrivateKeyX402EvmWallet(input).x402Signer;
62
+ }
63
+ export function createPrivateKeyX402EvmWallet(input) {
64
+ const privateKey = input.privateKey.startsWith("0x") ? input.privateKey : `0x${input.privateKey}`;
65
+ const account = privateKeyToAccount(privateKey);
66
+ const publicClient = input.rpcUrl
67
+ ? createPublicClient({ transport: http(input.rpcUrl) })
68
+ : undefined;
69
+ const signer = toClientEvmSigner(account, publicClient);
70
+ return {
71
+ address: account.address,
72
+ x402Signer: createX402EvmSigner(signer, {
73
+ rpcUrl: input.rpcUrl,
74
+ schemes: input.schemes,
75
+ }),
76
+ };
77
+ }
78
+ function filterPaymentRequiredByMaxAmount(paymentRequired, maxAmountWei) {
79
+ if (!maxAmountWei)
80
+ return paymentRequired;
81
+ const max = BigInt(maxAmountWei);
82
+ const accepts = paymentRequired.accepts.filter((accept) => BigInt(accept.amount) <= max);
83
+ if (accepts.length === 0) {
84
+ throw new Error("No x402 payment requirement fits within x402MaxAmountWei");
85
+ }
86
+ return { ...paymentRequired, accepts };
87
+ }
88
+ export class FacilitatorResource {
89
+ client;
90
+ constructor(client) {
91
+ this.client = client;
92
+ }
93
+ supported() {
94
+ return this.client.request({
95
+ method: "GET",
96
+ path: "/api/x402/facilitator/supported",
97
+ });
98
+ }
99
+ chains() {
100
+ return this.client.request({
101
+ method: "GET",
102
+ path: "/api/x402/facilitator/chains",
103
+ });
104
+ }
105
+ verify(body) {
106
+ return this.client.request({
107
+ method: "POST",
108
+ path: "/api/x402/facilitator/verify",
109
+ body,
110
+ });
111
+ }
112
+ settle(body) {
113
+ return this.client.request({
114
+ method: "POST",
115
+ path: "/api/x402/facilitator/settle",
116
+ body,
117
+ });
118
+ }
119
+ }
120
+ export class PaymentsResource {
121
+ client;
122
+ ctx;
123
+ constructor(client, ctx) {
124
+ this.client = client;
125
+ this.ctx = ctx;
126
+ }
127
+ /**
128
+ * Authorize a reusable Compose Key payment intent. The server owns budget
129
+ * reservation, idempotency, x402 challenge headers, and live budget headers.
130
+ */
131
+ prepare(input, options = {}) {
132
+ const wallet = this.ctx.getWalletMaybe();
133
+ const token = this.ctx.getTokenMaybe();
134
+ return this.client.request({
135
+ method: "POST",
136
+ path: "/api/payments/prepare",
137
+ body: input,
138
+ headers: {
139
+ key: token ?? undefined,
140
+ userAddress: wallet.address ?? undefined,
141
+ chainId: wallet.chainId ?? undefined,
142
+ x402MaxAmountWei: input.maxAmountWei,
143
+ idempotencyKey: input.idempotencyKey,
144
+ },
145
+ signal: options.signal,
146
+ timeoutMs: options.timeoutMs,
147
+ });
148
+ }
149
+ /**
150
+ * Settle a prepared payment intent with either an explicit final amount or
151
+ * an authoritative meter. The API rejects settlement above the authorized
152
+ * cap; the SDK only forwards the typed contract.
153
+ */
154
+ settle(input, options = {}) {
155
+ return this.client.request({
156
+ method: "POST",
157
+ path: "/api/payments/settle",
158
+ body: input,
159
+ signal: options.signal,
160
+ timeoutMs: options.timeoutMs,
161
+ doNotRetry: true,
162
+ });
163
+ }
164
+ abort(input, options = {}) {
165
+ return this.client.request({
166
+ method: "POST",
167
+ path: "/api/payments/abort",
168
+ body: input,
169
+ signal: options.signal,
170
+ timeoutMs: options.timeoutMs,
171
+ doNotRetry: true,
172
+ });
173
+ }
174
+ /**
175
+ * Ask the server to resolve the authoritative model-meter quote from the
176
+ * catalog and metering telemetry. No model/provider allowlists live here.
177
+ */
178
+ meterModel(input, options = {}) {
179
+ return this.client.request({
180
+ method: "POST",
181
+ path: "/api/payments/meter/model",
182
+ body: input,
183
+ signal: options.signal,
184
+ timeoutMs: options.timeoutMs,
185
+ });
186
+ }
187
+ }
188
+ export class X402Resource {
189
+ fetchWithPayment;
190
+ facilitator;
191
+ payments;
192
+ constructor(client, ctx, fetchWithPayment) {
193
+ this.fetchWithPayment = fetchWithPayment;
194
+ this.facilitator = new FacilitatorResource(client);
195
+ this.payments = new PaymentsResource(client, ctx);
196
+ }
197
+ fetch(input, init) {
198
+ if (!this.fetchWithPayment) {
199
+ return Promise.reject(new Error("x402.fetch is only available from a ComposeSDK instance."));
200
+ }
201
+ return this.fetchWithPayment(input, { ...(init ?? {}), paymentMode: "x402" });
202
+ }
203
+ /**
204
+ * Decode the base64-url PAYMENT-REQUIRED header into a typed
205
+ * `PaymentRequired` body. Throws on malformed input.
206
+ */
207
+ decodePaymentRequired(headerValue) {
208
+ return JSON.parse(base64UrlDecode(headerValue));
209
+ }
210
+ /**
211
+ * Decode the base64-url PAYMENT-RESPONSE header into a typed
212
+ * `SettleResponse` body. Throws on malformed input.
213
+ */
214
+ decodePaymentResponse(headerValue) {
215
+ return JSON.parse(base64UrlDecode(headerValue));
216
+ }
217
+ /**
218
+ * Encode a signed x402 `PaymentPayload` for the PAYMENT-SIGNATURE header.
219
+ * If a signer already returned a string, this returns it unchanged.
220
+ */
221
+ encodePaymentSignature(value) {
222
+ return encodePaymentSignature(value);
223
+ }
224
+ /**
225
+ * Decode the base64-url X-Receipt header. Throws on malformed input.
226
+ */
227
+ decodeReceipt(headerValue) {
228
+ return decodeReceiptHeader(headerValue);
229
+ }
230
+ }
231
+ //# sourceMappingURL=x402.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"x402.js","sourceRoot":"","sources":["../../src/resources/x402.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ export interface ModelToolEvent {
2
+ start: boolean;
3
+ model: string;
4
+ action: string;
5
+ result?: unknown;
6
+ error?: string;
7
+ }
8
+ export interface ConnectorToolEvent {
9
+ start: boolean;
10
+ connector: string;
11
+ action: string;
12
+ result?: unknown;
13
+ error?: string;
14
+ }
15
+ export interface AgentToolEvent {
16
+ start: boolean;
17
+ agent: string;
18
+ action: string;
19
+ result?: unknown;
20
+ error?: string;
21
+ }
22
+ export interface SearchToolEvent {
23
+ start: boolean;
24
+ mode: string;
25
+ action: string;
26
+ result?: unknown;
27
+ error?: string;
28
+ }
29
+ export interface CatalogToolEvent {
30
+ start: boolean;
31
+ domain: string;
32
+ action: string;
33
+ result?: unknown;
34
+ error?: string;
35
+ }
36
+ export type ToolEvent = ModelToolEvent | ConnectorToolEvent | AgentToolEvent | SearchToolEvent | CatalogToolEvent;
37
+ export type ToolEventKind = "model" | "connector" | "agent" | "search" | "catalog";
38
+ export interface ToolEventDisplay {
39
+ kind: ToolEventKind;
40
+ name: string;
41
+ target?: string;
42
+ summary?: string;
43
+ details?: Record<string, unknown>;
44
+ }
45
+ export declare function parseToolEvent(raw: {
46
+ type?: string;
47
+ toolName?: string;
48
+ input?: unknown;
49
+ output?: unknown;
50
+ failed?: boolean;
51
+ error?: string;
52
+ message?: string;
53
+ display?: ToolEventDisplay;
54
+ }): ToolEvent | null;
55
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC3B,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC3B,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC5B,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC7B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,SAAS,GACf,cAAc,GACd,kBAAkB,GAClB,cAAc,GACd,eAAe,GACf,gBAAgB,CAAC;AAEvB,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEnF,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC9B,GAAG,SAAS,GAAG,IAAI,CAkDnB"}
@@ -0,0 +1,51 @@
1
+ export function parseToolEvent(raw) {
2
+ const name = raw.toolName ?? "";
3
+ const isStart = raw.type === "tool_start";
4
+ const result = raw.output ?? raw.message;
5
+ const error = raw.failed ? (raw.error ?? undefined) : undefined;
6
+ switch (name) {
7
+ case "models_call":
8
+ return {
9
+ start: isStart,
10
+ model: String(raw.input?.prompt ?? raw.display?.name ?? "model"),
11
+ action: String(raw.input?.action ?? "execute"),
12
+ ...(result !== undefined ? { result } : {}),
13
+ ...(error ? { error } : {}),
14
+ };
15
+ case "connectors_find":
16
+ return {
17
+ start: isStart,
18
+ connector: String(raw.display?.name ?? raw.input?.query ?? "connector"),
19
+ action: "find",
20
+ ...(result !== undefined ? { result } : {}),
21
+ ...(error ? { error } : {}),
22
+ };
23
+ case "agent_find":
24
+ return {
25
+ start: isStart,
26
+ agent: String(raw.display?.name ?? raw.input?.query ?? "agent"),
27
+ action: "find",
28
+ ...(result !== undefined ? { result } : {}),
29
+ ...(error ? { error } : {}),
30
+ };
31
+ case "search_call":
32
+ return {
33
+ start: isStart,
34
+ mode: String(raw.input?.mode ?? "general"),
35
+ action: "search",
36
+ ...(result !== undefined ? { result } : {}),
37
+ ...(error ? { error } : {}),
38
+ };
39
+ case "query_catalog":
40
+ return {
41
+ start: isStart,
42
+ domain: String(raw.display?.name ?? "catalog"),
43
+ action: "query",
44
+ ...(result !== undefined ? { result } : {}),
45
+ ...(error ? { error } : {}),
46
+ };
47
+ default:
48
+ return null;
49
+ }
50
+ }
51
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}