jvcli 2.0.18__py3-none-any.whl → 2.0.20__py3-none-any.whl
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.
- jvcli/__init__.py +1 -1
- jvcli/auth.py +23 -0
- jvcli/cli.py +4 -0
- jvcli/commands/clean.py +29 -0
- jvcli/commands/server.py +260 -0
- jvcli/commands/startproject.py +0 -1
- jvcli/templates/2.0.0/project/README.md +509 -16
- jvcli/templates/2.0.0/project/env.example +4 -3
- jvcli/utils.py +26 -0
- jvcli-2.0.20.dist-info/METADATA +644 -0
- {jvcli-2.0.18.dist-info → jvcli-2.0.20.dist-info}/RECORD +15 -20
- {jvcli-2.0.18.dist-info → jvcli-2.0.20.dist-info}/WHEEL +1 -1
- jvcli/templates/2.0.0/project/sh/exportenv.sh +0 -12
- jvcli/templates/2.0.0/project/sh/importagent.sh +0 -47
- jvcli/templates/2.0.0/project/sh/initagents.sh +0 -37
- jvcli/templates/2.0.0/project/sh/inituser.sh +0 -50
- jvcli/templates/2.0.0/project/sh/jacclean.sh +0 -11
- jvcli/templates/2.0.0/project/sh/serve.sh +0 -7
- jvcli/templates/2.0.0/project/sh/startclient.sh +0 -7
- jvcli-2.0.18.dist-info/METADATA +0 -128
- {jvcli-2.0.18.dist-info → jvcli-2.0.20.dist-info}/entry_points.txt +0 -0
- {jvcli-2.0.18.dist-info → jvcli-2.0.20.dist-info}/licenses/LICENSE +0 -0
- {jvcli-2.0.18.dist-info → jvcli-2.0.20.dist-info}/top_level.txt +0 -0
@@ -1,8 +1,8 @@
|
|
1
|
-
jvcli/__init__.py,sha256=
|
1
|
+
jvcli/__init__.py,sha256=7DZPxtJmca6a1wPs0ff-L6lGopkyfrLpndciskhCi8Q,171
|
2
2
|
jvcli/api.py,sha256=gd-EP1e75e7HijyrP-EF6i_jjCo6YUeSbm1l5daKLfQ,10352
|
3
|
-
jvcli/auth.py,sha256=
|
4
|
-
jvcli/cli.py,sha256=
|
5
|
-
jvcli/utils.py,sha256=
|
3
|
+
jvcli/auth.py,sha256=mHP425hvXhNxzeX--cApkrP7SdDPmfG6V0Li5TLHmIg,1953
|
4
|
+
jvcli/cli.py,sha256=ntTkriNGtfxFAdJw5ikdq2wD43pIqDpb7lfXsCMXOWQ,1191
|
5
|
+
jvcli/utils.py,sha256=rhXStZMsW7mMp5l0p_90c7G0p1FhfVB97Cr9zN1plds,8484
|
6
6
|
jvcli/client/__init__.py,sha256=WGP05OBzZHReqENYs1qYqMnYvgAaNVW6KvGQvyB3NGs,85
|
7
7
|
jvcli/client/app.py,sha256=bjdGY9J43qymdmODt0BgzN66Aolyo1653ZuCj_gNdKA,6184
|
8
8
|
jvcli/client/lib/__init__.py,sha256=_Wv8CNIxeIle_x0U9T6w9s5mPuOY9-0u69BvTEPXLUw,38
|
@@ -16,12 +16,14 @@ jvcli/client/pages/chat_page.py,sha256=HJC2GxqFQhaCyv-3GmrxY6hPsR-i3BjaJyZfxAEwI
|
|
16
16
|
jvcli/client/pages/graph_page.py,sha256=2ZN-C9eskqICgnZhfP1zc6YOPPsGib_WZw3xHXcA63k,491
|
17
17
|
jvcli/commands/__init__.py,sha256=bjZvM55MC2NugvRlxkEU9CDDP9NnsygcsGZewj1gQcg,57
|
18
18
|
jvcli/commands/auth.py,sha256=lO5G1_TCbxhOfy7xH9EULwvCLqf7iQTF9Q3MrpAtHPY,1611
|
19
|
+
jvcli/commands/clean.py,sha256=AOyssr5MZ_EJ0wW6Q8GoWQ7ve5OGke9W82GusBFoDCg,1006
|
19
20
|
jvcli/commands/client.py,sha256=yIp0wCmoxgxImJrpl0dH9qURGMcVKTxonVd1d-BdsxI,1432
|
20
21
|
jvcli/commands/create.py,sha256=HIL01nTcyEEXk4yLMwnPsRtj_cbhsuz2AEN2BwWeI-o,13393
|
21
22
|
jvcli/commands/download.py,sha256=GiLX_43CQOW9d5vF04fAszOWh3AB-7Mgote4tJ9RVng,3416
|
22
23
|
jvcli/commands/info.py,sha256=NyIDpR_AGMMSFPE0tFZv4dIuv_gwqrfd589zQAA_Q3s,2685
|
23
24
|
jvcli/commands/publish.py,sha256=q1ihoL42GmEsU5ggHN3bcg8QD26kjRUZGfQpRzI2GMo,6630
|
24
|
-
jvcli/commands/
|
25
|
+
jvcli/commands/server.py,sha256=9Ak9w9xENsYV_U2XQGAny8zc6iLfJSMc-cazjeD5Hs0,8136
|
26
|
+
jvcli/commands/startproject.py,sha256=5qis2Dhed-HhKqZ8e37Xpy__Rmqga8cTwAOmfGVPzmU,3375
|
25
27
|
jvcli/commands/studio.py,sha256=avD5M3Ss7R6AtUMN3Mk6AmTyPJ7LnXcmwQ0mbRzivrQ,8192
|
26
28
|
jvcli/commands/update.py,sha256=LwCLg-W1b8WSdFkiiJ8WwTit2HJXTLpM5OQ4WBTe9C4,1997
|
27
29
|
jvcli/studio/index.html,sha256=LGhVhKwe1FF_9r_PAG7J2ZPrRLFTwFH3PpCN_KdA-10,474
|
@@ -43,24 +45,17 @@ jvcli/templates/2.0.0/agent_descriptor.yaml,sha256=h6_pxmaP-oJqLDCHAyZ1ckETfWD6D
|
|
43
45
|
jvcli/templates/2.0.0/agent_info.yaml,sha256=3olXRQDQG-543o7zSWWT23kJsK29QGhdx6-tOLXvCk8,207
|
44
46
|
jvcli/templates/2.0.0/agent_knowledge.yaml,sha256=hI0ifr0ICiZGce-oUFovBOmDWxGU1Z2M10WyZH_wS2g,284
|
45
47
|
jvcli/templates/2.0.0/agent_memory.yaml,sha256=_MBgObZcW1UzwWuYQVJiPZ_7TvYbGrDgd-xMuzJEkVo,9
|
46
|
-
jvcli/templates/2.0.0/project/README.md,sha256=
|
47
|
-
jvcli/templates/2.0.0/project/env.example,sha256
|
48
|
+
jvcli/templates/2.0.0/project/README.md,sha256=QJmfVImxXIKWaj0u1crABJMLhGVgkTKZNVix8c0B-uE,17679
|
49
|
+
jvcli/templates/2.0.0/project/env.example,sha256=NPMIBv-v_uK5ZFM_-7_73hHrZae6QVOVgKbejI3ZUgs,1314
|
48
50
|
jvcli/templates/2.0.0/project/gitignore.example,sha256=KG1wl-o8ltNs4d8qCVgok5F2waUYqCJ5-HJq58Kh79I,530
|
49
51
|
jvcli/templates/2.0.0/project/globals.jac,sha256=CEt7L25wEZfE6TupqpM1ilHbtJMQQWExDQ5GJlkHPts,56
|
50
52
|
jvcli/templates/2.0.0/project/main.jac,sha256=r37jsaGq-85YvDbHP3bQvBXk0u8w0rtRTZTNxZOjTW0,48
|
51
53
|
jvcli/templates/2.0.0/project/actions/README.md,sha256=TU1t-rOBH5WQP_HUWaEBLq5BbPv4jejtjIrwTW4hZwM,1742
|
52
54
|
jvcli/templates/2.0.0/project/daf/README.md,sha256=fO-dcc3j-1E6sFagIvvJsISAth11N-2d64G0yHi7JrY,1682
|
53
|
-
jvcli/templates/2.0.0/project/sh/exportenv.sh,sha256=keFEu6HAROE8F9cOa5FxdIb2pryd22fED66rhaAvAuU,164
|
54
|
-
jvcli/templates/2.0.0/project/sh/importagent.sh,sha256=isDMHR8ZEJEuwAAfJRc0xWhw8xHWetQNMeUqxCDOqx8,1174
|
55
|
-
jvcli/templates/2.0.0/project/sh/initagents.sh,sha256=ZTgVT37Gkw-YOgesTOIUKC1fN_6omAJRvkbGRdbvtZA,983
|
56
|
-
jvcli/templates/2.0.0/project/sh/inituser.sh,sha256=BYvLfFZdL0n7AGmjmoTQQcb236f5wG68RMeVJiUyhFQ,1893
|
57
|
-
jvcli/templates/2.0.0/project/sh/jacclean.sh,sha256=xkC7KLjvvxz5YLdDBT8Js06nr6ru_9G8kYmp_3-kXks,260
|
58
|
-
jvcli/templates/2.0.0/project/sh/serve.sh,sha256=EsXOqszYD5xa8fjAEwyYCz8mSTX-v5VfiTZeKUpOKYw,105
|
59
|
-
jvcli/templates/2.0.0/project/sh/startclient.sh,sha256=3GbJtTxycLBUJGfX2_b3cfQoAPFzhvcJpWRtS2sSsRM,119
|
60
55
|
jvcli/templates/2.0.0/project/tests/README.md,sha256=-1ZXkxuUKa6tMw_jlF3rpCvUFq8ijW2L-nSuAkbCANo,917
|
61
|
-
jvcli-2.0.
|
62
|
-
jvcli-2.0.
|
63
|
-
jvcli-2.0.
|
64
|
-
jvcli-2.0.
|
65
|
-
jvcli-2.0.
|
66
|
-
jvcli-2.0.
|
56
|
+
jvcli-2.0.20.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
57
|
+
jvcli-2.0.20.dist-info/METADATA,sha256=gGszGZTT-H41S6IADbTnS_1VHAnXBaeDLSlsshwr-xI,21604
|
58
|
+
jvcli-2.0.20.dist-info/WHEEL,sha256=pxyMxgL8-pra_rKaQ4drOZAegBVuX-G_4nRHjjgWbmo,91
|
59
|
+
jvcli-2.0.20.dist-info/entry_points.txt,sha256=XunGcL0LWmIMIytaUckUA27czEf8M2Y4aTOfYIpOgrQ,42
|
60
|
+
jvcli-2.0.20.dist-info/top_level.txt,sha256=akZnN9Zy1dFT93N0ms-C8ZXUn-xlhq37nO3jSRp0Y6o,6
|
61
|
+
jvcli-2.0.20.dist-info/RECORD,,
|
@@ -1,47 +0,0 @@
|
|
1
|
-
#!/bin/bash
|
2
|
-
# Script to create jivas user, login, and initialize jivas graph
|
3
|
-
|
4
|
-
# Check if DAF_NAME is passed as a parameter
|
5
|
-
if [ -z "$1" ]; then
|
6
|
-
echo "Usage: $0 <DAF_NAME>"
|
7
|
-
exit 1
|
8
|
-
fi
|
9
|
-
|
10
|
-
DAF_NAME="$1"
|
11
|
-
|
12
|
-
# Export env vars
|
13
|
-
source ./sh/exportenv.sh
|
14
|
-
|
15
|
-
# Init the user token
|
16
|
-
source ./sh/inituser.sh
|
17
|
-
|
18
|
-
# Wait until JIVAS_TOKEN is set
|
19
|
-
while [ -z "$JIVAS_TOKEN" ]; do
|
20
|
-
echo "Waiting for JIVAS_TOKEN to be initialized..."
|
21
|
-
sleep 1
|
22
|
-
source ./sh/inituser.sh
|
23
|
-
done
|
24
|
-
|
25
|
-
# Check if JIVAS_TOKEN is set
|
26
|
-
if [ -n "$JIVAS_TOKEN" ]; then
|
27
|
-
|
28
|
-
echo -e "\n\nImporting agent...\n"
|
29
|
-
# Import the agent
|
30
|
-
AGENT_ID=$(curl --silent --show-error --no-progress-meter \
|
31
|
-
--request POST \
|
32
|
-
--header 'Content-Type: application/json' \
|
33
|
-
--header 'Accept: application/json' \
|
34
|
-
--header "Authorization: Bearer $JIVAS_TOKEN" \
|
35
|
-
--data "{\"daf_name\": \"$DAF_NAME\"}" \
|
36
|
-
"http://localhost:$JIVAS_PORT/walker/import_agent" | grep -o '"id":"[^"]*' | sed 's/"id":"//')
|
37
|
-
|
38
|
-
if [ -z "$AGENT_ID" ]; then
|
39
|
-
echo "Failed to import agent. Exiting..."
|
40
|
-
exit 1
|
41
|
-
fi
|
42
|
-
|
43
|
-
echo -e "Agent ID: $AGENT_ID\n"
|
44
|
-
else
|
45
|
-
echo "Failed to initialize user token. Exiting..."
|
46
|
-
exit 1
|
47
|
-
fi
|
@@ -1,37 +0,0 @@
|
|
1
|
-
#!/bin/bash
|
2
|
-
# Script to authenticate and initialize jivas agents
|
3
|
-
|
4
|
-
# Export env vars
|
5
|
-
source ./sh/exportenv.sh
|
6
|
-
|
7
|
-
# perform jac clean of actions
|
8
|
-
source ./sh/jacclean.sh
|
9
|
-
|
10
|
-
# Init the user token
|
11
|
-
source ./sh/inituser.sh
|
12
|
-
|
13
|
-
# Check if JIVAS_TOKEN is set
|
14
|
-
if [ -n "$JIVAS_TOKEN" ]; then
|
15
|
-
|
16
|
-
echo -e "\n\Initializing agents...\n"
|
17
|
-
|
18
|
-
# Initialize agents and capture the response
|
19
|
-
response=$(curl --silent --show-error --no-progress-meter \
|
20
|
-
--request POST \
|
21
|
-
-H 'accept: application/json' \
|
22
|
-
-H 'Content-Type: application/json' \
|
23
|
-
-H "Authorization: Bearer $JIVAS_TOKEN" \
|
24
|
-
--data '{"reporting":"true"}' \
|
25
|
-
"http://localhost:$JIVAS_PORT/walker/init_agents")
|
26
|
-
|
27
|
-
# Parse the response to extract the list of "id"s without using jq
|
28
|
-
ids=$(echo "$response" | grep -o '"id":"[^"]*"' | sed -e 's/"id":"//g' -e 's/"//g')
|
29
|
-
|
30
|
-
# Output the list of "id"s
|
31
|
-
echo "Initialized Agents:"
|
32
|
-
echo "$ids \n"
|
33
|
-
|
34
|
-
else
|
35
|
-
echo "Failed to initialize user token. Exiting..."
|
36
|
-
exit 1
|
37
|
-
fi
|
@@ -1,50 +0,0 @@
|
|
1
|
-
#!/bin/bash
|
2
|
-
# Script to init jivas user and grab token
|
3
|
-
|
4
|
-
# Check if required environment variables are set
|
5
|
-
if [ -z "$JIVAS_PORT" ] || [ -z "$JIVAS_PASSWORD" ] || [ -z "$JIVAS_USER" ]; then
|
6
|
-
echo "Required environment variables (JIVAS_PORT, JIVAS_PASSWORD, JIVAS_USER) are not set. Exiting..."
|
7
|
-
exit 1
|
8
|
-
fi
|
9
|
-
|
10
|
-
if lsof -i :$JIVAS_PORT >/dev/null || netstat -an | grep -q ":$JIVAS_PORT .*LISTEN"; then
|
11
|
-
|
12
|
-
# Try to login first
|
13
|
-
JIVAS_TOKEN=$(curl --silent --show-error --no-progress-meter \
|
14
|
-
--request POST \
|
15
|
-
--header 'Content-Type: application/json' \
|
16
|
-
--header 'Accept: application/json' \
|
17
|
-
--data '{"password": "'"$JIVAS_PASSWORD"'","email": "'"$JIVAS_USER"'"}' \
|
18
|
-
"http://localhost:$JIVAS_PORT/user/login" | grep -o '"token":"[^"]*' | sed 's/"token":"//')
|
19
|
-
|
20
|
-
# Check if login was successful
|
21
|
-
if [ -z "$JIVAS_TOKEN" ] || [ "$JIVAS_TOKEN" == "null" ]; then
|
22
|
-
echo "Login failed. Registering user..."
|
23
|
-
|
24
|
-
# Register user if login failed
|
25
|
-
curl --silent --show-error --no-progress-meter \
|
26
|
-
--request POST \
|
27
|
-
--header 'Content-Type: application/json' \
|
28
|
-
--header 'Accept: application/json' \
|
29
|
-
--data '{
|
30
|
-
"password": "'"$JIVAS_PASSWORD"'",
|
31
|
-
"email": "'"$JIVAS_USER"'"
|
32
|
-
}' \
|
33
|
-
"http://localhost:$JIVAS_PORT/user/register"
|
34
|
-
|
35
|
-
# Attempt to login again after registration
|
36
|
-
JIVAS_TOKEN=$(curl --silent --show-error --no-progress-meter \
|
37
|
-
--request POST \
|
38
|
-
--header 'Content-Type: application/json' \
|
39
|
-
--header 'Accept: application/json' \
|
40
|
-
--data '{"password": "'"$JIVAS_PASSWORD"'","email": "'"$JIVAS_USER"'"}' \
|
41
|
-
"http://localhost:$JIVAS_PORT/user/login" | grep -o '"token":"[^"]*' | sed 's/"token":"//')
|
42
|
-
fi
|
43
|
-
|
44
|
-
# Print token
|
45
|
-
echo "\n JIVAS token: $JIVAS_TOKEN"
|
46
|
-
|
47
|
-
else
|
48
|
-
echo "Server is not running on port $JIVAS_PORT. Exiting..."
|
49
|
-
exit 1
|
50
|
-
fi
|
@@ -1,11 +0,0 @@
|
|
1
|
-
#!/bin/bash
|
2
|
-
|
3
|
-
# perform a jac_clean on the actions folder
|
4
|
-
# Navigate to the ./actions subdirectory and execute jac clean
|
5
|
-
if cd ./actions; then
|
6
|
-
jac clean
|
7
|
-
cd - > /dev/null
|
8
|
-
else
|
9
|
-
echo "Failed to navigate to ./actions directory. Exiting..."
|
10
|
-
exit 1
|
11
|
-
fi
|
jvcli-2.0.18.dist-info/METADATA
DELETED
@@ -1,128 +0,0 @@
|
|
1
|
-
Metadata-Version: 2.4
|
2
|
-
Name: jvcli
|
3
|
-
Version: 2.0.18
|
4
|
-
Summary: CLI tool for Jivas Package Repository
|
5
|
-
Home-page: https://github.com/TrueSelph/jvcli
|
6
|
-
Author: TrueSelph Inc.
|
7
|
-
Author-email: admin@trueselph.com
|
8
|
-
Requires-Python: >=3.12
|
9
|
-
Description-Content-Type: text/markdown
|
10
|
-
License-File: LICENSE
|
11
|
-
Requires-Dist: click>=8.1.8
|
12
|
-
Requires-Dist: requests>=2.32.3
|
13
|
-
Requires-Dist: packaging>=24.2
|
14
|
-
Requires-Dist: pyaml>=25.1.0
|
15
|
-
Requires-Dist: jac-cloud==0.1.20
|
16
|
-
Requires-Dist: streamlit>=1.42.0
|
17
|
-
Requires-Dist: streamlit-elements>=0.1.0
|
18
|
-
Requires-Dist: streamlit-router>=0.1.8
|
19
|
-
Requires-Dist: streamlit-javascript>=0.1.5
|
20
|
-
Provides-Extra: dev
|
21
|
-
Requires-Dist: pre-commit; extra == "dev"
|
22
|
-
Requires-Dist: pytest; extra == "dev"
|
23
|
-
Requires-Dist: pytest-mock; extra == "dev"
|
24
|
-
Requires-Dist: pytest-cov; extra == "dev"
|
25
|
-
Dynamic: author
|
26
|
-
Dynamic: author-email
|
27
|
-
Dynamic: description
|
28
|
-
Dynamic: description-content-type
|
29
|
-
Dynamic: home-page
|
30
|
-
Dynamic: license-file
|
31
|
-
Dynamic: provides-extra
|
32
|
-
Dynamic: requires-dist
|
33
|
-
Dynamic: requires-python
|
34
|
-
Dynamic: summary
|
35
|
-
|
36
|
-
# JIVAS Command Line Interface (JVCLI)
|
37
|
-
|
38
|
-

