@paid-ai/paid-node 0.0.8 → 0.2.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.
Files changed (116) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +122 -11
  3. package/dist/cjs/Client.d.ts +22 -0
  4. package/dist/cjs/Client.js +45 -2
  5. package/dist/cjs/anthropic-wrapper/index.d.ts +1 -0
  6. package/dist/cjs/anthropic-wrapper/index.js +5 -0
  7. package/dist/cjs/api/resources/agents/client/Client.d.ts +52 -4
  8. package/dist/cjs/api/resources/agents/client/Client.js +52 -4
  9. package/dist/cjs/api/resources/agents/client/requests/AgentCreate.d.ts +4 -2
  10. package/dist/cjs/api/resources/contacts/client/Client.d.ts +4 -7
  11. package/dist/cjs/api/resources/contacts/client/Client.js +4 -7
  12. package/dist/cjs/api/resources/contacts/client/requests/ContactCreate.d.ts +8 -11
  13. package/dist/cjs/api/resources/customers/client/Client.d.ts +8 -2
  14. package/dist/cjs/api/resources/customers/client/Client.js +8 -2
  15. package/dist/cjs/api/resources/customers/client/requests/CustomerCreate.d.ts +2 -1
  16. package/dist/cjs/api/resources/orders/client/Client.d.ts +6 -5
  17. package/dist/cjs/api/resources/orders/client/Client.js +6 -5
  18. package/dist/cjs/api/resources/orders/client/requests/OrderCreate.d.ts +8 -7
  19. package/dist/cjs/api/resources/orders/resources/lines/client/Client.d.ts +11 -1
  20. package/dist/cjs/api/resources/orders/resources/lines/client/Client.js +11 -1
  21. package/dist/cjs/api/resources/orders/resources/lines/client/requests/LinesUpdateRequest.d.ts +11 -1
  22. package/dist/cjs/api/resources/usage/client/Client.d.ts +4 -2
  23. package/dist/cjs/api/resources/usage/client/Client.js +4 -2
  24. package/dist/cjs/api/resources/usage/client/requests/UsageRecordBulkRequest.d.ts +3 -1
  25. package/dist/cjs/api/types/BillingFrequency.d.ts +4 -4
  26. package/dist/cjs/api/types/BillingFrequency.js +3 -3
  27. package/dist/cjs/api/types/Pricing.d.ts +1 -0
  28. package/dist/cjs/api/types/PricingModelType.d.ts +2 -1
  29. package/dist/cjs/api/types/PricingModelType.js +1 -0
  30. package/dist/cjs/api/types/Signal.d.ts +1 -0
  31. package/dist/cjs/index.d.ts +1 -1
  32. package/dist/cjs/index.js +3 -3
  33. package/dist/cjs/langchain-wrapper/index.d.ts +1 -0
  34. package/dist/cjs/langchain-wrapper/index.js +5 -0
  35. package/dist/cjs/mistral-wrapper/index.d.ts +1 -0
  36. package/dist/cjs/mistral-wrapper/index.js +5 -0
  37. package/dist/cjs/openai-wrapper/index.d.ts +1 -0
  38. package/dist/cjs/openai-wrapper/index.js +5 -0
  39. package/dist/cjs/tracing/signal.d.ts +1 -0
  40. package/dist/cjs/tracing/signal.js +54 -0
  41. package/dist/cjs/tracing/tracing.d.ts +8 -0
  42. package/dist/cjs/tracing/tracing.js +127 -0
  43. package/dist/cjs/tracing/wrappers/anthropicWrapper.d.ts +16 -0
  44. package/dist/cjs/tracing/wrappers/anthropicWrapper.js +84 -0
  45. package/dist/cjs/tracing/wrappers/langchainCallback.d.ts +21 -0
  46. package/dist/cjs/tracing/wrappers/langchainCallback.js +142 -0
  47. package/dist/cjs/tracing/wrappers/mistralWrapper.d.ts +17 -0
  48. package/dist/cjs/tracing/wrappers/mistralWrapper.js +81 -0
  49. package/dist/cjs/tracing/wrappers/openAiWrapper.d.ts +48 -0
  50. package/dist/cjs/tracing/wrappers/openAiWrapper.js +241 -0
  51. package/dist/cjs/tracing/wrappers/vercelAIWrapper.d.ts +22 -0
  52. package/dist/cjs/tracing/wrappers/vercelAIWrapper.js +327 -0
  53. package/dist/cjs/vercel-wrapper/index.d.ts +1 -0
  54. package/dist/cjs/vercel-wrapper/index.js +10 -0
  55. package/dist/cjs/version.d.ts +1 -1
  56. package/dist/cjs/version.js +1 -1
  57. package/dist/cjs/wrapper/BatchUsage.d.ts +3 -3
  58. package/dist/cjs/wrapper/BatchUsage.js +4 -4
  59. package/dist/esm/Client.d.mts +22 -0
  60. package/dist/esm/Client.mjs +45 -2
  61. package/dist/esm/anthropic-wrapper/index.d.mts +1 -0
  62. package/dist/esm/anthropic-wrapper/index.mjs +1 -0
  63. package/dist/esm/api/resources/agents/client/Client.d.mts +52 -4
  64. package/dist/esm/api/resources/agents/client/Client.mjs +52 -4
  65. package/dist/esm/api/resources/agents/client/requests/AgentCreate.d.mts +4 -2
  66. package/dist/esm/api/resources/contacts/client/Client.d.mts +4 -7
  67. package/dist/esm/api/resources/contacts/client/Client.mjs +4 -7
  68. package/dist/esm/api/resources/contacts/client/requests/ContactCreate.d.mts +8 -11
  69. package/dist/esm/api/resources/customers/client/Client.d.mts +8 -2
  70. package/dist/esm/api/resources/customers/client/Client.mjs +8 -2
  71. package/dist/esm/api/resources/customers/client/requests/CustomerCreate.d.mts +2 -1
  72. package/dist/esm/api/resources/orders/client/Client.d.mts +6 -5
  73. package/dist/esm/api/resources/orders/client/Client.mjs +6 -5
  74. package/dist/esm/api/resources/orders/client/requests/OrderCreate.d.mts +8 -7
  75. package/dist/esm/api/resources/orders/resources/lines/client/Client.d.mts +11 -1
  76. package/dist/esm/api/resources/orders/resources/lines/client/Client.mjs +11 -1
  77. package/dist/esm/api/resources/orders/resources/lines/client/requests/LinesUpdateRequest.d.mts +11 -1
  78. package/dist/esm/api/resources/usage/client/Client.d.mts +4 -2
  79. package/dist/esm/api/resources/usage/client/Client.mjs +4 -2
  80. package/dist/esm/api/resources/usage/client/requests/UsageRecordBulkRequest.d.mts +3 -1
  81. package/dist/esm/api/types/BillingFrequency.d.mts +4 -4
  82. package/dist/esm/api/types/BillingFrequency.mjs +3 -3
  83. package/dist/esm/api/types/Pricing.d.mts +1 -0
  84. package/dist/esm/api/types/PricingModelType.d.mts +2 -1
  85. package/dist/esm/api/types/PricingModelType.mjs +1 -0
  86. package/dist/esm/api/types/Signal.d.mts +1 -0
  87. package/dist/esm/index.d.mts +1 -1
  88. package/dist/esm/index.mjs +1 -1
  89. package/dist/esm/langchain-wrapper/index.d.mts +1 -0
  90. package/dist/esm/langchain-wrapper/index.mjs +1 -0
  91. package/dist/esm/mistral-wrapper/index.d.mts +1 -0
  92. package/dist/esm/mistral-wrapper/index.mjs +1 -0
  93. package/dist/esm/openai-wrapper/index.d.mts +1 -0
  94. package/dist/esm/openai-wrapper/index.mjs +1 -0
  95. package/dist/esm/tracing/signal.d.mts +1 -0
  96. package/dist/esm/tracing/signal.mjs +51 -0
  97. package/dist/esm/tracing/tracing.d.mts +8 -0
  98. package/dist/esm/tracing/tracing.mjs +116 -0
  99. package/dist/esm/tracing/wrappers/anthropicWrapper.d.mts +16 -0
  100. package/dist/esm/tracing/wrappers/anthropicWrapper.mjs +80 -0
  101. package/dist/esm/tracing/wrappers/langchainCallback.d.mts +21 -0
  102. package/dist/esm/tracing/wrappers/langchainCallback.mjs +138 -0
  103. package/dist/esm/tracing/wrappers/mistralWrapper.d.mts +17 -0
  104. package/dist/esm/tracing/wrappers/mistralWrapper.mjs +77 -0
  105. package/dist/esm/tracing/wrappers/openAiWrapper.d.mts +48 -0
  106. package/dist/esm/tracing/wrappers/openAiWrapper.mjs +237 -0
  107. package/dist/esm/tracing/wrappers/vercelAIWrapper.d.mts +22 -0
  108. package/dist/esm/tracing/wrappers/vercelAIWrapper.mjs +319 -0
  109. package/dist/esm/vercel-wrapper/index.d.mts +1 -0
  110. package/dist/esm/vercel-wrapper/index.mjs +1 -0
  111. package/dist/esm/version.d.mts +1 -1
  112. package/dist/esm/version.mjs +1 -1
  113. package/dist/esm/wrapper/BatchUsage.d.mts +3 -3
  114. package/dist/esm/wrapper/BatchUsage.mjs +3 -3
  115. package/package.json +102 -4
  116. package/reference.md +96 -21
