langwatch 0.4.0 → 0.4.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 (109) hide show
  1. package/dist/{add-TRJAXM4D.mjs → add-SMYALCQG.mjs} +10 -9
  2. package/dist/{add-TRJAXM4D.mjs.map → add-SMYALCQG.mjs.map} +1 -1
  3. package/dist/{add-35QACTIV.js → add-SV662KZU.js} +27 -26
  4. package/dist/add-SV662KZU.js.map +1 -0
  5. package/dist/{chunk-LP76VXI3.mjs → chunk-5ZKAT4KI.mjs} +70 -113
  6. package/dist/chunk-5ZKAT4KI.mjs.map +1 -0
  7. package/dist/{chunk-HUI45ULC.mjs → chunk-7ZRAJ52N.mjs} +3 -3
  8. package/dist/chunk-CAVBDSBT.mjs +63 -0
  9. package/dist/chunk-CAVBDSBT.mjs.map +1 -0
  10. package/dist/{chunk-PGWR3OQY.mjs → chunk-ENSRDEDA.mjs} +16 -67
  11. package/dist/chunk-ENSRDEDA.mjs.map +1 -0
  12. package/dist/{chunk-HA3LI5IK.js → chunk-I5NDMIK5.js} +1 -1
  13. package/dist/{chunk-HA3LI5IK.js.map → chunk-I5NDMIK5.js.map} +1 -1
  14. package/dist/{chunk-M4VUHTT2.js → chunk-ILTCLEIF.js} +5 -5
  15. package/dist/{chunk-M4VUHTT2.js.map → chunk-ILTCLEIF.js.map} +1 -1
  16. package/dist/{chunk-ECUXLXFT.mjs → chunk-K4ICRI7W.mjs} +53 -13
  17. package/dist/chunk-K4ICRI7W.mjs.map +1 -0
  18. package/dist/{chunk-SYMZPWZE.mjs → chunk-LXVDGQA4.mjs} +5 -4
  19. package/dist/chunk-LXVDGQA4.mjs.map +1 -0
  20. package/dist/{chunk-4ZSSHX6F.js → chunk-NFM6RB4R.js} +71 -114
  21. package/dist/chunk-NFM6RB4R.js.map +1 -0
  22. package/dist/{chunk-OUCVXP4G.js → chunk-NVKMXXNP.js} +26 -77
  23. package/dist/chunk-NVKMXXNP.js.map +1 -0
  24. package/dist/{chunk-D2CSG4SJ.js → chunk-P5F63PAW.js} +5 -5
  25. package/dist/{chunk-D2CSG4SJ.js.map → chunk-P5F63PAW.js.map} +1 -1
  26. package/dist/{chunk-SGNJDRCT.js → chunk-PUHM465C.js} +5 -4
  27. package/dist/chunk-PUHM465C.js.map +1 -0
  28. package/dist/{chunk-GQMDZ4GY.mjs → chunk-RBZNMZTF.mjs} +4 -4
  29. package/dist/{chunk-5EVBOHJY.js → chunk-T7FQHOLK.js} +14 -14
  30. package/dist/{chunk-5EVBOHJY.js.map → chunk-T7FQHOLK.js.map} +1 -1
  31. package/dist/chunk-VI5NJ53L.js +63 -0
  32. package/dist/chunk-VI5NJ53L.js.map +1 -0
  33. package/dist/{chunk-EJWJXTPU.mjs → chunk-VILW5FYO.mjs} +2 -2
  34. package/dist/chunk-VILW5FYO.mjs.map +1 -0
  35. package/dist/{chunk-4NRLVT2U.mjs → chunk-YQVVPMKH.mjs} +1 -1
  36. package/dist/chunk-YQVVPMKH.mjs.map +1 -0
  37. package/dist/{chunk-K64Y6YUG.js → chunk-ZZLIF3DE.js} +59 -19
  38. package/dist/chunk-ZZLIF3DE.js.map +1 -0
  39. package/dist/cli/index.js +9 -9
  40. package/dist/cli/index.mjs +8 -8
  41. package/dist/{create-MK7NEGCM.mjs → create-BHWZP6YD.mjs} +5 -5
  42. package/dist/{create-7K2CC4KQ.js → create-GUY3HZM2.js} +10 -10
  43. package/dist/{create-7K2CC4KQ.js.map → create-GUY3HZM2.js.map} +1 -1
  44. package/dist/{implementation-CzemP9jY.d.ts → implementation--7B7PUww.d.ts} +1 -1
  45. package/dist/{implementation-C4lvooSg.d.mts → implementation-D7LzdQop.d.mts} +1 -1
  46. package/dist/index.d.mts +2 -2
  47. package/dist/index.d.ts +2 -2
  48. package/dist/index.js +7 -6
  49. package/dist/index.js.map +1 -1
  50. package/dist/index.mjs +6 -5
  51. package/dist/index.mjs.map +1 -1
  52. package/dist/init-OO2BUJ6V.js +16 -0
  53. package/dist/{init-GDKJICSS.js.map → init-OO2BUJ6V.js.map} +1 -1
  54. package/dist/{init-RINSTP4L.mjs → init-RDW2F4G3.mjs} +5 -5
  55. package/dist/{list-7L23G5DY.mjs → list-32BRZ6RS.mjs} +7 -6
  56. package/dist/list-32BRZ6RS.mjs.map +1 -0
  57. package/dist/{list-OLLQ7XKZ.js → list-GZGLSJ52.js} +10 -9
  58. package/dist/list-GZGLSJ52.js.map +1 -0
  59. package/dist/{login-XF3BQQPV.js → login-IAP4RFUM.js} +6 -3
  60. package/dist/login-IAP4RFUM.js.map +1 -0
  61. package/dist/{login-RCNKL5AM.mjs → login-VXLW2OXR.mjs} +5 -2
  62. package/dist/login-VXLW2OXR.mjs.map +1 -0
  63. package/dist/observability-sdk/index.d.mts +3 -3
  64. package/dist/observability-sdk/index.d.ts +3 -3
  65. package/dist/observability-sdk/index.js +4 -3
  66. package/dist/observability-sdk/index.js.map +1 -1
  67. package/dist/observability-sdk/index.mjs +3 -2
  68. package/dist/observability-sdk/instrumentation/langchain/index.d.mts +1 -1
  69. package/dist/observability-sdk/instrumentation/langchain/index.d.ts +1 -1
  70. package/dist/observability-sdk/instrumentation/langchain/index.js +3 -3
  71. package/dist/observability-sdk/instrumentation/langchain/index.mjs +1 -1
  72. package/dist/observability-sdk/setup/node/index.js +12 -9
  73. package/dist/observability-sdk/setup/node/index.js.map +1 -1
  74. package/dist/observability-sdk/setup/node/index.mjs +9 -6
  75. package/dist/observability-sdk/setup/node/index.mjs.map +1 -1
  76. package/dist/{remove-3VLQNVHN.mjs → remove-JUVM6M7G.mjs} +8 -7
  77. package/dist/{remove-3VLQNVHN.mjs.map → remove-JUVM6M7G.mjs.map} +1 -1
  78. package/dist/{remove-L6JVJBWY.js → remove-N3324KHS.js} +16 -15
  79. package/dist/remove-N3324KHS.js.map +1 -0
  80. package/dist/{sync-DPMTUTVL.mjs → sync-B4YK6QYX.mjs} +14 -10
  81. package/dist/sync-B4YK6QYX.mjs.map +1 -0
  82. package/dist/{sync-PSU3F5Z4.js → sync-E32H3H52.js} +32 -28
  83. package/dist/sync-E32H3H52.js.map +1 -0
  84. package/dist/{types-1q5wIYP5.d.mts → types-D61S7yPU.d.mts} +917 -527
  85. package/dist/{types-C9k5gGhU.d.ts → types-D6Cs1385.d.ts} +917 -527
  86. package/package.json +11 -10
  87. package/dist/add-35QACTIV.js.map +0 -1
  88. package/dist/chunk-4NRLVT2U.mjs.map +0 -1
  89. package/dist/chunk-4ZSSHX6F.js.map +0 -1
  90. package/dist/chunk-ECUXLXFT.mjs.map +0 -1
  91. package/dist/chunk-EJWJXTPU.mjs.map +0 -1
  92. package/dist/chunk-K64Y6YUG.js.map +0 -1
  93. package/dist/chunk-LP76VXI3.mjs.map +0 -1
  94. package/dist/chunk-OUCVXP4G.js.map +0 -1
  95. package/dist/chunk-PGWR3OQY.mjs.map +0 -1
  96. package/dist/chunk-SGNJDRCT.js.map +0 -1
  97. package/dist/chunk-SYMZPWZE.mjs.map +0 -1
  98. package/dist/init-GDKJICSS.js +0 -16
  99. package/dist/list-7L23G5DY.mjs.map +0 -1
  100. package/dist/list-OLLQ7XKZ.js.map +0 -1
  101. package/dist/login-RCNKL5AM.mjs.map +0 -1
  102. package/dist/login-XF3BQQPV.js.map +0 -1
  103. package/dist/remove-L6JVJBWY.js.map +0 -1
  104. package/dist/sync-DPMTUTVL.mjs.map +0 -1
  105. package/dist/sync-PSU3F5Z4.js.map +0 -1
  106. /package/dist/{chunk-HUI45ULC.mjs.map → chunk-7ZRAJ52N.mjs.map} +0 -0
  107. /package/dist/{chunk-GQMDZ4GY.mjs.map → chunk-RBZNMZTF.mjs.map} +0 -0
  108. /package/dist/{create-MK7NEGCM.mjs.map → create-BHWZP6YD.mjs.map} +0 -0
  109. /package/dist/{init-RINSTP4L.mjs.map → init-RDW2F4G3.mjs.map} +0 -0
