mindroot 7.7.0__py3-none-any.whl → 8.2.0__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.
Potentially problematic release.
This version of mindroot might be problematic. Click here for more details.
- mindroot/coreplugins/admin/plugin_manager.py +126 -3
- mindroot/coreplugins/admin/plugin_manager_backup.py +615 -0
- mindroot/coreplugins/admin/router.py +3 -1
- mindroot/coreplugins/admin/server_router.py +8 -1
- mindroot/coreplugins/admin/static/js/plugin-advanced-install.js +83 -12
- mindroot/coreplugins/admin/static/js/plugin-index-browser.js +138 -10
- mindroot/coreplugins/admin/static/js/plugin-install-dialog.js +345 -0
- mindroot/coreplugins/admin/static/js/server-control.js +68 -6
- mindroot/coreplugins/agent/agent.py +4 -0
- mindroot/coreplugins/chat/models.py +0 -1
- mindroot/coreplugins/chat/router.py +31 -0
- mindroot/coreplugins/chat/services.py +24 -0
- mindroot/coreplugins/chat/static/css/dark.css +35 -0
- mindroot/coreplugins/chat/static/css/default.css +35 -0
- mindroot/coreplugins/chat/static/js/chatform.js +185 -0
- mindroot/coreplugins/env_manager/__init__.py +3 -0
- mindroot/coreplugins/env_manager/inject/admin.jinja2 +16 -0
- mindroot/coreplugins/env_manager/mod.py +228 -0
- mindroot/coreplugins/env_manager/router.py +40 -0
- mindroot/coreplugins/env_manager/static/css/env-manager.css +263 -0
- mindroot/coreplugins/env_manager/static/js/env-manager.js +380 -0
- mindroot/coreplugins/home/router.py +33 -2
- mindroot/coreplugins/home/static/css/enhanced.css +111 -5
- mindroot/coreplugins/home/templates/home.jinja2 +7 -4
- mindroot/lib/chatlog.py +5 -1
- mindroot/lib/streamcmd.py +139 -0
- mindroot/lib/templates.py +13 -2
- mindroot/server.py +12 -25
- mindroot-8.2.0.dist-info/METADATA +15 -0
- {mindroot-7.7.0.dist-info → mindroot-8.2.0.dist-info}/RECORD +34 -25
- {mindroot-7.7.0.dist-info → mindroot-8.2.0.dist-info}/WHEEL +1 -1
- mindroot-7.7.0.dist-info/METADATA +0 -310
- {mindroot-7.7.0.dist-info → mindroot-8.2.0.dist-info}/entry_points.txt +0 -0
- {mindroot-7.7.0.dist-info → mindroot-8.2.0.dist-info}/licenses/LICENSE +0 -0
- {mindroot-7.7.0.dist-info → mindroot-8.2.0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
|
|
3
|
+
import asyncio
|
|
4
|
+
import sys
|
|
5
|
+
from typing import Optional, Callable, Any, List, Dict, AsyncGenerator
|
|
6
|
+
|
|
7
|
+
# ANSI color codes for terminal output
|
|
8
|
+
COLORS = {
|
|
9
|
+
'reset': '\033[0m',
|
|
10
|
+
'green': '\033[32m', # stdout
|
|
11
|
+
'yellow': '\033[33m', # stderr/warning
|
|
12
|
+
'blue': '\033[34m', # info
|
|
13
|
+
'red': '\033[31m' # error
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
async def read_stream(stream: asyncio.StreamReader, callback: Callable[[str], Any]):
|
|
18
|
+
"""Read from stream line by line and call the callback for each line."""
|
|
19
|
+
while True:
|
|
20
|
+
line = await stream.readline()
|
|
21
|
+
if not line:
|
|
22
|
+
break
|
|
23
|
+
callback(line.decode('utf-8', errors='replace'))
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
async def run_command_with_streaming(
|
|
27
|
+
cmd: List[str],
|
|
28
|
+
stdout_callback: Callable[[str], Any],
|
|
29
|
+
stderr_callback: Callable[[str], Any],
|
|
30
|
+
cwd: Optional[str] = None,
|
|
31
|
+
env: Optional[dict] = None
|
|
32
|
+
) -> int:
|
|
33
|
+
"""Run a command asynchronously and stream its output.
|
|
34
|
+
|
|
35
|
+
Args:
|
|
36
|
+
cmd: Command to run as a list of strings
|
|
37
|
+
stdout_callback: Callback for stdout lines
|
|
38
|
+
stderr_callback: Callback for stderr lines
|
|
39
|
+
cwd: Working directory for the command
|
|
40
|
+
env: Environment variables for the command
|
|
41
|
+
|
|
42
|
+
Returns:
|
|
43
|
+
Exit code of the command
|
|
44
|
+
"""
|
|
45
|
+
try:
|
|
46
|
+
process = await asyncio.create_subprocess_exec(
|
|
47
|
+
*cmd,
|
|
48
|
+
stdout=asyncio.subprocess.PIPE,
|
|
49
|
+
stderr=asyncio.subprocess.PIPE,
|
|
50
|
+
cwd=cwd,
|
|
51
|
+
env=env
|
|
52
|
+
)
|
|
53
|
+
|
|
54
|
+
# Create tasks to read from stdout and stderr
|
|
55
|
+
stdout_task = asyncio.create_task(
|
|
56
|
+
read_stream(process.stdout, stdout_callback)
|
|
57
|
+
)
|
|
58
|
+
stderr_task = asyncio.create_task(
|
|
59
|
+
read_stream(process.stderr, stderr_callback)
|
|
60
|
+
)
|
|
61
|
+
|
|
62
|
+
# Wait for the process to complete and streams to be fully read
|
|
63
|
+
await asyncio.gather(stdout_task, stderr_task)
|
|
64
|
+
exit_code = await process.wait()
|
|
65
|
+
|
|
66
|
+
return exit_code
|
|
67
|
+
|
|
68
|
+
except Exception as e:
|
|
69
|
+
print(f"Failed to run command: {e}")
|
|
70
|
+
return 1
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
async def stream_command_as_events(
|
|
74
|
+
cmd: List[str],
|
|
75
|
+
cwd: Optional[str] = None,
|
|
76
|
+
env: Optional[dict] = None
|
|
77
|
+
) -> AsyncGenerator[Dict[str, str], None]:
|
|
78
|
+
"""Run a command and yield its output as events.
|
|
79
|
+
|
|
80
|
+
Args:
|
|
81
|
+
cmd: Command to run as a list of strings
|
|
82
|
+
cwd: Working directory for the command
|
|
83
|
+
env: Environment variables for the command
|
|
84
|
+
|
|
85
|
+
Yields:
|
|
86
|
+
Events with type and data
|
|
87
|
+
"""
|
|
88
|
+
# Debug output
|
|
89
|
+
print(f"{COLORS['blue']}[DEBUG] Running command: {' '.join(cmd)}{COLORS['reset']}")
|
|
90
|
+
|
|
91
|
+
# Send initial event
|
|
92
|
+
yield {"event": "message", "data": f"Running command: {' '.join(cmd)}"}
|
|
93
|
+
|
|
94
|
+
# Create queues for stdout and stderr
|
|
95
|
+
output_queue = asyncio.Queue()
|
|
96
|
+
|
|
97
|
+
# Define callbacks for stdout and stderr
|
|
98
|
+
def stdout_callback(line):
|
|
99
|
+
if line.strip():
|
|
100
|
+
print(f"{COLORS['green']}[STDOUT] {line.strip()}{COLORS['reset']}")
|
|
101
|
+
output_queue.put_nowait(("message", line.strip()))
|
|
102
|
+
|
|
103
|
+
def stderr_callback(line):
|
|
104
|
+
if line.strip():
|
|
105
|
+
# Determine if this is a warning or an error
|
|
106
|
+
if ("WARNING:" in line or
|
|
107
|
+
"DEPRECATION:" in line or
|
|
108
|
+
"A new release of pip is available" in line):
|
|
109
|
+
print(f"{COLORS['yellow']}[WARNING] {line.strip()}{COLORS['reset']}")
|
|
110
|
+
output_queue.put_nowait(("warning", line.strip()))
|
|
111
|
+
else:
|
|
112
|
+
print(f"{COLORS['red']}[ERROR] {line.strip()}{COLORS['reset']}")
|
|
113
|
+
output_queue.put_nowait(("warning", line.strip()))
|
|
114
|
+
|
|
115
|
+
# Run the command in a separate task
|
|
116
|
+
run_task = asyncio.create_task(
|
|
117
|
+
run_command_with_streaming(cmd, stdout_callback, stderr_callback, cwd, env)
|
|
118
|
+
)
|
|
119
|
+
|
|
120
|
+
# Stream events from the queue while the command is running
|
|
121
|
+
while not run_task.done() or not output_queue.empty():
|
|
122
|
+
try:
|
|
123
|
+
event_type, data = await asyncio.wait_for(output_queue.get(), timeout=0.1)
|
|
124
|
+
yield {"event": event_type, "data": data}
|
|
125
|
+
except asyncio.TimeoutError:
|
|
126
|
+
# No output available, just continue
|
|
127
|
+
await asyncio.sleep(0.01)
|
|
128
|
+
|
|
129
|
+
# Get the exit code
|
|
130
|
+
exit_code = await run_task
|
|
131
|
+
|
|
132
|
+
# Send completion event
|
|
133
|
+
print(f"{COLORS['blue']}[INFO] Command completed with exit code {exit_code}{COLORS['reset']}")
|
|
134
|
+
if exit_code == 0:
|
|
135
|
+
yield {"event": "complete", "data": "Command completed successfully"}
|
|
136
|
+
else:
|
|
137
|
+
print(f"{COLORS['red']}[ERROR] Command failed with exit code {exit_code}{COLORS['reset']}")
|
|
138
|
+
yield {"event": "error", "data": f"Command failed with exit code {exit_code}"}
|
|
139
|
+
|
mindroot/lib/templates.py
CHANGED
|
@@ -3,7 +3,7 @@ import logging
|
|
|
3
3
|
from jinja2 import Environment, FileSystemLoader, ChoiceLoader
|
|
4
4
|
from .plugins import list_enabled, get_plugin_path
|
|
5
5
|
from .parent_templates import get_parent_templates_env
|
|
6
|
-
|
|
6
|
+
import traceback
|
|
7
7
|
|
|
8
8
|
# TODO: get_parent_templates_env(plugins):
|
|
9
9
|
# jinja2 environment containing only 1 template per plugin file name,
|
|
@@ -243,8 +243,10 @@ async def render_combined_template(page_name, plugins, context):
|
|
|
243
243
|
str: Rendered HTML
|
|
244
244
|
"""
|
|
245
245
|
parent_template = parent_env.get_template(f"{page_name}.jinja2")
|
|
246
|
+
print(f"parent_template", parent_template)
|
|
246
247
|
child_templates = await load_plugin_templates(page_name, plugins)
|
|
247
248
|
parent_blocks = parent_template.blocks.keys()
|
|
249
|
+
print(f"parent_blocks", parent_blocks)
|
|
248
250
|
all_content = {block: {'inject': [], 'override': None} for block in parent_blocks}
|
|
249
251
|
|
|
250
252
|
# Ensure context is a dictionary
|
|
@@ -348,8 +350,9 @@ async def render(page_name, context):
|
|
|
348
350
|
# First try to render with the combined template approach
|
|
349
351
|
try:
|
|
350
352
|
parent_env.get_template(f"{page_name}.jinja2")
|
|
351
|
-
return await render_combined_template(page_name, plugins, context)
|
|
352
353
|
except Exception as e:
|
|
354
|
+
trace = traceback.format_exc()
|
|
355
|
+
print(f"Error finding parent template for {page_name}: {e}\n\n{trace}")
|
|
353
356
|
print(f"No parent template found for {page_name}, trying direct rendering: {e}")
|
|
354
357
|
|
|
355
358
|
# Try to find and render a template directly from a plugin
|
|
@@ -358,3 +361,11 @@ async def render(page_name, context):
|
|
|
358
361
|
return await render_direct_template(template_path, context)
|
|
359
362
|
|
|
360
363
|
return f"<h1>Template Not Found</h1><p>No template found for '{page_name}'</p>"
|
|
364
|
+
|
|
365
|
+
try:
|
|
366
|
+
return await render_combined_template(page_name, plugins, context)
|
|
367
|
+
except Exception as e:
|
|
368
|
+
trace = traceback.format_exc()
|
|
369
|
+
print(f"Error rendering {page_name}: {e}\n\n{trace}")
|
|
370
|
+
return f"<h1>Error Rendering Page</h1><p>{str(e)}</p><pre>{trace}</pre>"
|
|
371
|
+
|
mindroot/server.py
CHANGED
|
@@ -13,7 +13,11 @@ from termcolor import colored
|
|
|
13
13
|
import socket
|
|
14
14
|
from fastapi.middleware.cors import CORSMiddleware
|
|
15
15
|
from starlette.middleware.base import BaseHTTPMiddleware
|
|
16
|
+
from dotenv import load_dotenv
|
|
16
17
|
|
|
18
|
+
# Load environment variables from .env file at the start
|
|
19
|
+
# Set override=True to make .env variables override existing environment variables
|
|
20
|
+
load_dotenv(override=True)
|
|
17
21
|
|
|
18
22
|
def parse_args():
|
|
19
23
|
import argparse
|
|
@@ -48,10 +52,12 @@ def create_directories():
|
|
|
48
52
|
create_directories()
|
|
49
53
|
|
|
50
54
|
import mimetypes
|
|
51
|
-
mimetypes.add_type(
|
|
55
|
+
mimetypes.add_type('application/javascript', '.js')
|
|
56
|
+
mimetypes.add_type('text/css', '.css')
|
|
52
57
|
|
|
53
|
-
app = None
|
|
54
58
|
templates = None
|
|
59
|
+
app = None
|
|
60
|
+
failed_plugins = []
|
|
55
61
|
|
|
56
62
|
async def setup_app_internal(app_):
|
|
57
63
|
global app, templates
|
|
@@ -84,32 +90,14 @@ class HeaderMiddleware(BaseHTTPMiddleware):
|
|
|
84
90
|
async def dispatch(self, request: Request, call_next):
|
|
85
91
|
# First get the response from other middleware and routes
|
|
86
92
|
response = await call_next(request)
|
|
87
|
-
|
|
88
|
-
if "Content-Security-Policy" in response.headers:
|
|
89
|
-
del response.headers["Content-Security-Policy"]
|
|
90
|
-
|
|
91
|
-
response.headers['Content-Security-Policy'] = "frame-ancestors *"
|
|
92
|
-
|
|
93
|
-
if 'Access-Control-Allow-Origin' in response.headers:
|
|
94
|
-
del response.headers['Access-Control-Allow-Origin']
|
|
95
|
-
# Additional headers for better cross-origin support
|
|
96
|
-
response.headers['Access-Control-Allow-Origin'] = '*' # Or your specific origin
|
|
97
|
-
|
|
98
|
-
if 'Access-Control-Allow-Headers' in response.headers:
|
|
99
|
-
del response.headers['Access-Control-Allow-Headers']
|
|
100
|
-
|
|
101
|
-
response.headers['Access-Control-Allow-Credentials'] = 'true'
|
|
102
|
-
|
|
103
|
-
# Remove the X-Frame-Options header if it exists
|
|
104
|
-
if 'X-Frame-Options' in response.headers:
|
|
105
|
-
del response.headers['X-Frame-Options']
|
|
106
|
-
|
|
107
93
|
|
|
108
|
-
|
|
94
|
+
# Add security headers
|
|
95
|
+
response.headers["X-Content-Type-Options"] = "nosniff"
|
|
96
|
+
response.headers["X-Frame-Options"] = "SAMEORIGIN"
|
|
97
|
+
response.headers["X-XSS-Protection"] = "1; mode=block"
|
|
109
98
|
|
|
110
99
|
return response
|
|
111
100
|
|
|
112
|
-
|
|
113
101
|
def main():
|
|
114
102
|
global app
|
|
115
103
|
|
|
@@ -166,4 +154,3 @@ def main():
|
|
|
166
154
|
|
|
167
155
|
if __name__ == "__main__":
|
|
168
156
|
main()
|
|
169
|
-
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: mindroot
|
|
3
|
+
Version: 8.2.0
|
|
4
|
+
Summary: MindRoot AI Agent Framework
|
|
5
|
+
Requires-Python: >=3.9
|
|
6
|
+
License-File: LICENSE
|
|
7
|
+
Requires-Dist: fastapi
|
|
8
|
+
Requires-Dist: uvicorn
|
|
9
|
+
Requires-Dist: jinja2
|
|
10
|
+
Requires-Dist: python-multipart
|
|
11
|
+
Requires-Dist: aiofiles
|
|
12
|
+
Requires-Dist: termcolor
|
|
13
|
+
Requires-Dist: nanoid
|
|
14
|
+
Requires-Dist: python-dotenv
|
|
15
|
+
Dynamic: license-file
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
mindroot/__init__.py,sha256=OrFRGt_fdSYjolLXUzjSX2CIn1cOAm6l47ENNAkwmgQ,83
|
|
2
|
-
mindroot/server.py,sha256=
|
|
2
|
+
mindroot/server.py,sha256=akguygtkh_-EOJas4FfZkNEl0Lzm9URew5Y41xiXo88,4811
|
|
3
3
|
mindroot/coreplugins/admin/__init__.py,sha256=388n_hMskU0TnZ4xT10US_kFkya-EPBjWcv7AZf_HOk,74
|
|
4
4
|
mindroot/coreplugins/admin/agent_importer.py,sha256=8hQLO64iKtPA5gv9-mLUfUCcnRp3IH9-sTfgkPsrmqo,6376
|
|
5
5
|
mindroot/coreplugins/admin/agent_router.py,sha256=mstYUURNRb9MpfNwqMYC7WY3FOQJ-5H0TNNz4mDSjFM,9220
|
|
6
6
|
mindroot/coreplugins/admin/command_router.py,sha256=nhNkurIb9w7itgQ5nBtDYM-W2q69cYpLAq9HLrK-0Bk,6567
|
|
7
7
|
mindroot/coreplugins/admin/persona_handler.py,sha256=eRYmmOmupLJuiujWN35SS2nwRgo0lbbXug-chZ_WmjU,2862
|
|
8
8
|
mindroot/coreplugins/admin/persona_router.py,sha256=tyPxBe-pRnntHo_xyazvnwKZxHmvEI5_Fsu0YkZbrXA,6036
|
|
9
|
-
mindroot/coreplugins/admin/plugin_manager.py,sha256=
|
|
9
|
+
mindroot/coreplugins/admin/plugin_manager.py,sha256=k_buWtxh1JGb7j_NMILxJlZ_ZU5VVuXQpw4_Qp1Zjjo,14587
|
|
10
|
+
mindroot/coreplugins/admin/plugin_manager_backup.py,sha256=pUnh-EW4BMOrL2tYUq1X2BC65aoTBhDM-o2-mlDYXfU,24583
|
|
10
11
|
mindroot/coreplugins/admin/plugin_router.py,sha256=EEDIM0MMPhqeej8Lu8cazYgzaXH1sKZLy_6kBOwrUgY,1020
|
|
11
|
-
mindroot/coreplugins/admin/router.py,sha256=
|
|
12
|
-
mindroot/coreplugins/admin/server_router.py,sha256=
|
|
12
|
+
mindroot/coreplugins/admin/router.py,sha256=Wzeri92Rv39YKTYflMZ3E1pnYy959KHWRjS8D4Xgaao,1580
|
|
13
|
+
mindroot/coreplugins/admin/server_router.py,sha256=aZ5v7QBcK1LJ2yiciUA4elY26iSGl-8m03L1h3ogvP4,4533
|
|
13
14
|
mindroot/coreplugins/admin/service_models.py,sha256=ccYdLjWlEbbkIq9y9T5TL8NGSO6m1LLiJb9J2wkbenY,3354
|
|
14
15
|
mindroot/coreplugins/admin/settings_router.py,sha256=s5LWB6BiMXhnxduxwi6bQUVtYs3vrNCrUe0Qm8DOo6s,5451
|
|
15
16
|
mindroot/coreplugins/admin/static/logo.png,sha256=ZfPlCqCjU0_TXte5gvEx81zRKge--l_z2y0AArKl0as,17823
|
|
@@ -50,13 +51,14 @@ mindroot/coreplugins/admin/static/js/missing-commands.js,sha256=adNF9GWN981_KX7H
|
|
|
50
51
|
mindroot/coreplugins/admin/static/js/model-preferences.js,sha256=J0G7gcGACaPyslWJO42urf5wbZZsqO0LyPicAu-uV_Y,3365
|
|
51
52
|
mindroot/coreplugins/admin/static/js/notification.js,sha256=296rVCr6MNtzvzdzW3bGiMa231-BnWJtwZZ_sDWX-3c,5633
|
|
52
53
|
mindroot/coreplugins/admin/static/js/persona-editor.js,sha256=xO2jobJXwqGY7Uajj3vQxyERubsHZovIPF_8FHpvzFE,8604
|
|
53
|
-
mindroot/coreplugins/admin/static/js/plugin-advanced-install.js,sha256=
|
|
54
|
+
mindroot/coreplugins/admin/static/js/plugin-advanced-install.js,sha256=urj95n_Jcp_ZlSoLIwaw9dfA6SHCoosISbaP3-dxxHs,6950
|
|
54
55
|
mindroot/coreplugins/admin/static/js/plugin-base.js,sha256=KWp5DqueHtyTxYKbuHMoFpoFXrfMbIjzK4M1ulAR9m8,5095
|
|
55
|
-
mindroot/coreplugins/admin/static/js/plugin-index-browser.js,sha256=
|
|
56
|
+
mindroot/coreplugins/admin/static/js/plugin-index-browser.js,sha256=P-V4wqlYGxjr7oF2LiD5ti8Is3wtSsKPwpRgRJpT0VI,10028
|
|
57
|
+
mindroot/coreplugins/admin/static/js/plugin-install-dialog.js,sha256=ty_dZ9dZcpp9El1j3eY4Z6Wp8iZ5WNkf_lHSV-W1IhA,8216
|
|
56
58
|
mindroot/coreplugins/admin/static/js/plugin-list.js,sha256=6sUZMpyIAhZEkLcnUym0FwneZND08mcFii5dOlYvadw,5012
|
|
57
59
|
mindroot/coreplugins/admin/static/js/plugin-manager.js,sha256=RDBCnYQxH7Xbftwgg3llJ5BCrEeG9qfHzb80UzZzhsk,3341
|
|
58
60
|
mindroot/coreplugins/admin/static/js/plugin-toggle.js,sha256=9A4rM1lavLLUU8oaqPW8-K_JR8epgmPVBV-fjOabY7s,3862
|
|
59
|
-
mindroot/coreplugins/admin/static/js/server-control.js,sha256=
|
|
61
|
+
mindroot/coreplugins/admin/static/js/server-control.js,sha256=Bctd20gnf5rqwI7eqIR7GrXPpUbjxhk0jLi5sbS5a40,7097
|
|
60
62
|
mindroot/coreplugins/admin/static/js/toggle-switch.js,sha256=wLmzsngpNCjtGvFZ-eUIUO4APHa_cplWvZ7uBUqqYRg,2312
|
|
61
63
|
mindroot/coreplugins/admin/static/js/lit-html/LICENSE,sha256=K2b5OQr94p7f5DFNr_k_AfsYLhF4BT4igSAXiYfl23U,1518
|
|
62
64
|
mindroot/coreplugins/admin/static/js/lit-html/README.md,sha256=w-8qs6ZWte8yzeZ3g2-LlFDRWQQMtrQFAVjRFvb7z-4,3225
|
|
@@ -422,7 +424,7 @@ mindroot/coreplugins/admin/static/js/lit-html/node/directives/until.js.map,sha25
|
|
|
422
424
|
mindroot/coreplugins/admin/static/js/lit-html/node/directives/when.js,sha256=NLe0NJ-6jqjVDUrT_DzmSpREsRaLo1yarzdYcV_5xHY,181
|
|
423
425
|
mindroot/coreplugins/admin/static/js/lit-html/node/directives/when.js.map,sha256=tOonih_-EaqrunhNGshA9xN--WIVdGikjg8MkVp0itQ,1534
|
|
424
426
|
mindroot/coreplugins/admin/templates/admin.jinja2,sha256=WkzAZJhXFp6tmOCBPInJihPzNYzC7IjEw1jQz6cfleQ,7125
|
|
425
|
-
mindroot/coreplugins/agent/agent.py,sha256=
|
|
427
|
+
mindroot/coreplugins/agent/agent.py,sha256=TDKnEI8xxeEzFzJcnOBEiTtozBaxXVrnnw8aTfx4nDE,20706
|
|
426
428
|
mindroot/coreplugins/agent/cmd_start_example.py,sha256=Mdcd9st6viI6-M7a0-zqkw3IxR9FAxIiZ_8G-tLdIJk,1416
|
|
427
429
|
mindroot/coreplugins/agent/command_parser.py,sha256=Ouzksb6Gq7O9d__mk1zeQon_ycZJnh0jb7U1vsyK1R0,12797
|
|
428
430
|
mindroot/coreplugins/agent/ensure_msg_type.py,sha256=P2XSBs3gtjlDQLOF7808nm-Dl5jswyO6qgv0lNRyHXM,240
|
|
@@ -446,9 +448,9 @@ mindroot/coreplugins/chat/__init__.py,sha256=0Zs02XeMuTCBdKHvtpO-utxyWmFaQJpH-O1
|
|
|
446
448
|
mindroot/coreplugins/chat/commands.py,sha256=QozVxkLqtP6rlK3tSVLThfZz6nE7G_YygcmDzZdgb7c,16773
|
|
447
449
|
mindroot/coreplugins/chat/format_result_msgs.py,sha256=daEdpEyAJIa8b2VkCqSKcw8PaExcB6Qro80XNes_sHA,2
|
|
448
450
|
mindroot/coreplugins/chat/mod.py,sha256=Xydjv3feKJJRbwdiB7raqiQnWtaS_2GcdC9bXYQX3nE,425
|
|
449
|
-
mindroot/coreplugins/chat/models.py,sha256=
|
|
450
|
-
mindroot/coreplugins/chat/router.py,sha256=
|
|
451
|
-
mindroot/coreplugins/chat/services.py,sha256=
|
|
451
|
+
mindroot/coreplugins/chat/models.py,sha256=GRcRuDUAJFpyWERPMxkxUaZ21igNlWeeamriruEKiEQ,692
|
|
452
|
+
mindroot/coreplugins/chat/router.py,sha256=Cx6cmdqt5itlcIhBwHmwauR4z5brFdJrCXWSPBVTQHI,7811
|
|
453
|
+
mindroot/coreplugins/chat/services.py,sha256=IiUBjsRzKQZ0xw6TV8-dj6mehzTlA5XxcPPQYFQH6Kk,17561
|
|
452
454
|
mindroot/coreplugins/chat/utils.py,sha256=BiE14PpsAcQSO5vbU88klHGm8cAXJDXxgVgva-EXybU,155
|
|
453
455
|
mindroot/coreplugins/chat/static/assistant.png,sha256=oAt1ctkFKLSPBoAZGNnSixooW9ANVIk1GwniauVWDXo,215190
|
|
454
456
|
mindroot/coreplugins/chat/static/mindgen.png,sha256=fN3E3oOFvAGYjJq-Pvg2f75jIMv7kg5WRU0EeEbxCWg,235353
|
|
@@ -458,8 +460,8 @@ mindroot/coreplugins/chat/static/neon.css,sha256=OCfT6HmdptmBCI4Y4DkObMmX2a3bC4s
|
|
|
458
460
|
mindroot/coreplugins/chat/static/site.webmanifest,sha256=xER-QHwaPRf4ahSn2kR8aW4SrMrAMr2bpRCPH6p7ako,294
|
|
459
461
|
mindroot/coreplugins/chat/static/user.png,sha256=J1krBpv71HvrF6-b0gpm57zye_vNW4QyPuSaDCiXGhg,206392
|
|
460
462
|
mindroot/coreplugins/chat/static/css/admin-custom.css,sha256=j3PPzo9kzDkYu-mE06vL98m8ha9fkL4xfzei98Yjrwc,2825
|
|
461
|
-
mindroot/coreplugins/chat/static/css/dark.css,sha256=
|
|
462
|
-
mindroot/coreplugins/chat/static/css/default.css,sha256=
|
|
463
|
+
mindroot/coreplugins/chat/static/css/dark.css,sha256=7kF5BLQSPyvC8f63OxNM-rVf0SKtIihWiqT6kYzkpsk,17281
|
|
464
|
+
mindroot/coreplugins/chat/static/css/default.css,sha256=7kF5BLQSPyvC8f63OxNM-rVf0SKtIihWiqT6kYzkpsk,17281
|
|
463
465
|
mindroot/coreplugins/chat/static/css/main.css,sha256=1DkmgA4Z80gu-fUgP8RNkwAYbp47jM4zibvR1Ry_xdQ,106
|
|
464
466
|
mindroot/coreplugins/chat/static/css/mobile.css,sha256=XP58NamsA-JfhvDTyLe4EmXeNAbLMSo9daSh2dlr8NQ,3028
|
|
465
467
|
mindroot/coreplugins/chat/static/css/reset.css,sha256=pN9wuf7laZeIt-QjbxqJXDfu7yOTVy7fshf-VMeXPu0,696
|
|
@@ -486,7 +488,7 @@ mindroot/coreplugins/chat/static/js/authfetch.js,sha256=a05Vj4pt6Qnu4WdF7jsismVi
|
|
|
486
488
|
mindroot/coreplugins/chat/static/js/base.js,sha256=AtaHATjxpQNQ7Lv8RUlV0n3icrpmC2dmnkAdSI_v714,1285
|
|
487
489
|
mindroot/coreplugins/chat/static/js/chat-history.js,sha256=J-9Kv5pNW2HWQuPbgGiyMESOFnAOd25cSLK-CxIU1Mg,5912
|
|
488
490
|
mindroot/coreplugins/chat/static/js/chat.js,sha256=u2GqdPI4WGYz0v4d1GH2QbK9wTzsJzV6zr0Xz0E1nmw,13147
|
|
489
|
-
mindroot/coreplugins/chat/static/js/chatform.js,sha256=
|
|
491
|
+
mindroot/coreplugins/chat/static/js/chatform.js,sha256=hXluGkTIxCMzp_3v1IPBwcDvAdjQqcrP5ojJd95I1wA,17823
|
|
490
492
|
mindroot/coreplugins/chat/static/js/chatmessage.js,sha256=qoRb6XWKzzbMOIowIt3admWO8FaT2VqWGhN_anQlGSQ,1272
|
|
491
493
|
mindroot/coreplugins/chat/static/js/cmdprefixes.js,sha256=Gip5WQXYb_VFK51OYlNtxT1fKUATKLsuVUpaGBKBwig,1022
|
|
492
494
|
mindroot/coreplugins/chat/static/js/code-copy-button.js,sha256=-owTkgvP9Ibdd12yyFJcvAeN2jfqf0ETUtXgNuHnWrg,5890
|
|
@@ -907,16 +909,22 @@ mindroot/coreplugins/email/smtp_handler.py,sha256=KP-64SF_foMJ-NVKsZvSiwQc9Akugc
|
|
|
907
909
|
mindroot/coreplugins/email/test_batch.py,sha256=gCe_E02K0sCrOWi4meEELx0rckeCRXaFJeJ40o9bhmQ,3788
|
|
908
910
|
mindroot/coreplugins/email/test_email.py,sha256=SrG6Luts0r9YbDqSsBT8I45gIKZi3s3Q5d_dPNxj1Q0,5328
|
|
909
911
|
mindroot/coreplugins/email/backup/mod.py,sha256=6vvFGpOzCCfEDYlaJBEixRgNRIfvp-mcD6siCwvtxcI,2118
|
|
912
|
+
mindroot/coreplugins/env_manager/__init__.py,sha256=zcQypdwauAdtsj1Be-QZcPeLU_T3LiYaoWKWmIRKsnY,100
|
|
913
|
+
mindroot/coreplugins/env_manager/mod.py,sha256=_wSNZHhDgdM2oBp3NTLd3O-Eribbm7nBsyztvRj9ZhA,6968
|
|
914
|
+
mindroot/coreplugins/env_manager/router.py,sha256=f0d3BoeuwdUXBVJ4Kco8PURIWue5g_xI-5PGi6_6pF8,1185
|
|
915
|
+
mindroot/coreplugins/env_manager/inject/admin.jinja2,sha256=BLGzp3Osc1aKo5-4rOwM3Gy4-FdoJQh7oYcTMrkaW-s,462
|
|
916
|
+
mindroot/coreplugins/env_manager/static/css/env-manager.css,sha256=Y-538HHrkYtiyX-l15sYUJ6mmspbJVJZniHQKz6sL9g,4288
|
|
917
|
+
mindroot/coreplugins/env_manager/static/js/env-manager.js,sha256=bdg7m3AL_keAcx1l1DBeXosgbTMtYRUUEWGtXTT-bt8,12411
|
|
910
918
|
mindroot/coreplugins/events/__init__.py,sha256=qw8b_7YoN67q1kEdXYXmQkXycF1NaYb3dMbjP-6FsUs,19
|
|
911
919
|
mindroot/coreplugins/events/mod.py,sha256=MsSFjiLMLJZ7QhUPpVBWKiyDnCzryquRyr329NoCACI,2
|
|
912
920
|
mindroot/coreplugins/events/router.py,sha256=a-77306_fQPNHPXP5aYtbpfC0gbqMBNRu04aYOh75L4,3587
|
|
913
921
|
mindroot/coreplugins/events/backup/mod.py,sha256=9QeJpg6WKwxRdjiKVHD1froguTe86FS2-2wWm1B9xa8,1832
|
|
914
922
|
mindroot/coreplugins/events/backup/router_backup.py,sha256=ImU8xoxdSd45V1yOFVqdtDQ614V6CMsDZQ1gtJj0Mnk,254
|
|
915
923
|
mindroot/coreplugins/home/mod.py,sha256=MsSFjiLMLJZ7QhUPpVBWKiyDnCzryquRyr329NoCACI,2
|
|
916
|
-
mindroot/coreplugins/home/router.py,sha256=
|
|
924
|
+
mindroot/coreplugins/home/router.py,sha256=kzPg2eIimG_2Qa1bZ0gKCmoo2uzd8GurrePODOO1How,1982
|
|
917
925
|
mindroot/coreplugins/home/static/css/dark.css,sha256=Q9FHaEsf9xeJjtouyKgr1Su6vTzsN07NHxxqDrDfyx8,14259
|
|
918
926
|
mindroot/coreplugins/home/static/css/default.css,sha256=zlQjpwNvuJP_zULCWkFycWudF1GRQz9Y5mvdKpzXXFc,13354
|
|
919
|
-
mindroot/coreplugins/home/static/css/enhanced.css,sha256=
|
|
927
|
+
mindroot/coreplugins/home/static/css/enhanced.css,sha256=oYGR_abXN5-wTmabQ3_QfSOoZ8sDRajsJJAfBgk-voE,3800
|
|
920
928
|
mindroot/coreplugins/home/static/css/home.css,sha256=SpelrHEHA04M5hK6Xijnc-ZyyROZehmOkKQFt4JkOQk,2950
|
|
921
929
|
mindroot/coreplugins/home/static/css/reset.css,sha256=pN9wuf7laZeIt-QjbxqJXDfu7yOTVy7fshf-VMeXPu0,696
|
|
922
930
|
mindroot/coreplugins/home/static/css/update.css,sha256=HWh01CnuKX_1rXQIwBQtc95wi6xBLnup29Gi5I-UOBg,3002
|
|
@@ -1288,7 +1296,7 @@ mindroot/coreplugins/home/static/js/lit-html/node/directives/until.js,sha256=j1W
|
|
|
1288
1296
|
mindroot/coreplugins/home/static/js/lit-html/node/directives/until.js.map,sha256=7xiwSZ7_fGtr5XwW-10Dzs8n9QE2VUfXaZ0Sd6d82L0,6567
|
|
1289
1297
|
mindroot/coreplugins/home/static/js/lit-html/node/directives/when.js,sha256=NLe0NJ-6jqjVDUrT_DzmSpREsRaLo1yarzdYcV_5xHY,181
|
|
1290
1298
|
mindroot/coreplugins/home/static/js/lit-html/node/directives/when.js.map,sha256=tOonih_-EaqrunhNGshA9xN--WIVdGikjg8MkVp0itQ,1534
|
|
1291
|
-
mindroot/coreplugins/home/templates/home.jinja2,sha256=
|
|
1299
|
+
mindroot/coreplugins/home/templates/home.jinja2,sha256=wVaXYgaNK3Kn7wmrKEyBT24Az2l4_o7ctVbDhHPXgEw,2088
|
|
1292
1300
|
mindroot/coreplugins/index/.gitignore,sha256=r_urXBxUYZhSuWyYzpRcAz5rHR0gVTERMrTI_gbBmCM,9
|
|
1293
1301
|
mindroot/coreplugins/index/__init__.py,sha256=WU5revQym2nu-vAV-o5cdAXpuRlb_Juu0lzc9s6lIFU,74
|
|
1294
1302
|
mindroot/coreplugins/index/default.json,sha256=E3Rj8gCAcFeppbS4CtXoGwXL94E7jFJQcNflDp4xrJg,2030
|
|
@@ -1759,7 +1767,7 @@ mindroot/coreplugins/user_service/backup/admin_setup.py,sha256=JGszAw8nVtnNiisSU
|
|
|
1759
1767
|
mindroot/lib/__init__.py,sha256=388n_hMskU0TnZ4xT10US_kFkya-EPBjWcv7AZf_HOk,74
|
|
1760
1768
|
mindroot/lib/butemplates.py,sha256=gfHGPTOjvoEenXsR7xokNuqMjOAPuC2DawheH1Ae4bU,12196
|
|
1761
1769
|
mindroot/lib/chatcontext.py,sha256=OR63K63NMjaV7kXDf0MIcvOXFZhdiqr7LKgbyfZzjkE,6211
|
|
1762
|
-
mindroot/lib/chatlog.py,sha256=
|
|
1770
|
+
mindroot/lib/chatlog.py,sha256=B5kLuwMHyEC_AmjNbXWal-tdXwVnOwcZ4PPUK7Vb7NQ,5860
|
|
1763
1771
|
mindroot/lib/json_escape.py,sha256=5cAmAdNbnYX2uyfQcnse2fFtNI0CdB-AfZ23RwaDm-k,884
|
|
1764
1772
|
mindroot/lib/model_selector.py,sha256=Wz-8NZoiclmnhLeCNnI3WCuKFmjsO5HE4bK5F8GpZzU,1397
|
|
1765
1773
|
mindroot/lib/parent_templates.py,sha256=elcQFFwrFtfAYfQOSTs06aiDDigN1f1R2f8I1V-wj6Q,2731
|
|
@@ -1767,7 +1775,8 @@ mindroot/lib/plugins.py,sha256=96QElzJ6cuS9BpQJQZMJblDCF2toO14Z80D7DRAjMDc,1592
|
|
|
1767
1775
|
mindroot/lib/plugins_install.py,sha256=CUDkdDhIKkwN3U1hfKaTq8QUwGApFrNKmt3iycZuTKs,2042
|
|
1768
1776
|
mindroot/lib/route_decorators.py,sha256=L3E-bn48zhuxk6YPtyc2oP76-5WuV_SmjxtngJeYGmM,2153
|
|
1769
1777
|
mindroot/lib/session_files.py,sha256=Vl50YfEnKt8ucGSDIavsAdbAcf8IbMG3Fdgm4pEh2Yg,1263
|
|
1770
|
-
mindroot/lib/
|
|
1778
|
+
mindroot/lib/streamcmd.py,sha256=f9n3OtryEkMbNNuFr5BAZn1EpSLUKuDZw-zpo97XxJk,4714
|
|
1779
|
+
mindroot/lib/templates.py,sha256=5dODCS6UeC9Y_PdMWlUuQCCZUUt2ICR0S1YF6XrG3eM,15154
|
|
1771
1780
|
mindroot/lib/auth/__init__.py,sha256=5EZbCTcdlnTHYE0JNk8znWNSO7mOsokMOvRBjb5Mq-M,49
|
|
1772
1781
|
mindroot/lib/auth/auth.py,sha256=2vhF_LfZcTPt2N2VLWy1ZP7h2pKFv7XM3xW1iRVOTkU,3129
|
|
1773
1782
|
mindroot/lib/db/organize_models.py,sha256=kiadXfhGjCY16c36l1JmxXcKSH4ShWWEUnHi7WRRn9c,5028
|
|
@@ -1805,9 +1814,9 @@ mindroot/protocols/services/stream_chat.py,sha256=fMnPfwaB5fdNMBLTEg8BXKAGvrELKH
|
|
|
1805
1814
|
mindroot/registry/__init__.py,sha256=40Xy9bmPHsgdIrOzbtBGzf4XMqXVi9P8oZTJhn0r654,151
|
|
1806
1815
|
mindroot/registry/component_manager.py,sha256=WZFNPg4SNvpqsM5NFiC2DpgmrJQCyR9cNhrCBpp30Qk,995
|
|
1807
1816
|
mindroot/registry/data_access.py,sha256=NgNMamxIjaKeYxzxnVaQz1Y-Rm0AI51si3788_JHUTM,5316
|
|
1808
|
-
mindroot-
|
|
1809
|
-
mindroot-
|
|
1810
|
-
mindroot-
|
|
1811
|
-
mindroot-
|
|
1812
|
-
mindroot-
|
|
1813
|
-
mindroot-
|
|
1817
|
+
mindroot-8.2.0.dist-info/licenses/LICENSE,sha256=8plAmZh8y9ccuuqFFz4kp7G-cO_qsPgAOoHNvabSB4U,1070
|
|
1818
|
+
mindroot-8.2.0.dist-info/METADATA,sha256=aNAkb4BPgjjdy_1OxxFYwxh0GdQPYtrL6pWlfLLotaY,356
|
|
1819
|
+
mindroot-8.2.0.dist-info/WHEEL,sha256=Nw36Djuh_5VDukK0H78QzOX-_FQEo6V37m3nkm96gtU,91
|
|
1820
|
+
mindroot-8.2.0.dist-info/entry_points.txt,sha256=0bpyjMccLttx6VcjDp6zfJPN0Kk0rffor6IdIbP0j4c,50
|
|
1821
|
+
mindroot-8.2.0.dist-info/top_level.txt,sha256=gwKm7DmNjhdrCJTYCrxa9Szne4lLpCtrEBltfsX-Mm8,9
|
|
1822
|
+
mindroot-8.2.0.dist-info/RECORD,,
|