{"_id":"@aarden/native-system","_rev":"3-380244e36f6d4fac5a5a99b496be0aee","name":"@aarden/native-system","dist-tags":{"latest":"0.0.4"},"versions":{"0.0.2":{"name":"@aarden/native-system","version":"0.0.2","keywords":["aarden","hybrid","client","server","driver"],"author":{"name":"Charl","email":"charl.xacra@gmail.com"},"license":"MIT","_id":"@aarden/native-system@0.0.2","maintainers":[{"name":"charlsteynberg","email":"charl.aarden@gmail.com"}],"homepage":"https://gitlab.com/sudo8594302/aarden","bugs":{"url":"https://gitlab.com/menyedari/aarden/-/issues"},"os":["!win32"],"bin":{"native-system":"aarden"},"dist":{"shasum":"0e24d34eff10a5e43d43284cf9f30cebdcd8477a","tarball":"https://registry.npmjs.org/@aarden/native-system/-/native-system-0.0.2.tgz","fileCount":147,"integrity":"sha512-K/CgeJnv/1iIsIXnGtMeeROTBJ6isNBpAWj4yOm9fGJQNTRx7pR40iURAno51Sp8GO57E0yuHTYIvMaf80pXvw==","signatures":[{"sig":"MEUCIHzOKWjhsTNsbETNqfpEgGhhxBjJ24uuou/FITO6k/CVAiEAswf+Q4Nti54/Ha8vEcpn5JuvNdk46uL/48Ut+USQavI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5022235},"main":"index.mjs","type":"module","gitHead":"24a03a887662be2bddd70dad0824fb76a1c0806b","scripts":{},"_npmUser":{"name":"charlsteynberg","email":"charl.aarden@gmail.com"},"repository":{"url":"git+https://gitlab.com/sudo8594302/aarden.git","type":"git"},"_npmVersion":"10.8.2","description":"extensible crud-based tool library","directories":{"apps":"./apps","core":"./core","docs":"./docs","pack":"./pack","seed":"./seed","user":"./user"},"_nodeVersion":"18.20.8","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/native-system_0.0.2_1773406969814_0.3850678681371882","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@aarden/native-system","version":"0.0.3","keywords":["aarden","hybrid","client","server","driver"],"author":{"name":"Charl","email":"charl.xacra@gmail.com"},"license":"MIT","_id":"@aarden/native-system@0.0.3","maintainers":[{"name":"charlsteynberg","email":"charl.aarden@gmail.com"}],"homepage":"https://gitlab.com/sudo8594302/aarden","bugs":{"url":"https://gitlab.com/menyedari/aarden/-/issues"},"os":["!win32"],"bin":{"native-system":"aarden"},"dist":{"shasum":"7d1776c79b79261ebac274f1bac4931025ed5555","tarball":"https://registry.npmjs.org/@aarden/native-system/-/native-system-0.0.3.tgz","fileCount":147,"integrity":"sha512-p5cc+CM9eJeki66Q452BE2wjCl3f+ADrZRjj+JUfX9b5RfCwHiDWEeiXGcFe6/RZmeQF6aHCUavH8d6sAqxVOA==","signatures":[{"sig":"MEQCIEKZG+wLdnp+p5Mw2gwJpm2tDVxGSnC83BPLxoDgLnRjAiAgY6+mnkF/trnEiVRUjpM5AGQkRdsZ4OxqUItGi34ppQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5021972},"main":"index.mjs","type":"module","gitHead":"2210925c6436e4e457031ce00a5e9f422b7a05e6","scripts":{},"_npmUser":{"name":"charlsteynberg","email":"charl.aarden@gmail.com"},"repository":{"url":"git+https://gitlab.com/sudo8594302/aarden.git","type":"git"},"_npmVersion":"10.8.2","description":"extensible crud-based tool library","directories":{"apps":"./apps","core":"./core","docs":"./docs","pack":"./pack","seed":"./seed","user":"./user"},"_nodeVersion":"18.20.8","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/native-system_0.0.3_1773408399031_0.8061782490486962","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@aarden/native-system","version":"0.0.4","description":"extensible crud-based tool library","os":["!win32"],"main":"index.mjs","type":"module","scripts":{},"bin":{"aarden":"aarden"},"repository":{"type":"git","url":"git+https://gitlab.com/sudo8594302/aarden.git"},"keywords":["aarden","hybrid","client","server","driver"],"author":{"name":"Charl","email":"charl.xacra@gmail.com"},"license":"MIT","bugs":{"url":"https://gitlab.com/menyedari/aarden/-/issues"},"homepage":"https://gitlab.com/sudo8594302/aarden","dependencies":{},"directories":{"apps":"./apps","core":"./core","docs":"./docs","pack":"./pack","seed":"./seed","user":"./user"},"_id":"@aarden/native-system@0.0.4","gitHead":"b053e613fd344c8e47c625ca879edacbf49c9417","_nodeVersion":"18.20.8","_npmVersion":"10.8.2","dist":{"integrity":"sha512-n5wf6EQSQrsadE6KnU5TbMNzPeIAbtKjTFvPZEULqTxnOh/o3c8z882XDbF85CLWTpSZ5qABL7U4nJQNLlDYIw==","shasum":"a60923aee4da5e50b32c14d5c3c1a40592e0cedc","tarball":"https://registry.npmjs.org/@aarden/native-system/-/native-system-0.0.4.tgz","fileCount":147,"unpackedSize":5021992,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCzSm73iSr8KL19Vaq/8mJvhjEzdXF8NAtEc3mDSBISmgIhAOXoW4/6NrvUVERxiprSz46f3CZ6OVwTFDF0WVKfvbq9"}]},"_npmUser":{"name":"charlsteynberg","email":"charl.aarden@gmail.com"},"maintainers":[{"name":"charlsteynberg","email":"charl.aarden@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/native-system_0.0.4_1773474434174_0.535062120899036"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-13T13:02:49.686Z","modified":"2026-03-14T07:47:14.609Z","0.0.2":"2026-03-13T13:02:50.147Z","0.0.3":"2026-03-13T13:26:39.324Z","0.0.4":"2026-03-14T07:47:14.483Z"},"bugs":{"url":"https://gitlab.com/menyedari/aarden/-/issues"},"author":{"name":"Charl","email":"charl.xacra@gmail.com"},"license":"MIT","homepage":"https://gitlab.com/sudo8594302/aarden","keywords":["aarden","hybrid","client","server","driver"],"repository":{"type":"git","url":"git+https://gitlab.com/sudo8594302/aarden.git"},"description":"extensible crud-based tool library","maintainers":[{"name":"charlsteynberg","email":"charl.aarden@gmail.com"}],"readme":"## Aarden: The Signal-Driven Approach to Software\n\n> \"The brain is a world consisting of a number of unexplored continents and great stretches of unknown territory.\"\n— Santiago Ramón y Cajal, Nobel Prize-winning neuroscientist\n\n## Installation\nAarden can be included in any project, client -or server side, etheir by npm module, or using the files found here in `./seed/source` as packed modules, or by running aarden via npx without installing.\nThe AardenSDK should work in any Linux environment, here are the requirements:\n\n### dependencies\n- any Linux OS platform/environment\n- works well in Termux on Android, requires Termux to be installed\n- cURL or npm, nodejs, git ... you only need `npm` though\n\n### procedure\nOpen your bash terminal and run one of the following commands, depending on what is available on your system.\n\nTo run the aarden web server on any folder without installing, use the following command:\n```\nnpx @aarden/native-system server attend\n```\n\n#### &nbsp;\n\nTo install the AardenSDK natively on your server/pc/smartphone, the following should suffice:\n\n```\nnpx @aarden/native-system deploy native\n```\n\n#### &nbsp;\n\n ... or try the folllwing:\n\n```\ncurl -fsSL https://gitlab.com/sudo8594302/aarden/-/raw/main/seed/source/aarden.deploy.native.bsh | bash\n```\n\n\n---\n\n## Introduction \nContextual awareness, paradoxical reasoning and circular detection?\nAarden is not a framework. It's a reactive, adaptive toolkit for composing software through signals, structured data flows, and intelligent process management. It introduces a new way of thinking about applications - one that mimics the principles of neural networks, quantum mechanics, and information theory to create systems that are modular, scalable, and self-propagating.\n\nAt its core, Aarden consists of two main components:\n\n- **AardenJS** – The lightweight signal-driven toolkit. This can be added to any JavaScript project to enhance event handling, reactive structures, and inter-component communication.\n- **AardenSDK** – The structured ecosystem for those who want to build full applications with functional objects, client-server synchronization, and modular applets.\n\nAarden doesn't impose rules, it provides tools; use what you need, ignore what you don't.\n\n---\n\n\n## Signals, Synapses, and the Plexus\n\nAarden is built on the concept of the Plexus, a reactive broker that manages structured data interactions.\n\nA Plexus:\n\n- Listens only for signals it has been instructed to trap and handle.\n- Routes data between sources and consumers dynamically.\n- Propagates changes only when necessary, minimizing unnecessary computations.\n\n![image](docs/images/1740681936247.jpg)\n\nMuch like neurons in a brain, Plexii (plural of Plexus) don't respond unless they are actively listening for a given signal. This means zero wasted computation; Aarden is built for efficiency.\n\nEach Plexus:\n\n- Can have multiple sources.\n- Can signal actions to many listeners.\n- Stops propagating when a valid response is found.\n\nThis is different from classical event bubbling, but rather signal selection using a crystal algorithm grown from sources, traps, listeners and signals. These 4 interface points form a single unit, a geometrical tetrahedron as the kernel of a plexus; for without any of these, it's inert.\n\n> *a song dedicated to this principle in Aarden: [crystal algorithm](https://youtu.be/V1PW7AYIx-c)*\n\n#### SEMI-CRUD: A Structured Yet Fluid Data Model\n\nAarden's SEMI-CRUD data model introduces a flexible approach to working with data, or any reference. Each word is a globally accessible method that emits a signal when run, or when any property of it is accessed - existing or not.\n\nThese global methods (plexii) operate in context and handle \"the matter\" it was called with according to its identifier type and its value.\n\n> *in Aarden, \"the matter\" refers to the first argument given in a function call*\n\n- `Select` – Retrieve specific matter.\n- `Exists` – Check if matter exists before acting on it.\n- `Modify` – Change matter dynamically.\n- `Insert` – Add new matter.\n- `Create` – Generate new matter.\n- `Remove` – Erase matter, gracefully.\n- `Update` – Synchronize changes across the system.\n- `Detect` – Identify anything according to type and kind.\n\nThis system allows for graceful degradation, much like missing elements don't break processes in CSS, or the DOM for example. Instead of just throwing errors and have them bubble unguided, Aarden's signals respond dynamically, handles any failure within the signal propagation cycle.\n\nOther globals that Arden introduce, such as `Device` have semi-crud methods themselves - which operate on the plexus they belong to; these methods are also seen in other globals such as `Object`.\n\nThe principle here is just like e.g: `Object.create`, `Object.assign`, etc; this is seen through all the globals, for example:\n\n- `Object.detect` - type of matter, or detect circular matter (optional)\n- `String.detect` - type of string, e.g: target, object, script, etc.\n- `Method.detect` - type of function, e.g: class, function, callback, method.\n\n---\n\n\n## AardenJS: A Toolkit, Not a Framework\n\nMost frameworks demand commitment. AardenJS does not. It can be dropped into any JavaScript project, providing tools for:\n\n- Signal-driven workflows\n- Efficient event handling\n- Dynamic state propagation\n- Plexus-based communication between objects, or functions\n\n![image](docs/images/1740681339532.jpg)\n\nAardenJS lets developers compose reactive, self-organizing systems inside any existing JavaScript codebase.\n\nFor example:\n\n```js\nconst dataPlex = ( new Plexus() ).listen\n({\n    fetchData ( signal )\n    { return `Hello ${signal.name}!` }\n});\n\ndump( dataPlex.signal(\"fetchData\", {name:\"Bob\"}) ); // Hello Bob!\n```\nNo unnecessary complexity.\n\n---\n\n\n## AardenSDK: Composing Modular Applets\n\nWhile AardenJS is a toolkit, the AardenSDK is a structured environment for building applications using Aarden's principles.\n\nIn Aarden, an applet is a self-contained unit, a Plexus of functional objects that can operate independently or as part of a larger system.\n\n![image](docs/images/1740681936248.jpg)\n\nThis structure allows applications to be built like assembling LEGO blocks -  modular, reusable, and highly adaptive, because, all components are signal-driven, meaning:\n\n- State is automatically synchronized.\n- Client and server logic exist within the same functional object.\n- Dependencies are resolved dynamically.\n\n---\n\n\n## The Seed: Snapshots of a Running Aarden Process\n\nIn Aarden, snapshots can be taken of an entire running system, freezing all active Plexii and their current state into a single, installable package.\n\n![image](docs/images/1740681936249.jpg)\n\nThis snapshot, called the Seed or Flame, contains:\n\n- All live Plexii and their signals.\n- All event listeners and dependencies.\n- Serialized state, allowing it to be restored elsewhere.\n\n\nThis means an entire Aarden process can be paused, transferred, and restarted identically.\n\n---\n\n\n## Beyond Software: A Mycelial Network of Narrow AI\n\nAarden is built on the principles of distributed intelligence. It is not just for frontends, backends, or full-stack apps; it is also designed to function as a network of collaborating AI agents.\n\nBy connecting AardenJS and AardenSDK to AI workflows, developers can:\n\n- Orchestrate AI tasks across multiple specialized models.\n- Compose intelligent processes dynamically.\n- Enable AI-to-AI collaboration via signal-driven workflows.\n\n\nAarden can be used to integrate conversational LLMs, narrow AI agents, and real-world automation systems, making it a composable intelligence layer rather than just another software tool.\n\n---\n\n\n## Conclusion: Aarden is an Evolution in Software Composition\n\nAarden challenges traditional software development paradigms by introducing a signal-driven, adaptive, and modular approach. It is not a framework - it is a toolkit that enhances existing projects, and an ecosystem for those who want a structured, composable environment.\n\nIt allows developers to build software like nature builds networks efficiently, reactively, and without unnecessary complexity.\n\n![image](docs/images/1740681792216.jpg)\n\n> “Look deep into nature, and then you will understand everything better.”\n— Albert Einstein\n\n\n\nAarden is not just a tool. It's a new way to think about software.\n\n---\n\n\n## Collaboration\n\nJoin the revolution!\n\nAllow us to inspire you with art dedicated to this project:\n- official music album: [Aarden - Signal Of Creation](https://youtube.com/playlist?list=PLjZRkWY4UWAicrIzP6qJN8xOpDQ_VlMp3)\n\nThis repository here serves as a silo of ideas and public interaction hub for this project; however the source code is revealed .. from `a to b` [Zm9sbG93IHRoZSBzaWduYWw](https://gitlab.com/sudo8594302/aarden.git) .\n","readmeFilename":"README.md"}