langwatch 0.3.2 → 0.4.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.
Files changed (206) hide show
  1. package/dist/{add-LBBS4I3H.js → add-RGWB3264.js} +35 -28
  2. package/dist/add-RGWB3264.js.map +1 -0
  3. package/dist/{add-RD3ZKFAT.mjs → add-WLUMK5VQ.mjs} +23 -16
  4. package/dist/add-WLUMK5VQ.mjs.map +1 -0
  5. package/dist/chunk-4ILMGMAP.mjs +155 -0
  6. package/dist/chunk-4ILMGMAP.mjs.map +1 -0
  7. package/dist/chunk-4TF2O2TH.js +207 -0
  8. package/dist/chunk-4TF2O2TH.js.map +1 -0
  9. package/dist/chunk-5N5BUR2Z.js +636 -0
  10. package/dist/chunk-5N5BUR2Z.js.map +1 -0
  11. package/dist/chunk-AZELEDOV.js +155 -0
  12. package/dist/chunk-AZELEDOV.js.map +1 -0
  13. package/dist/{chunk-YN4436PK.mjs → chunk-CU3443HD.mjs} +14 -9
  14. package/dist/{chunk-2JU376G7.js → chunk-D2CSG4SJ.js} +4 -4
  15. package/dist/chunk-D2CSG4SJ.js.map +1 -0
  16. package/dist/chunk-DEVJ7BPE.js +63 -0
  17. package/dist/chunk-DEVJ7BPE.js.map +1 -0
  18. package/dist/chunk-DISMHYXC.js +184 -0
  19. package/dist/chunk-DISMHYXC.js.map +1 -0
  20. package/dist/{chunk-E7UE2MPD.mjs → chunk-ECUXLXFT.mjs} +2 -2
  21. package/dist/chunk-EJWJXTPU.mjs +626 -0
  22. package/dist/chunk-EJWJXTPU.mjs.map +1 -0
  23. package/dist/chunk-FQSWUK5N.mjs +63 -0
  24. package/dist/chunk-FQSWUK5N.mjs.map +1 -0
  25. package/dist/{chunk-3GKPQB4R.mjs → chunk-HUI45ULC.mjs} +4 -4
  26. package/dist/chunk-HUI45ULC.mjs.map +1 -0
  27. package/dist/chunk-IZ2U3ABC.mjs +636 -0
  28. package/dist/chunk-IZ2U3ABC.mjs.map +1 -0
  29. package/dist/{chunk-HJU67C7H.js → chunk-K64Y6YUG.js} +10 -10
  30. package/dist/{chunk-HJU67C7H.js.map → chunk-K64Y6YUG.js.map} +1 -1
  31. package/dist/chunk-M4VUHTT2.js +626 -0
  32. package/dist/chunk-M4VUHTT2.js.map +1 -0
  33. package/dist/{chunk-PR3JDWC3.mjs → chunk-N2V6J3U2.mjs} +28 -3
  34. package/dist/chunk-N2V6J3U2.mjs.map +1 -0
  35. package/dist/{chunk-FJLK5CFL.js → chunk-OXBO24RB.js} +13 -8
  36. package/dist/chunk-OXBO24RB.js.map +1 -0
  37. package/dist/{chunk-SMXXAVMB.js → chunk-SGNJDRCT.js} +2 -2
  38. package/dist/chunk-SGNJDRCT.js.map +1 -0
  39. package/dist/{chunk-W5ZEP3CI.mjs → chunk-SYMZPWZE.mjs} +2 -2
  40. package/dist/chunk-SYMZPWZE.mjs.map +1 -0
  41. package/dist/{chunk-KGDAENGD.js → chunk-YH5TIVK2.js} +28 -3
  42. package/dist/chunk-YH5TIVK2.js.map +1 -0
  43. package/dist/chunk-YNQ44U6D.mjs +184 -0
  44. package/dist/chunk-YNQ44U6D.mjs.map +1 -0
  45. package/dist/chunk-ZJZ3MIWE.mjs +207 -0
  46. package/dist/chunk-ZJZ3MIWE.mjs.map +1 -0
  47. package/dist/cli/index.js +8 -8
  48. package/dist/cli/index.mjs +8 -8
  49. package/dist/{create-G5MTGOOH.js → create-7K2CC4KQ.js} +11 -11
  50. package/dist/{create-G5MTGOOH.js.map → create-7K2CC4KQ.js.map} +1 -1
  51. package/dist/{create-QUZYBMQB.mjs → create-MK7NEGCM.mjs} +8 -8
  52. package/dist/implementation-C4lvooSg.d.mts +576 -0
  53. package/dist/implementation-CzemP9jY.d.ts +576 -0
  54. package/dist/index-DTEZr0Jn.d.mts +34 -0
  55. package/dist/index-DTEZr0Jn.d.ts +34 -0
  56. package/dist/index.d.mts +121 -47
  57. package/dist/index.d.ts +121 -47
  58. package/dist/index.js +17 -12
  59. package/dist/index.js.map +1 -1
  60. package/dist/index.mjs +28 -23
  61. package/dist/index.mjs.map +1 -1
  62. package/dist/init-GDKJICSS.js +16 -0
  63. package/dist/{init-XU2JFY6N.js.map → init-GDKJICSS.js.map} +1 -1
  64. package/dist/{init-H67RW22E.mjs → init-RINSTP4L.mjs} +5 -5
  65. package/dist/{list-ZXFLAF52.js → list-DBUK47MA.js} +30 -17
  66. package/dist/list-DBUK47MA.js.map +1 -0
  67. package/dist/{list-7NPSX2E4.mjs → list-ZOMRKOBV.mjs} +29 -16
  68. package/dist/list-ZOMRKOBV.mjs.map +1 -0
  69. package/dist/{login-76NQIHKR.js → login-A7LEPNBR.js} +8 -4
  70. package/dist/login-A7LEPNBR.js.map +1 -0
  71. package/dist/{login-EK4WVOI2.mjs → login-ULPHWIAX.mjs} +8 -4
  72. package/dist/login-ULPHWIAX.mjs.map +1 -0
  73. package/dist/observability-sdk/index.d.mts +134 -0
  74. package/dist/observability-sdk/index.d.ts +134 -0
  75. package/dist/observability-sdk/index.js +42 -0
  76. package/dist/observability-sdk/index.js.map +1 -0
  77. package/dist/observability-sdk/index.mjs +42 -0
  78. package/dist/observability-sdk/instrumentation/langchain/index.d.mts +69 -0
  79. package/dist/observability-sdk/instrumentation/langchain/index.d.ts +69 -0
  80. package/dist/observability-sdk/instrumentation/langchain/index.js +518 -0
  81. package/dist/observability-sdk/instrumentation/langchain/index.js.map +1 -0
  82. package/dist/observability-sdk/instrumentation/langchain/index.mjs +518 -0
  83. package/dist/observability-sdk/instrumentation/langchain/index.mjs.map +1 -0
  84. package/dist/observability-sdk/setup/node/index.d.mts +368 -0
  85. package/dist/observability-sdk/setup/node/index.d.ts +368 -0
  86. package/dist/observability-sdk/setup/node/index.js +279 -0
  87. package/dist/observability-sdk/setup/node/index.js.map +1 -0
  88. package/dist/observability-sdk/setup/node/index.mjs +279 -0
  89. package/dist/observability-sdk/setup/node/index.mjs.map +1 -0
  90. package/dist/{remove-XBNGIVMR.js → remove-ODTJLFWR.js} +19 -15
  91. package/dist/remove-ODTJLFWR.js.map +1 -0
  92. package/dist/{remove-SDJYEPAY.mjs → remove-RAJBGHQQ.mjs} +12 -8
  93. package/dist/remove-RAJBGHQQ.mjs.map +1 -0
  94. package/dist/{sync-ST2IWXSB.mjs → sync-2IXPWN64.mjs} +40 -33
  95. package/dist/sync-2IXPWN64.mjs.map +1 -0
  96. package/dist/{sync-EISKGPTL.js → sync-PBOL5ODF.js} +53 -46
  97. package/dist/sync-PBOL5ODF.js.map +1 -0
  98. package/dist/{prompt-D-jpMrLS.d.mts → types-1q5wIYP5.d.mts} +628 -14
  99. package/dist/{prompt-D-jpMrLS.d.ts → types-C9k5gGhU.d.ts} +628 -14
  100. package/dist/types-DRiQaKFG.d.mts +254 -0
  101. package/dist/types-DRiQaKFG.d.ts +254 -0
  102. package/dist/types-Dmazk5Bk.d.mts +44 -0
  103. package/dist/types-Dmazk5Bk.d.ts +44 -0
  104. package/package.json +39 -39
  105. package/dist/add-LBBS4I3H.js.map +0 -1
  106. package/dist/add-RD3ZKFAT.mjs.map +0 -1
  107. package/dist/chunk-2JU376G7.js.map +0 -1
  108. package/dist/chunk-2ODBGSBI.js +0 -4
  109. package/dist/chunk-2ODBGSBI.js.map +0 -1
  110. package/dist/chunk-3GKPQB4R.mjs.map +0 -1
  111. package/dist/chunk-52GXX3MA.js +0 -426
  112. package/dist/chunk-52GXX3MA.js.map +0 -1
  113. package/dist/chunk-5NC5ILKA.js +0 -94
  114. package/dist/chunk-5NC5ILKA.js.map +0 -1
  115. package/dist/chunk-AAROJADR.mjs +0 -49
  116. package/dist/chunk-AAROJADR.mjs.map +0 -1
  117. package/dist/chunk-DTEKFQ4U.js +0 -159
  118. package/dist/chunk-DTEKFQ4U.js.map +0 -1
  119. package/dist/chunk-F63YKTXA.mjs +0 -47
  120. package/dist/chunk-F63YKTXA.mjs.map +0 -1
  121. package/dist/chunk-FJLK5CFL.js.map +0 -1
  122. package/dist/chunk-GJSEBQXF.mjs +0 -392
  123. package/dist/chunk-GJSEBQXF.mjs.map +0 -1
  124. package/dist/chunk-IGHXIIIK.js +0 -49
  125. package/dist/chunk-IGHXIIIK.js.map +0 -1
  126. package/dist/chunk-J7ICRUU4.mjs +0 -426
  127. package/dist/chunk-J7ICRUU4.mjs.map +0 -1
  128. package/dist/chunk-KGDAENGD.js.map +0 -1
  129. package/dist/chunk-LD74LVRU.js +0 -47
  130. package/dist/chunk-LD74LVRU.js.map +0 -1
  131. package/dist/chunk-PCQVQ7SB.js +0 -45
  132. package/dist/chunk-PCQVQ7SB.js.map +0 -1
  133. package/dist/chunk-PR3JDWC3.mjs.map +0 -1
  134. package/dist/chunk-PWZBLTHR.js +0 -118
  135. package/dist/chunk-PWZBLTHR.js.map +0 -1
  136. package/dist/chunk-QEWDG5QE.mjs +0 -45
  137. package/dist/chunk-QEWDG5QE.mjs.map +0 -1
  138. package/dist/chunk-SMXXAVMB.js.map +0 -1
  139. package/dist/chunk-STV4ZVNA.mjs +0 -118
  140. package/dist/chunk-STV4ZVNA.mjs.map +0 -1
  141. package/dist/chunk-T5AZMMVS.mjs +0 -94
  142. package/dist/chunk-T5AZMMVS.mjs.map +0 -1
  143. package/dist/chunk-UU33HCCZ.mjs +0 -159
  144. package/dist/chunk-UU33HCCZ.mjs.map +0 -1
  145. package/dist/chunk-VGHLQXKB.js +0 -392
  146. package/dist/chunk-VGHLQXKB.js.map +0 -1
  147. package/dist/chunk-W5ZEP3CI.mjs.map +0 -1
  148. package/dist/chunk-Y666BJA5.mjs +0 -4
  149. package/dist/chunk-YN4436PK.mjs.map +0 -1
  150. package/dist/client-B2HqIKg6.d.ts +0 -51
  151. package/dist/client-XyCqclCi.d.mts +0 -51
  152. package/dist/client-browser.d.mts +0 -8
  153. package/dist/client-browser.d.ts +0 -8
  154. package/dist/client-browser.js +0 -88
  155. package/dist/client-browser.js.map +0 -1
  156. package/dist/client-browser.mjs +0 -88
  157. package/dist/client-browser.mjs.map +0 -1
  158. package/dist/client-node.d.mts +0 -8
  159. package/dist/client-node.d.ts +0 -8
  160. package/dist/client-node.js +0 -95
  161. package/dist/client-node.js.map +0 -1
  162. package/dist/client-node.mjs +0 -95
  163. package/dist/client-node.mjs.map +0 -1
  164. package/dist/evaluation/index.d.mts +0 -897
  165. package/dist/evaluation/index.d.ts +0 -897
  166. package/dist/evaluation/index.js +0 -14
  167. package/dist/evaluation/index.js.map +0 -1
  168. package/dist/evaluation/index.mjs +0 -14
  169. package/dist/filterable-batch-span-processor-zO5kcjBY.d.mts +0 -64
  170. package/dist/filterable-batch-span-processor-zO5kcjBY.d.ts +0 -64
  171. package/dist/init-XU2JFY6N.js +0 -16
  172. package/dist/list-7NPSX2E4.mjs.map +0 -1
  173. package/dist/list-ZXFLAF52.js.map +0 -1
  174. package/dist/login-76NQIHKR.js.map +0 -1
  175. package/dist/login-EK4WVOI2.mjs.map +0 -1
  176. package/dist/observability/index.d.mts +0 -260
  177. package/dist/observability/index.d.ts +0 -260
  178. package/dist/observability/index.js +0 -21
  179. package/dist/observability/index.js.map +0 -1
  180. package/dist/observability/index.mjs +0 -21
  181. package/dist/observability/index.mjs.map +0 -1
  182. package/dist/observability/instrumentation/langchain/index.d.mts +0 -40
  183. package/dist/observability/instrumentation/langchain/index.d.ts +0 -40
  184. package/dist/observability/instrumentation/langchain/index.js +0 -668
  185. package/dist/observability/instrumentation/langchain/index.js.map +0 -1
  186. package/dist/observability/instrumentation/langchain/index.mjs +0 -668
  187. package/dist/observability/instrumentation/langchain/index.mjs.map +0 -1
  188. package/dist/prompt/index.d.mts +0 -10
  189. package/dist/prompt/index.d.ts +0 -10
  190. package/dist/prompt/index.js +0 -22
  191. package/dist/prompt/index.js.map +0 -1
  192. package/dist/prompt/index.mjs +0 -22
  193. package/dist/prompt/index.mjs.map +0 -1
  194. package/dist/record-evaluation-CmxMXa-3.d.mts +0 -25
  195. package/dist/record-evaluation-CmxMXa-3.d.ts +0 -25
  196. package/dist/remove-SDJYEPAY.mjs.map +0 -1
  197. package/dist/remove-XBNGIVMR.js.map +0 -1
  198. package/dist/sync-EISKGPTL.js.map +0 -1
  199. package/dist/sync-ST2IWXSB.mjs.map +0 -1
  200. package/dist/trace-CqaKo0kZ.d.ts +0 -622
  201. package/dist/trace-DtVc5GhF.d.mts +0 -622
  202. /package/dist/{chunk-Y666BJA5.mjs.map → chunk-CU3443HD.mjs.map} +0 -0
  203. /package/dist/{chunk-E7UE2MPD.mjs.map → chunk-ECUXLXFT.mjs.map} +0 -0
  204. /package/dist/{create-QUZYBMQB.mjs.map → create-MK7NEGCM.mjs.map} +0 -0
  205. /package/dist/{init-H67RW22E.mjs.map → init-RINSTP4L.mjs.map} +0 -0
  206. /package/dist/{evaluation → observability-sdk}/index.mjs.map +0 -0
