/** Wire-protocol version. Bump when introducing breaking changes. */
export const SHADE_FILES_VERSION = '0.2.0';

/** Substring every `@shade/files` plaintext starts with — used by the channel filter. */
export const KIND_PREFIX = 'shade.fs';

/** Currently-supported op kinds. Extend when introducing new versions. */
export const SUPPORTED_KINDS = [
  'shade.fs.list/v1',
  'shade.fs.stat/v1',
  'shade.fs.mkdir/v1',
  'shade.fs.delete/v1',
  'shade.fs.move/v1',
  'shade.fs.read/v1',
  'shade.fs.write/v1',
  'shade.fs.getThumbnail/v1',
  'shade.fs.custom/v1',
] as const;
export type SupportedKind = (typeof SUPPORTED_KINDS)[number];

const SUPPORTED_KIND_SET = new Set<string>(SUPPORTED_KINDS);
export function isSupportedKind(kind: string): kind is SupportedKind {
  return SUPPORTED_KIND_SET.has(kind);
}
