"""
Auto-generated canonical action/provider/evaluator docs for plugin-experience.
DO NOT EDIT - Generated from prompts/specs/**.
"""

from __future__ import annotations

import json
from typing import TypedDict


class ActionDoc(TypedDict, total=False):
    name: str
    description: str
    similes: list[str]
    parameters: list[object]
    examples: list[list[object]]


class ProviderDoc(TypedDict, total=False):
    name: str
    description: str
    position: int
    dynamic: bool


class EvaluatorDoc(TypedDict, total=False):
    name: str
    description: str
    similes: list[str]
    alwaysRun: bool
    examples: list[object]


_CORE_ACTION_DOCS_JSON = """{
  "version": "1.0.0",
  "actions": [
    {
      "name": "RECORD_EXPERIENCE",
      "description": "Record a learning or experience for future reference. Use this when the user explicitly asks you to remember something or when you've learned something important.",
      "similes": [
        "REMEMBER",
        "LEARN",
        "STORE_EXPERIENCE",
        "SAVE_EXPERIENCE",
        "RECORD_LEARNING"
      ],
      "parameters": [],
      "examples": [
        [
          {
            "name": "{{name1}}",
            "content": {
              "text": "Remember that installing dependencies is required for Python scripts"
            }
          },
          {
            "name": "{{name2}}",
            "content": {
              "text": "I'll record that experience. Learning: Need to install dependencies before running Python scripts.",
              "actions": [
                "RECORD_EXPERIENCE"
              ]
            }
          }
        ],
        [
          {
            "name": "{{name1}}",
            "content": {
              "text": "Remember that users prefer shorter responses"
            }
          },
          {
            "name": "{{name2}}",
            "content": {
              "text": "I'll remember that preference.",
              "actions": [
                "RECORD_EXPERIENCE"
              ]
            }
          }
        ],
        [
          {
            "name": "{{name1}}",
            "content": {
              "text": "What's 2+2?"
            }
          },
          {
            "name": "{{name2}}",
            "content": {
              "text": "2+2 equals 4."
            }
          }
        ],
        [
          {
            "name": "{{name1}}",
            "content": {
              "text": "Can you help me with math?"
            }
          },
          {
            "name": "{{name2}}",
            "content": {
              "text": "Of course! What math problem do you need help with?"
            }
          }
        ]
      ]
    }
  ]
}"""
_ALL_ACTION_DOCS_JSON = """{
  "version": "1.0.0",
  "actions": [
    {
      "name": "RECORD_EXPERIENCE",
      "description": "Record a learning or experience for future reference. Use this when the user explicitly asks you to remember something or when you've learned something important.",
      "similes": [
        "REMEMBER",
        "LEARN",
        "STORE_EXPERIENCE",
        "SAVE_EXPERIENCE",
        "RECORD_LEARNING"
      ],
      "parameters": [],
      "examples": [
        [
          {
            "name": "{{name1}}",
            "content": {
              "text": "Remember that installing dependencies is required for Python scripts"
            }
          },
          {
            "name": "{{name2}}",
            "content": {
              "text": "I'll record that experience. Learning: Need to install dependencies before running Python scripts.",
              "actions": [
                "RECORD_EXPERIENCE"
              ]
            }
          }
        ],
        [
          {
            "name": "{{name1}}",
            "content": {
              "text": "Remember that users prefer shorter responses"
            }
          },
          {
            "name": "{{name2}}",
            "content": {
              "text": "I'll remember that preference.",
              "actions": [
                "RECORD_EXPERIENCE"
              ]
            }
          }
        ],
        [
          {
            "name": "{{name1}}",
            "content": {
              "text": "What's 2+2?"
            }
          },
          {
            "name": "{{name2}}",
            "content": {
              "text": "2+2 equals 4."
            }
          }
        ],
        [
          {
            "name": "{{name1}}",
            "content": {
              "text": "Can you help me with math?"
            }
          },
          {
            "name": "{{name2}}",
            "content": {
              "text": "Of course! What math problem do you need help with?"
            }
          }
        ]
      ]
    }
  ]
}"""
_CORE_PROVIDER_DOCS_JSON = """{
  "version": "1.0.0",
  "providers": [
    {
      "name": "experienceProvider",
      "description": "Provides relevant past experiences and learnings for the current context",
      "dynamic": true
    }
  ]
}"""
_ALL_PROVIDER_DOCS_JSON = """{
  "version": "1.0.0",
  "providers": [
    {
      "name": "experienceProvider",
      "description": "Provides relevant past experiences and learnings for the current context",
      "dynamic": true
    }
  ]
}"""
_CORE_EVALUATOR_DOCS_JSON = """{
  "version": "1.0.0",
  "evaluators": []
}"""
_ALL_EVALUATOR_DOCS_JSON = """{
  "version": "1.0.0",
  "evaluators": []
}"""

core_action_docs: dict[str, object] = json.loads(_CORE_ACTION_DOCS_JSON)
all_action_docs: dict[str, object] = json.loads(_ALL_ACTION_DOCS_JSON)
core_provider_docs: dict[str, object] = json.loads(_CORE_PROVIDER_DOCS_JSON)
all_provider_docs: dict[str, object] = json.loads(_ALL_PROVIDER_DOCS_JSON)
core_evaluator_docs: dict[str, object] = json.loads(_CORE_EVALUATOR_DOCS_JSON)
all_evaluator_docs: dict[str, object] = json.loads(_ALL_EVALUATOR_DOCS_JSON)

__all__ = [
    "ActionDoc",
    "ProviderDoc",
    "EvaluatorDoc",
    "core_action_docs",
    "all_action_docs",
    "core_provider_docs",
    "all_provider_docs",
    "core_evaluator_docs",
    "all_evaluator_docs",
]
