ragfly-cli 1.17.3__tar.gz → 1.19.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ragfly_cli-1.19.0/PKG-INFO +127 -0
- ragfly_cli-1.19.0/README.md +107 -0
- {ragfly_cli-1.17.3 → ragfly_cli-1.19.0}/pyproject.toml +1 -1
- ragfly_cli-1.19.0/ragfly_cli/__init__.py +1 -0
- ragfly_cli-1.19.0/ragfly_cli/cli.py +799 -0
- ragfly_cli-1.19.0/ragfly_cli/cloud_commands.py +194 -0
- ragfly_cli-1.19.0/ragfly_cli.egg-info/PKG-INFO +127 -0
- {ragfly_cli-1.17.3 → ragfly_cli-1.19.0}/ragfly_cli.egg-info/SOURCES.txt +2 -1
- ragfly_cli-1.19.0/tests/test_agent_context_cli.py +123 -0
- ragfly_cli-1.17.3/PKG-INFO +0 -76
- ragfly_cli-1.17.3/README.md +0 -56
- ragfly_cli-1.17.3/ragfly_cli/__init__.py +0 -1
- ragfly_cli-1.17.3/ragfly_cli/cli.py +0 -1068
- ragfly_cli-1.17.3/ragfly_cli/cloud_commands.py +0 -226
- ragfly_cli-1.17.3/ragfly_cli.egg-info/PKG-INFO +0 -76
- {ragfly_cli-1.17.3 → ragfly_cli-1.19.0}/LICENSE +0 -0
- {ragfly_cli-1.17.3 → ragfly_cli-1.19.0}/ragfly_cli/__main__.py +0 -0
- {ragfly_cli-1.17.3 → ragfly_cli-1.19.0}/ragfly_cli/_http.py +0 -0
- {ragfly_cli-1.17.3 → ragfly_cli-1.19.0}/ragfly_cli/_runtime.py +0 -0
- {ragfly_cli-1.17.3 → ragfly_cli-1.19.0}/ragfly_cli/config.py +0 -0
- {ragfly_cli-1.17.3 → ragfly_cli-1.19.0}/ragfly_cli/grupo_activo.py +0 -0
- {ragfly_cli-1.17.3 → ragfly_cli-1.19.0}/ragfly_cli/keyring_store.py +0 -0
- {ragfly_cli-1.17.3 → ragfly_cli-1.19.0}/ragfly_cli/oop/__init__.py +0 -0
- {ragfly_cli-1.17.3 → ragfly_cli-1.19.0}/ragfly_cli/oop/cli_command.py +0 -0
- {ragfly_cli-1.17.3 → ragfly_cli-1.19.0}/ragfly_cli/oop/http_client.py +0 -0
- {ragfly_cli-1.17.3 → ragfly_cli-1.19.0}/ragfly_cli/version_check.py +0 -0
- {ragfly_cli-1.17.3 → ragfly_cli-1.19.0}/ragfly_cli.egg-info/dependency_links.txt +0 -0
- {ragfly_cli-1.17.3 → ragfly_cli-1.19.0}/ragfly_cli.egg-info/entry_points.txt +0 -0
- {ragfly_cli-1.17.3 → ragfly_cli-1.19.0}/ragfly_cli.egg-info/requires.txt +0 -0
- {ragfly_cli-1.17.3 → ragfly_cli-1.19.0}/ragfly_cli.egg-info/top_level.txt +0 -0
- {ragfly_cli-1.17.3 → ragfly_cli-1.19.0}/setup.cfg +0 -0
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: ragfly-cli
|
|
3
|
+
Version: 1.19.0
|
|
4
|
+
Summary: RAGfly CLI — operate RAGfly from the terminal and CI (login + cloud API). Lightweight, no desktop dependencies.
|
|
5
|
+
Author: CAB Ltda
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://ragfly.ai
|
|
8
|
+
Project-URL: Documentation, https://api.ragfly.ai/docs
|
|
9
|
+
Keywords: ragfly,rag,cli,retrieval,ai,mcp
|
|
10
|
+
Requires-Python: >=3.10
|
|
11
|
+
Description-Content-Type: text/markdown
|
|
12
|
+
License-File: LICENSE
|
|
13
|
+
Requires-Dist: click>=8.1
|
|
14
|
+
Requires-Dist: rich>=13.0
|
|
15
|
+
Requires-Dist: httpx>=0.27
|
|
16
|
+
Requires-Dist: keyring>=25.0
|
|
17
|
+
Requires-Dist: pydantic>=2.0
|
|
18
|
+
Requires-Dist: pydantic-settings>=2.6
|
|
19
|
+
Dynamic: license-file
|
|
20
|
+
|
|
21
|
+
# RAGfly CLI
|
|
22
|
+
|
|
23
|
+
Operate RAGfly from the terminal and CI — `login` + the full `cloud` API surface
|
|
24
|
+
against `api.ragfly.ai`. Lightweight: depends only on `click`, `rich`, `httpx`
|
|
25
|
+
and `keyring`. **No desktop / PySide6 / OCR dependencies.**
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
pip install ragfly-cli
|
|
29
|
+
ragfly version
|
|
30
|
+
ragfly login
|
|
31
|
+
ragfly cloud me
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
> This package ships the **`ragfly` binary** for scripting and automation.
|
|
35
|
+
> It is distinct from `pip install ragfly` (the **Python SDK**, import `import ragfly`)
|
|
36
|
+
> and from **RAGfly Desktop** (the DMG/exe that bundles the local file worker for
|
|
37
|
+
> `ragfly local scan/sync/daemon`).
|
|
38
|
+
|
|
39
|
+
## Authentication
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
# A person (JWT, stored in the OS keyring)
|
|
43
|
+
ragfly login
|
|
44
|
+
|
|
45
|
+
# Non-interactive / CI / agents (API key, only reaches /v1)
|
|
46
|
+
export RAGFLY_API_KEY=rf_xxxxxxxxxx
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
`cloud group` and `cloud api-key` manage a person's session and credentials: they
|
|
50
|
+
need `ragfly login`, and the server refuses them for an API key.
|
|
51
|
+
|
|
52
|
+
## `RAGFLY_ROOT` (optional) — open original files on disk
|
|
53
|
+
|
|
54
|
+
Searching, asking and citing need zero extra config. Only if a script or agent
|
|
55
|
+
on this machine must open the **original file** on disk, set `RAGFLY_ROOT` once:
|
|
56
|
+
it is the **parent folder** of the folder you selected when uploading your
|
|
57
|
+
documents via the web app. RAGfly never reads it nor stores your absolute
|
|
58
|
+
path — documents uploaded via browser carry a *relative* `ruta_archivo`, and
|
|
59
|
+
the real path is `$RAGFLY_ROOT + ruta_archivo`.
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
# Example: you uploaded /Users/ana/Dropbox/MisDocumentos → the PARENT is the root
|
|
63
|
+
echo 'export RAGFLY_ROOT="/Users/ana/Dropbox"' >> ~/.zshrc
|
|
64
|
+
# "/MisDocumentos/letras/cancion.txt" → /Users/ana/Dropbox/MisDocumentos/letras/cancion.txt
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Not needed for documents loaded via RAGfly Desktop (their paths are already
|
|
68
|
+
absolute). Step-by-step walkthrough:
|
|
69
|
+
<https://ragfly.ai/build/mcp#setting-up-ragfly_root--once-per-machine-in-3-steps>
|
|
70
|
+
|
|
71
|
+
## Command surface
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
ragfly
|
|
75
|
+
├── login / logout / version
|
|
76
|
+
└── cloud ← the English REST /v1 contract of api.ragfly.ai
|
|
77
|
+
├── me
|
|
78
|
+
├── group list | switch | clear (signed-in person)
|
|
79
|
+
├── api-key create | list | revoke (signed-in person)
|
|
80
|
+
├── document list | show | edges
|
|
81
|
+
├── space list | show
|
|
82
|
+
├── queue show | runs
|
|
83
|
+
├── skill list | show | run
|
|
84
|
+
├── catalog
|
|
85
|
+
├── function show
|
|
86
|
+
├── search
|
|
87
|
+
├── chat ask
|
|
88
|
+
├── agent context | tool
|
|
89
|
+
├── usage
|
|
90
|
+
├── conversation list | delete
|
|
91
|
+
├── process list | show | update
|
|
92
|
+
├── organization show | update | draft
|
|
93
|
+
└── operation list | show | run
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
Every operation of the RAGfly application is available through `cloud operation`,
|
|
97
|
+
with the same permissions and audit as the web app:
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
ragfly cloud operation list
|
|
101
|
+
ragfly cloud operation show document_types.update # input/output schema
|
|
102
|
+
ragfly cloud operation run document_types.update --input-json '{"code": "TDOC_...", "name": "Invoices"}'
|
|
103
|
+
|
|
104
|
+
# write_confirm operations (deletes, reverts, resets) only run with --confirm
|
|
105
|
+
ragfly cloud operation run document_types.delete --input-json @input.json --confirm
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
`--input-json` takes inline JSON, `@file` or `-` (stdin). Never put secrets in it.
|
|
109
|
+
Output is English end to end (`--status VECTORIZED`, `-o json | jq`).
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
ragfly cloud document list --status VECTORIZED --limit 20 -o id
|
|
113
|
+
ragfly cloud skill run SUMMARIZE_DOCUMENT --space 12
|
|
114
|
+
ragfly cloud search "Q1 revenue"
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
Full reference: <https://api.ragfly.ai/docs>.
|
|
118
|
+
|
|
119
|
+
> **Local operations** (`ragfly local scan/sync/daemon`) require the local file
|
|
120
|
+
> worker and ship with **RAGfly Desktop**, not with this package.
|
|
121
|
+
|
|
122
|
+
## Relation to RAGfly Desktop
|
|
123
|
+
|
|
124
|
+
RAGfly Desktop bundles its own `ragfly` binary with the local commands and a
|
|
125
|
+
signed-in person's session. This package is the standalone cloud surface: since
|
|
126
|
+
1.19.0 its `cloud` commands use only the public `/v1` contract, so they no longer
|
|
127
|
+
mirror the Desktop copy.
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
# RAGfly CLI
|
|
2
|
+
|
|
3
|
+
Operate RAGfly from the terminal and CI — `login` + the full `cloud` API surface
|
|
4
|
+
against `api.ragfly.ai`. Lightweight: depends only on `click`, `rich`, `httpx`
|
|
5
|
+
and `keyring`. **No desktop / PySide6 / OCR dependencies.**
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
pip install ragfly-cli
|
|
9
|
+
ragfly version
|
|
10
|
+
ragfly login
|
|
11
|
+
ragfly cloud me
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
> This package ships the **`ragfly` binary** for scripting and automation.
|
|
15
|
+
> It is distinct from `pip install ragfly` (the **Python SDK**, import `import ragfly`)
|
|
16
|
+
> and from **RAGfly Desktop** (the DMG/exe that bundles the local file worker for
|
|
17
|
+
> `ragfly local scan/sync/daemon`).
|
|
18
|
+
|
|
19
|
+
## Authentication
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
# A person (JWT, stored in the OS keyring)
|
|
23
|
+
ragfly login
|
|
24
|
+
|
|
25
|
+
# Non-interactive / CI / agents (API key, only reaches /v1)
|
|
26
|
+
export RAGFLY_API_KEY=rf_xxxxxxxxxx
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
`cloud group` and `cloud api-key` manage a person's session and credentials: they
|
|
30
|
+
need `ragfly login`, and the server refuses them for an API key.
|
|
31
|
+
|
|
32
|
+
## `RAGFLY_ROOT` (optional) — open original files on disk
|
|
33
|
+
|
|
34
|
+
Searching, asking and citing need zero extra config. Only if a script or agent
|
|
35
|
+
on this machine must open the **original file** on disk, set `RAGFLY_ROOT` once:
|
|
36
|
+
it is the **parent folder** of the folder you selected when uploading your
|
|
37
|
+
documents via the web app. RAGfly never reads it nor stores your absolute
|
|
38
|
+
path — documents uploaded via browser carry a *relative* `ruta_archivo`, and
|
|
39
|
+
the real path is `$RAGFLY_ROOT + ruta_archivo`.
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
# Example: you uploaded /Users/ana/Dropbox/MisDocumentos → the PARENT is the root
|
|
43
|
+
echo 'export RAGFLY_ROOT="/Users/ana/Dropbox"' >> ~/.zshrc
|
|
44
|
+
# "/MisDocumentos/letras/cancion.txt" → /Users/ana/Dropbox/MisDocumentos/letras/cancion.txt
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Not needed for documents loaded via RAGfly Desktop (their paths are already
|
|
48
|
+
absolute). Step-by-step walkthrough:
|
|
49
|
+
<https://ragfly.ai/build/mcp#setting-up-ragfly_root--once-per-machine-in-3-steps>
|
|
50
|
+
|
|
51
|
+
## Command surface
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
ragfly
|
|
55
|
+
├── login / logout / version
|
|
56
|
+
└── cloud ← the English REST /v1 contract of api.ragfly.ai
|
|
57
|
+
├── me
|
|
58
|
+
├── group list | switch | clear (signed-in person)
|
|
59
|
+
├── api-key create | list | revoke (signed-in person)
|
|
60
|
+
├── document list | show | edges
|
|
61
|
+
├── space list | show
|
|
62
|
+
├── queue show | runs
|
|
63
|
+
├── skill list | show | run
|
|
64
|
+
├── catalog
|
|
65
|
+
├── function show
|
|
66
|
+
├── search
|
|
67
|
+
├── chat ask
|
|
68
|
+
├── agent context | tool
|
|
69
|
+
├── usage
|
|
70
|
+
├── conversation list | delete
|
|
71
|
+
├── process list | show | update
|
|
72
|
+
├── organization show | update | draft
|
|
73
|
+
└── operation list | show | run
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Every operation of the RAGfly application is available through `cloud operation`,
|
|
77
|
+
with the same permissions and audit as the web app:
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
ragfly cloud operation list
|
|
81
|
+
ragfly cloud operation show document_types.update # input/output schema
|
|
82
|
+
ragfly cloud operation run document_types.update --input-json '{"code": "TDOC_...", "name": "Invoices"}'
|
|
83
|
+
|
|
84
|
+
# write_confirm operations (deletes, reverts, resets) only run with --confirm
|
|
85
|
+
ragfly cloud operation run document_types.delete --input-json @input.json --confirm
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
`--input-json` takes inline JSON, `@file` or `-` (stdin). Never put secrets in it.
|
|
89
|
+
Output is English end to end (`--status VECTORIZED`, `-o json | jq`).
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
ragfly cloud document list --status VECTORIZED --limit 20 -o id
|
|
93
|
+
ragfly cloud skill run SUMMARIZE_DOCUMENT --space 12
|
|
94
|
+
ragfly cloud search "Q1 revenue"
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
Full reference: <https://api.ragfly.ai/docs>.
|
|
98
|
+
|
|
99
|
+
> **Local operations** (`ragfly local scan/sync/daemon`) require the local file
|
|
100
|
+
> worker and ship with **RAGfly Desktop**, not with this package.
|
|
101
|
+
|
|
102
|
+
## Relation to RAGfly Desktop
|
|
103
|
+
|
|
104
|
+
RAGfly Desktop bundles its own `ragfly` binary with the local commands and a
|
|
105
|
+
signed-in person's session. This package is the standalone cloud surface: since
|
|
106
|
+
1.19.0 its `cloud` commands use only the public `/v1` contract, so they no longer
|
|
107
|
+
mirror the Desktop copy.
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "ragfly-cli"
|
|
7
|
-
version = "1.
|
|
7
|
+
version = "1.19.0"
|
|
8
8
|
description = "RAGfly CLI — operate RAGfly from the terminal and CI (login + cloud API). Lightweight, no desktop dependencies."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.10"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "1.19.0"
|