jvcli 2.0.7__py3-none-any.whl → 2.0.9__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/client/app.py +27 -13
- jvcli/commands/startproject.py +19 -9
- jvcli/templates/2.0.0/project/README.md +43 -0
- jvcli/templates/2.0.0/project/actions/README.md +41 -0
- jvcli/templates/2.0.0/project/daf/README.md +39 -0
- jvcli/templates/2.0.0/project/env.example +1 -1
- jvcli/templates/2.0.0/project/sh/exportenv.sh +12 -0
- jvcli/templates/2.0.0/project/sh/importagent.sh +36 -0
- jvcli/templates/2.0.0/project/sh/initagents.sh +34 -0
- jvcli/templates/2.0.0/project/sh/inituser.sh +50 -0
- jvcli/templates/2.0.0/project/sh/serve.sh +7 -0
- jvcli/templates/2.0.0/project/sh/startclient.sh +7 -0
- jvcli/templates/2.0.0/project/tests/README.md +25 -0
- {jvcli-2.0.7.dist-info → jvcli-2.0.9.dist-info}/METADATA +1 -1
- {jvcli-2.0.7.dist-info → jvcli-2.0.9.dist-info}/RECORD +20 -10
- {jvcli-2.0.7.dist-info → jvcli-2.0.9.dist-info}/LICENSE +0 -0
- {jvcli-2.0.7.dist-info → jvcli-2.0.9.dist-info}/WHEEL +0 -0
- {jvcli-2.0.7.dist-info → jvcli-2.0.9.dist-info}/entry_points.txt +0 -0
- {jvcli-2.0.7.dist-info → jvcli-2.0.9.dist-info}/top_level.txt +0 -0
jvcli/__init__.py
CHANGED
jvcli/client/app.py
CHANGED
@@ -26,22 +26,36 @@ def login_form() -> None:
|
|
26
26
|
"""Render the login form and handle login logic."""
|
27
27
|
login_url = f"{JIVAS_URL}/user/login"
|
28
28
|
|
29
|
-
|
30
|
-
|
29
|
+
if os.environ.get("JIVAS_ENVIRONMENT") == "development":
|
30
|
+
email = os.environ.get("JIVAS_USER", "admin@jivas.com")
|
31
|
+
password = os.environ.get("JIVAS_PASSWORD", "password")
|
31
32
|
|
32
|
-
|
33
|
-
password = st.text_input("Password", type="password")
|
33
|
+
response = requests.post(login_url, json={"email": email, "password": password})
|
34
34
|
|
35
|
-
if
|
36
|
-
|
37
|
-
|
38
|
-
)
|
35
|
+
if response.status_code == 200:
|
36
|
+
st.session_state.ROOT_ID = response.json()["user"]["root_id"]
|
37
|
+
st.session_state.TOKEN = response.json()["token"]
|
38
|
+
st.session_state.EXPIRATION = response.json()["user"]["expiration"]
|
39
|
+
st.rerun()
|
40
|
+
|
41
|
+
else:
|
42
|
+
|
43
|
+
with st.container(border=True):
|
44
|
+
st.header("Login")
|
45
|
+
|
46
|
+
email = st.text_input("Email")
|
47
|
+
password = st.text_input("Password", type="password")
|
48
|
+
|
49
|
+
if st.button("Login"):
|
50
|
+
response = requests.post(
|
51
|
+
login_url, json={"email": email, "password": password}
|
52
|
+
)
|
39
53
|
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
54
|
+
if response.status_code == 200:
|
55
|
+
st.session_state.ROOT_ID = response.json()["user"]["root_id"]
|
56
|
+
st.session_state.TOKEN = response.json()["token"]
|
57
|
+
st.session_state.EXPIRATION = response.json()["user"]["expiration"]
|
58
|
+
st.rerun()
|
45
59
|
|
46
60
|
|
47
61
|
def main() -> None:
|
jvcli/commands/startproject.py
CHANGED
@@ -33,7 +33,7 @@ def startproject(project_name: str, version: str) -> None:
|
|
33
33
|
"tests": [],
|
34
34
|
"actions": [],
|
35
35
|
"daf": [],
|
36
|
-
"
|
36
|
+
"sh": [],
|
37
37
|
}
|
38
38
|
|
39
39
|
try:
|
@@ -44,18 +44,28 @@ def startproject(project_name: str, version: str) -> None:
|
|
44
44
|
for folder in project_structure.keys():
|
45
45
|
os.makedirs(os.path.join(project_name, folder), exist_ok=True)
|
46
46
|
|
47
|
-
# Copy template files from the selected version
|
48
|
-
for
|
49
|
-
|
50
|
-
|
47
|
+
# Copy template files and folders from the selected version
|
48
|
+
for root, dirs, files in os.walk(template_path):
|
49
|
+
relative_path = os.path.relpath(root, template_path)
|
50
|
+
target_dir = os.path.join(project_name, relative_path)
|
51
|
+
|
52
|
+
# Create directories
|
53
|
+
for dir_name in dirs:
|
54
|
+
os.makedirs(os.path.join(target_dir, dir_name), exist_ok=True)
|
55
|
+
|
56
|
+
# Copy files
|
57
|
+
for file_name in files:
|
58
|
+
template_file_path = os.path.join(root, file_name)
|
59
|
+
target_file_path = os.path.join(target_dir, file_name)
|
60
|
+
|
51
61
|
with open(template_file_path, "r") as template_file:
|
52
62
|
contents = template_file.read()
|
53
63
|
|
54
64
|
# Write `.env` instead of `env.example`
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
) as project_file:
|
65
|
+
if file_name == "env.example":
|
66
|
+
target_file_path = os.path.join(target_dir, ".env")
|
67
|
+
|
68
|
+
with open(target_file_path, "w") as project_file:
|
59
69
|
project_file.write(contents)
|
60
70
|
|
61
71
|
click.secho(
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# Getting Started with JIVAS
|
2
|
+
|
3
|
+
Welcome to your JIVAS AI project boilerplate!
|
4
|
+
|
5
|
+
## Running Your JIVAS App
|
6
|
+
|
7
|
+
To start your JIVAS app, execute the following command within this project folder:
|
8
|
+
|
9
|
+
```sh
|
10
|
+
sh sh/serve.sh
|
11
|
+
```
|
12
|
+
|
13
|
+
## Setting Up a Demo Agent
|
14
|
+
|
15
|
+
To set up a demo agent, run the following command in another terminal:
|
16
|
+
|
17
|
+
```sh
|
18
|
+
sh sh/importagent.sh
|
19
|
+
```
|
20
|
+
|
21
|
+
This will initialize JIVAS, download, and install a demo agent.
|
22
|
+
|
23
|
+
## Accessing the JIVAS Manager
|
24
|
+
|
25
|
+
Once the setup is complete, run the following command in its own terminal to access the JIVAS manager for configuring and chatting with your agent:
|
26
|
+
|
27
|
+
```sh
|
28
|
+
sh sh/startclient.sh
|
29
|
+
```
|
30
|
+
|
31
|
+
## Reflecting Changes to Agent Actions
|
32
|
+
|
33
|
+
If you make any changes to the agent actions, run the following command to reinitialize all agents running within this JIVAS app:
|
34
|
+
|
35
|
+
```sh
|
36
|
+
sh sh/initagents.sh
|
37
|
+
```
|
38
|
+
|
39
|
+
## Logging In
|
40
|
+
|
41
|
+
When the JIVAS manager loads, log in with the default JIVAS credentials found in your `.env` file.
|
42
|
+
|
43
|
+
Happy building!
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# Custom Actions
|
2
|
+
|
3
|
+
This directory is designated for custom or downloaded actions.
|
4
|
+
|
5
|
+
## Instructions
|
6
|
+
|
7
|
+
1. **Create Your Custom Actions**: Place your custom action scripts in this folder.
|
8
|
+
2. **Naming Convention**: Use clear and descriptive names for your action files to ensure they are easily identifiable.
|
9
|
+
3. **Permissions**: Ensure your scripts have the appropriate permissions to be executed.
|
10
|
+
|
11
|
+
## Creating a Custom Action with jvcli
|
12
|
+
|
13
|
+
To create a custom action using `jvcli`, follow these steps:
|
14
|
+
|
15
|
+
1. **Run the Command**: Use the following command to create a new action:
|
16
|
+
```sh
|
17
|
+
jvcli create action --name your_action_name --description "Your action description"
|
18
|
+
```
|
19
|
+
Replace `your_action_name` with the desired name for your action in snake_case.
|
20
|
+
|
21
|
+
2. **Options**: You can customize the creation process with various options:
|
22
|
+
- `--version`: Specify the version of the action. Default is `0.0.1`.
|
23
|
+
- `--jivas_version`: Specify the version of Jivas. Default is `2.0.0`.
|
24
|
+
- `--type`: Define the type of action (`action`, `interact_action`, or `vector_store_action`). Default is `action`.
|
25
|
+
- `--singleton`: Indicate if the action is singleton. Default is `True`.
|
26
|
+
- `--path`: Directory to create the action folder in. Default is `./actions`.
|
27
|
+
- `--namespace`: Namespace for the action. Defaults to the username in the token.
|
28
|
+
|
29
|
+
3. **Example**:
|
30
|
+
```sh
|
31
|
+
jvcli create action --name my_custom_action --description "This is a custom action" --type action
|
32
|
+
```
|
33
|
+
|
34
|
+
For more information, refer to the project's documentation.
|
35
|
+
|
36
|
+
## Notes
|
37
|
+
|
38
|
+
- Custom actions should be thoroughly tested before deployment.
|
39
|
+
- Follow best practices for scripting and error handling.
|
40
|
+
|
41
|
+
For more information, refer to the project's documentation.
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# Digital Agent Freight (DAF) Packages
|
2
|
+
|
3
|
+
This directory is for your custom or downloaded Digital Agent Freight (DAF) packages. DAFs contain all configurations, knowledge, and memory snapshots for a JIVAS AI agent.
|
4
|
+
|
5
|
+
## Instructions
|
6
|
+
|
7
|
+
1. **Create Your DAF Packages**: Place your custom or downloaded DAF packages in this folder.
|
8
|
+
2. **Naming Convention**: Use clear and descriptive names for your DAF packages to ensure they are easily identifiable.
|
9
|
+
3. **Permissions**: Ensure your packages have the appropriate permissions to be accessed and executed.
|
10
|
+
|
11
|
+
## Creating a Starter DAF Package with jvcli
|
12
|
+
|
13
|
+
To create a new DAF package using `jvcli`, follow these steps:
|
14
|
+
|
15
|
+
1. **Run the Command**: Use the following command to create a new DAF package:
|
16
|
+
```sh
|
17
|
+
jvcli create agent --name your_agent_name --description "Your agent description"
|
18
|
+
```
|
19
|
+
Replace `your_agent_name` with the desired name for your agent in snake_case.
|
20
|
+
|
21
|
+
2. **Options**: You can customize the creation process with various options:
|
22
|
+
- `--version`: Specify the version of the agent. Default is `0.0.1`.
|
23
|
+
- `--jivas_version`: Specify the version of Jivas. Default is `2.0.0`.
|
24
|
+
- `--path`: Directory to create the agent folder in. Default is `./dafs`.
|
25
|
+
- `--namespace`: Namespace for the agent. Defaults to the username in the token.
|
26
|
+
|
27
|
+
3. **Example**:
|
28
|
+
```sh
|
29
|
+
jvcli create agent --name my_agent --description "My custom JIVAS AI agent"
|
30
|
+
```
|
31
|
+
|
32
|
+
For more information, refer to the project's documentation.
|
33
|
+
|
34
|
+
## Notes
|
35
|
+
|
36
|
+
- DAF packages should be thoroughly tested before deployment.
|
37
|
+
- Follow best practices for configuration and error handling.
|
38
|
+
|
39
|
+
For more information, refer to the project's documentation.
|
@@ -3,7 +3,7 @@ JIVAS_PASSWORD=password
|
|
3
3
|
JIVAS_PORT=8000
|
4
4
|
JIVAS_BASE_URL=http://localhost:8000
|
5
5
|
JIVAS_STUDIO_URL=http://localhost:8989
|
6
|
-
JIVAS_FILES_URL=http://localhost:
|
6
|
+
JIVAS_FILES_URL=http://localhost:9000/files
|
7
7
|
JIVAS_DESCRIPTOR_ROOT_PATH=".jvdata"
|
8
8
|
JIVAS_ACTIONS_ROOT_PATH="actions"
|
9
9
|
JIVAS_DAF_ROOT_PATH="daf"
|
@@ -0,0 +1,36 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
# Script to create jivas user, login, and initialize jivas graph
|
3
|
+
|
4
|
+
# Export env vars
|
5
|
+
source sh/exportenv.sh
|
6
|
+
|
7
|
+
# Init the user token
|
8
|
+
source sh/inituser.sh
|
9
|
+
|
10
|
+
# Check if JIVAS_TOKEN is set
|
11
|
+
if [ -n "$JIVAS_TOKEN" ]; then
|
12
|
+
|
13
|
+
echo -e "\n\nImporting demo agent...\n"
|
14
|
+
# Import the agent
|
15
|
+
AGENT_ID=$(curl --silent --show-error --no-progress-meter \
|
16
|
+
--request POST \
|
17
|
+
--header 'Content-Type: application/json' \
|
18
|
+
--header 'Accept: application/json' \
|
19
|
+
--header "Authorization: Bearer $JIVAS_TOKEN" \
|
20
|
+
--data '{"daf_name": "jivas/eldon_ai"}' \
|
21
|
+
"http://localhost:$JIVAS_PORT/walker/import_agent" | grep -o '"id":"[^"]*' | sed 's/"id":"//')
|
22
|
+
|
23
|
+
if [ -z "$AGENT_ID" ]; then
|
24
|
+
echo "Failed to import agent. Exiting..."
|
25
|
+
exit 1
|
26
|
+
fi
|
27
|
+
|
28
|
+
echo -e "Agent ID: $AGENT_ID\n"
|
29
|
+
else
|
30
|
+
echo "Failed to initialize user token. Exiting..."
|
31
|
+
exit 1
|
32
|
+
fi
|
33
|
+
|
34
|
+
|
35
|
+
|
36
|
+
|
@@ -0,0 +1,34 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
# Script to authenticate and initialize jivas agents
|
3
|
+
|
4
|
+
# Export env vars
|
5
|
+
source sh/exportenv.sh
|
6
|
+
|
7
|
+
# Init the user token
|
8
|
+
source sh/inituser.sh
|
9
|
+
|
10
|
+
# Check if JIVAS_TOKEN is set
|
11
|
+
if [ -n "$JIVAS_TOKEN" ]; then
|
12
|
+
|
13
|
+
echo -e "\n\Initializing agents...\n"
|
14
|
+
|
15
|
+
# Initialize agents and capture the response
|
16
|
+
response=$(curl --silent --show-error --no-progress-meter \
|
17
|
+
--request POST \
|
18
|
+
-H 'accept: application/json' \
|
19
|
+
-H 'Content-Type: application/json' \
|
20
|
+
-H "Authorization: Bearer $JIVAS_TOKEN" \
|
21
|
+
--data '{"reporting":"true"}' \
|
22
|
+
"http://localhost:$JIVAS_PORT/walker/init_agents")
|
23
|
+
|
24
|
+
# Parse the response to extract the list of "id"s without using jq
|
25
|
+
ids=$(echo "$response" | grep -o '"id":"[^"]*"' | sed -e 's/"id":"//g' -e 's/"//g')
|
26
|
+
|
27
|
+
# Output the list of "id"s
|
28
|
+
echo "Initialized Agents:"
|
29
|
+
echo "$ids \n"
|
30
|
+
|
31
|
+
else
|
32
|
+
echo "Failed to initialize user token. Exiting..."
|
33
|
+
exit 1
|
34
|
+
fi
|
@@ -0,0 +1,50 @@
|
|
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; 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 -oP '(?<="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
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# Test Cases
|
2
|
+
|
3
|
+
This directory is designated for custom test cases.
|
4
|
+
|
5
|
+
## Instructions
|
6
|
+
|
7
|
+
1. **Create Your Test Cases**: Place your test case scripts in this folder.
|
8
|
+
2. **Naming Convention**: Use clear and descriptive names for your test files to ensure they are easily identifiable.
|
9
|
+
|
10
|
+
## Writing Test Cases
|
11
|
+
|
12
|
+
To write effective test cases, follow these guidelines:
|
13
|
+
|
14
|
+
1. **Define the Purpose**: Clearly state what the test case is verifying.
|
15
|
+
2. **Setup**: Prepare the necessary environment and inputs for the test.
|
16
|
+
3. **Execution**: Describe the steps to execute the test.
|
17
|
+
4. **Validation**: Specify the expected outcomes and how to validate them.
|
18
|
+
5. **Teardown**: Clean up any resources or state after the test completes.
|
19
|
+
|
20
|
+
## Notes
|
21
|
+
|
22
|
+
- Test cases should be thoroughly reviewed and tested before deployment.
|
23
|
+
- Follow best practices for scripting and error handling.
|
24
|
+
|
25
|
+
For more information, refer to the project's documentation.
|
@@ -1,10 +1,10 @@
|
|
1
|
-
jvcli/__init__.py,sha256=
|
1
|
+
jvcli/__init__.py,sha256=HeFeEm0rZYsskrT6bwn8VkX3J-OUrBUbWtBz1JKUgww,170
|
2
2
|
jvcli/api.py,sha256=yehboQFyoy6hMhBXBnyK4B3nd2bThLUoUQ2G2PrPl6I,11476
|
3
3
|
jvcli/auth.py,sha256=p04T02ufqbENx_93oDPg3xsq7sv-Nabeq3YR1kLXfSg,1215
|
4
4
|
jvcli/cli.py,sha256=VM_QGPiYfSdqOZ4n0YLZbrOwXm0d5lHmzv47MqTyBMc,1060
|
5
5
|
jvcli/utils.py,sha256=NKWjjJ45NFlwT7QVMh1YMY2zfvGaJ_8LppG4D8QXCwA,7726
|
6
6
|
jvcli/client/__init__.py,sha256=WGP05OBzZHReqENYs1qYqMnYvgAaNVW6KvGQvyB3NGs,85
|
7
|
-
jvcli/client/app.py,sha256=
|
7
|
+
jvcli/client/app.py,sha256=2LGSY2R9GXXRNUu34wb_-i9hLOWbP34YbzgTEnBX-g8,6087
|
8
8
|
jvcli/client/lib/__init__.py,sha256=_Wv8CNIxeIle_x0U9T6w9s5mPuOY9-0u69BvTEPXLUw,38
|
9
9
|
jvcli/client/lib/page.py,sha256=QF53ffO4A2P9QTdPFfi0baCpKyEMmfkLyhJNxm7pTb0,2225
|
10
10
|
jvcli/client/lib/utils.py,sha256=QwG5Ev_8Xd5f5j1DsIR2by4EhOMJ9Yi-UIMezGolU5g,9823
|
@@ -21,7 +21,7 @@ jvcli/commands/create.py,sha256=-9Lcng3Ef6AMZwBcuXDgvJCuvWxB_dB_fQF5-OBCkqA,1339
|
|
21
21
|
jvcli/commands/download.py,sha256=AT6SFiJ9ysqNMDCdKsZ6CMUx96qpyzgraOk6EuNL2Qs,3417
|
22
22
|
jvcli/commands/info.py,sha256=NyIDpR_AGMMSFPE0tFZv4dIuv_gwqrfd589zQAA_Q3s,2685
|
23
23
|
jvcli/commands/publish.py,sha256=q1ihoL42GmEsU5ggHN3bcg8QD26kjRUZGfQpRzI2GMo,6630
|
24
|
-
jvcli/commands/startproject.py,sha256=
|
24
|
+
jvcli/commands/startproject.py,sha256=W7TzL8HALYd_Lzt3gLFFCZkBXZTR1jwUgZgLP6hETzI,2444
|
25
25
|
jvcli/commands/studio.py,sha256=4acrd5Wpv5h2TBFPrzOQGyAtMpy8bQaqPh96Js9nod8,2761
|
26
26
|
jvcli/commands/update.py,sha256=LwCLg-W1b8WSdFkiiJ8WwTit2HJXTLpM5OQ4WBTe9C4,1997
|
27
27
|
jvcli/studio/index.html,sha256=a4UaOrpXsTrHTF1iN3VIWzF7wgVWvFCEzoFRw-tDPXc,474
|
@@ -37,12 +37,22 @@ jvcli/templates/2.0.0/agent_descriptor.yaml,sha256=h6_pxmaP-oJqLDCHAyZ1ckETfWD6D
|
|
37
37
|
jvcli/templates/2.0.0/agent_info.yaml,sha256=3olXRQDQG-543o7zSWWT23kJsK29QGhdx6-tOLXvCk8,207
|
38
38
|
jvcli/templates/2.0.0/agent_knowledge.yaml,sha256=hI0ifr0ICiZGce-oUFovBOmDWxGU1Z2M10WyZH_wS2g,284
|
39
39
|
jvcli/templates/2.0.0/agent_memory.yaml,sha256=_MBgObZcW1UzwWuYQVJiPZ_7TvYbGrDgd-xMuzJEkVo,9
|
40
|
-
jvcli/templates/2.0.0/project/
|
40
|
+
jvcli/templates/2.0.0/project/README.md,sha256=HV0vVTsE9ELdfdqSpy6Xrn222u9z00rMNVsNPVTMSeA,956
|
41
|
+
jvcli/templates/2.0.0/project/env.example,sha256=aB3Wp-0fJV1o9WlFLjxjdA5fKMg2zBV-y8-nBm9Q-bk,396
|
41
42
|
jvcli/templates/2.0.0/project/globals.jac,sha256=CEt7L25wEZfE6TupqpM1ilHbtJMQQWExDQ5GJlkHPts,56
|
42
43
|
jvcli/templates/2.0.0/project/main.jac,sha256=r37jsaGq-85YvDbHP3bQvBXk0u8w0rtRTZTNxZOjTW0,48
|
43
|
-
jvcli
|
44
|
-
jvcli
|
45
|
-
jvcli
|
46
|
-
jvcli
|
47
|
-
jvcli
|
48
|
-
jvcli
|
44
|
+
jvcli/templates/2.0.0/project/actions/README.md,sha256=TU1t-rOBH5WQP_HUWaEBLq5BbPv4jejtjIrwTW4hZwM,1742
|
45
|
+
jvcli/templates/2.0.0/project/daf/README.md,sha256=M2_BLO6vFlsnUbYHPQMIrcoboe91MO9H9RR8yP9-tF8,1683
|
46
|
+
jvcli/templates/2.0.0/project/sh/exportenv.sh,sha256=UXH0DkHJnVz75YvAU8tw9bqfa2atniUITd7f_3FDBfk,160
|
47
|
+
jvcli/templates/2.0.0/project/sh/importagent.sh,sha256=plls5CY2TUcab7OVxZDPOIYO0vF4bn-yUIjPY1YL_GQ,886
|
48
|
+
jvcli/templates/2.0.0/project/sh/initagents.sh,sha256=WmMshuxLw_dXnm23uhTZjr6Eyc9pAbktlo2R_0tXK6M,923
|
49
|
+
jvcli/templates/2.0.0/project/sh/inituser.sh,sha256=TUg-NqWV3F6o-5nX0fn2L4xcVOn-vbDD-NIRFThAS1U,1828
|
50
|
+
jvcli/templates/2.0.0/project/sh/serve.sh,sha256=S64Pmza1Zh5uf6bDA7aXS282AQsN3jJW4RAyfi7NCrU,103
|
51
|
+
jvcli/templates/2.0.0/project/sh/startclient.sh,sha256=w_oW5DZ9NHRD4HR16lVQsvq8HPtiRNUKFuG2nUrKWlQ,117
|
52
|
+
jvcli/templates/2.0.0/project/tests/README.md,sha256=-1ZXkxuUKa6tMw_jlF3rpCvUFq8ijW2L-nSuAkbCANo,917
|
53
|
+
jvcli-2.0.9.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
54
|
+
jvcli-2.0.9.dist-info/METADATA,sha256=eQCVbFhqZS_xsGdpMz7El9flmwAohpOyPmRUQHvhc3E,4179
|
55
|
+
jvcli-2.0.9.dist-info/WHEEL,sha256=52BFRY2Up02UkjOa29eZOS2VxUrpPORXg1pkohGGUS8,91
|
56
|
+
jvcli-2.0.9.dist-info/entry_points.txt,sha256=XunGcL0LWmIMIytaUckUA27czEf8M2Y4aTOfYIpOgrQ,42
|
57
|
+
jvcli-2.0.9.dist-info/top_level.txt,sha256=akZnN9Zy1dFT93N0ms-C8ZXUn-xlhq37nO3jSRp0Y6o,6
|
58
|
+
jvcli-2.0.9.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|