@vscode/chat-lib 0.4.1-12 → 0.4.1-13

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 (79) hide show
  1. package/dist/src/_internal/extension/byok/node/openAIEndpoint.d.ts +2 -1
  2. package/dist/src/_internal/extension/byok/node/openAIEndpoint.d.ts.map +1 -1
  3. package/dist/src/_internal/extension/byok/node/openAIEndpoint.js +5 -3
  4. package/dist/src/_internal/extension/byok/node/openAIEndpoint.js.map +1 -1
  5. package/dist/src/_internal/extension/prompt/node/chatMLFetcher.d.ts +3 -1
  6. package/dist/src/_internal/extension/prompt/node/chatMLFetcher.d.ts.map +1 -1
  7. package/dist/src/_internal/extension/prompt/node/chatMLFetcher.js +154 -23
  8. package/dist/src/_internal/extension/prompt/node/chatMLFetcher.js.map +1 -1
  9. package/dist/src/_internal/extension/xtab/node/xtabEndpoint.d.ts +2 -1
  10. package/dist/src/_internal/extension/xtab/node/xtabEndpoint.d.ts.map +1 -1
  11. package/dist/src/_internal/extension/xtab/node/xtabEndpoint.js +5 -3
  12. package/dist/src/_internal/extension/xtab/node/xtabEndpoint.js.map +1 -1
  13. package/dist/src/_internal/platform/configuration/common/configurationService.d.ts +6 -1
  14. package/dist/src/_internal/platform/configuration/common/configurationService.d.ts.map +1 -1
  15. package/dist/src/_internal/platform/configuration/common/configurationService.js +7 -1
  16. package/dist/src/_internal/platform/configuration/common/configurationService.js.map +1 -1
  17. package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.js +1 -1
  18. package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.js.map +1 -1
  19. package/dist/src/_internal/platform/endpoint/common/endpointProvider.d.ts +2 -1
  20. package/dist/src/_internal/platform/endpoint/common/endpointProvider.d.ts.map +1 -1
  21. package/dist/src/_internal/platform/endpoint/common/endpointProvider.js +1 -0
  22. package/dist/src/_internal/platform/endpoint/common/endpointProvider.js.map +1 -1
  23. package/dist/src/_internal/platform/endpoint/node/autoChatEndpoint.d.ts +2 -1
  24. package/dist/src/_internal/platform/endpoint/node/autoChatEndpoint.d.ts.map +1 -1
  25. package/dist/src/_internal/platform/endpoint/node/autoChatEndpoint.js +5 -3
  26. package/dist/src/_internal/platform/endpoint/node/autoChatEndpoint.js.map +1 -1
  27. package/dist/src/_internal/platform/endpoint/node/chatEndpoint.d.ts +5 -2
  28. package/dist/src/_internal/platform/endpoint/node/chatEndpoint.d.ts.map +1 -1
  29. package/dist/src/_internal/platform/endpoint/node/chatEndpoint.js +17 -7
  30. package/dist/src/_internal/platform/endpoint/node/chatEndpoint.js.map +1 -1
  31. package/dist/src/_internal/platform/endpoint/node/copilotChatEndpoint.d.ts +2 -1
  32. package/dist/src/_internal/platform/endpoint/node/copilotChatEndpoint.d.ts.map +1 -1
  33. package/dist/src/_internal/platform/endpoint/node/copilotChatEndpoint.js +5 -3
  34. package/dist/src/_internal/platform/endpoint/node/copilotChatEndpoint.js.map +1 -1
  35. package/dist/src/_internal/platform/github/common/githubAPI.d.ts +1 -0
  36. package/dist/src/_internal/platform/github/common/githubAPI.d.ts.map +1 -1
  37. package/dist/src/_internal/platform/github/common/githubAPI.js +2 -0
  38. package/dist/src/_internal/platform/github/common/githubAPI.js.map +1 -1
  39. package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.d.ts +1 -1
  40. package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.d.ts.map +1 -1
  41. package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.js +1 -1
  42. package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.js.map +1 -1
  43. package/dist/src/_internal/platform/otel/common/genAiAttributes.d.ts +85 -0
  44. package/dist/src/_internal/platform/otel/common/genAiAttributes.d.ts.map +1 -0
  45. package/dist/src/_internal/platform/otel/common/genAiAttributes.js +105 -0
  46. package/dist/src/_internal/platform/otel/common/genAiAttributes.js.map +1 -0
  47. package/dist/src/_internal/platform/otel/common/genAiEvents.d.ts +28 -0
  48. package/dist/src/_internal/platform/otel/common/genAiEvents.d.ts.map +1 -0
  49. package/dist/src/_internal/platform/otel/common/genAiEvents.js +91 -0
  50. package/dist/src/_internal/platform/otel/common/genAiEvents.js.map +1 -0
  51. package/dist/src/_internal/platform/otel/common/genAiMetrics.d.ts +30 -0
  52. package/dist/src/_internal/platform/otel/common/genAiMetrics.d.ts.map +1 -0
  53. package/dist/src/_internal/platform/otel/common/genAiMetrics.js +68 -0
  54. package/dist/src/_internal/platform/otel/common/genAiMetrics.js.map +1 -0
  55. package/dist/src/_internal/platform/otel/common/index.d.ts +8 -0
  56. package/dist/src/_internal/platform/otel/common/index.d.ts.map +1 -0
  57. package/dist/src/_internal/platform/otel/common/index.js +35 -0
  58. package/dist/src/_internal/platform/otel/common/index.js.map +1 -0
  59. package/dist/src/_internal/platform/otel/common/messageFormatters.d.ts +85 -0
  60. package/dist/src/_internal/platform/otel/common/messageFormatters.d.ts.map +1 -0
  61. package/dist/src/_internal/platform/otel/common/messageFormatters.js +122 -0
  62. package/dist/src/_internal/platform/otel/common/messageFormatters.js.map +1 -0
  63. package/dist/src/_internal/platform/otel/common/noopOtelService.d.ts +23 -0
  64. package/dist/src/_internal/platform/otel/common/noopOtelService.d.ts.map +1 -0
  65. package/dist/src/_internal/platform/otel/common/noopOtelService.js +46 -0
  66. package/dist/src/_internal/platform/otel/common/noopOtelService.js.map +1 -0
  67. package/dist/src/_internal/platform/otel/common/otelConfig.d.ts +35 -0
  68. package/dist/src/_internal/platform/otel/common/otelConfig.d.ts.map +1 -0
  69. package/dist/src/_internal/platform/otel/common/otelConfig.js +140 -0
  70. package/dist/src/_internal/platform/otel/common/otelConfig.js.map +1 -0
  71. package/dist/src/_internal/platform/otel/common/otelService.d.ts +100 -0
  72. package/dist/src/_internal/platform/otel/common/otelService.d.ts.map +1 -0
  73. package/dist/src/_internal/platform/otel/common/otelService.js +10 -0
  74. package/dist/src/_internal/platform/otel/common/otelService.js.map +1 -0
  75. package/dist/src/main.d.ts.map +1 -1
  76. package/dist/src/main.js +4 -0
  77. package/dist/src/main.js.map +1 -1
  78. package/dist/src/package.json +78 -13
  79. package/package.json +1 -1
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Truncate a string to fit within OTel attribute size limits.
3
+ * Returns the original string if within bounds, otherwise truncates with a suffix.
4
+ */
5
+ export declare function truncateForOTel(value: string, maxLength?: number): string;
6
+ export interface OTelChatMessage {
7
+ role: string | undefined;
8
+ parts: OTelMessagePart[];
9
+ }
10
+ export interface OTelOutputMessage extends OTelChatMessage {
11
+ finish_reason?: string;
12
+ }
13
+ export type OTelMessagePart = {
14
+ type: 'text';
15
+ content: string;
16
+ } | {
17
+ type: 'tool_call';
18
+ id: string;
19
+ name: string;
20
+ arguments: unknown;
21
+ } | {
22
+ type: 'tool_call_response';
23
+ id: string;
24
+ content: unknown;
25
+ } | {
26
+ type: 'reasoning';
27
+ content: string;
28
+ };
29
+ export type OTelSystemInstruction = Array<{
30
+ type: 'text';
31
+ content: string;
32
+ }>;
33
+ export interface OTelToolDefinition {
34
+ type: 'function';
35
+ name: string;
36
+ description?: string;
37
+ parameters?: unknown;
38
+ }
39
+ /**
40
+ * Convert an array of internal messages to OTel input message format.
41
+ */
42
+ export declare function toInputMessages(messages: ReadonlyArray<{
43
+ role?: string;
44
+ content?: string;
45
+ tool_calls?: ReadonlyArray<{
46
+ id: string;
47
+ function: {
48
+ name: string;
49
+ arguments: string;
50
+ };
51
+ }>;
52
+ }>): OTelChatMessage[];
53
+ /**
54
+ * Convert model response choices to OTel output message format.
55
+ */
56
+ export declare function toOutputMessages(choices: ReadonlyArray<{
57
+ message?: {
58
+ role?: string;
59
+ content?: string;
60
+ tool_calls?: ReadonlyArray<{
61
+ id: string;
62
+ function: {
63
+ name: string;
64
+ arguments: string;
65
+ };
66
+ }>;
67
+ };
68
+ finish_reason?: string;
69
+ }>): OTelOutputMessage[];
70
+ /**
71
+ * Convert system message to OTel system instruction format.
72
+ */
73
+ export declare function toSystemInstructions(systemMessage: string | undefined): OTelSystemInstruction | undefined;
74
+ /**
75
+ * Convert tool definitions to OTel tool definition format.
76
+ */
77
+ export declare function toToolDefinitions(tools: ReadonlyArray<{
78
+ type?: string;
79
+ function?: {
80
+ name: string;
81
+ description?: string;
82
+ parameters?: unknown;
83
+ };
84
+ }> | undefined): OTelToolDefinition[] | undefined;
85
+ //# sourceMappingURL=messageFormatters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messageFormatters.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/platform/otel/common/messageFormatters.ts"],"names":[],"mappings":"AAkBA;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,GAAE,MAAkC,GAAG,MAAM,CAMpG;AAED,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,KAAK,EAAE,eAAe,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,iBAAkB,SAAQ,eAAe;IACzD,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,eAAe,GACxB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,GACnE;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAC5D;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1C,MAAM,MAAM,qBAAqB,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAE7E,MAAM,WAAW,kBAAkB;IAClC,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,aAAa,CAAC;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,aAAa,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,GAAG,eAAe,EAAE,CAuB1M;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,aAAa,CAAC;IACvD,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,aAAa,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,SAAS,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;IACzI,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC,GAAG,iBAAiB,EAAE,CA4BvB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,GAAG,qBAAqB,GAAG,SAAS,CAKzG;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa,CAAC;IACtD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CACxE,CAAC,GAAG,SAAS,GAAG,kBAAkB,EAAE,GAAG,SAAS,CAYhD"}
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Microsoft Corporation. All rights reserved.
4
+ * Licensed under the MIT License. See License.txt in the project root for license information.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.truncateForOTel = truncateForOTel;
8
+ exports.toInputMessages = toInputMessages;
9
+ exports.toOutputMessages = toOutputMessages;
10
+ exports.toSystemInstructions = toSystemInstructions;
11
+ exports.toToolDefinitions = toToolDefinitions;
12
+ /**
13
+ * Converts internal message types to OTel GenAI JSON schema format.
14
+ * @see https://github.com/open-telemetry/semantic-conventions/blob/main/docs/gen-ai/gen-ai-input-messages.json
15
+ * @see https://github.com/open-telemetry/semantic-conventions/blob/main/docs/gen-ai/gen-ai-output-messages.json
16
+ */
17
+ /**
18
+ * Maximum size (in characters) for a single OTel span/log attribute value.
19
+ * Aligned with common backend limits (Jaeger 64KB, Tempo 100KB).
20
+ * Matches gemini-cli's approach of capping content to prevent OTLP batch failures.
21
+ */
22
+ const MAX_OTEL_ATTRIBUTE_LENGTH = 64_000;
23
+ /**
24
+ * Truncate a string to fit within OTel attribute size limits.
25
+ * Returns the original string if within bounds, otherwise truncates with a suffix.
26
+ */
27
+ function truncateForOTel(value, maxLength = MAX_OTEL_ATTRIBUTE_LENGTH) {
28
+ if (value.length <= maxLength) {
29
+ return value;
30
+ }
31
+ const suffix = `...[truncated, original ${value.length} chars]`;
32
+ return value.substring(0, maxLength - suffix.length) + suffix;
33
+ }
34
+ /**
35
+ * Convert an array of internal messages to OTel input message format.
36
+ */
37
+ function toInputMessages(messages) {
38
+ return messages.map(msg => {
39
+ const parts = [];
40
+ if (msg.content) {
41
+ parts.push({ type: 'text', content: msg.content });
42
+ }
43
+ if (msg.tool_calls) {
44
+ for (const tc of msg.tool_calls) {
45
+ let args;
46
+ try {
47
+ args = JSON.parse(tc.function.arguments);
48
+ }
49
+ catch {
50
+ args = tc.function.arguments;
51
+ }
52
+ parts.push({
53
+ type: 'tool_call',
54
+ id: tc.id,
55
+ name: tc.function.name,
56
+ arguments: args,
57
+ });
58
+ }
59
+ }
60
+ return { role: msg.role, parts };
61
+ });
62
+ }
63
+ /**
64
+ * Convert model response choices to OTel output message format.
65
+ */
66
+ function toOutputMessages(choices) {
67
+ return choices.map(choice => {
68
+ const parts = [];
69
+ const msg = choice.message;
70
+ if (msg?.content) {
71
+ parts.push({ type: 'text', content: msg.content });
72
+ }
73
+ if (msg?.tool_calls) {
74
+ for (const tc of msg.tool_calls) {
75
+ let args;
76
+ try {
77
+ args = JSON.parse(tc.function.arguments);
78
+ }
79
+ catch {
80
+ args = tc.function.arguments;
81
+ }
82
+ parts.push({
83
+ type: 'tool_call',
84
+ id: tc.id,
85
+ name: tc.function.name,
86
+ arguments: args,
87
+ });
88
+ }
89
+ }
90
+ return {
91
+ role: msg?.role ?? 'assistant',
92
+ parts,
93
+ finish_reason: choice.finish_reason,
94
+ };
95
+ });
96
+ }
97
+ /**
98
+ * Convert system message to OTel system instruction format.
99
+ */
100
+ function toSystemInstructions(systemMessage) {
101
+ if (!systemMessage) {
102
+ return undefined;
103
+ }
104
+ return [{ type: 'text', content: systemMessage }];
105
+ }
106
+ /**
107
+ * Convert tool definitions to OTel tool definition format.
108
+ */
109
+ function toToolDefinitions(tools) {
110
+ if (!tools || tools.length === 0) {
111
+ return undefined;
112
+ }
113
+ return tools
114
+ .filter((t) => !!t.function)
115
+ .map(t => ({
116
+ type: 'function',
117
+ name: t.function.name,
118
+ description: t.function.description,
119
+ parameters: t.function.parameters,
120
+ }));
121
+ }
122
+ //# sourceMappingURL=messageFormatters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messageFormatters.js","sourceRoot":"","sources":["../../../../../../src/_internal/platform/otel/common/messageFormatters.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type { OTelConfig } from './otelConfig';
2
+ import type { IOTelService, ISpanHandle, SpanOptions, TraceContext } from './otelService';
3
+ /**
4
+ * No-op implementation of IOTelService.
5
+ * All methods are zero-cost when OTel is disabled.
6
+ */
7
+ export declare class NoopOTelService implements IOTelService {
8
+ readonly _serviceBrand: undefined;
9
+ readonly config: OTelConfig;
10
+ constructor(config: OTelConfig);
11
+ startSpan(_name: string, _options?: SpanOptions): ISpanHandle;
12
+ startActiveSpan<T>(_name: string, _options: SpanOptions, fn: (span: ISpanHandle) => Promise<T>): Promise<T>;
13
+ getActiveTraceContext(): TraceContext | undefined;
14
+ storeTraceContext(_key: string, _context: TraceContext): void;
15
+ getStoredTraceContext(_key: string): TraceContext | undefined;
16
+ runWithTraceContext<T>(_traceContext: TraceContext, fn: () => Promise<T>): Promise<T>;
17
+ recordMetric(_name: string, _value: number, _attributes?: Record<string, string | number | boolean>): void;
18
+ incrementCounter(_name: string, _value?: number, _attributes?: Record<string, string | number | boolean>): void;
19
+ emitLogRecord(_body: string, _attributes?: Record<string, unknown>): void;
20
+ flush(): Promise<void>;
21
+ shutdown(): Promise<void>;
22
+ }
23
+ //# sourceMappingURL=noopOtelService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noopOtelService.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/platform/otel/common/noopOtelService.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAU1F;;;GAGG;AACH,qBAAa,eAAgB,YAAW,YAAY;IACnD,SAAiB,aAAa,EAAE,SAAS,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;gBAEhB,MAAM,EAAE,UAAU;IAI9B,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,WAAW;IAI7D,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAI3G,qBAAqB,IAAI,YAAY,GAAG,SAAS;IAIjD,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,IAAI;IAE7D,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAI7D,mBAAmB,CAAC,CAAC,EAAE,aAAa,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIrF,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,IAAI;IAE1G,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,IAAI;IAE/G,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAEnE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAEtB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAC/B"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Microsoft Corporation. All rights reserved.
4
+ * Licensed under the MIT License. See License.txt in the project root for license information.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.NoopOTelService = void 0;
8
+ const noopSpan = {
9
+ setAttribute() { },
10
+ setAttributes() { },
11
+ setStatus() { },
12
+ recordException() { },
13
+ end() { },
14
+ };
15
+ /**
16
+ * No-op implementation of IOTelService.
17
+ * All methods are zero-cost when OTel is disabled.
18
+ */
19
+ class NoopOTelService {
20
+ constructor(config) {
21
+ this.config = config;
22
+ }
23
+ startSpan(_name, _options) {
24
+ return noopSpan;
25
+ }
26
+ startActiveSpan(_name, _options, fn) {
27
+ return fn(noopSpan);
28
+ }
29
+ getActiveTraceContext() {
30
+ return undefined;
31
+ }
32
+ storeTraceContext(_key, _context) { }
33
+ getStoredTraceContext(_key) {
34
+ return undefined;
35
+ }
36
+ runWithTraceContext(_traceContext, fn) {
37
+ return fn();
38
+ }
39
+ recordMetric(_name, _value, _attributes) { }
40
+ incrementCounter(_name, _value, _attributes) { }
41
+ emitLogRecord(_body, _attributes) { }
42
+ async flush() { }
43
+ async shutdown() { }
44
+ }
45
+ exports.NoopOTelService = NoopOTelService;
46
+ //# sourceMappingURL=noopOtelService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noopOtelService.js","sourceRoot":"","sources":["../../../../../../src/_internal/platform/otel/common/noopOtelService.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;AAKhG,MAAM,QAAQ,GAAgB;IAC7B,YAAY,KAAK,CAAC;IAClB,aAAa,KAAK,CAAC;IACnB,SAAS,KAAK,CAAC;IACf,eAAe,KAAK,CAAC;IACrB,GAAG,KAAK,CAAC;CACT,CAAC;AAEF;;;GAGG;AACH,MAAa,eAAe;IAI3B,YAAY,MAAkB;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,CAAC;IAED,SAAS,CAAC,KAAa,EAAE,QAAsB;QAC9C,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED,eAAe,CAAI,KAAa,EAAE,QAAqB,EAAE,EAAqC;QAC7F,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC;IACrB,CAAC;IAED,qBAAqB;QACpB,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,iBAAiB,CAAC,IAAY,EAAE,QAAsB,IAAU,CAAC;IAEjE,qBAAqB,CAAC,IAAY;QACjC,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,mBAAmB,CAAI,aAA2B,EAAE,EAAoB;QACvE,OAAO,EAAE,EAAE,CAAC;IACb,CAAC;IAED,YAAY,CAAC,KAAa,EAAE,MAAc,EAAE,WAAuD,IAAU,CAAC;IAE9G,gBAAgB,CAAC,KAAa,EAAE,MAAe,EAAE,WAAuD,IAAU,CAAC;IAEnH,aAAa,CAAC,KAAa,EAAE,WAAqC,IAAU,CAAC;IAE7E,KAAK,CAAC,KAAK,KAAoB,CAAC;IAEhC,KAAK,CAAC,QAAQ,KAAoB,CAAC;CACnC;AAvCD,0CAuCC"}
@@ -0,0 +1,35 @@
1
+ export type OTelExporterType = 'otlp-grpc' | 'otlp-http' | 'console' | 'file';
2
+ export interface OTelConfig {
3
+ readonly enabled: boolean;
4
+ readonly exporterType: OTelExporterType;
5
+ readonly otlpEndpoint: string;
6
+ readonly otlpProtocol: 'grpc' | 'http';
7
+ readonly captureContent: boolean;
8
+ readonly fileExporterPath?: string;
9
+ readonly logLevel: 'trace' | 'debug' | 'info' | 'warn' | 'error';
10
+ readonly httpInstrumentation: boolean;
11
+ readonly serviceName: string;
12
+ readonly serviceVersion: string;
13
+ readonly sessionId: string;
14
+ readonly resourceAttributes: Record<string, string>;
15
+ }
16
+ export interface OTelConfigInput {
17
+ env: Record<string, string | undefined>;
18
+ settingEnabled?: boolean;
19
+ settingExporterType?: OTelExporterType;
20
+ settingOtlpEndpoint?: string;
21
+ settingCaptureContent?: boolean;
22
+ settingOutfile?: string;
23
+ extensionVersion: string;
24
+ sessionId: string;
25
+ vscodeTelemetryLevel?: string;
26
+ }
27
+ /**
28
+ * Resolve OTel configuration with layered precedence:
29
+ * 1. COPILOT_OTEL_* env vars (highest)
30
+ * 2. OTEL_EXPORTER_OTLP_* standard env vars
31
+ * 3. VS Code settings
32
+ * 4. Defaults (lowest)
33
+ */
34
+ export declare function resolveOTelConfig(input: OTelConfigInput): OTelConfig;
35
+ //# sourceMappingURL=otelConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"otelConfig.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/platform/otel/common/otelConfig.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,WAAW,GAAG,SAAS,GAAG,MAAM,CAAC;AAE9E,MAAM,WAAW,UAAU;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,gBAAgB,CAAC;IACxC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;IACvC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACjE,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpD;AAyCD,MAAM,WAAW,eAAe;IAC/B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACxC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mBAAmB,CAAC,EAAE,gBAAgB,CAAC;IACvC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,eAAe,GAAG,UAAU,CA4EpE"}
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Microsoft Corporation. All rights reserved.
4
+ * Licensed under the MIT License. See License.txt in the project root for license information.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.resolveOTelConfig = resolveOTelConfig;
8
+ /**
9
+ * Parse `OTEL_RESOURCE_ATTRIBUTES` format: "key1=val1,key2=val2"
10
+ */
11
+ function parseResourceAttributes(raw) {
12
+ if (!raw) {
13
+ return {};
14
+ }
15
+ const result = {};
16
+ for (const pair of raw.split(',')) {
17
+ const eqIdx = pair.indexOf('=');
18
+ if (eqIdx > 0) {
19
+ const key = pair.substring(0, eqIdx).trim();
20
+ const value = pair.substring(eqIdx + 1).trim();
21
+ if (key) {
22
+ result[key] = value;
23
+ }
24
+ }
25
+ }
26
+ return result;
27
+ }
28
+ /**
29
+ * Parse and validate an OTLP endpoint URL.
30
+ * For gRPC: returns origin (scheme://host:port).
31
+ * For HTTP: returns full href.
32
+ */
33
+ function parseOtlpEndpoint(raw, protocol) {
34
+ if (!raw) {
35
+ return undefined;
36
+ }
37
+ const trimmed = raw.replace(/^["']|["']$/g, '');
38
+ try {
39
+ const url = new URL(trimmed);
40
+ return protocol === 'grpc' ? url.origin : url.href;
41
+ }
42
+ catch {
43
+ return undefined;
44
+ }
45
+ }
46
+ /**
47
+ * Resolve OTel configuration with layered precedence:
48
+ * 1. COPILOT_OTEL_* env vars (highest)
49
+ * 2. OTEL_EXPORTER_OTLP_* standard env vars
50
+ * 3. VS Code settings
51
+ * 4. Defaults (lowest)
52
+ */
53
+ function resolveOTelConfig(input) {
54
+ const { env } = input;
55
+ // Kill switch: respect VS Code telemetry level
56
+ if (input.vscodeTelemetryLevel === 'off') {
57
+ return createDisabledConfig(input);
58
+ }
59
+ // Determine if enabled: env > setting > default(false)
60
+ const enabled = envBool(env['COPILOT_OTEL_ENABLED'])
61
+ ?? input.settingEnabled
62
+ ?? (!!env['OTEL_EXPORTER_OTLP_ENDPOINT']);
63
+ if (!enabled) {
64
+ return createDisabledConfig(input);
65
+ }
66
+ // Protocol: env > inferred from exporter type > default
67
+ const rawProtocol = env['OTEL_EXPORTER_OTLP_PROTOCOL'] ?? env['COPILOT_OTEL_PROTOCOL'];
68
+ const protocol = rawProtocol === 'grpc' ? 'grpc' : 'http';
69
+ // Endpoint: COPILOT_OTEL env > OTEL env > setting > default
70
+ const rawEndpoint = env['COPILOT_OTEL_ENDPOINT']
71
+ ?? env['OTEL_EXPORTER_OTLP_ENDPOINT']
72
+ ?? input.settingOtlpEndpoint
73
+ ?? 'http://localhost:4318';
74
+ const otlpEndpoint = parseOtlpEndpoint(rawEndpoint, protocol) ?? 'http://localhost:4318';
75
+ // File exporter path
76
+ const fileExporterPath = env['COPILOT_OTEL_FILE_EXPORTER_PATH'] ?? input.settingOutfile;
77
+ // Exporter type
78
+ let exporterType;
79
+ if (fileExporterPath) {
80
+ exporterType = 'file';
81
+ }
82
+ else if (input.settingExporterType) {
83
+ exporterType = input.settingExporterType;
84
+ }
85
+ else {
86
+ exporterType = protocol === 'grpc' ? 'otlp-grpc' : 'otlp-http';
87
+ }
88
+ // Content capture
89
+ const captureContent = envBool(env['COPILOT_OTEL_CAPTURE_CONTENT'])
90
+ ?? input.settingCaptureContent
91
+ ?? false;
92
+ // Log level
93
+ const validLogLevels = new Set(['trace', 'debug', 'info', 'warn', 'error']);
94
+ const rawLogLevel = env['COPILOT_OTEL_LOG_LEVEL'];
95
+ const logLevel = rawLogLevel && validLogLevels.has(rawLogLevel)
96
+ ? rawLogLevel
97
+ : 'info';
98
+ // HTTP instrumentation
99
+ const httpInstrumentation = envBool(env['COPILOT_OTEL_HTTP_INSTRUMENTATION']) ?? false;
100
+ // Service name
101
+ const serviceName = env['OTEL_SERVICE_NAME'] ?? 'copilot-chat';
102
+ // Resource attributes
103
+ const resourceAttributes = parseResourceAttributes(env['OTEL_RESOURCE_ATTRIBUTES']);
104
+ return Object.freeze({
105
+ enabled: true,
106
+ exporterType,
107
+ otlpEndpoint,
108
+ otlpProtocol: protocol,
109
+ captureContent,
110
+ fileExporterPath,
111
+ logLevel,
112
+ httpInstrumentation,
113
+ serviceName,
114
+ serviceVersion: input.extensionVersion,
115
+ sessionId: input.sessionId,
116
+ resourceAttributes,
117
+ });
118
+ }
119
+ function createDisabledConfig(input) {
120
+ return Object.freeze({
121
+ enabled: false,
122
+ exporterType: 'otlp-http',
123
+ otlpEndpoint: '',
124
+ otlpProtocol: 'http',
125
+ captureContent: false,
126
+ logLevel: 'info',
127
+ httpInstrumentation: false,
128
+ serviceName: 'copilot-chat',
129
+ serviceVersion: input.extensionVersion,
130
+ sessionId: input.sessionId,
131
+ resourceAttributes: {},
132
+ });
133
+ }
134
+ function envBool(val) {
135
+ if (val === undefined) {
136
+ return undefined;
137
+ }
138
+ return val === 'true' || val === '1';
139
+ }
140
+ //# sourceMappingURL=otelConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"otelConfig.js","sourceRoot":"","sources":["../../../../../../src/_internal/platform/otel/common/otelConfig.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,100 @@
1
+ import type { OTelConfig } from './otelConfig';
2
+ export declare const IOTelService: import("../../../util/common/services").ServiceIdentifier<IOTelService>;
3
+ /**
4
+ * Serializable trace context for cross-boundary span propagation.
5
+ */
6
+ export interface TraceContext {
7
+ readonly traceId: string;
8
+ readonly spanId: string;
9
+ }
10
+ /**
11
+ * Abstracts the OpenTelemetry SDK so consumers don't import OTel directly.
12
+ * When disabled, all methods are no-ops with zero overhead.
13
+ */
14
+ export interface IOTelService {
15
+ readonly _serviceBrand: undefined;
16
+ readonly config: OTelConfig;
17
+ /**
18
+ * Start a new span. Returns a handle to set attributes and end the span.
19
+ * If OTel is disabled, returns a no-op handle.
20
+ */
21
+ startSpan(name: string, options?: SpanOptions): ISpanHandle;
22
+ /**
23
+ * Start a span and set it as active context so child spans are parented.
24
+ * Calls `fn` within the active span context.
25
+ */
26
+ startActiveSpan<T>(name: string, options: SpanOptions, fn: (span: ISpanHandle) => Promise<T>): Promise<T>;
27
+ /**
28
+ * Get the trace context (traceId + spanId) of the currently active span.
29
+ * Returns undefined if no span is active or OTel is disabled.
30
+ */
31
+ getActiveTraceContext(): TraceContext | undefined;
32
+ /**
33
+ * Store a trace context for later retrieval, keyed by a string ID.
34
+ * Used to propagate context across async boundaries (e.g., subagent invocations).
35
+ */
36
+ storeTraceContext(key: string, context: TraceContext): void;
37
+ /**
38
+ * Retrieve and remove a previously stored trace context by key.
39
+ */
40
+ getStoredTraceContext(key: string): TraceContext | undefined;
41
+ /**
42
+ * Run a function with a remote trace context set as active, without creating a span.
43
+ * Child spans created inside `fn` will be parented to the given trace context.
44
+ */
45
+ runWithTraceContext<T>(traceContext: TraceContext, fn: () => Promise<T>): Promise<T>;
46
+ /**
47
+ * Record a histogram metric value.
48
+ */
49
+ recordMetric(name: string, value: number, attributes?: Record<string, string | number | boolean>): void;
50
+ /**
51
+ * Increment a counter metric.
52
+ */
53
+ incrementCounter(name: string, value?: number, attributes?: Record<string, string | number | boolean>): void;
54
+ /**
55
+ * Emit an OTel log record / event.
56
+ */
57
+ emitLogRecord(body: string, attributes?: Record<string, unknown>): void;
58
+ /**
59
+ * Force flush all pending telemetry data.
60
+ */
61
+ flush(): Promise<void>;
62
+ /**
63
+ * Gracefully shut down the OTel SDK.
64
+ */
65
+ shutdown(): Promise<void>;
66
+ }
67
+ export declare const enum SpanKind {
68
+ INTERNAL = 0,
69
+ CLIENT = 2
70
+ }
71
+ export declare const enum SpanStatusCode {
72
+ UNSET = 0,
73
+ OK = 1,
74
+ ERROR = 2
75
+ }
76
+ export interface SpanOptions {
77
+ kind?: SpanKind;
78
+ attributes?: Record<string, string | number | boolean | string[]>;
79
+ /** When set, the span will be created as a child of this remote trace context. */
80
+ parentTraceContext?: TraceContext;
81
+ }
82
+ /**
83
+ * Lightweight handle for a span, independent of the OTel SDK types.
84
+ */
85
+ export interface ISpanHandle {
86
+ setAttribute(key: string, value: string | number | boolean | string[]): void;
87
+ setAttributes(attrs: Record<string, string | number | boolean | string[] | undefined>): void;
88
+ setStatus(code: SpanStatusCode, message?: string): void;
89
+ recordException(error: unknown): void;
90
+ end(): void;
91
+ }
92
+ /**
93
+ * Shape of `modelOptions` passed through VS Code IPC for cross-process
94
+ * CapturingToken restoration and OTel trace context propagation.
95
+ */
96
+ export interface OTelModelOptions {
97
+ readonly _capturingTokenCorrelationId?: string;
98
+ readonly _otelTraceContext?: TraceContext | null;
99
+ }
100
+ //# sourceMappingURL=otelService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"otelService.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/platform/otel/common/otelService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Microsoft Corporation. All rights reserved.
4
+ * Licensed under the MIT License. See License.txt in the project root for license information.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.IOTelService = void 0;
8
+ const services_1 = require("../../../util/common/services");
9
+ exports.IOTelService = (0, services_1.createServiceIdentifier)('IOTelService');
10
+ //# sourceMappingURL=otelService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"otelService.js","sourceRoot":"","sources":["../../../../../../src/_internal/platform/otel/common/otelService.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;AAEhG,4DAAwE;AAG3D,QAAA,YAAY,GAAG,IAAA,kCAAuB,EAAe,cAAc,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"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"}