// @generated by protoc-gen-es v2.13.0 with parameter "target=ts,import_extension=js"
// @generated from file soulfire/api_docs.proto (package soulfire.v1, syntax proto3)
/* eslint-disable */

import type { GenExtension, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
import { extDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
import type { FieldOptions, MethodOptions } from "@bufbuild/protobuf/wkt";
import { file_google_protobuf_descriptor } from "@bufbuild/protobuf/wkt";
import type { Message } from "@bufbuild/protobuf";

/**
 * Describes the file soulfire/api_docs.proto.
 */
export const file_soulfire_api_docs: GenFile = /*@__PURE__*/
  fileDesc("Chdzb3VsZmlyZS9hcGlfZG9jcy5wcm90bxILc291bGZpcmUudjEi2AEKDUFwaU1ldGhvZERvY3MSFAoMZGlzcGxheV9uYW1lGAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEhMKC3Blcm1pc3Npb25zGAMgAygJEg0KBXNjb3BlGAQgASgJEhUKDXByZWNvbmRpdGlvbnMYBSADKAkSEQoJZXhlY3V0aW9uGAYgASgJEhQKDHNpZGVfZWZmZWN0cxgHIAMoCRIVCg1leHBvc2VfdG9fbWNwGAggASgIEiEKGW1jcF9yZXF1aXJlc19jb25maXJtYXRpb24YCSABKAgiLwoMQXBpRmllbGREb2NzEg4KBmZvcm1hdBgBIAEoCRIPCgdleGFtcGxlGAIgASgJOlsKCmFwaV9tZXRob2QSHi5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9ucxi5jgMgASgLMhouc291bGZpcmUudjEuQXBpTWV0aG9kRG9jc1IJYXBpTWV0aG9kOlcKCWFwaV9maWVsZBIdLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMYuo4DIAEoCzIZLnNvdWxmaXJlLnYxLkFwaUZpZWxkRG9jc1IIYXBpRmllbGRCLwodY29tLnNvdWxmaXJlbWMuZ3JwYy5nZW5lcmF0ZWRCDEFwaURvY3NQcm90b1ABYgZwcm90bzM", [file_google_protobuf_descriptor]);

/**
 * @generated from message soulfire.v1.ApiMethodDocs
 */
export type ApiMethodDocs = Message<"soulfire.v1.ApiMethodDocs"> & {
  /**
   * @generated from field: string display_name = 1;
   */
  displayName: string;

  /**
   * @generated from field: string description = 2;
   */
  description: string;

  /**
   * @generated from field: repeated string permissions = 3;
   */
  permissions: string[];

  /**
   * @generated from field: string scope = 4;
   */
  scope: string;

  /**
   * @generated from field: repeated string preconditions = 5;
   */
  preconditions: string[];

  /**
   * @generated from field: string execution = 6;
   */
  execution: string;

  /**
   * @generated from field: repeated string side_effects = 7;
   */
  sideEffects: string[];

  /**
   * Explicitly publishes a unary method as an MCP tool.
   *
   * @generated from field: bool expose_to_mcp = 8;
   */
  exposeToMcp: boolean;

  /**
   * Requires the MCP caller to pass confirm=true. Mandatory for exposed
   * mutation and destructive methods.
   *
   * @generated from field: bool mcp_requires_confirmation = 9;
   */
  mcpRequiresConfirmation: boolean;
};

/**
 * Describes the message soulfire.v1.ApiMethodDocs.
 * Use `create(ApiMethodDocsSchema)` to create a new message.
 */
export const ApiMethodDocsSchema: GenMessage<ApiMethodDocs> = /*@__PURE__*/
  messageDesc(file_soulfire_api_docs, 0);

/**
 * @generated from message soulfire.v1.ApiFieldDocs
 */
export type ApiFieldDocs = Message<"soulfire.v1.ApiFieldDocs"> & {
  /**
   * @generated from field: string format = 1;
   */
  format: string;

  /**
   * @generated from field: string example = 2;
   */
  example: string;
};

/**
 * Describes the message soulfire.v1.ApiFieldDocs.
 * Use `create(ApiFieldDocsSchema)` to create a new message.
 */
export const ApiFieldDocsSchema: GenMessage<ApiFieldDocs> = /*@__PURE__*/
  messageDesc(file_soulfire_api_docs, 1);

/**
 * @generated from extension: soulfire.v1.ApiMethodDocs api_method = 51001;
 */
export const api_method: GenExtension<MethodOptions, ApiMethodDocs> = /*@__PURE__*/
  extDesc(file_soulfire_api_docs, 0);

/**
 * @generated from extension: soulfire.v1.ApiFieldDocs api_field = 51002;
 */
export const api_field: GenExtension<FieldOptions, ApiFieldDocs> = /*@__PURE__*/
  extDesc(file_soulfire_api_docs, 1);
