langwatch 0.16.1 → 0.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{add-H5KAG6WK.mjs → add-5RVW7RGD.mjs} +7 -7
- package/dist/{add-VERZBAAU.js → add-MJE7G2BM.js} +10 -10
- package/dist/{add-VERZBAAU.js.map → add-MJE7G2BM.js.map} +1 -1
- package/dist/{chunk-LOVNOYYC.mjs → chunk-3NPLA2MU.mjs} +2 -2
- package/dist/{chunk-ZSALL3F3.js → chunk-5LYWRKDF.js} +5 -2
- package/dist/chunk-5LYWRKDF.js.map +1 -0
- package/dist/{chunk-RC5UD4BW.mjs → chunk-AXCVJYSK.mjs} +12 -19
- package/dist/chunk-AXCVJYSK.mjs.map +1 -0
- package/dist/{chunk-BJFZUNQP.js → chunk-DKEWJFMO.js} +17 -17
- package/dist/{chunk-BJFZUNQP.js.map → chunk-DKEWJFMO.js.map} +1 -1
- package/dist/{chunk-5FBGDIHX.js → chunk-EHWKVO46.js} +31 -34
- package/dist/chunk-EHWKVO46.js.map +1 -0
- package/dist/{chunk-KJFN6D3P.mjs → chunk-FMYG6IOZ.mjs} +2 -2
- package/dist/{chunk-MGHXC55F.mjs → chunk-JVIQJFUE.mjs} +4 -1
- package/dist/{chunk-C2X4KWDK.js → chunk-KIFN3ONO.js} +40 -25
- package/dist/chunk-KIFN3ONO.js.map +1 -0
- package/dist/{chunk-L5UUBING.mjs → chunk-MRQNP55T.mjs} +16 -19
- package/dist/chunk-MRQNP55T.mjs.map +1 -0
- package/dist/{chunk-BKQY5RVH.mjs → chunk-NKGYK3B7.mjs} +33 -18
- package/dist/chunk-NKGYK3B7.mjs.map +1 -0
- package/dist/{chunk-IRGFB3BV.js → chunk-ODBP2KFB.js} +11 -11
- package/dist/{chunk-IRGFB3BV.js.map → chunk-ODBP2KFB.js.map} +1 -1
- package/dist/{chunk-CQ6LE6V4.js → chunk-QNT5P6VV.js} +2 -2
- package/dist/{chunk-CQ6LE6V4.js.map → chunk-QNT5P6VV.js.map} +1 -1
- package/dist/{chunk-ZJDIXB42.js → chunk-RPCEDRSR.js} +2 -2
- package/dist/{chunk-ZJDIXB42.js.map → chunk-RPCEDRSR.js.map} +1 -1
- package/dist/{chunk-PK2IYKBI.js → chunk-SAEA37H5.js} +14 -21
- package/dist/chunk-SAEA37H5.js.map +1 -0
- package/dist/{chunk-RYZHOFQM.mjs → chunk-WAHZXF7I.mjs} +2 -2
- package/dist/{chunk-SVJQD7JQ.mjs → chunk-WQ7AKXY7.mjs} +2 -2
- package/dist/chunk-WQ7AKXY7.mjs.map +1 -0
- package/dist/{chunk-L4INM3N7.mjs → chunk-WSSWTQIB.mjs} +3 -3
- package/dist/{chunk-BNFRYHOP.js → chunk-XEYCRZ64.js} +4 -4
- package/dist/{chunk-BNFRYHOP.js.map → chunk-XEYCRZ64.js.map} +1 -1
- package/dist/cli/index.js +8 -8
- package/dist/cli/index.mjs +8 -8
- package/dist/{implementation-ubgXW-8T.d.ts → implementation--OaaaMLb.d.ts} +3 -3
- package/dist/{implementation-CjoYqq-W.d.mts → implementation-CoqzgwCU.d.mts} +3 -3
- package/dist/index.d.mts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +32 -25
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +16 -9
- package/dist/index.mjs.map +1 -1
- package/dist/{list-QV73ABKP.mjs → list-IGP275AO.mjs} +7 -7
- package/dist/{list-6N352JKT.js → list-QMPURSWH.js} +10 -10
- package/dist/{list-6N352JKT.js.map → list-QMPURSWH.js.map} +1 -1
- package/dist/{login-PHAU2VBJ.mjs → login-EBPGM5GC.mjs} +2 -2
- package/dist/{login-7MN6QJCA.js → login-ZKVIVJC6.js} +3 -3
- package/dist/{login-7MN6QJCA.js.map → login-ZKVIVJC6.js.map} +1 -1
- package/dist/observability-sdk/index.d.mts +4 -4
- package/dist/observability-sdk/index.d.ts +4 -4
- package/dist/observability-sdk/index.js +6 -6
- package/dist/observability-sdk/index.mjs +5 -5
- package/dist/observability-sdk/instrumentation/langchain/index.d.mts +2 -2
- package/dist/observability-sdk/instrumentation/langchain/index.d.ts +2 -2
- package/dist/observability-sdk/instrumentation/langchain/index.js +16 -16
- package/dist/observability-sdk/instrumentation/langchain/index.mjs +2 -2
- package/dist/observability-sdk/setup/node/index.d.mts +17 -9
- package/dist/observability-sdk/setup/node/index.d.ts +17 -9
- package/dist/observability-sdk/setup/node/index.js +5 -5
- package/dist/observability-sdk/setup/node/index.mjs +4 -4
- package/dist/pull-22TPEMFM.js +20 -0
- package/dist/{pull-M4K3RJK4.js.map → pull-22TPEMFM.js.map} +1 -1
- package/dist/pull-3NWDN7CX.mjs +20 -0
- package/dist/push-3CMG3MTX.mjs +20 -0
- package/dist/push-7WZUQYC3.js +20 -0
- package/dist/{push-RBMMCBJV.js.map → push-7WZUQYC3.js.map} +1 -1
- package/dist/{remove-7FLHBPAH.js → remove-HPZGTSOK.js} +9 -9
- package/dist/{remove-7FLHBPAH.js.map → remove-HPZGTSOK.js.map} +1 -1
- package/dist/{remove-I3MLOKDK.mjs → remove-QJJWZ2ZA.mjs} +7 -7
- package/dist/{sync-2CIUEV2B.js → sync-67UMHLSY.js} +13 -13
- package/dist/{sync-2CIUEV2B.js.map → sync-67UMHLSY.js.map} +1 -1
- package/dist/{sync-HKGOBRN3.mjs → sync-BNPR6W4G.mjs} +9 -9
- package/dist/{types-DobBt1Tk.d.ts → types-AByjs5T0.d.ts} +3 -3
- package/dist/{types-EZcXXg5C.d.mts → types-DWVQcIaM.d.mts} +3 -3
- package/dist/{types-CCH1oIsx.d.mts → types-DYLY4SyT.d.mts} +1 -1
- package/dist/{types-CCH1oIsx.d.ts → types-DYLY4SyT.d.ts} +1 -1
- package/package.json +36 -6
- package/dist/chunk-5FBGDIHX.js.map +0 -1
- package/dist/chunk-BKQY5RVH.mjs.map +0 -1
- package/dist/chunk-C2X4KWDK.js.map +0 -1
- package/dist/chunk-L5UUBING.mjs.map +0 -1
- package/dist/chunk-PK2IYKBI.js.map +0 -1
- package/dist/chunk-RC5UD4BW.mjs.map +0 -1
- package/dist/chunk-SVJQD7JQ.mjs.map +0 -1
- package/dist/chunk-ZSALL3F3.js.map +0 -1
- package/dist/pull-ATOZJIXF.mjs +0 -20
- package/dist/pull-M4K3RJK4.js +0 -20
- package/dist/push-RBMMCBJV.js +0 -20
- package/dist/push-YJTRRJOZ.mjs +0 -20
- /package/dist/{add-H5KAG6WK.mjs.map → add-5RVW7RGD.mjs.map} +0 -0
- /package/dist/{chunk-LOVNOYYC.mjs.map → chunk-3NPLA2MU.mjs.map} +0 -0
- /package/dist/{chunk-KJFN6D3P.mjs.map → chunk-FMYG6IOZ.mjs.map} +0 -0
- /package/dist/{chunk-MGHXC55F.mjs.map → chunk-JVIQJFUE.mjs.map} +0 -0
- /package/dist/{chunk-RYZHOFQM.mjs.map → chunk-WAHZXF7I.mjs.map} +0 -0
- /package/dist/{chunk-L4INM3N7.mjs.map → chunk-WSSWTQIB.mjs.map} +0 -0
- /package/dist/{list-QV73ABKP.mjs.map → list-IGP275AO.mjs.map} +0 -0
- /package/dist/{login-PHAU2VBJ.mjs.map → login-EBPGM5GC.mjs.map} +0 -0
- /package/dist/{pull-ATOZJIXF.mjs.map → pull-3NWDN7CX.mjs.map} +0 -0
- /package/dist/{push-YJTRRJOZ.mjs.map → push-3CMG3MTX.mjs.map} +0 -0
- /package/dist/{remove-I3MLOKDK.mjs.map → remove-QJJWZ2ZA.mjs.map} +0 -0
- /package/dist/{sync-HKGOBRN3.mjs.map → sync-BNPR6W4G.mjs.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/langwatch/langwatch/typescript-sdk/dist/chunk-SAEA37H5.js","../src/cli/commands/push.ts"],"names":[],"mappings":"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","file":"/home/runner/work/langwatch/langwatch/typescript-sdk/dist/chunk-SAEA37H5.js","sourcesContent":[null,"import * as fs from \"fs\";\nimport * as path from \"path\";\nimport chalk from \"chalk\";\nimport ora from \"ora\";\nimport * as yaml from \"js-yaml\";\nimport { PromptConverter } from \"@/cli/utils/promptConverter\";\nimport {\n type ConfigData,\n PromptsApiService,\n PromptsError,\n type SyncAction,\n} from \"@/client-sdk/services/prompts\";\nimport type { PromptsConfig, PromptsLock, SyncResult } from \"../types\";\nimport { FileManager } from \"../utils/fileManager\";\nimport { ensureProjectInitialized } from \"../utils/init\";\nimport { checkApiKey } from \"../utils/apiKey\";\nimport readline from \"node:readline\";\n\n// Handle conflict resolution - show diff and ask user to choose\nconst handleConflict = async (\n promptName: string,\n conflictInfo: {\n localVersion: number;\n remoteVersion: number;\n differences: string[];\n remoteConfigData: any;\n }\n): Promise<\"local\" | \"remote\" | \"abort\"> => {\n console.log(\n chalk.yellow(`\\n⚠ Conflict detected for prompt: ${chalk.cyan(promptName)}`)\n );\n console.log(\n chalk.gray(\n `Local version: ${conflictInfo.localVersion}, Remote version: ${conflictInfo.remoteVersion}`\n )\n );\n\n if (conflictInfo.differences.length > 0) {\n console.log(chalk.yellow(\"\\nDifferences:\"));\n conflictInfo.differences.forEach((diff) => {\n console.log(chalk.gray(` • ${diff}`));\n });\n }\n\n console.log(chalk.yellow(\"\\nOptions:\"));\n console.log(\" [l] Use local version (overwrite remote)\");\n console.log(\" [r] Use remote version (overwrite local)\");\n console.log(\" [a] Abort push for this prompt\");\n\n const rl = readline.createInterface({\n input: process.stdin,\n output: process.stdout,\n });\n\n return new Promise((resolve) => {\n rl.question(\"Choose resolution (l/r/a): \", (answer: string) => {\n rl.close();\n const choice = answer.toLowerCase();\n if (choice === \"l\" || choice === \"local\") {\n resolve(\"local\");\n } else if (choice === \"r\" || choice === \"remote\") {\n resolve(\"remote\");\n } else {\n resolve(\"abort\");\n }\n });\n });\n};\n\n/**\n * Core push logic: pushes local prompts to the server.\n * Returns the result and mutates the lock object in place.\n */\nexport const pushPrompts = async ({\n config,\n lock,\n promptsApiService,\n result,\n}: {\n config: PromptsConfig;\n lock: PromptsLock;\n promptsApiService: PromptsApiService;\n result: SyncResult;\n}): Promise<void> => {\n const localFileRefs = Object.entries(config.prompts).filter(\n ([, dependency]) => {\n return typeof dependency === \"string\" && dependency.startsWith(\"file:\");\n }\n );\n\n if (localFileRefs.length > 0) {\n const pushSpinner = ora(\n `Pushing ${localFileRefs.length} local prompts...`\n ).start();\n\n for (const [promptName, dependency] of localFileRefs) {\n try {\n const filePath = (dependency as string).slice(5); // Remove \"file:\" prefix\n\n const localConfig = FileManager.loadLocalPrompt(filePath);\n\n const currentVersion = lock.prompts[promptName]?.version;\n\n // Build outputs based on response_format if present\n const responseFormat = (localConfig as any).response_format;\n let outputs: ConfigData[\"outputs\"] = [{ identifier: \"output\", type: \"str\" }];\n if (responseFormat?.schema) {\n outputs = [\n {\n identifier: responseFormat.name ?? \"output\",\n type: \"json_schema\",\n json_schema: responseFormat.schema,\n },\n ];\n }\n\n const configData: ConfigData = {\n model: localConfig.model,\n prompt: PromptConverter.extractSystemPrompt(localConfig.messages),\n messages: PromptConverter.filterNonSystemMessages(\n localConfig.messages\n ) as Array<{\n role: \"system\" | \"user\" | \"assistant\";\n content: string;\n }>,\n temperature: localConfig.modelParameters?.temperature,\n max_tokens: localConfig.modelParameters?.max_tokens,\n inputs: [{ identifier: \"input\", type: \"str\" }],\n outputs,\n // response_format is derived from outputs on the server side\n };\n\n const syncResult = await promptsApiService.sync({\n name: promptName,\n configData,\n localVersion: currentVersion,\n commitMessage: `Synced from local file: ${path.basename(filePath)}`,\n });\n\n const relativePath = path.relative(process.cwd(), filePath);\n\n let conflictResolution: \"local\" | \"remote\" | \"abort\" | null = null;\n if (syncResult.action === \"conflict\") {\n pushSpinner.stop();\n conflictResolution = await handleConflict(\n promptName,\n syncResult.conflictInfo!\n );\n if (conflictResolution === \"abort\") {\n result.errors.push({\n name: promptName,\n error: \"Push aborted due to conflict\",\n });\n continue;\n }\n\n if (conflictResolution === \"remote\" && syncResult.conflictInfo) {\n const remoteConfig = {\n model: syncResult.conflictInfo.remoteConfigData.model,\n modelParameters: {\n temperature:\n syncResult.conflictInfo.remoteConfigData.temperature,\n max_tokens:\n syncResult.conflictInfo.remoteConfigData.max_tokens,\n },\n messages: [\n {\n role: \"system\" as const,\n content: syncResult.conflictInfo.remoteConfigData.prompt,\n },\n ...(syncResult.conflictInfo.remoteConfigData.messages ?? []),\n ],\n };\n\n const yamlContent = yaml.dump(remoteConfig, {\n lineWidth: -1,\n noRefs: true,\n sortKeys: false,\n });\n\n fs.writeFileSync(filePath, yamlContent);\n }\n\n pushSpinner.start();\n }\n\n if (syncResult.prompt) {\n lock.prompts[promptName] = {\n version: syncResult.prompt.version,\n versionId: syncResult.prompt.versionId,\n materialized: filePath,\n };\n } else if (syncResult.action === \"conflict\") {\n const remoteVersion = syncResult.conflictInfo?.remoteVersion ?? 0;\n if (conflictResolution === \"remote\") {\n lock.prompts[promptName] = {\n version: remoteVersion,\n versionId: \"remote_version\",\n materialized: filePath,\n };\n } else {\n const formattedConfig = PromptConverter.fromLocalToApiFormat(localConfig);\n const updatedPrompt = await promptsApiService.update(promptName, {\n ...formattedConfig,\n commitMessage: `Updated via CLI: synced from local file`\n });\n lock.prompts[promptName] = {\n version: updatedPrompt.version,\n versionId: updatedPrompt.versionId,\n materialized: filePath,\n };\n }\n }\n\n let actionText: string;\n if (syncResult.action === \"conflict\") {\n if (conflictResolution === \"remote\") {\n actionText = \"Pulled\";\n result.fetched.push({\n name: promptName,\n version: syncResult.conflictInfo?.remoteVersion ?? 0,\n versionSpec: \"latest\",\n });\n } else {\n actionText = \"Pushed\";\n result.pushed.push({\n name: promptName,\n version: (syncResult.conflictInfo?.remoteVersion ?? 0) + 1,\n });\n }\n } else if (syncResult.action === \"up_to_date\") {\n actionText = \"Up-to-date\";\n result.unchanged.push(promptName);\n } else {\n const actionMap: Record<SyncAction, string> = {\n created: \"Created\",\n updated: \"Updated\",\n conflict: \"Conflict resolved\",\n up_to_date: \"Up to date\",\n };\n actionText = actionMap[syncResult.action as SyncAction] || \"Pushed\";\n result.pushed.push({\n name: promptName,\n version: syncResult.prompt?.version ?? 0,\n });\n }\n\n pushSpinner.text = `${actionText} ${chalk.cyan(\n promptName\n )} ${chalk.gray(\n `(version ${\n syncResult.prompt?.version ??\n syncResult.conflictInfo?.remoteVersion ??\n \"unknown\"\n })`\n )} ${conflictResolution === \"remote\" ? \"to\" : \"from\"} ${chalk.gray(\n relativePath\n )}`;\n } catch (error) {\n const errorMessage =\n error instanceof Error ? error.message : \"Unknown error\";\n result.errors.push({ name: promptName, error: errorMessage });\n }\n }\n\n pushSpinner.stop();\n }\n\n // Check for orphan local prompt files and show helpful warnings\n const discoveredLocalFiles = FileManager.getLocalPromptFiles();\n const orphanFiles = discoveredLocalFiles.filter((filePath) => {\n const promptName = FileManager.promptNameFromPath(filePath);\n return !config.prompts[promptName];\n });\n\n if (orphanFiles.length > 0) {\n console.log(\n chalk.yellow(\n `\\n⚠ Found ${orphanFiles.length} orphan prompt file${\n orphanFiles.length > 1 ? \"s\" : \"\"\n }:`\n )\n );\n\n for (const filePath of orphanFiles) {\n const promptName = FileManager.promptNameFromPath(filePath);\n const relativePath = path.relative(process.cwd(), filePath);\n\n console.log(chalk.yellow(` ${relativePath}`));\n console.log(\n chalk.gray(\n ` Add to prompts.json: \"${promptName}\": \"file:${relativePath}\"`\n )\n );\n }\n\n console.log(\n chalk.gray(\n `\\nTip: Add these to prompts.json to include them in push operations.`\n )\n );\n }\n};\n\nconst printPushResults = ({\n result,\n duration,\n}: {\n result: SyncResult;\n duration: string;\n}): void => {\n if (result.pushed.length > 0) {\n for (const { name, version } of result.pushed) {\n const localPath = `./prompts/${name}.prompt.yaml`;\n console.log(\n chalk.green(\n `✓ Pushed ${chalk.cyan(name)} ${chalk.gray(\n `(version ${version})`\n )} from ${chalk.gray(localPath)}`\n )\n );\n }\n }\n\n if (result.fetched.length > 0) {\n for (const { name, version } of result.fetched) {\n console.log(\n chalk.green(\n `✓ Pulled ${chalk.cyan(name)} ${chalk.gray(\n `(version ${version})`\n )} (resolved conflict with remote)`\n )\n );\n }\n }\n\n if (result.errors.length > 0) {\n for (const { name, error } of result.errors) {\n console.log(chalk.red(`✗ Failed ${chalk.cyan(name)}: ${error}`));\n }\n }\n\n const totalActions = result.fetched.length + result.pushed.length;\n\n if (totalActions === 0 && result.errors.length === 0) {\n console.log(chalk.gray(`Pushed in ${duration}s, no changes`));\n } else {\n const summary = [];\n if (result.pushed.length > 0)\n summary.push(`${result.pushed.length} pushed`);\n if (result.fetched.length > 0)\n summary.push(`${result.fetched.length} pulled (conflict resolution)`);\n if (result.errors.length > 0)\n summary.push(`${result.errors.length} errors`);\n\n console.log(chalk.gray(`Pushed ${summary.join(\", \")} in ${duration}s`));\n }\n};\n\nexport const pushCommand = async (): Promise<void> => {\n console.log(\"⬆️ Pushing local prompts...\");\n\n const startTime = Date.now();\n\n try {\n checkApiKey();\n\n const promptsApiService = new PromptsApiService();\n\n await ensureProjectInitialized(false);\n\n const config = FileManager.loadPromptsConfig();\n const lock = FileManager.loadPromptsLock();\n\n const result: SyncResult = {\n fetched: [],\n pushed: [],\n unchanged: [],\n cleaned: [],\n errors: [],\n };\n\n await pushPrompts({ config, lock, promptsApiService, result });\n\n FileManager.savePromptsLock(lock);\n\n const duration = ((Date.now() - startTime) / 1000).toFixed(1);\n printPushResults({ result, duration });\n\n if (result.errors.length > 0) {\n process.exit(1);\n }\n } catch (error) {\n if (error instanceof PromptsError) {\n console.error(chalk.red(`Error: ${error.message}`));\n } else {\n console.error(\n chalk.red(\n `Unexpected error: ${\n error instanceof Error ? error.message : \"Unknown error\"\n }`\n )\n );\n }\n process.exit(1);\n }\n};\n"]}
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
ATTR_LANGWATCH_PROMPT_VERSION_NUMBER,
|
|
9
9
|
ATTR_LANGWATCH_RAG_CONTEXTS,
|
|
10
10
|
ATTR_LANGWATCH_SPAN_TYPE
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-JVIQJFUE.mjs";
|
|
12
12
|
|
|
13
13
|
// src/observability-sdk/span/types.ts
|
|
14
14
|
var INPUT_OUTPUT_TYPES = [
|
|
@@ -642,4 +642,4 @@ export {
|
|
|
642
642
|
getLangWatchTracer,
|
|
643
643
|
getLangWatchTracerFromProvider
|
|
644
644
|
};
|
|
645
|
-
//# sourceMappingURL=chunk-
|
|
645
|
+
//# sourceMappingURL=chunk-WAHZXF7I.mjs.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// package.json
|
|
2
|
-
var version = "0.
|
|
2
|
+
var version = "0.18.0";
|
|
3
3
|
|
|
4
4
|
// src/internal/runtime.ts
|
|
5
5
|
var _runtime;
|
|
@@ -60,4 +60,4 @@ export {
|
|
|
60
60
|
TRACES_PATH,
|
|
61
61
|
LOGS_PATH
|
|
62
62
|
};
|
|
63
|
-
//# sourceMappingURL=chunk-
|
|
63
|
+
//# sourceMappingURL=chunk-WQ7AKXY7.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.18.0\",\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:unit\": \"vitest run --exclude '**/*.integration.test.ts'\",\n \"test:e2e\": \"dotenv -- vitest run -c ./vitest.e2e.config.mts\",\n \"test:seed\": \"dotenv -e .env.test -- bash -c 'cd ../langwatch && pnpm prisma:seed'\",\n \"prebuild\": \"pnpm run prepare\",\n \"build\": \"tsc --noEmit && tsup\",\n \"tarball\": \"pnpm build && pnpm pack\",\n \"typecheck\": \"tsc --noEmit\",\n \"prepublish\": \"pnpm run build\",\n \"generate:openapi-types\": \"pnpx 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 \"@langchain/core\": \">=0.3.68 <0.4.0\",\n \"@langchain/langgraph\": \">=0.4.0 <1.0.0\",\n \"@langchain/openai\": \">=0.6.0 <1.0.0\",\n \"@opentelemetry/sdk-node\": \"0.205.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 \"dotenv-cli\": \"^11.0.0\",\n \"esbuild\": \"^0.27.3\",\n \"eslint\": \"^9.32.0\",\n \"fets\": \"^0.8.5\",\n \"fishery\": \"^2.3.1\",\n \"langchain\": \">=0.3.0 <2.0.0\",\n \"msw\": \"^2.10.4\",\n \"nock\": \"^14.0.8\",\n \"openapi-msw\": \"^1.2.0\",\n \"ts-to-zod\": \"4.0.1\",\n \"tsup\": \"^8.5.0\",\n \"typescript\": \"^5.9.2\",\n \"typescript-eslint\": \"^8.38.0\",\n \"vitest\": \"^3.2.4\",\n \"vitest-mock-extended\": \"^3.1.0\",\n \"yaml\": \"^2.8.1\",\n \"@opentelemetry/api\": \"^1.9.0\"\n },\n \"dependencies\": {\n \"@opentelemetry/api-logs\": \"0.205.0\",\n \"@opentelemetry/core\": \"^2.0.1\",\n \"@opentelemetry/exporter-logs-otlp-http\": \"0.205.0\",\n \"@opentelemetry/exporter-trace-otlp-http\": \"0.205.0\",\n \"@opentelemetry/instrumentation\": \"0.212.0\",\n \"@opentelemetry/resources\": \"^2.0.1\",\n \"@opentelemetry/sdk-logs\": \"0.205.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\": \"^17.3.1\",\n \"js-yaml\": \"^4.1.0\",\n \"liquidjs\": \"^10.21.1\",\n \"open\": \"^11.0.0\",\n \"openapi-fetch\": \"^0.16.0\",\n \"ora\": \"^9.3.0\",\n \"prompts\": \"^2.4.2\",\n \"xksuid\": \"^0.0.4\",\n \"zod\": \"^4.0.14\"\n },\n \"peerDependencies\": {\n \"@opentelemetry/api\": \"^1.9.0\",\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 \"@opentelemetry/context-async-hooks\": \"^2.1.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 \"langchain\": \">=0.3.0 <2.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"@ai-sdk/openai\": { \"optional\": true },\n \"@langchain/core\": { \"optional\": true },\n \"@langchain/langgraph\": { \"optional\": true },\n \"@langchain/openai\": { \"optional\": true },\n \"@opentelemetry/context-async-hooks\": { \"optional\": true },\n \"@opentelemetry/context-zone\": { \"optional\": true },\n \"@opentelemetry/sdk-node\": { \"optional\": true },\n \"@opentelemetry/sdk-trace-web\": { \"optional\": true },\n \"langchain\": { \"optional\": true }\n },\n \"pnpm\": {\n \"overrides\": {\n \"@opentelemetry/api\": \"^1.9.0\",\n \"@opentelemetry/core\": \"^2.0.1\",\n \"@opentelemetry/resources\": \"^2.0.1\",\n \"@opentelemetry/sdk-trace-base\": \"^2.0.1\",\n \"@opentelemetry/instrumentation\": \"0.212.0\",\n \"@opentelemetry/sdk-node\": \"0.205.0\",\n \"@opentelemetry/context-async-hooks\": \"^2.1.0\",\n \"@opentelemetry/api-logs\": \"0.205.0\",\n \"@opentelemetry/sdk-logs\": \"0.205.0\",\n \"@opentelemetry/exporter-logs-otlp-http\": \"0.205.0\",\n \"@opentelemetry/exporter-trace-otlp-http\": \"0.205.0\",\n \"zod\": \"^4.0.14\",\n \"langchain@<0.3.37\": \"0.3.37\",\n \"@langchain/core@<0.3.80\": \"0.3.80\"\n }\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":[]}
|
|
@@ -6,10 +6,10 @@ import {
|
|
|
6
6
|
LANGWATCH_SDK_VERSION,
|
|
7
7
|
LOGS_PATH,
|
|
8
8
|
TRACES_PATH
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-WQ7AKXY7.mjs";
|
|
10
10
|
import {
|
|
11
11
|
shouldCaptureOutput
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-JVIQJFUE.mjs";
|
|
13
13
|
import {
|
|
14
14
|
__spreadProps,
|
|
15
15
|
__spreadValues
|
|
@@ -293,4 +293,4 @@ export {
|
|
|
293
293
|
getLangWatchLogger,
|
|
294
294
|
getLangWatchLoggerFromProvider
|
|
295
295
|
};
|
|
296
|
-
//# sourceMappingURL=chunk-
|
|
296
|
+
//# sourceMappingURL=chunk-WSSWTQIB.mjs.map
|
|
@@ -4,7 +4,7 @@ var _chunkF6E4XQQUjs = require('./chunk-F6E4XQQU.js');
|
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
var
|
|
7
|
+
var _chunkEHWKVO46js = require('./chunk-EHWKVO46.js');
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
var _chunkBYG3QS2Xjs = require('./chunk-BYG3QS2X.js');
|
|
@@ -152,7 +152,7 @@ var pullCommand = async () => {
|
|
|
152
152
|
const startTime = Date.now();
|
|
153
153
|
try {
|
|
154
154
|
_chunkF6E4XQQUjs.checkApiKey.call(void 0, );
|
|
155
|
-
const promptsApiService = new (0,
|
|
155
|
+
const promptsApiService = new (0, _chunkEHWKVO46js.PromptsApiService)();
|
|
156
156
|
await _chunkBYG3QS2Xjs.ensureProjectInitialized.call(void 0, false);
|
|
157
157
|
const config = _chunkWAAQLJ67js.FileManager.loadPromptsConfig();
|
|
158
158
|
const lock = _chunkWAAQLJ67js.FileManager.loadPromptsLock();
|
|
@@ -171,7 +171,7 @@ var pullCommand = async () => {
|
|
|
171
171
|
process.exit(1);
|
|
172
172
|
}
|
|
173
173
|
} catch (error) {
|
|
174
|
-
if (error instanceof
|
|
174
|
+
if (error instanceof _chunkEHWKVO46js.PromptsError) {
|
|
175
175
|
console.error(_chalk2.default.red(`Error: ${error.message}`));
|
|
176
176
|
} else {
|
|
177
177
|
console.error(
|
|
@@ -188,4 +188,4 @@ var pullCommand = async () => {
|
|
|
188
188
|
|
|
189
189
|
|
|
190
190
|
exports.pullPrompts = pullPrompts; exports.pullCommand = pullCommand;
|
|
191
|
-
//# sourceMappingURL=chunk-
|
|
191
|
+
//# sourceMappingURL=chunk-XEYCRZ64.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/langwatch/langwatch/typescript-sdk/dist/chunk-BNFRYHOP.js","../src/cli/commands/pull.ts"],"names":[],"mappings":"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","file":"/home/runner/work/langwatch/langwatch/typescript-sdk/dist/chunk-BNFRYHOP.js","sourcesContent":[null,"import * as fs from \"fs\";\nimport * as path from \"path\";\nimport chalk from \"chalk\";\nimport ora from \"ora\";\nimport { PromptConverter } from \"@/cli/utils/promptConverter\";\nimport {\n PromptsApiService,\n PromptsError,\n} from \"@/client-sdk/services/prompts\";\nimport type { PromptsConfig, PromptsLock, SyncResult } from \"../types\";\nimport { FileManager } from \"../utils/fileManager\";\nimport { ensureProjectInitialized } from \"../utils/init\";\nimport { checkApiKey } from \"../utils/apiKey\";\n\n/**\n * Core pull logic: fetches remote prompts and materializes them locally.\n * Returns the result and mutates the lock object in place.\n */\nexport const pullPrompts = async ({\n config,\n lock,\n promptsApiService,\n result,\n}: {\n config: PromptsConfig;\n lock: PromptsLock;\n promptsApiService: PromptsApiService;\n result: SyncResult;\n}): Promise<void> => {\n const remoteDeps = Object.entries(config.prompts).filter(\n ([, dependency]) => {\n if (typeof dependency === \"object\" && dependency.file) {\n return false;\n }\n if (typeof dependency === \"string\" && dependency.startsWith(\"file:\")) {\n return false;\n }\n return true;\n }\n );\n\n if (remoteDeps.length > 0) {\n const fetchSpinner = ora(\n `Checking ${remoteDeps.length} remote prompts...`\n ).start();\n\n for (const [name, dependency] of remoteDeps) {\n try {\n const versionSpec =\n typeof dependency === \"string\"\n ? dependency\n : dependency.version ?? \"latest\";\n\n const lockEntry = lock.prompts[name];\n\n const prompt = await promptsApiService.get(name, { version: versionSpec });\n\n if (prompt) {\n const needsUpdate =\n lockEntry?.version !== prompt.version ||\n !lockEntry.materialized ||\n !fs.existsSync(path.resolve(lockEntry.materialized));\n\n if (needsUpdate) {\n const materializedPrompt =\n PromptConverter.fromApiToMaterialized(prompt);\n\n const savedPath = FileManager.saveMaterializedPrompt(\n name,\n materializedPrompt\n );\n const relativePath = path.relative(process.cwd(), savedPath);\n result.fetched.push({\n name,\n version: prompt.version,\n versionSpec,\n });\n\n FileManager.updateLockEntry(\n lock,\n name,\n materializedPrompt,\n savedPath\n );\n\n fetchSpinner.text = `Fetched ${chalk.cyan(\n `${name}@${versionSpec}`\n )} ${chalk.gray(`(version ${prompt.version})`)} → ${chalk.gray(\n relativePath\n )}`;\n } else {\n result.unchanged.push(name);\n }\n } else {\n result.errors.push({ name, error: \"Prompt not found\" });\n }\n } catch (error) {\n const errorMessage =\n error instanceof Error ? error.message : \"Unknown error\";\n result.errors.push({ name, error: errorMessage });\n }\n }\n\n fetchSpinner.stop();\n }\n\n // Cleanup orphaned materialized files\n const currentDependencies = new Set(\n Object.keys(config.prompts).filter((name) => {\n const dependency = config.prompts[name];\n if (typeof dependency === \"object\" && dependency.file) {\n return false;\n }\n if (typeof dependency === \"string\" && dependency.startsWith(\"file:\")) {\n return false;\n }\n return true;\n })\n );\n\n const cleanedFiles =\n FileManager.cleanupOrphanedMaterializedFiles(currentDependencies);\n if (cleanedFiles.length > 0) {\n result.cleaned = cleanedFiles;\n FileManager.removeFromLock(lock, cleanedFiles);\n }\n};\n\nconst printPullResults = ({\n result,\n lock,\n duration,\n}: {\n result: SyncResult;\n lock: PromptsLock;\n duration: string;\n}): void => {\n if (result.fetched.length > 0) {\n for (const { name, version, versionSpec } of result.fetched) {\n const lockEntry = lock.prompts[name];\n const displayPath = lockEntry?.materialized\n ? `./${lockEntry.materialized}`\n : `./prompts/.materialized/${name}.prompt.yaml`;\n\n console.log(\n chalk.green(\n `✓ Pulled ${chalk.cyan(`${name}@${versionSpec}`)} ${chalk.gray(\n `(version ${version})`\n )} → ${chalk.gray(displayPath)}`\n )\n );\n }\n }\n\n if (result.cleaned.length > 0) {\n for (const name of result.cleaned) {\n console.log(\n chalk.yellow(\n `✓ Cleaned ${chalk.cyan(name)} (no longer in dependencies)`\n )\n );\n }\n }\n\n if (result.errors.length > 0) {\n for (const { name, error } of result.errors) {\n console.log(chalk.red(`✗ Failed ${chalk.cyan(name)}: ${error}`));\n }\n }\n\n const totalActions = result.fetched.length + result.cleaned.length;\n\n if (totalActions === 0 && result.errors.length === 0) {\n console.log(chalk.gray(`Pulled in ${duration}s, no changes`));\n } else {\n const summary = [];\n if (result.fetched.length > 0)\n summary.push(`${result.fetched.length} fetched`);\n if (result.cleaned.length > 0)\n summary.push(`${result.cleaned.length} cleaned`);\n if (result.errors.length > 0)\n summary.push(`${result.errors.length} errors`);\n\n console.log(chalk.gray(`Pulled ${summary.join(\", \")} in ${duration}s`));\n }\n};\n\nexport const pullCommand = async (): Promise<void> => {\n console.log(\"⬇️ Pulling remote prompts...\");\n\n const startTime = Date.now();\n\n try {\n checkApiKey();\n\n const promptsApiService = new PromptsApiService();\n\n await ensureProjectInitialized(false);\n\n const config = FileManager.loadPromptsConfig();\n const lock = FileManager.loadPromptsLock();\n\n const result: SyncResult = {\n fetched: [],\n pushed: [],\n unchanged: [],\n cleaned: [],\n errors: [],\n };\n\n await pullPrompts({ config, lock, promptsApiService, result });\n\n FileManager.savePromptsLock(lock);\n\n const duration = ((Date.now() - startTime) / 1000).toFixed(1);\n printPullResults({ result, lock, duration });\n\n if (result.errors.length > 0) {\n process.exit(1);\n }\n } catch (error) {\n if (error instanceof PromptsError) {\n console.error(chalk.red(`Error: ${error.message}`));\n } else {\n console.error(\n chalk.red(\n `Unexpected error: ${\n error instanceof Error ? error.message : \"Unknown error\"\n }`\n )\n );\n }\n process.exit(1);\n }\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/langwatch/langwatch/typescript-sdk/dist/chunk-XEYCRZ64.js","../src/cli/commands/pull.ts"],"names":[],"mappings":"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","file":"/home/runner/work/langwatch/langwatch/typescript-sdk/dist/chunk-XEYCRZ64.js","sourcesContent":[null,"import * as fs from \"fs\";\nimport * as path from \"path\";\nimport chalk from \"chalk\";\nimport ora from \"ora\";\nimport { PromptConverter } from \"@/cli/utils/promptConverter\";\nimport {\n PromptsApiService,\n PromptsError,\n} from \"@/client-sdk/services/prompts\";\nimport type { PromptsConfig, PromptsLock, SyncResult } from \"../types\";\nimport { FileManager } from \"../utils/fileManager\";\nimport { ensureProjectInitialized } from \"../utils/init\";\nimport { checkApiKey } from \"../utils/apiKey\";\n\n/**\n * Core pull logic: fetches remote prompts and materializes them locally.\n * Returns the result and mutates the lock object in place.\n */\nexport const pullPrompts = async ({\n config,\n lock,\n promptsApiService,\n result,\n}: {\n config: PromptsConfig;\n lock: PromptsLock;\n promptsApiService: PromptsApiService;\n result: SyncResult;\n}): Promise<void> => {\n const remoteDeps = Object.entries(config.prompts).filter(\n ([, dependency]) => {\n if (typeof dependency === \"object\" && dependency.file) {\n return false;\n }\n if (typeof dependency === \"string\" && dependency.startsWith(\"file:\")) {\n return false;\n }\n return true;\n }\n );\n\n if (remoteDeps.length > 0) {\n const fetchSpinner = ora(\n `Checking ${remoteDeps.length} remote prompts...`\n ).start();\n\n for (const [name, dependency] of remoteDeps) {\n try {\n const versionSpec =\n typeof dependency === \"string\"\n ? dependency\n : dependency.version ?? \"latest\";\n\n const lockEntry = lock.prompts[name];\n\n const prompt = await promptsApiService.get(name, { version: versionSpec });\n\n if (prompt) {\n const needsUpdate =\n lockEntry?.version !== prompt.version ||\n !lockEntry.materialized ||\n !fs.existsSync(path.resolve(lockEntry.materialized));\n\n if (needsUpdate) {\n const materializedPrompt =\n PromptConverter.fromApiToMaterialized(prompt);\n\n const savedPath = FileManager.saveMaterializedPrompt(\n name,\n materializedPrompt\n );\n const relativePath = path.relative(process.cwd(), savedPath);\n result.fetched.push({\n name,\n version: prompt.version,\n versionSpec,\n });\n\n FileManager.updateLockEntry(\n lock,\n name,\n materializedPrompt,\n savedPath\n );\n\n fetchSpinner.text = `Fetched ${chalk.cyan(\n `${name}@${versionSpec}`\n )} ${chalk.gray(`(version ${prompt.version})`)} → ${chalk.gray(\n relativePath\n )}`;\n } else {\n result.unchanged.push(name);\n }\n } else {\n result.errors.push({ name, error: \"Prompt not found\" });\n }\n } catch (error) {\n const errorMessage =\n error instanceof Error ? error.message : \"Unknown error\";\n result.errors.push({ name, error: errorMessage });\n }\n }\n\n fetchSpinner.stop();\n }\n\n // Cleanup orphaned materialized files\n const currentDependencies = new Set(\n Object.keys(config.prompts).filter((name) => {\n const dependency = config.prompts[name];\n if (typeof dependency === \"object\" && dependency.file) {\n return false;\n }\n if (typeof dependency === \"string\" && dependency.startsWith(\"file:\")) {\n return false;\n }\n return true;\n })\n );\n\n const cleanedFiles =\n FileManager.cleanupOrphanedMaterializedFiles(currentDependencies);\n if (cleanedFiles.length > 0) {\n result.cleaned = cleanedFiles;\n FileManager.removeFromLock(lock, cleanedFiles);\n }\n};\n\nconst printPullResults = ({\n result,\n lock,\n duration,\n}: {\n result: SyncResult;\n lock: PromptsLock;\n duration: string;\n}): void => {\n if (result.fetched.length > 0) {\n for (const { name, version, versionSpec } of result.fetched) {\n const lockEntry = lock.prompts[name];\n const displayPath = lockEntry?.materialized\n ? `./${lockEntry.materialized}`\n : `./prompts/.materialized/${name}.prompt.yaml`;\n\n console.log(\n chalk.green(\n `✓ Pulled ${chalk.cyan(`${name}@${versionSpec}`)} ${chalk.gray(\n `(version ${version})`\n )} → ${chalk.gray(displayPath)}`\n )\n );\n }\n }\n\n if (result.cleaned.length > 0) {\n for (const name of result.cleaned) {\n console.log(\n chalk.yellow(\n `✓ Cleaned ${chalk.cyan(name)} (no longer in dependencies)`\n )\n );\n }\n }\n\n if (result.errors.length > 0) {\n for (const { name, error } of result.errors) {\n console.log(chalk.red(`✗ Failed ${chalk.cyan(name)}: ${error}`));\n }\n }\n\n const totalActions = result.fetched.length + result.cleaned.length;\n\n if (totalActions === 0 && result.errors.length === 0) {\n console.log(chalk.gray(`Pulled in ${duration}s, no changes`));\n } else {\n const summary = [];\n if (result.fetched.length > 0)\n summary.push(`${result.fetched.length} fetched`);\n if (result.cleaned.length > 0)\n summary.push(`${result.cleaned.length} cleaned`);\n if (result.errors.length > 0)\n summary.push(`${result.errors.length} errors`);\n\n console.log(chalk.gray(`Pulled ${summary.join(\", \")} in ${duration}s`));\n }\n};\n\nexport const pullCommand = async (): Promise<void> => {\n console.log(\"⬇️ Pulling remote prompts...\");\n\n const startTime = Date.now();\n\n try {\n checkApiKey();\n\n const promptsApiService = new PromptsApiService();\n\n await ensureProjectInitialized(false);\n\n const config = FileManager.loadPromptsConfig();\n const lock = FileManager.loadPromptsLock();\n\n const result: SyncResult = {\n fetched: [],\n pushed: [],\n unchanged: [],\n cleaned: [],\n errors: [],\n };\n\n await pullPrompts({ config, lock, promptsApiService, result });\n\n FileManager.savePromptsLock(lock);\n\n const duration = ((Date.now() - startTime) / 1000).toFixed(1);\n printPullResults({ result, lock, duration });\n\n if (result.errors.length > 0) {\n process.exit(1);\n }\n } catch (error) {\n if (error instanceof PromptsError) {\n console.error(chalk.red(`Error: ${error.message}`));\n } else {\n console.error(\n chalk.red(\n `Unexpected error: ${\n error instanceof Error ? error.message : \"Unknown error\"\n }`\n )\n );\n }\n process.exit(1);\n }\n};\n"]}
|
package/dist/cli/index.js
CHANGED
|
@@ -9,11 +9,11 @@ var _dotenv = require('dotenv');
|
|
|
9
9
|
var _commander = require('commander');
|
|
10
10
|
_dotenv.config.call(void 0, );
|
|
11
11
|
var addCommand = async (name, options) => {
|
|
12
|
-
const { addCommand: addCommandImpl } = await Promise.resolve().then(() => _interopRequireWildcard(require("../add-
|
|
12
|
+
const { addCommand: addCommandImpl } = await Promise.resolve().then(() => _interopRequireWildcard(require("../add-MJE7G2BM.js")));
|
|
13
13
|
return addCommandImpl(name, options);
|
|
14
14
|
};
|
|
15
15
|
var removeCommand = async (name) => {
|
|
16
|
-
const { removeCommand: removeCommandImpl } = await Promise.resolve().then(() => _interopRequireWildcard(require("../remove-
|
|
16
|
+
const { removeCommand: removeCommandImpl } = await Promise.resolve().then(() => _interopRequireWildcard(require("../remove-HPZGTSOK.js")));
|
|
17
17
|
return removeCommandImpl(name);
|
|
18
18
|
};
|
|
19
19
|
var initCommand = async () => {
|
|
@@ -21,23 +21,23 @@ var initCommand = async () => {
|
|
|
21
21
|
return initCommandImpl();
|
|
22
22
|
};
|
|
23
23
|
var loginCommand = async () => {
|
|
24
|
-
const { loginCommand: loginCommandImpl } = await Promise.resolve().then(() => _interopRequireWildcard(require("../login-
|
|
24
|
+
const { loginCommand: loginCommandImpl } = await Promise.resolve().then(() => _interopRequireWildcard(require("../login-ZKVIVJC6.js")));
|
|
25
25
|
return loginCommandImpl();
|
|
26
26
|
};
|
|
27
27
|
var listCommand = async () => {
|
|
28
|
-
const { listCommand: listCommandImpl } = await Promise.resolve().then(() => _interopRequireWildcard(require("../list-
|
|
28
|
+
const { listCommand: listCommandImpl } = await Promise.resolve().then(() => _interopRequireWildcard(require("../list-QMPURSWH.js")));
|
|
29
29
|
return listCommandImpl();
|
|
30
30
|
};
|
|
31
31
|
var syncCommand = async () => {
|
|
32
|
-
const { syncCommand: syncCommandImpl } = await Promise.resolve().then(() => _interopRequireWildcard(require("../sync-
|
|
32
|
+
const { syncCommand: syncCommandImpl } = await Promise.resolve().then(() => _interopRequireWildcard(require("../sync-67UMHLSY.js")));
|
|
33
33
|
return syncCommandImpl();
|
|
34
34
|
};
|
|
35
35
|
var pullCommand = async () => {
|
|
36
|
-
const { pullCommand: pullCommandImpl } = await Promise.resolve().then(() => _interopRequireWildcard(require("../pull-
|
|
36
|
+
const { pullCommand: pullCommandImpl } = await Promise.resolve().then(() => _interopRequireWildcard(require("../pull-22TPEMFM.js")));
|
|
37
37
|
return pullCommandImpl();
|
|
38
38
|
};
|
|
39
39
|
var pushCommand = async () => {
|
|
40
|
-
const { pushCommand: pushCommandImpl } = await Promise.resolve().then(() => _interopRequireWildcard(require("../push-
|
|
40
|
+
const { pushCommand: pushCommandImpl } = await Promise.resolve().then(() => _interopRequireWildcard(require("../push-7WZUQYC3.js")));
|
|
41
41
|
return pushCommandImpl();
|
|
42
42
|
};
|
|
43
43
|
var createCommand = async (name, options) => {
|
|
@@ -45,7 +45,7 @@ var createCommand = async (name, options) => {
|
|
|
45
45
|
return createCommandImpl(name, options);
|
|
46
46
|
};
|
|
47
47
|
var program = new (0, _commander.Command)();
|
|
48
|
-
program.name("langwatch").description("LangWatch CLI - The npm of prompts").version("0.
|
|
48
|
+
program.name("langwatch").description("LangWatch CLI - The npm of prompts").version("0.18.0", "-v, --version", "Display the current version").configureHelp({
|
|
49
49
|
showGlobalOptions: true
|
|
50
50
|
}).showHelpAfterError().showSuggestionAfterError();
|
|
51
51
|
program.command("login").description("Login to LangWatch and save API key").action(async () => {
|
package/dist/cli/index.mjs
CHANGED
|
@@ -9,11 +9,11 @@ import { config } from "dotenv";
|
|
|
9
9
|
import { Command } from "commander";
|
|
10
10
|
config();
|
|
11
11
|
var addCommand = async (name, options) => {
|
|
12
|
-
const { addCommand: addCommandImpl } = await import("../add-
|
|
12
|
+
const { addCommand: addCommandImpl } = await import("../add-5RVW7RGD.mjs");
|
|
13
13
|
return addCommandImpl(name, options);
|
|
14
14
|
};
|
|
15
15
|
var removeCommand = async (name) => {
|
|
16
|
-
const { removeCommand: removeCommandImpl } = await import("../remove-
|
|
16
|
+
const { removeCommand: removeCommandImpl } = await import("../remove-QJJWZ2ZA.mjs");
|
|
17
17
|
return removeCommandImpl(name);
|
|
18
18
|
};
|
|
19
19
|
var initCommand = async () => {
|
|
@@ -21,23 +21,23 @@ var initCommand = async () => {
|
|
|
21
21
|
return initCommandImpl();
|
|
22
22
|
};
|
|
23
23
|
var loginCommand = async () => {
|
|
24
|
-
const { loginCommand: loginCommandImpl } = await import("../login-
|
|
24
|
+
const { loginCommand: loginCommandImpl } = await import("../login-EBPGM5GC.mjs");
|
|
25
25
|
return loginCommandImpl();
|
|
26
26
|
};
|
|
27
27
|
var listCommand = async () => {
|
|
28
|
-
const { listCommand: listCommandImpl } = await import("../list-
|
|
28
|
+
const { listCommand: listCommandImpl } = await import("../list-IGP275AO.mjs");
|
|
29
29
|
return listCommandImpl();
|
|
30
30
|
};
|
|
31
31
|
var syncCommand = async () => {
|
|
32
|
-
const { syncCommand: syncCommandImpl } = await import("../sync-
|
|
32
|
+
const { syncCommand: syncCommandImpl } = await import("../sync-BNPR6W4G.mjs");
|
|
33
33
|
return syncCommandImpl();
|
|
34
34
|
};
|
|
35
35
|
var pullCommand = async () => {
|
|
36
|
-
const { pullCommand: pullCommandImpl } = await import("../pull-
|
|
36
|
+
const { pullCommand: pullCommandImpl } = await import("../pull-3NWDN7CX.mjs");
|
|
37
37
|
return pullCommandImpl();
|
|
38
38
|
};
|
|
39
39
|
var pushCommand = async () => {
|
|
40
|
-
const { pushCommand: pushCommandImpl } = await import("../push-
|
|
40
|
+
const { pushCommand: pushCommandImpl } = await import("../push-3CMG3MTX.mjs");
|
|
41
41
|
return pushCommandImpl();
|
|
42
42
|
};
|
|
43
43
|
var createCommand = async (name, options) => {
|
|
@@ -45,7 +45,7 @@ var createCommand = async (name, options) => {
|
|
|
45
45
|
return createCommandImpl(name, options);
|
|
46
46
|
};
|
|
47
47
|
var program = new Command();
|
|
48
|
-
program.name("langwatch").description("LangWatch CLI - The npm of prompts").version("0.
|
|
48
|
+
program.name("langwatch").description("LangWatch CLI - The npm of prompts").version("0.18.0", "-v, --version", "Display the current version").configureHelp({
|
|
49
49
|
showGlobalOptions: true
|
|
50
50
|
}).showHelpAfterError().showSuggestionAfterError();
|
|
51
51
|
program.command("login").description("Login to LangWatch and save API key").action(async () => {
|
|
@@ -2,9 +2,9 @@ import { BatchSpanProcessor, SpanExporter, ReadableSpan } from '@opentelemetry/s
|
|
|
2
2
|
import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
|
|
3
3
|
import { ExportResult } from '@opentelemetry/core';
|
|
4
4
|
import { Logger, LogRecord, LoggerProvider } from '@opentelemetry/api-logs';
|
|
5
|
-
import {
|
|
5
|
+
import { b as SemConvLogRecordAttributes, S as SemConvAttributes } from './types-DYLY4SyT.js';
|
|
6
6
|
import { TracerProvider } from '@opentelemetry/api';
|
|
7
|
-
import {
|
|
7
|
+
import { L as LangWatchTracer } from './types-AByjs5T0.js';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Filterable Batch Span Exporter for OpenTelemetry
|
|
@@ -707,4 +707,4 @@ declare function getLangWatchTracer(name: string, version?: string): LangWatchTr
|
|
|
707
707
|
*/
|
|
708
708
|
declare function getLangWatchTracerFromProvider(tracerProvider: TracerProvider, name: string, version?: string): LangWatchTracer;
|
|
709
709
|
|
|
710
|
-
export { FilterableBatchSpanProcessor as F, LangWatchTraceExporter as L, type SpanProcessingExcludeRule as S, type LangWatchTraceExporterOptions as a,
|
|
710
|
+
export { FilterableBatchSpanProcessor as F, LangWatchTraceExporter as L, type SpanProcessingExcludeRule as S, type LangWatchTraceExporterOptions as a, type LangWatchLogger as b, getLangWatchLoggerFromProvider as c, getLangWatchTracer as d, getLangWatchTracerFromProvider as e, getLangWatchLogger as g };
|
|
@@ -2,9 +2,9 @@ import { BatchSpanProcessor, SpanExporter, ReadableSpan } from '@opentelemetry/s
|
|
|
2
2
|
import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
|
|
3
3
|
import { ExportResult } from '@opentelemetry/core';
|
|
4
4
|
import { Logger, LogRecord, LoggerProvider } from '@opentelemetry/api-logs';
|
|
5
|
-
import {
|
|
5
|
+
import { b as SemConvLogRecordAttributes, S as SemConvAttributes } from './types-DYLY4SyT.mjs';
|
|
6
6
|
import { TracerProvider } from '@opentelemetry/api';
|
|
7
|
-
import {
|
|
7
|
+
import { L as LangWatchTracer } from './types-DWVQcIaM.mjs';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Filterable Batch Span Exporter for OpenTelemetry
|
|
@@ -707,4 +707,4 @@ declare function getLangWatchTracer(name: string, version?: string): LangWatchTr
|
|
|
707
707
|
*/
|
|
708
708
|
declare function getLangWatchTracerFromProvider(tracerProvider: TracerProvider, name: string, version?: string): LangWatchTracer;
|
|
709
709
|
|
|
710
|
-
export { FilterableBatchSpanProcessor as F, LangWatchTraceExporter as L, type SpanProcessingExcludeRule as S, type LangWatchTraceExporterOptions as a,
|
|
710
|
+
export { FilterableBatchSpanProcessor as F, LangWatchTraceExporter as L, type SpanProcessingExcludeRule as S, type LangWatchTraceExporterOptions as a, type LangWatchLogger as b, getLangWatchLoggerFromProvider as c, getLangWatchTracer as d, getLangWatchTracerFromProvider as e, getLangWatchLogger as g };
|
package/dist/index.d.mts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { L as Logger, C as ConsoleLogger, N as NoOpLogger } from './index-D7rKIGrO.mjs';
|
|
2
|
-
export { F as FilterableBatchSpanProcessor, L as LangWatchExporter, S as SpanProcessingExcludeRule, g as getLangWatchLogger, d as getLangWatchTracer } from './implementation-
|
|
3
|
-
import { p as paths, P as PromptResponse, g as CreatePromptBody, U as UpdatePromptBody, h as PromptData,
|
|
2
|
+
export { F as FilterableBatchSpanProcessor, L as LangWatchExporter, S as SpanProcessingExcludeRule, g as getLangWatchLogger, d as getLangWatchTracer } from './implementation-CoqzgwCU.mjs';
|
|
3
|
+
import { p as paths, P as PromptResponse, g as CreatePromptBody, U as UpdatePromptBody, h as PromptData, F as FetchPolicy, i as Prompt, a as LangWatchSpan } from './types-DWVQcIaM.mjs';
|
|
4
4
|
import openApiCreateClient from 'openapi-fetch';
|
|
5
5
|
import { z } from 'zod';
|
|
6
|
-
export { l as attributes } from './types-
|
|
6
|
+
export { l as attributes } from './types-DYLY4SyT.mjs';
|
|
7
7
|
import '@opentelemetry/sdk-trace-base';
|
|
8
8
|
import '@opentelemetry/exporter-trace-otlp-http';
|
|
9
9
|
import '@opentelemetry/core';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { L as Logger, C as ConsoleLogger, N as NoOpLogger } from './index-D7rKIGrO.js';
|
|
2
|
-
export { F as FilterableBatchSpanProcessor, L as LangWatchExporter, S as SpanProcessingExcludeRule, g as getLangWatchLogger, d as getLangWatchTracer } from './implementation
|
|
3
|
-
import { p as paths, P as PromptResponse, g as CreatePromptBody, U as UpdatePromptBody, h as PromptData,
|
|
2
|
+
export { F as FilterableBatchSpanProcessor, L as LangWatchExporter, S as SpanProcessingExcludeRule, g as getLangWatchLogger, d as getLangWatchTracer } from './implementation--OaaaMLb.js';
|
|
3
|
+
import { p as paths, P as PromptResponse, g as CreatePromptBody, U as UpdatePromptBody, h as PromptData, F as FetchPolicy, i as Prompt, a as LangWatchSpan } from './types-AByjs5T0.js';
|
|
4
4
|
import openApiCreateClient from 'openapi-fetch';
|
|
5
5
|
import { z } from 'zod';
|
|
6
|
-
export { l as attributes } from './types-
|
|
6
|
+
export { l as attributes } from './types-DYLY4SyT.js';
|
|
7
7
|
import '@opentelemetry/sdk-trace-base';
|
|
8
8
|
import '@opentelemetry/exporter-trace-otlp-http';
|
|
9
9
|
import '@opentelemetry/core';
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkKIFN3ONOjs = require('./chunk-KIFN3ONO.js');
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
@@ -8,28 +8,28 @@ var _chunkC2X4KWDKjs = require('./chunk-C2X4KWDK.js');
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
var
|
|
11
|
+
var _chunkEHWKVO46js = require('./chunk-EHWKVO46.js');
|
|
12
12
|
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _chunkQNT5P6VVjs = require('./chunk-QNT5P6VV.js');
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
|
|
18
|
-
var
|
|
18
|
+
var _chunkODBP2KFBjs = require('./chunk-ODBP2KFB.js');
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
|
|
22
|
-
var
|
|
22
|
+
var _chunkDKEWJFMOjs = require('./chunk-DKEWJFMO.js');
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
|
|
27
|
-
var
|
|
27
|
+
var _chunkRPCEDRSRjs = require('./chunk-RPCEDRSR.js');
|
|
28
28
|
|
|
29
29
|
|
|
30
30
|
|
|
31
31
|
|
|
32
|
-
var
|
|
32
|
+
var _chunk5LYWRKDFjs = require('./chunk-5LYWRKDF.js');
|
|
33
33
|
require('./chunk-WAAQLJ67.js');
|
|
34
34
|
require('./chunk-AZHZ4NB4.js');
|
|
35
35
|
|
|
@@ -355,7 +355,7 @@ var Experiment = class _Experiment {
|
|
|
355
355
|
* Initialize an evaluation session
|
|
356
356
|
*/
|
|
357
357
|
static async init(name, options) {
|
|
358
|
-
|
|
358
|
+
_chunkKIFN3ONOjs.ensureSetup.call(void 0, );
|
|
359
359
|
const experiment = new _Experiment(name, options);
|
|
360
360
|
await experiment.initialize();
|
|
361
361
|
return experiment;
|
|
@@ -427,7 +427,7 @@ var Experiment = class _Experiment {
|
|
|
427
427
|
const concurrency = (_a = options == null ? void 0 : options.concurrency) != null ? _a : this.concurrency;
|
|
428
428
|
this.total = dataset.length;
|
|
429
429
|
this.progress = 0;
|
|
430
|
-
const tracer2 = _api.trace.getTracer("langwatch
|
|
430
|
+
const tracer2 = _api.trace.getTracer("langwatch");
|
|
431
431
|
const executing = /* @__PURE__ */ new Set();
|
|
432
432
|
for (let index = 0; index < dataset.length; index++) {
|
|
433
433
|
const item = dataset[index];
|
|
@@ -439,6 +439,11 @@ var Experiment = class _Experiment {
|
|
|
439
439
|
}
|
|
440
440
|
}
|
|
441
441
|
await Promise.all(executing);
|
|
442
|
+
const provider = _api.trace.getTracerProvider();
|
|
443
|
+
const delegate = "getDelegate" in provider && typeof provider.getDelegate === "function" ? provider.getDelegate() : provider;
|
|
444
|
+
if (delegate && "forceFlush" in delegate && typeof delegate.forceFlush === "function") {
|
|
445
|
+
await delegate.forceFlush();
|
|
446
|
+
}
|
|
442
447
|
await this.flush(true);
|
|
443
448
|
}
|
|
444
449
|
/**
|
|
@@ -481,12 +486,13 @@ var Experiment = class _Experiment {
|
|
|
481
486
|
"evaluation.iteration",
|
|
482
487
|
{
|
|
483
488
|
attributes: {
|
|
489
|
+
"langwatch.origin": "evaluation",
|
|
484
490
|
"evaluation.run_id": this.runId,
|
|
485
491
|
"evaluation.index": index
|
|
486
492
|
}
|
|
487
493
|
},
|
|
488
494
|
async (otelSpan) => {
|
|
489
|
-
const span =
|
|
495
|
+
const span = _chunkODBP2KFBjs.createLangWatchSpan.call(void 0, otelSpan);
|
|
490
496
|
const spanContext = otelSpan.spanContext();
|
|
491
497
|
const traceId = spanContext.traceId;
|
|
492
498
|
this.currentTraceId = traceId;
|
|
@@ -717,7 +723,7 @@ var Experiment = class _Experiment {
|
|
|
717
723
|
const currentItem = iterationContext == null ? void 0 : iterationContext.item;
|
|
718
724
|
this.iterationUsedWithTarget.set(index, true);
|
|
719
725
|
this.registerTarget(targetName, metadata != null ? metadata : void 0);
|
|
720
|
-
const tracer2 = _api.trace.getTracer("langwatch
|
|
726
|
+
const tracer2 = _api.trace.getTracer("langwatch");
|
|
721
727
|
const startTime = Date.now();
|
|
722
728
|
let result;
|
|
723
729
|
let traceId = "";
|
|
@@ -727,6 +733,7 @@ var Experiment = class _Experiment {
|
|
|
727
733
|
`evaluation.target.${targetName}`,
|
|
728
734
|
{
|
|
729
735
|
attributes: {
|
|
736
|
+
"langwatch.origin": "evaluation",
|
|
730
737
|
"evaluation.run_id": this.runId,
|
|
731
738
|
"evaluation.target": targetName,
|
|
732
739
|
"evaluation.index": index
|
|
@@ -734,7 +741,7 @@ var Experiment = class _Experiment {
|
|
|
734
741
|
},
|
|
735
742
|
_api.ROOT_CONTEXT,
|
|
736
743
|
async (otelSpan) => {
|
|
737
|
-
const span =
|
|
744
|
+
const span = _chunkODBP2KFBjs.createLangWatchSpan.call(void 0, otelSpan);
|
|
738
745
|
const spanContext = otelSpan.spanContext();
|
|
739
746
|
const rawTraceId = spanContext.traceId;
|
|
740
747
|
spanId = spanContext.spanId;
|
|
@@ -1347,7 +1354,7 @@ var EvaluationsFacade = class {
|
|
|
1347
1354
|
},
|
|
1348
1355
|
_api.context.active()
|
|
1349
1356
|
);
|
|
1350
|
-
const langwatchSpan =
|
|
1357
|
+
const langwatchSpan = _chunkODBP2KFBjs.createLangWatchSpan.call(void 0, otelSpan);
|
|
1351
1358
|
langwatchSpan.setType(spanType);
|
|
1352
1359
|
langwatchSpan.setInput(_chunkOHM7JUMRjs.__spreadValues.call(void 0, {
|
|
1353
1360
|
data
|
|
@@ -1448,13 +1455,13 @@ var TracesError = class extends Error {
|
|
|
1448
1455
|
};
|
|
1449
1456
|
|
|
1450
1457
|
// src/client-sdk/services/traces/tracing/tracer.ts
|
|
1451
|
-
var tracer =
|
|
1458
|
+
var tracer = _chunkODBP2KFBjs.getLangWatchTracer.call(void 0, `${_chunkRPCEDRSRjs.LANGWATCH_SDK_NAME_CLIENT}.traces`, _chunkRPCEDRSRjs.LANGWATCH_SDK_VERSION);
|
|
1452
1459
|
|
|
1453
1460
|
// src/client-sdk/services/traces/service.ts
|
|
1454
1461
|
var TracesService = class {
|
|
1455
1462
|
constructor(config) {
|
|
1456
1463
|
this.config = config;
|
|
1457
|
-
return
|
|
1464
|
+
return _chunkEHWKVO46js.createTracingProxy.call(void 0,
|
|
1458
1465
|
this,
|
|
1459
1466
|
tracer
|
|
1460
1467
|
);
|
|
@@ -1517,15 +1524,15 @@ var LangWatch = class {
|
|
|
1517
1524
|
_chunkOHM7JUMRjs.__privateAdd.call(void 0, this, _LangWatch_instances);
|
|
1518
1525
|
var _a, _b, _c, _d;
|
|
1519
1526
|
const apiKey = (_b = (_a = options.apiKey) != null ? _a : process.env.LANGWATCH_API_KEY) != null ? _b : "";
|
|
1520
|
-
const endpoint = (_d = (_c = options.endpoint) != null ? _c : process.env.LANGWATCH_ENDPOINT) != null ? _d :
|
|
1527
|
+
const endpoint = (_d = (_c = options.endpoint) != null ? _c : process.env.LANGWATCH_ENDPOINT) != null ? _d : _chunkRPCEDRSRjs.DEFAULT_ENDPOINT;
|
|
1521
1528
|
this.config = _chunkOHM7JUMRjs.__privateMethod.call(void 0, this, _LangWatch_instances, createInternalConfig_fn).call(this, {
|
|
1522
1529
|
apiKey,
|
|
1523
1530
|
endpoint,
|
|
1524
1531
|
options: options.options
|
|
1525
1532
|
});
|
|
1526
|
-
this.prompts = new (0,
|
|
1527
|
-
promptsApiService: new (0,
|
|
1528
|
-
localPromptsService: new (0,
|
|
1533
|
+
this.prompts = new (0, _chunkEHWKVO46js.PromptsFacade)(_chunkOHM7JUMRjs.__spreadValues.call(void 0, {
|
|
1534
|
+
promptsApiService: new (0, _chunkEHWKVO46js.PromptsApiService)(this.config),
|
|
1535
|
+
localPromptsService: new (0, _chunkEHWKVO46js.LocalPromptsService)()
|
|
1529
1536
|
}, this.config));
|
|
1530
1537
|
this.traces = new TracesFacade(this.config);
|
|
1531
1538
|
this.experiments = new ExperimentsFacade({
|
|
@@ -1556,8 +1563,8 @@ createInternalConfig_fn = function({
|
|
|
1556
1563
|
}) {
|
|
1557
1564
|
var _a;
|
|
1558
1565
|
return {
|
|
1559
|
-
logger: (_a = options == null ? void 0 : options.logger) != null ? _a : new (0,
|
|
1560
|
-
langwatchApiClient:
|
|
1566
|
+
logger: (_a = options == null ? void 0 : options.logger) != null ? _a : new (0, _chunk5LYWRKDFjs.NoOpLogger)(),
|
|
1567
|
+
langwatchApiClient: _chunkEHWKVO46js.createLangWatchApiClient.call(void 0, apiKey, endpoint),
|
|
1561
1568
|
endpoint,
|
|
1562
1569
|
apiKey
|
|
1563
1570
|
};
|
|
@@ -1577,7 +1584,7 @@ var EvaluatorsApiError = class extends Error {
|
|
|
1577
1584
|
var EvaluatorsApiService = class {
|
|
1578
1585
|
constructor(config) {
|
|
1579
1586
|
var _a;
|
|
1580
|
-
this.apiClient = (_a = config == null ? void 0 : config.langwatchApiClient) != null ? _a :
|
|
1587
|
+
this.apiClient = (_a = config == null ? void 0 : config.langwatchApiClient) != null ? _a : _chunkEHWKVO46js.createLangWatchApiClient.call(void 0, );
|
|
1581
1588
|
}
|
|
1582
1589
|
handleApiError(operation, error) {
|
|
1583
1590
|
var _a;
|
|
@@ -1627,8 +1634,8 @@ var EvaluatorsApiService = class {
|
|
|
1627
1634
|
|
|
1628
1635
|
// src/index.ts
|
|
1629
1636
|
var logger = {
|
|
1630
|
-
ConsoleLogger:
|
|
1631
|
-
NoOpLogger:
|
|
1637
|
+
ConsoleLogger: _chunk5LYWRKDFjs.ConsoleLogger,
|
|
1638
|
+
NoOpLogger: _chunk5LYWRKDFjs.NoOpLogger
|
|
1632
1639
|
};
|
|
1633
1640
|
|
|
1634
1641
|
|
|
@@ -1653,5 +1660,5 @@ var logger = {
|
|
|
1653
1660
|
|
|
1654
1661
|
|
|
1655
1662
|
|
|
1656
|
-
exports.EvaluationError = EvaluationError; exports.EvaluationsApiError = EvaluationsApiError; exports.EvaluationsFacade = EvaluationsFacade; exports.EvaluatorCallError = EvaluatorCallError; exports.EvaluatorError = EvaluatorError; exports.EvaluatorNotFoundError = EvaluatorNotFoundError; exports.EvaluatorsApiError = EvaluatorsApiError; exports.EvaluatorsApiService = EvaluatorsApiService; exports.Experiment = Experiment; exports.ExperimentApiError = ExperimentApiError; exports.ExperimentError = ExperimentError; exports.ExperimentInitError = ExperimentInitError; exports.ExperimentsFacade = ExperimentsFacade; exports.FetchPolicy =
|
|
1663
|
+
exports.EvaluationError = EvaluationError; exports.EvaluationsApiError = EvaluationsApiError; exports.EvaluationsFacade = EvaluationsFacade; exports.EvaluatorCallError = EvaluatorCallError; exports.EvaluatorError = EvaluatorError; exports.EvaluatorNotFoundError = EvaluatorNotFoundError; exports.EvaluatorsApiError = EvaluatorsApiError; exports.EvaluatorsApiService = EvaluatorsApiService; exports.Experiment = Experiment; exports.ExperimentApiError = ExperimentApiError; exports.ExperimentError = ExperimentError; exports.ExperimentInitError = ExperimentInitError; exports.ExperimentsFacade = ExperimentsFacade; exports.FetchPolicy = _chunkEHWKVO46js.FetchPolicy; exports.FilterableBatchSpanProcessor = _chunkQNT5P6VVjs.FilterableBatchSpanProcessor; exports.LangWatch = LangWatch; exports.LangWatchExporter = _chunkDKEWJFMOjs.LangWatchTraceExporter; exports.TargetMetadataConflictError = TargetMetadataConflictError; exports.attributes = _chunk5LYWRKDFjs.attributes_exports; exports.getLangWatchLogger = _chunkDKEWJFMOjs.getLangWatchLogger; exports.getLangWatchTracer = _chunkODBP2KFBjs.getLangWatchTracer; exports.logger = logger;
|
|
1657
1664
|
//# sourceMappingURL=index.js.map
|