diff --git a/app/components/AI.tsx b/app/AI.tsx similarity index 69% rename from app/components/AI.tsx rename to app/AI.tsx index e1d244b..b391683 100644 --- a/app/components/AI.tsx +++ b/app/AI.tsx @@ -1,6 +1,6 @@ // AI.tsx import React from 'react'; -import InputOutputBackend from '../backend/InputOutputHandler'; +import InputOutputBackend from './InputOutputHandler'; const AI: React.FC = () => { return ( diff --git a/app/backend/AudioRecorder(not yet).tsx b/app/AudioRecorder(not yet).tsx similarity index 100% rename from app/backend/AudioRecorder(not yet).tsx rename to app/AudioRecorder(not yet).tsx diff --git a/app/components/ConversationFrontend.tsx b/app/ConversationFrontend.tsx similarity index 100% rename from app/components/ConversationFrontend.tsx rename to app/ConversationFrontend.tsx diff --git a/app/components/Documentation.tsx b/app/Documentation.tsx similarity index 100% rename from app/components/Documentation.tsx rename to app/Documentation.tsx diff --git a/app/components/Faq.tsx b/app/Faq.tsx similarity index 100% rename from app/components/Faq.tsx rename to app/Faq.tsx diff --git a/app/components/Header.tsx b/app/Header.tsx similarity index 100% rename from app/components/Header.tsx rename to app/Header.tsx diff --git a/app/components/History.tsx b/app/History.tsx similarity index 100% rename from app/components/History.tsx rename to app/History.tsx diff --git a/app/backend/InputBackend.tsx b/app/InputBackend.tsx similarity index 94% rename from app/backend/InputBackend.tsx rename to app/InputBackend.tsx index a00ceeb..78be6bb 100644 --- a/app/backend/InputBackend.tsx +++ b/app/InputBackend.tsx @@ -1,6 +1,6 @@ import React, { useState } from 'react'; -import InputFrontend from '../components/InputFrontend'; -import ConversationFrontend from '../components/ConversationFrontend'; +import InputFrontend from './InputFrontend'; +import ConversationFrontend from './ConversationFrontend'; import { Mistral } from '@mistralai/mistralai'; diff --git a/app/components/InputFrontend.tsx b/app/InputFrontend.tsx similarity index 100% rename from app/components/InputFrontend.tsx rename to app/InputFrontend.tsx diff --git a/app/backend/InputOutputHandler.tsx b/app/InputOutputHandler.tsx similarity index 95% rename from app/backend/InputOutputHandler.tsx rename to app/InputOutputHandler.tsx index ed09bb4..288aaa4 100644 --- a/app/backend/InputOutputHandler.tsx +++ b/app/InputOutputHandler.tsx @@ -1,7 +1,7 @@ "use client" import React, { useEffect, useRef, useState } from "react"; -import ConversationFrontend from "../components/ConversationFrontend"; -import InputFrontend from "../components/InputFrontend"; +import ConversationFrontend from "./ConversationFrontend"; +import InputFrontend from "./InputFrontend"; const handleMicClick = () => { console.log('Mic clicked!'); diff --git a/app/components/Login.tsx b/app/Login.tsx similarity index 100% rename from app/components/Login.tsx rename to app/Login.tsx diff --git a/app/components/Models.tsx b/app/Models.tsx similarity index 100% rename from app/components/Models.tsx rename to app/Models.tsx diff --git a/app/backend/ProcessAPI.js b/app/ProcessAPI.js similarity index 100% rename from app/backend/ProcessAPI.js rename to app/ProcessAPI.js diff --git a/app/backend/ProcessMemory.tsx b/app/ProcessMemory.tsx similarity index 100% rename from app/backend/ProcessMemory.tsx rename to app/ProcessMemory.tsx diff --git a/app/components/Settings.tsx b/app/Settings.tsx similarity index 100% rename from app/components/Settings.tsx rename to app/Settings.tsx diff --git a/app/layout.tsx b/app/layout.tsx index 994a18a..da488bb 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -1,4 +1,4 @@ -import Header from "./components/Header"; +import Header from "./Header"; export const metadata = { diff --git a/app/page.tsx b/app/page.tsx index f8dcbd3..54dccc1 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -1,11 +1,11 @@ "use client"; import React, { useState, useEffect, useRef } from 'react'; -import Header from './components/Header'; -import AI from './components/AI'; -import FAQ from './components/Faq'; // Ensure the import path is correct -import Documentation from './components/Documentation'; // Ensure the import path is correct -import History from './components/History'; -import Models from './components/Models'; +import Header from './Header'; +import AI from './AI'; +import FAQ from './Faq'; // Ensure the import path is correct +import Documentation from './Documentation'; // Ensure the import path is correct +import History from './History'; +import Models from './Models'; import './styles/master.css'; const LandingPage: React.FC = () => { diff --git a/py/api.py b/py/api.py index aa226eb..b25e4d4 100644 --- a/py/api.py +++ b/py/api.py @@ -2,23 +2,19 @@ from flask import Flask, request, jsonify from flask_cors import CORS import secrets from ai import AI -from db import DB -from OpenSSL import crypto class API: def __init__(self): - self.crypt_size = 4096 self.app = Flask(__name__) self.ai_response = {} self.ai = AI() - self.db = DB() CORS(self.app) def run(self): @self.app.route('/interstellar/api/ai_create', methods=['GET']) def create_ai(): - access_token = secrets.token_urlsafe(self.crypt_size) + access_token = secrets.token_urlsafe(4096) self.ai_response[access_token] = "" return jsonify({'status': 200, 'access_token': access_token}) @@ -40,53 +36,7 @@ class API: return jsonify({'status': 401, 'error': 'Invalid access token'}) return jsonify({'status': 200, 'response': self.ai_response[data]}) - @self.app.route('/interstellar/api/db', methods=['POST']) - def db_manipulate(): - action = request.args.get('action') - data = request.args.get('data') - if action == "create_account": - self.db.add_user(data) - if action == "change_password": - self.db.update_password(data) - if action == "get_data": - self.db.get_additional_info(data) - if action == "check_credentials": - self.db.check_credentials(data) - - email_address = "emailAddress" - common_name = "commonName" - country_name = "NT" - locality_name = "localityName" - state_or_province_name = "stateOrProvinceName" - organization_name = "organizationName" - organization_unit_name = "organizationUnitName" - serial_number = 0 - validity_start_in_seconds = 0 - validity_end_in_seconds = 10 * 365 * 24 * 60 * 60 - k = crypto.PKey() - k.generate_key(crypto.TYPE_RSA, 4096) - cert = crypto.X509() - cert.get_subject().C = country_name - cert.get_subject().ST = state_or_province_name - cert.get_subject().L = locality_name - cert.get_subject().O = organization_name - cert.get_subject().OU = organization_unit_name - cert.get_subject().CN = common_name - cert.get_subject().emailAddress = email_address - cert.set_serial_number(serial_number) - cert.gmtime_adj_notBefore(validity_start_in_seconds) - cert.gmtime_adj_notAfter(validity_end_in_seconds) - cert.set_issuer(cert.get_subject()) - cert.set_pubkey(k) - cert.sign(k, 'sha512') - - with open("cert.pem", "wt") as f: - f.write(crypto.dump_certificate(crypto.FILETYPE_PEM, cert).decode("utf-8")) - - with open("key.pem", "wt") as f: - f.write(crypto.dump_privatekey(crypto.FILETYPE_PEM, k).decode("utf-8")) - - ssl_context = ("cert.pem", "key.pem") + ssl_context = ('cert.pem', 'key.pem') self.app.run(debug=True, host='0.0.0.0', port=5000, ssl_context=ssl_context) diff --git a/py/db.py b/py/db.py deleted file mode 100644 index 37c9ca0..0000000 --- a/py/db.py +++ /dev/null @@ -1,51 +0,0 @@ -import json -import hashlib - - -class DB: - def __init__(self): - self.database = {} - - @staticmethod - def hash_password(password): - salt = "your_secret_salt" - hashed_password = hashlib.sha256((password + salt).encode()).hexdigest() - return hashed_password - - def add_user(self, data): - username = data.get['username'] - password = data.get['password'] - hashed_password = self.hash_password(password) - user_data = {"hashed_password": hashed_password} - self.database[username] = user_data - - def update_password(self, data): - username = data.get['username'] - old_password = data.get['old_password'] - new_password = data.get['new_password'] - if not self.check_credentials(data): - return False - - hashed_new_password = self.hash_password(new_password) - self.database[username].update({"hashed_password": hashed_new_password}) - return True - - def check_credentials(self, data): - username = data.get['username'] - password = data.get['password'] - if username not in self.database: - return False - - stored_hashed_password = self.database[username]["hashed_password"] - entered_hashed_password = self.hash_password(password) - return stored_hashed_password == entered_hashed_password - - def get_additional_info(self, data): - username = data.get['username'] - password = data.get['password'] - if not self.check_credentials(data): - return None - - send_back = self.database[username] - del send_back['hashed_password'] - return send_back diff --git a/py/install.sh b/py/install.sh index 1fbdcba..31bb21e 100644 --- a/py/install.sh +++ b/py/install.sh @@ -1,3 +1,4 @@ +openssl req -x509 -newkey rsa:4096 -nodes -keyout key.pem -out cert.pem -days 365 python -m venv venv source venv/bin/activate pip install -r requirements.txt diff --git a/py/requirements.txt b/py/requirements.txt index 144c571..b4f811a 100644 --- a/py/requirements.txt +++ b/py/requirements.txt @@ -1,5 +1,4 @@ flask flask-cors ollama -mistralai -pyOpenSSL \ No newline at end of file +mistralai \ No newline at end of file diff --git a/tailwind.config.ts b/tailwind.config.ts index a883ff7..d43da91 100644 --- a/tailwind.config.ts +++ b/tailwind.config.ts @@ -9,13 +9,11 @@ const config: Config = { theme: { extend: { colors: { - 'history-background': 'var(--history-background-color)', - 'text-color': 'var(--text-color)', - 'input-button-hover-color': 'var(--input-button-hover-color)', + background: "var(--background)", + foreground: "var(--foreground)", }, }, }, plugins: [], }; - export default config;