@@ -0,0 +1,63 @@
1
+ // package.json
2
+ var version = "0.4.2";
3
+
4
+ // src/internal/runtime.ts
5
+ var _runtime;
6
+ var getRuntime = () => {
7
+ _runtime != null ? _runtime : _runtime = detectRuntime();
8
+ return _runtime;
9
+ };
10
+ function detectRuntime(globals) {
11
+ var _a;
12
+ let g = globalThis;
13
+ if (globals) {
14
+ if (process.env.NODE_ENV === "test") {
15
+ g = globals;
16
+ } else {
17
+ console.warn("[LangWatch Observability] overriding detectRuntime is only supported when running in NODE_ENV=test");
18
+ }
19
+ }
20
+ try {
21
+ if ("Deno" in g && typeof g.Deno === "object" && g.Deno && "version" in g.Deno && typeof g.Deno.version === "object") {
22
+ return "deno";
23
+ }
24
+ if ("Bun" in g && typeof g.Bun === "object" && g.Bun && "version" in g.Bun && typeof g.Bun.version === "string") {
25
+ return "bun";
26
+ }
27
+ if ("process" in g && typeof g.process === "object" && g.process && typeof g.process.versions === "object" && typeof g.process.versions.node === "string") {
28
+ return "node";
29
+ }
30
+ if (typeof ((_a = g.window) == null ? void 0 : _a.document) !== "undefined" && g === g.window) {
31
+ return "web";
32
+ }
33
+ return "unknown";
34
+ } catch (error) {
35
+ console.warn("[LangWatch Observability] Failed to detect runtime", error);
36
+ return "unknown";
37
+ }
38
+ }
39
+
40
+ // src/internal/constants.ts
41
+ var LANGWATCH_SDK_RUNTIME = getRuntime;
42
+ var LANGWATCH_SDK_NAME_OBSERVABILITY = "langwatch-observability-sdk";
43
+ var LANGWATCH_SDK_NAME_CLIENT = "langwatch-client-sdk";
44
+ var LANGWATCH_SDK_LANGUAGE = "typescript";
45
+ var LANGWATCH_SDK_VERSION = version;
46
+ var DEFAULT_ENDPOINT = "https://app.langwatch.ai/";
47
+ var DEFAULT_SERVICE_NAME = "unknown-service.langwatch";
48
+ var TRACES_PATH = "/api/otel/v1/traces";
49
+ var LOGS_PATH = "/api/otel/v1/logs";
50
+
51
+ export {
52
+ version,
53
+ LANGWATCH_SDK_RUNTIME,
54
+ LANGWATCH_SDK_NAME_OBSERVABILITY,
55
+ LANGWATCH_SDK_NAME_CLIENT,
56
+ LANGWATCH_SDK_LANGUAGE,
57
+ LANGWATCH_SDK_VERSION,
58
+ DEFAULT_ENDPOINT,
59
+ DEFAULT_SERVICE_NAME,
60
+ TRACES_PATH,
61
+ LOGS_PATH
62
+ };
63
+ //# sourceMappingURL=chunk-CAVBDSBT.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../package.json","../src/internal/runtime.ts","../src/internal/constants.ts"],"sourcesContent":["{\n \"name\": \"langwatch\",\n \"version\": \"0.4.2\",\n \"description\": \"LangWatch TypeScript/JavaScript SDK. Interact with the full LangWatch API and use the LangWatch OpenTelemetry SDK to instrument your application. For more information, see https://docs.langwatch.ai/integration/typescript/guide\",\n \"main\": \"dist/index.js\",\n \"module\": \"dist/index.mjs\",\n \"types\": \"dist/index.d.ts\",\n \"author\": \"LangWatch\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=20\",\n \"pnpm\": \">=8\"\n },\n \"files\": [\n \"dist\",\n \"README.md\",\n \"LICENSE\"\n ],\n \"bin\": {\n \"langwatch\": \"./dist/cli/index.js\"\n },\n \"exports\": {\n \".\": {\n \"types\": \"./dist/index.d.ts\",\n \"import\": \"./dist/index.mjs\",\n \"require\": \"./dist/index.js\"\n },\n \"./observability\": {\n \"types\": \"./dist/observability-sdk/index.d.ts\",\n \"require\": \"./dist/observability-sdk/index.js\",\n \"import\": \"./dist/observability-sdk/index.mjs\"\n },\n \"./observability/node\": {\n \"types\": \"./dist/observability-sdk/setup/node/index.d.ts\",\n \"require\": \"./dist/observability-sdk/setup/node/index.js\",\n \"import\": \"./dist/observability-sdk/setup/node/index.mjs\"\n },\n \"./observability/instrumentation/langchain\": {\n \"types\": \"./dist/observability-sdk/instrumentation/langchain/index.d.ts\",\n \"require\": \"./dist/observability-sdk/instrumentation/langchain/index.js\",\n \"import\": \"./dist/observability-sdk/instrumentation/langchain/index.mjs\"\n }\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/langwatch/langwatch.git\",\n \"directory\": \"typescript-sdk\"\n },\n \"scripts\": {\n \"prepare\": \"pnpm run generate:server-types && pnpm run generate:openapi-types\",\n \"cli\": \"node dist/cli/index.js\",\n \"lint\": \"eslint .\",\n \"test\": \"vitest\",\n \"test:e2e\": \"vitest run -c ./vitest.e2e.config.mts\",\n \"prebuild\": \"pnpm run prepare\",\n \"build\": \"tsgo --noEmit && tsup\",\n \"typecheck\": \"tsgo --noEmit\",\n \"prepublish\": \"pnpm run build\",\n \"generate:openapi-types\": \"npx openapi-typescript ../langwatch/src/app/api/openapiLangWatch.json -o ./src/internal/generated/openapi/api-client.ts\",\n \"generate:server-types\": \"./copy-types.sh\"\n },\n \"devDependencies\": {\n \"@eslint/js\": \"^9.32.0\",\n \"@opentelemetry/sdk-node\": \">=0.203.0\",\n \"@opentelemetry/sdk-trace-node\": \"^2.0.1\",\n \"@opentelemetry/sdk-trace-web\": \">=2.0.1\",\n \"@types/debug\": \"^4.1.12\",\n \"@types/js-yaml\": \"^4.0.9\",\n \"@types/node\": \"^24.1.0\",\n \"@typescript/native-preview\": \"7.0.0-dev.20250804.1\",\n \"@vercel/otel\": \"^1.13.0\",\n \"@vitest/coverage-v8\": \"3.2.4\",\n \"esbuild\": \"^0.25.8\",\n \"eslint\": \"^9.32.0\",\n \"fets\": \"^0.8.5\",\n \"fishery\": \"^2.3.1\",\n \"msw\": \"^2.10.4\",\n \"nock\": \"^14.0.8\",\n \"openapi-msw\": \"^1.2.0\",\n \"ts-to-zod\": \"3.15.0\",\n \"tsup\": \"^8.5.0\",\n \"typescript\": \"^5.9.2\",\n \"typescript-eslint\": \"^8.38.0\",\n \"vitest\": \"^3.2.4\"\n },\n \"dependencies\": {\n \"@opentelemetry/api\": \"^1.9.0\",\n \"@opentelemetry/api-logs\": \"0.203.0\",\n \"@opentelemetry/core\": \"^2.0.1\",\n \"@opentelemetry/exporter-logs-otlp-http\": \"0.203.0\",\n \"@opentelemetry/exporter-trace-otlp-http\": \"0.203.0\",\n \"@opentelemetry/instrumentation\": \"0.203.0\",\n \"@opentelemetry/resources\": \"^2.0.1\",\n \"@opentelemetry/sdk-logs\": \"0.203.0\",\n \"@opentelemetry/sdk-metrics\": \"^2.0.1\",\n \"@opentelemetry/sdk-trace-base\": \"^2.0.1\",\n \"@opentelemetry/semantic-conventions\": \"^1.36.0\",\n \"@types/prompts\": \"^2.4.9\",\n \"chalk\": \"^4.1.2\",\n \"commander\": \"^12.0.0\",\n \"dotenv\": \"^16.6.1\",\n \"js-yaml\": \"^4.1.0\",\n \"liquidjs\": \"^10.21.1\",\n \"open\": \"^10.2.0\",\n \"openapi-fetch\": \"^0.14.0\",\n \"ora\": \"^5.4.1\",\n \"prompts\": \"^2.4.2\",\n \"xksuid\": \"^0.0.4\",\n \"zod\": \"^4.0.14\"\n },\n \"peerDependencies\": {\n \"@ai-sdk/openai\": \">=2.0.0 <3.0.0\",\n \"@langchain/core\": \">=0.3.0 <1.0.0\",\n \"@langchain/langgraph\": \">=0.4.0 <1.0.0\",\n \"@langchain/openai\": \">=0.6.0 <1.0.0\",\n \"langchain\": \">=0.3.0 <1.0.0\",\n \"@opentelemetry/context-async-hooks\": \">=1.19.0 <3.0.0\",\n \"@opentelemetry/context-zone\": \">=1.19.0 <3.0.0\",\n \"@opentelemetry/sdk-node\": \">=0.200.0 <1.0.0\",\n \"@opentelemetry/sdk-trace-web\": \">=1.19.0 <3.0.0\"\n }\n}\n","export type JsRuntime = \"node\" | \"deno\" | \"bun\" | \"web\" | \"unknown\";\n\nlet _runtime: JsRuntime | undefined;\n\n/**\n * Gets the cached JavaScript runtime environment.\n * @returns The detected runtime environment\n */\nexport const getRuntime = (): JsRuntime => {\n _runtime ??= detectRuntime();\n return _runtime;\n};\n\n/**\n * Resets the cached runtime. Only used for testing.\n * @internal\n */\nexport const resetRuntimeCache = (): void => {\n _runtime = undefined;\n};\n\n/**\n * Detects the JavaScript runtime environment.\n * @param globals - (Test only) Optionally override the global object for environment simulation. Only used if NODE_ENV === 'test'.\n */\nexport function detectRuntime(globals?: any): JsRuntime {\n let g = globalThis;\n if (globals) {\n if (process.env.NODE_ENV === \"test\") {\n g = globals;\n } else {\n console.warn(\"[LangWatch Observability] overriding detectRuntime is only supported when running in NODE_ENV=test\");\n }\n }\n\n try {\n if (\n \"Deno\" in g &&\n typeof g.Deno === \"object\" &&\n g.Deno &&\n 'version' in g.Deno &&\n typeof g.Deno.version === \"object\"\n ) {\n return \"deno\";\n }\n if (\n \"Bun\" in g &&\n typeof g.Bun === \"object\" &&\n g.Bun &&\n 'version' in g.Bun &&\n typeof g.Bun.version === \"string\"\n ) {\n return \"bun\";\n }\n if (\n \"process\" in g &&\n typeof g.process === \"object\" &&\n g.process &&\n typeof g.process.versions === \"object\" &&\n typeof g.process.versions.node === \"string\"\n ) {\n return \"node\";\n }\n if (\n typeof g.window?.document !== \"undefined\" &&\n g === g.window\n ) {\n return \"web\";\n }\n return \"unknown\";\n } catch (error) {\n console.warn(\"[LangWatch Observability] Failed to detect runtime\", error);\n return \"unknown\";\n }\n}\n","import { version } from \"../../package.json\";\nimport { getRuntime } from \"./runtime\";\n\nexport const LANGWATCH_SDK_RUNTIME = getRuntime;\n\nexport const LANGWATCH_SDK_NAME_OBSERVABILITY = \"langwatch-observability-sdk\";\nexport const LANGWATCH_SDK_NAME_CLIENT = \"langwatch-client-sdk\";\nexport const LANGWATCH_SDK_LANGUAGE = \"typescript\";\nexport const LANGWATCH_SDK_VERSION = version;\n\nexport const DEFAULT_ENDPOINT = \"https://app.langwatch.ai/\";\nexport const DEFAULT_SERVICE_NAME = \"unknown-service.langwatch\";\n\nexport const TRACES_PATH = \"/api/otel/v1/traces\";\nexport const LOGS_PATH = \"/api/otel/v1/logs\";\nexport const METRICS_PATH = \"/api/otel/v1/metrics\";\n"],"mappings":";AAEI,cAAW;;;ACAf,IAAI;AAMG,IAAM,aAAa,MAAiB;AACzC,2CAAa,cAAc;AAC3B,SAAO;AACT;AAcO,SAAS,cAAc,SAA0B;AAzBxD;AA0BE,MAAI,IAAI;AACR,MAAI,SAAS;AACX,QAAI,QAAQ,IAAI,aAAa,QAAQ;AACnC,UAAI;AAAA,IACN,OAAO;AACL,cAAQ,KAAK,oGAAoG;AAAA,IACnH;AAAA,EACF;AAEA,MAAI;AACF,QACE,UAAU,KACV,OAAO,EAAE,SAAS,YAClB,EAAE,QACF,aAAa,EAAE,QACf,OAAO,EAAE,KAAK,YAAY,UAC1B;AACA,aAAO;AAAA,IACT;AACA,QACE,SAAS,KACT,OAAO,EAAE,QAAQ,YACjB,EAAE,OACF,aAAa,EAAE,OACf,OAAO,EAAE,IAAI,YAAY,UACzB;AACA,aAAO;AAAA,IACT;AACA,QACE,aAAa,KACb,OAAO,EAAE,YAAY,YACrB,EAAE,WACF,OAAO,EAAE,QAAQ,aAAa,YAC9B,OAAO,EAAE,QAAQ,SAAS,SAAS,UACnC;AACA,aAAO;AAAA,IACT;AACA,QACE,SAAO,OAAE,WAAF,mBAAU,cAAa,eAC9B,MAAM,EAAE,QACR;AACA,aAAO;AAAA,IACT;AACA,WAAO;AAAA,EACT,SAAS,OAAO;AACd,YAAQ,KAAK,sDAAsD,KAAK;AACxE,WAAO;AAAA,EACT;AACF;;;ACvEO,IAAM,wBAAwB;AAE9B,IAAM,mCAAmC;AACzC,IAAM,4BAA4B;AAClC,IAAM,yBAAyB;AAC/B,IAAM,wBAAwB;AAE9B,IAAM,mBAAmB;AACzB,IAAM,uBAAuB;AAE7B,IAAM,cAAc;AACpB,IAAM,YAAY;","names":[]}
@@ -1,3 +1,12 @@
1
+ import {
2
+ DEFAULT_ENDPOINT,
3
+ LANGWATCH_SDK_LANGUAGE,
4
+ LANGWATCH_SDK_NAME_OBSERVABILITY,
5
+ LANGWATCH_SDK_RUNTIME,
6
+ LANGWATCH_SDK_VERSION,
7
+ LOGS_PATH,
8
+ TRACES_PATH
9
+ } from "./chunk-CAVBDSBT.mjs";
1
10
  import {
2
11
  shouldCaptureOutput
3
12
  } from "./chunk-YNQ44U6D.mjs";