@@ -1,22 +1,28 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2
2
 
3
- var _chunkHJU67C7Hjs = require('./chunk-HJU67C7H.js');
3
+ var _chunkF6E4XQQUjs = require('./chunk-F6E4XQQU.js');
4
4
 
5
5
 
6
- var _chunk2JU376G7js = require('./chunk-2JU376G7.js');
6
+ var _chunkAZELEDOVjs = require('./chunk-AZELEDOV.js');
7
7
 
8
8
 
9
- var _chunkF6E4XQQUjs = require('./chunk-F6E4XQQU.js');
10
- require('./chunk-HA3LI5IK.js');
9
+ var _chunk5N5BUR2Zjs = require('./chunk-5N5BUR2Z.js');
10
+ require('./chunk-YH5TIVK2.js');
11
+ require('./chunk-M4VUHTT2.js');
12
+ require('./chunk-4TF2O2TH.js');
13
+ require('./chunk-DEVJ7BPE.js');
14
+ require('./chunk-DISMHYXC.js');
11
15
 
12
16
 
17
+ var _chunkK64Y6YUGjs = require('./chunk-K64Y6YUG.js');
13
18
 
14
- var _chunkVGHLQXKBjs = require('./chunk-VGHLQXKB.js');
15
19
 
20
+ var _chunkD2CSG4SJjs = require('./chunk-D2CSG4SJ.js');
16
21
 
17
- var _chunkSMXXAVMBjs = require('./chunk-SMXXAVMB.js');
18
- require('./chunk-PCQVQ7SB.js');
19
- require('./chunk-FJLK5CFL.js');
22
+
23
+ var _chunkSGNJDRCTjs = require('./chunk-SGNJDRCT.js');
24
+ require('./chunk-HA3LI5IK.js');
25
+ require('./chunk-OXBO24RB.js');
20
26
 
21
27
  // src/cli/commands/add.ts
22
28
  var _fs = require('fs'); var fs = _interopRequireWildcard(_fs);
