Download src/components/features/plugins/plugin-spec-identity.ts from SaylorTwift/openhands: direct link, hf CLI and curl.
- Browser
- Download file 2.57 kB
-
https://huggingface.co/SaylorTwift/openhands/resolve/main/src/components/features/plugins/plugin-spec-identity.ts
- Command line
-
hf download hf://SaylorTwift/openhands/src/components/features/plugins/plugin-spec-identity.ts
-
curl -L -o plugin-spec-identity.ts https://huggingface.co/SaylorTwift/openhands/resolve/main/src/components/features/plugins/plugin-spec-identity.ts
2.57 kB
| import type { MarketplacePlugin } from "#/api/plugins-service"; | |
| import type { PluginSpec } from "#/api/conversation-service/agent-server-conversation-service.types"; | |
| /** | |
| * Stable identity for a plugin reference. Two references are "the same" when | |
| * their attachable coordinates (source / ref / repo_path) match — `name`, | |
| * `description`, install state, and parameters are intentionally excluded, | |
| * since the start-conversation payload only carries coordinates. | |
| * | |
| * `null` and `undefined` collapse to "" so a catalog entry (`ref?: null`) and a | |
| * stored spec (`ref: null`) compare equal. | |
| */ | |
| export function pluginSpecKey( | |
| plugin: Pick<PluginSpec, "source" | "ref" | "repo_path">, | |
| ): string { | |
| return [plugin.source, plugin.ref ?? "", plugin.repo_path ?? ""].join(" |