BerriAI / litellm

Python SDK, Proxy Server (LLM Gateway) to call 100+ LLM APIs in OpenAI format - [Bedrock, Azure, OpenAI, VertexAI, Cohere, Anthropic, Sagemaker, HuggingFace, Replicate, Groq]
https://docs.litellm.ai/docs/
Other
14.1k stars 1.67k forks source link

[Bug]: Bedrock with function calling: The number of toolResult blocks at messages.2.content exceeds the number of toolUse blocks of previous turn. #6535

Closed xingyaoww closed 3 weeks ago

xingyaoww commented 3 weeks ago

What happened?

It runs into the following error (through LLM Proxy):

litellm.exceptions.BadRequestError: litellm.BadRequestError: Litellm_proxyException - Error code: 400 - {'error': {'message': 'litellm.BadRequestError: BedrockException - {"message":"The number of toolResult blocks at messages.2.content exceeds the number of toolUse blocks of previous turn."}No fallback model group found for original model_group=bedrock/anthropic.claude-3-5-sonnet-20241022-v2:0. Fallbacks=[{\'claude-3-5-sonnet-20241022\': [\'anthropic/claude-3-5-sonnet-20241022\']}, {\'claude-3-5-sonnet-20240620\': [\'anthropic/claude-3-5-sonnet-20240620\']}, {\'gpt-4o-2024-08-06\': [\'openai/gpt-4o-2024-08-06\']}, {\'gpt-4o-2024-05-13\': [\'openai/gpt-4o-2024-05-13\']}, {\'gpt-4o-mini-2024-07-18\': [\'openai/gpt-4o-mini-2024-07-18\']}]\nReceived Model Group=bedrock/anthropic.claude-3-5-sonnet-20241022-v2:0\nAvailable Model Group Fallbacks=None\nError doing the fallback: litellm.BadRequestError: BedrockException - {"message":"The number of toolResult blocks at messages.2.content exceeds the number of toolUse blocks of previous turn."}No fallback model group found for original model_group=bedrock/anthropic.claude-3-5-sonnet-20241022-v2:0. Fallbacks=[{\'claude-3-5-sonnet-20241022\': [\'anthropic/claude-3-5-sonnet-20241022\']}, {\'claude-3-5-sonnet-20240620\': [\'anthropic/claude-3-5-sonnet-20240620\']}, {\'gpt-4o-2024-08-06\': [\'openai/gpt-4o-2024-08-06\']}, {\'gpt-4o-2024-05-13\': [\'openai/gpt-4o-2024-05-13\']}, {\'gpt-4o-mini-2024-07-18\': [\'openai/gpt-4o-mini-2024-07-18\']}] LiteLLM Retried: 2 times, LiteLLM Max Retries: 3', 'type': None, 'param': None, 'code': '400'}}

Relevant log output

To repro:

import litellm

litellm.set_verbose = True

