:py:mod:`vendor_fabric.cursor` ============================== .. py:module:: vendor_fabric.cursor .. autodoc2-docstring:: vendor_fabric.cursor :parser: myst :allowtitles: Submodules ---------- .. toctree:: :titlesonly: :maxdepth: 1 vendor_fabric.cursor.tools Package Contents ---------------- Classes ~~~~~~~ .. list-table:: :class: autosummary longtable :align: left * - :py:obj:`AgentState ` - .. autodoc2-docstring:: vendor_fabric.cursor.AgentState :parser: myst :summary: * - :py:obj:`Agent ` - .. autodoc2-docstring:: vendor_fabric.cursor.Agent :parser: myst :summary: * - :py:obj:`Repository ` - .. autodoc2-docstring:: vendor_fabric.cursor.Repository :parser: myst :summary: * - :py:obj:`ConversationMessage ` - .. autodoc2-docstring:: vendor_fabric.cursor.ConversationMessage :parser: myst :summary: * - :py:obj:`Conversation ` - .. autodoc2-docstring:: vendor_fabric.cursor.Conversation :parser: myst :summary: * - :py:obj:`LaunchOptions ` - .. autodoc2-docstring:: vendor_fabric.cursor.LaunchOptions :parser: myst :summary: * - :py:obj:`CursorConnector ` - .. autodoc2-docstring:: vendor_fabric.cursor.CursorConnector :parser: myst :summary: Functions ~~~~~~~~~ .. list-table:: :class: autosummary longtable :align: left * - :py:obj:`validate_agent_id ` - .. autodoc2-docstring:: vendor_fabric.cursor.validate_agent_id :parser: myst :summary: * - :py:obj:`validate_prompt_text ` - .. autodoc2-docstring:: vendor_fabric.cursor.validate_prompt_text :parser: myst :summary: * - :py:obj:`validate_repository ` - .. autodoc2-docstring:: vendor_fabric.cursor.validate_repository :parser: myst :summary: * - :py:obj:`validate_webhook_url ` - .. autodoc2-docstring:: vendor_fabric.cursor.validate_webhook_url :parser: myst :summary: * - :py:obj:`sanitize_error ` - .. autodoc2-docstring:: vendor_fabric.cursor.sanitize_error :parser: myst :summary: Data ~~~~ .. list-table:: :class: autosummary longtable :align: left * - :py:obj:`DEFAULT_BASE_URL ` - .. autodoc2-docstring:: vendor_fabric.cursor.DEFAULT_BASE_URL :parser: myst :summary: * - :py:obj:`DEFAULT_TIMEOUT ` - .. autodoc2-docstring:: vendor_fabric.cursor.DEFAULT_TIMEOUT :parser: myst :summary: * - :py:obj:`MAX_PROMPT_LENGTH ` - .. autodoc2-docstring:: vendor_fabric.cursor.MAX_PROMPT_LENGTH :parser: myst :summary: * - :py:obj:`MAX_REPO_LENGTH ` - .. autodoc2-docstring:: vendor_fabric.cursor.MAX_REPO_LENGTH :parser: myst :summary: * - :py:obj:`AGENT_ID_PATTERN ` - .. autodoc2-docstring:: vendor_fabric.cursor.AGENT_ID_PATTERN :parser: myst :summary: * - :py:obj:`BLOCKED_HOSTNAME_PATTERNS ` - .. autodoc2-docstring:: vendor_fabric.cursor.BLOCKED_HOSTNAME_PATTERNS :parser: myst :summary: API ~~~ .. py:data:: DEFAULT_BASE_URL :canonical: vendor_fabric.cursor.DEFAULT_BASE_URL :value: 'https://api.cursor.com/v0' .. autodoc2-docstring:: vendor_fabric.cursor.DEFAULT_BASE_URL :parser: myst .. py:data:: DEFAULT_TIMEOUT :canonical: vendor_fabric.cursor.DEFAULT_TIMEOUT :value: 60.0 .. autodoc2-docstring:: vendor_fabric.cursor.DEFAULT_TIMEOUT :parser: myst .. py:data:: MAX_PROMPT_LENGTH :canonical: vendor_fabric.cursor.MAX_PROMPT_LENGTH :value: 100000 .. autodoc2-docstring:: vendor_fabric.cursor.MAX_PROMPT_LENGTH :parser: myst .. py:data:: MAX_REPO_LENGTH :canonical: vendor_fabric.cursor.MAX_REPO_LENGTH :value: 200 .. autodoc2-docstring:: vendor_fabric.cursor.MAX_REPO_LENGTH :parser: myst .. py:data:: AGENT_ID_PATTERN :canonical: vendor_fabric.cursor.AGENT_ID_PATTERN :value: 'compile(...)' .. autodoc2-docstring:: vendor_fabric.cursor.AGENT_ID_PATTERN :parser: myst .. py:data:: BLOCKED_HOSTNAME_PATTERNS :canonical: vendor_fabric.cursor.BLOCKED_HOSTNAME_PATTERNS :value: None .. autodoc2-docstring:: vendor_fabric.cursor.BLOCKED_HOSTNAME_PATTERNS :parser: myst .. py:exception:: CursorError(message: str, status_code: int | None = None) :canonical: vendor_fabric.cursor.CursorError Bases: :py:obj:`Exception` .. autodoc2-docstring:: vendor_fabric.cursor.CursorError :parser: myst .. rubric:: Initialization .. autodoc2-docstring:: vendor_fabric.cursor.CursorError.__init__ :parser: myst .. py:method:: add_note() :canonical: vendor_fabric.cursor.CursorError.add_note .. py:class:: args :canonical: vendor_fabric.cursor.CursorError.args .. py:method:: with_traceback() :canonical: vendor_fabric.cursor.CursorError.with_traceback .. py:exception:: CursorValidationError(message: str, status_code: int | None = None) :canonical: vendor_fabric.cursor.CursorValidationError Bases: :py:obj:`vendor_fabric.cursor.CursorError` .. autodoc2-docstring:: vendor_fabric.cursor.CursorValidationError :parser: myst .. rubric:: Initialization .. autodoc2-docstring:: vendor_fabric.cursor.CursorValidationError.__init__ :parser: myst .. py:method:: add_note() :canonical: vendor_fabric.cursor.CursorValidationError.add_note .. py:class:: args :canonical: vendor_fabric.cursor.CursorValidationError.args .. py:method:: with_traceback() :canonical: vendor_fabric.cursor.CursorValidationError.with_traceback .. py:exception:: CursorAPIError(message: str, status_code: int | None = None) :canonical: vendor_fabric.cursor.CursorAPIError Bases: :py:obj:`vendor_fabric.cursor.CursorError` .. autodoc2-docstring:: vendor_fabric.cursor.CursorAPIError :parser: myst .. rubric:: Initialization .. autodoc2-docstring:: vendor_fabric.cursor.CursorAPIError.__init__ :parser: myst .. py:method:: add_note() :canonical: vendor_fabric.cursor.CursorAPIError.add_note .. py:class:: args :canonical: vendor_fabric.cursor.CursorAPIError.args .. py:method:: with_traceback() :canonical: vendor_fabric.cursor.CursorAPIError.with_traceback .. py:class:: AgentState() :canonical: vendor_fabric.cursor.AgentState Bases: :py:obj:`enum.StrEnum` .. autodoc2-docstring:: vendor_fabric.cursor.AgentState :parser: myst .. rubric:: Initialization .. autodoc2-docstring:: vendor_fabric.cursor.AgentState.__init__ :parser: myst .. py:attribute:: PENDING :canonical: vendor_fabric.cursor.AgentState.PENDING :value: 'pending' .. autodoc2-docstring:: vendor_fabric.cursor.AgentState.PENDING :parser: myst .. py:attribute:: RUNNING :canonical: vendor_fabric.cursor.AgentState.RUNNING :value: 'running' .. autodoc2-docstring:: vendor_fabric.cursor.AgentState.RUNNING :parser: myst .. py:attribute:: FINISHED :canonical: vendor_fabric.cursor.AgentState.FINISHED :value: 'finished' .. autodoc2-docstring:: vendor_fabric.cursor.AgentState.FINISHED :parser: myst .. py:attribute:: ERRORED :canonical: vendor_fabric.cursor.AgentState.ERRORED :value: 'errored' .. autodoc2-docstring:: vendor_fabric.cursor.AgentState.ERRORED :parser: myst .. py:attribute:: CANCELLED :canonical: vendor_fabric.cursor.AgentState.CANCELLED :value: 'cancelled' .. autodoc2-docstring:: vendor_fabric.cursor.AgentState.CANCELLED :parser: myst .. py:method:: capitalize() :canonical: vendor_fabric.cursor.AgentState.capitalize .. py:method:: casefold() :canonical: vendor_fabric.cursor.AgentState.casefold .. py:method:: center() :canonical: vendor_fabric.cursor.AgentState.center .. py:method:: count() :canonical: vendor_fabric.cursor.AgentState.count .. py:method:: encode() :canonical: vendor_fabric.cursor.AgentState.encode .. py:method:: endswith() :canonical: vendor_fabric.cursor.AgentState.endswith .. py:method:: expandtabs() :canonical: vendor_fabric.cursor.AgentState.expandtabs .. py:method:: find() :canonical: vendor_fabric.cursor.AgentState.find .. py:method:: format() :canonical: vendor_fabric.cursor.AgentState.format .. py:method:: format_map() :canonical: vendor_fabric.cursor.AgentState.format_map .. py:method:: index() :canonical: vendor_fabric.cursor.AgentState.index .. py:method:: isalnum() :canonical: vendor_fabric.cursor.AgentState.isalnum .. py:method:: isalpha() :canonical: vendor_fabric.cursor.AgentState.isalpha .. py:method:: isascii() :canonical: vendor_fabric.cursor.AgentState.isascii .. py:method:: isdecimal() :canonical: vendor_fabric.cursor.AgentState.isdecimal .. py:method:: isdigit() :canonical: vendor_fabric.cursor.AgentState.isdigit .. py:method:: isidentifier() :canonical: vendor_fabric.cursor.AgentState.isidentifier .. py:method:: islower() :canonical: vendor_fabric.cursor.AgentState.islower .. py:method:: isnumeric() :canonical: vendor_fabric.cursor.AgentState.isnumeric .. py:method:: isprintable() :canonical: vendor_fabric.cursor.AgentState.isprintable .. py:method:: isspace() :canonical: vendor_fabric.cursor.AgentState.isspace .. py:method:: istitle() :canonical: vendor_fabric.cursor.AgentState.istitle .. py:method:: isupper() :canonical: vendor_fabric.cursor.AgentState.isupper .. py:method:: join() :canonical: vendor_fabric.cursor.AgentState.join .. py:method:: ljust() :canonical: vendor_fabric.cursor.AgentState.ljust .. py:method:: lower() :canonical: vendor_fabric.cursor.AgentState.lower .. py:method:: lstrip() :canonical: vendor_fabric.cursor.AgentState.lstrip .. py:method:: partition() :canonical: vendor_fabric.cursor.AgentState.partition .. py:method:: removeprefix() :canonical: vendor_fabric.cursor.AgentState.removeprefix .. py:method:: removesuffix() :canonical: vendor_fabric.cursor.AgentState.removesuffix .. py:method:: replace() :canonical: vendor_fabric.cursor.AgentState.replace .. py:method:: rfind() :canonical: vendor_fabric.cursor.AgentState.rfind .. py:method:: rindex() :canonical: vendor_fabric.cursor.AgentState.rindex .. py:method:: rjust() :canonical: vendor_fabric.cursor.AgentState.rjust .. py:method:: rpartition() :canonical: vendor_fabric.cursor.AgentState.rpartition .. py:method:: rsplit() :canonical: vendor_fabric.cursor.AgentState.rsplit .. py:method:: rstrip() :canonical: vendor_fabric.cursor.AgentState.rstrip .. py:method:: split() :canonical: vendor_fabric.cursor.AgentState.split .. py:method:: splitlines() :canonical: vendor_fabric.cursor.AgentState.splitlines .. py:method:: startswith() :canonical: vendor_fabric.cursor.AgentState.startswith .. py:method:: strip() :canonical: vendor_fabric.cursor.AgentState.strip .. py:method:: swapcase() :canonical: vendor_fabric.cursor.AgentState.swapcase .. py:method:: title() :canonical: vendor_fabric.cursor.AgentState.title .. py:method:: translate() :canonical: vendor_fabric.cursor.AgentState.translate .. py:method:: upper() :canonical: vendor_fabric.cursor.AgentState.upper .. py:method:: zfill() :canonical: vendor_fabric.cursor.AgentState.zfill .. py:method:: name() :canonical: vendor_fabric.cursor.AgentState.name .. py:method:: value() :canonical: vendor_fabric.cursor.AgentState.value .. py:class:: Agent(/, **data: typing.Any) :canonical: vendor_fabric.cursor.Agent Bases: :py:obj:`pydantic.BaseModel` .. autodoc2-docstring:: vendor_fabric.cursor.Agent :parser: myst .. rubric:: Initialization .. autodoc2-docstring:: vendor_fabric.cursor.Agent.__init__ :parser: myst .. py:attribute:: model_config :canonical: vendor_fabric.cursor.Agent.model_config :value: 'ConfigDict(...)' .. autodoc2-docstring:: vendor_fabric.cursor.Agent.model_config :parser: myst .. py:attribute:: id :canonical: vendor_fabric.cursor.Agent.id :type: str :value: 'Field(...)' .. autodoc2-docstring:: vendor_fabric.cursor.Agent.id :parser: myst .. py:attribute:: state :canonical: vendor_fabric.cursor.Agent.state :type: vendor_fabric.cursor.AgentState :value: 'Field(...)' .. autodoc2-docstring:: vendor_fabric.cursor.Agent.state :parser: myst .. py:attribute:: task :canonical: vendor_fabric.cursor.Agent.task :type: str | None :value: 'Field(...)' .. autodoc2-docstring:: vendor_fabric.cursor.Agent.task :parser: myst .. py:attribute:: repository :canonical: vendor_fabric.cursor.Agent.repository :type: str | None :value: 'Field(...)' .. autodoc2-docstring:: vendor_fabric.cursor.Agent.repository :parser: myst .. py:attribute:: branch :canonical: vendor_fabric.cursor.Agent.branch :type: str | None :value: 'Field(...)' .. autodoc2-docstring:: vendor_fabric.cursor.Agent.branch :parser: myst .. py:attribute:: pr_number :canonical: vendor_fabric.cursor.Agent.pr_number :type: int | None :value: 'Field(...)' .. autodoc2-docstring:: vendor_fabric.cursor.Agent.pr_number :parser: myst .. py:attribute:: pr_url :canonical: vendor_fabric.cursor.Agent.pr_url :type: str | None :value: 'Field(...)' .. autodoc2-docstring:: vendor_fabric.cursor.Agent.pr_url :parser: myst .. py:attribute:: created_at :canonical: vendor_fabric.cursor.Agent.created_at :type: datetime.datetime | None :value: 'Field(...)' .. autodoc2-docstring:: vendor_fabric.cursor.Agent.created_at :parser: myst .. py:attribute:: updated_at :canonical: vendor_fabric.cursor.Agent.updated_at :type: datetime.datetime | None :value: 'Field(...)' .. autodoc2-docstring:: vendor_fabric.cursor.Agent.updated_at :parser: myst .. py:attribute:: model :canonical: vendor_fabric.cursor.Agent.model :type: str | None :value: 'Field(...)' .. autodoc2-docstring:: vendor_fabric.cursor.Agent.model :parser: myst .. py:attribute:: error :canonical: vendor_fabric.cursor.Agent.error :type: str | None :value: 'Field(...)' .. autodoc2-docstring:: vendor_fabric.cursor.Agent.error :parser: myst .. py:method:: model_fields() -> dict[str, pydantic.fields.FieldInfo] :canonical: vendor_fabric.cursor.Agent.model_fields :classmethod: .. py:method:: model_computed_fields() -> dict[str, pydantic.fields.ComputedFieldInfo] :canonical: vendor_fabric.cursor.Agent.model_computed_fields :classmethod: .. py:property:: model_extra :canonical: vendor_fabric.cursor.Agent.model_extra :type: dict[str, typing.Any] | None .. py:property:: model_fields_set :canonical: vendor_fabric.cursor.Agent.model_fields_set :type: set[str] .. py:method:: model_construct(_fields_set: set[str] | None = None, **values: typing.Any) -> typing_extensions.Self :canonical: vendor_fabric.cursor.Agent.model_construct :classmethod: .. py:method:: model_copy(*, update: collections.abc.Mapping[str, typing.Any] | None = None, deep: bool = False) -> typing_extensions.Self :canonical: vendor_fabric.cursor.Agent.model_copy .. py:method:: model_dump(*, mode: typing.Literal[json, python] | str = 'python', include: pydantic.main.IncEx | None = None, exclude: pydantic.main.IncEx | None = None, context: typing.Any | None = None, by_alias: bool | None = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, exclude_computed_fields: bool = False, round_trip: bool = False, warnings: bool | typing.Literal[none, warn, error] = True, fallback: typing.Callable[[typing.Any], typing.Any] | None = None, serialize_as_any: bool = False, polymorphic_serialization: bool | None = None) -> dict[str, typing.Any] :canonical: vendor_fabric.cursor.Agent.model_dump .. py:method:: model_dump_json(*, indent: int | None = None, ensure_ascii: bool = False, include: pydantic.main.IncEx | None = None, exclude: pydantic.main.IncEx | None = None, context: typing.Any | None = None, by_alias: bool | None = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, exclude_computed_fields: bool = False, round_trip: bool = False, warnings: bool | typing.Literal[none, warn, error] = True, fallback: typing.Callable[[typing.Any], typing.Any] | None = None, serialize_as_any: bool = False, polymorphic_serialization: bool | None = None) -> str :canonical: vendor_fabric.cursor.Agent.model_dump_json .. py:method:: model_json_schema(by_alias: bool = True, ref_template: str = DEFAULT_REF_TEMPLATE, schema_generator: type[pydantic.json_schema.GenerateJsonSchema] = GenerateJsonSchema, mode: pydantic.json_schema.JsonSchemaMode = 'validation', *, union_format: typing.Literal[any_of, primitive_type_array] = 'any_of') -> dict[str, typing.Any] :canonical: vendor_fabric.cursor.Agent.model_json_schema :classmethod: .. py:method:: model_parametrized_name(params: tuple[type[typing.Any], ...]) -> str :canonical: vendor_fabric.cursor.Agent.model_parametrized_name :classmethod: .. py:method:: model_post_init(context: typing.Any, /) -> None :canonical: vendor_fabric.cursor.Agent.model_post_init .. py:method:: model_rebuild(*, force: bool = False, raise_errors: bool = True, _parent_namespace_depth: int = 2, _types_namespace: pydantic._internal._namespace_utils.MappingNamespace | None = None) -> bool | None :canonical: vendor_fabric.cursor.Agent.model_rebuild :classmethod: .. py:method:: model_validate(obj: typing.Any, *, strict: bool | None = None, extra: pydantic.config.ExtraValues | None = None, from_attributes: bool | None = None, context: typing.Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) -> typing_extensions.Self :canonical: vendor_fabric.cursor.Agent.model_validate :classmethod: .. py:method:: model_validate_json(json_data: str | bytes | bytearray, *, strict: bool | None = None, extra: pydantic.config.ExtraValues | None = None, context: typing.Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) -> typing_extensions.Self :canonical: vendor_fabric.cursor.Agent.model_validate_json :classmethod: .. py:method:: model_validate_strings(obj: typing.Any, *, strict: bool | None = None, extra: pydantic.config.ExtraValues | None = None, context: typing.Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) -> typing_extensions.Self :canonical: vendor_fabric.cursor.Agent.model_validate_strings :classmethod: .. py:method:: dict(*, include: pydantic.main.IncEx | None = None, exclude: pydantic.main.IncEx | None = None, by_alias: bool = False, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False) -> typing.Dict[str, typing.Any] :canonical: vendor_fabric.cursor.Agent.dict .. py:method:: json(*, include: pydantic.main.IncEx | None = None, exclude: pydantic.main.IncEx | None = None, by_alias: bool = False, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, encoder: typing.Callable[[typing.Any], typing.Any] | None = PydanticUndefined, models_as_dict: bool = PydanticUndefined, **dumps_kwargs: typing.Any) -> str :canonical: vendor_fabric.cursor.Agent.json .. py:method:: parse_obj(obj: typing.Any) -> typing_extensions.Self :canonical: vendor_fabric.cursor.Agent.parse_obj :classmethod: .. py:method:: parse_raw(b: str | bytes, *, content_type: str | None = None, encoding: str = 'utf8', proto: pydantic.deprecated.parse.Protocol | None = None, allow_pickle: bool = False) -> typing_extensions.Self :canonical: vendor_fabric.cursor.Agent.parse_raw :classmethod: .. py:method:: parse_file(path: str | pathlib.Path, *, content_type: str | None = None, encoding: str = 'utf8', proto: pydantic.deprecated.parse.Protocol | None = None, allow_pickle: bool = False) -> typing_extensions.Self :canonical: vendor_fabric.cursor.Agent.parse_file :classmethod: .. py:method:: from_orm(obj: typing.Any) -> typing_extensions.Self :canonical: vendor_fabric.cursor.Agent.from_orm :classmethod: .. py:method:: construct(_fields_set: set[str] | None = None, **values: typing.Any) -> typing_extensions.Self :canonical: vendor_fabric.cursor.Agent.construct :classmethod: .. py:method:: copy(*, include: pydantic._internal._utils.AbstractSetIntStr | pydantic._internal._utils.MappingIntStrAny | None = None, exclude: pydantic._internal._utils.AbstractSetIntStr | pydantic._internal._utils.MappingIntStrAny | None = None, update: typing.Dict[str, typing.Any] | None = None, deep: bool = False) -> typing_extensions.Self :canonical: vendor_fabric.cursor.Agent.copy .. py:method:: schema(by_alias: bool = True, ref_template: str = DEFAULT_REF_TEMPLATE) -> typing.Dict[str, typing.Any] :canonical: vendor_fabric.cursor.Agent.schema :classmethod: .. py:method:: schema_json(*, by_alias: bool = True, ref_template: str = DEFAULT_REF_TEMPLATE, **dumps_kwargs: typing.Any) -> str :canonical: vendor_fabric.cursor.Agent.schema_json :classmethod: .. py:method:: validate(value: typing.Any) -> typing_extensions.Self :canonical: vendor_fabric.cursor.Agent.validate :classmethod: .. py:method:: update_forward_refs(**localns: typing.Any) -> None :canonical: vendor_fabric.cursor.Agent.update_forward_refs :classmethod: .. py:class:: Repository(/, **data: typing.Any) :canonical: vendor_fabric.cursor.Repository Bases: :py:obj:`pydantic.BaseModel` .. autodoc2-docstring:: vendor_fabric.cursor.Repository :parser: myst .. rubric:: Initialization .. autodoc2-docstring:: vendor_fabric.cursor.Repository.__init__ :parser: myst .. py:attribute:: model_config :canonical: vendor_fabric.cursor.Repository.model_config :value: 'ConfigDict(...)' .. autodoc2-docstring:: vendor_fabric.cursor.Repository.model_config :parser: myst .. py:attribute:: name :canonical: vendor_fabric.cursor.Repository.name :type: str :value: 'Field(...)' .. autodoc2-docstring:: vendor_fabric.cursor.Repository.name :parser: myst .. py:attribute:: url :canonical: vendor_fabric.cursor.Repository.url :type: str | None :value: 'Field(...)' .. autodoc2-docstring:: vendor_fabric.cursor.Repository.url :parser: myst .. py:attribute:: default_branch :canonical: vendor_fabric.cursor.Repository.default_branch :type: str | None :value: 'Field(...)' .. autodoc2-docstring:: vendor_fabric.cursor.Repository.default_branch :parser: myst .. py:attribute:: private :canonical: vendor_fabric.cursor.Repository.private :type: bool | None :value: 'Field(...)' .. autodoc2-docstring:: vendor_fabric.cursor.Repository.private :parser: myst .. py:method:: model_fields() -> dict[str, pydantic.fields.FieldInfo] :canonical: vendor_fabric.cursor.Repository.model_fields :classmethod: .. py:method:: model_computed_fields() -> dict[str, pydantic.fields.ComputedFieldInfo] :canonical: vendor_fabric.cursor.Repository.model_computed_fields :classmethod: .. py:property:: model_extra :canonical: vendor_fabric.cursor.Repository.model_extra :type: dict[str, typing.Any] | None .. py:property:: model_fields_set :canonical: vendor_fabric.cursor.Repository.model_fields_set :type: set[str] .. py:method:: model_construct(_fields_set: set[str] | None = None, **values: typing.Any) -> typing_extensions.Self :canonical: vendor_fabric.cursor.Repository.model_construct :classmethod: .. py:method:: model_copy(*, update: collections.abc.Mapping[str, typing.Any] | None = None, deep: bool = False) -> typing_extensions.Self :canonical: vendor_fabric.cursor.Repository.model_copy .. py:method:: model_dump(*, mode: typing.Literal[json, python] | str = 'python', include: pydantic.main.IncEx | None = None, exclude: pydantic.main.IncEx | None = None, context: typing.Any | None = None, by_alias: bool | None = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, exclude_computed_fields: bool = False, round_trip: bool = False, warnings: bool | typing.Literal[none, warn, error] = True, fallback: typing.Callable[[typing.Any], typing.Any] | None = None, serialize_as_any: bool = False, polymorphic_serialization: bool | None = None) -> dict[str, typing.Any] :canonical: vendor_fabric.cursor.Repository.model_dump .. py:method:: model_dump_json(*, indent: int | None = None, ensure_ascii: bool = False, include: pydantic.main.IncEx | None = None, exclude: pydantic.main.IncEx | None = None, context: typing.Any | None = None, by_alias: bool | None = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, exclude_computed_fields: bool = False, round_trip: bool = False, warnings: bool | typing.Literal[none, warn, error] = True, fallback: typing.Callable[[typing.Any], typing.Any] | None = None, serialize_as_any: bool = False, polymorphic_serialization: bool | None = None) -> str :canonical: vendor_fabric.cursor.Repository.model_dump_json .. py:method:: model_json_schema(by_alias: bool = True, ref_template: str = DEFAULT_REF_TEMPLATE, schema_generator: type[pydantic.json_schema.GenerateJsonSchema] = GenerateJsonSchema, mode: pydantic.json_schema.JsonSchemaMode = 'validation', *, union_format: typing.Literal[any_of, primitive_type_array] = 'any_of') -> dict[str, typing.Any] :canonical: vendor_fabric.cursor.Repository.model_json_schema :classmethod: .. py:method:: model_parametrized_name(params: tuple[type[typing.Any], ...]) -> str :canonical: vendor_fabric.cursor.Repository.model_parametrized_name :classmethod: .. py:method:: model_post_init(context: typing.Any, /) -> None :canonical: vendor_fabric.cursor.Repository.model_post_init .. py:method:: model_rebuild(*, force: bool = False, raise_errors: bool = True, _parent_namespace_depth: int = 2, _types_namespace: pydantic._internal._namespace_utils.MappingNamespace | None = None) -> bool | None :canonical: vendor_fabric.cursor.Repository.model_rebuild :classmethod: .. py:method:: model_validate(obj: typing.Any, *, strict: bool | None = None, extra: pydantic.config.ExtraValues | None = None, from_attributes: bool | None = None, context: typing.Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) -> typing_extensions.Self :canonical: vendor_fabric.cursor.Repository.model_validate :classmethod: .. py:method:: model_validate_json(json_data: str | bytes | bytearray, *, strict: bool | None = None, extra: pydantic.config.ExtraValues | None = None, context: typing.Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) -> typing_extensions.Self :canonical: vendor_fabric.cursor.Repository.model_validate_json :classmethod: .. py:method:: model_validate_strings(obj: typing.Any, *, strict: bool | None = None, extra: pydantic.config.ExtraValues | None = None, context: typing.Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) -> typing_extensions.Self :canonical: vendor_fabric.cursor.Repository.model_validate_strings :classmethod: .. py:method:: dict(*, include: pydantic.main.IncEx | None = None, exclude: pydantic.main.IncEx | None = None, by_alias: bool = False, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False) -> typing.Dict[str, typing.Any] :canonical: vendor_fabric.cursor.Repository.dict .. py:method:: json(*, include: pydantic.main.IncEx | None = None, exclude: pydantic.main.IncEx | None = None, by_alias: bool = False, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, encoder: typing.Callable[[typing.Any], typing.Any] | None = PydanticUndefined, models_as_dict: bool = PydanticUndefined, **dumps_kwargs: typing.Any) -> str :canonical: vendor_fabric.cursor.Repository.json .. py:method:: parse_obj(obj: typing.Any) -> typing_extensions.Self :canonical: vendor_fabric.cursor.Repository.parse_obj :classmethod: .. py:method:: parse_raw(b: str | bytes, *, content_type: str | None = None, encoding: str = 'utf8', proto: pydantic.deprecated.parse.Protocol | None = None, allow_pickle: bool = False) -> typing_extensions.Self :canonical: vendor_fabric.cursor.Repository.parse_raw :classmethod: .. py:method:: parse_file(path: str | pathlib.Path, *, content_type: str | None = None, encoding: str = 'utf8', proto: pydantic.deprecated.parse.Protocol | None = None, allow_pickle: bool = False) -> typing_extensions.Self :canonical: vendor_fabric.cursor.Repository.parse_file :classmethod: .. py:method:: from_orm(obj: typing.Any) -> typing_extensions.Self :canonical: vendor_fabric.cursor.Repository.from_orm :classmethod: .. py:method:: construct(_fields_set: set[str] | None = None, **values: typing.Any) -> typing_extensions.Self :canonical: vendor_fabric.cursor.Repository.construct :classmethod: .. py:method:: copy(*, include: pydantic._internal._utils.AbstractSetIntStr | pydantic._internal._utils.MappingIntStrAny | None = None, exclude: pydantic._internal._utils.AbstractSetIntStr | pydantic._internal._utils.MappingIntStrAny | None = None, update: typing.Dict[str, typing.Any] | None = None, deep: bool = False) -> typing_extensions.Self :canonical: vendor_fabric.cursor.Repository.copy .. py:method:: schema(by_alias: bool = True, ref_template: str = DEFAULT_REF_TEMPLATE) -> typing.Dict[str, typing.Any] :canonical: vendor_fabric.cursor.Repository.schema :classmethod: .. py:method:: schema_json(*, by_alias: bool = True, ref_template: str = DEFAULT_REF_TEMPLATE, **dumps_kwargs: typing.Any) -> str :canonical: vendor_fabric.cursor.Repository.schema_json :classmethod: .. py:method:: validate(value: typing.Any) -> typing_extensions.Self :canonical: vendor_fabric.cursor.Repository.validate :classmethod: .. py:method:: update_forward_refs(**localns: typing.Any) -> None :canonical: vendor_fabric.cursor.Repository.update_forward_refs :classmethod: .. py:class:: ConversationMessage(/, **data: typing.Any) :canonical: vendor_fabric.cursor.ConversationMessage Bases: :py:obj:`pydantic.BaseModel` .. autodoc2-docstring:: vendor_fabric.cursor.ConversationMessage :parser: myst .. rubric:: Initialization .. autodoc2-docstring:: vendor_fabric.cursor.ConversationMessage.__init__ :parser: myst .. py:attribute:: model_config :canonical: vendor_fabric.cursor.ConversationMessage.model_config :value: 'ConfigDict(...)' .. autodoc2-docstring:: vendor_fabric.cursor.ConversationMessage.model_config :parser: myst .. py:attribute:: role :canonical: vendor_fabric.cursor.ConversationMessage.role :type: str :value: 'Field(...)' .. autodoc2-docstring:: vendor_fabric.cursor.ConversationMessage.role :parser: myst .. py:attribute:: content :canonical: vendor_fabric.cursor.ConversationMessage.content :type: str :value: 'Field(...)' .. autodoc2-docstring:: vendor_fabric.cursor.ConversationMessage.content :parser: myst .. py:attribute:: timestamp :canonical: vendor_fabric.cursor.ConversationMessage.timestamp :type: datetime.datetime | None :value: 'Field(...)' .. autodoc2-docstring:: vendor_fabric.cursor.ConversationMessage.timestamp :parser: myst .. py:method:: model_fields() -> dict[str, pydantic.fields.FieldInfo] :canonical: vendor_fabric.cursor.ConversationMessage.model_fields :classmethod: .. py:method:: model_computed_fields() -> dict[str, pydantic.fields.ComputedFieldInfo] :canonical: vendor_fabric.cursor.ConversationMessage.model_computed_fields :classmethod: .. py:property:: model_extra :canonical: vendor_fabric.cursor.ConversationMessage.model_extra :type: dict[str, typing.Any] | None .. py:property:: model_fields_set :canonical: vendor_fabric.cursor.ConversationMessage.model_fields_set :type: set[str] .. py:method:: model_construct(_fields_set: set[str] | None = None, **values: typing.Any) -> typing_extensions.Self :canonical: vendor_fabric.cursor.ConversationMessage.model_construct :classmethod: .. py:method:: model_copy(*, update: collections.abc.Mapping[str, typing.Any] | None = None, deep: bool = False) -> typing_extensions.Self :canonical: vendor_fabric.cursor.ConversationMessage.model_copy .. py:method:: model_dump(*, mode: typing.Literal[json, python] | str = 'python', include: pydantic.main.IncEx | None = None, exclude: pydantic.main.IncEx | None = None, context: typing.Any | None = None, by_alias: bool | None = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, exclude_computed_fields: bool = False, round_trip: bool = False, warnings: bool | typing.Literal[none, warn, error] = True, fallback: typing.Callable[[typing.Any], typing.Any] | None = None, serialize_as_any: bool = False, polymorphic_serialization: bool | None = None) -> dict[str, typing.Any] :canonical: vendor_fabric.cursor.ConversationMessage.model_dump .. py:method:: model_dump_json(*, indent: int | None = None, ensure_ascii: bool = False, include: pydantic.main.IncEx | None = None, exclude: pydantic.main.IncEx | None = None, context: typing.Any | None = None, by_alias: bool | None = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, exclude_computed_fields: bool = False, round_trip: bool = False, warnings: bool | typing.Literal[none, warn, error] = True, fallback: typing.Callable[[typing.Any], typing.Any] | None = None, serialize_as_any: bool = False, polymorphic_serialization: bool | None = None) -> str :canonical: vendor_fabric.cursor.ConversationMessage.model_dump_json .. py:method:: model_json_schema(by_alias: bool = True, ref_template: str = DEFAULT_REF_TEMPLATE, schema_generator: type[pydantic.json_schema.GenerateJsonSchema] = GenerateJsonSchema, mode: pydantic.json_schema.JsonSchemaMode = 'validation', *, union_format: typing.Literal[any_of, primitive_type_array] = 'any_of') -> dict[str, typing.Any] :canonical: vendor_fabric.cursor.ConversationMessage.model_json_schema :classmethod: .. py:method:: model_parametrized_name(params: tuple[type[typing.Any], ...]) -> str :canonical: vendor_fabric.cursor.ConversationMessage.model_parametrized_name :classmethod: .. py:method:: model_post_init(context: typing.Any, /) -> None :canonical: vendor_fabric.cursor.ConversationMessage.model_post_init .. py:method:: model_rebuild(*, force: bool = False, raise_errors: bool = True, _parent_namespace_depth: int = 2, _types_namespace: pydantic._internal._namespace_utils.MappingNamespace | None = None) -> bool | None :canonical: vendor_fabric.cursor.ConversationMessage.model_rebuild :classmethod: .. py:method:: model_validate(obj: typing.Any, *, strict: bool | None = None, extra: pydantic.config.ExtraValues | None = None, from_attributes: bool | None = None, context: typing.Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) -> typing_extensions.Self :canonical: vendor_fabric.cursor.ConversationMessage.model_validate :classmethod: .. py:method:: model_validate_json(json_data: str | bytes | bytearray, *, strict: bool | None = None, extra: pydantic.config.ExtraValues | None = None, context: typing.Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) -> typing_extensions.Self :canonical: vendor_fabric.cursor.ConversationMessage.model_validate_json :classmethod: .. py:method:: model_validate_strings(obj: typing.Any, *, strict: bool | None = None, extra: pydantic.config.ExtraValues | None = None, context: typing.Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) -> typing_extensions.Self :canonical: vendor_fabric.cursor.ConversationMessage.model_validate_strings :classmethod: .. py:method:: dict(*, include: pydantic.main.IncEx | None = None, exclude: pydantic.main.IncEx | None = None, by_alias: bool = False, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False) -> typing.Dict[str, typing.Any] :canonical: vendor_fabric.cursor.ConversationMessage.dict .. py:method:: json(*, include: pydantic.main.IncEx | None = None, exclude: pydantic.main.IncEx | None = None, by_alias: bool = False, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, encoder: typing.Callable[[typing.Any], typing.Any] | None = PydanticUndefined, models_as_dict: bool = PydanticUndefined, **dumps_kwargs: typing.Any) -> str :canonical: vendor_fabric.cursor.ConversationMessage.json .. py:method:: parse_obj(obj: typing.Any) -> typing_extensions.Self :canonical: vendor_fabric.cursor.ConversationMessage.parse_obj :classmethod: .. py:method:: parse_raw(b: str | bytes, *, content_type: str | None = None, encoding: str = 'utf8', proto: pydantic.deprecated.parse.Protocol | None = None, allow_pickle: bool = False) -> typing_extensions.Self :canonical: vendor_fabric.cursor.ConversationMessage.parse_raw :classmethod: .. py:method:: parse_file(path: str | pathlib.Path, *, content_type: str | None = None, encoding: str = 'utf8', proto: pydantic.deprecated.parse.Protocol | None = None, allow_pickle: bool = False) -> typing_extensions.Self :canonical: vendor_fabric.cursor.ConversationMessage.parse_file :classmethod: .. py:method:: from_orm(obj: typing.Any) -> typing_extensions.Self :canonical: vendor_fabric.cursor.ConversationMessage.from_orm :classmethod: .. py:method:: construct(_fields_set: set[str] | None = None, **values: typing.Any) -> typing_extensions.Self :canonical: vendor_fabric.cursor.ConversationMessage.construct :classmethod: .. py:method:: copy(*, include: pydantic._internal._utils.AbstractSetIntStr | pydantic._internal._utils.MappingIntStrAny | None = None, exclude: pydantic._internal._utils.AbstractSetIntStr | pydantic._internal._utils.MappingIntStrAny | None = None, update: typing.Dict[str, typing.Any] | None = None, deep: bool = False) -> typing_extensions.Self :canonical: vendor_fabric.cursor.ConversationMessage.copy .. py:method:: schema(by_alias: bool = True, ref_template: str = DEFAULT_REF_TEMPLATE) -> typing.Dict[str, typing.Any] :canonical: vendor_fabric.cursor.ConversationMessage.schema :classmethod: .. py:method:: schema_json(*, by_alias: bool = True, ref_template: str = DEFAULT_REF_TEMPLATE, **dumps_kwargs: typing.Any) -> str :canonical: vendor_fabric.cursor.ConversationMessage.schema_json :classmethod: .. py:method:: validate(value: typing.Any) -> typing_extensions.Self :canonical: vendor_fabric.cursor.ConversationMessage.validate :classmethod: .. py:method:: update_forward_refs(**localns: typing.Any) -> None :canonical: vendor_fabric.cursor.ConversationMessage.update_forward_refs :classmethod: .. py:class:: Conversation(/, **data: typing.Any) :canonical: vendor_fabric.cursor.Conversation Bases: :py:obj:`pydantic.BaseModel` .. autodoc2-docstring:: vendor_fabric.cursor.Conversation :parser: myst .. rubric:: Initialization .. autodoc2-docstring:: vendor_fabric.cursor.Conversation.__init__ :parser: myst .. py:attribute:: model_config :canonical: vendor_fabric.cursor.Conversation.model_config :value: 'ConfigDict(...)' .. autodoc2-docstring:: vendor_fabric.cursor.Conversation.model_config :parser: myst .. py:attribute:: agent_id :canonical: vendor_fabric.cursor.Conversation.agent_id :type: str :value: 'Field(...)' .. autodoc2-docstring:: vendor_fabric.cursor.Conversation.agent_id :parser: myst .. py:attribute:: messages :canonical: vendor_fabric.cursor.Conversation.messages :type: list[vendor_fabric.cursor.ConversationMessage] :value: 'Field(...)' .. autodoc2-docstring:: vendor_fabric.cursor.Conversation.messages :parser: myst .. py:method:: model_fields() -> dict[str, pydantic.fields.FieldInfo] :canonical: vendor_fabric.cursor.Conversation.model_fields :classmethod: .. py:method:: model_computed_fields() -> dict[str, pydantic.fields.ComputedFieldInfo] :canonical: vendor_fabric.cursor.Conversation.model_computed_fields :classmethod: .. py:property:: model_extra :canonical: vendor_fabric.cursor.Conversation.model_extra :type: dict[str, typing.Any] | None .. py:property:: model_fields_set :canonical: vendor_fabric.cursor.Conversation.model_fields_set :type: set[str] .. py:method:: model_construct(_fields_set: set[str] | None = None, **values: typing.Any) -> typing_extensions.Self :canonical: vendor_fabric.cursor.Conversation.model_construct :classmethod: .. py:method:: model_copy(*, update: collections.abc.Mapping[str, typing.Any] | None = None, deep: bool = False) -> typing_extensions.Self :canonical: vendor_fabric.cursor.Conversation.model_copy .. py:method:: model_dump(*, mode: typing.Literal[json, python] | str = 'python', include: pydantic.main.IncEx | None = None, exclude: pydantic.main.IncEx | None = None, context: typing.Any | None = None, by_alias: bool | None = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, exclude_computed_fields: bool = False, round_trip: bool = False, warnings: bool | typing.Literal[none, warn, error] = True, fallback: typing.Callable[[typing.Any], typing.Any] | None = None, serialize_as_any: bool = False, polymorphic_serialization: bool | None = None) -> dict[str, typing.Any] :canonical: vendor_fabric.cursor.Conversation.model_dump .. py:method:: model_dump_json(*, indent: int | None = None, ensure_ascii: bool = False, include: pydantic.main.IncEx | None = None, exclude: pydantic.main.IncEx | None = None, context: typing.Any | None = None, by_alias: bool | None = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, exclude_computed_fields: bool = False, round_trip: bool = False, warnings: bool | typing.Literal[none, warn, error] = True, fallback: typing.Callable[[typing.Any], typing.Any] | None = None, serialize_as_any: bool = False, polymorphic_serialization: bool | None = None) -> str :canonical: vendor_fabric.cursor.Conversation.model_dump_json .. py:method:: model_json_schema(by_alias: bool = True, ref_template: str = DEFAULT_REF_TEMPLATE, schema_generator: type[pydantic.json_schema.GenerateJsonSchema] = GenerateJsonSchema, mode: pydantic.json_schema.JsonSchemaMode = 'validation', *, union_format: typing.Literal[any_of, primitive_type_array] = 'any_of') -> dict[str, typing.Any] :canonical: vendor_fabric.cursor.Conversation.model_json_schema :classmethod: .. py:method:: model_parametrized_name(params: tuple[type[typing.Any], ...]) -> str :canonical: vendor_fabric.cursor.Conversation.model_parametrized_name :classmethod: .. py:method:: model_post_init(context: typing.Any, /) -> None :canonical: vendor_fabric.cursor.Conversation.model_post_init .. py:method:: model_rebuild(*, force: bool = False, raise_errors: bool = True, _parent_namespace_depth: int = 2, _types_namespace: pydantic._internal._namespace_utils.MappingNamespace | None = None) -> bool | None :canonical: vendor_fabric.cursor.Conversation.model_rebuild :classmethod: .. py:method:: model_validate(obj: typing.Any, *, strict: bool | None = None, extra: pydantic.config.ExtraValues | None = None, from_attributes: bool | None = None, context: typing.Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) -> typing_extensions.Self :canonical: vendor_fabric.cursor.Conversation.model_validate :classmethod: .. py:method:: model_validate_json(json_data: str | bytes | bytearray, *, strict: bool | None = None, extra: pydantic.config.ExtraValues | None = None, context: typing.Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) -> typing_extensions.Self :canonical: vendor_fabric.cursor.Conversation.model_validate_json :classmethod: .. py:method:: model_validate_strings(obj: typing.Any, *, strict: bool | None = None, extra: pydantic.config.ExtraValues | None = None, context: typing.Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) -> typing_extensions.Self :canonical: vendor_fabric.cursor.Conversation.model_validate_strings :classmethod: .. py:method:: dict(*, include: pydantic.main.IncEx | None = None, exclude: pydantic.main.IncEx | None = None, by_alias: bool = False, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False) -> typing.Dict[str, typing.Any] :canonical: vendor_fabric.cursor.Conversation.dict .. py:method:: json(*, include: pydantic.main.IncEx | None = None, exclude: pydantic.main.IncEx | None = None, by_alias: bool = False, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, encoder: typing.Callable[[typing.Any], typing.Any] | None = PydanticUndefined, models_as_dict: bool = PydanticUndefined, **dumps_kwargs: typing.Any) -> str :canonical: vendor_fabric.cursor.Conversation.json .. py:method:: parse_obj(obj: typing.Any) -> typing_extensions.Self :canonical: vendor_fabric.cursor.Conversation.parse_obj :classmethod: .. py:method:: parse_raw(b: str | bytes, *, content_type: str | None = None, encoding: str = 'utf8', proto: pydantic.deprecated.parse.Protocol | None = None, allow_pickle: bool = False) -> typing_extensions.Self :canonical: vendor_fabric.cursor.Conversation.parse_raw :classmethod: .. py:method:: parse_file(path: str | pathlib.Path, *, content_type: str | None = None, encoding: str = 'utf8', proto: pydantic.deprecated.parse.Protocol | None = None, allow_pickle: bool = False) -> typing_extensions.Self :canonical: vendor_fabric.cursor.Conversation.parse_file :classmethod: .. py:method:: from_orm(obj: typing.Any) -> typing_extensions.Self :canonical: vendor_fabric.cursor.Conversation.from_orm :classmethod: .. py:method:: construct(_fields_set: set[str] | None = None, **values: typing.Any) -> typing_extensions.Self :canonical: vendor_fabric.cursor.Conversation.construct :classmethod: .. py:method:: copy(*, include: pydantic._internal._utils.AbstractSetIntStr | pydantic._internal._utils.MappingIntStrAny | None = None, exclude: pydantic._internal._utils.AbstractSetIntStr | pydantic._internal._utils.MappingIntStrAny | None = None, update: typing.Dict[str, typing.Any] | None = None, deep: bool = False) -> typing_extensions.Self :canonical: vendor_fabric.cursor.Conversation.copy .. py:method:: schema(by_alias: bool = True, ref_template: str = DEFAULT_REF_TEMPLATE) -> typing.Dict[str, typing.Any] :canonical: vendor_fabric.cursor.Conversation.schema :classmethod: .. py:method:: schema_json(*, by_alias: bool = True, ref_template: str = DEFAULT_REF_TEMPLATE, **dumps_kwargs: typing.Any) -> str :canonical: vendor_fabric.cursor.Conversation.schema_json :classmethod: .. py:method:: validate(value: typing.Any) -> typing_extensions.Self :canonical: vendor_fabric.cursor.Conversation.validate :classmethod: .. py:method:: update_forward_refs(**localns: typing.Any) -> None :canonical: vendor_fabric.cursor.Conversation.update_forward_refs :classmethod: .. py:class:: LaunchOptions :canonical: vendor_fabric.cursor.LaunchOptions .. autodoc2-docstring:: vendor_fabric.cursor.LaunchOptions :parser: myst .. py:attribute:: prompt_text :canonical: vendor_fabric.cursor.LaunchOptions.prompt_text :type: str :value: None .. autodoc2-docstring:: vendor_fabric.cursor.LaunchOptions.prompt_text :parser: myst .. py:attribute:: repository :canonical: vendor_fabric.cursor.LaunchOptions.repository :type: str :value: None .. autodoc2-docstring:: vendor_fabric.cursor.LaunchOptions.repository :parser: myst .. py:attribute:: ref :canonical: vendor_fabric.cursor.LaunchOptions.ref :type: str | None :value: None .. autodoc2-docstring:: vendor_fabric.cursor.LaunchOptions.ref :parser: myst .. py:attribute:: images :canonical: vendor_fabric.cursor.LaunchOptions.images :type: list[dict[str, typing.Any]] | None :value: None .. autodoc2-docstring:: vendor_fabric.cursor.LaunchOptions.images :parser: myst .. py:attribute:: auto_create_pr :canonical: vendor_fabric.cursor.LaunchOptions.auto_create_pr :type: bool :value: True .. autodoc2-docstring:: vendor_fabric.cursor.LaunchOptions.auto_create_pr :parser: myst .. py:attribute:: branch_name :canonical: vendor_fabric.cursor.LaunchOptions.branch_name :type: str | None :value: None .. autodoc2-docstring:: vendor_fabric.cursor.LaunchOptions.branch_name :parser: myst .. py:attribute:: open_as_cursor_github_app :canonical: vendor_fabric.cursor.LaunchOptions.open_as_cursor_github_app :type: bool :value: True .. autodoc2-docstring:: vendor_fabric.cursor.LaunchOptions.open_as_cursor_github_app :parser: myst .. py:attribute:: skip_reviewer_request :canonical: vendor_fabric.cursor.LaunchOptions.skip_reviewer_request :type: bool :value: False .. autodoc2-docstring:: vendor_fabric.cursor.LaunchOptions.skip_reviewer_request :parser: myst .. py:attribute:: webhook_url :canonical: vendor_fabric.cursor.LaunchOptions.webhook_url :type: str | None :value: None .. autodoc2-docstring:: vendor_fabric.cursor.LaunchOptions.webhook_url :parser: myst .. py:attribute:: webhook_secret :canonical: vendor_fabric.cursor.LaunchOptions.webhook_secret :type: str | None :value: None .. autodoc2-docstring:: vendor_fabric.cursor.LaunchOptions.webhook_secret :parser: myst .. py:function:: validate_agent_id(agent_id: str) -> None :canonical: vendor_fabric.cursor.validate_agent_id .. autodoc2-docstring:: vendor_fabric.cursor.validate_agent_id :parser: myst .. py:function:: validate_prompt_text(text: str) -> None :canonical: vendor_fabric.cursor.validate_prompt_text .. autodoc2-docstring:: vendor_fabric.cursor.validate_prompt_text :parser: myst .. py:function:: validate_repository(repository: str) -> None :canonical: vendor_fabric.cursor.validate_repository .. autodoc2-docstring:: vendor_fabric.cursor.validate_repository :parser: myst .. py:function:: validate_webhook_url(url: str) -> None :canonical: vendor_fabric.cursor.validate_webhook_url .. autodoc2-docstring:: vendor_fabric.cursor.validate_webhook_url :parser: myst .. py:function:: sanitize_error(error: typing.Any, *, values: collections.abc.Iterable[typing.Any] | None = None) -> str :canonical: vendor_fabric.cursor.sanitize_error .. autodoc2-docstring:: vendor_fabric.cursor.sanitize_error :parser: myst .. py:class:: CursorConnector(api_key: str | None = None, base_url: str | None = None, timeout: float = DEFAULT_TIMEOUT, logger: extended_data.logging.Logging | None = None, **kwargs: typing.Any) :canonical: vendor_fabric.cursor.CursorConnector Bases: :py:obj:`vendor_fabric.base.ConnectorBase` .. autodoc2-docstring:: vendor_fabric.cursor.CursorConnector :parser: myst .. rubric:: Initialization .. autodoc2-docstring:: vendor_fabric.cursor.CursorConnector.__init__ :parser: myst .. py:attribute:: API_KEY_ENV :canonical: vendor_fabric.cursor.CursorConnector.API_KEY_ENV :value: 'CURSOR_API_KEY' .. autodoc2-docstring:: vendor_fabric.cursor.CursorConnector.API_KEY_ENV :parser: myst .. py:attribute:: BASE_URL :canonical: vendor_fabric.cursor.CursorConnector.BASE_URL :value: None .. autodoc2-docstring:: vendor_fabric.cursor.CursorConnector.BASE_URL :parser: myst .. py:method:: is_available() -> bool :canonical: vendor_fabric.cursor.CursorConnector.is_available :staticmethod: .. autodoc2-docstring:: vendor_fabric.cursor.CursorConnector.is_available :parser: myst .. py:method:: list_agents() -> extended_data.containers.ExtendedList[extended_data.containers.ExtendedDict] :canonical: vendor_fabric.cursor.CursorConnector.list_agents .. autodoc2-docstring:: vendor_fabric.cursor.CursorConnector.list_agents :parser: myst .. py:method:: get_agent_status(agent_id: str) -> extended_data.containers.ExtendedDict :canonical: vendor_fabric.cursor.CursorConnector.get_agent_status .. autodoc2-docstring:: vendor_fabric.cursor.CursorConnector.get_agent_status :parser: myst .. py:method:: get_agent_conversation(agent_id: str) -> extended_data.containers.ExtendedDict :canonical: vendor_fabric.cursor.CursorConnector.get_agent_conversation .. autodoc2-docstring:: vendor_fabric.cursor.CursorConnector.get_agent_conversation :parser: myst .. py:method:: launch_agent(prompt_text: str, repository: str, ref: str | None = None, images: list[dict[str, typing.Any]] | None = None, auto_create_pr: bool = True, branch_name: str | None = None, open_as_cursor_github_app: bool = True, skip_reviewer_request: bool = False, webhook_url: str | None = None, webhook_secret: str | None = None) -> extended_data.containers.ExtendedDict :canonical: vendor_fabric.cursor.CursorConnector.launch_agent .. autodoc2-docstring:: vendor_fabric.cursor.CursorConnector.launch_agent :parser: myst .. py:method:: add_followup(agent_id: str, prompt_text: str) -> None :canonical: vendor_fabric.cursor.CursorConnector.add_followup .. autodoc2-docstring:: vendor_fabric.cursor.CursorConnector.add_followup :parser: myst .. py:method:: list_repositories() -> extended_data.containers.ExtendedList[extended_data.containers.ExtendedDict] :canonical: vendor_fabric.cursor.CursorConnector.list_repositories .. autodoc2-docstring:: vendor_fabric.cursor.CursorConnector.list_repositories :parser: myst .. py:method:: list_models() -> extended_data.containers.ExtendedList[extended_data.containers.ExtendedString] :canonical: vendor_fabric.cursor.CursorConnector.list_models .. autodoc2-docstring:: vendor_fabric.cursor.CursorConnector.list_models :parser: myst .. py:attribute:: CONNECTOR_CATEGORY :canonical: vendor_fabric.cursor.CursorConnector.CONNECTOR_CATEGORY :type: typing.ClassVar[str] :value: 'external' .. py:attribute:: CONNECTOR_CAPABILITIES :canonical: vendor_fabric.cursor.CursorConnector.CONNECTOR_CAPABILITIES :type: typing.ClassVar[tuple[str, ...]] :value: () .. py:attribute:: TIMEOUT :canonical: vendor_fabric.cursor.CursorConnector.TIMEOUT :type: typing.ClassVar[float] :value: 300.0 .. py:attribute:: MIN_REQUEST_INTERVAL :canonical: vendor_fabric.cursor.CursorConnector.MIN_REQUEST_INTERVAL :type: typing.ClassVar[float] :value: 0.0 .. py:attribute:: MAX_RETRIES :canonical: vendor_fabric.cursor.CursorConnector.MAX_RETRIES :type: typing.ClassVar[int] :value: 5 .. py:property:: api_key :canonical: vendor_fabric.cursor.CursorConnector.api_key :type: str .. py:property:: client :canonical: vendor_fabric.cursor.CursorConnector.client :type: httpx.Client .. py:method:: close() -> None :canonical: vendor_fabric.cursor.CursorConnector.close .. py:method:: request(method: str, endpoint: str, *, headers: dict[str, str] | None = None, **kwargs: typing.Any) -> httpx.Response :canonical: vendor_fabric.cursor.CursorConnector.request .. py:method:: decode_response(response: httpx.Response, *, suffix: str | None = None, as_extended: bool = True) -> typing.Any :canonical: vendor_fabric.cursor.CursorConnector.decode_response .. py:method:: decode_response_file(response: httpx.Response, *, source: str | None = None, suffix: str | None = None, as_extended: bool = True, metadata: collections.abc.Mapping[str, typing.Any] | None = None) -> extended_data.io.DataFile :canonical: vendor_fabric.cursor.CursorConnector.decode_response_file .. py:method:: extend_result(value: typing.Any) -> typing.Any :canonical: vendor_fabric.cursor.CursorConnector.extend_result .. py:method:: request_data(method: str, endpoint: str, *, headers: dict[str, str] | None = None, suffix: str | None = None, as_extended: bool = True, **kwargs: typing.Any) -> typing.Any :canonical: vendor_fabric.cursor.CursorConnector.request_data .. py:method:: request_data_file(method: str, endpoint: str, *, headers: dict[str, str] | None = None, suffix: str | None = None, as_extended: bool = True, **kwargs: typing.Any) -> extended_data.io.DataFile :canonical: vendor_fabric.cursor.CursorConnector.request_data_file .. py:method:: request_workflow(method: str, endpoint: str, *, headers: dict[str, str] | None = None, suffix: str | None = None, as_extended: bool = True, **kwargs: typing.Any) -> extended_data.workflows.DataWorkflow :canonical: vendor_fabric.cursor.CursorConnector.request_workflow .. py:method:: get(endpoint: str, **kwargs: typing.Any) -> httpx.Response :canonical: vendor_fabric.cursor.CursorConnector.get .. py:method:: get_data(endpoint: str, *, suffix: str | None = None, as_extended: bool = True, **kwargs: typing.Any) -> typing.Any :canonical: vendor_fabric.cursor.CursorConnector.get_data .. py:method:: get_workflow(endpoint: str, *, suffix: str | None = None, as_extended: bool = True, **kwargs: typing.Any) -> extended_data.workflows.DataWorkflow :canonical: vendor_fabric.cursor.CursorConnector.get_workflow .. py:method:: post(endpoint: str, **kwargs: typing.Any) -> httpx.Response :canonical: vendor_fabric.cursor.CursorConnector.post .. py:method:: post_data(endpoint: str, *, suffix: str | None = None, as_extended: bool = True, **kwargs: typing.Any) -> typing.Any :canonical: vendor_fabric.cursor.CursorConnector.post_data .. py:method:: post_workflow(endpoint: str, *, suffix: str | None = None, as_extended: bool = True, **kwargs: typing.Any) -> extended_data.workflows.DataWorkflow :canonical: vendor_fabric.cursor.CursorConnector.post_workflow .. py:method:: put(endpoint: str, **kwargs: typing.Any) -> httpx.Response :canonical: vendor_fabric.cursor.CursorConnector.put .. py:method:: put_data(endpoint: str, *, suffix: str | None = None, as_extended: bool = True, **kwargs: typing.Any) -> typing.Any :canonical: vendor_fabric.cursor.CursorConnector.put_data .. py:method:: put_workflow(endpoint: str, *, suffix: str | None = None, as_extended: bool = True, **kwargs: typing.Any) -> extended_data.workflows.DataWorkflow :canonical: vendor_fabric.cursor.CursorConnector.put_workflow .. py:method:: delete(endpoint: str, **kwargs: typing.Any) -> httpx.Response :canonical: vendor_fabric.cursor.CursorConnector.delete .. py:method:: delete_data(endpoint: str, *, suffix: str | None = None, as_extended: bool = True, **kwargs: typing.Any) -> typing.Any :canonical: vendor_fabric.cursor.CursorConnector.delete_data .. py:method:: delete_workflow(endpoint: str, *, suffix: str | None = None, as_extended: bool = True, **kwargs: typing.Any) -> extended_data.workflows.DataWorkflow :canonical: vendor_fabric.cursor.CursorConnector.delete_workflow .. py:method:: patch(endpoint: str, **kwargs: typing.Any) -> httpx.Response :canonical: vendor_fabric.cursor.CursorConnector.patch .. py:method:: patch_data(endpoint: str, *, suffix: str | None = None, as_extended: bool = True, **kwargs: typing.Any) -> typing.Any :canonical: vendor_fabric.cursor.CursorConnector.patch_data .. py:method:: patch_workflow(endpoint: str, *, suffix: str | None = None, as_extended: bool = True, **kwargs: typing.Any) -> extended_data.workflows.DataWorkflow :canonical: vendor_fabric.cursor.CursorConnector.patch_workflow .. py:method:: download(url: str, output_path: str) -> int :canonical: vendor_fabric.cursor.CursorConnector.download .. py:attribute:: vendor_capabilities :canonical: vendor_fabric.cursor.CursorConnector.vendor_capabilities :type: typing.ClassVar[dict[str, vendor_fabric.capabilities.CapabilitySpec]] :value: None .. py:attribute:: vendor_capability_methods :canonical: vendor_fabric.cursor.CursorConnector.vendor_capability_methods :type: typing.ClassVar[dict[str, str]] :value: None .. py:method:: get_input(k: str, default: typing.Any | None = None, required: bool = False, is_bool: bool = False, is_integer: bool = False, is_float: bool = False, is_path: bool = False, is_datetime: bool = False, as_extended: bool = False) -> typing.Any :canonical: vendor_fabric.cursor.CursorConnector.get_input .. py:method:: decode_input(k: str, default: typing.Any | None = None, required: bool = False, decode_from_json: bool = False, decode_from_yaml: bool = False, decode_from_base64: bool = False, allow_none: bool = True, as_extended: bool = False) -> typing.Any :canonical: vendor_fabric.cursor.CursorConnector.decode_input .. py:method:: freeze_inputs() -> extended_data.containers.mappings.ExtendedDict :canonical: vendor_fabric.cursor.CursorConnector.freeze_inputs .. py:method:: thaw_inputs() -> extended_data.containers.mappings.ExtendedDict :canonical: vendor_fabric.cursor.CursorConnector.thaw_inputs .. py:method:: snapshot_inputs(*, frozen: bool = False) -> extended_data.containers.mappings.ExtendedDict :canonical: vendor_fabric.cursor.CursorConnector.snapshot_inputs .. py:method:: replace_inputs(new_inputs: collections.abc.Mapping[str, typing.Any] | None, *, clear_frozen: bool = True) -> extended_data.containers.mappings.ExtendedDict :canonical: vendor_fabric.cursor.CursorConnector.replace_inputs .. py:method:: merge_inputs(new_inputs: collections.abc.Mapping[str, typing.Any] | None) -> extended_data.containers.mappings.ExtendedDict :canonical: vendor_fabric.cursor.CursorConnector.merge_inputs .. py:method:: shift_inputs() -> extended_data.containers.mappings.ExtendedDict :canonical: vendor_fabric.cursor.CursorConnector.shift_inputs