@@ -0,0 +1,319 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { SpanStatusCode } from "@opentelemetry/api";
11
+ import { getCustomerIdStorage, getAgentIdStorage, getTokenStorage, paidTracer } from "../tracing.mjs";
12
+ import { generateText as originalGenerateText, streamText as originalStreamText, generateObject as originalGenerateObject, streamObject as originalStreamObject, embed as originalEmbed, embedMany as originalEmbedMany, } from "ai";
13
+ function getModelInfo(model) {
14
+ if (model === null || model === void 0 ? void 0 : model.modelId) {
15
+ const modelId = model.modelId;
16
+ if (modelId.startsWith('gpt-') || modelId.startsWith('text-embedding-') || modelId.startsWith('dall-e-')) {
17
+ return { system: 'openai', modelName: modelId };
18
+ }
19
+ if (modelId.startsWith('claude-')) {
20
+ return { system: 'anthropic', modelName: modelId };
21
+ }
22
+ if (modelId.startsWith('mistral-') || modelId.startsWith('codestral-')) {
23
+ return { system: 'mistral', modelName: modelId };
24
+ }
25
+ if (modelId.includes('gemini')) {
26
+ return { system: 'google', modelName: modelId };
27
+ }
28
+ }
29
+ if (model === null || model === void 0 ? void 0 : model.provider) {
30
+ return { system: model.provider, modelName: model.modelId };
31
+ }
32
+ return { system: 'unknown' };
33
+ }
34
+ function extractUsageMetrics(usage) {
35
+ const usageAttrs = {};
36
+ const inputTokens = usage.promptTokens || usage.prompt_tokens || usage.inputTokens;
37
+ const outputTokens = usage.completionTokens || usage.completion_tokens || usage.outputTokens;
38
+ const cachedTokens = usage.cachedPromptTokens || usage.cached_prompt_tokens || usage.cachedInputTokens;
39
+ if (inputTokens !== undefined) {
40
+ usageAttrs["gen_ai.usage.input_tokens"] = inputTokens;
41
+ }
42
+ if (outputTokens !== undefined) {
43
+ usageAttrs["gen_ai.usage.output_tokens"] = outputTokens;
44
+ }
45
+ if (cachedTokens !== undefined) {
46
+ usageAttrs["gen_ai.usage.cached_input_tokens"] = cachedTokens;
47
+ }
48
+ if (usage.tokens !== undefined && inputTokens === undefined) {
49
+ usageAttrs["gen_ai.usage.input_tokens"] = usage.tokens;
50
+ }
51
+ return usageAttrs;
52
+ }
53
+ function validateContext() {
54
+ const externalCustomerId = getCustomerIdStorage();
55
+ const token = getTokenStorage();
56
+ if (!token || !externalCustomerId) {
57
+ throw new Error("No token or externalCustomerId: This wrapper should be used inside a callback to paid.trace().");
58
+ }
59
+ return {
60
+ externalCustomerId,
61
+ externalAgentId: getAgentIdStorage(),
62
+ token,
63
+ };
64
+ }
65
+ export function generateText(params) {
66
+ return __awaiter(this, void 0, void 0, function* () {
67
+ const context = validateContext();
68
+ const { system: aiSystem, modelName } = getModelInfo(params.model);
69
+ return paidTracer.startActiveSpan("trace.ai-sdk.generateText", (span) => __awaiter(this, void 0, void 0, function* () {
70
+ var _a;
71
+ const attributes = {
72
+ "gen_ai.system": aiSystem,
73
+ "gen_ai.operation.name": "chat",
74
+ "external_customer_id": context.externalCustomerId,
75
+ "token": context.token,
76
+ };
77
+ if (context.externalAgentId) {
78
+ attributes["external_agent_id"] = context.externalAgentId;
79
+ }
80
+ if (modelName) {
81
+ attributes["gen_ai.request.model"] = modelName;
82
+ }
83
+ span.setAttributes(attributes);
84
+ try {
85
+ const result = yield originalGenerateText(params);
86
+ if (result.usage) {
87
+ const usageAttrs = extractUsageMetrics(result.usage);
88
+ span.setAttributes(usageAttrs);
89
+ }
90
+ if ((_a = result.response) === null || _a === void 0 ? void 0 : _a.modelId) {
91
+ span.setAttribute("gen_ai.response.model", result.response.modelId);
92
+ }
93
+ span.setStatus({ code: SpanStatusCode.OK });
94
+ return result;
95
+ }
96
+ catch (error) {
97
+ span.setStatus({ code: SpanStatusCode.ERROR, message: error.message });
98
+ span.recordException(error);
99
+ throw error;
100
+ }
101
+ finally {
102
+ span.end();
103
+ }
104
+ }));
105
+ });
106
+ }
107
+ export function streamText(params) {
108
+ return __awaiter(this, void 0, void 0, function* () {
109
+ const context = validateContext();
110
+ const { system: aiSystem, modelName } = getModelInfo(params.model);
111
+ return paidTracer.startActiveSpan("trace.ai-sdk.streamText", (span) => __awaiter(this, void 0, void 0, function* () {
112
+ const attributes = {
113
+ "gen_ai.system": aiSystem,
114
+ "gen_ai.operation.name": "chat",
115
+ "external_customer_id": context.externalCustomerId,
116
+ "token": context.token,
117
+ };
118
+ if (context.externalAgentId) {
119
+ attributes["external_agent_id"] = context.externalAgentId;
120
+ }
121
+ if (modelName) {
122
+ attributes["gen_ai.request.model"] = modelName;
123
+ }
124
+ span.setAttributes(attributes);
125
+ try {
126
+ const originalOnFinish = params.onFinish;
127
+ const wrappedParams = Object.assign(Object.assign({}, params), { onFinish: (result) => {
128
+ if (result.usage) {
129
+ const usageAttrs = extractUsageMetrics(result.usage);
130
+ span.setAttributes(usageAttrs);
131
+ }
132
+ if (originalOnFinish) {
133
+ originalOnFinish(result);
134
+ }
135
+ span.setStatus({ code: SpanStatusCode.OK });
136
+ span.end();
137
+ } });
138
+ const result = originalStreamText(wrappedParams);
139
+ return result;
140
+ }
141
+ catch (error) {
142
+ span.setStatus({ code: SpanStatusCode.ERROR, message: error.message });
143
+ span.recordException(error);
144
+ throw error;
145
+ }
146
+ finally {
147
+ span.end();
148
+ }
149
+ }));
150
+ });
151
+ }
152
+ export function generateObject(params) {
153
+ return __awaiter(this, void 0, void 0, function* () {
154
+ const context = validateContext();
155
+ const { system: aiSystem, modelName } = getModelInfo(params.model);
156
+ return paidTracer.startActiveSpan("trace.ai-sdk.generateObject", (span) => __awaiter(this, void 0, void 0, function* () {
157
+ var _a;
158
+ const attributes = {
159
+ "gen_ai.system": aiSystem,
160
+ "gen_ai.operation.name": "chat",
161
+ "external_customer_id": context.externalCustomerId,
162
+ "token": context.token,
163
+ };
164
+ if (context.externalAgentId) {
165
+ attributes["external_agent_id"] = context.externalAgentId;
166
+ }
167
+ if (modelName) {
168
+ attributes["gen_ai.request.model"] = modelName;
169
+ }
170
+ span.setAttributes(attributes);
171
+ try {
172
+ const result = yield originalGenerateObject(params);
173
+ if (result.usage) {
174
+ const usageAttrs = extractUsageMetrics(result.usage);
175
+ span.setAttributes(usageAttrs);
176
+ }
177
+ if ((_a = result.response) === null || _a === void 0 ? void 0 : _a.modelId) {
178
+ span.setAttribute("gen_ai.response.model", result.response.modelId);
179
+ }
180
+ span.setStatus({ code: SpanStatusCode.OK });
181
+ return result;
182
+ }
183
+ catch (error) {
184
+ span.setStatus({ code: SpanStatusCode.ERROR, message: error.message });
185
+ span.recordException(error);
186
+ throw error;
187
+ }
188
+ finally {
189
+ span.end();
190
+ }
191
+ }));
192
+ });
193
+ }
194
+ export function streamObject(params) {
195
+ return __awaiter(this, void 0, void 0, function* () {
196
+ const context = validateContext();
197
+ const { system: aiSystem, modelName } = getModelInfo(params.model);
198
+ return paidTracer.startActiveSpan("trace.ai-sdk.streamObject", (span) => __awaiter(this, void 0, void 0, function* () {
199
+ const attributes = {
200
+ "gen_ai.system": aiSystem,
201
+ "gen_ai.operation.name": "chat",
202
+ "external_customer_id": context.externalCustomerId,
203
+ "token": context.token,
204
+ };
205
+ if (context.externalAgentId) {
206
+ attributes["external_agent_id"] = context.externalAgentId;
207
+ }
208
+ if (modelName) {
209
+ attributes["gen_ai.request.model"] = modelName;
210
+ }
211
+ span.setAttributes(attributes);
212
+ try {
213
+ const originalOnFinish = params.onFinish;
214
+ const wrappedParams = Object.assign(Object.assign({}, params), { onFinish: (result) => {
215
+ if (result.usage) {
216
+ const usageAttrs = extractUsageMetrics(result.usage);
217
+ span.setAttributes(usageAttrs);
218
+ }
219
+ if (originalOnFinish) {
220
+ originalOnFinish(result);
221
+ }
222
+ span.setStatus({ code: SpanStatusCode.OK });
223
+ span.end();
224
+ } });
225
+ const result = originalStreamObject(wrappedParams);
226
+ return result;
227
+ }
228
+ catch (error) {
229
+ span.setStatus({ code: SpanStatusCode.ERROR, message: error.message });
230
+ span.recordException(error);
231
+ throw error;
232
+ }
233
+ }));
234
+ });
235
+ }
236
+ export function embed(params) {
237
+ return __awaiter(this, void 0, void 0, function* () {
238
+ const context = validateContext();
239
+ const { system: aiSystem, modelName } = getModelInfo(params.model);
240
+ return paidTracer.startActiveSpan("trace.ai-sdk.embed", (span) => __awaiter(this, void 0, void 0, function* () {
241
+ const attributes = {
242
+ "gen_ai.system": aiSystem,
243
+ "gen_ai.operation.name": "embeddings",
244
+ "external_customer_id": context.externalCustomerId,
245
+ "token": context.token,
246
+ };
247
+ if (context.externalAgentId) {
248
+ attributes["external_agent_id"] = context.externalAgentId;
249
+ }
250
+ if (modelName) {
251
+ attributes["gen_ai.request.model"] = modelName;
252
+ }
253
+ span.setAttributes(attributes);
254
+ try {
255
+ const result = yield originalEmbed(params);
256
+ if (result.usage) {
257
+ const usageAttrs = extractUsageMetrics(result.usage);
258
+ span.setAttributes(usageAttrs);
259
+ }
260
+ span.setStatus({ code: SpanStatusCode.OK });
261
+ return result;
262
+ }
263
+ catch (error) {
264
+ span.setStatus({ code: SpanStatusCode.ERROR, message: error.message });
265
+ span.recordException(error);
266
+ throw error;
267
+ }
268
+ finally {
269
+ span.end();
270
+ }
271
+ }));
272
+ });
273
+ }
274
+ export function embedMany(params) {
275
+ return __awaiter(this, void 0, void 0, function* () {
276
+ const context = validateContext();
277
+ const { system: aiSystem, modelName } = getModelInfo(params.model);
278
+ return paidTracer.startActiveSpan("trace.ai-sdk.embedMany", (span) => __awaiter(this, void 0, void 0, function* () {
279
+ const attributes = {
280
+ "gen_ai.system": aiSystem,
281
+ "gen_ai.operation.name": "embeddings",
282
+ "external_customer_id": context.externalCustomerId,
283
+ "token": context.token,
284
+ };
285
+ if (context.externalAgentId) {
286
+ attributes["external_agent_id"] = context.externalAgentId;
287
+ }
288
+ if (modelName) {
289
+ attributes["gen_ai.request.model"] = modelName;
290
+ }
291
+ span.setAttributes(attributes);
292
+ try {
293
+ const result = yield originalEmbedMany(params);
294
+ if (result.usage) {
295
+ const usageAttrs = extractUsageMetrics(result.usage);
296
+ span.setAttributes(usageAttrs);
297
+ }
298
+ span.setStatus({ code: SpanStatusCode.OK });
299
+ return result;
300
+ }
301
+ catch (error) {
302
+ span.setStatus({ code: SpanStatusCode.ERROR, message: error.message });
303
+ span.recordException(error);
304
+ throw error;
305
+ }
306
+ finally {
307
+ span.end();
308
+ }
309
+ }));
310
+ });
311
+ }
312
+ export default {
313
+ generateText,
314
+ streamText,
315
+ generateObject,
316
+ streamObject,
317
+ embed,
318
+ embedMany,
319
+ };
@@ -0,0 +1 @@
1
+ export { generateText as paidVercelGenerateText, streamText as paidVercelStreamText, generateObject as paidVercelGenerateObject, streamObject as paidVercelStreamObject, embed as paidVercelEmbed, embedMany as paidVercelEmbedMany, } from "../tracing/wrappers/vercelAIWrapper.mjs";
@@ -0,0 +1 @@
1
+ export { generateText as paidVercelGenerateText, streamText as paidVercelStreamText, generateObject as paidVercelGenerateObject, streamObject as paidVercelStreamObject, embed as paidVercelEmbed, embedMany as paidVercelEmbedMany, } from "../tracing/wrappers/vercelAIWrapper.mjs";
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "0.0.8";
1
+ export declare const SDK_VERSION = "0.2.0";
@@ -1 +1 @@
1
- export const SDK_VERSION = "0.0.8";
1
+ export const SDK_VERSION = "0.2.0";
@@ -1,8 +1,8 @@
1
1
  import * as core from "../core/index.mjs";
