@revenium/openai 1.1.0 → 1.1.2

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 (58) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +60 -12
  3. package/dist/cjs/core/tracking/tool-api-client.js +58 -0
  4. package/dist/cjs/core/tracking/tool-api-client.js.map +1 -0
  5. package/dist/cjs/core/tracking/tool-context.js +23 -0
  6. package/dist/cjs/core/tracking/tool-context.js.map +1 -0
  7. package/dist/cjs/core/tracking/tool-tracker.js +122 -0
  8. package/dist/cjs/core/tracking/tool-tracker.js.map +1 -0
  9. package/dist/cjs/index.js +9 -1
  10. package/dist/cjs/index.js.map +1 -1
  11. package/dist/cjs/types/index.js +1 -0
  12. package/dist/cjs/types/index.js.map +1 -1
  13. package/dist/cjs/types/tool-metering.js +3 -0
  14. package/dist/cjs/types/tool-metering.js.map +1 -0
  15. package/dist/cjs/utils/metadata-builder.js +21 -9
  16. package/dist/cjs/utils/metadata-builder.js.map +1 -1
  17. package/dist/esm/core/tracking/tool-api-client.js +55 -0
  18. package/dist/esm/core/tracking/tool-api-client.js.map +1 -0
  19. package/dist/esm/core/tracking/tool-context.js +17 -0
  20. package/dist/esm/core/tracking/tool-context.js.map +1 -0
  21. package/dist/esm/core/tracking/tool-tracker.js +118 -0
  22. package/dist/esm/core/tracking/tool-tracker.js.map +1 -0
  23. package/dist/esm/index.js +2 -0
  24. package/dist/esm/index.js.map +1 -1
  25. package/dist/esm/types/index.js +1 -0
  26. package/dist/esm/types/index.js.map +1 -1
  27. package/dist/esm/types/tool-metering.js +2 -0
  28. package/dist/esm/types/tool-metering.js.map +1 -0
  29. package/dist/esm/utils/metadata-builder.js +21 -9
  30. package/dist/esm/utils/metadata-builder.js.map +1 -1
  31. package/dist/types/core/tracking/tool-api-client.d.ts +3 -0
  32. package/dist/types/core/tracking/tool-api-client.d.ts.map +1 -0
  33. package/dist/types/core/tracking/tool-context.d.ts +6 -0
  34. package/dist/types/core/tracking/tool-context.d.ts.map +1 -0
  35. package/dist/types/core/tracking/tool-tracker.d.ts +4 -0
  36. package/dist/types/core/tracking/tool-tracker.d.ts.map +1 -0
  37. package/dist/types/index.d.ts +3 -0
  38. package/dist/types/index.d.ts.map +1 -1
  39. package/dist/types/types/index.d.ts +15 -4
  40. package/dist/types/types/index.d.ts.map +1 -1
  41. package/dist/types/types/tool-metering.d.ts +47 -0
  42. package/dist/types/types/tool-metering.d.ts.map +1 -0
  43. package/dist/types/utils/metadata-builder.d.ts +3 -0
  44. package/dist/types/utils/metadata-builder.d.ts.map +1 -1
  45. package/examples/README.md +2 -2
  46. package/examples/azure/basic.ts +3 -3
  47. package/examples/azure/responses-basic.ts +4 -4
  48. package/examples/azure/responses-stream.ts +4 -4
  49. package/examples/azure/stream.ts +3 -3
  50. package/examples/getting_started.ts +2 -2
  51. package/examples/openai/basic.ts +3 -3
  52. package/examples/openai/metadata.ts +4 -4
  53. package/examples/openai/prompt-capture.ts +6 -6
  54. package/examples/openai/responses-basic.ts +4 -4
  55. package/examples/openai/responses-embed.ts +3 -3
  56. package/examples/openai/responses-streaming.ts +4 -4
  57. package/examples/openai/streaming.ts +3 -3
  58. package/package.json +1 -1
@@ -32,8 +32,8 @@ async function main() {
32
32
  },
33
33
  ],
34
34
  usageMetadata: {
35
- organizationId: "org-prompt-capture-demo",
36
- productId: "prod-openai-prompt-capture",
35
+ organizationName: "org-prompt-capture-demo",
36
+ productName: "prod-openai-prompt-capture",
37
37
  },
38
38
  });
39
39
 
@@ -42,7 +42,7 @@ async function main() {
42
42
  } catch (error) {
43
43
  console.error(
44
44
  "Error:",
45
- error instanceof Error ? error.message : String(error)
45
+ error instanceof Error ? error.message : String(error),
46
46
  );
47
47
  }