@@ -8,58 +17,6 @@ import {
8
17
 
9
18
  // src/observability-sdk/exporters/langwatch-trace-exporter.ts
10
19
  import { OTLPTraceExporter } from "@opentelemetry/exporter-trace-otlp-http";
11
-
12
- // package.json
13
- var version = "0.4.0";
14
-
15
- // src/internal/runtime.ts
16
- var _runtime;
17
- var getRuntime = () => {
18
- _runtime != null ? _runtime : _runtime = detectRuntime();
19
- return _runtime;
20
- };
21
- function detectRuntime(globals) {
22
- var _a;
23
- let g = globalThis;
24
- if (globals) {
25
- if (process.env.NODE_ENV === "test") {
26
- g = globals;
27
- } else {
28
- console.warn("[LangWatch Observability] overriding detectRuntime is only supported when running in NODE_ENV=test");
29
- }
30
- }
31
- try {
32
- if ("Deno" in g && typeof g.Deno === "object" && g.Deno && "version" in g.Deno && typeof g.Deno.version === "object") {
33
- return "deno";
34
- }
35
- if ("Bun" in g && typeof g.Bun === "object" && g.Bun && "version" in g.Bun && typeof g.Bun.version === "string") {
36
- return "bun";
37
- }
38
- if ("process" in g && typeof g.process === "object" && g.process && typeof g.process.versions === "object" && typeof g.process.versions.node === "string") {
39
- return "node";
40
- }
41
- if (typeof ((_a = g.window) == null ? void 0 : _a.document) !== "undefined" && g === g.window) {
42
- return "web";
43
- }
44
- return "unknown";
45
- } catch (error) {
46
- console.warn("[LangWatch Observability] Failed to detect runtime", error);
47
- return "unknown";
48
- }
49
- }
50
-
51
- // src/internal/constants.ts
52
- var LANGWATCH_SDK_RUNTIME = getRuntime;
53
- var LANGWATCH_SDK_NAME_OBSERVABILITY = "langwatch-observability-sdk";
54
- var LANGWATCH_SDK_NAME_CLIENT = "langwatch-client-sdk";
55
- var LANGWATCH_SDK_LANGUAGE = "typescript";
56
- var LANGWATCH_SDK_VERSION = version;
57
- var DEFAULT_ENDPOINT = "https://app.langwatch.ai/";
58
- var DEFAULT_SERVICE_NAME = "unknown-service.langwatch";
59
- var TRACES_PATH = "/api/otel/v1/traces";
60
- var LOGS_PATH = "/api/otel/v1/logs";
61
-
62
- // src/observability-sdk/exporters/langwatch-trace-exporter.ts
63
20
  var LangWatchTraceExporter = class extends OTLPTraceExporter {
64
21
  /**
65
22
  * Creates a new LangWatchExporter instance.
@@ -75,7 +32,7 @@ var LangWatchTraceExporter = class extends OTLPTraceExporter {
75
32
  constructor(opts) {
76
33
  var _a, _b, _c, _d;
77
34
  const apiKey = (_b = (_a = opts == null ? void 0 : opts.apiKey) != null ? _a : process.env.LANGWATCH_API_KEY) != null ? _b : "";
78
- const endpoint = (_d = (_c = opts == null ? void 0 : opts.endpoint) != null ? _c : process.env.LANGWATCH_ENDPOINT) != null ? _d : "https://app.langwatch.ai";
35
+ const endpoint = (_d = (_c = opts == null ? void 0 : opts.endpoint) != null ? _c : process.env.LANGWATCH_ENDPOINT) != null ? _d : DEFAULT_ENDPOINT;
79
36
  if (opts && opts.includeAllSpans !== void 0) {
80
37
  console.warn(
81
38
  "[LangWatchExporter] The behavior of `includeAllSpans` is deprecated and will be removed in a future version"
@@ -115,7 +72,7 @@ var LangWatchLogsExporter = class extends OTLPLogExporter {
115
72
  constructor(opts) {
116
73
  var _a, _b, _c, _d;
117
74
  const apiKey = (_b = (_a = opts == null ? void 0 : opts.apiKey) != null ? _a : process.env.LANGWATCH_API_KEY) != null ? _b : "";
118
- const endpoint = (_d = (_c = opts == null ? void 0 : opts.endpoint) != null ? _c : process.env.LANGWATCH_ENDPOINT) != null ? _d : "https://app.langwatch.ai";
75
+ const endpoint = (_d = (_c = opts == null ? void 0 : opts.endpoint) != null ? _c : process.env.LANGWATCH_ENDPOINT) != null ? _d : DEFAULT_ENDPOINT;
119
76
  const url = new URL(LOGS_PATH, endpoint);
120
77
  const otelEndpoint = url.toString();
121
78
  super({
@@ -230,29 +187,21 @@ var currentLoggerProvider = new NoopLoggerProvider();
230
187
  function setLangWatchLoggerProvider(loggerProvider) {
231
188
  currentLoggerProvider = loggerProvider;
232
189
  }
233
- function getLangWatchLogger(name, version2) {
234
- return getLangWatchLoggerFromProvider(currentLoggerProvider, name, version2);
190
+ function getLangWatchLogger(name, version) {
191
+ return getLangWatchLoggerFromProvider(currentLoggerProvider, name, version);
235
192
  }
236
- function getLangWatchLoggerFromProvider(loggerProvider, name, version2) {
237
- return createLangWatchLogger(loggerProvider.getLogger(name, version2));
193
+ function getLangWatchLoggerFromProvider(loggerProvider, name, version) {
194
+ return createLangWatchLogger(loggerProvider.getLogger(name, version));
238
195
  }
239
196
  function createLangWatchLogger(logger) {
240
197
  return new LangWatchLoggerInternal(logger);
241
198
  }
242
199
 
243
200
  export {
244
- version,
245
- LANGWATCH_SDK_RUNTIME,
246
- LANGWATCH_SDK_NAME_OBSERVABILITY,
247
- LANGWATCH_SDK_NAME_CLIENT,
248
- LANGWATCH_SDK_LANGUAGE,
249
- LANGWATCH_SDK_VERSION,
250
- DEFAULT_ENDPOINT,
251
- DEFAULT_SERVICE_NAME,
252
201
  LangWatchTraceExporter,
253
202
  LangWatchLogsExporter,
254
203
  setLangWatchLoggerProvider,
255
204
  getLangWatchLogger,
256
205
  getLangWatchLoggerFromProvider
257
206
  };
258
- //# sourceMappingURL=chunk-PGWR3OQY.mjs.map
207
+ //# sourceMappingURL=chunk-ENSRDEDA.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/observability-sdk/exporters/langwatch-trace-exporter.ts","../src/observability-sdk/exporters/langwatch-logs-exporter.ts","../src/observability-sdk/semconv/events.ts","../src/observability-sdk/logger/index.ts","../src/observability-sdk/logger/implementation.ts"],"sourcesContent":["import { OTLPTraceExporter } from \"@opentelemetry/exporter-trace-otlp-http\";\nimport {\n DEFAULT_ENDPOINT,\n LANGWATCH_SDK_LANGUAGE,\n LANGWATCH_SDK_NAME_OBSERVABILITY,\n LANGWATCH_SDK_RUNTIME,\n LANGWATCH_SDK_VERSION,\n TRACES_PATH,\n} from \"../../internal/constants\";\n\nexport interface LangWatchTraceExporterOptions {\n endpoint?: string;\n apiKey?: string;\n includeAllSpans?: boolean;\n debug?: boolean;\n}\n\n/**\n * LangWatchTraceExporter extends the OpenTelemetry OTLP HTTP trace exporter\n * to send trace data to LangWatch with proper authentication and metadata headers.\n *\n * This exporter automatically configures:\n * - Authorization headers using the provided API key or environment variables/fallback\n * - SDK version and language identification headers\n * - Proper endpoint configuration for LangWatch ingestion using provided URL or environment variables/fallback\n *\n * @example\n * ```typescript\n * import { LangWatchTraceExporter } from '@langwatch/observability';\n *\n * // Using environment variables/fallback configuration\n * const exporter = new LangWatchTraceExporter();\n *\n * // Using custom options\n * const exporter = new LangWatchTraceExporter({\n * apiKey: 'your-api-key',\n * endpoint: 'https://custom.langwatch.com'\n * });\n * ```\n */\nexport class LangWatchTraceExporter extends OTLPTraceExporter {\n /**\n * Creates a new LangWatchExporter instance.\n *\n * @param opts - Optional configuration options for the exporter\n * @param opts.apiKey - Optional API key for LangWatch authentication. If not provided,\n * will use environment variables or fallback configuration.\n * @param opts.endpoint - Optional custom endpoint URL for LangWatch ingestion.\n * If not provided, will use environment variables or fallback configuration.\n * @param opts.includeAllSpans - Deprecated: This option is deprecated and will be removed in a future version\n * @param opts.debug - Deprecated: This option is deprecated and will be removed in a future version\n */\n constructor(opts?: LangWatchTraceExporterOptions) {\n const apiKey = opts?.apiKey ?? process.env.LANGWATCH_API_KEY ?? \"\";\n const endpoint =\n opts?.endpoint ??\n process.env.LANGWATCH_ENDPOINT ??\n DEFAULT_ENDPOINT;\n\n if (opts && opts.includeAllSpans !== void 0) {\n console.warn(\n \"[LangWatchExporter] The behavior of `includeAllSpans` is deprecated and will be removed in a future version\",\n );\n }\n if (opts && opts.debug !== void 0) {\n console.warn(\n \"[LangWatchExporter] The behavior of `debug` is deprecated and will be removed in a future version\",\n );\n }\n\n const url = new URL(TRACES_PATH, endpoint);\n const otelEndpoint = url.toString();\n\n super({\n headers: {\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-runtime\": LANGWATCH_SDK_RUNTIME(),\n ...(apiKey ? { authorization: `Bearer ${apiKey}` } : {}),\n },\n url: otelEndpoint.toString(),\n });\n }\n}\n","import { OTLPLogExporter } from \"@opentelemetry/exporter-logs-otlp-http\";\nimport {\n DEFAULT_ENDPOINT,\n LANGWATCH_SDK_LANGUAGE,\n LANGWATCH_SDK_NAME_OBSERVABILITY,\n LANGWATCH_SDK_RUNTIME,\n LANGWATCH_SDK_VERSION,\n LOGS_PATH,\n} from \"../../internal/constants\";\n\nexport interface LangWatchLogsExporterOptions {\n endpoint?: string;\n apiKey?: string;\n}\n\n/**\n * LangWatchLogsExporter extends the OpenTelemetry OTLP HTTP logs exporter\n * to send logs to LangWatch with proper authentication and metadata headers.\n *\n * This exporter automatically configures:\n * - Authorization headers using the provided API key or environment variables/fallback\n * - SDK version and language identification headers\n * - Proper endpoint configuration for LangWatch ingestion using provided URL or environment variables/fallback\n *\n * @example\n * ```typescript\n * import { LangWatchLogsExporter } from '@langwatch/observability';\n *\n * // Using environment variables/fallback configuration\n * const exporter = new LangWatchLogsExporter();\n *\n * // Using custom options\n * const exporter = new LangWatchLogsExporter({\n * apiKey: 'your-api-key',\n * endpoint: 'https://custom.langwatch.com'\n * });\n * ```\n */\nexport class LangWatchLogsExporter extends OTLPLogExporter {\n /**\n * Creates a new LangWatchLogsExporter instance.\n *\n * @param opts - Optional configuration options for the exporter.\n * @param opts.apiKey - Optional API key for LangWatch authentication. If not provided,\n * will use environment variables or fallback configuration.\n * @param opts.endpoint - Optional custom endpoint URL for LangWatch ingestion.\n * If not provided, will use environment variables or fallback configuration.\n */\n constructor(opts?: LangWatchLogsExporterOptions) {\n const apiKey = opts?.apiKey ?? process.env.LANGWATCH_API_KEY ?? \"\";\n const endpoint =\n opts?.endpoint ??\n process.env.LANGWATCH_ENDPOINT ??\n DEFAULT_ENDPOINT;\n\n const url = new URL(LOGS_PATH, endpoint);\n const otelEndpoint = url.toString();\n\n super({\n headers: {\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-runtime\": LANGWATCH_SDK_RUNTIME(),\n ...(apiKey ? { authorization: `Bearer ${apiKey}` } : {}),\n },\n url: otelEndpoint.toString(),\n });\n }\n}\n","/*\n This file contains the values for the OpenTelemetry semantic conventions for GenAI log\n record event names.\n\n 👉 https://opentelemetry.io/docs/specs/semconv/gen-ai/gen-ai-events/\n*/\n\n/**\n * GenAI system message event name\n * Used for log records representing system messages in AI conversations\n */\nexport const LOG_EVNT_GEN_AI_SYSTEM_MESSAGE = \"gen.ai.system_message\";\n\n/**\n * GenAI user message event name\n * Used for log records representing user messages in AI conversations\n */\nexport const LOG_EVNT_GEN_AI_USER_MESSAGE = \"gen.ai.user_message\";\n\n/**\n * GenAI assistant message event name\n * Used for log records representing assistant responses in AI conversations\n */\nexport const LOG_EVNT_GEN_AI_ASSISTANT_MESSAGE = \"gen.ai.assistant_message\";\n\n/**\n * GenAI tool message event name\n * Used for log records representing tool calls or responses in AI conversations\n */\nexport const LOG_EVNT_GEN_AI_TOOL_MESSAGE = \"gen.ai.tool_message\";\n\n/**\n * GenAI choice event name\n * Used for log records representing choices made by AI models\n */\nexport const LOG_EVNT_GEN_AI_CHOICE = \"gen.ai.choice\";\n\n/**\n * LangWatch LangChain callback event name\n * Used for log records representing LangChain callback events\n */\nexport const EVNT_LANGWATCH_LANGCHAIN_CALLBACK = \"langwatch.langchain.callback\";\n","import {\n type Logger,\n type LoggerProvider,\n NoopLoggerProvider,\n} from \"@opentelemetry/api-logs\";\nimport {\n type LangWatchLogger,\n} from \"./types\";\nimport { LangWatchLoggerInternal } from \"./implementation\";\n\n/**\n * The LangWatch-specific global logger provider. It may not be the same as the current\n * OpenTelemetry global logger provider, but it's the last one the `setupObservability`\n * knows about.\n * @internal\n */\nlet currentLoggerProvider: LoggerProvider = new NoopLoggerProvider();\n\n/**\n * @module observability/logger\n * @description\n * Provides LangWatch logger integration with OpenTelemetry, including logger provider\n * management and logger creation utilities.\n *\n * @remarks\n * This module allows you to set a global logger provider, retrieve LangWatch loggers,\n * and wrap OpenTelemetry loggers with LangWatch-specific functionality.\n *\n * @see {@link setLangWatchLoggerProvider}\n * @see {@link getLangWatchLogger}\n * @see {@link getLangWatchLoggerFromProvider}\n * @see {@link createLangWatchLogger}\n */\nexport function setLangWatchLoggerProvider(\n loggerProvider: LoggerProvider,\n): void {\n currentLoggerProvider = loggerProvider;\n}\n\n/**\n * Retrieves a LangWatch logger with the specified name and optional version.\n *\n * @param name - The name of the logger (typically your service or module name).\n * @param version - (Optional) The version of the logger.\n * @returns A {@link LangWatchLogger} instance.\n *\n * @remarks\n * Uses the logger provider set during observability setup. If no provider is set, returns\n * a NoOp logger.\n *\n * @example\n * ```ts\n * const logger = getLangWatchLogger(\"my-service\");\n * logger.info(\"Service started\");\n * ```\n *\n * @see {@link setLangWatchLoggerProvider}\n */\nexport function getLangWatchLogger(\n name: string,\n version?: string,\n): LangWatchLogger {\n return getLangWatchLoggerFromProvider(currentLoggerProvider, name, version);\n}\n\n/**\n * Retrieves a LangWatch logger from a specific OpenTelemetry logger provider.\n *\n * @param loggerProvider - The OpenTelemetry logger provider to use.\n * @param name - The name of the logger.\n * @param version - (Optional) The version of the logger.\n * @returns A {@link LangWatchLogger} instance.\n *\n * @remarks\n * Use this function if you want to use a custom logger provider instead of the global one.\n *\n * @example\n * ```ts\n * const customProvider = new LoggerProvider();\n * const logger = getLangWatchLoggerFromProvider(customProvider, \"custom-service\");\n * ```\n */\nexport function getLangWatchLoggerFromProvider(\n loggerProvider: LoggerProvider,\n name: string,\n version?: string,\n): LangWatchLogger {\n return createLangWatchLogger(loggerProvider.getLogger(name, version));\n}\n\n/**\n * Wraps an OpenTelemetry logger as a LangWatch logger.\n *\n * @param logger - The OpenTelemetry logger to wrap.\n * @returns A {@link LangWatchLogger} instance.\n *\n * @example\n * ```ts\n * import { Logger } from \"@opentelemetry/api-logs\";\n * const otelLogger = new Logger();\n * const lwLogger = createLangWatchLogger(otelLogger);\n * lwLogger.info(\"Wrapped logger\");\n * ```\n */\nexport function createLangWatchLogger(logger: Logger): LangWatchLogger {\n return new LangWatchLoggerInternal(logger);\n}\n\n// Export types and implementation\nexport * from \"./types\";\nexport * from \"./implementation\";\n","import {\n type AnyValue,\n type Logger,\n} from \"@opentelemetry/api-logs\";\nimport {\n type EmitOptions,\n type LangWatchLogger,\n type LangWatchLogRecord,\n type LangWatchSpanGenAIAssistantMessageEventBody,\n type LangWatchSpanGenAIChoiceEventBody,\n type LangWatchSpanGenAISystemMessageEventBody,\n type LangWatchSpanGenAIToolMessageEventBody,\n type LangWatchSpanGenAIUserMessageEventBody,\n} from \"./types\";\nimport { shouldCaptureOutput } from \"../config\";\nimport * as intSemconv from \"../semconv\";\nimport { type SemConvLogRecordAttributes } from \"../semconv\";\nimport { context } from \"@opentelemetry/api\";\n\n/**\n * Internal implementation of {@link LangWatchLogger}.\n *\n * @remarks\n * This class wraps an OpenTelemetry logger and adds LangWatch-specific functionality for\n * structured logging and event emission.\n * Not intended for direct use; use {@link getLangWatchLogger} or\n * {@link createLangWatchLogger} instead.\n */\nexport class LangWatchLoggerInternal implements LangWatchLogger {\n constructor(private logger: Logger) {}\n\n emit(logRecord: LangWatchLogRecord, options?: EmitOptions): void {\n // Handle output capture configuration\n if (!shouldCaptureOutput()) {\n logRecord.body = void 0;\n }\n\n // Set context if not provided and not explicitly excluded\n if (!logRecord.context && !options?.excludeContext) {\n logRecord.context = context.active();\n }\n\n // Emit the log record through the underlying OpenTelemetry logger\n this.logger.emit(logRecord);\n }\n\n emitGenAISystemMessageEvent(\n body: LangWatchSpanGenAISystemMessageEventBody,\n system?: intSemconv.VAL_GEN_AI_SYSTEMS | (string & {}),\n attributes?: SemConvLogRecordAttributes,\n ): void {\n this.emitGenAIEvent(\n intSemconv.LOG_EVNT_GEN_AI_SYSTEM_MESSAGE,\n { ...body, role: body.role ?? \"system\" } satisfies LangWatchSpanGenAISystemMessageEventBody,\n {\n ...attributes,\n \"gen_ai.system\": system,\n },\n );\n }\n\n emitGenAIUserMessageEvent(\n body: LangWatchSpanGenAIUserMessageEventBody,\n system?: intSemconv.VAL_GEN_AI_SYSTEMS | (string & {}),\n attributes?: SemConvLogRecordAttributes,\n ) {\n this.emitGenAIEvent(\n intSemconv.LOG_EVNT_GEN_AI_USER_MESSAGE,\n { ...body, role: body.role ?? \"user\" } satisfies LangWatchSpanGenAIUserMessageEventBody,\n {\n ...attributes,\n \"gen_ai.system\": system,\n },\n );\n }\n\n emitGenAIAssistantMessageEvent(\n body: LangWatchSpanGenAIAssistantMessageEventBody,\n system?: intSemconv.VAL_GEN_AI_SYSTEMS | (string & {}),\n attributes?: SemConvLogRecordAttributes,\n ) {\n this.emitGenAIEvent(\n intSemconv.LOG_EVNT_GEN_AI_ASSISTANT_MESSAGE,\n { ...body, role: body.role ?? \"assistant\" } satisfies LangWatchSpanGenAIAssistantMessageEventBody,\n {\n ...attributes,\n \"gen_ai.system\": system,\n },\n );\n }\n\n emitGenAIToolMessageEvent(\n body: LangWatchSpanGenAIToolMessageEventBody,\n system?: intSemconv.VAL_GEN_AI_SYSTEMS | (string & {}),\n attributes?: SemConvLogRecordAttributes,\n ) {\n if (body.role === void 0) {\n body.role = \"tool\";\n }\n\n this.emitGenAIEvent(\n intSemconv.LOG_EVNT_GEN_AI_TOOL_MESSAGE,\n { ...body },\n {\n ...attributes,\n \"gen_ai.system\": system,\n },\n );\n }\n\n emitGenAIChoiceEvent(\n body: LangWatchSpanGenAIChoiceEventBody,\n system?: intSemconv.VAL_GEN_AI_SYSTEMS | (string & {}),\n attributes?: SemConvLogRecordAttributes,\n ) {\n if (body.message && body.message.role === void 0) {\n body.message.role = \"assistant\";\n }\n\n this.emitGenAIEvent(\n intSemconv.LOG_EVNT_GEN_AI_CHOICE,\n {\n ...body,\n message: { ...body.message, role: body.message?.role ?? \"assistant\" },\n } satisfies LangWatchSpanGenAIChoiceEventBody,\n {\n ...attributes,\n \"gen_ai.system\": system,\n },\n );\n }\n\n private emitGenAIEvent(\n eventName: string,\n body: AnyValue,\n attributes?: SemConvLogRecordAttributes,\n ): void {\n this.emit({\n eventName,\n context: context.active(),\n attributes: { ...attributes },\n body: shouldCaptureOutput() ? body : void 0,\n observedTimestamp: new Date().getTime(),\n });\n }\n}\n"],"mappings":"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","names":[]}
@@ -32,4 +32,4 @@ var parsePromptSpec = (spec) => {
32
32
 
33
33
 
34
34
  exports.localPromptConfigSchema = localPromptConfigSchema; exports.parsePromptSpec = parsePromptSpec;
35
- //# sourceMappingURL=chunk-HA3LI5IK.js.map
35
+ //# sourceMappingURL=chunk-I5NDMIK5.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/langwatch/langwatch/typescript-sdk/dist/chunk-HA3LI5IK.js","../src/cli/types.ts"],"names":[],"mappings":"AAAA;ACAA,0BAAkB;AAcX,IAAM,wBAAA,EAA0B,MAAA,CACpC,MAAA,CAAO;AAAA,EACN,KAAA,EAAO,MAAA,CAAE,MAAA,CAAO,CAAA,CAAE,GAAA,CAAI,CAAA,EAAG,mBAAmB,CAAA;AAAA,EAC5C,eAAA,EAAiB,MAAA,CACd,MAAA,CAAO;AAAA,IACN,WAAA,EAAa,MAAA,CAAE,MAAA,CAAO,CAAA,CAAE,QAAA,CAAS,CAAA;AAAA,IACjC,UAAA,EAAY,MAAA,CAAE,MAAA,CAAO,CAAA,CAAE,QAAA,CAAS;AAAA,EAClC,CAAC,CAAA,CACA,KAAA,CAAM,CAAA,CACN,QAAA,CAAS,CAAA;AAAA,EACZ,QAAA,EAAU,MAAA,CACP,KAAA;AAAA,IACC,MAAA,CACG,MAAA,CAAO;AAAA,MACN,IAAA,EAAM,MAAA,CAAE,IAAA,CAAK,CAAC,QAAA,EAAU,MAAA,EAAQ,WAAW,CAAC,CAAA;AAAA,MAC5C,OAAA,EAAS,MAAA,CAAE,MAAA,CAAO,CAAA,CAAE,GAAA,CAAI,CAAA,EAAG,iCAAiC;AAAA,IAC9D,CAAC,CAAA,CACA,KAAA,CAAM;AAAA,EACX,CAAA,CACC,GAAA,CAAI,CAAA,EAAG,kCAAkC;AAC9C,CAAC,CAAA,CACA,KAAA,CAAM,CAAA;AAuCF,IAAM,gBAAA,EAAkB,CAC7B,IAAA,EAAA,GACsC;AACtC,EAAA,MAAM,QAAA,EAAU,IAAA,CAAK,WAAA,CAAY,GAAG,CAAA;AACpC,EAAA,GAAA,CAAI,QAAA,IAAY,CAAA,CAAA,EAAI;AAClB,IAAA,OAAO,EAAE,IAAA,EAAM,IAAA,EAAM,OAAA,EAAS,SAAS,CAAA;AAAA,EACzC;AAEA,EAAA,MAAM,KAAA,EAAO,IAAA,CAAK,KAAA,CAAM,CAAA,EAAG,OAAO,CAAA;AAClC,EAAA,MAAM,QAAA,EAAU,IAAA,CAAK,KAAA,CAAM,QAAA,EAAU,CAAC,CAAA;AAEtC,EAAA,GAAA,CAAI,CAAC,KAAA,GAAQ,CAAC,OAAA,EAAS;AACrB,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,CAAA,8BAAA,EAAiC,IAAI,CAAA,0CAAA;AAAA,IACvC,CAAA;AAAA,EACF;AAEA,EAAA,OAAO,EAAE,IAAA,EAAM,QAAQ,CAAA;AACzB,CAAA;AD/DA;AACA;AACE;AACA;AACF,qGAAC","file":"/home/runner/work/langwatch/langwatch/typescript-sdk/dist/chunk-HA3LI5IK.js","sourcesContent":[null,"import { z } from \"zod\";\n\nexport type PromptDependency =\n | string\n | {\n version?: string;\n file?: string;\n };\n\nexport type PromptsConfig = {\n prompts: Record<string, PromptDependency>;\n};\n\n// Zod schema for local prompt config with permissive validation\nexport const localPromptConfigSchema = z\n .object({\n model: z.string().min(1, \"Model is required\"),\n modelParameters: z\n .object({\n temperature: z.number().optional(),\n max_tokens: z.number().optional(),\n })\n .loose()\n .optional(),\n messages: z\n .array(\n z\n .object({\n role: z.enum([\"system\", \"user\", \"assistant\"]),\n content: z.string().min(1, \"Message content cannot be empty\"),\n })\n .loose(),\n )\n .min(1, \"At least one message is required\"),\n })\n .loose();\n\nexport type LocalPromptConfig = z.infer<typeof localPromptConfigSchema>;\n\nexport type MaterializedPrompt = {\n id: string;\n name: string;\n version: number;\n versionId: string;\n model: string;\n messages: Array<{\n role: \"system\" | \"user\" | \"assistant\";\n content: string;\n }>;\n prompt: string;\n updatedAt: string;\n versionCreatedAt: string;\n};\n\nexport type SyncResult = {\n fetched: Array<{ name: string; version: number; versionSpec: string }>;\n pushed: Array<{ name: string; version: number }>;\n unchanged: string[];\n cleaned: string[];\n errors: Array<{ name: string; error: string }>;\n};\n\nexport type PromptsLockEntry = {\n version: number;\n versionId: string;\n materialized: string;\n};\n\nexport type PromptsLock = {\n lockfileVersion: number;\n prompts: Record<string, PromptsLockEntry>;\n};\n\n// Parse npm-style version specifications like \"foo@latest\" or \"bar@5\"\nexport const parsePromptSpec = (\n spec: string,\n): { name: string; version: string } => {\n const atIndex = spec.lastIndexOf(\"@\");\n if (atIndex === -1) {\n return { name: spec, version: \"latest\" };\n }\n\n const name = spec.slice(0, atIndex);\n const version = spec.slice(atIndex + 1);\n\n if (!name || !version) {\n throw new Error(\n `Invalid prompt specification: ${spec}. Use format 'name@version' or just 'name'`,\n );\n }\n\n return { name, version };\n};\n"]}
1
+ {"version":3,"sources":["/home/runner/work/langwatch/langwatch/typescript-sdk/dist/chunk-I5NDMIK5.js","../src/cli/types.ts"],"names":[],"mappings":"AAAA;ACAA,0BAAkB;AAcX,IAAM,wBAAA,EAA0B,MAAA,CACpC,MAAA,CAAO;AAAA,EACN,KAAA,EAAO,MAAA,CAAE,MAAA,CAAO,CAAA,CAAE,GAAA,CAAI,CAAA,EAAG,mBAAmB,CAAA;AAAA,EAC5C,eAAA,EAAiB,MAAA,CACd,MAAA,CAAO;AAAA,IACN,WAAA,EAAa,MAAA,CAAE,MAAA,CAAO,CAAA,CAAE,QAAA,CAAS,CAAA;AAAA,IACjC,UAAA,EAAY,MAAA,CAAE,MAAA,CAAO,CAAA,CAAE,QAAA,CAAS;AAAA,EAClC,CAAC,CAAA,CACA,KAAA,CAAM,CAAA,CACN,QAAA,CAAS,CAAA;AAAA,EACZ,QAAA,EAAU,MAAA,CACP,KAAA;AAAA,IACC,MAAA,CACG,MAAA,CAAO;AAAA,MACN,IAAA,EAAM,MAAA,CAAE,IAAA,CAAK,CAAC,QAAA,EAAU,MAAA,EAAQ,WAAW,CAAC,CAAA;AAAA,MAC5C,OAAA,EAAS,MAAA,CAAE,MAAA,CAAO,CAAA,CAAE,GAAA,CAAI,CAAA,EAAG,iCAAiC;AAAA,IAC9D,CAAC,CAAA,CACA,KAAA,CAAM;AAAA,EACX,CAAA,CACC,GAAA,CAAI,CAAA,EAAG,kCAAkC;AAC9C,CAAC,CAAA,CACA,KAAA,CAAM,CAAA;AAsCF,IAAM,gBAAA,EAAkB,CAC7B,IAAA,EAAA,GACsC;AACtC,EAAA,MAAM,QAAA,EAAU,IAAA,CAAK,WAAA,CAAY,GAAG,CAAA;AACpC,EAAA,GAAA,CAAI,QAAA,IAAY,CAAA,CAAA,EAAI;AAClB,IAAA,OAAO,EAAE,IAAA,EAAM,IAAA,EAAM,OAAA,EAAS,SAAS,CAAA;AAAA,EACzC;AAEA,EAAA,MAAM,KAAA,EAAO,IAAA,CAAK,KAAA,CAAM,CAAA,EAAG,OAAO,CAAA;AAClC,EAAA,MAAM,QAAA,EAAU,IAAA,CAAK,KAAA,CAAM,QAAA,EAAU,CAAC,CAAA;AAEtC,EAAA,GAAA,CAAI,CAAC,KAAA,GAAQ,CAAC,OAAA,EAAS;AACrB,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,CAAA,8BAAA,EAAiC,IAAI,CAAA,0CAAA;AAAA,IACvC,CAAA;AAAA,EACF;AAEA,EAAA,OAAO,EAAE,IAAA,EAAM,QAAQ,CAAA;AACzB,CAAA;AD9DA;AACA;AACE;AACA;AACF,qGAAC","file":"/home/runner/work/langwatch/langwatch/typescript-sdk/dist/chunk-I5NDMIK5.js","sourcesContent":[null,"import { z } from \"zod\";\n\nexport type PromptDependency =\n | string\n | {\n version?: string;\n file?: string;\n };\n\nexport type PromptsConfig = {\n prompts: Record<string, PromptDependency>;\n};\n\n// Zod schema for local prompt config with permissive validation\nexport const localPromptConfigSchema = z\n .object({\n model: z.string().min(1, \"Model is required\"),\n modelParameters: z\n .object({\n temperature: z.number().optional(),\n max_tokens: z.number().optional(),\n })\n .loose()\n .optional(),\n messages: z\n .array(\n z\n .object({\n role: z.enum([\"system\", \"user\", \"assistant\"]),\n content: z.string().min(1, \"Message content cannot be empty\"),\n })\n .loose(),\n )\n .min(1, \"At least one message is required\"),\n })\n .loose();\n\nexport type LocalPromptConfig = z.infer<typeof localPromptConfigSchema>;\n\nexport type MaterializedPrompt = {\n id: string;\n name: string;\n version: number;\n versionId: string;\n model: string;\n messages: Array<{\n role: \"system\" | \"user\" | \"assistant\";\n content: string;\n }>;\n prompt: string;\n updatedAt: string;\n};\n\nexport type SyncResult = {\n fetched: Array<{ name: string; version: number; versionSpec: string }>;\n pushed: Array<{ name: string; version: number }>;\n unchanged: string[];\n cleaned: string[];\n errors: Array<{ name: string; error: string }>;\n};\n\nexport type PromptsLockEntry = {\n version: number;\n versionId: string;\n materialized: string;\n};\n\nexport type PromptsLock = {\n lockfileVersion: number;\n prompts: Record<string, PromptsLockEntry>;\n};\n\n// Parse npm-style version specifications like \"foo@latest\" or \"bar@5\"\nexport const parsePromptSpec = (\n spec: string,\n): { name: string; version: string } => {\n const atIndex = spec.lastIndexOf(\"@\");\n if (atIndex === -1) {\n return { name: spec, version: \"latest\" };\n }\n\n const name = spec.slice(0, atIndex);\n const version = spec.slice(atIndex + 1);\n\n if (!name || !version) {\n throw new Error(\n `Invalid prompt specification: ${spec}. Use format 'name@version' or just 'name'`,\n );\n }\n\n return { name, version };\n};\n"]}
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
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; } }
2
2
 
3
3
 
4
4
 
@@ -283,7 +283,7 @@ var contextsSchema = _zod.z.object({
283
283
  });
284
284
 
285
285
  // src/observability-sdk/span/implementation.ts
286
- var _incubating = require('@opentelemetry/semantic-conventions/incubating'); var _incubating2 = _interopRequireDefault(_incubating);
286
+ var _incubating = require('@opentelemetry/semantic-conventions/incubating'); var semconv = _interopRequireWildcard(_incubating);
287
287
 
288
288
  // src/observability-sdk/span/input-output.ts
289
289
 
@@ -475,10 +475,10 @@ var LangWatchSpanInternal = class {
475
475
  });
476
476
  }
477
477
  setRequestModel(model) {
478
- return this.setAttribute(_incubating2.default.ATTR_GEN_AI_REQUEST_MODEL, model);
478
+ return this.setAttribute(semconv.ATTR_GEN_AI_REQUEST_MODEL, model);
479
479
  }
480
480
  setResponseModel(model) {
481
- return this.setAttribute(_incubating2.default.ATTR_GEN_AI_RESPONSE_MODEL, model);
481
+ return this.setAttribute(semconv.ATTR_GEN_AI_RESPONSE_MODEL, model);
482
482
  }
483
483
  setRAGContexts(ragContexts) {
484
484
  return this.setAttribute(
@@ -623,4 +623,4 @@ function normalizeSpanArgs(args) {
623
623
 
624
624
 
625
625
  exports.spanTypes = spanTypes; exports.chatMessageSchema = chatMessageSchema; exports.createLangWatchSpan = createLangWatchSpan; exports.getLangWatchTracer = getLangWatchTracer; exports.getLangWatchTracerFromProvider = getLangWatchTracerFromProvider;
626
- //# sourceMappingURL=chunk-M4VUHTT2.js.map
626
+ //# sourceMappingURL=chunk-ILTCLEIF.js.map