2
- import { Usage as UsageClient } from "../api/resources/usage/client/Client";
2
+ import { Usage as UsageClient } from "../api/resources/usage/client/Client.mjs";
3
3
  import * as Paid from "../api/types/Signal.mjs";
4
4
  export declare class Usage extends UsageClient {
5
5
  private signals;
6
- flush(requestOptions?: UsageClient.RequestOptions): core.HttpResponsePromise<unknown[]>;
7
- recordUsage(signal?: Paid.Signal, requestOptions?: UsageClient.RequestOptions): core.HttpResponsePromise<unknown[]>;
6
+ flush(requestOptions?: UsageClient.RequestOptions): core.HttpResponsePromise<void>;
7
+ record(signal?: Paid.Signal, requestOptions?: UsageClient.RequestOptions): core.HttpResponsePromise<void>;
8
8
  }
@@ -1,5 +1,5 @@
1
1
  import * as core from "../core/index.mjs";
2
- import { Usage as UsageClient } from "../api/resources/usage/client/Client";
2
+ import { Usage as UsageClient } from "../api/resources/usage/client/Client.mjs";
3
3
  export class Usage extends UsageClient {
4
4
  constructor() {
5
5
  super(...arguments);
@@ -8,7 +8,7 @@ export class Usage extends UsageClient {
8
8
  flush(requestOptions) {
9
9
  return this.recordBulk({ signals: this.signals }, requestOptions);
10
10
  }
11
- recordUsage(signal = {}, requestOptions) {
11
+ record(signal = {}, requestOptions) {
12
12
  if (!this.signals) {
13
13
  this.signals = [];
14
14
  }
@@ -18,6 +18,6 @@ export class Usage extends UsageClient {
18
18
  this.signals = [];
19
19
  return response;
20
20
  }
21
- return core.HttpResponsePromise.fromResult({ data: [], rawResponse: {} });
21
+ return core.HttpResponsePromise.fromResult({ data: undefined, rawResponse: {} });
22
22
  }
23
23
  }
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@paid-ai/paid-node",
3
- "version": "0.0.8",
3
+ "version": "0.2.0",
4
4
  "private": false,
5
- "repository": "https://github.com/AgentPaid/paid-node",
5
+ "repository": "https://github.com/paid-ai/paid-node",
6
6
  "type": "commonjs",
7
7
  "main": "./dist/cjs/index.js",
8
8
  "module": "./dist/esm/index.mjs",
@@ -20,6 +20,66 @@
20
20
  },
21
21
  "default": "./dist/cjs/index.js"
22
22
  },
23
+ "./openai": {
24
+ "types": "./dist/cjs/openai-wrapper/index.d.ts",
25
+ "import": {
26
+ "types": "./dist/esm/openai-wrapper/index.d.mts",
27
+ "default": "./dist/esm/openai-wrapper/index.mjs"
28
+ },
29
+ "require": {
30
+ "types": "./dist/cjs/openai-wrapper/index.d.ts",
31
+ "default": "./dist/cjs/openai-wrapper/index.js"
32
+ },
33
+ "default": "./dist/cjs/openai-wrapper/index.js"
34
+ },
35
+ "./anthropic": {
36
+ "types": "./dist/cjs/anthropic-wrapper/index.d.ts",
37
+ "import": {
38
+ "types": "./dist/esm/anthropic-wrapper/index.d.mts",
39
+ "default": "./dist/esm/anthropic-wrapper/index.mjs"
40
+ },
41
+ "require": {
42
+ "types": "./dist/cjs/anthropic-wrapper/index.d.ts",
43
+ "default": "./dist/cjs/anthropic-wrapper/index.js"
44
+ },
45
+ "default": "./dist/cjs/anthropic-wrapper/index.js"
46
+ },
47
+ "./mistral": {
48
+ "types": "./dist/cjs/mistral-wrapper/index.d.ts",
49
+ "import": {
50
+ "types": "./dist/esm/mistral-wrapper/index.d.mts",
51
+ "default": "./dist/esm/mistral-wrapper/index.mjs"
52
+ },
53
+ "require": {
54
+ "types": "./dist/cjs/mistral-wrapper/index.d.ts",
55
+ "default": "./dist/cjs/mistral-wrapper/index.js"
56
+ },
57
+ "default": "./dist/cjs/mistral-wrapper/index.js"
58
+ },
59
+ "./langchain": {
60
+ "types": "./dist/cjs/langchain-wrapper/index.d.ts",
61
+ "import": {
62
+ "types": "./dist/esm/langchain-wrapper/index.d.mts",
63
+ "default": "./dist/esm/langchain-wrapper/index.mjs"
64
+ },
65
+ "require": {
66
+ "types": "./dist/cjs/langchain-wrapper/index.d.ts",
67
+ "default": "./dist/cjs/langchain-wrapper/index.js"
68
+ },
69
+ "default": "./dist/cjs/langchain-wrapper/index.js"
70
+ },
71
+ "./vercel": {
72
+ "types": "./dist/cjs/vercel-wrapper/index.d.ts",
73
+ "import": {
74
+ "types": "./dist/esm/vercel-wrapper/index.d.mts",
75
+ "default": "./dist/esm/vercel-wrapper/index.mjs"
76
+ },
77
+ "require": {
78
+ "types": "./dist/cjs/vercel-wrapper/index.d.ts",
79
+ "default": "./dist/cjs/vercel-wrapper/index.js"
80
+ },
81
+ "default": "./dist/cjs/vercel-wrapper/index.js"
82
+ },
23
83
  "./package.json": "./package.json"
24
84
  },