res = litellm.completion(
    model="litellm_proxy/bedrock/anthropic.claude-3-5-sonnet-20241022-v2:0",
    api_key="XXX",
    base_url="https://llm-proxy.staging.all-hands.dev/",
    api_version=None,
    custom_llm_provider=None,
    max_tokens=4096,
    timeout=None,
    temperature=0.0,
    top_p=1.0,
    drop_params=True,
    messages=[
        {
            "content": [
                {
                    "type": "text",
                    "text": "You are a helpful assistant that can interact with a computer to solve tasks.\n<IMPORTANT>\n* If user provides a path, you should NOT assume it's relative to the current working directory. Instead, you should explore the file system to find the file before working on it.\n</IMPORTANT>\n",
                }
            ],
            "role": "system",
        },
        {
            "content": [
                {
                    "type": "text",
                    "text": "<uploaded_files>\n/workspace/astropy__astropy__4.3\n</uploaded_files>\nI've uploaded a python code repository in the directory astropy__astropy__4.3. Consider the following PR description:\n\n<pr_description>\nModeling's `separability_matrix` does not compute separability correctly for nested CompoundModels\nConsider the following model:\r\n\r\n\r\nfrom astropy.modeling import models as m\r\nfrom astropy.modeling.separable import separability_matrix\r\n\r\ncm = m.Linear1D(10) & m.Linear1D(5)\r\n\r\n\r\nIt's separability matrix as you might expect is a diagonal:\r\n\r\n```python\r\n>>> separability_matrix(cm)\r\narray([[ True, False],\r\n       [False,  True]])\r\n```\r\n\r\nIf I make the model more complex:\r\n```python\r\n>>> separability_matrix(m.Pix2Sky_TAN() & m.Linear1D(10) & m.Linear1D(5))\r\narray([[ True,  True, False, False],\r\n       [ True,  True, False, False],\r\n       [False, False,  True, False],\r\n       [False, False, False,  True]])\r\n```\r\n\r\nThe output matrix is again, as expected, the outputs and inputs to the linear models are separable and independent of each other.\r\n\r\nIf however, I nest these compound models:\r\n```python\r\n>>> separability_matrix(m.Pix2Sky_TAN() & cm)\r\narray([[ True,  True, False, False],\r\n       [ True,  True, False, False],\r\n       [False, False,  True,  True],\r\n       [False, False,  True,  True]])\r\n```\r\nSuddenly the inputs and outputs are no longer separable?\r\n\r\nThis feels like a bug to me, but I might be missing something?\n\n</pr_description>\n\nCan you help me implement the necessary changes to the repository so that the requirements specified in the <pr_description> are met?\nI've already taken care of all changes to any of the test files described in the <pr_description>. This means you DON'T have to modify the testing logic or any of the tests in any way!\nYour task is to make the minimal changes to non-tests files in the /repo directory to ensure the <pr_description> is satisfied.\nFollow these steps to resolve the issue:\n1. As a first step, it might be a good idea to explore the repo to familiarize yourself with its structure.\n2. Create a script to reproduce the error and execute it with `python <filename.py>` using the BashTool, to confirm the error\n3. Edit the sourcecode of the repo to resolve the issue\n4. Rerun your reproduce script and confirm that the error is fixed!\n5. Think about edgecases and make sure your fix handles them as well\nYour thinking should be thorough and so it's fine if it's very long.\n",
                }
            ],
            "role": "user",
        },
        {
            "content": [
                {
                    "type": "text",
                    "text": "I'll help you implement the necessary changes to fix the issue with nested CompoundModels in the separability matrix computation. Let's follow the steps:\n\n1. First, let's explore the repository structure to find the relevant files:",
                }
            ],
            "role": "assistant",
            "tool_calls": [
                {
                    "index": 1,
                    "function": {
                        "arguments": '{"command": "ls -R /workspace/astropy__astropy__4.3"}',
                        "name": "execute_bash",
                    },
                    "id": "tooluse_UIDFPRc9TOSiuUZ0MWc7fA",
                    "type": "function",
                }
            ],
        },
        {
            "content": [
                {
                    "type": "text",
                    "text": "OBSERVATION:\nls -R /workspace/astropy__astropy__4.3\r\n/workspace/astropy__astropy__4.3:\r\nCHANGES.rst\t    MANIFEST.in\t\t codecov.yml\t   pyproject.toml\r\nCITATION\t    README.rst\t\t conftest.py\t   setup.cfg\r\nCODE_OF_CONDUCT.md  astropy\t\t docs\t\t   setup.py\r\nCONTRIBUTING.md     astropy.egg-info\t examples\t   tox.ini\r\nGOVERNANCE.md\t    azure-pipelines.yml  licenses\r\nLICENSE.rst\t    cextern\t\t pip-requirements\r\n\r\n/workspace/astropy__astropy__4.3/astropy:\r\nCITATION\t\t\t\t\t convolution  table\r\n__init__.py\t\t\t\t\t coordinates  tests\r\n_compiler.c\t\t\t\t\t cosmology    time\r\n_dev\t\t\t\t\t\t extern       timeseries\r\n_erfa\t\t\t\t\t\t io\t      uncertainty\r\n_version.py\t\t\t\t\t logger.py    units\r\ncompiler_version.cpython-39-x86_64-linux-gnu.so  modeling     utils\r\nconfig\t\t\t\t\t\t nddata       version.py\r\nconftest.py\t\t\t\t\t samp\t      visualization\r\nconstants\t\t\t\t\t stats\t      wcs\r\n\r\n/workspace/astropy__astropy__4.3/astropy/_dev:\r\n__init__.py  scm_version.py\r\n\r\n/workspace/astropy__astropy__4.3/astropy/_erfa:\r\n__init__.py\r\n\r\n/workspace/astropy__astropy__4.3/astropy/config:\r\n__init__.py  affiliated.py  configuration.py  paths.py\ttests\r\n\r\n/workspace/astropy__astropy__4.3/astropy/config/tests:\r\n__init__.py  data  test_configs.py\r\n\r\n/workspace/astropy__astropy__4.3/astropy/config/tests/data:\r\nalias.cfg  deprecated.cfg  empty.cfg  not_empty.cfg\r\n\r\n/workspace/astropy__astropy__4.3/astropy/constants:\r\n__init__.py\t   astropyconst40.py  codata2014.py  constant.py  si.py\r\nastropyconst13.py  cgs.py\t      codata2018.py  iau2012.py   tests\r\nastropyconst20.py  codata2010.py      config.py      iau2015.py   utils.py\r\n\r\n/workspace/astropy__astropy__4.3/astropy/constants/tests:\r\n__init__.py\t  test_pickle.py\t test_sciencestate.py\r\ntest_constant.py  test_prior_version.py\r\n\r\n/workspace/astropy__astropy__4.3/astropy/convolution:\r\n__init__.py\t\t\t\t  core.py\t    tests\r\n__pycache__\t\t\t\t  kernels.py\t    utils.py\r\n_convolve.cpython-39-x86_64-linux-gnu.so  setup_package.py\r\nconvolve.py\t\t\t\t  src\r\n\r\n/workspace/astropy__astropy__4.3/astropy/convolution/__pycache__:\r\nsetup_package.cpython-39.pyc\r\n\r\n/workspace/astropy__astropy__4.3/astropy/convolution/src:\r\nconvolve.c  convolve.h\r\n\r\n/workspace/astropy__astropy__4.3/astropy/convolution/tests:\r\n__init__.py\t\t  test_convolve_models.py  test_kernel_class.py\r\ntest_convolve.py\t  test_convolve_nddata.py  test_pickle.py\r\ntest_convolve_fft.py\t  test_convolve_speeds.py\r\ntest_convolve_kernels.py  test_discretize.py\r\n\r\n/workspace/astropy__astropy__4.3/astropy/coordinates:\r\n__init__.py\t    distances.py\t  representation.py\r\nangle_formats.py    earth.py\t\t  sites.py\r\nangle_lextab.py     earth_orientation.py  sky_coordinate.py\r\nangle_parsetab.py   erfa_astrom.py\t  sky_coordinate_parsers.py\r\nangle_utilities.py  errors.py\t\t  solar_system.py\r\nangles.py\t    funcs.py\t\t  spectral_coordinate.py\r\nattributes.py\t    jparser.py\t\t  spectral_quantity.py\r\nbaseframe.py\t    matching.py\t\t  tests\r\nbuiltin_frames\t    matrix_utilities.py   transformations.py\r\ncalculation.py\t    name_resolve.py\r\ndata\t\t    orbital_elements.py\r\n\r\n/workspace/astropy__astropy__4.3/astropy/coordinates/builtin_frames:\r\n__init__.py\t\t     gcrs.py\r\naltaz.py\t\t     hadec.py\r\nbaseradec.py\t\t     hcrs.py\r\ncirs.py\t\t\t     icrs.py\r\ncirs_observed_transforms.py  icrs_cirs_transforms.py\r\necliptic.py\t\t     icrs_fk5_transforms.py\r\necliptic_transforms.py\t     icrs_observed_transforms.py\r\nequatorial.py\t\t     intermediate_rotation_transforms.py\r\nfk4.py\t\t\t     itrs.py\r\nfk4_fk5_transforms.py\t     lsr.py\r\nfk5.py\t\t\t     skyoffset.py\r\ngalactic.py\t\t     supergalactic.py\r\ngalactic_transforms.py\t     supergalactic_transforms.py\r\ngalactocentric.py\t     utils.py\r\n\r\n/workspace/astropy__astropy__4.3/astropy/coordinates/data:\r\nconstellation_data_roman87.dat\tconstellation_names.dat  sites.json\r\n\r\n/workspace/astropy__astropy__4.3/astropy/coordinates/tests:\r\n__init__.py\t\t\t       test_matching.py\r\naccuracy\t\t\t       test_matrix_utilities.py\r\ntest_angle_generators.py\t       test_name_resolve.py\r\ntest_angles.py\t\t\t       test_pickle.py\r\ntest_angular_separation.py\t       test_regression.py\r\ntest_api_ape5.py\t\t       test_representation.py\r\ntest_arrays.py\t\t\t       test_representation_arithmetic.py\r\ntest_atc_replacements.py\t       test_representation_methods.py\r\ntest_celestial_transformations.py      test_shape_manipulation.py\r\ntest_distance.py\t\t       test_sites.py\r\ntest_earth.py\t\t\t       test_sky_coord.py\r\ntest_erfa_astrom.py\t\t       test_sky_coord_velocities.py\r\ntest_finite_difference_velocities.py   test_skyoffset_transformations.py\r\ntest_formatting.py\t\t       test_solar_system.py\r\ntest_frames.py\t\t\t       test_spectral_coordinate.py\r\ntest_frames_with_velocity.py\t       test_spectral_quantity.py\r\ntest_funcs.py\t\t\t       test_transformations.py\r\ntest_geodetic_representations.py       test_unit_representation.py\r\ntest_iau_fullstack.py\t\t       test_utils.py\r\ntest_icrs_observed_transformations.py  test_velocity_corrs.py\r\ntest_intermediate_transformations.py\r\n\r\n/workspace/astropy__astropy__4.3/astropy/coordinates/tests/accuracy:\r\n__init__.py\t\t       test_altaz_icrs.py    test_galactic_fk4.py\r\ndata\t\t\t       test_ecliptic.py      test_icrs_fk5.py\r\ngenerate_ref_ast.py\t       test_fk4_no_e_fk4.py\r\ngenerate_spectralcoord_ref.py  test_fk4_no_e_fk5.py\r\n\r\n/workspace/astropy__astropy__4.3/astropy/coordinates/tests/accuracy/data:\r\nfk4_no_e_fk4.csv  fk4_no_e_fk5.csv  galactic_fk4.csv  icrs_fk5.csv  rv.ecsv\r\n\r\n/workspace/astropy__astropy__4.3/astropy/cosmology:\r\n__init__.py   parameters.py\r\nconnect.py    realizations.py\r\ncore.py       scalar_inv_efuncs.c\r\ndata\t      scalar_inv_efuncs.cpython-39-x86_64-linux-gnu.so\r\nflrw.py       scalar_inv_efuncs.pyx\r\nfuncs.py      tests\r\nio\t      units.py\r\nparameter.py  utils.py\r\n\r\n/workspace/astropy__astropy__4.3/astropy/cosmology/data:\r\nPlanck13.ecsv  Planck18.ecsv  WMAP3.ecsv  WMAP7.ecsv\r\nPlanck15.ecsv  WMAP1.ecsv     WMAP5.ecsv  WMAP9.ecsv\r\n\r\n/workspace/astropy__astropy__4.3/astropy/cosmology/io:\r\n__init__.py   ecsv.py\t  model.py  table.py  utils.py\r\ncosmology.py  mapping.py  row.py    tests     yaml.py\r\n\r\n/workspace/astropy__astropy__4.3/astropy/cosmology/io/tests:\r\n__init__.py  test_cosmology.py\ttest_json.py\t test_model.py\ttest_table.py\r\nbase.py      test_ecsv.py\ttest_mapping.py  test_row.py\ttest_yaml.py\r\n\r\n/workspace/astropy__astropy__4.3/astropy/cosmology/tests:\r\n__init__.py\t test_core.py\t    test_parameter.py\t  test_utils.py\r\nconftest.py\t test_cosmology.py  test_parameters.py\r\nmypackage\t test_flrw.py\t    test_realizations.py\r\ntest_connect.py  test_funcs.py\t    test_units.py\r\n\r\n/workspace/astropy__astropy__4.3/astropy/cosmology/tests/mypackage:\r\n__init__.py  cosmology.py  io\r\n\r\n/workspace/astropy__astropy__4.3/astropy/cosmology/tests/mypackage/io:\r\n__init__.py  astropy_convert.py  astropy_io.py\tcore.py  tests\r\n\r\n/workspace/astropy__astropy__4.3/astropy/cosmology/tests/mypackage/io/tests:\r\n__init__.py  conftest.py  test_astropy_convert.py  test_astropy_io.py\r\n\r\n/workspace/astropy__astropy__4.3/astropy/extern:\r\nREADME.rst  __init__.py  _strptime.py  configobj  jquery  ply\r\n\r\n/workspace/astropy__astropy__4.3/astropy/extern/configobj:\r\n__init__.py  configobj.py  validate.py\r\n\r\n/workspace/astropy__astropy__4.3/astropy/extern/jquery:\r\n__init__.py  data\r\n\r\n/workspace/astropy__astropy__4.3/astropy/extern/jquery/data:\r\ncss  images  js\r\n\r\n/workspace/astropy__astropy__4.3/astropy/extern/jquery/data/css:\r\njquery.dataTables.css\r\n\r\n/workspace/astropy__astropy__4.3/astropy/extern/jquery/data/images:\r\nsort_asc.png\t       sort_both.png  sort_desc_disabled.png\r\nsort_asc_disabled.png  sort_desc.png\r\n\r\n/workspace/astropy__astropy__4.3/astropy/extern/jquery/data/js:\r\njquery-3.1.1.js      jquery.dataTables.js\r\njquery-3.1.1.min.js  jquery.dataTables.min.js\r\n\r\n/workspace/astropy__astropy__4.3/astropy/extern/ply:\r\n__init__.py  cpp.py  ctokens.py  lex.py  yacc.py  ygen.py\r\n\r\n/workspace/astropy__astropy__4.3/astropy/io:\r\n__init__.py  ascii  fits  misc\tregistry  tests  votable\r\n\r\n/workspace/astropy__astropy__4.3/astropy/io/ascii:\r\n__init__.py  cparser.cpython-39-x86_64-linux-gnu.so  html.py   setup_package.py\r\n__pycache__  cparser.pyx\t\t\t     ipac.py   sextractor.py\r\nbasic.py     daophot.py\t\t\t\t     latex.py  src\r\ncds.py\t     docs.py\t\t\t\t     misc.py   tests\r\nconnect.py   ecsv.py\t\t\t\t     mrt.py    ui.py\r\ncore.py      fastbasic.py\t\t\t     qdp.py\r\ncparser.c    fixedwidth.py\t\t\t     rst.py\r\n\r\n/workspace/astropy__astropy__4.3/astropy/io/ascii/__pycache__:\r\nsetup_package.cpython-39.pyc\r\n\r\n/workspace/astropy__astropy__4.3/astropy/io/ascii/src:\r\ntokenizer.c  tokenizer.h\r\n\r\n/workspace/astropy__astropy__4.3/astropy/io/ascii/tests:\r\n__init__.py\t\t\ttest_compressed.py\t  test_qdp.py\r\ncommon.py\t\t\ttest_connect.py\t\t  test_read.py\r\ndata\t\t\t\ttest_ecsv.py\t\t  test_rst.py\r\ntest_c_reader.py\t\ttest_fixedwidth.py\t  test_types.py\r\ntest_cds.py\t\t\ttest_html.py\t\t  test_write.py\r\ntest_cds_header_from_readme.py\ttest_ipac_definitions.py\r\n\r\n/workspace/astropy__astropy__4.3/astropy/io/ascii/tests/data:\r\napostrophe.rdb\t\thtml.html\t\t    short.rdb.gz\r\napostrophe.tab\t\thtml2.html\t\t    short.rdb.xz\r\nbad.txt\t\t\tipac.dat\t\t    short.tab\r\nbars_at_ends.txt\tipac.dat.bz2\t\t    simple.txt\r\ncds\t\t\tipac.dat.xz\t\t    simple2.txt\r\ncds.dat\t\t\tlatex1.tex\t\t    simple3.txt\r\ncds2.dat\t\tlatex1.tex.gz\t\t    simple4.txt\r\ncdsFunctional.dat\tlatex2.tex\t\t    simple5.txt\r\ncdsFunctional2.dat\tlatex3.tex\t\t    simple_csv.csv\r\ncds_malformed.dat\tnls1_stackinfo.dbout\t    simple_csv_missing.csv\r\ncommented_header.dat\tno_data_cds.dat\t\t    space_delim_blank_lines.txt\r\ncommented_header2.dat\tno_data_daophot.dat\t    space_delim_no_header.dat\r\nconf_py.txt\t\tno_data_ipac.dat\t    space_delim_no_names.dat\r\ncontinuation.dat\tno_data_sextractor.dat\t    subtypes.ecsv\r\ndaophot.dat\t\tno_data_with_header.dat     test4.dat\r\ndaophot.dat.gz\t\tno_data_without_header.dat  test5.dat\r\ndaophot2.dat\t\tsextractor.dat\t\t    vizier\r\ndaophot3.dat\t\tsextractor2.dat\t\t    vots_spec.dat\r\ndaophot4.dat\t\tsextractor3.dat\t\t    whitespace.dat\r\nfill_values.txt\t\tshort.rdb\r\nfixed_width_2_line.txt\tshort.rdb.bz2\r\n\r\n/workspace/astropy__astropy__4.3/astropy/io/ascii/tests/data/cds:\r\ndescription  glob  multi  null\r\n\r\n/workspace/astropy__astropy__4.3/astropy/io/ascii/tests/data/cds/description:\r\nReadMe\ttable.dat\r\n\r\n/workspace/astropy__astropy__4.3/astropy/io/ascii/tests/data/cds/glob:\r\nReadMe\tlmxbrefs.dat\r\n\r\n/workspace/astropy__astropy__4.3/astropy/io/ascii/tests/data/cds/multi:\r\nReadMe\tlhs2065.dat  lp944-20.dat\r\n\r\n/workspace/astropy__astropy__4.3/astropy/io/ascii/tests/data/cds/null:\r\nReadMe\tReadMe1  table.dat\r\n\r\n/workspace/astropy__astropy__4.3/astropy/io/ascii/tests/data/vizier:\r\nReadMe\ttable1.dat  table5.dat\r\n\r\n/workspace/astropy__astropy__4.3/astropy/io/fits:\r\n__init__.py\t\t\t\t    connect.py\t    scripts\r\n__pycache__\t\t\t\t    convenience.py  setup_package.py\r\n_utils.c\t\t\t\t    diff.py\t    src\r\n_utils.cpython-39-x86_64-linux-gnu.so\t    file.py\t    tests\r\n_utils.pyx\t\t\t\t    fitsrec.py\t    util.py\r\ncard.py\t\t\t\t\t    fitstime.py     verify.py\r\ncolumn.py\t\t\t\t    hdu\r\ncompression.cpython-39-x86_64-linux-gnu.so  header.py\r\n\r\n/workspace/astropy__astropy__4.3/astropy/io/fits/__pycache__:\r\nsetup_package.cpython-39.pyc\r\n\r\n/workspace/astropy__astropy__4.3/astropy/io/fits/hdu:\r\n__init__.py  compressed.py  hdulist.py\tnonstandard.py\ttable.py\r\nbase.py      groups.py\t    image.py\tstreaming.py\r\n\r\n/workspace/astropy__astropy__4.3/astropy/io/fits/scripts:\r\n__init__.py  fitscheck.py  fitsdiff.py\tfitsheader.py  fitsinfo.py\r\n\r\n/workspace/astropy__astropy__4.3/astropy/io/fits/src:\r\ncompressionmodule.c  compressionmodule.h\r\n\r\n/workspace/astropy__astropy__4.3/astropy/io/fits/tests:\r\n__init__.py\t\t      test_division.py\t  test_image.py\r\ncfitsio_verify.c\t      test_fitscheck.py   test_image_dask.py\r\ndata\t\t\t      test_fitsdiff.py\t  test_nonstandard.py\r\ntest_checksum.py\t      test_fitsheader.py  test_structured.py\r\ntest_compression_failures.py  test_fitsinfo.py\t  test_table.py\r\ntest_connect.py\t\t      test_fitstime.py\t  test_uint.py\r\ntest_convenience.py\t      test_groups.py\t  test_util.py\r\ntest_core.py\t\t      test_hdulist.py\r\ntest_diff.py\t\t      test_header.py\r\n\r\n/workspace/astropy__astropy__4.3/astropy/io/fits/tests/data:\r\narange.fits\t\t     compressed_image.fits  stddata.fits\r\nascii.fits\t\t     double_ext.fits\t    table.fits\r\nascii_i4-i20.fits\t     fixed-1890.fits\t    tb.fits\r\nblank.fits\t\t     group.fits\t\t    tdim.fits\r\nbtable.fits\t\t     history_header.fits    test0.fits\r\nchandra_time.fits\t     invalid\t\t    test1.fits\r\nchecksum.fits\t\t     memtest.fits\t    theap-gap.fits\r\nchecksum_false.fits\t     o4sp040b0_raw.fits     variable_length_table.fits\r\ncomp.fits\t\t     random_groups.fits     verify.fits\r\ncompressed_float_bzero.fits  scale.fits\t\t    zerowidth.fits\r\n\r\n/workspace/astropy__astropy__4.3/astropy/io/fits/tests/data/invalid:\r\ngroup_invalid.fits\r\n\r\n/workspace/astropy__astropy__4.3/astropy/io/misc:\r\n__init__.py  connect.py  pandas      pickle_helpers.py\tyaml.py\r\nasdf\t     hdf5.py\t parquet.py  tests\r\n\r\n/workspace/astropy__astropy__4.3/astropy/io/misc/asdf:\r\n__init__.py  connect.py  data  extension.py  tags  tests  types.py\r\n\r\n/workspace/astropy__astropy__4.3/astropy/io/misc/asdf/data:\r\nschemas\r\n\r\n/workspace/astropy__astropy__4.3/astropy/io/misc/asdf/data/schemas:\r\nastropy.org\r\n\r\n/workspace/astropy__astropy__4.3/astropy/io/misc/asdf/data/schemas/astropy.org:\r\nastropy\r\n\r\n/workspace/astropy__astropy__4.3/astropy/io/misc/asdf/data/schemas/astropy.org/astropy:\r\ncoordinates  fits  table  time\ttransform  units\r\n\r\n/workspace/astropy__astropy__4.3/astropy/io/misc/asdf/data/schemas/astropy.org/astropy/coordinates:\r\nangle-1.0.0.yaml\t  latitude-1.0.0.yaml\t     skycoord-1.0.0.yaml\r\nearthlocation-1.0.0.yaml  longitude-1.0.0.yaml\t     spectralcoord-1.0.0.yaml\r\nframes\t\t\t  representation-1.0.0.yaml\r\n\r\n/workspace/astropy__astropy__4.3/astropy/io/misc/asdf/data/schemas/astropy.org/astropy/coordinates/frames:\r\nbaseframe-1.0.0.yaml\tgalactocentric-1.0.0.yaml\r\ncirs-1.0.0.yaml\t\tgcrs-1.0.0.yaml\r\nfk4-1.0.0.yaml\t\ticrs-1.0.0.yaml\r\nfk4noeterms-1.0.0.yaml\ticrs-1.1.0.yaml\r\nfk5-1.0.0.yaml\t\titrs-1.0.0.yaml\r\ngalactic-1.0.0.yaml\tprecessedgeocentric-1.0.0.yaml\r\n\r\n/workspace/astropy__astropy__4.3/astropy/io/misc/asdf/data/schemas/astropy.org/astropy/fits:\r\nfits-1.0.0.yaml\r\n\r\n/workspace/astropy__astropy__4.3/astropy/io/misc/asdf/data/schemas/astropy.org/astropy/table:\r\ntable-1.0.0.yaml\r\n\r\n/workspace/astropy__astropy__4.3/astropy/io/misc/asdf/data/schemas/astropy.org/astropy/time:\r\ntimedelta-1.0.0.yaml\r\n\r\n/workspace/astropy__astropy__4.3/astropy/io/misc/asdf/data/schemas/astropy.org/astropy/transform:\r\nunits_mapping-1.0.0.yaml\r\n\r\n/workspace/astropy__astropy__4.3/astropy/io/misc/asdf/data/schemas/astropy.org/astropy/units:\r\nequivalency-1.0.0.yaml\r\n\r\n/workspace/astropy__astropy__4.3/astropy/io/misc/asdf/tags:\r\n__init__.py  coordinates  fits\thelpers.py  table  tests  time\ttransform  unit\r\n\r\n/workspace/astropy__astropy__4.3/astropy/io/misc/asdf/tags/coordinates:\r\n__init__.py  earthlocation.py  representation.py  spectralcoord.py\r\nangle.py     frames.py\t       skycoord.py\t  tests\r\n\r\n/workspace/astropy__astropy__4.3/astropy/io/misc/asdf/tags/coordinates/tests:\r\n__init__.py\t       test_fra\n[... Observation truncated due to length ...]\n04-66_AIT.hdr  1904-66_COE.hdr  1904-66_MOL.hdr  1904-66_STG.hdr\r\n1904-66_ARC.hdr  1904-66_COO.hdr  1904-66_NCP.hdr  1904-66_SZP.hdr\r\n1904-66_AZP.hdr  1904-66_COP.hdr  1904-66_PAR.hdr  1904-66_TAN.hdr\r\n1904-66_BON.hdr  1904-66_CSC.hdr  1904-66_PCO.hdr  1904-66_TSC.hdr\r\n1904-66_CAR.hdr  1904-66_CYP.hdr  1904-66_QSC.hdr  1904-66_ZEA.hdr\r\n1904-66_CEA.hdr  1904-66_HPX.hdr  1904-66_SFL.hdr  1904-66_ZPN.hdr\r\n\r\n/workspace/astropy__astropy__4.3/astropy/wcs/tests/data/spectra:\r\norion-freq-1.hdr  orion-velo-1.hdr  orion-wave-1.hdr\r\norion-freq-4.hdr  orion-velo-4.hdr  orion-wave-4.hdr\r\n\r\n/workspace/astropy__astropy__4.3/astropy/wcs/wcsapi:\r\n__init__.py  fitswcs.py\t\t\tlow_level_api.py\t utils.py\r\nconftest.py  high_level_api.py\t\tsliced_low_level_wcs.py  wrappers\r\ndata\t     high_level_wcs_wrapper.py\ttests\r\n\r\n/workspace/astropy__astropy__4.3/astropy/wcs/wcsapi/data:\r\nucds.txt\r\n\r\n/workspace/astropy__astropy__4.3/astropy/wcs/wcsapi/tests:\r\n__init__.py\t test_high_level_api.py\t\t test_low_level_api.py\r\ntest_fitswcs.py  test_high_level_wcs_wrapper.py  test_utils.py\r\n\r\n/workspace/astropy__astropy__4.3/astropy/wcs/wcsapi/wrappers:\r\n__init__.py  base.py  sliced_wcs.py  tests\r\n\r\n/workspace/astropy__astropy__4.3/astropy/wcs/wcsapi/wrappers/tests:\r\n__init__.py  test_sliced_wcs.py\r\n\r\n/workspace/astropy__astropy__4.3/astropy.egg-info:\r\nPKG-INFO     dependency_links.txt  not-zip-safe  top_level.txt\r\nSOURCES.txt  entry_points.txt\t   requires.txt\r\n\r\n/workspace/astropy__astropy__4.3/cextern:\r\nREADME.rst  expat\t     trim_expat.sh   wcslib\r\ncfitsio     trim_cfitsio.sh  trim_wcslib.sh\r\n\r\n/workspace/astropy__astropy__4.3/cextern/cfitsio:\r\nLicense.txt  README.txt  docs  lib  zlib\r\n\r\n/workspace/astropy__astropy__4.3/cextern/cfitsio/docs:\r\nchanges.txt\r\n\r\n/workspace/astropy__astropy__4.3/cextern/cfitsio/lib:\r\nbuffers.c    fits_hcompress.c\t getcolui.c    putcolb.c   region.c\r\ncfileio.c    fits_hdecompress.c  getcoluj.c    putcold.c   region.h\r\nchecksum.c   fitscore.c\t\t getcoluk.c    putcole.c   ricecomp.c\r\ndrvrfile.c   fitsio.h\t\t getkey.c      putcoli.c   scalnull.c\r\ndrvrmem.c    fitsio2.h\t\t group.c       putcolj.c   simplerng.c\r\ndrvrnet.c    getcol.c\t\t group.h       putcolk.c   simplerng.h\r\ndrvrsmem.c   getcolb.c\t\t grparser.c    putcoll.c   swapproc.c\r\ndrvrsmem.h   getcold.c\t\t grparser.h    putcols.c   wcssub.c\r\neditcol.c    getcole.c\t\t histo.c       putcolsb.c  wcsutil.c\r\nedithdu.c    getcoli.c\t\t imcompress.c  putcolu.c   zcompress.c\r\neval_defs.h  getcolj.c\t\t iraffits.c    putcolui.c  zuncompress.c\r\neval_f.c     getcolk.c\t\t longnam.h     putcoluj.c\r\neval_l.c     getcoll.c\t\t modkey.c      putcoluk.c\r\neval_tab.h   getcols.c\t\t pliocomp.c    putkey.c\r\neval_y.c     getcolsb.c\t\t putcol.c      quantize.c\r\n\r\n/workspace/astropy__astropy__4.3/cextern/cfitsio/zlib:\r\nadler32.c  deflate.c  inffast.c   inflate.c   inftrees.h  uncompr.c  zutil.c\r\ncrc32.c    deflate.h  inffast.h   inflate.h   trees.c\t  zconf.h    zutil.h\r\ncrc32.h    infback.c  inffixed.h  inftrees.c  trees.h\t  zlib.h\r\n\r\n/workspace/astropy__astropy__4.3/cextern/expat:\r\nAUTHORS  Changes    README.txt\t    expat_config.h.in\r\nCOPYING  README.md  expat_config.h  lib\r\n\r\n/workspace/astropy__astropy__4.3/cextern/expat/lib:\r\nMakefile.am  expat_external.h  libexpatw.def  xmlparse.c  xmltok_impl.c\r\nMakefile.in  iasciitab.h       nametab.h      xmlrole.c   xmltok_impl.h\r\nascii.h      internal.h        siphash.h      xmlrole.h   xmltok_ns.c\r\nasciitab.h   latin1tab.h       utf8tab.h      xmltok.c\r\nexpat.h      libexpat.def      winconfig.h    xmltok.h\r\n\r\n/workspace/astropy__astropy__4.3/cextern/wcslib:\r\nC\t\tINSTALL     configure\t    wcsconfig_f77.h.in\r\nCHANGES\t\tREADME\t    configure.ac    wcsconfig_tests.h.in\r\nCOPYING\t\tTHANKS\t    flavours\t    wcsconfig_utils.h.in\r\nCOPYING.LESSER\tVALIDATION  makedefs.in     wcslib.pc.in\r\nGNUmakefile\tconfig\t    wcsconfig.h.in\r\n\r\n/workspace/astropy__astropy__4.3/cextern/wcslib/C:\r\nGNUmakefile  flexed\t  prj.c  spx.h\t   wcserr.h   wcspih.l\t   wcsunits.h\r\ncel.c\t     getwcstab.c  prj.h  tab.c\t   wcsfix.c   wcsprintf.c  wcsutil.c\r\ncel.h\t     getwcstab.h  spc.c  tab.h\t   wcsfix.h   wcsprintf.h  wcsutil.h\r\ndis.c\t     lin.c\t  spc.h  wcs.c\t   wcshdr.c   wcstrig.c    wcsutrn.l\r\ndis.h\t     lin.h\t  sph.c  wcs.h\t   wcshdr.h   wcstrig.h    wtbarr.h\r\nfitshdr.h    log.c\t  sph.h  wcsbth.l  wcslib.h   wcsulex.l\r\nfitshdr.l    log.h\t  spx.c  wcserr.c  wcsmath.h  wcsunits.c\r\n\r\n/workspace/astropy__astropy__4.3/cextern/wcslib/C/flexed:\r\nREADME\tfitshdr.c  wcsbth.c  wcspih.c  wcsulex.c  wcsutrn.c\r\n\r\n/workspace/astropy__astropy__4.3/cextern/wcslib/config:\r\nconfig.guess  config.sub  install-sh\r\n\r\n/workspace/astropy__astropy__4.3/docs:\r\nMakefile\t  coordinates\t\t logging.rst\t     time\r\n_pkgtemplate.rst  cosmology\t\t lts_policy.rst      timeseries\r\n_static\t\t  credits.rst\t\t make.bat\t     uncertainty\r\n_templates\t  development\t\t modeling\t     units\r\nchangelog.rst\t  getting_started.rst\t nddata\t\t     utils\r\nchanges\t\t  glossary.rst\t\t nitpick-exceptions  visualization\r\ncommon_links.txt  importing_astropy.rst  overview.rst\t     warnings.rst\r\nconf.py\t\t  index.rst\t\t robots.txt\t     wcs\r\nconfig\t\t  install.rst\t\t samp\t\t     whatsnew\r\nconftest.py\t  io\t\t\t stats\r\nconstants\t  known_issues.rst\t table\r\nconvolution\t  license.rst\t\t testhelpers.rst\r\n\r\n/workspace/astropy__astropy__4.3/docs/_static:\r\nastropy_banner.svg  astropy_banner_96.png  astropy_logo.pdf\r\n\r\n/workspace/astropy__astropy__4.3/docs/_templates:\r\nlayout.html\r\n\r\n/workspace/astropy__astropy__4.3/docs/changes:\r\nREADME.rst   cosmology\tio.registry  stats\t   timeseries\t  wcs\r\nconfig\t     extern\tio.votable   table\t   uncertainty\r\nconstants    io.ascii\tmodeling     template.rst  units\r\nconvolution  io.fits\tnddata\t     tests\t   utils\r\ncoordinates  io.misc\tsamp\t     time\t   visualization\r\n\r\n/workspace/astropy__astropy__4.3/docs/changes/config:\r\n\r\n/workspace/astropy__astropy__4.3/docs/changes/constants:\r\n\r\n/workspace/astropy__astropy__4.3/docs/changes/convolution:\r\n\r\n/workspace/astropy__astropy__4.3/docs/changes/coordinates:\r\n\r\n/workspace/astropy__astropy__4.3/docs/changes/cosmology:\r\n12279.feature.rst  12479.feature.rst  12624.api.rst\t 12746.api.rst\r\n12313.feature.rst  12590.feature.rst  12710.feature.rst\r\n12354.api.rst\t   12606.feature.rst  12736.feature.rst\r\n12375.api.rst\t   12612.api.rst      12740.feature.rst\r\n\r\n/workspace/astropy__astropy__4.3/docs/changes/extern:\r\n\r\n/workspace/astropy__astropy__4.3/docs/changes/io.ascii:\r\n12631.bugfix.rst  12880.bugfix.rst\r\n\r\n/workspace/astropy__astropy__4.3/docs/changes/io.fits:\r\n11843.feature.rst  12258.api.rst\r\n\r\n/workspace/astropy__astropy__4.3/docs/changes/io.misc:\r\n10198.feature.rst  12800.bugfix.rst   12897.feature.rst\r\n12279.feature.rst  12895.feature.rst\r\n\r\n/workspace/astropy__astropy__4.3/docs/changes/io.registry:\r\n\r\n/workspace/astropy__astropy__4.3/docs/changes/io.votable:\r\n12604.bugfix.rst\r\n\r\n/workspace/astropy__astropy__4.3/docs/changes/modeling:\r\n12384.feature.rst  12558.feature.rst  12585.api.rst  12900.feature.rst\r\n\r\n/workspace/astropy__astropy__4.3/docs/changes/nddata:\r\n\r\n/workspace/astropy__astropy__4.3/docs/changes/samp:\r\n\r\n/workspace/astropy__astropy__4.3/docs/changes/stats:\r\n12896.bugfix.rst\r\n\r\n/workspace/astropy__astropy__4.3/docs/changes/table:\r\n12631.api.rst  12637.feature.rst  12716.bugfix.rst\r\n12637.api.rst  12680.feature.rst\r\n\r\n/workspace/astropy__astropy__4.3/docs/changes/tests:\r\n12633.api.1.rst  12633.api.2.rst  12633.api.3.rst  12633.api.4.rst\r\n\r\n/workspace/astropy__astropy__4.3/docs/changes/time:\r\n12888.api.rst\r\n\r\n/workspace/astropy__astropy__4.3/docs/changes/timeseries:\r\n\r\n/workspace/astropy__astropy__4.3/docs/changes/uncertainty:\r\n\r\n/workspace/astropy__astropy__4.3/docs/changes/units:\r\n12486.feature.rst  12566.feature.rst  12709.feature.rst\r\n\r\n/workspace/astropy__astropy__4.3/docs/changes/utils:\r\n\r\n/workspace/astropy__astropy__4.3/docs/changes/visualization:\r\n\r\n/workspace/astropy__astropy__4.3/docs/changes/wcs:\r\n12514.feature.rst  12844.bugfix.rst\r\n\r\n/workspace/astropy__astropy__4.3/docs/config:\r\nastropy_config.rst  index.rst\r\n\r\n/workspace/astropy__astropy__4.3/docs/constants:\r\nindex.rst  performance.inc.rst\r\n\r\n/workspace/astropy__astropy__4.3/docs/convolution:\r\nimages\t   kernels.rst\t\t       performance.inc.rst\r\nindex.rst  non_normalized_kernels.rst  using.rst\r\n\r\n/workspace/astropy__astropy__4.3/docs/convolution/images:\r\nastropy.png  original.png  scipy.png\r\n\r\n/workspace/astropy__astropy__4.3/docs/coordinates:\r\nangles.rst\t\tindex.rst\t     skycoord.rst\r\napply_space_motion.rst\tinplace.rst\t     solarsystem.rst\r\ncommon_errors.rst\tmatchsep.rst\t     spectralcoord.rst\r\ndefinitions.rst\t\tperformance.inc.rst  transforming.rst\r\nformatting.rst\t\tremote_methods.rst   velocities.rst\r\nframes.rst\t\trepresentations.rst\r\ngalactocentric.rst\tsatellites.rst\r\n\r\n/workspace/astropy__astropy__4.3/docs/cosmology:\r\ndev.rst  index.rst  io.rst  units.rst\r\n\r\n/workspace/astropy__astropy__4.3/docs/development:\r\nastropy-package-template.rst  docguide.rst     testguide.rst\r\nbuilding.rst\t\t      docrules.rst     vision.rst\r\nccython.rst\t\t      releasing.rst    when_to_rebase.rst\r\ncodeguide.rst\t\t      scripts.rst      workflow\r\ncodeguide_emacs.rst\t      style-guide.rst\r\n\r\n/workspace/astropy__astropy__4.3/docs/development/workflow:\r\nadditional_git_topics.rst\tgit_resources.rst\r\nbranch_dropdown.png\t\tlinks.inc\r\ndevelopment_workflow.rst\tmaintainer_workflow.rst\r\nforking_button.png\t\tpatches.rst\r\nget_devel_version.rst\t\tpull_button.png\r\ngit_edit_workflow_examples.rst\tthis_project.inc\r\ngit_install.rst\t\t\tvirtual_pythons.rst\r\ngit_links.inc\t\t\tworked_example_switch_branch.png\r\n\r\n/workspace/astropy__astropy__4.3/docs/io:\r\nascii  asdf-schemas.rst  fits  misc.rst  registry.rst  unified.rst  votable\r\n\r\n/workspace/astropy__astropy__4.3/docs/io/ascii:\r\nbase_classes.rst       fast_ascii_io.rst\tperformance.inc.rst  toc.txt\r\necsv.rst\t       fixed_width_gallery.rst\tread.rst\t     write.rst\r\nextension_classes.rst  index.rst\t\treferences.txt\r\n\r\n/workspace/astropy__astropy__4.3/docs/io/fits:\r\napi  appendix  index.rst  performance.inc.rst  usage\r\n\r\n/workspace/astropy__astropy__4.3/docs/io/fits/api:\r\ncards.rst  files.rst\t hdus.rst     images.rst  verification.rst\r\ndiff.rst   hdulists.rst  headers.rst  tables.rst\r\n\r\n/workspace/astropy__astropy__4.3/docs/io/fits/appendix:\r\nfaq.rst  header_transition.rst\thistory.rst\r\n\r\n/workspace/astropy__astropy__4.3/docs/io/fits/usage:\r\nheaders.rst  misc.rst\t  table.rst\t  verification.rst\r\nimage.rst    scripts.rst  unfamiliar.rst\r\n\r\n/workspace/astropy__astropy__4.3/docs/io/votable:\r\napi_exceptions.rst  index.rst  performance.inc.rst  references.txt\r\n\r\n/workspace/astropy__astropy__4.3/docs/modeling:\r\nadd-units.rst\t\t\t jointfitter.rst  physical_models.rst\r\ncompound-models.rst\t\t links.inc\t  polynomial_models.rst\r\nexample-fitting-constraints.rst  models.rst\t  predef_models1D.rst\r\nexample-fitting-line.rst\t new-fitter.rst   predef_models2D.rst\r\nexample-fitting-model-sets.rst\t new-model.rst\t  reference_api.rst\r\nfitting.rst\t\t\t parameters.rst   spline_models.rst\r\nindex.rst\t\t\t performance.rst  units.rst\r\n\r\n/workspace/astropy__astropy__4.3/docs/nddata:\r\nbitmask.rst  decorator.rst  index.rst  nddata.rst\t    subclassing.rst\r\nccddata.rst  examples\t    mixins     performance.inc.rst  utils.rst\r\n\r\n/workspace/astropy__astropy__4.3/docs/nddata/examples:\r\ncutout2d_tofits.py\r\n\r\n/workspace/astropy__astropy__4.3/docs/nddata/mixins:\r\nindex.rst  ndarithmetic.rst  ndio.rst  ndslicing.rst\r\n\r\n/workspace/astropy__astropy__4.3/docs/samp:\r\nadvanced_embed_samp_hub.rst  example_hub.rst\t      index.rst\r\nexample_clients.rst\t     example_table_image.rst  performance.inc.rst\r\n\r\n/workspace/astropy__astropy__4.3/docs/stats:\r\ncirc.rst  index.rst  performance.inc.rst  ripley.rst  robust.rst\r\n\r\n/workspace/astropy__astropy__4.3/docs/table:\r\naccess_table.rst\t    masking.rst\t\t table_architecture.png\r\nconstruct_table.rst\t    mixin_columns.rst\t table_repr_html.png\r\nimplementation_details.rst  modify_table.rst\t table_row.png\r\nindex.rst\t\t    operations.rst\t table_show_in_nb.png\r\nindexing.rst\t\t    pandas.rst\r\nio.rst\t\t\t    performance.inc.rst\r\n\r\n/workspace/astropy__astropy__4.3/docs/time:\r\nindex.rst\t     time_scale_conversion.odg\r\nperformance.inc.rst  time_scale_conversion.png\r\n\r\n/workspace/astropy__astropy__4.3/docs/timeseries:\r\nanalysis.rst  data_access.rst\tio.rst\t\t pandas.rst\r\nbinned.csv    index.rst\t\tlombscargle.rst  sampled.csv\r\nbls.rst       initializing.rst\tmasking.rst\t times.rst\r\n\r\n/workspace/astropy__astropy__4.3/docs/uncertainty:\r\nindex.rst  performance.inc.rst\r\n\r\n/workspace/astropy__astropy__4.3/docs/units:\r\ncombining_and_defining.rst     format.rst\t      quantity.rst\r\nconstants_versions.rst\t       index.rst\t      standard_units.rst\r\nconversion.rst\t\t       logarithmic_units.rst  structured_units.rst\r\ndecomposing_and_composing.rst  performance.inc.rst    type_hints.rst\r\nequivalencies.rst\t       physical_types.rst\r\n\r\n/workspace/astropy__astropy__4.3/docs/utils:\r\ndata.rst  iers.rst  index.rst  masked\r\n\r\n/workspace/astropy__astropy__4.3/docs/utils/masked:\r\nindex.rst\r\n\r\n/workspace/astropy__astropy__4.3/docs/visualization:\r\nhistogram.rst  matplotlib_integration.rst  performance.inc.rst\twcsaxes\r\nindex.rst      normalization.rst\t   rgb.rst\r\n\r\n/workspace/astropy__astropy__4.3/docs/visualization/wcsaxes:\r\ncontrolling_axes.rst\tinitializing_axes.rst\r\ncustom_frames.rst\toverlaying_coordinate_systems.rst\r\ngeneric_transforms.rst\toverlays.rst\r\nimages_contours.rst\tslicing_datacubes.rst\r\nindex.rst\t\tticks_labels_grid.rst\r\n\r\n/workspace/astropy__astropy__4.3/docs/wcs:\r\nexample_create_imaging.rst  loading_from_fits.rst  relax.rst\r\nexample_cube_wcs.rst\t    note_sip.rst\t   supported_projections.rst\r\nexamples\t\t    performance.inc.rst    validation.rst\r\nhistory.rst\t\t    reference_api.rst\t   wcsapi.rst\r\nindex.rst\t\t    references.rst\t   wcstools.rst\r\nlegacy_interface.rst\t    references.txt\r\n\r\n/workspace/astropy__astropy__4.3/docs/wcs/examples:\r\ncube_wcs.py  from_file.py  programmatic.py\r\n\r\n/workspace/astropy__astropy__4.3/docs/whatsnew:\r\n0.1.rst  0.4.rst  1.2.rst  3.0.rst  4.0.rst  4.3.rst  index.rst\r\n0.2.rst  1.0.rst  1.3.rst  3.1.rst  4.1.rst  5.0.rst\r\n0.3.rst  1.1.rst  2.0.rst  3.2.rst  4.2.rst  5.1.rst\r\n\r\n/workspace/astropy__astropy__4.3/examples:\r\nREADME.rst  coordinates  io  template\r\n\r\n/workspace/astropy__astropy__4.3/examples/coordinates:\r\nREADME.txt\t\t      plot_obs-planning.py\t    rv-to-gsr.py\r\nplot_galactocentric-frame.py  plot_sgr-coordinate-frame.py\r\n\r\n/workspace/astropy__astropy__4.3/examples/io:\r\nHs-2009-14-a-web.jpg  fits-tables.py\t     skip_create-large-fits.py\r\nREADME.txt\t      modify-fits-header.py  split-jpeg-to-fits.py\r\ncreate-mef.py\t      plot_fits-image.py\r\n\r\n/workspace/astropy__astropy__4.3/examples/template:\r\nexample-template.py\r\n\r\n/workspace/astropy__astropy__4.3/licenses:\r\nAURA_LICENSE.rst\tEXPAT_LICENSE.rst   PYFITS.rst\r\nCONFIGOBJ_LICENSE.rst\tJQUERY_LICENSE.rst  PYTHON.rst\r\nDATATABLES_LICENSE.rst\tNUMPY_LICENSE.rst   README.rst\r\nERFA.rst\t\tPLY_LICENSE.rst     WCSLIB_LICENSE.rst[Python Interpreter: /opt/miniconda3/envs/testbed/bin/python]\nroot@openhands-workspace:/workspace/astropy__astropy__4.3 # \n[Command finished with exit code 0]",
                }
            ],
            "role": "tool",
            "tool_call_id": "tooluse_UIDFPRc9TOSiuUZ0MWc7fA",
            "name": "execute_bash",
        },
    ],
    tools=[
        {
            "type": "function",
            "function": {
                "name": "execute_bash",
                "description": 'Execute a bash command in the terminal.\n* Long running commands: For commands that may run indefinitely, it should be run in the background and the output should be redirected to a file, e.g. command = `python3 app.py > server.log 2>&1 &`.\n* Interactive: If a bash command returns exit code `-1`, this means the process is not yet finished. The assistant must then send a second call to terminal with an empty `command` (which will retrieve any additional logs), or it can send additional text (set `command` to the text) to STDIN of the running process, or it can send command=`ctrl+c` to interrupt the process.\n* Timeout: If a command execution result says "Command timed out. Sending SIGINT to the process", the assistant should retry running the command in the background.\n',
                "parameters": {
                    "type": "object",
                    "properties": {
                        "command": {
                            "type": "string",
                            "description": "The bash command to execute. Can be empty to view additional logs when previous exit code is `-1`. Can be `ctrl+c` to interrupt the currently running process.",
                        }
                    },
                    "required": ["command"],
                },
            },
        },
        {
            "type": "function",
            "function": {
                "name": "finish",
                "description": "Finish the interaction when the task is complete OR if the assistant cannot proceed further with the task.",
            },
        },
        {
            "type": "function",
            "function": {
                "name": "str_replace_editor",
                "description": "Custom editing tool for viewing, creating and editing files\n* State is persistent across command calls and discussions with the user\n* If `path` is a file, `view` displays the result of applying `cat -n`. If `path` is a directory, `view` lists non-hidden files and directories up to 2 levels deep\n* The `create` command cannot be used if the specified `path` already exists as a file\n* If a `command` generates a long output, it will be truncated and marked with `<response clipped>`\n* The `undo_edit` command will revert the last edit made to the file at `path`\n\nNotes for using the `str_replace` command:\n* The `old_str` parameter should match EXACTLY one or more consecutive lines from the original file. Be mindful of whitespaces!\n* If the `old_str` parameter is not unique in the file, the replacement will not be performed. Make sure to include enough context in `old_str` to make it unique\n* The `new_str` parameter should contain the edited lines that should replace the `old_str`\n",
                "parameters": {
                    "type": "object",
                    "properties": {
                        "command": {
                            "description": "The commands to run. Allowed options are: `view`, `create`, `str_replace`, `insert`, `undo_edit`.",
                            "enum": [
                                "view",
                                "create",
                                "str_replace",
                                "insert",
                                "undo_edit",
                            ],
                            "type": "string",
                        },
                        "path": {
                            "description": "Absolute path to file or directory, e.g. `/repo/file.py` or `/repo`.",
                            "type": "string",
                        },
                        "file_text": {
                            "description": "Required parameter of `create` command, with the content of the file to be created.",
                            "type": "string",
                        },
                        "old_str": {
                            "description": "Required parameter of `str_replace` command containing the string in `path` to replace.",
                            "type": "string",
                        },
                        "new_str": {
                            "description": "Optional parameter of `str_replace` command containing the new string (if not given, no string will be added). Required parameter of `insert` command containing the string to insert.",
                            "type": "string",
                        },
                        "insert_line": {
                            "description": "Required parameter of `insert` command. The `new_str` will be inserted AFTER the line `insert_line` of `path`.",
                            "type": "integer",
                        },
                        "view_range": {
                            "description": "Optional parameter of `view` command when `path` points to a file. If none is given, the full file is shown. If provided, the file will be shown in the indicated line number range, e.g. [11, 12] will show lines 11 and 12. Indexing at 1 to start. Setting `[start_line, -1]` shows all lines from `start_line` to the end of the file.",
                            "items": {"type": "integer"},
                            "type": "array",
                        },
                    },
                    "required": ["command", "path"],
                },
            },
        },
    ],
)
print(res)

Twitter / LinkedIn details

No response

xingyaoww commented 3 weeks ago

FYI, i can send the exact same request to anthropic & it will be successful