|
39
|
-

|
40
|
-

|
41
|
-

|
42
|
-

|
43
|
-
|
44
|
-
`jvcli` is a powerful command-line interface tool designed to streamline interactions with the Jivas Package Repository ([https://jpr.trueselph.com/](https://jpr.trueselph.com/)). It simplifies package management, user authentication, and namespace operations, ensuring seamless software development and deployment. It allows you to create, publish, update, download, and get information about various resources such as actions and agents.
|
45
|
-
|
46
|
-
## Installation
|
47
|
-
|
48
|
-
To install `jvcli`, use `pip`:
|
49
|
-
|
50
|
-
```sh
|
51
|
-
pip install jvcli
|
52
|
-
```
|
53
|
-
|
54
|
-
## Usage
|
55
|
-
|
56
|
-
To use `jvcli`, you need to log in first:
|
57
|
-
|
58
|
-
```sh
|
59
|
-
jvcli login
|
60
|
-
```
|
61
|
-
|
62
|
-
After logging in, you can use any of the available commands. For example, to create a new action:
|
63
|
-
|
64
|
-
```sh
|
65
|
-
jvcli create action --name my_action --version 0.0.1 --description "My first action"
|
66
|
-
```
|
67
|
-
|
68
|
-
To publish an action:
|
69
|
-
|
70
|
-
```sh
|
71
|
-
jvcli publish action --path ./my_action --visibility public
|
72
|
-
```
|
73
|
-
|
74
|
-
To start a new project:
|
75
|
-
|
76
|
-
```sh
|
77
|
-
jvcli startproject my_project
|
78
|
-
```
|
79
|
-
|
80
|
-
For more detailed usage, refer to the help command:
|
81
|
-
|
82
|
-
```sh
|
83
|
-
jvcli --help
|
84
|
-
```
|
85
|
-
|
86
|
-
## 🔰 Contributing
|
87
|
-
|
88
|
-
- **🐛 [Report Issues](https://github.com/TrueSelph/jvcli/issues)**: Submit bugs found or log feature requests for the `jvcli` project.
|
89
|
-
- **💡 [Submit Pull Requests](https://github.com/TrueSelph/jvcli/blob/main/CONTRIBUTING.md)**: Review open PRs, and submit your own PRs.
|
90
|
-
|
91
|
-
<details closed>
|
92
|
-
<summary>Contributing Guidelines</summary>
|
93
|
-
|
94
|
-
1. **Fork the Repository**: Start by forking the project repository to your github account.
|
95
|
-
2. **Clone Locally**: Clone the forked repository to your local machine using a git client.
|
96
|
-
```sh
|
97
|
-
git clone https://github.com/TrueSelph/jvcli
|
98
|
-
```
|
99
|
-
3. **Create a New Branch**: Always work on a new branch, giving it a descriptive name.
|
100
|
-
```sh
|
101
|
-
git checkout -b new-feature-x
|
102
|
-
```
|
103
|
-
4. **Make Your Changes**: Develop and test your changes locally.
|
104
|
-
5. **Commit Your Changes**: Commit with a clear message describing your updates.
|
105
|
-
```sh
|
106
|
-
git commit -m 'Implemented new feature x.'
|
107
|
-
```
|
108
|
-
6. **Push to github**: Push the changes to your forked repository.
|
109
|
-
```sh
|
110
|
-
git push origin new-feature-x
|
111
|
-
```
|
112
|
-
7. **Submit a Pull Request**: Create a PR against the original project repository. Clearly describe the changes and their motivations.
|
113
|
-
8. **Review**: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution!
|
114
|
-
</details>
|
115
|
-
|
116
|
-
<details open>
|
117
|
-
<summary>Contributor Graph</summary>
|
118
|
-
<br>
|
119
|
-
<p align="left">
|
120
|
-
<a href="https://github.com/TrueSelph/jvcli/graphs/contributors">
|
121
|
-
<img src="https://contrib.rocks/image?repo=TrueSelph/jvcli" />
|
122
|
-
</a>
|
123
|
-
</p>
|
124
|
-
</details>
|
125
|
-
|
126
|
-
## 🎗 License
|
127
|
-
|
128
|
-
This project is protected under the Apache License 2.0. See [LICENSE](./LICENSE) for more information.
|
File without changes
|
File without changes
|
File without changes
|