- the initial maple setup build will be affected by user selective services - e.g. maybe no discord or telegram, and maybe not matrix either, not every user will require 100% of the services in full fledge operation.
- crypto_plugin also has it's own developer key, cryptocompare needs to be added to the rest of the devkeys
- tool_colors_plugin, colorform - this plugin has a formatting glitch and is still offline in a few modules due to chaos variable formatting randomness - it requires better sanitization and exception handling alternatives.
- - it should be in every plugin replacing the print function when fully sanitized by formatting schemes and center piece to the main admin heads up display pane.
- cleanup tools_bus_plugin, there was input/output bridge messaging - this code will be re merged
- cleanup tools_dim_plugin, there is lingering code that is either offline or antiquated but interwoven in #s
- openai plugin is written and functions, the setup automation has omitted it's incorporation until baselined
- convert escaped irc color codes back to terminal codes for ansi_plugin.py
# [ `CHANGELOG`/`VERSION HISTORY` ]
# **v2.7**
- user tailorization
- automated setup
# **v2.666-3**
- changed the directory structure for ease of use with the hydra system during development
- ive got the hydra system split down at minimal 3.. 1 that stays up no matter what, another that runs
- all of services developed up to this point, and the last one is kind of like the core, it's stripped
- of services because there is already a bot running services but this one can develop new services and
- stop,start,restart,crash etc.. as much as the developer would like with out sacraficing being online
- or known services going offline..
# **v2.666-2**
- plugins/ansi_plugin.py is an ansi recapture utility.. basically if someone is pumping ansi art into a
- channel this will copy it 1:1 but for the intent of using 'ansipants', converting the graphic to an image
- and then re-uploading the image rather than the ansi/utf8 to discord/matrix/telegram due to the fact they
- easily or properly display ansi graphics but they show images.
# **v2.666-1**
- plugins/net_hydra_plugin.py is a multiband wrapper that i use as a headless hydra code/debug logic.
- meaning a core, that stripped of services will always be online, so no matter what a presensce is online.
- anything non core is a dupe, aka hydra.. one may run the ai one machine, and another may just be that im
- coding something and dont want service to go offline and yet i myself require them to code. so that is
- why and how this hydra logic is used, and it because of features of sasl authentication that it's done.
# **v2.666**
- fixed bridge responses double echoing
- simplified the calling of some plugins
- incorporated a multihead wrapper to keep services running
# **v2.5**
- telegram/discord/matrix/irc now netspanned ( always more to do )
- the routerio logic mostly finished in plugins/tool_bus_plugin.py
- the way inter-process threads are handled are now speakable/observable
- maple ai is now online, it's very fast now, almost immediate response
---
# **v2.4**
- telegram netspanned
- experimenting with color coding
---
# **v2.3**
- discord netspanned
---
# **v2.2**
- matrix netspanned
---
# **v2.1**
- tried pyenv+pipenv, ended up up reverting back to pure virtualenv for consistency.
MAPLE COMMUNICATES VIA A NETSPANNED 'MATRIX PROTOCOL', HER PLUGIN REQUIRES A MATRIX API CLIENT WHICH IN THIS CASE IS A PYTHON MODULE NAMED 'NIO' TO FACILITATE THAT. WHERE MATRIX CHANNEL/USER ENCRYPTION IS USED, AN ADDITIONAL (BASE) LIBRARY IS REQUIRED TO SIMPLIFY THIS 'OLM/MEGOLM DOUBLE RATCHET END-2-END ENCRYPTION'. FOR 'OLM' -A SYSTEM LIBRARY AND A LANGUAGE BINDINGS TO THAT SYSTEM LIBRARY ARE BOTH REQUIRED. THIS TEST SYSTEM IS DEBIAN, THE SYSTEM LIBRARY WE BUILD IS 'LIBOLM.SO', OUR SCRIPTED PROGRAMMING LANGUAGE IS PYTHON V3.9 AND THIS REQUIRES A PORTING OF SORTS OR COMPATIBILITY LAYER KNOWN AS BINDINGS TO ACCESS THAT SYSTEM LIBRARY. POINT BEING- WITHOUT 'OLM' OUR SERVICE AI BOT MAPLE IS OTHERWISE BLIND AND CAN NOT SEE TO ACKNOWLEDGE 'ANY' OUTBOUND COMMUNICATION FROM 'ANY' POINTS OF ORIGIN WHERE USERS/CHANNELS HAVE THAT E2E ENCRYPTION ENABLED.
assuming you are using maple bot, we are going to skip over that bot's setup directly to where we are dropping in the 'olm' library for e2e functionality
# E - `enter maple's root directory to activate that virtual environment, this is so when we go to install these 'olm python bindings' they will be attached correctly. finally, we have to enable all these things we done for the 'nio' matrix api client`
Using cached cffi-1.15.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (441 kB)
Requirement already satisfied: future in /home/dr1p/maple/env/lib/python3.9/site-packages (from python-olm==3.2.12) (0.18.2)
Collecting pycparser
Using cached pycparser-2.21-py2.py3-none-any.whl (118 kB)
Building wheels for collected packages: python-olm
Building wheel for python-olm (setup.py) ... done
Created wheel for python-olm: filename=python_olm-3.2.12-cp39-cp39-linux_x86_64.whl size=133136 sha256=87e55620faaff38a54474fe7a230b2baa10d1371d2c339ee89bd26769c678478
Stored in directory: /tmp/pip-ephem-wheel-cache-694ae4yo/wheels/a4/f7/aa/838212f08c0e2322272e3054a1ed5a6d4f3d27e998a34f973d
# 3 - `to enable 'olm' is really just switch over from build of 'nio' to a different build of 'nio'. this new one is purposely based in this 'olm' library`
dr1p in 🌐 SAISABER in olm/python on master via 🐍 v3.9.2 (env) took 5s
❯ pip install "matrix-nio[e2e]"
Requirement already satisfied: matrix-nio[e2e] in /home/dr1p/maple/env/lib/python3.9/site-packages (0.20.0)
Requirement already satisfied: pycryptodome<4.0.0,>=3.10.1 in /home/dr1p/maple/env/lib/python3.9/site-packages (from matrix-nio[e2e]) (3.15.0)
Requirement already satisfied: aiohttp<4.0.0,>=3.7.4 in /home/dr1p/maple/env/lib/python3.9/site-packages (from matrix-nio[e2e]) (3.8.3)
Requirement already satisfied: future<0.19.0,>=0.18.2 in /home/dr1p/maple/env/lib/python3.9/site-packages (from matrix-nio[e2e]) (0.18.2)
Requirement already satisfied: aiohttp-socks<0.8.0,>=0.7.0 in /home/dr1p/maple/env/lib/python3.9/site-packages (from matrix-nio[e2e]) (0.7.1)
Requirement already satisfied: h2<5.0.0,>=4.0.0 in /home/dr1p/maple/env/lib/python3.9/site-packages (from matrix-nio[e2e]) (4.1.0)
Requirement already satisfied: unpaddedbase64<3.0.0,>=2.1.0 in /home/dr1p/maple/env/lib/python3.9/site-packages (from matrix-nio[e2e]) (2.1.0)
Requirement already satisfied: jsonschema<5.0.0,>=4.4.0 in /home/dr1p/maple/env/lib/python3.9/site-packages (from matrix-nio[e2e]) (4.16.0)
Requirement already satisfied: h11<0.13.0,>=0.12.0 in /home/dr1p/maple/env/lib/python3.9/site-packages (from matrix-nio[e2e]) (0.12.0)
Requirement already satisfied: logbook<2.0.0,>=1.5.3 in /home/dr1p/maple/env/lib/python3.9/site-packages (from matrix-nio[e2e]) (1.5.3)
Requirement already satisfied: aiofiles<0.7.0,>=0.6.0 in /home/dr1p/maple/env/lib/python3.9/site-packages (from matrix-nio[e2e]) (0.6.0)
Collecting atomicwrites<2.0.0,>=1.4.0
Downloading atomicwrites-1.4.1.tar.gz (14 kB)
Preparing metadata (setup.py) ... done
Requirement already satisfied: python-olm<4.0.0,>=3.1.3 in /home/dr1p/maple/env/lib/python3.9/site-packages (from matrix-nio[e2e]) (3.2.12)
Requirement already satisfied: cachetools<5.0.0,>=4.2.1 in /home/dr1p/maple/env/lib/python3.9/site-packages (from matrix-nio[e2e]) (4.2.2)
Collecting peewee<4.0.0,>=3.14.4
Downloading peewee-3.15.3.tar.gz (858 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 858.6/858.6 kB 10.3 MB/s eta 0:00:00
Preparing metadata (setup.py) ... done
Requirement already satisfied: charset-normalizer<3.0,>=2.0 in /home/dr1p/maple/env/lib/python3.9/site-packages (from aiohttp<4.0.0,>=3.7.4->matrix-nio[e2e]) (2.1.1)
Requirement already satisfied: async-timeout<5.0,>=4.0.0a3 in /home/dr1p/maple/env/lib/python3.9/site-packages (from aiohttp<4.0.0,>=3.7.4->matrix-nio[e2e]) (4.0.2)
Requirement already satisfied: frozenlist>=1.1.1 in /home/dr1p/maple/env/lib/python3.9/site-packages (from aiohttp<4.0.0,>=3.7.4->matrix-nio[e2e]) (1.3.1)
Requirement already satisfied: attrs>=17.3.0 in /home/dr1p/maple/env/lib/python3.9/site-packages (from aiohttp<4.0.0,>=3.7.4->matrix-nio[e2e]) (22.1.0)
Requirement already satisfied: multidict<7.0,>=4.5 in /home/dr1p/maple/env/lib/python3.9/site-packages (from aiohttp<4.0.0,>=3.7.4->matrix-nio[e2e]) (6.0.2)
Requirement already satisfied: yarl<2.0,>=1.0 in /home/dr1p/maple/env/lib/python3.9/site-packages (from aiohttp<4.0.0,>=3.7.4->matrix-nio[e2e]) (1.8.1)
Requirement already satisfied: aiosignal>=1.1.2 in /home/dr1p/maple/env/lib/python3.9/site-packages (from aiohttp<4.0.0,>=3.7.4->matrix-nio[e2e]) (1.2.0)
Requirement already satisfied: python-socks[asyncio]<3.0.0,>=2.0.0 in /home/dr1p/maple/env/lib/python3.9/site-packages (from aiohttp-socks<0.8.0,>=0.7.0->matrix-nio[e2e]) (2.0.3)
Requirement already satisfied: hpack<5,>=4.0 in /home/dr1p/maple/env/lib/python3.9/site-packages (from h2<5.0.0,>=4.0.0->matrix-nio[e2e]) (4.0.0)
Requirement already satisfied: hyperframe<7,>=6.0 in /home/dr1p/maple/env/lib/python3.9/site-packages (from h2<5.0.0,>=4.0.0->matrix-nio[e2e]) (6.0.1)
Requirement already satisfied: pyrsistent!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0 in /home/dr1p/maple/env/lib/python3.9/site-packages (from jsonschema<5.0.0,>=4.4.0->matrix-nio[e2e]) (0.18.1)
Requirement already satisfied: cffi>=1.0.0 in /home/dr1p/maple/env/lib/python3.9/site-packages (from python-olm<4.0.0,>=3.1.3->matrix-nio[e2e]) (1.15.1)
Requirement already satisfied: pycparser in /home/dr1p/maple/env/lib/python3.9/site-packages (from cffi>=1.0.0->python-olm<4.0.0,>=3.1.3->matrix-nio[e2e]) (2.21)
Requirement already satisfied: idna>=2.0 in /home/dr1p/maple/env/lib/python3.9/site-packages (from yarl<2.0,>=1.0->aiohttp<4.0.0,>=3.7.4->matrix-nio[e2e]) (2.10)
Building wheels for collected packages: atomicwrites, peewee
Building wheel for atomicwrites (setup.py) ... done
Created wheel for atomicwrites: filename=atomicwrites-1.4.1-py2.py3-none-any.whl size=6943 sha256=ac56bd16b57e62ad7e6ba608848839761d0ccc2159f0e49666509f442f56ffda
Stored in directory: /home/dr1p/.cache/pip/wheels/2a/b5/06/d2f34584f352e4af7d1d7ac1baf38b5d24142c8044cd024fd5
Building wheel for peewee (setup.py) ... done
Created wheel for peewee: filename=peewee-3.15.3-py3-none-any.whl size=134170 sha256=9ad2e9a6171911168d33d15c66960d15103fc3553675a67ca680269745c0805b
Stored in directory: /home/dr1p/.cache/pip/wheels/18/97/9a/f80ba10d0b6e96c9b77abfc8b8de18c71694b624011f571d9a
# F - note: `how i knew these changes actually worked was my lack of having placed the 'olm system library' in the right place before starting a maple instance - so it crashed`