48
48
 
@@ -65,8 +65,8 @@ async function main() {
65
65
  },
66
66
  ],
67
67
  usageMetadata: {
68
- organizationId: "org-prompt-capture-demo",
69
- productId: "prod-openai-prompt-capture",
68
+ organizationName: "org-prompt-capture-demo",
69
+ productName: "prod-openai-prompt-capture",
70
70
  capturePrompts: false,
71
71
  },
72
72
  });
@@ -76,7 +76,7 @@ async function main() {
76
76
  } catch (error) {
77
77
  console.error(
78
78
  "Error:",
79
- error instanceof Error ? error.message : String(error)
79
+ error instanceof Error ? error.message : String(error),
80
80
  );
81
81
  }
82
82
 
@@ -17,8 +17,8 @@ async function main() {
17
17
 
18
18
  // Create with metadata
19
19
  const metadata: UsageMetadata = {
20
- organizationId: "org-responses-basic-demo",
21
- productId: "prod-openai-responses-basic",
20
+ organizationName: "org-responses-basic-demo",
21
+ productName: "prod-openai-responses-basic",
22
22
  };
23
23
 
24
24
  try {
@@ -27,7 +27,7 @@ async function main() {
27
27
  model: "gpt-4",
28
28
  input: "What is the capital of France?",
29
29
  },
30
- metadata
30
+ metadata,
31
31
  );
32
32
 
33
33
  // Display response
@@ -36,7 +36,7 @@ async function main() {
36
36
  } catch (error) {
37
37
  console.error("Error:", (error as Error).message);
38
38
  console.log(
39
- "\nNote: Responses API is experimental and may not be available in all OpenAI SDK versions"
39
+ "\nNote: Responses API is experimental and may not be available in all OpenAI SDK versions",
40
40
  );
41
41
  }
42
42
  }
@@ -13,8 +13,8 @@ async function main() {
13
13
 
14
14
  // Create with metadata
15
15
  const metadata: UsageMetadata = {
16
- organizationId: "org-responses-embed-demo",
17
- productId: "prod-openai-responses-embed",
16
+ organizationName: "org-responses-embed-demo",
17
+ productName: "prod-openai-responses-embed",
18
18
  };
19
19
 
20
20
  const embedding = await client.embeddings().create(
@@ -22,7 +22,7 @@ async function main() {
22
22
  model: "text-embedding-3-small",
23
23
  input: "Hello world",
24
24
  },
25
- metadata
25
+ metadata,
26
26
  );
27
27
 
28
28
  console.log("Model:", embedding.model);
@@ -18,8 +18,8 @@ async function main() {
18
18
 
19
19
  // Create a metadata
20
20
  const metadata: UsageMetadata = {
21
- organizationId: "org-responses-streaming-demo",
22
- productId: "prod-openai-responses",
21
+ organizationName: "org-responses-streaming-demo",
22
+ productName: "prod-openai-responses",
23
23
  taskType: "creative-writing",
24
24
  };
25
25
 
@@ -31,7 +31,7 @@ async function main() {
31
31
  input: "Write a short poem about the ocean.",
32
32
  stream: true as const,
33
33
  },
34
- metadata
34
+ metadata,
35
35
  );
36
36
 
37
37
  // Process the stream
@@ -55,7 +55,7 @@ async function main() {
55
55
  console.error("Error:", (error as Error).message);
56
56
  console.error("Stack:", (error as Error).stack);
57
57
  console.log(
58
- "\nNote: Responses API is experimental and may not be available in all OpenAI SDK versions"
58
+ "\nNote: Responses API is experimental and may not be available in all OpenAI SDK versions",
59
59
  );
60
60
  }
61
61
  }
@@ -15,8 +15,8 @@ async function main() {
15
15
 
16
16
  // Create a metadata
17
17
  const metadata: UsageMetadata = {
18
- organizationId: "org-streaming-demo",
19
- productId: "prod-openai-streaming",
18
+ organizationName: "org-streaming-demo",
19
+ productName: "prod-openai-streaming",
20
20
  taskType: "creative-writing",
21
21
  agent: "story-generator",
22
22
  };
@@ -41,7 +41,7 @@ async function main() {
41
41
  max_tokens: 1000,
42
42
  stream: true as const,
43
43
  },
44
- metadata
44
+ metadata,
45
45
  );
46
46
 
47
47
  // Process the stream
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@revenium/openai",
3
- "version": "1.1.0",
3
+ "version": "1.1.2",
4
4
  "description": "Transparent TypeScript middleware for automatic Revenium usage tracking with OpenAI",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",