MCPcopy Create free account
hub / github.com/MoonshotAI/kimi-code / send

Method send

packages/telemetry/src/transport.ts:64–110  ·  view source on GitHub ↗
(events: readonly EnrichedTelemetryEvent[], signal?: AbortSignal)

Source from the content-addressed store, hash-verified

62 }
63
64 async send(events: readonly EnrichedTelemetryEvent[], signal?: AbortSignal): Promise<void> {
65 if (events.length === 0) return;
66 let savedToDisk = false;
67 const saveEventsToDisk = (): void => {
68 if (savedToDisk) return;
69 this.saveToDisk(events);
70 savedToDisk = true;
71 };
72 if (signal?.aborted === true) {
73 saveEventsToDisk();
74 throw abortError();
75 }
76
77 let payload: TelemetryPayload;
78 try {
79 payload = buildPayload(events, this.deviceId);
80 } catch {
81 return;
82 }
83
84 try {
85 for (let attempt = 0; attempt <= this.retryBackoffsMs.length; attempt++) {
86 try {
87 await this.sendHttp(payload, signal);
88 return;
89 } catch (error) {
90 if (isSignalAborted(signal) || isAbortError(error)) {
91 saveEventsToDisk();
92 throw error;
93 }
94 if (!(error instanceof TransientTelemetryError)) {
95 break;
96 }
97 const backoff = this.retryBackoffsMs[attempt];
98 if (backoff === undefined) break;
99 await this.sleepImpl(backoff, signal);
100 }
101 }
102 } catch (error) {
103 if (isSignalAborted(signal) || isAbortError(error)) {
104 saveEventsToDisk();
105 throw error;
106 }
107 }
108
109 saveEventsToDisk();
110 }
111
112 saveToDisk(events: readonly EnrichedTelemetryEvent[]): void {
113 if (events.length === 0) return;

Callers

nothing calls this directly

Calls 5

sendHttpMethod · 0.95
buildPayloadFunction · 0.85
isSignalAbortedFunction · 0.85
abortErrorFunction · 0.70
isAbortErrorFunction · 0.70

Tested by

no test coverage detected