25
85
  "files": [
@@ -42,7 +102,39 @@
42
102
  "node-fetch": "^2.7.0",
43
103
  "qs": "^6.13.1",
44
104
  "readable-stream": "^4.5.2",
45
- "js-base64": "3.7.7"
105
+ "js-base64": "3.7.7",
106
+ "@opentelemetry/api": ">=1.9.0",
107
+ "@opentelemetry/exporter-trace-otlp-http": ">=0.202.0",
108
+ "@opentelemetry/sdk-node": ">=0.202.0",
109
+ "winston": ">=3.0.0"
110
+ },
111
+ "peerDependencies": {
112
+ "@ai-sdk/openai": ">=1.0.0",
113
+ "@anthropic-ai/sdk": ">=0.56.0",
114
+ "@langchain/core": ">=0.3.0",
115
+ "@mistralai/mistralai": ">=1.0.0",
116
+ "ai": ">=5.0.0",
117
+ "openai": ">=5.0.0"
118
+ },
119
+ "peerDependenciesMeta": {
120
+ "@ai-sdk/openai": {
121
+ "optional": true
122
+ },
123
+ "@anthropic-ai/sdk": {
124
+ "optional": true
125
+ },
126
+ "@langchain/core": {
127
+ "optional": true
128
+ },
129
+ "@mistralai/mistralai": {
130
+ "optional": true
131
+ },
132
+ "ai": {
133
+ "optional": true
134
+ },
135
+ "openai": {
136
+ "optional": true
137
+ }
46
138
  },
47
139
  "devDependencies": {
48
140
  "@types/url-join": "4.0.1",
@@ -59,7 +151,13 @@
59
151
  "msw": "^2.8.4",
60
152
  "@types/node": "^18.19.70",
61
153
  "prettier": "^3.4.2",
62
- "typescript": "~5.7.2"
154
+ "typescript": "~5.7.2",
155
+ "@ai-sdk/openai": ">=1.0.0",
156
+ "@anthropic-ai/sdk": ">=0.56.0",
157
+ "@langchain/core": ">=0.3.0",
158
+ "@mistralai/mistralai": ">=1.0.0",
159
+ "ai": ">=5.0.0",
160
+ "openai": ">=5.0.0"
63
161
  },
64
162
  "browser": {
65
163
  "fs": false,