1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- import json
- import asyncclick as click
- from asyncclick import pass_context
- from cli.utils.timer import timer
- from r2r import R2RAsyncClient
- @click.group()
- def indices():
- """Indices commands."""
- pass
- @indices.command()
- @click.option(
- "--offset",
- default=0,
- help="The offset to start from. Defaults to 0.",
- )
- @click.option(
- "--limit",
- default=100,
- help="The maximum number of nodes to return. Defaults to 100.",
- )
- @pass_context
- async def list(ctx, offset, limit):
- """Get an overview of indices."""
- client: R2RAsyncClient = ctx.obj
- with timer():
- response = await client.indices.list(
- offset=offset,
- limit=limit,
- )
- for user in response["results"]:
- click.echo(json.dumps(user, indent=2))
- @indices.command()
- @click.argument("index_name", required=True, type=str)
- @click.argument("table_name", required=True, type=str)
- @pass_context
- async def retrieve(ctx, index_name, table_name):
- """Retrieve an index by name."""
- client: R2RAsyncClient = ctx.obj
- with timer():
- response = await client.indices.retrieve(
- index_name=index_name,
- table_name=table_name,
- )
- click.echo(json.dumps(response, indent=2))
- @indices.command()
- @click.argument("index_name", required=True, type=str)
- @click.argument("table_name", required=True, type=str)
- @pass_context
- async def delete(ctx, index_name, table_name):
- """Delete an index by name."""
- client: R2RAsyncClient = ctx.obj
- with timer():
- response = await client.indices.retrieve(
- index_name=index_name,
- table_name=table_name,
- )
- click.echo(json.dumps(response, indent=2))
- @indices.command()
- @click.argument("id", required=True, type=str)
- @pass_context
- async def list_branches(ctx, id):
- """List all branches in a conversation."""
- client: R2RAsyncClient = ctx.obj
- with timer():
- response = await client.indices.list_branches(
- id=id,
- )
- for user in response["results"]:
- click.echo(json.dumps(user, indent=2))
|