forked from farhoodlabs/paperclip
Add plugin telemetry bridge capability
Expose telemetry.track through the plugin SDK and server host bridge, forward plugin-prefixed events into the shared telemetry client, and demonstrate the capability in the kitchen sink example.\n\nCo-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
@@ -135,6 +135,11 @@ export interface HostServices {
|
||||
write(params: WorkerToHostMethods["metrics.write"][0]): Promise<void>;
|
||||
};
|
||||
|
||||
/** Provides `telemetry.track`. */
|
||||
telemetry: {
|
||||
track(params: WorkerToHostMethods["telemetry.track"][0]): Promise<void>;
|
||||
};
|
||||
|
||||
/** Provides `log`. */
|
||||
logger: {
|
||||
log(params: WorkerToHostMethods["log"][0]): Promise<void>;
|
||||
@@ -284,6 +289,9 @@ const METHOD_CAPABILITY_MAP: Record<WorkerToHostMethodName, PluginCapability | n
|
||||
// Metrics
|
||||
"metrics.write": "metrics.write",
|
||||
|
||||
// Telemetry
|
||||
"telemetry.track": "telemetry.track",
|
||||
|
||||
// Logger — always allowed
|
||||
"log": null,
|
||||
|
||||
@@ -447,6 +455,11 @@ export function createHostClientHandlers(
|
||||
return services.metrics.write(params);
|
||||
}),
|
||||
|
||||
// Telemetry
|
||||
"telemetry.track": gated("telemetry.track", async (params) => {
|
||||
return services.telemetry.track(params);
|
||||
}),
|
||||
|
||||
// Logger
|
||||
"log": gated("log", async (params) => {
|
||||
return services.logger.log(params);
|
||||
|
||||
Reference in New Issue
Block a user