@@ -33,12 +39,12 @@ var addLocalFile = async (name, localFilePath) => {
33
39
  process.exit(1);
34
40
  }
35
41
  try {
36
- const config = _chunk2JU376G7js.FileManager.loadLocalPrompt(localFilePath);
37
- await _chunkHJU67C7Hjs.ensureProjectInitialized.call(void 0, );
38
- const promptsConfig = _chunk2JU376G7js.FileManager.loadPromptsConfig();
42
+ const config = _chunkD2CSG4SJjs.FileManager.loadLocalPrompt(localFilePath);
43
+ await _chunkK64Y6YUGjs.ensureProjectInitialized.call(void 0, );
44
+ const promptsConfig = _chunkD2CSG4SJjs.FileManager.loadPromptsConfig();
39
45
  promptsConfig.prompts[name] = `file:${localFilePath}`;
40
- _chunk2JU376G7js.FileManager.savePromptsConfig(promptsConfig);
41
- const lock = _chunk2JU376G7js.FileManager.loadPromptsLock();
46
+ _chunkD2CSG4SJjs.FileManager.savePromptsConfig(promptsConfig);
47
+ const lock = _chunkD2CSG4SJjs.FileManager.loadPromptsLock();
42
48
  lock.prompts[name] = {
43
49
  version: 0,
44
50
  // Local files start at version 0
@@ -46,7 +52,7 @@ var addLocalFile = async (name, localFilePath) => {
46
52
  materialized: localFilePath
47
53
  // Store the original file path
48
54
  };
49
- _chunk2JU376G7js.FileManager.savePromptsLock(lock);
55
+ _chunkD2CSG4SJjs.FileManager.savePromptsLock(lock);
50
56
  console.log(_chalk2.default.green(`\u2713 Added local prompt: ${_chalk2.default.cyan(name)} \u2192 ${_chalk2.default.gray(localFilePath)}`));
51
57
  } catch (error) {
52
58
  console.error(_chalk2.default.red("Error loading local prompt file:"));
@@ -55,6 +61,7 @@ var addLocalFile = async (name, localFilePath) => {
55
61
  }
56
62
  };
57
63
  var addCommand = async (name, options) => {
64
+ var _a;
58
65
  try {
59
66
  if (!name || name.trim() === "") {
60
67
  console.error(_chalk2.default.red("Error: Prompt name cannot be empty"));
@@ -65,34 +72,34 @@ var addCommand = async (name, options) => {
65
72
  return;
66
73
  }
67
74
  _chunkF6E4XQQUjs.checkApiKey.call(void 0, );
68
- const promptService = _chunkVGHLQXKBjs.PromptService.getInstance();
69
- const version = options.version || "latest";
75
+ const langwatch = new (0, _chunkAZELEDOVjs.LangWatch)();
76
+ const version = (_a = options.version) != null ? _a : "latest";
70
77
  const spinner = _ora2.default.call(void 0, `Adding ${_chalk2.default.cyan(`${name}@${version}`)}...`).start();
71
78
  try {
72
- const prompt = await promptService.get(name);
79
+ const prompt = await langwatch.prompts.get(name);
73
80
  if (!prompt) {
74
81
  spinner.fail();
75
82
  console.error(_chalk2.default.red(`Error: Prompt "${name}" not found`));
76
83
  process.exit(1);
77
84
  }
78
85
  spinner.stop();
79
- await _chunkHJU67C7Hjs.ensureProjectInitialized.call(void 0, );
86
+ await _chunkK64Y6YUGjs.ensureProjectInitialized.call(void 0, );
80
87
  spinner.start(`Adding ${_chalk2.default.cyan(`${name}@${version}`)}...`);
81
- const materializedPrompt = _chunkSMXXAVMBjs.PromptConverter.fromApiToMaterialized(prompt);
82
- const savedPath = _chunk2JU376G7js.FileManager.saveMaterializedPrompt(name, materializedPrompt);
88
+ const materializedPrompt = _chunkSGNJDRCTjs.PromptConverter.fromApiToMaterialized(prompt);
89
+ const savedPath = _chunkD2CSG4SJjs.FileManager.saveMaterializedPrompt(name, materializedPrompt);
83
90
  const relativePath = path.relative(process.cwd(), savedPath);
84
- const config = _chunk2JU376G7js.FileManager.loadPromptsConfig();
85
- const lock = _chunk2JU376G7js.FileManager.loadPromptsLock();
91
+ const config = _chunkD2CSG4SJjs.FileManager.loadPromptsConfig();
92
+ const lock = _chunkD2CSG4SJjs.FileManager.loadPromptsLock();
86
93
  config.prompts[name] = version;
87
- _chunk2JU376G7js.FileManager.updateLockEntry(lock, name, materializedPrompt, savedPath);
88
- _chunk2JU376G7js.FileManager.savePromptsConfig(config);
89
- _chunk2JU376G7js.FileManager.savePromptsLock(lock);
94
+ _chunkD2CSG4SJjs.FileManager.updateLockEntry(lock, name, materializedPrompt, savedPath);
95
+ _chunkD2CSG4SJjs.FileManager.savePromptsConfig(config);
96
+ _chunkD2CSG4SJjs.FileManager.savePromptsLock(lock);
90
97
  spinner.succeed();
91
98
  const displayPath = relativePath.startsWith("./") ? relativePath : `./${relativePath}`;
92
99
  console.log(_chalk2.default.green(`\u2713 Pulled ${_chalk2.default.cyan(`${name}@${version}`)} ${_chalk2.default.gray(`(version ${prompt.version})`)} \u2192 ${_chalk2.default.gray(displayPath)}`));
93
100
  } catch (error) {
94
101
  spinner.fail();
95
- if (error instanceof _chunkVGHLQXKBjs.PromptsError) {
102
+ if (error instanceof _chunk5N5BUR2Zjs.PromptsError) {
96
103
  console.error(_chalk2.default.red(`Error: ${error.message}`));
97
104
  } else {
98
105
  console.error(_chalk2.default.red(`Error adding prompt: ${error instanceof Error ? error.message : "Unknown error"}`));
@@ -100,7 +107,7 @@ var addCommand = async (name, options) => {
100
107
  process.exit(1);
101
108
  }
102
109
  } catch (error) {
103
- if (error instanceof _chunkVGHLQXKBjs.PromptsError) {
110
+ if (error instanceof _chunk5N5BUR2Zjs.PromptsError) {
104
111
  console.error(_chalk2.default.red(`Error: ${error.message}`));
105
112
  } else {
106
113
  console.error(_chalk2.default.red(`Unexpected error: ${error instanceof Error ? error.message : "Unknown error"}`));
@@ -111,4 +118,4 @@ var addCommand = async (name, options) => {
111
118
 
112
119
 
113
120
  exports.addCommand = addCommand;
114
- //# sourceMappingURL=add-LBBS4I3H.js.map
121
+ //# sourceMappingURL=add-RGWB3264.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/langwatch/langwatch/typescript-sdk/dist/add-RGWB3264.js","../src/cli/commands/add.ts"],"names":[],"mappings":"AAAA;AACE;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B,+BAA4B;AAC5B,+BAA4B;AAC5B;AACA;AC1BA,+DAAoB;AACpB,uEAAsB;AACtB,4EAAkB;AAClB,oEAAgB;AAahB,IAAM,aAAA,EAAe,MAAA,CAAO,IAAA,EAAc,aAAA,EAAA,GAAyC;AAEjF,EAAA,GAAA,CAAI,CAAI,EAAA,CAAA,UAAA,CAAW,aAAa,CAAA,EAAG;AACjC,IAAA,OAAA,CAAQ,KAAA,CAAM,eAAA,CAAM,GAAA,CAAI,CAAA,6BAAA,EAAgC,aAAa,CAAA,CAAA;AACvD,IAAA;AAChB,EAAA;AAE6C,EAAA;AACnB,IAAA;AACV,IAAA;AAChB,EAAA;AAGI,EAAA;AACsD,IAAA;AAGzB,IAAA;AAGqB,IAAA;AACD,IAAA;AACR,IAAA;AAGF,IAAA;AACpB,IAAA;AACV,MAAA;AAAA;AACE,MAAA;AACG,MAAA;AAAA;AAChB,IAAA;AACgC,IAAA;AAEiC,IAAA;AAEnD,EAAA;AAC6C,IAAA;AACM,IAAA;AACnD,IAAA;AAChB,EAAA;AACF;AAEsF;AA1DtF,EAAA;AA2DM,EAAA;AAE+B,IAAA;AAC8B,MAAA;AAC/C,MAAA;AAChB,IAAA;AAGuB,IAAA;AACqB,MAAA;AAC1C,MAAA;AACF,IAAA;AAGY,IAAA;AAEoB,IAAA;AACG,IAAA;AAGkC,IAAA;AAEjE,IAAA;AAE6C,MAAA;AAElC,MAAA;AACE,QAAA;AAC+C,QAAA;AAC9C,QAAA;AAChB,MAAA;AAGa,MAAA;AAGkB,MAAA;AAG8B,MAAA;AAGI,MAAA;AACN,MAAA;AACA,MAAA;AAGd,MAAA;AACJ,MAAA;AAElB,MAAA;AACqC,MAAA;AAGxB,MAAA;AACJ,MAAA;AAEhB,MAAA;AAGmD,MAAA;AACT,MAAA;AAE5C,IAAA;AACD,MAAA;AACsB,MAAA;AACiB,QAAA;AAC7C,MAAA;AAC4D,QAAA;AACnE,MAAA;AACc,MAAA;AAChB,IAAA;AAEc,EAAA;AACqB,IAAA;AACiB,MAAA;AAC7C,IAAA;AACyD,MAAA;AAChE,IAAA;AACc,IAAA;AAChB,EAAA;AACF;ADvB0E;AACA;AACA","file":"/home/runner/work/langwatch/langwatch/typescript-sdk/dist/add-RGWB3264.js","sourcesContent":[null,"import * as fs from \"fs\";\nimport * as path from \"path\";\nimport chalk from \"chalk\";\nimport ora from \"ora\";\nimport { FileManager } from \"../utils/fileManager\";\nimport { PromptsError } from \"@/client-sdk/services/prompts\";\nimport { PromptConverter } from \"../utils/promptConverter\";\nimport { ensureProjectInitialized } from \"../utils/init\";\nimport { checkApiKey } from \"../utils/apiKey\";\nimport { LangWatch } from \"@/client-sdk\";\n\ninterface AddOptions {\n version?: string;\n localFile?: string;\n}\n\nconst addLocalFile = async (name: string, localFilePath: string): Promise<void> => {\n // Validate that the file exists and has the right extension\n if (!fs.existsSync(localFilePath)) {\n console.error(chalk.red(`Error: Local file not found: ${localFilePath}`));\n process.exit(1);\n }\n\n if (!localFilePath.endsWith('.prompt.yaml')) {\n console.error(chalk.red(`Error: Local file must have .prompt.yaml extension`));\n process.exit(1);\n }\n\n // Load and validate the YAML file\n try {\n const config = FileManager.loadLocalPrompt(localFilePath);\n\n // Ensure project is initialized\n await ensureProjectInitialized();\n\n // Add to prompts.json as a file: dependency\n const promptsConfig = FileManager.loadPromptsConfig();\n promptsConfig.prompts[name] = `file:${localFilePath}`;\n FileManager.savePromptsConfig(promptsConfig);\n\n // Update lock file\n const lock = FileManager.loadPromptsLock();\n lock.prompts[name] = {\n version: 0, // Local files start at version 0\n versionId: \"local\",\n materialized: localFilePath, // Store the original file path\n };\n FileManager.savePromptsLock(lock);\n\n console.log(chalk.green(`✓ Added local prompt: ${chalk.cyan(name)} → ${chalk.gray(localFilePath)}`));\n\n } catch (error) {\n console.error(chalk.red(\"Error loading local prompt file:\"));\n console.error(chalk.red(error instanceof Error ? error.message : String(error)));\n process.exit(1);\n }\n};\n\nexport const addCommand = async (name: string, options: AddOptions): Promise<void> => {\n try {\n // Validate prompt name\n if (!name || name.trim() === \"\") {\n console.error(chalk.red(\"Error: Prompt name cannot be empty\"));\n process.exit(1);\n }\n\n // Handle local file addition\n if (options.localFile) {\n await addLocalFile(name, options.localFile);\n return;\n }\n\n // Check API key before doing anything else\n checkApiKey();\n\n const langwatch = new LangWatch();\n const version = options.version ?? \"latest\";\n\n // Fetch and materialize the prompt (like sync does for individual prompts)\n const spinner = ora(`Adding ${chalk.cyan(`${name}@${version}`)}...`).start();\n\n try {\n // Fetch the prompt from the API\n const prompt = await langwatch.prompts.get(name);\n\n if (!prompt) {\n spinner.fail();\n console.error(chalk.red(`Error: Prompt \"${name}\" not found`));\n process.exit(1);\n }\n\n // Stop spinner before any user input prompts\n spinner.stop();\n\n // Ensure project is initialized (prompts.json, lock file, directories)\n await ensureProjectInitialized();\n\n // Restart spinner for the actual work\n spinner.start(`Adding ${chalk.cyan(`${name}@${version}`)}...`);\n\n // Convert to MaterializedPrompt format and save\n const materializedPrompt = PromptConverter.fromApiToMaterialized(prompt);\n const savedPath = FileManager.saveMaterializedPrompt(name, materializedPrompt);\n const relativePath = path.relative(process.cwd(), savedPath);\n\n // Load existing config and lock, add the new dependency\n const config = FileManager.loadPromptsConfig();\n const lock = FileManager.loadPromptsLock();\n\n config.prompts[name] = version;\n FileManager.updateLockEntry(lock, name, materializedPrompt, savedPath);\n\n // Save the updated config and lock\n FileManager.savePromptsConfig(config);\n FileManager.savePromptsLock(lock);\n\n spinner.succeed();\n\n // Show what was done (add ./ prefix for consistency)\n const displayPath = relativePath.startsWith('./') ? relativePath : `./${relativePath}`;\n console.log(chalk.green(`✓ Pulled ${chalk.cyan(`${name}@${version}`)} ${chalk.gray(`(version ${prompt.version})`)} → ${chalk.gray(displayPath)}`));\n\n } catch (error) {\n spinner.fail();\n if (error instanceof PromptsError) {\n console.error(chalk.red(`Error: ${error.message}`));\n } else {\n console.error(chalk.red(`Error adding prompt: ${error instanceof Error ? error.message : \"Unknown error\"}`));\n }\n process.exit(1);\n }\n\n } catch (error) {\n if (error instanceof PromptsError) {\n console.error(chalk.red(`Error: ${error.message}`));\n } else {\n console.error(chalk.red(`Unexpected error: ${error instanceof Error ? error.message : \"Unknown error\"}`));\n }\n process.exit(1);\n }\n};\n"]}
@@ -1,22 +1,28 @@
1
- import {
2
- ensureProjectInitialized
3
- } from "./chunk-E7UE2MPD.mjs";
4
- import {
5
- FileManager
6
- } from "./chunk-3GKPQB4R.mjs";
7
1
  import {
8
2
  checkApiKey
9
3
  } from "./chunk-DHJKJVY7.mjs";
10
- import "./chunk-4NRLVT2U.mjs";
11
4
  import {
12
- PromptService,
5
+ LangWatch
6
+ } from "./chunk-4ILMGMAP.mjs";
7
+ import {
13
8
  PromptsError
14
- } from "./chunk-GJSEBQXF.mjs";
9
+ } from "./chunk-IZ2U3ABC.mjs";
10
+ import "./chunk-N2V6J3U2.mjs";
11
+ import "./chunk-EJWJXTPU.mjs";
12
+ import "./chunk-ZJZ3MIWE.mjs";
13
+ import "./chunk-FQSWUK5N.mjs";
14
+ import "./chunk-YNQ44U6D.mjs";
15
+ import {
16
+ ensureProjectInitialized
17
+ } from "./chunk-ECUXLXFT.mjs";
18
+ import {
19
+ FileManager
20
+ } from "./chunk-HUI45ULC.mjs";
15
21
  import {
16
22
  PromptConverter
17
- } from "./chunk-W5ZEP3CI.mjs";
18
- import "./chunk-QEWDG5QE.mjs";
19
- import "./chunk-YN4436PK.mjs";
23
+ } from "./chunk-SYMZPWZE.mjs";
24
+ import "./chunk-4NRLVT2U.mjs";
25
+ import "./chunk-CU3443HD.mjs";
20
26
 
21
27
  // src/cli/commands/add.ts
22
28
  import * as fs from "fs";
@@ -55,6 +61,7 @@ var addLocalFile = async (name, localFilePath) => {
55
61
  }
56
62
  };
57
63
  var addCommand = async (name, options) => {
64
+ var _a;
58
65
  try {
59
66
  if (!name || name.trim() === "") {
60
67
  console.error(chalk.red("Error: Prompt name cannot be empty"));
@@ -65,11 +72,11 @@ var addCommand = async (name, options) => {
65
72
  return;
66
73
  }
67
74
  checkApiKey();
68
- const promptService = PromptService.getInstance();
69
- const version = options.version || "latest";
75
+ const langwatch = new LangWatch();
76
+ const version = (_a = options.version) != null ? _a : "latest";
70
77
  const spinner = ora(`Adding ${chalk.cyan(`${name}@${version}`)}...`).start();
71
78
  try {
72
- const prompt = await promptService.get(name);
79
+ const prompt = await langwatch.prompts.get(name);
73
80
  if (!prompt) {
74
81
  spinner.fail();
75
82
  console.error(chalk.red(`Error: Prompt "${name}" not found`));
@@ -111,4 +118,4 @@ var addCommand = async (name, options) => {
111
118
  export {
112
119
  addCommand
113
120
  };
114
- //# sourceMappingURL=add-RD3ZKFAT.mjs.map
121
+ //# sourceMappingURL=add-WLUMK5VQ.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/commands/add.ts"],"sourcesContent":["import * as fs from \"fs\";\nimport * as path from \"path\";\nimport chalk from \"chalk\";\nimport ora from \"ora\";\nimport { FileManager } from \"../utils/fileManager\";\nimport { PromptsError } from \"@/client-sdk/services/prompts\";\nimport { PromptConverter } from \"../utils/promptConverter\";\nimport { ensureProjectInitialized } from \"../utils/init\";\nimport { checkApiKey } from \"../utils/apiKey\";\nimport { LangWatch } from \"@/client-sdk\";\n\ninterface AddOptions {\n version?: string;\n localFile?: string;\n}\n\nconst addLocalFile = async (name: string, localFilePath: string): Promise<void> => {\n // Validate that the file exists and has the right extension\n if (!fs.existsSync(localFilePath)) {\n console.error(chalk.red(`Error: Local file not found: ${localFilePath}`));\n process.exit(1);\n }\n\n if (!localFilePath.endsWith('.prompt.yaml')) {\n console.error(chalk.red(`Error: Local file must have .prompt.yaml extension`));\n process.exit(1);\n }\n\n // Load and validate the YAML file\n try {\n const config = FileManager.loadLocalPrompt(localFilePath);\n\n // Ensure project is initialized\n await ensureProjectInitialized();\n\n // Add to prompts.json as a file: dependency\n const promptsConfig = FileManager.loadPromptsConfig();\n promptsConfig.prompts[name] = `file:${localFilePath}`;\n FileManager.savePromptsConfig(promptsConfig);\n\n // Update lock file\n const lock = FileManager.loadPromptsLock();\n lock.prompts[name] = {\n version: 0, // Local files start at version 0\n versionId: \"local\",\n materialized: localFilePath, // Store the original file path\n };\n FileManager.savePromptsLock(lock);\n\n console.log(chalk.green(`✓ Added local prompt: ${chalk.cyan(name)} → ${chalk.gray(localFilePath)}`));\n\n } catch (error) {\n console.error(chalk.red(\"Error loading local prompt file:\"));\n console.error(chalk.red(error instanceof Error ? error.message : String(error)));\n process.exit(1);\n }\n};\n\nexport const addCommand = async (name: string, options: AddOptions): Promise<void> => {\n try {\n // Validate prompt name\n if (!name || name.trim() === \"\") {\n console.error(chalk.red(\"Error: Prompt name cannot be empty\"));\n process.exit(1);\n }\n\n // Handle local file addition\n if (options.localFile) {\n await addLocalFile(name, options.localFile);\n return;\n }\n\n // Check API key before doing anything else\n checkApiKey();\n\n const langwatch = new LangWatch();\n const version = options.version ?? \"latest\";\n\n // Fetch and materialize the prompt (like sync does for individual prompts)\n const spinner = ora(`Adding ${chalk.cyan(`${name}@${version}`)}...`).start();\n\n try {\n // Fetch the prompt from the API\n const prompt = await langwatch.prompts.get(name);\n\n if (!prompt) {\n spinner.fail();\n console.error(chalk.red(`Error: Prompt \"${name}\" not found`));\n process.exit(1);\n }\n\n // Stop spinner before any user input prompts\n spinner.stop();\n\n // Ensure project is initialized (prompts.json, lock file, directories)\n await ensureProjectInitialized();\n\n // Restart spinner for the actual work\n spinner.start(`Adding ${chalk.cyan(`${name}@${version}`)}...`);\n\n // Convert to MaterializedPrompt format and save\n const materializedPrompt = PromptConverter.fromApiToMaterialized(prompt);\n const savedPath = FileManager.saveMaterializedPrompt(name, materializedPrompt);\n const relativePath = path.relative(process.cwd(), savedPath);\n\n // Load existing config and lock, add the new dependency\n const config = FileManager.loadPromptsConfig();\n const lock = FileManager.loadPromptsLock();\n\n config.prompts[name] = version;\n FileManager.updateLockEntry(lock, name, materializedPrompt, savedPath);\n\n // Save the updated config and lock\n FileManager.savePromptsConfig(config);\n FileManager.savePromptsLock(lock);\n\n spinner.succeed();\n\n // Show what was done (add ./ prefix for consistency)\n const displayPath = relativePath.startsWith('./') ? relativePath : `./${relativePath}`;\n console.log(chalk.green(`✓ Pulled ${chalk.cyan(`${name}@${version}`)} ${chalk.gray(`(version ${prompt.version})`)} → ${chalk.gray(displayPath)}`));\n\n } catch (error) {\n spinner.fail();\n if (error instanceof PromptsError) {\n console.error(chalk.red(`Error: ${error.message}`));\n } else {\n console.error(chalk.red(`Error adding prompt: ${error instanceof Error ? error.message : \"Unknown error\"}`));\n }\n process.exit(1);\n }\n\n } catch (error) {\n if (error instanceof PromptsError) {\n console.error(chalk.red(`Error: ${error.message}`));\n } else {\n console.error(chalk.red(`Unexpected error: ${error instanceof Error ? error.message : \"Unknown error\"}`));\n }\n process.exit(1);\n }\n};\n"],"mappings":"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","names":[]}
@@ -0,0 +1,155 @@
1
+ import {
2
+ PromptsFacade,
3
+ createTracingProxy
4
+ } from "./chunk-IZ2U3ABC.mjs";
5
+ import {
6
+ getLangWatchTracer
7
+ } from "./chunk-EJWJXTPU.mjs";
8
+ import {
9
+ DEFAULT_ENDPOINT,
10
+ LANGWATCH_SDK_LANGUAGE,
11
+ LANGWATCH_SDK_NAME_CLIENT,
12
+ LANGWATCH_SDK_NAME_OBSERVABILITY,
13
+ LANGWATCH_SDK_RUNTIME,
14
+ LANGWATCH_SDK_VERSION,
15
+ version
16
+ } from "./chunk-FQSWUK5N.mjs";
17
+ import {
18
+ NoOpLogger
19
+ } from "./chunk-YNQ44U6D.mjs";
20
+ import {
21
+ __privateAdd,
22
+ __privateGet,
23
+ __privateMethod,
24
+ __privateSet,
25
+ __spreadProps,
26
+ __spreadValues
27
+ } from "./chunk-CU3443HD.mjs";
28
+
29
+ // src/internal/api/client.ts
30
+ import openApiCreateClient from "openapi-fetch";
31
+ function createLangWatchApiClient(apiKey, endpoint) {
32
+ return openApiCreateClient({
33
+ baseUrl: endpoint,
34
+ headers: __spreadProps(__spreadValues({}, apiKey ? { authorization: `Bearer ${apiKey}`, "x-auth-token": apiKey } : {}), {
35
+ "content-type": "application/json",
36
+ "user-agent": `langwatch-sdk-node/${version}`,
37
+ "x-langwatch-sdk-name": LANGWATCH_SDK_NAME_OBSERVABILITY,
38
+ "x-langwatch-sdk-language": LANGWATCH_SDK_LANGUAGE,
39
+ "x-langwatch-sdk-version": LANGWATCH_SDK_VERSION,
40
+ "x-langwatch-sdk-platform": LANGWATCH_SDK_RUNTIME()
41
+ })
42
+ });
43
+ }
44
+
45
+ // src/client-sdk/services/traces/types.ts
46
+ var TracesError = class extends Error {
47
+ constructor(message, operation, originalError) {
48
+ super(message);
49
+ this.operation = operation;
50
+ this.originalError = originalError;
51
+ this.name = "TracesError";
52
+ }
53
+ };
54
+
55
+ // src/client-sdk/services/traces/tracing/tracer.ts
56
+ var tracer = getLangWatchTracer(`${LANGWATCH_SDK_NAME_CLIENT}.traces`, LANGWATCH_SDK_VERSION);
57
+
58
+ // src/client-sdk/services/traces/service.ts
59
+ var TracesService = class {
60
+ constructor(config) {
61
+ this.config = config;
62
+ return createTracingProxy(
63
+ this,
64
+ tracer
65
+ );
66
+ }
67
+ /**
68
+ * Handles API errors by throwing a TracesError with operation context.
69
+ * @param operation Description of the operation being performed.
70
+ * @param error The error object returned from the API client.
71
+ * @throws {TracesError}
72
+ */
73
+ handleApiError(operation, error) {
74
+ var _a, _b;
75
+ const errorMessage = typeof error === "string" ? error : (_b = (_a = error == null ? void 0 : error.error) != null ? _a : error == null ? void 0 : error.message) != null ? _b : "Unknown error occurred";
76
+ throw new TracesError(
77
+ `Failed to ${operation}: ${errorMessage}`,
78
+ operation,
79
+ error
80
+ );
81
+ }
82
+ /**
83
+ * Retrieves a trace by its ID.
84
+ * @param traceId The trace's unique identifier.
85
+ * @param params Optional parameters for the request.
86
+ * @returns The trace response object.
87
+ * @throws {TracesError} If the API call fails.
88
+ */
89
+ async get(traceId, params) {
90
+ const { data, error } = await this.config.langwatchApiClient.GET("/api/trace/{id}", {
91
+ params: {
92
+ path: {
93
+ id: traceId
94
+ }
95
+ },
96
+ query: params
97
+ });
98
+ if (error) {
99
+ this.handleApiError("get trace", error);
100
+ }
101
+ return data;
102
+ }
103
+ };
104
+
105
+ // src/client-sdk/services/traces/facade.ts
106
+ var _config, _service;
107
+ var TracesFacade = class {
108
+ constructor(config) {
109
+ __privateAdd(this, _config);
110
+ __privateAdd(this, _service);
111
+ __privateSet(this, _config, config);
112
+ __privateSet(this, _service, new TracesService(config));
113
+ }
114
+ async get(traceId, params) {
115
+ return __privateGet(this, _service).get(traceId, params);
116
+ }
117
+ };
118
+ _config = new WeakMap();
119
+ _service = new WeakMap();
120
+
121
+ // src/client-sdk/index.ts
122
+ var _LangWatch_instances, createInternalConfig_fn;
123
+ var LangWatch = class {
124
+ constructor(options = {}) {
125
+ __privateAdd(this, _LangWatch_instances);
126
+ this.tracer = getLangWatchTracer(LANGWATCH_SDK_NAME_CLIENT, LANGWATCH_SDK_VERSION);
127
+ var _a, _b, _c, _d;
128
+ const apiKey = (_b = (_a = options.apiKey) != null ? _a : process.env.LANGWATCH_API_KEY) != null ? _b : "";
129
+ const endpoint = (_d = (_c = options.endpoint) != null ? _c : process.env.LANGWATCH_ENDPOINT) != null ? _d : DEFAULT_ENDPOINT;
130
+ this.config = __privateMethod(this, _LangWatch_instances, createInternalConfig_fn).call(this, {
131
+ apiKey,
132
+ endpoint,
133
+ options: options.options
134
+ });
135
+ this.prompts = new PromptsFacade(this.config);
136
+ this.traces = new TracesFacade(this.config);
137
+ }
138
+ };
139
+ _LangWatch_instances = new WeakSet();
140
+ createInternalConfig_fn = function({
141
+ apiKey,
142
+ endpoint,
143
+ options
144
+ }) {
145
+ var _a;
146
+ return {
147
+ logger: (_a = options == null ? void 0 : options.logger) != null ? _a : new NoOpLogger(),
148
+ langwatchApiClient: createLangWatchApiClient(apiKey, endpoint)
149
+ };
150
+ };
151
+
152
+ export {
153
+ LangWatch
154
+ };
155
+ //# sourceMappingURL=chunk-4ILMGMAP.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/internal/api/client.ts","../src/client-sdk/services/traces/types.ts","../src/client-sdk/services/traces/tracing/tracer.ts","../src/client-sdk/services/traces/service.ts","../src/client-sdk/services/traces/facade.ts","../src/client-sdk/index.ts"],"sourcesContent":["import openApiCreateClient from \"openapi-fetch\";\nimport type { paths } from \"../generated/openapi/api-client\";\nimport { version } from \"../../../package.json\";\nimport {\n LANGWATCH_SDK_LANGUAGE,\n LANGWATCH_SDK_NAME_OBSERVABILITY,\n LANGWATCH_SDK_RUNTIME,\n LANGWATCH_SDK_VERSION,\n} from \"../constants\";\n\nexport type LangwatchApiClient = ReturnType<typeof openApiCreateClient<paths>>;\n\nexport function createLangWatchApiClient(\n apiKey?: string,\n endpoint?: string\n): LangwatchApiClient {\n return openApiCreateClient<paths>({\n baseUrl: endpoint,\n headers: {\n ...(apiKey ? { authorization: `Bearer ${apiKey}`, 'x-auth-token': apiKey } : {}),\n \"content-type\": \"application/json\",\n \"user-agent\": `langwatch-sdk-node/${version}`,\n \"x-langwatch-sdk-name\": LANGWATCH_SDK_NAME_OBSERVABILITY,\n \"x-langwatch-sdk-language\": LANGWATCH_SDK_LANGUAGE,\n \"x-langwatch-sdk-version\": LANGWATCH_SDK_VERSION,\n \"x-langwatch-sdk-platform\": LANGWATCH_SDK_RUNTIME(),\n },\n });\n}\n","import type { paths } from \"@/internal/generated/openapi/api-client\";\n\nexport interface GetTraceParams {\n includeSpans?: boolean;\n}\n\nexport type GetTraceResponse = NonNullable<\n paths[\"/api/trace/{id}\"][\"get\"][\"responses\"][\"200\"][\"content\"][\"application/json\"]\n>;\n\n/**\n * Custom error class for Traces API operations.\n * Provides context about the failed operation and the original error.\n */\nexport class TracesError extends Error {\n constructor(\n message: string,\n public readonly operation: string,\n public readonly originalError?: any,\n ) {\n super(message);\n this.name = \"TracesError\";\n }\n}\n","import { LANGWATCH_SDK_NAME_CLIENT, LANGWATCH_SDK_VERSION } from \"@/internal/constants\";\nimport { getLangWatchTracer } from \"@/observability-sdk/tracer\";\n\nexport const tracer = getLangWatchTracer(`${LANGWATCH_SDK_NAME_CLIENT}.traces`, LANGWATCH_SDK_VERSION);\n","import { createTracingProxy } from \"@/client-sdk/tracing/create-tracing-proxy\";\nimport { type InternalConfig } from \"@/client-sdk/types\";\nimport { type GetTraceParams, TracesError, type GetTraceResponse } from \"./types\";\nimport { tracer } from \"./tracing\";\n\n/**\n * Service for managing trace resources via the Langwatch API.\n * Constructor creates a proxy that wraps the service and traces all methods.\n *\n * Responsibilities:\n * - Retrieving trace data\n * - Error handling with contextual information\n *\n * All methods return trace response objects directly.\n */\nexport class TracesService {\n private config: InternalConfig;\n\n constructor(config: InternalConfig) {\n this.config = config;\n\n /**\n * Wraps the service in a tracing proxy via the decorator.\n */\n return createTracingProxy(\n this as TracesService,\n tracer,\n );\n }\n\n /**\n * Handles API errors by throwing a TracesError with operation context.\n * @param operation Description of the operation being performed.\n * @param error The error object returned from the API client.\n * @throws {TracesError}\n */\n private handleApiError(operation: string, error: any): never {\n const errorMessage =\n typeof error === \"string\"\n ? error\n : error?.error ?? error?.message ?? \"Unknown error occurred\";\n throw new TracesError(\n `Failed to ${operation}: ${errorMessage}`,\n operation,\n error,\n );\n }\n\n /**\n * Retrieves a trace by its ID.\n * @param traceId The trace's unique identifier.\n * @param params Optional parameters for the request.\n * @returns The trace response object.\n * @throws {TracesError} If the API call fails.\n */\n async get(\n traceId: string,\n params?: GetTraceParams,\n ): Promise<GetTraceResponse> {\n const { data, error } = await this.config.langwatchApiClient.GET(\"/api/trace/{id}\", {\n params: {\n path: {\n id: traceId,\n },\n },\n query: params,\n });\n\n if (error) {\n this.handleApiError(\"get trace\", error);\n }\n\n return data;\n }\n}\n","import { type InternalConfig } from \"../../types\";\nimport { TracesService } from \"./service\";\nimport { type GetTraceParams, type GetTraceResponse } from \"./types\";\n\nexport class TracesFacade {\n readonly #config: InternalConfig;\n readonly #service: TracesService;\n\n constructor(config: InternalConfig) {\n this.#config = config;\n this.#service = new TracesService(config);\n }\n\n async get(traceId: string, params?: GetTraceParams): Promise<GetTraceResponse> {\n return this.#service.get(traceId, params);\n }\n}\n","import { PromptFacade as PromptsFacade } from \"./services/prompts\";\nimport { type InternalConfig } from \"./types\";\nimport { createLangWatchApiClient } from \"../internal/api/client\";\nimport { type Logger, NoOpLogger } from \"../logger\";\nimport { TracesFacade } from \"./services/traces/facade\";\nimport { getLangWatchTracer, type LangWatchTracer } from \"@/observability-sdk\";\nimport { LANGWATCH_SDK_NAME_CLIENT, LANGWATCH_SDK_VERSION, DEFAULT_ENDPOINT } from \"@/internal/constants\";\nexport interface LangWatchConstructorOptions {\n apiKey?: string;\n endpoint?: string;\n options?: {\n logger?: Logger;\n };\n}\n\nexport class LangWatch {\n private readonly config: InternalConfig;\n private readonly tracer: LangWatchTracer = getLangWatchTracer(LANGWATCH_SDK_NAME_CLIENT, LANGWATCH_SDK_VERSION);\n\n readonly prompts: PromptsFacade;\n readonly traces: TracesFacade;\n\n constructor(options: LangWatchConstructorOptions = {}) {\n const apiKey = options.apiKey ?? process.env.LANGWATCH_API_KEY ?? \"\";\n const endpoint = options.endpoint ?? process.env.LANGWATCH_ENDPOINT ?? DEFAULT_ENDPOINT;\n\n this.config = this.#createInternalConfig({\n apiKey,\n endpoint,\n options: options.options,\n });\n\n this.prompts = new PromptsFacade(this.config);\n this.traces = new TracesFacade(this.config);\n }\n\n #createInternalConfig({\n apiKey,\n endpoint,\n options,\n }: {\n apiKey: string;\n endpoint: string;\n options?: LangWatchConstructorOptions[\"options\"];\n }): InternalConfig {\n return {\n logger: options?.logger ?? new NoOpLogger(),\n langwatchApiClient: createLangWatchApiClient(apiKey, endpoint),\n };\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,yBAAyB;AAYzB,SAAS,yBACd,QACA,UACoB;AACpB,SAAO,oBAA2B;AAAA,IAChC,SAAS;AAAA,IACT,SAAS,iCACH,SAAS,EAAE,eAAe,UAAU,MAAM,IAAI,gBAAgB,OAAO,IAAI,CAAC,IADvE;AAAA,MAEP,gBAAgB;AAAA,MAChB,cAAc,sBAAsB,OAAO;AAAA,MAC3C,wBAAwB;AAAA,MACxB,4BAA4B;AAAA,MAC5B,2BAA2B;AAAA,MAC3B,4BAA4B,sBAAsB;AAAA,IACpD;AAAA,EACF,CAAC;AACH;;;ACdO,IAAM,cAAN,cAA0B,MAAM;AAAA,EACrC,YACE,SACgB,WACA,eAChB;AACA,UAAM,OAAO;AAHG;AACA;AAGhB,SAAK,OAAO;AAAA,EACd;AACF;;;ACpBO,IAAM,SAAS,mBAAmB,GAAG,yBAAyB,WAAW,qBAAqB;;;ACY9F,IAAM,gBAAN,MAAoB;AAAA,EAGzB,YAAY,QAAwB;AAClC,SAAK,SAAS;AAKd,WAAO;AAAA,MACL;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQQ,eAAe,WAAmB,OAAmB;AApC/D;AAqCI,UAAM,eACJ,OAAO,UAAU,WACb,SACA,0CAAO,UAAP,YAAgB,+BAAO,YAAvB,YAAkC;AACxC,UAAM,IAAI;AAAA,MACR,aAAa,SAAS,KAAK,YAAY;AAAA,MACvC;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,MAAM,IACJ,SACA,QAC2B;AAC3B,UAAM,EAAE,MAAM,MAAM,IAAI,MAAM,KAAK,OAAO,mBAAmB,IAAI,mBAAmB;AAAA,MAClF,QAAQ;AAAA,QACN,MAAM;AAAA,UACJ,IAAI;AAAA,QACN;AAAA,MACF;AAAA,MACA,OAAO;AAAA,IACT,CAAC;AAED,QAAI,OAAO;AACT,WAAK,eAAe,aAAa,KAAK;AAAA,IACxC;AAEA,WAAO;AAAA,EACT;AACF;;;AC1EA;AAIO,IAAM,eAAN,MAAmB;AAAA,EAIxB,YAAY,QAAwB;AAHpC,uBAAS;AACT,uBAAS;AAGP,uBAAK,SAAU;AACf,uBAAK,UAAW,IAAI,cAAc,MAAM;AAAA,EAC1C;AAAA,EAEA,MAAM,IAAI,SAAiB,QAAoD;AAC7E,WAAO,mBAAK,UAAS,IAAI,SAAS,MAAM;AAAA,EAC1C;AACF;AAXW;AACA;;;ACNX;AAeO,IAAM,YAAN,MAAgB;AAAA,EAOrB,YAAY,UAAuC,CAAC,GAAG;AAPlD;AAEL,SAAiB,SAA0B,mBAAmB,2BAA2B,qBAAqB;AAjBhH;AAuBI,UAAM,UAAS,mBAAQ,WAAR,YAAkB,QAAQ,IAAI,sBAA9B,YAAmD;AAClE,UAAM,YAAW,mBAAQ,aAAR,YAAoB,QAAQ,IAAI,uBAAhC,YAAsD;AAEvE,SAAK,SAAS,sBAAK,+CAAL,WAA2B;AAAA,MACvC;AAAA,MACA;AAAA,MACA,SAAS,QAAQ;AAAA,IACnB;AAEA,SAAK,UAAU,IAAI,cAAc,KAAK,MAAM;AAC5C,SAAK,SAAS,IAAI,aAAa,KAAK,MAAM;AAAA,EAC5C;AAgBF;AAnCO;AAqBL,0BAAqB,SAAC;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AACF,GAImB;AA5CrB;AA6CI,SAAO;AAAA,IACL,SAAQ,wCAAS,WAAT,YAAmB,IAAI,WAAW;AAAA,IAC1C,oBAAoB,yBAAyB,QAAQ,QAAQ;AAAA,EAC/D;AACF;","names":[]}
@@ -0,0 +1,207 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+
4
+
5
+
6
+
7
+
8
+
9
+ var _chunkDEVJ7BPEjs = require('./chunk-DEVJ7BPE.js');
10
+
11
+
12
+ var _chunkDISMHYXCjs = require('./chunk-DISMHYXC.js');
13
+
14
+
15
+
16
+ var _chunkOXBO24RBjs = require('./chunk-OXBO24RB.js');
17
+
18
+ // src/observability-sdk/exporters/langwatch-trace-exporter.ts
19
+ var _exportertraceotlphttp = require('@opentelemetry/exporter-trace-otlp-http');
20
+ var LangWatchTraceExporter = class extends _exportertraceotlphttp.OTLPTraceExporter {
21
+ /**
22
+ * Creates a new LangWatchExporter instance.
23
+ *
24
+ * @param opts - Optional configuration options for the exporter
25
+ * @param opts.apiKey - Optional API key for LangWatch authentication. If not provided,
26
+ * will use environment variables or fallback configuration.
27
+ * @param opts.endpoint - Optional custom endpoint URL for LangWatch ingestion.
28
+ * If not provided, will use environment variables or fallback configuration.
29
+ * @param opts.includeAllSpans - Deprecated: This option is deprecated and will be removed in a future version
30
+ * @param opts.debug - Deprecated: This option is deprecated and will be removed in a future version
31
+ */
32
+ constructor(opts) {
33
+ var _a, _b, _c, _d;
34
+ const apiKey = (_b = (_a = opts == null ? void 0 : opts.apiKey) != null ? _a : process.env.LANGWATCH_API_KEY) != null ? _b : "";
35
+ const endpoint = (_d = (_c = opts == null ? void 0 : opts.endpoint) != null ? _c : process.env.LANGWATCH_ENDPOINT) != null ? _d : _chunkDEVJ7BPEjs.DEFAULT_ENDPOINT;
36
+ if (opts && opts.includeAllSpans !== void 0) {
37
+ console.warn(
38
+ "[LangWatchExporter] The behavior of `includeAllSpans` is deprecated and will be removed in a future version"
39
+ );
40
+ }
41
+ if (opts && opts.debug !== void 0) {
42
+ console.warn(
43
+ "[LangWatchExporter] The behavior of `debug` is deprecated and will be removed in a future version"
44
+ );
45
+ }
46
+ const url = new URL(_chunkDEVJ7BPEjs.TRACES_PATH, endpoint);
47
+ const otelEndpoint = url.toString();
48
+ super({
49
+ headers: _chunkOXBO24RBjs.__spreadValues.call(void 0, {
50
+ "x-langwatch-sdk-name": _chunkDEVJ7BPEjs.LANGWATCH_SDK_NAME_OBSERVABILITY,
51
+ "x-langwatch-sdk-language": _chunkDEVJ7BPEjs.LANGWATCH_SDK_LANGUAGE,
52
+ "x-langwatch-sdk-version": _chunkDEVJ7BPEjs.LANGWATCH_SDK_VERSION,
53
+ "x-langwatch-sdk-runtime": _chunkDEVJ7BPEjs.LANGWATCH_SDK_RUNTIME.call(void 0, )
54
+ }, apiKey ? { authorization: `Bearer ${apiKey}` } : {}),
55
+ url: otelEndpoint.toString()
56
+ });
57
+ }
58
+ };
59
+
60
+ // src/observability-sdk/exporters/langwatch-logs-exporter.ts
61
+ var _exporterlogsotlphttp = require('@opentelemetry/exporter-logs-otlp-http');
62
+ var LangWatchLogsExporter = class extends _exporterlogsotlphttp.OTLPLogExporter {
63
+ /**
64
+ * Creates a new LangWatchLogsExporter instance.
65
+ *
66
+ * @param opts - Optional configuration options for the exporter.
67
+ * @param opts.apiKey - Optional API key for LangWatch authentication. If not provided,
68
+ * will use environment variables or fallback configuration.
69
+ * @param opts.endpoint - Optional custom endpoint URL for LangWatch ingestion.
70
+ * If not provided, will use environment variables or fallback configuration.
71
+ */
72
+ constructor(opts) {
73
+ var _a, _b, _c, _d;
74
+ const apiKey = (_b = (_a = opts == null ? void 0 : opts.apiKey) != null ? _a : process.env.LANGWATCH_API_KEY) != null ? _b : "";
75
+ const endpoint = (_d = (_c = opts == null ? void 0 : opts.endpoint) != null ? _c : process.env.LANGWATCH_ENDPOINT) != null ? _d : _chunkDEVJ7BPEjs.DEFAULT_ENDPOINT;
76
+ const url = new URL(_chunkDEVJ7BPEjs.LOGS_PATH, endpoint);
77
+ const otelEndpoint = url.toString();
78
+ super({
79
+ headers: _chunkOXBO24RBjs.__spreadValues.call(void 0, {
80
+ "x-langwatch-sdk-name": _chunkDEVJ7BPEjs.LANGWATCH_SDK_NAME_OBSERVABILITY,
81
+ "x-langwatch-sdk-language": _chunkDEVJ7BPEjs.LANGWATCH_SDK_LANGUAGE,
82
+ "x-langwatch-sdk-version": _chunkDEVJ7BPEjs.LANGWATCH_SDK_VERSION,
83
+ "x-langwatch-sdk-runtime": _chunkDEVJ7BPEjs.LANGWATCH_SDK_RUNTIME.call(void 0, )
84
+ }, apiKey ? { authorization: `Bearer ${apiKey}` } : {}),
85
+ url: otelEndpoint.toString()
86
+ });
87
+ }
88
+ };
89
+
90
+ // src/observability-sdk/semconv/events.ts
91
+ var LOG_EVNT_GEN_AI_SYSTEM_MESSAGE = "gen.ai.system_message";
92
+ var LOG_EVNT_GEN_AI_USER_MESSAGE = "gen.ai.user_message";
93
+ var LOG_EVNT_GEN_AI_ASSISTANT_MESSAGE = "gen.ai.assistant_message";
94
+ var LOG_EVNT_GEN_AI_TOOL_MESSAGE = "gen.ai.tool_message";
95
+ var LOG_EVNT_GEN_AI_CHOICE = "gen.ai.choice";
96
+
97
+ // src/observability-sdk/logger/index.ts
98
+
99
+
100
+ var _apilogs = require('@opentelemetry/api-logs');
101
+
102
+ // src/observability-sdk/logger/implementation.ts
103
+ var _api = require('@opentelemetry/api');
104
+ var LangWatchLoggerInternal = class {
105
+ constructor(logger) {
106
+ this.logger = logger;
107
+ }
108
+ emit(logRecord, options) {
109
+ if (!_chunkDISMHYXCjs.shouldCaptureOutput.call(void 0, )) {
110
+ logRecord.body = void 0;
111
+ }
112
+ if (!logRecord.context && !(options == null ? void 0 : options.excludeContext)) {
113
+ logRecord.context = _api.context.active();
114
+ }
115
+ this.logger.emit(logRecord);
116
+ }
117
+ emitGenAISystemMessageEvent(body, system, attributes) {
118
+ var _a;
119
+ this.emitGenAIEvent(
120
+ LOG_EVNT_GEN_AI_SYSTEM_MESSAGE,
121
+ _chunkOXBO24RBjs.__spreadProps.call(void 0, _chunkOXBO24RBjs.__spreadValues.call(void 0, {}, body), { role: (_a = body.role) != null ? _a : "system" }),
122
+ _chunkOXBO24RBjs.__spreadProps.call(void 0, _chunkOXBO24RBjs.__spreadValues.call(void 0, {}, attributes), {
123
+ "gen_ai.system": system
124
+ })
125
+ );
126
+ }
127
+ emitGenAIUserMessageEvent(body, system, attributes) {
128
+ var _a;
129
+ this.emitGenAIEvent(
130
+ LOG_EVNT_GEN_AI_USER_MESSAGE,
131
+ _chunkOXBO24RBjs.__spreadProps.call(void 0, _chunkOXBO24RBjs.__spreadValues.call(void 0, {}, body), { role: (_a = body.role) != null ? _a : "user" }),
132
+ _chunkOXBO24RBjs.__spreadProps.call(void 0, _chunkOXBO24RBjs.__spreadValues.call(void 0, {}, attributes), {
133
+ "gen_ai.system": system
134
+ })
135
+ );
136
+ }
137
+ emitGenAIAssistantMessageEvent(body, system, attributes) {
138
+ var _a;
139
+ this.emitGenAIEvent(
140
+ LOG_EVNT_GEN_AI_ASSISTANT_MESSAGE,
141
+ _chunkOXBO24RBjs.__spreadProps.call(void 0, _chunkOXBO24RBjs.__spreadValues.call(void 0, {}, body), { role: (_a = body.role) != null ? _a : "assistant" }),
142
+ _chunkOXBO24RBjs.__spreadProps.call(void 0, _chunkOXBO24RBjs.__spreadValues.call(void 0, {}, attributes), {
143
+ "gen_ai.system": system
144
+ })
145
+ );
146
+ }
147
+ emitGenAIToolMessageEvent(body, system, attributes) {
148
+ if (body.role === void 0) {
149
+ body.role = "tool";
150
+ }
151
+ this.emitGenAIEvent(
152
+ LOG_EVNT_GEN_AI_TOOL_MESSAGE,
153
+ _chunkOXBO24RBjs.__spreadValues.call(void 0, {}, body),
154
+ _chunkOXBO24RBjs.__spreadProps.call(void 0, _chunkOXBO24RBjs.__spreadValues.call(void 0, {}, attributes), {
155
+ "gen_ai.system": system
156
+ })
157
+ );
158
+ }
159
+ emitGenAIChoiceEvent(body, system, attributes) {
160
+ var _a, _b;
161
+ if (body.message && body.message.role === void 0) {
162
+ body.message.role = "assistant";
163
+ }
164
+ this.emitGenAIEvent(
165
+ LOG_EVNT_GEN_AI_CHOICE,
166
+ _chunkOXBO24RBjs.__spreadProps.call(void 0, _chunkOXBO24RBjs.__spreadValues.call(void 0, {}, body), {
167
+ message: _chunkOXBO24RBjs.__spreadProps.call(void 0, _chunkOXBO24RBjs.__spreadValues.call(void 0, {}, body.message), { role: (_b = (_a = body.message) == null ? void 0 : _a.role) != null ? _b : "assistant" })
168
+ }),
169
+ _chunkOXBO24RBjs.__spreadProps.call(void 0, _chunkOXBO24RBjs.__spreadValues.call(void 0, {}, attributes), {
170
+ "gen_ai.system": system
171
+ })
172
+ );
173
+ }
174
+ emitGenAIEvent(eventName, body, attributes) {
175
+ this.emit({
176
+ eventName,
177
+ context: _api.context.active(),
178
+ attributes: _chunkOXBO24RBjs.__spreadValues.call(void 0, {}, attributes),
179
+ body: _chunkDISMHYXCjs.shouldCaptureOutput.call(void 0, ) ? body : void 0,
180
+ observedTimestamp: (/* @__PURE__ */ new Date()).getTime()
181
+ });
182
+ }
183
+ };
184
+
185
+ // src/observability-sdk/logger/index.ts
186
+ var currentLoggerProvider = new (0, _apilogs.NoopLoggerProvider)();
187
+ function setLangWatchLoggerProvider(loggerProvider) {
188
+ currentLoggerProvider = loggerProvider;
189
+ }
190
+ function getLangWatchLogger(name, version) {
191
+ return getLangWatchLoggerFromProvider(currentLoggerProvider, name, version);
192
+ }
193
+ function getLangWatchLoggerFromProvider(loggerProvider, name, version) {
194
+ return createLangWatchLogger(loggerProvider.getLogger(name, version));
195
+ }
196
+ function createLangWatchLogger(logger) {
197
+ return new LangWatchLoggerInternal(logger);
198
+ }
199
+
200
+
201
+
202
+
203
+
204
+
205
+
206
+ exports.LangWatchTraceExporter = LangWatchTraceExporter; exports.LangWatchLogsExporter = LangWatchLogsExporter; exports.setLangWatchLoggerProvider = setLangWatchLoggerProvider; exports.getLangWatchLogger = getLangWatchLogger; exports.getLangWatchLoggerFromProvider = getLangWatchLoggerFromProvider;
207
+ //# sourceMappingURL=chunk-4TF2O2TH.js.map