From d16d7a128f7375c17680242e46127a5468a0180e Mon Sep 17 00:00:00 2001 From: Danny Morabito Date: Sun, 12 Oct 2025 13:10:06 -0500 Subject: [PATCH] initial version (alpha) --- .githooks/pre-commit | 21 + .gitignore | 34 + .zed/settings.json | 7 + LICENSE.md | 650 ++++++ README.md | 113 + assets/logo.png | Bin 0 -> 754483 bytes biome.json | 38 + bun.lock | 164 ++ bunfig.toml | 2 + index.ts | 418 ++++ package.json | 30 + src/arxlets.ts | 59 + src/ccns.ts | 408 ++++ src/ccns/reputation.ts | 150 ++ src/consts.ts | 4 + src/eventPlugin.ts | 45 + src/pages/docs/arxlets/arxlet-docs-out.html | 1825 +++++++++++++++++ src/pages/docs/arxlets/arxlet-docs.adoc | 979 +++++++++ src/pages/docs/arxlets/arxlet-docs.css | 746 +++++++ src/pages/docs/arxlets/arxlet-docs.html | 26 + src/pages/docs/arxlets/arxlet-docs.jsx | 343 ++++ .../docs/arxlets/components/APISection.jsx | 678 ++++++ .../components/BestPracticesSection.jsx | 628 ++++++ .../docs/arxlets/components/CodeBlock.jsx | 53 + .../arxlets/components/DevelopmentSection.jsx | 471 +++++ .../arxlets/components/ExamplesSection.jsx | 60 + .../docs/arxlets/components/LLMsSection.jsx | 15 + .../arxlets/components/OverviewSection.jsx | 50 + .../components/RegistrationSection.jsx | 147 ++ .../docs/arxlets/examples/CounterExample.jsx | 20 + .../docs/arxlets/examples/DevelopmentTips.jsx | 623 ++++++ .../examples/NostrPublisherExample.jsx | 20 + .../arxlets/examples/PreactCounterExample.jsx | 20 + .../arxlets/examples/SvelteCounterExample.jsx | 55 + .../docs/arxlets/highlight/build-command.sh | 1 + src/pages/docs/arxlets/highlight/context.md | 718 +++++++ src/pages/docs/arxlets/highlight/counter.ts | 44 + .../docs/arxlets/highlight/eve-api-example.ts | 55 + .../docs/arxlets/highlight/nostr-publisher.ts | 85 + .../docs/arxlets/highlight/preact-counter.tsx | 61 + .../arxlets/highlight/registration-event.json | 12 + .../docs/arxlets/highlight/render-function.ts | 23 + .../highlight/subscription-examples.ts | 54 + .../arxlets/highlight/svelte-counter.svelte | 49 + .../arxlets/highlight/type-definitions.ts | 48 + .../arxlets/highlight/websocket-example.ts | 18 + .../arxlets/hooks/useSyntaxHighlighting.js | 30 + src/pages/home/home.css | 5 + src/pages/home/home.html | 285 +++ src/rollingIndex.ts | 100 + src/utils/Uint8Array.ts | 83 + src/utils/color.ts | 46 + src/utils/encryption.ts | 193 ++ src/utils/files.ts | 29 + src/utils/general.ts | 98 + src/validation/index.ts | 119 ++ tsconfig.json | 29 + 57 files changed, 11087 insertions(+) create mode 100755 .githooks/pre-commit create mode 100644 .gitignore create mode 100644 .zed/settings.json create mode 100644 LICENSE.md create mode 100644 README.md create mode 100644 assets/logo.png create mode 100644 biome.json create mode 100644 bun.lock create mode 100644 bunfig.toml create mode 100644 index.ts create mode 100644 package.json create mode 100644 src/arxlets.ts create mode 100644 src/ccns.ts create mode 100644 src/ccns/reputation.ts create mode 100644 src/consts.ts create mode 100644 src/eventPlugin.ts create mode 100644 src/pages/docs/arxlets/arxlet-docs-out.html create mode 100644 src/pages/docs/arxlets/arxlet-docs.adoc create mode 100644 src/pages/docs/arxlets/arxlet-docs.css create mode 100644 src/pages/docs/arxlets/arxlet-docs.html create mode 100644 src/pages/docs/arxlets/arxlet-docs.jsx create mode 100644 src/pages/docs/arxlets/components/APISection.jsx create mode 100644 src/pages/docs/arxlets/components/BestPracticesSection.jsx create mode 100644 src/pages/docs/arxlets/components/CodeBlock.jsx create mode 100644 src/pages/docs/arxlets/components/DevelopmentSection.jsx create mode 100644 src/pages/docs/arxlets/components/ExamplesSection.jsx create mode 100644 src/pages/docs/arxlets/components/LLMsSection.jsx create mode 100644 src/pages/docs/arxlets/components/OverviewSection.jsx create mode 100644 src/pages/docs/arxlets/components/RegistrationSection.jsx create mode 100644 src/pages/docs/arxlets/examples/CounterExample.jsx create mode 100644 src/pages/docs/arxlets/examples/DevelopmentTips.jsx create mode 100644 src/pages/docs/arxlets/examples/NostrPublisherExample.jsx create mode 100644 src/pages/docs/arxlets/examples/PreactCounterExample.jsx create mode 100644 src/pages/docs/arxlets/examples/SvelteCounterExample.jsx create mode 100644 src/pages/docs/arxlets/highlight/build-command.sh create mode 100644 src/pages/docs/arxlets/highlight/context.md create mode 100644 src/pages/docs/arxlets/highlight/counter.ts create mode 100644 src/pages/docs/arxlets/highlight/eve-api-example.ts create mode 100644 src/pages/docs/arxlets/highlight/nostr-publisher.ts create mode 100644 src/pages/docs/arxlets/highlight/preact-counter.tsx create mode 100644 src/pages/docs/arxlets/highlight/registration-event.json create mode 100644 src/pages/docs/arxlets/highlight/render-function.ts create mode 100644 src/pages/docs/arxlets/highlight/subscription-examples.ts create mode 100644 src/pages/docs/arxlets/highlight/svelte-counter.svelte create mode 100644 src/pages/docs/arxlets/highlight/type-definitions.ts create mode 100644 src/pages/docs/arxlets/highlight/websocket-example.ts create mode 100644 src/pages/docs/arxlets/hooks/useSyntaxHighlighting.js create mode 100644 src/pages/home/home.css create mode 100644 src/pages/home/home.html create mode 100644 src/rollingIndex.ts create mode 100644 src/utils/Uint8Array.ts create mode 100644 src/utils/color.ts create mode 100644 src/utils/encryption.ts create mode 100644 src/utils/files.ts create mode 100644 src/utils/general.ts create mode 100644 src/validation/index.ts create mode 100644 tsconfig.json diff --git a/.githooks/pre-commit b/.githooks/pre-commit new file mode 100755 index 0000000..8331507 --- /dev/null +++ b/.githooks/pre-commit @@ -0,0 +1,21 @@ +#!/bin/sh + +clear + +echo "Running Biome format..." +bunx @biomejs/biome format --write + +if [ $? -ne 0 ]; then + echo "❌ Biome format failed. Commit rejected." + exit 1 +fi + +echo "Running Biome check on staged files..." +bunx @biomejs/biome check --staged --error-on-warnings --no-errors-on-unmatched + +if [ $? -ne 0 ]; then + exit 1 +fi + +echo "✅ All checks passed. Proceeding with commit." +exit 0 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a14702c --- /dev/null +++ b/.gitignore @@ -0,0 +1,34 @@ +# dependencies (bun install) +node_modules + +# output +out +dist +*.tgz + +# code coverage +coverage +*.lcov + +# logs +logs +_.log +report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json + +# dotenv environment variable files +.env +.env.development.local +.env.test.local +.env.production.local +.env.local + +# caches +.eslintcache +.cache +*.tsbuildinfo + +# IntelliJ based IDEs +.idea + +# Finder (MacOS) folder config +.DS_Store diff --git a/.zed/settings.json b/.zed/settings.json new file mode 100644 index 0000000..8cbcf3c --- /dev/null +++ b/.zed/settings.json @@ -0,0 +1,7 @@ +// Folder-specific settings +// +// For a full list of overridable settings, and general information on folder-specific settings, +// see the documentation: https://zed.dev/docs/configuring-zed#settings-files +{ + "format_on_save": "on" +} diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..28a020b --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,650 @@ +# GNU Affero General Public License + +_Version 3, 19 November 2007_ +_Copyright © 2007 Free Software Foundation, Inc. <>_ + +Everyone is permitted to copy and distribute verbatim copies +of this license document, but changing it is not allowed. + +## Preamble + +The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. + +The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +our General Public Licenses are intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. + +When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + +Developers that use our General Public Licenses protect your rights +with two steps: **(1)** assert copyright on the software, and **(2)** offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + +A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + +The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + +An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. + +The precise terms and conditions for copying, distribution and +modification follow. + +## TERMS AND CONDITIONS + +### 0. Definitions + +“This License” refers to version 3 of the GNU Affero General Public License. + +“Copyright” also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + +“The Program” refers to any copyrightable work licensed under this +License. Each licensee is addressed as “you”. “Licensees” and +“recipients” may be individuals or organizations. + +To “modify” a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a “modified version” of the +earlier work or a work “based on” the earlier work. + +A “covered work” means either the unmodified Program or a work based +on the Program. + +To “propagate” a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + +To “convey” a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + +An interactive user interface displays “Appropriate Legal Notices” +to the extent that it includes a convenient and prominently visible +feature that **(1)** displays an appropriate copyright notice, and **(2)** +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + +### 1. Source Code + +The “source code” for a work means the preferred form of the work +for making modifications to it. “Object code” means any non-source +form of a work. + +A “Standard Interface” means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + +The “System Libraries” of an executable work include anything, other +than the work as a whole, that **(a)** is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and **(b)** serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +“Major Component”, in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + +The “Corresponding Source” for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + +The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + +The Corresponding Source for a work in source code form is that +same work. + +### 2. Basic Permissions + +All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + +You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + +Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + +### 3. Protecting Users' Legal Rights From Anti-Circumvention Law + +No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + +When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + +### 4. Conveying Verbatim Copies + +You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + +You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + +### 5. Conveying Modified Source Versions + +You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + +- **a)** The work must carry prominent notices stating that you modified + it, and giving a relevant date. +- **b)** The work must carry prominent notices stating that it is + released under this License and any conditions added under section 7. + This requirement modifies the requirement in section 4 to + “keep intact all notices”. +- **c)** You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. +- **d)** If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + +A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +“aggregate” if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + +### 6. Conveying Non-Source Forms + +You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + +- **a)** Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. +- **b)** Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either **(1)** a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or **(2)** access to copy the + Corresponding Source from a network server at no charge. +- **c)** Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. +- **d)** Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. +- **e)** Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + +A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + +A “User Product” is either **(1)** a “consumer product”, which means any +tangible personal property which is normally used for personal, family, +or household purposes, or **(2)** anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, “normally used” refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + +“Installation Information” for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + +If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + +The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + +Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + +### 7. Additional Terms + +“Additional permissions” are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + +When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + +Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + +- **a)** Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or +- **b)** Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or +- **c)** Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or +- **d)** Limiting the use for publicity purposes of names of licensors or + authors of the material; or +- **e)** Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or +- **f)** Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + +All other non-permissive additional terms are considered “further +restrictions” within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + +If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + +Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + +### 8. Termination + +You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + +However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated **(a)** +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and **(b)** permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + +Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + +Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + +### 9. Acceptance Not Required for Having Copies + +You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + +### 10. Automatic Licensing of Downstream Recipients + +Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + +An “entity transaction” is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + +You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + +### 11. Patents + +A “contributor” is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's “contributor version”. + +A contributor's “essential patent claims” are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, “control” includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + +Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + +In the following three paragraphs, a “patent license” is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To “grant” such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + +If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either **(1)** cause the Corresponding Source to be so +available, or **(2)** arrange to deprive yourself of the benefit of the +patent license for this particular work, or **(3)** arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. “Knowingly relying” means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + +If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + +A patent license is “discriminatory” if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license **(a)** in connection with copies of the covered work +conveyed by you (or copies made from those copies), or **(b)** primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + +Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + +### 12. No Surrender of Others' Freedom + +If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + +### 13. Remote Network Interaction; Use with the GNU General Public License + +Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. + +Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the work with which it is combined will remain governed by version +3 of the GNU General Public License. + +### 14. Revised Versions of this License + +The Free Software Foundation may publish revised and/or new versions of +the GNU Affero General Public License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU Affero General +Public License “or any later version” applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU Affero General Public License, you may choose any version ever published +by the Free Software Foundation. + +If the Program specifies that a proxy can decide which future +versions of the GNU Affero General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + +Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + +### 15. Disclaimer of Warranty + +THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +### 16. Limitation of Liability + +IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + +### 17. Interpretation of Sections 15 and 16 + +If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + +_END OF TERMS AND CONDITIONS_ + +## How to Apply These Terms to Your New Programs + +If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + +To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the “copyright” line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + +If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a “Source” link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +specific requirements. + +You should also get your employer (if you work as a programmer) or school, +if any, to sign a “copyright disclaimer” for the program, if necessary. +For more information on this, and how to apply and follow the GNU AGPL, see +<>. diff --git a/README.md b/README.md new file mode 100644 index 0000000..b112d8a --- /dev/null +++ b/README.md @@ -0,0 +1,113 @@ +# 🕊️ Eve Lite + +> A lightweight, encrypted Nostr relay that puts your community's privacy first + +Eve Lite is your personal gateway to secure, decentralized communities It creates encrypted "Closed Community Networks" (CCNs) where your messages stay truly private, from everyone. + +## ✨ What makes Eve Lite special? + +**Privacy by Design**: Unlike traditional Nostr relays where your messages are visible to everyone, Eve Lite encrypts everything. If someone gains access to the data, they'll only see encrypted gibberish. + +**Extensible with Arxlets**: Think of Arxlets as mini-apps that run within your CCN. Want custom functionality? Write an Arxlet. Need to share functionality? Publish it for others to use. + +**Dead Simple Setup**: No complex configurations or database management. Eve Lite handles the heavy lifting so you can focus on communicating. + +**Invite-Only Networks**: Create closed communities with your friends, family, or team. Share invite codes to bring people into your private space. + +## 🏗️ How it works + +### Closed Community Networks (CCNs) + +A CCN is like your own private island in the Nostr ocean. Each CCN has: + +- **Unique encryption keys** - Messages are encrypted with network-specific keys +- **Local relay instance** - Each member's own strfry relay runs locally on port 6942 +- **Persistent storage** - All messages are stored locally on each member's device and encrypted + +### The Magic Behind the Scenes + +1. **Encrypted Message Flow**: When you send a message, Eve Lite encrypts it before sending to remote relays +2. **Smart Decryption**: Incoming encrypted messages are automatically decrypted and stored locally +3. **Dual Relay System**: Remote encrypted storage + local decrypted access = best of both worlds +4. **Event Deduplication**: Smart caching prevents processing the same event twice + +### Arxlets: Your Extensibility Layer + +Arxlets are JavaScript-based apps that add functionality to your CCN: + +- Stored as Nostr events (kind 30420) +- Compressed with Brotli for efficiency +- Can be shared across networks +- Perfect for custom UI components, utilities, or integrations + +## 🔧 API Reference + +Eve Lite exposes a RESTful API for building applications: + +### CCN Management + +- `GET /api/ccns` - List all CCNs +- `POST /api/ccns/new` - Create a new CCN +- `POST /api/ccns/join` - Join an existing CCN +- `GET /api/ccns/active` - Get the active CCN +- `POST /api/ccns/active` - Switch active CCN + +### Events & Messages + +- `POST /api/events` - Query events with filters +- `PUT /api/events` - Publish a new event +- `GET /api/events/:id` - Get specific event +- `POST /api/sign` - Sign an event with your key + +### Profiles & Identity + +- `GET /api/avatars/:pubkey` - Get user avatar +- `GET /api/profile/:pubkey` - Get user profile +- `GET /api/pubkey` - Get your public key + +### Arxlets + +- `GET /api/arxlets` - List installed Arxlets +- `GET /api/arxlets/:id` - Get specific Arxlet +- `GET /api/arxlets-available` - Browse available Arxlets + +## 🛠️ Development + +### Running Tests + +```bash +bun test +bun test --watch # Watch mode +``` + +### Code Quality + +This project uses Biome for linting and formatting: + +```bash +bunx @biomejs/biome check +bunx @biomejs/biome format --write +``` + +## 🤝 Contributing + +Found a bug? Have a feature idea? Contributions are welcome! + +1. Fork the repository +2. Create a feature branch: `git checkout -b my-cool-feature` +3. Make your changes and add tests +4. Submit a pull request + +## 📝 License + +AGPLv3. See LICENSE.md for details. + +## 🙋‍♀️ Questions? + +- Check out the [Arxlet documentation](/docs/arxlets) for extending functionality +- Browse the source code - it's well-documented and approachable +- Open an issue if you find bugs or have suggestions + +--- + +_Built with ❤️ for privacy-conscious humans who believe communication should be truly private._ diff --git a/assets/logo.png b/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..2e3b818fe09c0702b38d8bae8381211438692969 GIT binary patch literal 754483 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%0A5=p=noWpZOh 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 n7Ltk4p;m0swCE=pgm#$XrOyNtcH%c4 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 z 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

C}d(k>dKlUeoQ~?W0D{ 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%0A(ZW>AXIS!8{(d2>vW9a2F4(!_0w48p0q^Dpa- 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ⅈ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

@%YyE|^jW$_=37 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 e=5.0.0" }, "optionalPeers": ["typescript"] }, "sha512-lrvHM7cSaGhz7F0YuBvgHMoU2s8/KuThihDoOYk8w5gpVHTy0DeUCAgCN8uLGeuSl5MAWekJr9Dkfo5HClqO9w=="], + + "nostr-wasm": ["nostr-wasm@0.1.0", "", {}, "sha512-78BTryCLcLYv96ONU8Ws3Q1JzjlAt+43pWQhIl86xZmWeegYCNLPml7yQ+gG3vR6V5h4XGj+TxO+SS5dsThQIA=="], + + "preact": ["preact@10.27.2", "", {}, "sha512-5SYSgFKSyhCbk6SrXyMpqjb5+MQBgfvEKE/OC+PujcY34sOpqtr+0AZQtPYx5IA6VxynQ7rUPCtKzyovpj9Bpg=="], + + "prism-svelte": ["prism-svelte@0.5.0", "", {}, "sha512-db91Bf3pRGKDPz1lAqLFSJXeW13mulUJxhycysFpfXV5MIK7RgWWK2E5aPAa71s8TCzQUXxF5JOV42/iOs6QkA=="], + + "prismjs": ["prismjs@1.30.0", "", {}, "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw=="], + + "typescript": ["typescript@5.9.2", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A=="], + + "undici-types": ["undici-types@7.10.0", "", {}, "sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag=="], + + "@noble/curves/@noble/hashes": ["@noble/hashes@1.3.2", "", {}, "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ=="], + + "@scure/bip32/@noble/curves": ["@noble/curves@1.1.0", "", { "dependencies": { "@noble/hashes": "1.3.1" } }, "sha512-091oBExgENk/kGj3AZmtBDMpxQPDtxQABR2B9lb1JbVTs6ytdzZNwvhxQ4MWasRNEzlbEH8jCWFCwhF/Obj5AA=="], + + "@scure/bip32/@scure/base": ["@scure/base@1.1.1", "", {}, "sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA=="], + + "@scure/bip39/@scure/base": ["@scure/base@1.1.1", "", {}, "sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA=="], + + "nostr-tools/@noble/ciphers": ["@noble/ciphers@0.5.3", "", {}, "sha512-B0+6IIHiqEs3BPMT0hcRmHvEj2QHOLu+uwt+tqDDeVd0oyVzh7BPrDcPjRnV1PV/5LaknXJJQvOuRGR0zQJz+w=="], + + "nostr-tools/@scure/base": ["@scure/base@1.1.1", "", {}, "sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA=="], + } +} diff --git a/bunfig.toml b/bunfig.toml new file mode 100644 index 0000000..de249f9 --- /dev/null +++ b/bunfig.toml @@ -0,0 +1,2 @@ +[serve.static] +plugins = ["bun-plugin-tailwind"] diff --git a/index.ts b/index.ts new file mode 100644 index 0000000..9f8e863 --- /dev/null +++ b/index.ts @@ -0,0 +1,418 @@ +import { adventurerNeutral } from "@dicebear/collection"; +import { createAvatar } from "@dicebear/core"; +import { $ } from "bun"; +import { finalizeEvent, getPublicKey, type NostrEvent } from "nostr-tools"; +import type { SubCloser } from "nostr-tools/abstract-pool"; +import { fetchRemoteArxlets } from "./src/arxlets"; +import { CCN } from "./src/ccns"; +import arxletDocs from "./src/pages/docs/arxlets/arxlet-docs.html"; +import homePage from "./src/pages/home/home.html"; +import { getColorFromPubkey } from "./src/utils/color"; +import { decryptEvent } from "./src/utils/encryption"; +import { loadSeenEvents, saveSeenEvent } from "./src/utils/files"; +import { + queryRemoteEvent, + queryRemoteRelays, + sendUnencryptedEventToLocalRelay, +} from "./src/utils/general"; +import { DEFAULT_PERIOD_MINUTES, RollingIndex } from "./src/rollingIndex"; + +let currentActiveSub: SubCloser | undefined; +let currentSubInterval: ReturnType | undefined; + +async function restartCCN() { + currentActiveSub?.close(); + let ccn = await CCN.getActive(); + if (!ccn) { + const allCCNs = await CCN.list(); + if (allCCNs.length > 0) { + await allCCNs[0]!.setActive(); + ccn = allCCNs[0]!; + } else return; + } + + async function handleNewEvent(original: NostrEvent) { + if (!ccn) return process.exit(1); + const seenEvents = await loadSeenEvents(); + if (seenEvents.includes(original.id)) return; + await saveSeenEvent(original); + const keyAtTime = ccn.getPrivateKeyAt( + RollingIndex.at(original.created_at * 1000), + ); + const decrypted = await decryptEvent(original, keyAtTime); + if (seenEvents.includes(decrypted.id)) return; + await saveSeenEvent(decrypted); + await sendUnencryptedEventToLocalRelay(decrypted); + } + + await $`killall -9 strfry`.nothrow().quiet(); + await ccn.writeStrfryConfig(); + const strfry = Bun.spawn([ + "strfry", + "--config", + ccn.strfryConfigPath, + "relay", + ]); + process.on("exit", () => strfry.kill()); + const allKeysForCCN = ccn.allPubkeys; + function resetActiveSub() { + console.log(`Setting new subscription for ${allKeysForCCN.join(", ")}`); + currentActiveSub?.close(); + currentActiveSub = queryRemoteRelays( + { kinds: [1060], "#p": allKeysForCCN }, + handleNewEvent, + ); + } + resetActiveSub(); + currentSubInterval = setInterval( + () => { + resetActiveSub(); + }, + DEFAULT_PERIOD_MINUTES * 60 * 1000, + ); +} + +restartCCN(); + +class CorsResponse extends Response { + constructor(body?: BodyInit, init?: ResponseInit) { + super(body, init); + this.headers.set("Access-Control-Allow-Origin", "*"); + this.headers.set("Access-Control-Allow-Methods", "OPTIONS, GET, POST, PUT"); + this.headers.set("Access-Control-Allow-Headers", "Content-Type"); + } + + static override json(json: unknown, init?: ResponseInit) { + const res = Response.json(json, init); + res.headers.set("Access-Control-Allow-Origin", "*"); + res.headers.set("Access-Control-Allow-Methods", "OPTIONS, GET, POST, PUT"); + res.headers.set("Access-Control-Allow-Headers", "Content-Type"); + return res; + } +} + +const invalidRequest = CorsResponse.json( + { error: "Invalid Request" }, + { status: 400 }, +); + +const httpServer = Bun.serve({ + routes: { + "/": homePage, + "/docs/arxlets": arxletDocs, + "/api/ccns": { + GET: async () => { + const ccns = await CCN.list(); + return CorsResponse.json(ccns.map((x) => x.toPublicJson())); + }, + }, + "/api/ccns/active": { + GET: async () => { + const ccn = await CCN.getActive(); + if (!ccn) + return CorsResponse.json({ error: "Not found" }, { status: 404 }); + return CorsResponse.json(ccn.toPublicJson()); + }, + POST: async (req) => { + if (!req.body) return invalidRequest; + const body = await req.body.json(); + if (!body.pubkey) return invalidRequest; + const ccn = await CCN.fromPublicKey(body.pubkey); + if (!ccn) return invalidRequest; + await ccn.setActive(); + restartCCN(); + return CorsResponse.json(ccn.toPublicJson()); + }, + }, + "/api/ccns/active/invite": { + GET: async () => { + const ccn = await CCN.getActive(); + if (!ccn) return invalidRequest; + const invite = await ccn.generateInvite(); + return CorsResponse.json({ + invite, + }); + }, + }, + "/api/ccns/new": { + POST: async (req) => { + if (!req.body) return invalidRequest; + const body = await req.body.json(); + if (!body.name || !body.description) return invalidRequest; + const ccn = await CCN.create(body.name, body.description); + const activeCCN = await CCN.getActive(); + if (!activeCCN) { + await ccn.setActive(); + restartCCN(); + } + return CorsResponse.json(ccn.toPublicJson()); + }, + }, + "/api/ccns/join": { + POST: async (req) => { + if (!req.body) return invalidRequest; + const body = await req.body.json(); + if (!body.name || !body.description || !body.key) return invalidRequest; + const version = body.version ? body.version : 1; + const startIndex = body.startIndex + ? RollingIndex.fromHex(body.startIndex) + : RollingIndex.get(); + const ccn = await CCN.join( + version, + startIndex, + body.name, + body.description, + new Uint8Array(body.key), + ); + return CorsResponse.json(ccn.toPublicJson()); + }, + }, + "/api/ccns/:pubkey": async (req) => { + const ccns = await CCN.list(); + const ccnWithPubkey = ccns.find((x) => x.publicKey === req.params.pubkey); + if (!ccnWithPubkey) + return CorsResponse.json({ error: "Not Found" }, { status: 404 }); + return CorsResponse.json(ccnWithPubkey.toPublicJson()); + }, + "/api/ccns/icon/:pubkey": async (req) => { + const pubkey = req.params.pubkey; + if (!pubkey) return invalidRequest; + const ccn = await CCN.fromPublicKey(pubkey); + if (!ccn) return invalidRequest; + const avatar = ccn.getCommunityIcon(); + return new CorsResponse(avatar, { + headers: { "Content-Type": "image/svg+xml" }, + }); + }, + "/api/ccns/name/:pubkey": async (req) => { + const pubkey = req.params.pubkey; + if (!pubkey) return invalidRequest; + const ccn = await CCN.fromPublicKey(pubkey); + if (!ccn) return invalidRequest; + const profile = await ccn.getProfile(); + return new CorsResponse(profile.name || ccn.name); + }, + "/api/ccns/avatar/:pubkey": async (req) => { + const pubkey = req.params.pubkey; + if (!pubkey) return invalidRequest; + const ccn = await CCN.fromPublicKey(pubkey); + if (!ccn) return invalidRequest; + const profile = await ccn.getProfile(); + if (profile.picture) return CorsResponse.redirect(profile.picture); + const avatar = ccn.getCommunityIcon(); + return new CorsResponse(avatar, { + headers: { "Content-Type": "image/svg+xml" }, + }); + }, + "/api/profile/:pubkey": async (req) => { + const pubkey = req.params.pubkey; + if (!pubkey) return invalidRequest; + const ccn = await CCN.getActive(); + if (!ccn) return invalidRequest; + + const profileEvent = await ccn.getFirstEvent({ + kinds: [0], + authors: [pubkey], + }); + try { + if (!profileEvent) throw "No profile"; + return new CorsResponse(profileEvent.content, { + headers: { "Content-Type": "text/json" }, + }); + } catch { + return CorsResponse.json( + { error: "profile not found" }, + { headers: { "Content-Type": "text/json" }, status: 404 }, + ); + } + }, + "/api/avatars/:pubkey": async (req) => { + const pubkey = req.params.pubkey; + + if (!pubkey) return invalidRequest; + const ccn = await CCN.getActive(); + if (!ccn) return invalidRequest; + const profileEvent = await ccn.getFirstEvent({ + kinds: [0], + authors: [pubkey], + }); + try { + if (!profileEvent) throw "No profile"; + const content = JSON.parse(profileEvent.content); + if (!content.picture) throw "No picture"; + return CorsResponse.redirect(content.picture); + } catch { + const avatar = createAvatar(adventurerNeutral, { + seed: pubkey, + backgroundColor: [getColorFromPubkey(pubkey)], + }); + return new CorsResponse(avatar.toString(), { + headers: { "Content-Type": "image/svg+xml" }, + }); + } + }, + "/api/events": { + POST: async (req) => { + const ccn = await CCN.getActive(); + if (!ccn) return invalidRequest; + if (!req.body) return invalidRequest; + const { search, ...query } = await req.body.json(); + let events = await ccn.getEvents(query); + if (search) + events = events.filter( + (e) => + e.content.includes(search) || + e.tags.some((t) => t[1]?.includes(search)), + ); + return CorsResponse.json(events); + }, + PUT: async (req) => { + const ccn = await CCN.getActive(); + if (!ccn) return invalidRequest; + if (!req.body) return invalidRequest; + const event = await req.body.json(); + try { + await ccn.publish(event); + return CorsResponse.json({ + success: true, + message: "Event published successfully", + }); + } catch { + return CorsResponse.json({ + success: false, + message: "Failed to publish event", + }); + } + }, + }, + "/api/events/:id": async (req) => { + const id = req.params.id; + if (!id) return invalidRequest; + const ccn = await CCN.getActive(); + if (!ccn) return invalidRequest; + const event = await ccn.getFirstEvent({ ids: [id] }); + if (!event) + return CorsResponse.json({ error: "Event Not Found" }, { status: 404 }); + return CorsResponse.json(event); + }, + "/api/sign": { + POST: async (req) => { + const ccn = await CCN.getActive(); + if (!ccn) return invalidRequest; + const userKey = await ccn.getUserKey(); + if (!req.body) return invalidRequest; + const event = await req.body.json(); + const signedEvent = finalizeEvent(event, userKey); + return CorsResponse.json(signedEvent); + }, + }, + "/api/pubkey": async () => { + const ccn = await CCN.getActive(); + if (!ccn) return invalidRequest; + const userKey = await ccn.getUserKey(); + return CorsResponse.json({ pubkey: getPublicKey(userKey) }); + }, + "/api/arxlets": async () => { + const ccn = await CCN.getActive(); + if (!ccn) return invalidRequest; + const arxlets = await ccn.getArxlets(); + return CorsResponse.json(arxlets); + }, + "/api/arxlets/:id": async (req) => { + const ccn = await CCN.getActive(); + if (!ccn) return invalidRequest; + const arxlet = await ccn.getArxletById(req.params.id); + if (!arxlet) + return CorsResponse.json( + { error: "Arxlet not found" }, + { status: 404 }, + ); + return CorsResponse.json(arxlet); + }, + "/api/arxlets-available": async () => { + const remoteArxlets = await fetchRemoteArxlets(); + return CorsResponse.json(remoteArxlets); + }, + "/api/clone-remote-event/:id": async (req) => { + const ccn = await CCN.getActive(); + if (!ccn) return invalidRequest; + const remoteEvent = await queryRemoteEvent(req.params.id); + if (!remoteEvent) + return CorsResponse.json({ error: "Event not found" }, { status: 404 }); + await ccn.publish(remoteEvent); + return CorsResponse.json(remoteEvent); + }, + "/api/reputation/:user": async (req) => { + const ccn = await CCN.getActive(); + if (!ccn) return invalidRequest; + const reputation = await ccn.getReputation(req.params.user); + return CorsResponse.json({ reputation }); + }, + "/systemapi/timezone": { + GET: async () => { + const timezone = ( + await $`timedatectl show --property=Timezone --value`.text() + ).trim(); + return CorsResponse.json({ timezone }); + }, + POST: async (req) => { + if (!req.body) return invalidRequest; + const { timezone } = await req.body.json(); + await $`sudo timedatectl set-timezone ${timezone}`; // this is fine, bun escapes it + return CorsResponse.json({ timezone }); + }, + }, + "/systemapi/wifi": { + GET: async () => { + const nmcliLines = ( + await $`nmcli -f ssid,bssid,mode,freq,chan,rate,signal,security,active -t dev wifi`.text() + ) + .trim() + .split("\n") + .map((l) => l.split(/(? ({ + ssid, + bssid: bssid!.replace(/\\:/g, ":"), + mode, + freq: parseInt(freq!, 10), + chan: parseInt(chan!, 10), + rate, + signal: parseInt(signal!, 10), + security, + active: active === "yes", + }), + ) + .filter((network) => network.ssid !== "") // filter out hidden networks + .filter((network) => network.security !== "") // filter out open networks + .sort((a, b) => (a.active ? -1 : b.active ? 1 : b.signal - a.signal)); + + return CorsResponse.json(wifi); + }, + POST: async (req) => { + if (!req.body) return invalidRequest; + const { ssid, password } = await req.body.json(); + await $`nmcli device wifi connect ${ssid} password ${password}`; // this is fine, bun escapes it + return CorsResponse.json({ ssid }); + }, + }, + }, + fetch() { + return new CorsResponse("Eve Lite v0.0.1"); + }, + port: 4269, +}); + +console.log(`Listening on ${httpServer.url.host}`); diff --git a/package.json b/package.json new file mode 100644 index 0000000..daf2f4f --- /dev/null +++ b/package.json @@ -0,0 +1,30 @@ +{ + "name": "eve-lite", + "module": "index.ts", + "type": "module", + "private": true, + "scripts": { + "configure-hooks": "git config core.hooksPath .githooks", + "test": "bun test", + "test:watch": "bun test --watch" + }, + "devDependencies": { + "@biomejs/biome": "^2.2.4", + "@types/bun": "^1.2.23", + "preact": "^10.27.2", + "prism-svelte": "^0.5.0", + "prismjs": "^1.30.0" + }, + "peerDependencies": { + "typescript": "^5.9.2" + }, + "dependencies": { + "@dicebear/collection": "^9.2.4", + "@dicebear/core": "^9.2.4", + "@noble/ciphers": "^1.3.0", + "@scure/base": "^2.0.0", + "bun-plugin-tailwind": "^0.0.15", + "daisyui": "^5.1.25", + "nostr-tools": "^2.17.0" + } +} diff --git a/src/arxlets.ts b/src/arxlets.ts new file mode 100644 index 0000000..18a259f --- /dev/null +++ b/src/arxlets.ts @@ -0,0 +1,59 @@ +import { brotliDecompressSync } from "node:zlib"; +import type { NostrEvent } from "nostr-tools"; +import { hexToBytes } from "nostr-tools/utils"; +import { CCN } from "./ccns"; +import { queryRemoteRelaysSync } from "./utils/general"; + +export interface Arxlet { + id: string; + name: string; + description?: string; + icon?: string; + iconColor?: string; + script: string; + version?: string; + eventId: string; +} + +export const parseArxletFromEvent = (ccn: CCN) => (event: NostrEvent) => { + if ( + [ + "d45d6ee247d6a323b2e081fdd5dd91c015b34284f3fef857afb28ce508844137", // old version of howl used during dev, now gets signed with different key + ].includes(event.id) + ) + return; // filter out known bad arxlets + if (event.pubkey === ccn.publicKey) return; + if (event.kind !== 30420) return; + if (!event.tags.some((t) => t[0] === "d")) return; + if (!event.tags.some((t) => t[0] === "name")) return; + if (!event.tags.some((t) => t[0] === "script")) return; + if (event.tags.some((t) => t[0] === "disabled" && t[1] === "true")) return; + return { + id: event.tags.find((t) => t[0] === "d")![1]!, + author: event.pubkey, + name: event.tags.find((t) => t[0] === "name")![1]!, + description: event.tags.find((t) => t[0] === "description")?.[1], + script: brotliDecompressSync( + hexToBytes(event.tags.find((t) => t[0] === "script")![1]!), + ).toString(), + icon: event.tags.find((t) => t[0] === "icon")?.[1], + iconColor: event.tags.find((t) => t[0] === "icon")?.[2], + iconForegroundColor: event.tags.find((t) => t[0] === "icon")?.[3], + iconStrokeColor: event.tags.find((t) => t[0] === "icon")?.[4], + version: event.tags.find((t) => t[0] === "version")?.[1], + versionDate: event.created_at, + eventId: event.id, + }; +}; + +export async function fetchRemoteArxlets() { + const activeCCN = await CCN.getActive(); + if (!activeCCN) throw new Error("No active CCN found"); + const events = await queryRemoteRelaysSync({ + kinds: [30420], + limit: 10_000, + }); + return events + .map((x) => parseArxletFromEvent(activeCCN)(x)) + .filter((x) => x !== undefined); +} diff --git a/src/ccns.ts b/src/ccns.ts new file mode 100644 index 0000000..671e1e0 --- /dev/null +++ b/src/ccns.ts @@ -0,0 +1,408 @@ +import { mkdirSync } from "node:fs"; +import { join } from "node:path"; +import { avataaars } from "@dicebear/collection"; +import { createAvatar } from "@dicebear/core"; +import { bech32m } from "@scure/base"; +import { + type Filter, + generateSecretKey, + getPublicKey, + type NostrEvent, + nip19, + SimplePool, +} from "nostr-tools"; +import { bytesToHex } from "nostr-tools/utils"; +import { type Arxlet, parseArxletFromEvent } from "./arxlets"; +import { getColorFromPubkey } from "./utils/color"; +import { getDataDir } from "./utils/files"; +import { getSvgGroup, pool, splitIntoParts } from "./utils/general"; +import { write_string, write_varint } from "./utils/Uint8Array"; +import { ReputationManager } from "./ccns/reputation"; +import { RollingIndex } from "./rollingIndex"; +import crypto from "node:crypto"; + +const LATEST_CCN_VERSION = 2; + +interface ConfigValue { + [key: string]: string | number | boolean | ConfigValue; +} + +function stringifyConfig(obj: ConfigValue, indent: number = 0): string { + let result = ""; + const spaces = " ".repeat(indent); + + for (const [key, value] of Object.entries(obj)) { + if (typeof value === "object") { + result += `${spaces}${key} {\n`; + result += stringifyConfig(value, indent + 1); + result += `${spaces}}\n`; + } else + result += `${spaces}${key} = ${typeof value === "string" ? `"${value}"` : value}\n`; + } + + return result; +} + +export class CCN { + private reputationManager: ReputationManager; + + constructor( + public version: number, + public startIndex: Uint8Array, + public name: string, + public description: string, + public key: Uint8Array, + ) { + this.reputationManager = new ReputationManager(this.getEvents.bind(this)); + } + + static fromJsonString(json: string) { + const data = JSON.parse(json); + return new CCN( + data.version || 1, + data.startIndex + ? RollingIndex.fromHex(data.startIndex) + : RollingIndex.get(), + data.name, + data.description, + new Uint8Array(data.privateKey), + ); + } + + static async getActive() { + const activeCCNPubKey = await Bun.secrets.get({ + name: "active-ccn", + service: "eve-lite", + }); + + if (activeCCNPubKey) { + const ccn = await CCN.fromPublicKey(activeCCNPubKey); + if (ccn) return ccn; + } + } + + static async list(): Promise { + const indexKey = { service: "eve-lite", name: "ccn-index" }; + const indexString = await Bun.secrets.get(indexKey); + if (!indexString) return []; + + const index: string[] = JSON.parse(indexString); + const ccns = await Promise.all( + index.map(async (pubkey: string) => { + const ccnString = await Bun.secrets.get({ + service: "eve-lite/ccn", + name: pubkey, + }); + if (!ccnString) return null; + return CCN.fromJsonString(ccnString); + }), + ); + return ccns.filter((ccn): ccn is CCN => ccn !== null); + } + + static async fromPublicKey(publicKey: string) { + const ccnString = await Bun.secrets.get({ + service: "eve-lite/ccn", + name: publicKey, + }); + if (!ccnString) return null; + return CCN.fromJsonString(ccnString); + } + + getCommunityIcon() { + const positions = [ + [30, 0], + [-60, 70], + [120, 70], + ]; + const avatars = splitIntoParts(this.publicKey, 3) + .map((part) => createAvatar(avataaars, { seed: part }).toString()) + .map((avatar, index) => + getSvgGroup( + avatar, + `translate(${positions[index]![0]}, ${positions[index]![1]}) scale(0.8)`, + ), + ) + .join(""); + return ` + + ${avatars} + `; + } + + getPrivateKeyAt(index: Uint8Array) { + if (this.version === 1) return this.key; + const hmac = crypto.createHmac("sha256", this.key); + hmac.update(index); + return hmac.digest(); + } + + getPublicKeyAt(index: Uint8Array) { + if (this.version === 1) return this.publicKey; + return getPublicKey(this.getPrivateKeyAt(index)); + } + + get publicKey() { + return getPublicKey(this.key); + } + + get currentPrivateKey() { + if (this.version === 1) return this.key; + return this.getPrivateKeyAt(RollingIndex.get()); + } + + get currentPublicKey() { + if (this.version === 1) return this.publicKey; + return getPublicKey(this.currentPrivateKey); + } + + get allPubkeys() { + if (this.version === 1) return [this.publicKey]; + const allPeriods = RollingIndex.diff(RollingIndex.get(), this.startIndex); + return allPeriods.map((index) => this.getPublicKeyAt(index)); + } + + private get json() { + return { + name: this.name, + description: this.description, + privateKey: [...this.key], + version: this.version, + startIndex: RollingIndex.toHex(this.startIndex), + }; + } + + toPublicJson() { + return { + name: this.name, + description: this.description, + publicKey: this.publicKey, + icon: this.icon, + version: this.version, + startIndex: this.startIndex, + }; + } + + async setActive() { + await Bun.secrets.set({ + name: "active-ccn", + service: "eve-lite", + value: this.publicKey, + }); + } + + static async create(name: string, description: string) { + return CCN.join( + LATEST_CCN_VERSION, + RollingIndex.get(), + name, + description, + generateSecretKey(), + ); + } + + static async join( + ccn_version: number, + startIndex: Uint8Array, + name: string, + description: string, + privateKey: Uint8Array, + ) { + const ccn = new CCN(ccn_version, startIndex, name, description, privateKey); + const indexKey = { service: "eve-lite", name: "ccn-index" }; + const indexString = await Bun.secrets.get(indexKey); + const index: string[] = indexString ? JSON.parse(indexString) : []; + + if (!index.includes(ccn.publicKey)) { + await Bun.secrets.set({ + service: "eve-lite/ccn", + name: ccn.publicKey, + value: JSON.stringify(ccn.json), + }); + index.push(ccn.publicKey); + await Bun.secrets.set({ ...indexKey, value: JSON.stringify(index) }); + } + + return ccn; + } + + get strfryConfigPath() { + return join(getDataDir(), "strfry", `${this.publicKey}.conf`); + } + + async writeStrfryConfig() { + const dbDir = join(getDataDir(), "dbs", this.publicKey); + mkdirSync(dbDir, { recursive: true }); + const config = stringifyConfig({ + db: dbDir, + dbParams: { + maxreaders: 256, + mapsize: 10995116277760, + noReadAhead: false, + }, + events: { + maxEventSize: 1048576, + rejectEventsNewerThanSeconds: 900, + rejectEventsOlderThanSeconds: 252460800, + rejectEphemeralEventsOlderThanSeconds: 86400, + ephemeralEventsLifetimeSeconds: 172800, + maxNumTags: 2000, + maxTagValSize: 10240, + }, + relay: { + bind: "127.0.0.1", + port: 6942, + nofiles: 0, + realIpHeader: "", + info: { + name: this.name, + description: this.description, + pubkey: this.publicKey, + contact: "", + icon: "", + nips: "", + }, + maxWebsocketPayloadSize: 5 * 1024 * 1024, + maxReqFilterSize: 200, + autoPingSeconds: 55, + enableTcpKeepalive: false, + queryTimesliceBudgetMicroseconds: 10000, + maxFilterLimit: 100_000, + maxSubsPerConnection: 100, + writePolicy: { + plugin: "/usr/bin/eve-lite-event-plugin", + }, + compression: { + enabled: true, + slidingWindow: true, + }, + logging: { + dumpInAll: false, + dumpInEvents: true, + dumpInReqs: true, + dbScanPerf: true, + invalidEvents: true, + }, + numThreads: { + ingester: 3, + reqWorker: 3, + reqMonitor: 3, + negentropy: 2, + }, + negentropy: { + enabled: false, + maxSyncEvents: 1, + }, + }, + }); + const configFile = Bun.file(this.strfryConfigPath); + await configFile.write(config); + } + + getEvents(filter: Filter) { + const pool = new SimplePool(); + return pool.querySync(["ws://localhost:6942"], filter); + } + + getFirstEvent(filter: Filter) { + const pool = new SimplePool(); + return pool.get(["ws://localhost:6942"], filter); + } + + async getArxlets(): Promise { + const events = await this.getEvents({ + kinds: [30420], + }); + return events + .map((event) => parseArxletFromEvent(this)(event)) + .filter((arxlet) => arxlet !== undefined); + } + + async getArxletById(id: string): Promise { + const query = { + kinds: [30420], + "#d": [id], + }; + if (id.includes(":")) { + const [dTag, author] = id.split(":"); + query["#d"] = [dTag]; + query["authors"] = [author]; + } + const event = await this.getFirstEvent(query); + if (!event) return undefined; + return parseArxletFromEvent(this)(event); + } + + async getUserKey() { + const service = "eve-lite-user-key"; + const name = this.publicKey; + const nsec = await Bun.secrets.get({ service, name }); + if (nsec) { + const decoded = nip19.decode(nsec); + if (decoded.type !== "nsec") throw "Invalid key"; + return decoded.data; + } + + const key = generateSecretKey(); + const newNsec = nip19.nsecEncode(key); + await Bun.secrets.set({ service, name, value: newNsec }); + return key; + } + + publish(event: NostrEvent): Promise { + return Promise.all(pool.publish(["ws://localhost:6942"], event)); + } + + async loadSeenEvents() { + const service = "eve-lite-seen"; + const name = this.publicKey; + const seen = await Bun.secrets.get({ + service, + name, + }); + if (!seen) return []; + return JSON.parse(seen) as string[]; + } + + async saveSeenEvent(event: NostrEvent) { + const service = "eve-lite-seen"; + const name = this.publicKey; + const seenEvents = await this.loadSeenEvents(); + seenEvents.push(event.id); + await Bun.secrets.set({ + service, + name, + value: JSON.stringify(seenEvents), + }); + } + + async getProfile(): Promise<{ name?: string; picture?: string }> { + const profileEvent = await this.getFirstEvent({ + kinds: [0], + authors: [this.publicKey], + }); + if (!profileEvent) return {}; + return JSON.parse(profileEvent.content); + } + + async generateInvite() { + const INVITE_VERSION = 2; + const data: number[] = []; + const userKey = await this.getUserKey(); + const userPubkey = getPublicKey(userKey); + const ccnKeyMaterial = bytesToHex(this.key); + write_varint(data, INVITE_VERSION); + write_string(data, this.name); + write_string(data, this.description); + write_string(data, userPubkey); + write_string(data, ccnKeyMaterial); + write_string(data, RollingIndex.toHex(this.startIndex)); + + const combinedBytes = bech32m.toWords(new Uint8Array(data)); + return bech32m.encode("evelite", combinedBytes, false); + } + + public async getReputation(userId: string): Promise { + return await this.reputationManager.getReputation(userId); + } +} diff --git a/src/ccns/reputation.ts b/src/ccns/reputation.ts new file mode 100644 index 0000000..f026873 --- /dev/null +++ b/src/ccns/reputation.ts @@ -0,0 +1,150 @@ +import { type Filter, type NostrEvent } from "nostr-tools"; + +interface ReputationInfo { + reputation: number; + voteCount: number; + lastEventTimestamp: number; + processedVotes: Set; +} + +export class ReputationManager { + private reputationCache = new Map(); + private reputationCalculationInProgress = new Map>(); + + constructor(private getEvents: (filter: Filter) => Promise) {} + + private _updateReputation( + targetReputation: number, + targetVoteCount: number, + voteScore: number, // 1 for up, 0 for down + voterReputation: number, + scaleFactor = 400, + ): number { + const ratingDiff = voterReputation - targetReputation; + + const exponent = ratingDiff / scaleFactor; + + const powerTerm = 10 ** exponent; + const denom = 1 + powerTerm; + const expectedScore = 1.0 / denom; + + const sqrtVotes = Math.sqrt(targetVoteCount); + const denomAdjust = 1 + sqrtVotes; + const adjustmentFactor = 32.0 / denomAdjust; + + const scoreDiff = voteScore - expectedScore; + return targetReputation + adjustmentFactor * scoreDiff; + } + + private async runReputationBatch(initialUser: string) { + const usersToFetch = new Set([initialUser]); + const allInvolved = new Set([initialUser]); + const allNewEvents: NostrEvent[] = []; + const processedEventIds = new Set(); + + // Phase 1: Discover users (BFS) and fetch new events. + while (usersToFetch.size > 0) { + const batch = Array.from(usersToFetch); + usersToFetch.clear(); + + // For any other users discovered in this batch, hook them to the main promise. + for (const u of batch) { + if (!this.reputationCalculationInProgress.has(u)) + this.reputationCalculationInProgress.set( + u, + this.reputationCalculationInProgress.get(initialUser)!, + ); + } + + const eventPromises = batch.map((u) => { + const since = this.reputationCache.get(u)?.lastEventTimestamp; + return this.getEvents({ + kinds: [7], + "#p": [u], + since: since ? since + 1 : 0, + }); + }); + + const eventSets = await Promise.all(eventPromises); + const newEvents = eventSets.flat(); + + for (const event of newEvents) { + if (processedEventIds.has(event.id)) continue; + processedEventIds.add(event.id); + allNewEvents.push(event); + + const voter = event.pubkey; + if (!allInvolved.has(voter)) { + allInvolved.add(voter); + usersToFetch.add(voter); + } + } + } + + // Phase 2: Initialize cache for new users. + for (const u of allInvolved) { + if (!this.reputationCache.has(u)) + this.reputationCache.set(u, { + reputation: 500, + voteCount: 0, + lastEventTimestamp: 0, + processedVotes: new Set(), + }); + } + + allNewEvents.sort((a, b) => a.created_at - b.created_at); + + for (const event of allNewEvents) { + const targetUserTag = event.tags.find((t) => t[0] === "p"); + if (!targetUserTag?.[1]) continue; + const targetUser = targetUserTag[1]; + + if (!allInvolved.has(targetUser)) continue; + + const targetUserInfo = this.reputationCache.get(targetUser)!; + const voter = event.pubkey; + + if (voter === targetUser) continue; + + const eTag = event.tags.find((t) => t[0] === "e"); + if (!eTag?.[1]) continue; + + const voteId = `${voter}:${eTag[1]}`; + if (targetUserInfo.processedVotes.has(voteId)) continue; + + const voteContent = event.content; + if (voteContent !== "+" && voteContent !== "-") continue; + + targetUserInfo.processedVotes.add(voteId); + const voteScore = voteContent === "+" ? 1 : 0; + targetUserInfo.voteCount++; + + const voterReputation = this.reputationCache.get(voter)!.reputation; + + targetUserInfo.reputation = this._updateReputation( + targetUserInfo.reputation, + targetUserInfo.voteCount, + voteScore, + voterReputation, + ); + + targetUserInfo.lastEventTimestamp = event.created_at; + } + + for (const u of allInvolved) { + this.reputationCalculationInProgress.delete(u); + } + } + + async getReputation(user: string): Promise { + if (this.reputationCalculationInProgress.has(user)) + await this.reputationCalculationInProgress.get(user); + else { + const batchPromise = this.runReputationBatch(user); + this.reputationCalculationInProgress.set(user, batchPromise); + await batchPromise; + } + + return this.reputationCache.get(user)?.reputation ?? 500; + } +} diff --git a/src/consts.ts b/src/consts.ts new file mode 100644 index 0000000..cd5d91c --- /dev/null +++ b/src/consts.ts @@ -0,0 +1,4 @@ +export const EVENT_PLUGIN_VERSION = "0.0.1"; +export const POW_TO_ACCEPT = 10; +export const POW_TO_MINE = 12; +export const CURRENT_VERSION = 0x01; diff --git a/src/eventPlugin.ts b/src/eventPlugin.ts new file mode 100644 index 0000000..f4b1a9f --- /dev/null +++ b/src/eventPlugin.ts @@ -0,0 +1,45 @@ +import { CCN } from "./ccns"; +import { EVENT_PLUGIN_VERSION } from "./consts"; +import { RollingIndex } from "./rollingIndex"; +import { createEncryptedEvent } from "./utils/encryption"; +import { loadSeenEvents, saveSeenEvent } from "./utils/files"; +import { sendEncryptedEventToRelays } from "./utils/general"; + +if (process.argv[process.argv.length - 1] === "--version") { + console.log(EVENT_PLUGIN_VERSION); + process.exit(0); +} + +for await (const line of console) { + const req = JSON.parse(line); + + const ccn = await CCN.getActive(); + if (!ccn) { + console.error("No CCN"); + continue; + } + + if (req.type !== "new") { + console.error("unexpected request type"); + continue; + } + + const seenEvents = await loadSeenEvents(); + if (!seenEvents.includes(req.event.id)) { + let index = RollingIndex.at(req.event.created_at * 1000); + if (RollingIndex.compare(index, ccn.startIndex) < 0) index = ccn.startIndex; + + const keyForEvent = ccn.getPrivateKeyAt(index); + const encryptedEvent = await createEncryptedEvent(req.event, keyForEvent); + await saveSeenEvent(req.event); + await saveSeenEvent(encryptedEvent); + await sendEncryptedEventToRelays(encryptedEvent); + } + + console.log( + JSON.stringify({ + id: req.event.id, + action: "accept", + }), + ); +} diff --git a/src/pages/docs/arxlets/arxlet-docs-out.html b/src/pages/docs/arxlets/arxlet-docs-out.html new file mode 100644 index 0000000..4589a03 --- /dev/null +++ b/src/pages/docs/arxlets/arxlet-docs-out.html @@ -0,0 +1,1825 @@ + + + + + + + + +Arxlets API Context + + + + + + +

+
+
+

Overview

+
+
+

Arxlets are secure, sandboxed JavaScript applications that extend Eve’s functionality. They run in isolated iframes and are registered on your CCN (Closed Community Network) for member-only access. Arxlets provide a powerful way to build custom applications that interact with Nostr events and profiles through Eve.

+
+
+

Core Concepts

+
+

What are Arxlets? +- Sandboxed Applications: Run in isolated iframes for security +- JavaScript-based: Written in TypeScript/JavaScript with wasm support coming in the future +- CCN Integration: Registered on your Closed Community Network +- Nostr-native: Built-in access to Nostr protocol operations +- Real-time: Support for live event subscriptions and updates

+
+
+ + + + + +
+ + +WASM support will be added in future releases for even more powerful applications. +
+
+
+
+

CCN Local-First Architecture

+
+

CCNs (Closed Community Networks) are designed with a local-first approach that ensures data availability and functionality even when offline:

+
+
+
    +
  • +

    Local Data Storage: All Nostr events and profiles are stored locally on your device, providing instant access without network dependencies

    +
  • +
  • +

    Offline Functionality: Arxlets can read, display, and interact with locally cached data when disconnected from the internet

    +
  • +
  • +

    Sync When Connected: When network connectivity is restored, the CCN automatically synchronizes with remote relays to fetch new events and propagate local changes

    +
  • +
  • +

    Resilient Operation: Your applications continue to work seamlessly regardless of network conditions, making CCNs ideal for unreliable connectivity scenarios

    +
  • +
  • +

    Privacy by Design: Local-first storage means your data remains on your device, reducing exposure to external services and improving privacy

    +
  • +
+
+
+
+

Architecture

+
+
    +
  • +

    Frontend: TypeScript applications with render functions

    +
  • +
  • +

    Backend: Eve relay providing Nostr protocol access

    +
  • +
  • +

    Communication: window.eve API or direct WebSocket connections

    +
  • +
+
+
+
+
+
+

API Reference

+
+
+

The primary interface for Arxlets to interact with Eve’s Nostr relay. All methods return promises for async operations.

+
+
+

window.eve API

+
+
+
// Using window.eve API for Nostr operations
+import type { Filter, NostrEvent } from "./types";
+
+// Publish a new event
+const event: NostrEvent = {
+  kind: 1,
+  content: "Hello from my Arxlet!",
+  tags: [],
+  created_at: Math.floor(Date.now() / 1000),
+  pubkey: "your-pubkey-here",
+};
+
+await window.eve.publish(event);
+
+// Get a specific event by ID
+const eventId = "event-id-here";
+const event = await window.eve.getSingleEventById(eventId);
+
+// Query events with a filter
+const filter: Filter = {
+  kinds: [1],
+  authors: ["pubkey-here"],
+  limit: 10,
+};
+
+const singleEvent = await window.eve.getSingleEventWithFilter(filter);
+const allEvents = await window.eve.getAllEventsWithFilter(filter);
+
+// Real-time subscription with RxJS Observable
+const subscription = window.eve.subscribeToEvents(filter).subscribe({
+  next: (event) => {
+    console.log("New event received:", event);
+    // Update your UI with the new event
+  },
+  error: (err) => console.error("Subscription error:", err),
+  complete: () => console.log("Subscription completed"),
+});
+
+// Subscribe to profile updates for a specific user
+const profileSubscription = window.eve.subscribeToProfile(pubkey).subscribe({
+  next: (profile) => {
+    console.log("Profile updated:", profile);
+    // Update your UI with the new profile data
+  },
+  error: (err) => console.error("Profile subscription error:", err),
+});
+
+// Don't forget to unsubscribe when done
+// subscription.unsubscribe();
+// profileSubscription.unsubscribe();
+
+// Get user profile and avatar
+const pubkey = "user-pubkey-here";
+const profile = await window.eve.getProfile(pubkey);
+const avatarUrl = await window.eve.getAvatar(pubkey);
+
+
+
+
+

Real-time Subscriptions

+
+
+
// Real-time subscription examples
+import { filter, map, takeUntil } from "rxjs/operators";
+
+// Basic subscription
+const subscription = window.eve
+  .subscribeToEvents({
+    kinds: [1], // Text notes
+    limit: 50,
+  })
+  .subscribe((event) => {
+    console.log("New text note:", event.content);
+  });
+
+// Advanced filtering with RxJS operators
+const filteredSubscription = window.eve
+  .subscribeToEvents({
+    kinds: [1, 6, 7], // Notes, reposts, reactions
+    authors: ["pubkey1", "pubkey2"],
+  })
+  .pipe(
+    filter((event) => event.content.includes("#arxlet")), // Only events mentioning arxlets
+    map((event) => ({
+      id: event.id,
+      author: event.pubkey,
+      content: event.content,
+      timestamp: new Date(event.created_at * 1000),
+    })),
+  )
+  .subscribe({
+    next: (processedEvent) => {
+      // Update your UI
+      updateEventsList(processedEvent);
+    },
+    error: (err) => {
+      console.error("Subscription error:", err);
+      showErrorMessage("Failed to receive real-time updates");
+    },
+  });
+
+// Profile subscription example
+const profileSubscription = window.eve.subscribeToProfile("user-pubkey-here").subscribe({
+  next: (profile) => {
+    console.log("Profile updated:", profile);
+    updateUserProfile(profile);
+  },
+  error: (err) => {
+    console.error("Profile subscription error:", err);
+  },
+});
+
+// Clean up subscriptions when component unmounts
+// subscription.unsubscribe();
+// filteredSubscription.unsubscribe();
+// profileSubscription.unsubscribe();
+
+
+
+
+

WebSocket Alternative

+
+

For advanced use cases, connect directly to Eve’s WebSocket relay, or use any nostr library. This is not recommended:

+
+
+
+
// Alternative: Direct WebSocket connection
+const ws = new WebSocket("ws://localhost:6942");
+
+ws.onopen = () => {
+  // Subscribe to events
+  ws.send(JSON.stringify(["REQ", "sub1", { kinds: [1], limit: 10 }]));
+};
+
+ws.onmessage = (event) => {
+  const [type, subId, data] = JSON.parse(event.data);
+  if (type === "EVENT") {
+    console.log("Received event:", data);
+  }
+};
+
+// Publish an event
+const signedEvent = await window.nostr.signEvent(unsignedEvent);
+ws.send(JSON.stringify(["EVENT", signedEvent]));
+
+
+
+
+
+
+

Type Definitions

+
+
+
+
import type { Observable } from "rxjs";
+
+export interface NostrEvent {
+  id?: string;
+  pubkey: string;
+  created_at: number;
+  kind: number;
+  tags: string[][];
+  content: string;
+  sig?: string;
+}
+
+export interface Filter {
+  ids?: string[];
+  authors?: string[];
+  kinds?: number[];
+  since?: number;
+  until?: number;
+  limit?: number;
+  [key: string]: any;
+}
+
+export interface Profile {
+  name?: string;
+  about?: string;
+  picture?: string;
+  nip05?: string;
+  [key: string]: any;
+}
+
+export interface WindowEve {
+  publish(event: NostrEvent): Promise<void>;
+  getSingleEventById(id: string): Promise<NostrEvent | null>;
+  getSingleEventWithFilter(filter: Filter): Promise<NostrEvent | null>;
+  getAllEventsWithFilter(filter: Filter): Promise<NostrEvent[]>;
+  subscribeToEvents(filter: Filter): Observable<NostrEvent>;
+  subscribeToProfile(pubkey: string): Observable<Profile>;
+  getProfile(pubkey: string): Promise<Profile | null>;
+  getAvatar(pubkey: string): Promise<string | null>;
+  signEvent(event: NostrEvent): Promise<NostrEvent>;
+  get publicKey(): Promise<string>;
+}
+
+declare global {
+  interface Window {
+    eve: WindowEve;
+  }
+}
+
+
+
+
+
+

Registration

+
+
+

Arxlets are registered using Nostr events with kind 30420:

+
+
+
+
{
+  "kind": 30420,
+  "tags": [
+    ["d", "my-calculator"],
+    ["name", "Simple Calculator"],
+    ["description", "A basic calculator for quick math"],
+    ["script", "export function render(el) { /* your code */ }"],
+    ["icon", "mdi:calculator", "#3b82f6"]
+  ],
+  "content": "",
+  "created_at": 1735171200
+}
+
+
+
+

Required Tags

+
+
    +
  • +

    d: Unique identifier (alphanumeric, hyphens, underscores)

    +
  • +
  • +

    name: Human-readable display name

    +
  • +
  • +

    script: Complete JavaScript code with render export function

    +
  • +
+
+
+
+

Optional Tags

+
+
    +
  • +

    description: Brief description of functionality

    +
  • +
  • +

    icon: Iconify icon name and hex color

    +
  • +
+
+
+
+
+
+

Development Patterns

+
+
+

Basic Arxlet Structure

+
+
+
/**
+ * Required export function - Entry point for your Arxlet
+ */
+export function render(container: HTMLElement): void {
+  // Initialize your application
+  container.innerHTML = `
+    <div class="p-6">
+      <h1 class="text-3xl font-bold mb-4">My Arxlet</h1>
+      <p class="text-lg">Hello from Eve!</p>
+      <button class="btn btn-primary mt-4" id="myButton">
+        Click me!
+      </button>
+    </div>
+  `;
+
+  // Add event listeners with proper typing
+  const button = container.querySelector<HTMLButtonElement>("#myButton");
+  button?.addEventListener("click", (): void => {
+    alert("Button clicked!");
+  });
+
+  // Your app logic here...
+}
+
+
+
+
+

Real-time Updates

+
+
+
export function render(container: HTMLElement): void {
+  let subscription: Subscription;
+
+  // Set up UI
+  container.innerHTML = `<div id="events"></div>`;
+  const eventsContainer = container.querySelector("#events");
+
+  // Subscribe to real-time events
+  subscription = window.eve
+    .subscribeToEvents({
+      kinds: [1],
+      limit: 50,
+    })
+    .subscribe({
+      next: (event) => {
+        // Update UI with new event
+        const eventElement = document.createElement("div");
+        eventElement.textContent = event.content;
+        eventsContainer?.prepend(eventElement);
+      },
+      error: (err) => console.error("Subscription error:", err),
+    });
+
+  // Cleanup when arxlet is destroyed
+  window.addEventListener("beforeunload", () => {
+    subscription?.unsubscribe();
+  });
+}
+
+
+
+
+

Publishing Events

+
+
+
import type { NostrEvent } from "./type-definitions.ts";
+
+export async function render(container: HTMLElement): Promise<void> {
+  container.innerHTML = `
+    <div class="card bg-base-100 shadow-xl max-w-2xl mx-auto">
+      <div class="card-body">
+        <h2 class="card-title">📝 Publish a Note</h2>
+
+        <div class="form-control">
+          <label class="label">
+            <span class="label-text">What's on your mind?</span>
+            <span class="label-text-alt" id="charCount">0/280</span>
+          </label>
+          <textarea
+            class="textarea textarea-bordered h-32"
+            id="noteContent"
+            placeholder="Share your thoughts with your CCN..."
+            maxlength="280">
+          </textarea>
+        </div>
+
+        <div class="card-actions justify-between items-center">
+          <div id="status" class="flex-1"></div>
+          <button class="btn btn-primary" id="publishBtn" disabled>
+            Publish Note
+          </button>
+        </div>
+      </div>
+    </div>
+  `;
+
+  const textarea = container.querySelector<HTMLTextAreaElement>("#noteContent")!;
+  const publishBtn = container.querySelector<HTMLButtonElement>("#publishBtn")!;
+  const status = container.querySelector<HTMLDivElement>("#status")!;
+  const charCount = container.querySelector<HTMLSpanElement>("#charCount")!;
+
+  textarea.oninput = (): void => {
+    const length: number = textarea.value.length;
+    charCount.textContent = `${length}/280`;
+    publishBtn.disabled = length === 0 || length > 280;
+  };
+
+  publishBtn.onclick = async (e): Promise<void> => {
+    const content: string = textarea.value.trim();
+    if (!content) return;
+
+    publishBtn.disabled = true;
+    publishBtn.textContent = "Publishing...";
+    status.innerHTML = '<span class="loading loading-spinner loading-sm"></span>';
+
+    try {
+      const unsignedEvent: NostrEvent = {
+        kind: 1, // Text note
+        content: content,
+        tags: [["client", "arxlet-publisher"]],
+        created_at: Math.floor(Date.now() / 1000),
+        pubkey: await window.eve.publicKey,
+      };
+
+      const signedEvent: NostrEvent = await window.eve.signEvent(unsignedEvent);
+
+      await window.eve.publish(signedEvent);
+
+      status.innerHTML = `
+        <div class="alert alert-success">
+          <span>✅ Note published successfully!</span>
+        </div>
+      `;
+
+      textarea.value = "";
+      textarea.oninput?.(e);
+    } catch (error: unknown) {
+      const errorMessage = error instanceof Error ? error.message : "Unknown error";
+      console.error("Publishing failed:", error);
+      status.innerHTML = `
+        <div class="alert alert-error">
+          <span>❌ Failed to publish: ${errorMessage}</span>
+        </div>
+      `;
+    } finally {
+      publishBtn.disabled = false;
+      publishBtn.textContent = "Publish Note";
+    }
+  };
+}
+
+
+
+
+
+
+

Best Practices

+
+
+

Error Handling

+
+
    +
  • +

    Always wrap API calls in try-catch blocks

    +
  • +
  • +

    Check for null returns from query methods

    +
  • +
  • +

    Provide user feedback for failed operations

    +
  • +
+
+
+
+

Performance

+
+
    +
  • +

    Use specific filters to limit result sets

    +
  • +
  • +

    Cache profile data to avoid repeated lookups

    +
  • +
  • +

    Unsubscribe from observables when done

    +
  • +
  • +

    Debounce rapid API calls

    +
  • +
  • +

    Consider pagination for large datasets

    +
  • +
+
+
+
+

Security

+
+
    +
  • +

    Validate all user inputs

    +
  • +
  • +

    Sanitize content before displaying

    +
  • +
  • +

    Use proper event signing for authenticity

    +
  • +
  • +

    Follow principle of least privilege

    +
  • +
+
+
+
+

Memory Management

+
+
    +
  • +

    Always unsubscribe from RxJS observables

    +
  • +
  • +

    Clean up event listeners on component destruction

    +
  • +
  • +

    Avoid memory leaks in long-running subscriptions

    +
  • +
  • +

    Use weak references where appropriate

    +
  • +
+
+
+
+
+
+

Common Use Cases

+
+
+

Social Feed

+
+
    +
  • +

    Subscribe to events from followed users

    +
  • +
  • +

    Display real-time updates

    +
  • +
  • +

    Handle profile information and avatars

    +
  • +
  • +

    Implement engagement features

    +
  • +
+
+
+
+

Publishing Tools

+
+
    +
  • +

    Create and sign events

    +
  • +
  • +

    Validate content before publishing

    +
  • +
  • +

    Handle publishing errors gracefully

    +
  • +
  • +

    Provide user feedback

    +
  • +
+
+
+
+

Data Visualization

+
+
    +
  • +

    Query historical events

    +
  • +
  • +

    Process and aggregate data

    +
  • +
  • +

    Create interactive charts and graphs

    +
  • +
  • +

    Real-time data updates

    +
  • +
+
+
+
+

Communication Apps

+
+
    +
  • +

    Direct messaging interfaces

    +
  • +
  • +

    Group chat functionality

    +
  • +
  • +

    Notification systems

    +
  • +
  • +

    Presence indicators

    +
  • +
+
+
+
+
+
+

Framework Integration

+
+
+

Arxlets support various JavaScript frameworks. All frameworks must export a render function that accepts a container element:

+
+
+

Vanilla JavaScript

+
+
+
export function render(container: HTMLElement) {
+  let count: number = 0;
+
+  container.innerHTML = `
+    <div class="card bg-base-100 shadow-xl max-w-sm mx-auto">
+      <div class="card-body text-center">
+        <h2 class="card-title justify-center">Counter App</h2>
+        <div class="text-6xl font-bold text-primary my-4" id="display">
+          ${count}
+        </div>
+        <div class="card-actions justify-center gap-4">
+          <button class="btn btn-error" id="decrement">−</button>
+          <button class="btn btn-success" id="increment">+</button>
+          <button class="btn btn-ghost" id="reset">Reset</button>
+        </div>
+      </div>
+    </div>
+  `;
+
+  const display = container.querySelector<HTMLDivElement>("#display")!;
+  const incrementBtn = container.querySelector<HTMLButtonElement>("#increment")!;
+  const decrementBtn = container.querySelector<HTMLButtonElement>("#decrement")!;
+  const resetBtn = container.querySelector<HTMLButtonElement>("#reset")!;
+
+  const updateDisplay = (): void => {
+    display.textContent = count.toString();
+    display.className = `text-6xl font-bold my-4 ${
+      count > 0 ? "text-success" : count < 0 ? "text-error" : "text-primary"
+    }`;
+  };
+
+  incrementBtn.onclick = (): void => {
+    count++;
+    updateDisplay();
+  };
+  decrementBtn.onclick = (): void => {
+    count--;
+    updateDisplay();
+  };
+  resetBtn.onclick = (): void => {
+    count = 0;
+    updateDisplay();
+  };
+}
+
+
+
+
+

Preact/React

+
+
+
// @jsx h
+// @jsxImportSource preact
+
+import { render as renderPreact } from "preact";
+import { useState } from "preact/hooks";
+
+const CounterApp = () => {
+  const [count, setCount] = useState(0);
+  const [message, setMessage] = useState("");
+
+  const increment = () => {
+    setCount((prev) => prev + 1);
+    setMessage(`Clicked ${count + 1} times!`);
+  };
+
+  const decrement = () => {
+    setCount((prev) => prev - 1);
+    setMessage(`Count decreased to ${count - 1}`);
+  };
+
+  const reset = () => {
+    setCount(0);
+    setMessage("Counter reset!");
+  };
+
+  return (
+    <div class="card bg-base-100 shadow-xl max-w-sm mx-auto">
+      <div class="card-body text-center">
+        <h2 class="card-title justify-center"> Preact Counter </h2>
+
+        <div
+          class={`text-6xl font-bold my-4 ${count > 0 ? "text-success" : count < 0 ? "text-error" : "text-primary"}`}
+        >
+          {count}
+        </div>
+
+        <div class="card-actions justify-center gap-4">
+          <button class="btn btn-error" onClick={decrement}>
+            −
+          </button>
+          <button class="btn btn-success" onClick={increment}>
+            +
+          </button>
+          <button class="btn btn-ghost" onClick={reset}>
+            Reset
+          </button>
+        </div>
+
+        {message && (
+          <div class="alert alert-info mt-4">
+            <span>{message} </span>
+          </div>
+        )}
+      </div>
+    </div>
+  );
+};
+
+export function render(container: HTMLElement): void {
+  renderPreact(<CounterApp />, container);
+}
+
+
+
+
+

Svelte

+
+
+
<script lang="ts">
+let count = $state(0);
+let message = $state("");
+
+function increment() {
+  count += 1;
+  message = `Clicked ${count} times!`;
+}
+
+function decrement() {
+  count -= 1;
+  message = `Count decreased to ${count}`;
+}
+
+function reset() {
+  count = 0;
+  message = "Counter reset!";
+}
+
+const countColor = $derived(count > 0 ? "text-success" : count < 0 ? "text-error" : "text-primary");
+</script>
+
+<div class="card bg-base-100 shadow-xl max-w-sm mx-auto">
+  <div class="card-body text-center">
+    <h2 class="card-title justify-center">🔥 Svelte Counter</h2>
+
+    <div class="text-6xl font-bold my-4 {countColor}">
+      {count}
+    </div>
+
+    <div class="card-actions justify-center gap-4">
+      <button class="btn btn-error" onclick={decrement}> − </button>
+      <button class="btn btn-success" onclick={increment}> + </button>
+      <button class="btn btn-ghost" onclick={reset}> Reset </button>
+    </div>
+
+    {#if message}
+      <div class="alert alert-info mt-4">
+        <span>{message}</span>
+      </div>
+    {/if}
+  </div>
+</div>
+
+<style>
+  .card-title {
+    color: var(--primary);
+  }
+</style>
+
+
+
+
+

Build Process

+
+

All frameworks require bundling into a single JavaScript file:

+
+
+
+
# For TypeScript/JavaScript projects
+bun build index.ts --outfile=build.js --minify --target=browser --production
+
+# The resulting build.js content goes in your registration event's script tag
+
+
+
+

Svelte Build Requirements

+
+ + + + + +
+ + +The standard build command above will NOT work for Svelte projects. Svelte requires specific Vite configuration to compile properly. +
+
+
+

For Svelte arxlets:

+
+
+
    +
  1. +

    Use the arxlets-template which includes the correct Vite configuration

    +
  2. +
  3. +

    Run bun run build instead of the standard build command

    +
  4. +
  5. +

    Your compiled file will be available at dist/bundle.js

    +
  6. +
+
+
+

While the initial setup is more complex, Svelte provides an excellent development experience once configured, with features like:

+
+
+
    +
  • +

    Built-in reactivity with runes ($state(), $derived(), etc.)

    +
  • +
  • +

    Scoped CSS

    +
  • +
  • +

    Compile-time optimizations

    +
  • +
  • +

    No runtime overhead

    +
  • +
+
+
+
+
+
+
+

Debugging and Development

+
+
+

Console Logging

+
+
    +
  • +

    Use console.log() for debugging

    +
  • +
  • +

    Events and errors are logged to browser console

    +
  • +
+
+
+
+

Error Handling

+
+
    +
  • +

    Catch and log API errors

    +
  • +
  • +

    Display user-friendly error messages

    +
  • +
  • +

    Implement retry mechanisms for transient failures

    +
  • +
+
+
+
+

Testing

+
+
    +
  • +

    Test with various event types and filters

    +
  • +
  • +

    Verify subscription cleanup

    +
  • +
  • +

    Test error scenarios and edge cases

    +
  • +
  • +

    Validate event signing and publishing

    +
  • +
+
+
+
+
+
+

Limitations and Considerations

+
+
+

Sandbox Restrictions

+
+
    +
  • +

    Limited access to browser APIs

    +
  • +
  • +

    No direct file system access

    +
  • +
  • +

    Restricted network access (only to Eve relay)

    +
  • +
  • +

    No access to parent window context

    +
  • +
+
+
+
+

Performance Constraints

+
+
    +
  • +

    Iframe overhead for each arxlet

    +
  • +
  • +

    Memory usage for subscriptions

    +
  • +
  • +

    Event processing limitations

    +
  • +
+
+
+
+

Security Considerations

+
+
    +
  • +

    All events are public on Nostr

    +
  • +
  • +

    Private key management handled by Eve

    +
  • +
  • +

    Content sanitization required

    +
  • +
  • +

    XSS prevention necessary

    +
  • +
+
+
+
+
+
+

DaisyUI Components

+
+
+

Arxlets have access to DaisyUI 5, a comprehensive CSS component library. Use these pre-built components for consistent, accessible UI:

+
+
+

Essential Components

+
+
+
<!-- Cards for content containers -->
+<div class="card bg-base-100 shadow-xl">
+  <div class="card-body">
+    <h2 class="card-title">Card Title</h2>
+    <p>Card content goes here</p>
+    <div class="card-actions justify-end">
+      <button class="btn btn-primary">Action</button>
+    </div>
+  </div>
+</div>
+
+<!-- Buttons with various styles -->
+<button class="btn btn-primary">Primary</button>
+<button class="btn btn-secondary">Secondary</button>
+<button class="btn btn-success">Success</button>
+<button class="btn btn-error">Error</button>
+<button class="btn btn-ghost">Ghost</button>
+
+<!-- Form controls -->
+<div class="form-control">
+  <label class="label">
+    <span class="label-text">Input Label</span>
+  </label>
+  <input type="text" class="input input-bordered" placeholder="Enter text" />
+</div>
+
+<!-- Alerts for feedback -->
+<div class="alert alert-success">
+  <span>✅ Success message</span>
+</div>
+<div class="alert alert-error">
+  <span>❌ Error message</span>
+</div>
+
+<!-- Loading states -->
+<span class="loading loading-spinner loading-lg"></span>
+<button class="btn btn-primary">
+  <span class="loading loading-spinner loading-sm"></span>
+  Loading...
+</button>
+
+<!-- Modals for dialogs -->
+<dialog class="modal" id="my-modal">
+  <div class="modal-box">
+    <h3 class="font-bold text-lg">Modal Title</h3>
+    <p class="py-4">Modal content</p>
+    <div class="modal-action">
+      <button class="btn" onclick="document.getElementById('my-modal').close()">
+        Close
+      </button>
+    </div>
+  </div>
+</dialog>
+
+
+
+
+

Layout Utilities

+
+
+
<!-- Responsive grid -->
+<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4">
+  <div class="card">Content 1</div>
+  <div class="card">Content 2</div>
+  <div class="card">Content 3</div>
+</div>
+
+<!-- Flexbox utilities -->
+<div class="flex justify-between items-center">
+  <span>Left content</span>
+  <button class="btn">Right button</button>
+</div>
+
+<!-- Spacing -->
+<div class="p-4 m-2 space-y-4">
+  <!-- p-4 = padding, m-2 = margin, space-y-4 = vertical spacing -->
+</div>
+
+
+
+
+

Color System

+
+
+
<!-- Background colors -->
+<div class="bg-base-100">Default background</div>
+<div class="bg-base-200">Slightly darker</div>
+<div class="bg-primary">Primary color</div>
+<div class="bg-secondary">Secondary color</div>
+
+<!-- Text colors -->
+<span class="text-primary">Primary text</span>
+<span class="text-success">Success text</span>
+<span class="text-error">Error text</span>
+<span class="text-base-content">Default text</span>
+
+
+
+
+
+
+

Complete Example Patterns

+
+
+

Simple Counter Arxlet

+
+
+
export function render(container: HTMLElement) {
+  let count: number = 0;
+
+  container.innerHTML = `
+    <div class="card bg-base-100 shadow-xl max-w-sm mx-auto">
+      <div class="card-body text-center">
+        <h2 class="card-title justify-center">Counter App</h2>
+        <div class="text-6xl font-bold text-primary my-4" id="display">
+          ${count}
+        </div>
+        <div class="card-actions justify-center gap-4">
+          <button class="btn btn-error" id="decrement">−</button>
+          <button class="btn btn-success" id="increment">+</button>
+          <button class="btn btn-ghost" id="reset">Reset</button>
+        </div>
+      </div>
+    </div>
+  `;
+
+  const display = container.querySelector<HTMLDivElement>("#display")!;
+  const incrementBtn = container.querySelector<HTMLButtonElement>("#increment")!;
+  const decrementBtn = container.querySelector<HTMLButtonElement>("#decrement")!;
+  const resetBtn = container.querySelector<HTMLButtonElement>("#reset")!;
+
+  const updateDisplay = (): void => {
+    display.textContent = count.toString();
+    display.className = `text-6xl font-bold my-4 ${
+      count > 0 ? "text-success" : count < 0 ? "text-error" : "text-primary"
+    }`;
+  };
+
+  incrementBtn.onclick = (): void => {
+    count++;
+    updateDisplay();
+  };
+  decrementBtn.onclick = (): void => {
+    count--;
+    updateDisplay();
+  };
+  resetBtn.onclick = (): void => {
+    count = 0;
+    updateDisplay();
+  };
+}
+
+
+
+
+

Nostr Event Publisher

+
+
+
import type { NostrEvent } from "./type-definitions.ts";
+
+export async function render(container: HTMLElement): Promise<void> {
+  container.innerHTML = `
+    <div class="card bg-base-100 shadow-xl max-w-2xl mx-auto">
+      <div class="card-body">
+        <h2 class="card-title">📝 Publish a Note</h2>
+
+        <div class="form-control">
+          <label class="label">
+            <span class="label-text">What's on your mind?</span>
+            <span class="label-text-alt" id="charCount">0/280</span>
+          </label>
+          <textarea
+            class="textarea textarea-bordered h-32"
+            id="noteContent"
+            placeholder="Share your thoughts with your CCN..."
+            maxlength="280">
+          </textarea>
+        </div>
+
+        <div class="card-actions justify-between items-center">
+          <div id="status" class="flex-1"></div>
+          <button class="btn btn-primary" id="publishBtn" disabled>
+            Publish Note
+          </button>
+        </div>
+      </div>
+    </div>
+  `;
+
+  const textarea = container.querySelector<HTMLTextAreaElement>("#noteContent")!;
+  const publishBtn = container.querySelector<HTMLButtonElement>("#publishBtn")!;
+  const status = container.querySelector<HTMLDivElement>("#status")!;
+  const charCount = container.querySelector<HTMLSpanElement>("#charCount")!;
+
+  textarea.oninput = (): void => {
+    const length: number = textarea.value.length;
+    charCount.textContent = `${length}/280`;
+    publishBtn.disabled = length === 0 || length > 280;
+  };
+
+  publishBtn.onclick = async (e): Promise<void> => {
+    const content: string = textarea.value.trim();
+    if (!content) return;
+
+    publishBtn.disabled = true;
+    publishBtn.textContent = "Publishing...";
+    status.innerHTML = '<span class="loading loading-spinner loading-sm"></span>';
+
+    try {
+      const unsignedEvent: NostrEvent = {
+        kind: 1, // Text note
+        content: content,
+        tags: [["client", "arxlet-publisher"]],
+        created_at: Math.floor(Date.now() / 1000),
+        pubkey: await window.eve.publicKey,
+      };
+
+      const signedEvent: NostrEvent = await window.eve.signEvent(unsignedEvent);
+
+      await window.eve.publish(signedEvent);
+
+      status.innerHTML = `
+        <div class="alert alert-success">
+          <span>✅ Note published successfully!</span>
+        </div>
+      `;
+
+      textarea.value = "";
+      textarea.oninput?.(e);
+    } catch (error: unknown) {
+      const errorMessage = error instanceof Error ? error.message : "Unknown error";
+      console.error("Publishing failed:", error);
+      status.innerHTML = `
+        <div class="alert alert-error">
+          <span>❌ Failed to publish: ${errorMessage}</span>
+        </div>
+      `;
+    } finally {
+      publishBtn.disabled = false;
+      publishBtn.textContent = "Publish Note";
+    }
+  };
+}
+
+
+
+
+
+
+ + + + + \ No newline at end of file diff --git a/src/pages/docs/arxlets/arxlet-docs.adoc b/src/pages/docs/arxlets/arxlet-docs.adoc new file mode 100644 index 0000000..94d6c00 --- /dev/null +++ b/src/pages/docs/arxlets/arxlet-docs.adoc @@ -0,0 +1,979 @@ += Arxlets API Context +:description: Arxlets are secure, sandboxed JavaScript applications that extend Eve's functionality. +:doctype: book +:icons: font +:source-highlighter: highlight.js +:toc: left +:toclevels: 2 +:sectlinks: + +== Installing EveOS + +sudo coreos-installer install /dev/sda --ignition-url https://arx-ccn.com/eveos.ign + +// Overview Section +== Overview + +Arxlets are secure, sandboxed JavaScript applications that extend Eve's functionality. They run in isolated iframes and are registered on your CCN (Closed Community Network) for member-only access. Arxlets provide a powerful way to build custom applications that interact with Nostr events and profiles through Eve. + +=== Core Concepts + +What are Arxlets? +- **Sandboxed Applications**: Run in isolated iframes for security +- **JavaScript-based**: Written in TypeScript/JavaScript with wasm support coming in the future +- **CCN Integration**: Registered on your Closed Community Network +- **Nostr-native**: Built-in access to Nostr protocol operations +- **Real-time**: Support for live event subscriptions and updates + +NOTE: WASM support will be added in future releases for even more powerful applications. + +=== CCN Local-First Architecture + +CCNs (Closed Community Networks) are designed with a local-first approach that ensures data availability and functionality even when offline: + +* **Local Data Storage**: All Nostr events and profiles are stored locally on your device, providing instant access without network dependencies +* **Offline Functionality**: Arxlets can read, display, and interact with locally cached data when disconnected from the internet +* **Sync When Connected**: When network connectivity is restored, the CCN automatically synchronizes with remote relays to fetch new events and propagate local changes +* **Resilient Operation**: Your applications continue to work seamlessly regardless of network conditions, making CCNs ideal for unreliable connectivity scenarios +* **Privacy by Design**: Local-first storage means your data remains on your device, reducing exposure to external services and improving privacy + +=== Architecture + +- **Frontend**: TypeScript applications with render functions +- **Backend**: Eve relay providing Nostr protocol access +- **Communication**: window.eve API or direct WebSocket connections + +// API Reference Section +== API Reference + +The primary interface for Arxlets to interact with Eve's Nostr relay. All methods return promises for async operations. + +=== window.eve API + +[source,typescript] +---- +// Using window.eve API for Nostr operations +import type { Filter, NostrEvent } from "./types"; + +// Publish a new event +const event: NostrEvent = { + kind: 1, + content: "Hello from my Arxlet!", + tags: [], + created_at: Math.floor(Date.now() / 1000), + pubkey: "your-pubkey-here", +}; + +await window.eve.publish(event); + +// Get a specific event by ID +const eventId = "event-id-here"; +const event = await window.eve.getSingleEventById(eventId); + +// Query events with a filter +const filter: Filter = { + kinds: [1], + authors: ["pubkey-here"], + limit: 10, +}; + +const singleEvent = await window.eve.getSingleEventWithFilter(filter); +const allEvents = await window.eve.getAllEventsWithFilter(filter); + +// Real-time subscription with RxJS Observable +const subscription = window.eve.subscribeToEvents(filter).subscribe({ + next: (event) => { + console.log("New event received:", event); + // Update your UI with the new event + }, + error: (err) => console.error("Subscription error:", err), + complete: () => console.log("Subscription completed"), +}); + +// Subscribe to profile updates for a specific user +const profileSubscription = window.eve.subscribeToProfile(pubkey).subscribe({ + next: (profile) => { + console.log("Profile updated:", profile); + // Update your UI with the new profile data + }, + error: (err) => console.error("Profile subscription error:", err), +}); + +// Don't forget to unsubscribe when done +// subscription.unsubscribe(); +// profileSubscription.unsubscribe(); + +// Get user profile and avatar +const pubkey = "user-pubkey-here"; +const profile = await window.eve.getProfile(pubkey); +const avatarUrl = await window.eve.getAvatar(pubkey); +---- + +=== Real-time Subscriptions + +[source,typescript] +---- +// Real-time subscription examples +import { filter, map, takeUntil } from "rxjs/operators"; + +// Basic subscription +const subscription = window.eve + .subscribeToEvents({ + kinds: [1], // Text notes + limit: 50, + }) + .subscribe((event) => { + console.log("New text note:", event.content); + }); + +// Advanced filtering with RxJS operators +const filteredSubscription = window.eve + .subscribeToEvents({ + kinds: [1, 6, 7], // Notes, reposts, reactions + authors: ["pubkey1", "pubkey2"], + }) + .pipe( + filter((event) => event.content.includes("#arxlet")), // Only events mentioning arxlets + map((event) => ({ + id: event.id, + author: event.pubkey, + content: event.content, + timestamp: new Date(event.created_at * 1000), + })), + ) + .subscribe({ + next: (processedEvent) => { + // Update your UI + updateEventsList(processedEvent); + }, + error: (err) => { + console.error("Subscription error:", err); + showErrorMessage("Failed to receive real-time updates"); + }, + }); + +// Profile subscription example +const profileSubscription = window.eve.subscribeToProfile("user-pubkey-here").subscribe({ + next: (profile) => { + console.log("Profile updated:", profile); + updateUserProfile(profile); + }, + error: (err) => { + console.error("Profile subscription error:", err); + }, +}); + +// Clean up subscriptions when component unmounts +// subscription.unsubscribe(); +// filteredSubscription.unsubscribe(); +// profileSubscription.unsubscribe(); +---- + +=== WebSocket Alternative + +For advanced use cases, connect directly to Eve's WebSocket relay, or use any nostr library. This is not recommended: + +[source,typescript] +---- +// Alternative: Direct WebSocket connection +const ws = new WebSocket("ws://localhost:6942"); + +ws.onopen = () => { + // Subscribe to events + ws.send(JSON.stringify(["REQ", "sub1", { kinds: [1], limit: 10 }])); +}; + +ws.onmessage = (event) => { + const [type, subId, data] = JSON.parse(event.data); + if (type === "EVENT") { + console.log("Received event:", data); + } +}; + +// Publish an event +const signedEvent = await window.nostr.signEvent(unsignedEvent); +ws.send(JSON.stringify(["EVENT", signedEvent])); +---- + +// Type Definitions Section +== Type Definitions + +[source,typescript] +---- +import type { Observable } from "rxjs"; + +export interface NostrEvent { + id?: string; + pubkey: string; + created_at: number; + kind: number; + tags: string[][]; + content: string; + sig?: string; +} + +export interface Filter { + ids?: string[]; + authors?: string[]; + kinds?: number[]; + since?: number; + until?: number; + limit?: number; + [key: string]: any; +} + +export interface Profile { + name?: string; + about?: string; + picture?: string; + nip05?: string; + [key: string]: any; +} + +export interface WindowEve { + publish(event: NostrEvent): Promise; + getSingleEventById(id: string): Promise; + getSingleEventWithFilter(filter: Filter): Promise; + getAllEventsWithFilter(filter: Filter): Promise; + subscribeToEvents(filter: Filter): Observable; + subscribeToProfile(pubkey: string): Observable; + getProfile(pubkey: string): Promise; + getAvatar(pubkey: string): Promise; + signEvent(event: NostrEvent): Promise; + get publicKey(): Promise; +} + +declare global { + interface Window { + eve: WindowEve; + } +} +---- + +// Registration Section +== Registration + +Arxlets are registered using Nostr events with kind `30420`: + +[source,json] +---- +{ + "kind": 30420, + "tags": [ + ["d", "my-calculator"], + ["name", "Simple Calculator"], + ["description", "A basic calculator for quick math"], + ["script", "export function render(el) { /* your code */ }"], + ["icon", "mdi:calculator", "#3b82f6"] + ], + "content": "", + "created_at": 1735171200 +} +---- + +=== Required Tags +* `d`: Unique identifier (alphanumeric, hyphens, underscores) +* `name`: Human-readable display name +* `script`: Complete JavaScript code with render export function + +=== Optional Tags +* `description`: Brief description of functionality +* `icon`: Iconify icon name and hex color + +// Development Patterns Section +== Development Patterns + +=== Basic Arxlet Structure + +[source,typescript] +---- +/** + * Required export function - Entry point for your Arxlet + */ +export function render(container: HTMLElement): void { + // Initialize your application + container.innerHTML = ` +
+

My Arxlet

+

Hello from Eve!

+ +
+ `; + + // Add event listeners with proper typing + const button = container.querySelector("#myButton"); + button?.addEventListener("click", (): void => { + alert("Button clicked!"); + }); + + // Your app logic here... +} +---- + +=== Real-time Updates +[source,typescript] +---- +export function render(container: HTMLElement): void { + let subscription: Subscription; + + // Set up UI + container.innerHTML = `
`; + const eventsContainer = container.querySelector("#events"); + + // Subscribe to real-time events + subscription = window.eve + .subscribeToEvents({ + kinds: [1], + limit: 50, + }) + .subscribe({ + next: (event) => { + // Update UI with new event + const eventElement = document.createElement("div"); + eventElement.textContent = event.content; + eventsContainer?.prepend(eventElement); + }, + error: (err) => console.error("Subscription error:", err), + }); + + // Cleanup when arxlet is destroyed + window.addEventListener("beforeunload", () => { + subscription?.unsubscribe(); + }); +} +---- + +=== Publishing Events + +[source,typescript] +---- +import type { NostrEvent } from "./type-definitions.ts"; + +export async function render(container: HTMLElement): Promise { + container.innerHTML = ` +
+
+

📝 Publish a Note

+ +
+ + +
+ +
+
+ +
+
+
+ `; + + const textarea = container.querySelector("#noteContent")!; + const publishBtn = container.querySelector("#publishBtn")!; + const status = container.querySelector("#status")!; + const charCount = container.querySelector("#charCount")!; + + textarea.oninput = (): void => { + const length: number = textarea.value.length; + charCount.textContent = `${length}/280`; + publishBtn.disabled = length === 0 || length > 280; + }; + + publishBtn.onclick = async (e): Promise => { + const content: string = textarea.value.trim(); + if (!content) return; + + publishBtn.disabled = true; + publishBtn.textContent = "Publishing..."; + status.innerHTML = ''; + + try { + const unsignedEvent: NostrEvent = { + kind: 1, // Text note + content: content, + tags: [["client", "arxlet-publisher"]], + created_at: Math.floor(Date.now() / 1000), + pubkey: await window.eve.publicKey, + }; + + const signedEvent: NostrEvent = await window.eve.signEvent(unsignedEvent); + + await window.eve.publish(signedEvent); + + status.innerHTML = ` +
+ ✅ Note published successfully! +
+ `; + + textarea.value = ""; + textarea.oninput?.(e); + } catch (error: unknown) { + const errorMessage = error instanceof Error ? error.message : "Unknown error"; + console.error("Publishing failed:", error); + status.innerHTML = ` +
+ ❌ Failed to publish: ${errorMessage} +
+ `; + } finally { + publishBtn.disabled = false; + publishBtn.textContent = "Publish Note"; + } + }; +} +---- + +// Best Practices Section +== Best Practices + +=== Error Handling +- Always wrap API calls in try-catch blocks +- Check for null returns from query methods +- Provide user feedback for failed operations + +=== Performance +- Use specific filters to limit result sets +- Cache profile data to avoid repeated lookups +- Unsubscribe from observables when done +- Debounce rapid API calls +- Consider pagination for large datasets + +=== Security +- Validate all user inputs +- Sanitize content before displaying +- Use proper event signing for authenticity +- Follow principle of least privilege + +=== Memory Management +- Always unsubscribe from RxJS observables +- Clean up event listeners on component destruction +- Avoid memory leaks in long-running subscriptions +- Use weak references where appropriate + +// Common Use Cases Section +== Common Use Cases + +=== Social Feed +- Subscribe to events from followed users +- Display real-time updates +- Handle profile information and avatars +- Implement engagement features + +=== Publishing Tools +- Create and sign events +- Validate content before publishing +- Handle publishing errors gracefully +- Provide user feedback + +=== Data Visualization +- Query historical events +- Process and aggregate data +- Create interactive charts and graphs +- Real-time data updates + +=== Communication Apps +- Direct messaging interfaces +- Group chat functionality +- Notification systems +- Presence indicators + +// Framework Integration Section +== Framework Integration + +Arxlets support various JavaScript frameworks. All frameworks must export a `render` function that accepts a container element: + +=== Vanilla JavaScript + +[source,typescript] +---- +export function render(container: HTMLElement) { + let count: number = 0; + + container.innerHTML = ` +
+
+

Counter App

+
+ ${count} +
+
+ + + +
+
+
+ `; + + const display = container.querySelector("#display")!; + const incrementBtn = container.querySelector("#increment")!; + const decrementBtn = container.querySelector("#decrement")!; + const resetBtn = container.querySelector("#reset")!; + + const updateDisplay = (): void => { + display.textContent = count.toString(); + display.className = `text-6xl font-bold my-4 ${ + count > 0 ? "text-success" : count < 0 ? "text-error" : "text-primary" + }`; + }; + + incrementBtn.onclick = (): void => { + count++; + updateDisplay(); + }; + decrementBtn.onclick = (): void => { + count--; + updateDisplay(); + }; + resetBtn.onclick = (): void => { + count = 0; + updateDisplay(); + }; +} +---- + +=== Preact/React + +[source,tsx] +---- +// @jsx h +// @jsxImportSource preact + +import { render as renderPreact } from "preact"; +import { useState } from "preact/hooks"; + +const CounterApp = () => { + const [count, setCount] = useState(0); + const [message, setMessage] = useState(""); + + const increment = () => { + setCount((prev) => prev + 1); + setMessage(`Clicked ${count + 1} times!`); + }; + + const decrement = () => { + setCount((prev) => prev - 1); + setMessage(`Count decreased to ${count - 1}`); + }; + + const reset = () => { + setCount(0); + setMessage("Counter reset!"); + }; + + return ( +
+
+

Preact Counter

+ +
0 ? "text-success" : count < 0 ? "text-error" : "text-primary"}`} + > + {count} +
+ +
+ + + +
+ + {message && ( +
+ {message} +
+ )} +
+
+ ); +}; + +export function render(container: HTMLElement): void { + renderPreact(, container); +} +---- + +=== Svelte + +[source,svelte] +---- + + +
+
+

🔥 Svelte Counter

+ +
+ {count} +
+ +
+ + + +
+ + {#if message} +
+ {message} +
+ {/if} +
+
+ + +---- + +=== Build Process +All frameworks require bundling into a single JavaScript file: + +[source,bash] +---- +# For TypeScript/JavaScript projects +bun build index.ts --outfile=build.js --minify --target=browser --production + +# The resulting build.js content goes in your registration event's script tag +---- + +==== Svelte Build Requirements + +IMPORTANT: The standard build command above will NOT work for Svelte projects. Svelte requires specific Vite configuration to compile properly. + +For Svelte arxlets: + +. Use the https://git.arx-ccn.com/Arx/arxlets-template[arxlets-template] which includes the correct Vite configuration +. Run `bun run build` instead of the standard build command +. Your compiled file will be available at `dist/bundle.js` + +While the initial setup is more complex, Svelte provides an excellent development experience once configured, with features like: + +- Built-in reactivity with runes (`$state()`, `$derived()`, etc.) +- Scoped CSS +- Compile-time optimizations +- No runtime overhead + +// Debugging and Development Section +== Debugging and Development + +=== Console Logging +- Use `console.log()` for debugging +- Events and errors are logged to browser console + +=== Error Handling +- Catch and log API errors +- Display user-friendly error messages +- Implement retry mechanisms for transient failures + +=== Testing +- Test with various event types and filters +- Verify subscription cleanup +- Test error scenarios and edge cases +- Validate event signing and publishing + +// Limitations and Considerations Section +== Limitations and Considerations + +=== Sandbox Restrictions +- Limited access to browser APIs +- No direct file system access +- Restricted network access (only to Eve relay) +- No access to parent window context + +=== Performance Constraints +- Iframe overhead for each arxlet +- Memory usage for subscriptions +- Event processing limitations + +=== Security Considerations +- All events are public on Nostr +- Private key management handled by Eve +- Content sanitization required +- XSS prevention necessary + +// DaisyUI Components Section +== DaisyUI Components + +Arxlets have access to DaisyUI 5, a comprehensive CSS component library. Use these pre-built components for consistent, accessible UI: + +=== Essential Components +[source,html] +---- + +
+
+

Card Title

+

Card content goes here

+
+ +
+
+
+ + + + + + + + + +
+ + +
+ + +
+ ✅ Success message +
+
+ ❌ Error message +
+ + + + + + + + + +---- + +=== Layout Utilities +[source,html] +---- + +
+
Content 1
+
Content 2
+
Content 3
+
+ + +
+ Left content + +
+ + +
+ +
+---- + +=== Color System +[source,html] +---- + +
Default background
+
Slightly darker
+
Primary color
+
Secondary color
+ + +Primary text +Success text +Error text +Default text +---- + +// Complete Example Patterns Section +== Complete Example Patterns + +=== Simple Counter Arxlet + +[source,typescript] +---- +export function render(container: HTMLElement) { + let count: number = 0; + + container.innerHTML = ` +
+
+

Counter App

+
+ ${count} +
+
+ + + +
+
+
+ `; + + const display = container.querySelector("#display")!; + const incrementBtn = container.querySelector("#increment")!; + const decrementBtn = container.querySelector("#decrement")!; + const resetBtn = container.querySelector("#reset")!; + + const updateDisplay = (): void => { + display.textContent = count.toString(); + display.className = `text-6xl font-bold my-4 ${ + count > 0 ? "text-success" : count < 0 ? "text-error" : "text-primary" + }`; + }; + + incrementBtn.onclick = (): void => { + count++; + updateDisplay(); + }; + decrementBtn.onclick = (): void => { + count--; + updateDisplay(); + }; + resetBtn.onclick = (): void => { + count = 0; + updateDisplay(); + }; +} +---- + +=== Nostr Event Publisher + +[source,typescript] +---- +import type { NostrEvent } from "./type-definitions.ts"; + +export async function render(container: HTMLElement): Promise { + container.innerHTML = ` +
+
+

📝 Publish a Note

+ +
+ + +
+ +
+
+ +
+
+
+ `; + + const textarea = container.querySelector("#noteContent")!; + const publishBtn = container.querySelector("#publishBtn")!; + const status = container.querySelector("#status")!; + const charCount = container.querySelector("#charCount")!; + + textarea.oninput = (): void => { + const length: number = textarea.value.length; + charCount.textContent = `${length}/280`; + publishBtn.disabled = length === 0 || length > 280; + }; + + publishBtn.onclick = async (e): Promise => { + const content: string = textarea.value.trim(); + if (!content) return; + + publishBtn.disabled = true; + publishBtn.textContent = "Publishing..."; + status.innerHTML = ''; + + try { + const unsignedEvent: NostrEvent = { + kind: 1, // Text note + content: content, + tags: [["client", "arxlet-publisher"]], + created_at: Math.floor(Date.now() / 1000), + pubkey: await window.eve.publicKey, + }; + + const signedEvent: NostrEvent = await window.eve.signEvent(unsignedEvent); + + await window.eve.publish(signedEvent); + + status.innerHTML = ` +
+ ✅ Note published successfully! +
+ `; + + textarea.value = ""; + textarea.oninput?.(e); + } catch (error: unknown) { + const errorMessage = error instanceof Error ? error.message : "Unknown error"; + console.error("Publishing failed:", error); + status.innerHTML = ` +
+ ❌ Failed to publish: ${errorMessage} +
+ `; + } finally { + publishBtn.disabled = false; + publishBtn.textContent = "Publish Note"; + } + }; +} +---- diff --git a/src/pages/docs/arxlets/arxlet-docs.css b/src/pages/docs/arxlets/arxlet-docs.css new file mode 100644 index 0000000..e80dde6 --- /dev/null +++ b/src/pages/docs/arxlets/arxlet-docs.css @@ -0,0 +1,746 @@ +@import url("https://esm.sh/prismjs/themes/prism-tomorrow.css"); + +html { + scroll-behavior: smooth; +} + +* { + transition: all 0.2s ease; +} + +code[class*="language-"], +pre[class*="language-"] { + font-family: "Fira Code", "Monaco", "Cascadia Code", "Roboto Mono", monospace; + font-size: 0.875rem; + line-height: 1.5; +} + +kbd { + border-radius: 25%; + color: white; + margin-right: 2px; +} + +.mockup-code pre::before { + display: none; +} + +/* Next-Level Sidebar Styling */ +.sidebar-container { + background: linear-gradient(180deg, hsl(var(--b2)) 0%, hsl(var(--b1)) 100%); + border-right: 1px solid hsl(var(--b3)); + position: relative; + overflow: hidden; +} + +.sidebar-container::before { + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + height: 1px; + background: linear-gradient(90deg, transparent, hsl(var(--p) / 0.5), transparent); + animation: shimmer 3s ease-in-out infinite; +} + +@keyframes shimmer { + 0%, + 100% { + opacity: 0; + } + + 50% { + opacity: 1; + } +} + +/* Global Progress Bar */ +.global-progress-container { + position: fixed; + top: 0; + left: 0; + right: 0; + height: 2px; + background: hsl(var(--b3) / 0.1); + z-index: 9999; + backdrop-filter: blur(10px); +} + +.global-progress-bar { + height: 100%; + background: cyan; + transition: width 0.2s cubic-bezier(0.4, 0, 0.2, 1); + box-shadow: + 0 0 12px hsl(var(--p) / 0.5), + 0 1px 3px hsl(var(--p) / 0.3); + position: relative; + border-radius: 0 1px 1px 0; +} + +.global-progress-bar::before { + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: linear-gradient(90deg, hsl(var(--p) / 0.8) 0%, hsl(var(--s) / 0.9) 50%, hsl(var(--a) / 0.8) 100%); + animation: shimmer-progress 2s ease-in-out infinite; +} + +.global-progress-bar::after { + content: ""; + position: absolute; + top: -1px; + right: -2px; + width: 4px; + height: 4px; + background: hsl(var(--pc)); + border-radius: 50%; + box-shadow: 0 0 6px hsl(var(--pc) / 0.8); + animation: pulse-dot 1.5s ease-in-out infinite; +} + +@keyframes shimmer-progress { + 0%, + 100% { + opacity: 0.8; + } + + 50% { + opacity: 1; + } +} + +@keyframes pulse-dot { + 0%, + 100% { + transform: scale(1); + opacity: 0.8; + } + + 50% { + transform: scale(1.2); + opacity: 1; + } +} + +/* Ensure content doesn't get hidden behind progress bar */ +body { + padding-top: 2px; +} + +/* Enhanced Header */ +.sidebar-header { + background: hsl(var(--b1)); + backdrop-filter: blur(10px); + border-bottom: 1px solid hsl(var(--b3) / 0.5); + position: relative; +} + +.header-icon { + position: relative; + overflow: hidden; +} + +.header-icon::before { + content: ""; + position: absolute; + top: -50%; + left: -50%; + width: 200%; + height: 200%; + background: linear-gradient(45deg, transparent, hsl(var(--pc) / 0.1), transparent); + animation: rotate 3s linear infinite; +} + +@keyframes rotate { + 0% { + transform: rotate(0deg); + } + + 100% { + transform: rotate(360deg); + } +} + +/* Navigation Container */ +.navigation-container { + position: relative; +} + +.navigation-container.scrolling { + background: hsl(var(--b2) / 0.95); +} + +.drawer-side .menu { + padding: 1rem; + gap: 0.5rem; +} + +/* Navigation Items */ +.nav-item { + animation: slideInLeft 0.6s ease-out; + animation-delay: calc(var(--item-index) * 0.1s); + animation-fill-mode: both; +} + +@keyframes slideInLeft { + from { + opacity: 0; + transform: translateX(-20px); + } + + to { + opacity: 1; + transform: translateX(0); + } +} + +/* Section Links */ +.section-link { + font-weight: 600; + font-size: 0.95rem; + padding: 1rem; + border-radius: 0.75rem; + margin-bottom: 0.25rem; + position: relative; + transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); + display: flex; + align-items: center; + gap: 0.75rem; + overflow: hidden; + backdrop-filter: blur(5px); +} + +.section-link::before { + content: ""; + position: absolute; + top: 0; + left: -100%; + width: 100%; + height: 100%; + background: linear-gradient(90deg, transparent, hsl(var(--p) / 0.1), transparent); + transition: left 0.5s ease; +} + +.section-link:hover::before { + left: 100%; +} + +.section-link:hover { + background: hsl(var(--b3) / 0.7); + transform: translateX(4px) scale(1.02); + box-shadow: 0 8px 25px hsl(var(--b3) / 0.3); +} + +.section-link.active { + background: linear-gradient(135deg, hsl(var(--p)) 0%, hsl(var(--s)) 100%); + color: hsl(var(--pc)); + font-weight: 700; + box-shadow: + 0 8px 25px hsl(var(--p) / 0.4), + 0 0 0 1px hsl(var(--p) / 0.2), + inset 0 1px 0 hsl(var(--pc) / 0.1); + transform: translateX(6px); +} + +.section-link.active::after { + content: ""; + position: absolute; + left: -1rem; + top: 50%; + transform: translateY(-50%); + width: 4px; + height: 70%; + background: linear-gradient(180deg, hsl(var(--p)), hsl(var(--s))); + border-radius: 2px; + box-shadow: 0 0 10px hsl(var(--p) / 0.5); +} + +/* Section Icon Container */ +.section-icon-container { + position: relative; + display: flex; + align-items: center; + justify-content: center; + width: 2rem; + height: 2rem; +} + +.section-icon { + font-size: 1.1rem; + transition: all 0.3s ease; + position: relative; + z-index: 2; +} + +.icon-glow { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + width: 100%; + height: 100%; + background: radial-gradient(circle, hsl(var(--p) / 0.2) 0%, transparent 70%); + border-radius: 50%; + opacity: 0; + transition: opacity 0.3s ease; +} + +.section-link.active .icon-glow { + opacity: 1; + animation: pulse-glow 2s ease-in-out infinite; +} + +@keyframes pulse-glow { + 0%, + 100% { + transform: translate(-50%, -50%) scale(1); + opacity: 0.2; + } + + 50% { + transform: translate(-50%, -50%) scale(1.2); + opacity: 0.4; + } +} + +.section-link.active .section-icon { + transform: scale(1.1); + filter: drop-shadow(0 0 8px hsl(var(--pc) / 0.5)); +} + +/* Section Text */ +.section-text { + flex: 1; + transition: all 0.3s ease; +} + +.section-link.active .section-text { + text-shadow: 0 0 10px hsl(var(--pc) / 0.3); +} + +/* Section Badge */ +.section-badge { + display: flex; + align-items: center; +} + +.subsection-count { + background: hsl(var(--b3) / 0.5); + color: hsl(var(--bc) / 0.7); + font-size: 0.75rem; + font-weight: 600; + padding: 0.25rem 0.5rem; + border-radius: 1rem; + min-width: 1.5rem; + text-align: center; + transition: all 0.3s ease; +} + +.section-link.active .subsection-count { + background: hsl(var(--pc) / 0.2); + color: hsl(var(--pc)); + box-shadow: 0 0 10px hsl(var(--pc) / 0.3); +} + +/* Enhanced Subsection Styling */ +.subsection-menu { + margin-left: 1rem; + margin-top: 0.75rem; + padding-left: 1.5rem; + border-left: 2px solid hsl(var(--b3) / 0.3); + gap: 0.25rem; + position: relative; + animation: slideDown 0.4s cubic-bezier(0.4, 0, 0.2, 1); +} + +.subsection-menu::before { + content: ""; + position: absolute; + left: -2px; + top: 0; + width: 2px; + height: 100%; + background: linear-gradient(180deg, hsl(var(--p) / 0.5), transparent); + transform: scaleY(0); + transform-origin: top; + animation: expandLine 0.6s ease-out 0.2s forwards; +} + +@keyframes expandLine { + to { + transform: scaleY(1); + } +} + +.subsection-menu li { + animation: slideInRight 0.4s ease-out; + animation-delay: calc(var(--sub-index) * 0.05s + 0.1s); + animation-fill-mode: both; +} + +@keyframes slideInRight { + from { + opacity: 0; + transform: translateX(-15px); + } + + to { + opacity: 1; + transform: translateX(0); + } +} + +.subsection-link { + font-size: 0.875rem; + font-weight: 500; + padding: 0.75rem 1rem; + border-radius: 0.5rem; + color: hsl(var(--bc) / 0.7); + transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); + position: relative; + display: flex; + align-items: center; + gap: 0.75rem; + margin-bottom: 0.125rem; +} + +.subsection-dot { + width: 6px; + height: 6px; + border-radius: 50%; + background: hsl(var(--bc) / 0.3); + transition: all 0.3s ease; + position: relative; +} + +.subsection-dot::after { + content: ""; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + width: 0; + height: 0; + background: hsl(var(--p)); + border-radius: 50%; + transition: all 0.3s ease; +} + +.subsection-text { + flex: 1; + transition: all 0.3s ease; +} + +.subsection-link:hover { + background: hsl(var(--b3) / 0.4); + color: hsl(var(--bc)); + transform: translateX(4px); + box-shadow: 0 4px 12px hsl(var(--b3) / 0.2); +} + +.subsection-link:hover .subsection-dot { + background: hsl(var(--p) / 0.7); + transform: scale(1.2); +} + +.subsection-link:hover .subsection-dot::after { + width: 12px; + height: 12px; +} + +.subsection-link.active { + background: linear-gradient(135deg, hsl(var(--p) / 0.15), hsl(var(--s) / 0.1)); + color: hsl(var(--p)); + font-weight: 600; + transform: translateX(6px); + box-shadow: + 0 4px 15px hsl(var(--p) / 0.2), + inset 0 1px 0 hsl(var(--p) / 0.1); + border-left: 3px solid hsl(var(--p)); + padding-left: calc(1rem - 3px); +} + +.subsection-link.active .subsection-dot { + background: hsl(var(--p)); + transform: scale(1.3); + box-shadow: 0 0 10px hsl(var(--p) / 0.5); +} + +.subsection-link.active .subsection-dot::after { + width: 16px; + height: 16px; + background: hsl(var(--p) / 0.3); + animation: ripple 1.5s ease-out infinite; +} + +@keyframes ripple { + 0% { + transform: translate(-50%, -50%) scale(0); + opacity: 1; + } + + 100% { + transform: translate(-50%, -50%) scale(2); + opacity: 0; + } +} + +.subsection-link.active .subsection-text { + text-shadow: 0 0 8px hsl(var(--p) / 0.3); +} + +/* Smooth animations for section changes */ +.drawer-side .menu ul { + animation: slideDown 0.3s ease-out; +} + +@keyframes slideDown { + from { + opacity: 0; + transform: translateY(-10px); + } + + to { + opacity: 1; + transform: translateY(0); + } +} + +/* Enhanced scrollbar for sidebar */ +.drawer-side .menu { + scrollbar-width: thin; + scrollbar-color: hsl(var(--p) / 0.3) transparent; +} + +.drawer-side .menu::-webkit-scrollbar { + width: 6px; +} + +.drawer-side .menu::-webkit-scrollbar-track { + background: transparent; +} + +.drawer-side .menu::-webkit-scrollbar-thumb { + background: hsl(var(--p) / 0.3); + border-radius: 3px; +} + +.drawer-side .menu::-webkit-scrollbar-thumb:hover { + background: hsl(var(--p) / 0.5); +} + +/* Enhance +d Sidebar Structure */ +.drawer-side aside { + background: hsl(var(--b2)); + border-right: 1px solid hsl(var(--b3)); +} + +/* Section Links with Icons */ +.section-link { + display: flex; + align-items: center; + gap: 0.75rem; +} + +.section-icon { + font-size: 1.1rem; + opacity: 0.8; + transition: all 0.2s ease; +} + +.section-link.active .section-icon { + opacity: 1; + transform: scale(1.1); +} + +/* Subsection Menu */ +.subsection-menu { + margin-left: 0.5rem; + margin-top: 0.5rem; + padding-left: 1rem; + border-left: 2px solid hsl(var(--b3)); + gap: 0.125rem; + animation: slideDown 0.3s ease-out; +} + +.subsection-link { + font-size: 0.875rem; + font-weight: 500; + padding: 0.5rem 0.75rem; + border-radius: 0.375rem; + color: hsl(var(--bc) / 0.7); + transition: all 0.2s ease; + position: relative; + display: block; +} + +.subsection-link:hover { + background: hsl(var(--b3) / 0.5); + color: hsl(var(--bc)); + transform: translateX(2px); +} + +.subsection-link.active { + background: hsl(var(--p) / 0.1); + color: hsl(var(--p)); + font-weight: 600; + border-left: 3px solid hsl(var(--p)); + padding-left: calc(0.75rem - 3px); +} + +.subsection-link.active::before { + content: "▶"; + position: absolute; + left: -1.25rem; + top: 50%; + transform: translateY(-50%); + font-size: 0.625rem; + color: hsl(var(--p)); +} + +/* Enhanced scrollbar for navigation */ +.drawer-side nav { + scrollbar-width: thin; + scrollbar-color: hsl(var(--p) / 0.3) transparent; +} + +.drawer-side nav::-webkit-scrollbar { + width: 6px; +} + +.drawer-side nav::-webkit-scrollbar-track { + background: transparent; +} + +.drawer-side nav::-webkit-scrollbar-thumb { + background: hsl(var(--p) / 0.3); + border-radius: 3px; +} + +.drawer-side nav::-webkit-scrollbar-thumb:hover { + background: hsl(var(--p) / 0.5); +} + +/* Enhanced Footer */ +.sidebar-footer { + background: linear-gradient(180deg, hsl(var(--b1)) 0%, hsl(var(--b2)) 100%); + border-top: 1px solid hsl(var(--b3) / 0.5); + backdrop-filter: blur(10px); +} + +/* Progress Dots */ +.progress-dot { + width: 8px; + height: 8px; + border-radius: 50%; + background: hsl(var(--bc) / 0.2); + transition: all 0.3s ease; + position: relative; +} + +.progress-dot.active { + background: hsl(var(--p)); + box-shadow: 0 0 10px hsl(var(--p) / 0.5); + transform: scale(1.2); +} + +.progress-dot.active::after { + content: ""; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + width: 16px; + height: 16px; + border: 2px solid hsl(var(--p) / 0.3); + border-radius: 50%; + animation: expand-ring 2s ease-out infinite; +} + +@keyframes expand-ring { + 0% { + transform: translate(-50%, -50%) scale(0); + opacity: 1; + } + + 100% { + transform: translate(-50%, -50%) scale(1); + opacity: 0; + } +} + +/* Enhanced Animations */ +@keyframes pulse { + 0%, + 100% { + opacity: 1; + transform: scale(1); + } + + 50% { + opacity: 0.7; + transform: scale(1.05); + } +} + +/* Smooth Transitions */ +* { + transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); +} + +/* Glassmorphism Effects */ +.sidebar-header, +.sidebar-footer { + backdrop-filter: blur(20px); + -webkit-backdrop-filter: blur(20px); +} + +/* Hover Glow Effects */ +.section-link:hover, +.subsection-link:hover { + position: relative; +} + +.section-link:hover::after { + content: ""; + position: absolute; + top: -2px; + left: -2px; + right: -2px; + bottom: -2px; + background: linear-gradient(45deg, hsl(var(--p) / 0.1), hsl(var(--s) / 0.1)); + border-radius: inherit; + z-index: -1; + filter: blur(4px); +} + +/* Responsive Enhancements */ +@media (max-width: 768px) { + .sidebar-container { + width: 100%; + } + + .section-link { + padding: 0.75rem; + } + + .subsection-link { + padding: 0.5rem 0.75rem; + } +} + +/* Dark Mode Optimizations */ +@media (prefers-color-scheme: dark) { + .sidebar-container { + background: linear-gradient(180deg, hsl(var(--b2)) 0%, hsl(220 13% 9%) 100%); + } + + .progress-bar { + box-shadow: 0 0 20px hsl(var(--p) / 0.4); + } +} diff --git a/src/pages/docs/arxlets/arxlet-docs.html b/src/pages/docs/arxlets/arxlet-docs.html new file mode 100644 index 0000000..858287f --- /dev/null +++ b/src/pages/docs/arxlets/arxlet-docs.html @@ -0,0 +1,26 @@ + + + + + + Arxlets Documentation - Eve + + + + + + + + + + + + diff --git a/src/pages/docs/arxlets/arxlet-docs.jsx b/src/pages/docs/arxlets/arxlet-docs.jsx new file mode 100644 index 0000000..ae55fbc --- /dev/null +++ b/src/pages/docs/arxlets/arxlet-docs.jsx @@ -0,0 +1,343 @@ +// @jsx h +// @jsxImportSource preact + +import { render } from "preact"; +import { useEffect, useState } from "preact/hooks"; +import "./arxlet-docs.css"; + +import { APISection } from "./components/APISection.jsx"; +import { BestPracticesSection } from "./components/BestPracticesSection.jsx"; +import { DevelopmentSection } from "./components/DevelopmentSection.jsx"; +import { ExamplesSection } from "./components/ExamplesSection.jsx"; +import { LLMsSection } from "./components/LLMsSection.jsx"; +import { OverviewSection } from "./components/OverviewSection.jsx"; +import { RegistrationSection } from "./components/RegistrationSection.jsx"; +import { useSyntaxHighlighting } from "./hooks/useSyntaxHighlighting.js"; + +const SECTIONS = { + Overview: { + component: , + subsections: {}, + }, + Registration: { + component: , + subsections: { + "nostr-event-structure": "Nostr Event Structure", + "tag-reference": "Tag Reference", + }, + }, + Development: { + component: , + subsections: { + "understanding-arxlets": "Understanding the Arxlet Environment", + "nostr-vs-arxlets": "Nostr Apps vs Arxlets", + "available-apis": "Available APIs", + "security-restrictions": "Security Restrictions", + "typescript-development": "TypeScript Development", + "required-export-function": "Required Export Function", + }, + }, + "Best Practices": { + component: , + subsections: { + "error-handling": "Error Handling & Reliability", + performance: "Performance & Efficiency", + subscriptions: "Subscription Management", + "user-experience": "User Experience Excellence", + security: "Security & Privacy", + "production-checklist": "Production Readiness", + }, + }, + "API Reference": { + component: , + subsections: { + "window-eve-api": "window.eve API", + "real-time-subscriptions": "Real-time Subscriptions", + "websocket-alternative": "WebSocket Alternative", + "best-practices": "Best Practices", + }, + }, + Examples: { + component: , + subsections: { + vanilla: "Vanilla JS", + svelte: "Svelte", + preact: "Preact + JSX", + nostr: "Nostr Publisher", + }, + }, + LLMs: { + component: , + subsections: {}, + }, +}; + +const ArxletDocs = () => { + useSyntaxHighlighting(); + const [activeSection, setActiveSection] = useState("Overview"); + const [activeExample, setActiveExample] = useState("vanilla"); + const [activeSubsection, setActiveSubsection] = useState(""); + const [scrollProgress, setScrollProgress] = useState(0); + const [isScrolling, setIsScrolling] = useState(false); + + useEffect(() => { + const handleHashChange = () => { + const hash = window.location.hash.substring(1); + if (hash) { + setActiveExample(hash); + } + }; + + window.addEventListener("hashchange", handleHashChange); + handleHashChange(); + + return () => { + window.removeEventListener("hashchange", handleHashChange); + }; + }, []); + + // Enhanced Intersection Observer to track which subsection is currently visible + useEffect(() => { + const observerOptions = { + root: null, + rootMargin: "-10% 0px -60% 0px", // More responsive triggering + threshold: [0, 0.1, 0.5, 1.0], // Multiple thresholds for better detection + }; + + const visibleSections = new Set(); + + const observer = new IntersectionObserver((entries) => { + entries.forEach((entry) => { + if (entry.isIntersecting) { + visibleSections.add(entry.target.id); + } else { + visibleSections.delete(entry.target.id); + } + }); + + // Set the active subsection to the first visible one (topmost) + if (visibleSections.size > 0) { + const currentSectionData = SECTIONS[activeSection]; + if (currentSectionData?.subsections) { + const subsectionIds = Object.keys(currentSectionData.subsections); + const firstVisible = subsectionIds.find((id) => visibleSections.has(id)); + if (firstVisible) { + setActiveSubsection(firstVisible); + } + } + } + }, observerOptions); + + // Get all subsection IDs from the current section + const currentSectionData = SECTIONS[activeSection]; + if (currentSectionData?.subsections) { + const subsectionIds = Object.keys(currentSectionData.subsections); + + // Clear previous observations + visibleSections.clear(); + + // Observe elements with these IDs + subsectionIds.forEach((id) => { + const element = document.getElementById(id); + if (element) { + observer.observe(element); + } + }); + + return () => { + subsectionIds.forEach((id) => { + const element = document.getElementById(id); + if (element) { + observer.unobserve(element); + } + }); + visibleSections.clear(); + }; + } + }, [activeSection]); + + // Scroll progress tracking + useEffect(() => { + let scrollTimeout; + + const handleScroll = () => { + const scrollTop = window.scrollY; + const docHeight = document.documentElement.scrollHeight - window.innerHeight; + const progress = Math.min((scrollTop / docHeight) * 100, 100); + + setScrollProgress(progress); + setIsScrolling(true); + + clearTimeout(scrollTimeout); + scrollTimeout = setTimeout(() => { + setIsScrolling(false); + }, 150); + }; + + window.addEventListener("scroll", handleScroll); + return () => { + window.removeEventListener("scroll", handleScroll); + clearTimeout(scrollTimeout); + }; + }, []); + + useEffect(() => { + window.scrollTo(0, 0); + }, [activeSection, activeExample]); + + const renderContent = () => { + const section = SECTIONS[activeSection]; + if (!section) return
Section not found
; + + if (activeSection === "Examples") { + return ; + } + + return section.component; + }; + + const handleNavClick = (e, section) => { + e.preventDefault(); + setActiveSection(section); + window.location.hash = ""; + }; + + const handleSubNavClick = (e, subsectionId) => { + e.preventDefault(); + if (activeSection === "Examples") { + window.location.hash = subsectionId; + } else { + document.getElementById(subsectionId)?.scrollIntoView({ behavior: "smooth" }); + } + }; + + return ( +
+ {/* Global Progress Bar */} +
+
+
+ + +
+ {/* Header */} +
+
+
+ 🚀 +
+
+

Arxlets

+

Secure Applications for Eve

+
+
+
+
+ + {renderContent()} + + {/* Footer */} +
+
+

Arxlets Documentation • Eve

+

Build secure, sandboxed applications for your CCN

+
+
+
+
+ + +
+
+ ); +}; + +render(, document.body); diff --git a/src/pages/docs/arxlets/components/APISection.jsx b/src/pages/docs/arxlets/components/APISection.jsx new file mode 100644 index 0000000..1d9c459 --- /dev/null +++ b/src/pages/docs/arxlets/components/APISection.jsx @@ -0,0 +1,678 @@ +// @jsx h +// @jsxImportSource preact + +import eveApiExample from "../highlight/eve-api-example.ts" with { type: "text" }; +import subscriptionExamples from "../highlight/subscription-examples.ts" with { type: "text" }; +import websocketExample from "../highlight/websocket-example.ts" with { type: "text" }; +import { useSyntaxHighlighting } from "../hooks/useSyntaxHighlighting.js"; +import { CodeBlock } from "./CodeBlock.jsx"; + +/** + * API Section - Comprehensive guide to available APIs + * Covers window.eve API and WebSocket alternatives + */ +export const APISection = () => { + useSyntaxHighlighting(); + + return ( +
+

API Reference

+ +
+
+

Understanding Arxlet APIs

+
+

+ Your Arxlet has access to powerful APIs that let you interact with Nostr data, manage user profiles, and + create real-time applications. Think of these APIs as your toolkit for building social, decentralized + applications within the CCN ecosystem. +

+ +

+ Two approaches available: You can use the convenient window.eve API + (recommended for most cases) or connect directly via WebSocket for advanced scenarios. Both give you full + access to Nostr events and CCN features. +

+
+
+
+ +
+
+

🎯 Which API Should You Use?

+ +
+
+

✨ window.eve API (Recommended)

+

+ Best for most Arxlets. This high-level API handles all the complex Nostr protocol + details for you. +

+
+
+ + Simple promise-based functions +
+
+ + Automatic error handling +
+
+ + Built-in RxJS observables for real-time data +
+
+ + Profile and avatar helpers +
+
+ + Perfect for beginners +
+
+
+ +
+

⚡ Direct WebSocket

+

+ For advanced use cases. Direct connection to the Nostr relay with full protocol + control. +

+
+
+ + Maximum performance and control +
+
+ + Custom subscription management +
+
+ + Raw Nostr protocol access +
+
+ ! + Requires Nostr protocol knowledge +
+
+ ! + More complex error handling +
+
+
+
+ +
+ + 💡 Our Recommendation: Start with window.eve for your first Arxlet. You can + always switch to WebSocket later if you need more control or performance. + +
+
+
+ + {/* window.eve API */} +
+
+

+ 🚀 window.eve API - Your Main Toolkit +

+
+

+ The window.eve API is your primary interface for working with Nostr data in Arxlets. It + provides simple, promise-based functions that handle all the complex protocol details behind the scenes. +

+ +

+ How it works: Each function communicates with the local Nostr relay, processes the + results, and returns clean JavaScript objects. No need to understand Nostr protocol internals - just call + the functions and get your data. +

+
+ +
+
+

📤 Publishing & Writing Data

+
+
+
publish(event)
+

+ Publishes a Nostr event to the relay. This is how you save data, post messages, or create any + content. +

+

+ Use cases: Posting messages, saving user preferences, creating notes, updating + profiles +

+
Promise<void>
+
+ +
+
signEvent(event)
+

+ Signs an unsigned Nostr event with the user's private key. Required before publishing most events. +

+

+ Use cases: Preparing events for publication, authenticating user actions +

+
Promise<NostrEvent>
+
+
+
+ +
+

🔍 Reading & Querying Data

+
+
+
getSingleEventById(id)
+

+ Retrieves a specific event when you know its exact ID. Perfect for loading specific posts or data. +

+

+ Use cases: Loading a specific message, fetching referenced content, getting event + details +

+
Promise<NostrEvent | null>
+
+ +
+
getSingleEventWithFilter(filter)
+

+ Gets the first event matching your criteria. Useful when you expect only one result or want the most + recent. +

+

+ Use cases: Getting a user's latest profile, finding the most recent post, checking + if something exists +

+
Promise<NostrEvent | null>
+
+ +
+
getAllEventsWithFilter(filter)
+

+ Gets all events matching your criteria. Use this for lists, feeds, or when you need multiple + results. +

+

+ Use cases: Building feeds, loading message history, getting all posts by a user +

+
Promise<NostrEvent[]>
+
+
+
+ +
+

🔄 Real-time Subscriptions

+
+
+
subscribeToEvents(filter)
+

+ Creates a live stream of events matching your filter. Your app updates automatically when new events + arrive. +

+

+ Use cases: Live chat, real-time feeds, notifications, collaborative features +

+
Observable<NostrEvent>
+
+ +
+
subscribeToProfile(pubkey)
+

+ Watches for profile changes for a specific user. Updates automatically when they change their name, + bio, avatar, etc. +

+

+ Use cases: User profile displays, contact lists, member directories +

+
Observable<Profile>
+
+
+
+ +
+

👤 User & Profile Helpers

+
+
+
getProfile(pubkey)
+

+ Retrieves user profile information (name, bio, avatar, etc.) for any user by their public key. +

+

+ Use cases: Displaying user info, building contact lists, showing message authors +

+
Promise<Profile | null>
+
+ +
+
getAvatar(pubkey)
+

+ Quick helper to get just the avatar URL from a user's profile. Saves you from parsing the full + profile. +

+

+ Use cases: Profile pictures, user avatars in lists, message author images +

+
Promise<string | null>
+
+ +
+
publicKey
+

+ Gets the current user's public key. This identifies the user and is needed for many operations. +

+

+ Use cases: Identifying the current user, filtering their content, permission checks +

+
Promise<string>
+
+
+
+
+ +
+

Practical Example:

+

+ Here's how these functions work together in a real Arxlet. This example shows fetching events, displaying + user profiles, and handling real-time updates: +

+ +
+
+
+ + {/* Real-time Subscriptions */} +
+
+

+ 🔄 Understanding Real-time Subscriptions +

+ +
+

+ What are subscriptions? Think of subscriptions as "live feeds" that automatically notify + your Arxlet when new data arrives. Instead of repeatedly asking "is there new data?", subscriptions push + updates to you instantly. +

+ +

+ How they work: When you subscribe to events or profiles, you get an RxJS Observable - a + stream of data that flows over time. Your Arxlet can "listen" to this stream and update the UI whenever + new data arrives. +

+ +

+ Why use them? Subscriptions make your Arxlet feel alive and responsive. Users see new + messages instantly, profile changes update immediately, and collaborative features work in real-time. +

+
+ +
+
+

🎯 Event Subscriptions

+

+ subscribeToEvents(filter) gives you a live stream of events matching your criteria. +

+
+
+ Perfect for: +
+
    +
  • Live chat applications
  • +
  • Real-time feeds and timelines
  • +
  • Notification systems
  • +
  • Collaborative tools
  • +
  • Activity monitoring
  • +
+
+
+ +
+

👤 Profile Subscriptions

+

+ subscribeToProfile(pubkey) watches for changes to a specific user's profile. +

+
+
+ Perfect for: +
+
    +
  • User profile displays
  • +
  • Contact lists that stay current
  • +
  • Member directories
  • +
  • Avatar/name displays
  • +
  • User status indicators
  • +
+
+
+
+ +
+

How to Use Subscriptions:

+

+ Here's a complete example showing how to set up subscriptions, handle incoming data, and clean up + properly: +

+ +
+ +
+
+
+

! Memory Management

+
+

+ Always call unsubscribe() when: +

+
    +
  • Your component unmounts
  • +
  • User navigates away
  • +
  • You no longer need the data
  • +
  • Your Arxlet is closing
  • +
+

+ Why? Prevents memory leaks and unnecessary disk i/o. +

+
+
+
+ +
+
+

✨ Pro Tips

+
+
    +
  • Use specific filters to reduce data volume
  • +
  • Debounce rapid updates for better UX
  • +
  • Cache data to avoid duplicate processing
  • +
  • + Handle errors gracefully with catchError +
  • +
  • + Consider using takeUntil for automatic cleanup +
  • +
+
+
+
+
+
+
+ + {/* WebSocket Alternative */} +
+
+

+ 🔌 Direct WebSocket Connection - Advanced Usage +

+ +
+

+ What is the WebSocket approach? Instead of using the convenient window.eve{" "} + API, you can connect directly to the Nostr relay at ws://localhost:6942 and speak the raw + Nostr protocol. +

+ +

+ Why would you use this? Direct WebSocket gives you maximum control and performance. You + can implement custom subscription logic, handle multiple concurrent subscriptions efficiently, or + integrate with existing Nostr libraries. +

+ +

+ The trade-off: You'll need to understand the Nostr protocol, handle JSON message parsing, + manage connection states, and implement your own error handling. It's more work but gives you complete + flexibility. +

+
+ +
+

WebSocket Implementation Example:

+

+ Here's how to establish a WebSocket connection and communicate using standard Nostr protocol messages: +

+ +
+ +
+
+

✨ Use window.eve When:

+
+
+ + Building your first Arxlet +
+
+ + You want simple, clean code +
+
+ + Standard CRUD operations are enough +
+
+ + You prefer promise-based APIs +
+
+ + Built-in RxJS observables work for you +
+
+ + You don't need custom protocol handling +
+
+
+ +
+

⚡ Use WebSocket When:

+
+
+ + You need maximum performance +
+
+ + Custom subscription management required +
+
+ + Integrating existing Nostr libraries +
+
+ + You understand the Nostr protocol +
+
+ + Need fine-grained connection control +
+
+ + Building high-frequency applications +
+
+
+
+ +
+
+

🎯 Choosing the Right Approach

+
+

+ Start with window.eve: Even if you think you might need WebSocket later, begin with + the high-level API. You can always refactor specific parts to use WebSocket once you understand your + performance requirements. +

+

+ Hybrid approach: Many successful Arxlets use window.eve for most + operations and WebSocket only for specific high-performance features like real-time chat or live + collaboration. +

+

+ Migration path: The data structures are the same, so you can gradually migrate from{" "} + window.eve + to WebSocket for specific features without rewriting your entire application. +

+
+
+
+
+
+ + {/* Best Practices */} +
+
+

+ 💡 Best Practices for Robust Arxlets +

+ +
+
+

🛡 Error Handling & Reliability

+
+
+ Always use try-catch blocks: +

+ Network requests can fail, relays can be down, or data might be malformed. Wrap all API calls to + prevent crashes. +

+
+
+ Check for null/undefined returns: +

+ Query methods return null when no data is found. Always check before using the result. +

+
+
+ Provide meaningful user feedback: +

+ Show loading states, error messages, and success confirmations. Users should know what's happening. +

+
+
+ Implement retry logic for critical operations: +

Publishing events or loading essential data should retry on failure with exponential backoff.

+
+
+
+ +
+

⚡ Performance & Efficiency

+
+
+ Use specific, narrow filters: +

+ Instead of fetching all events and filtering in JavaScript, use precise Nostr filters to reduce data + transfer. +

+
+
+ Cache frequently accessed data: +

Profile information, avatars, and static content should be cached to avoid repeated API calls.

+
+
+ Implement pagination for large datasets: +

+ Don't load thousands of events at once. Use limit and until parameters for + pagination. +

+
+
+ Debounce rapid user actions: +

+ If users can trigger API calls quickly (like typing in search), debounce to avoid overwhelming the + relay. +

+
+
+ Unsubscribe from observables: +

Always clean up subscriptions to prevent memory leaks and unnecessary network traffic.

+
+
+
+ +
+

🎯 User Experience

+
+
+ Show loading states: +

Use spinners, skeletons, or progress indicators while data loads. Empty screens feel broken.

+
+
+ Handle empty states gracefully: +

When no data is found, show helpful messages or suggestions rather than blank areas.

+
+
+ Implement optimistic updates: +

+ Update the UI immediately when users take actions, then sync with the server. Makes apps feel + faster. +

+
+
+ Provide offline indicators: +

Let users know when they're disconnected or when operations might not work.

+
+
+
+ +
+

🔒 Security & Privacy

+
+
+ Validate all user inputs: +

Never trust user input. Validate, sanitize, and escape data before using it in events or UI.

+
+
+ Be mindful of public data: +

+ Remember that events are visible to everyone in your CCN by default. Don't accidentally expose + private information. +

+
+
+ Handle signing errors gracefully: +

Users might reject signing requests. Always have fallbacks and clear error messages.

+
+
+ Respect user privacy preferences: +

Some users prefer pseudonymous usage. Don't force real names or personal information.

+
+
+
+
+ +
+
+

🚀 Quick Checklist for Production Arxlets

+
+
+ Code Quality: +
    +
  • All API calls wrapped in try-catch
  • +
  • Null checks before using data
  • +
  • Subscriptions properly cleaned up
  • +
  • Input validation implemented
  • +
+
+
+ User Experience: +
    +
  • Loading states for all async operations
  • +
  • Error messages are user-friendly
  • +
  • Empty states handled gracefully
  • +
  • Performance tested with large datasets
  • +
+
+
+
+
+
+
+
+ ); +}; diff --git a/src/pages/docs/arxlets/components/BestPracticesSection.jsx b/src/pages/docs/arxlets/components/BestPracticesSection.jsx new file mode 100644 index 0000000..62cca25 --- /dev/null +++ b/src/pages/docs/arxlets/components/BestPracticesSection.jsx @@ -0,0 +1,628 @@ +// @jsx h +// @jsxImportSource preact + +import { useSyntaxHighlighting } from "../hooks/useSyntaxHighlighting.js"; +import { CodeBlock } from "./CodeBlock.jsx"; + +/** + * Best Practices Section - Comprehensive development guidelines for Arxlets + */ +export const BestPracticesSection = () => { + useSyntaxHighlighting(); + + const errorHandlingExample = `// Always wrap API calls in try-catch blocks +async function loadUserData() { + try { + const events = await window.eve.getAllEventsWithFilter({ + kinds: [0], // Profile events + limit: 10 + }); + + if (events.length === 0) { + showEmptyState("No profiles found"); + return; + } + + displayProfiles(events); + } catch (error) { + console.error("Failed to load profiles:", error); + showErrorMessage("Unable to load profiles. Please try again."); + } +} + +// Provide user feedback for all states +function showErrorMessage(message) { + const alert = document.createElement('div'); + alert.className = 'alert alert-error'; + alert.innerHTML = \`\${message}\`; + container.appendChild(alert); +}`; + + const performanceExample = `// Use specific filters to reduce data transfer +const efficientFilter = { + kinds: [1], // Only text notes + authors: [userPubkey], // Only from specific user + since: Math.floor(Date.now() / 1000) - 86400, // Last 24 hours + limit: 20 // Reasonable limit +}; + +// Cache frequently accessed data +const profileCache = new Map(); + +async function getCachedProfile(pubkey) { + if (profileCache.has(pubkey)) { + return profileCache.get(pubkey); + } + + const profile = await window.eve.getProfile(pubkey); + if (profile) { + profileCache.set(pubkey, profile); + } + return profile; +} + +// Debounce rapid user actions +let searchTimeout; +function handleSearchInput(query) { + clearTimeout(searchTimeout); + searchTimeout = setTimeout(() => { + performSearch(query); + }, 300); // Wait 300ms after user stops typing +}`; + + const subscriptionExample = `// Proper subscription management +let eventSubscription; + +function startListening() { + eventSubscription = window.eve.subscribeToEvents({ + kinds: [1], + limit: 50 + }).subscribe({ + next: (event) => { + addEventToUI(event); + }, + error: (error) => { + console.error("Subscription error:", error); + showErrorMessage("Lost connection. Reconnecting..."); + // Implement retry logic + setTimeout(startListening, 5000); + } + }); +} + +// CRITICAL: Always clean up subscriptions +function cleanup() { + if (eventSubscription) { + eventSubscription.unsubscribe(); + eventSubscription = null; + } +} + +// Clean up when Arxlet is closed or user navigates away +window.addEventListener('beforeunload', cleanup);`; + + const uiExample = `// Use DaisyUI components for consistency +function createLoadingState() { + return \` +
+ + Loading profiles... +
+ \`; +} + +function createEmptyState() { + return \` +
+
📭
+

No messages yet

+

Be the first to start a conversation!

+ +
+ \`; +} + +// Implement optimistic updates for better UX +async function publishMessage(content) { + // Show message immediately (optimistic) + const tempId = 'temp-' + Date.now(); + addMessageToUI({ id: tempId, content, pending: true }); + + try { + const event = await window.eve.publish({ + kind: 1, + content: content, + tags: [] + }); + + // Replace temp message with real one + replaceMessageInUI(tempId, event); + } catch (error) { + // Remove temp message and show error + removeMessageFromUI(tempId); + showErrorMessage("Failed to send message"); + } +}`; + + return ( +
+
+

✨ Best Practices

+

+ Master the art of building production-ready Arxlets with these comprehensive development guidelines +

+
+ +
+
+

Building Production-Ready Arxlets

+
+

+ Creating a great Arxlet goes beyond just making it work - it needs to be reliable, performant, and provide + an excellent user experience. These best practices will help you build Arxlets that users love and that + work consistently in the CCN environment. +

+ +

+ Why these practices matter: Arxlets run in a shared environment where performance issues + can affect other applications, and users expect the same level of polish they get from native apps. + Following these guidelines ensures your Arxlet integrates seamlessly with the CCN ecosystem. +

+
+
+
+ +
+
+

+ 🛡 Error Handling & Reliability +

+ +
+

+ User experience first: When something goes wrong, users should know what happened and + what they can do about it. Silent failures are frustrating and make your app feel broken. +

+
+ +
+
+

Essential Error Handling Patterns

+
+
+ Wrap all API calls in try-catch blocks: +

+ Every call to window.eve functions can potentially fail. Always handle exceptions. +

+
+
+ Check for null/undefined returns: +

+ Query methods return null when no data is found. Verify results before using them. +

+
+
+ Provide meaningful user feedback: +

Show specific error messages that help users understand what went wrong and how to fix it.

+
+
+ Implement retry logic for critical operations: +

+ Publishing events or loading essential data should retry automatically with exponential backoff. +

+
+
+
+ +
+

Practical Error Handling Example:

+ +
+
+ +
+
+
+

❌ Common Mistakes

+
    +
  • Not handling API failures
  • +
  • Assuming data will always exist
  • +
  • Silent failures with no user feedback
  • +
  • Generic "Something went wrong" messages
  • +
  • No retry mechanisms for critical operations
  • +
+
+
+ +
+
+

✅ Best Practices

+
    +
  • Specific, actionable error messages
  • +
  • Graceful degradation when features fail
  • +
  • Loading states for all async operations
  • +
  • Retry buttons for failed operations
  • +
  • Offline indicators when appropriate
  • +
+
+
+
+
+
+ +
+
+

+ ⚡ Performance & Efficiency +

+ +
+
+

Performance Optimization Strategies

+
+
+ Use specific, narrow filters: +

+ Instead of fetching all events and filtering in JavaScript, use precise Nostr filters to reduce data + transfer. +

+
+
+ Implement intelligent caching: +

Cache profile information, avatars, and other static content to avoid repeated API calls.

+
+
+ Paginate large datasets: +

+ Don't load thousands of events at once. Use limit and until parameters for + pagination. +

+
+
+ Debounce rapid user actions: +

+ If users can trigger API calls quickly (like typing in search), debounce to avoid overwhelming the + relay. +

+
+
+
+ +
+

Performance Optimization Example:

+ +
+
+ +
+
+

! Performance Pitfalls to Avoid

+
+

+ Overly broad filters: Fetching all events and filtering client-side wastes bandwidth. +

+

+ No pagination: Loading thousands of items at once can freeze the interface. +

+

+ Repeated API calls: Fetching the same profile data multiple times is inefficient. +

+

+ Unthrottled user input: Search-as-you-type without debouncing can overwhelm the + relay. +

+
+
+
+
+
+ +
+
+

+ 🔄 Subscription Management +

+ +
+

+ Subscriptions power real-time features. They make your Arxlet feel alive by automatically + updating when new data arrives. However, they need careful management to prevent memory leaks. +

+ +

+ Clean up is critical. Forgetting to unsubscribe from observables can cause memory leaks, + unnecessary disk i/o, and performance degradation over time. +

+
+ +
+
+

Subscription Best Practices

+
+
+ Always store subscription references: +

Keep references to all subscriptions so you can unsubscribe when needed.

+
+
+ Implement proper cleanup: +

Unsubscribe when components unmount, users navigate away, or the Arxlet closes.

+
+
+ Use specific filters: +

Narrow subscription filters reduce unnecessary data and improve performance.

+
+
+
+ +
+

Proper Subscription Management:

+ +
+
+ +
+
+

🚨 Memory Leak Prevention

+
+

+ Always unsubscribe: Every subscribe() call must have a corresponding{" "} + unsubscribe(). +

+

+ Clean up on navigation: Users might navigate away without properly closing your + Arxlet. +

+

+ Handle page refresh: Use beforeunload event to clean up subscriptions. +

+

+ Monitor subscription count: Too many active subscriptions can impact performance. +

+
+
+
+
+
+ +
+
+

+ 🎯 User Experience Excellence +

+ +
+

+ Great UX makes the difference. Users expect responsive, intuitive interfaces that provide + clear feedback. Small details like loading states and empty state messages significantly impact user + satisfaction. +

+ +

+ Consistency with CCN design. Using DaisyUI components ensures your Arxlet feels + integrated with the rest of the platform while saving you development time. +

+
+ +
+
+

UX Best Practices

+
+
+ Show loading states for all async operations: +

Users should never see blank screens or wonder if something is happening.

+
+
+ Handle empty states gracefully: +

When no data is available, provide helpful messages or suggestions for next steps.

+
+
+ Implement optimistic updates: +

Update the UI immediately when users take actions, then sync with the server.

+
+
+ Use consistent DaisyUI components: +

Leverage the pre-built component library for consistent styling and behavior.

+
+
+
+ +
+

UI/UX Implementation Examples:

+ +
+
+ +
+
+

✨ Excellent UX Includes

+
    +
  • Loading spinners for async operations
  • +
  • Helpful empty state messages
  • +
  • Immediate feedback for user actions
  • +
  • Clear error messages with solutions
  • +
  • Consistent visual design
  • +
  • Accessible keyboard navigation
  • +
  • Responsive layout for different screen sizes
  • +
+
+ +
+

! UX Anti-patterns

+
    +
  • Blank screens during loading
  • +
  • No feedback for user actions
  • +
  • Generic or confusing error messages
  • +
  • Inconsistent styling with CCN
  • +
  • Broken layouts on mobile devices
  • +
  • Inaccessible interface elements
  • +
  • Slow or unresponsive interactions
  • +
+
+
+
+
+ +
+
+

+ 🔒 Security & Privacy Considerations +

+ +
+

+ Security is everyone's responsibility. Even though Arxlets run in a sandboxed + environment, you still need to validate inputs, handle user data responsibly, and follow security best + practices. +

+ +

+ Privacy by design. Remember that Nostr events are public by default. Be mindful of what + data you're storing and how you're handling user information. +

+
+ +
+
+

Security Best Practices

+
+
+ Validate all user inputs: +

Never trust user input. Validate, sanitize, and escape data before using it in events or UI.

+
+
+ Be mindful of public data: +

Nostr events are public by default. Don't accidentally expose private information.

+
+
+ Handle signing errors gracefully: +

Users might reject signing requests. Always have fallbacks and clear error messages.

+
+
+ Respect user privacy preferences: +

Some users prefer pseudonymous usage. Don't force real names or personal information.

+
+
+ Sanitize HTML content: +

If displaying user-generated content, sanitize it to prevent XSS attacks.

+
+
+
+
+ +
+
+

🚨 Security Checklist

+
+
+ Input Validation: +
    +
  • Validate all form inputs
  • +
  • Sanitize user-generated content
  • +
  • Check data types and ranges
  • +
  • Escape HTML when displaying content
  • +
+
+
+ Privacy Protection: +
    +
  • Don't store sensitive data in events
  • +
  • Respect user anonymity preferences
  • +
  • Handle signing rejections gracefully
  • +
  • Be transparent about data usage
  • +
+
+
+
+
+
+
+ +
+
+

+ 🚀 Production Readiness Checklist +

+ +
+

+ Before publishing your Arxlet, run through this comprehensive checklist to ensure it meets production + quality standards. A well-tested Arxlet provides a better user experience and reflects positively on the + entire CCN ecosystem. +

+
+ +
+
+
+

✅ Code Quality

+
    +
  • All API calls wrapped in try-catch blocks
  • +
  • Null/undefined checks before using data
  • +
  • Subscriptions properly cleaned up
  • +
  • Input validation implemented
  • +
  • Error handling with user feedback
  • +
  • Performance optimizations applied
  • +
  • Code is well-commented and organized
  • +
+
+ +
+

🎯 User Experience

+
    +
  • Loading states for all async operations
  • +
  • Error messages are user-friendly
  • +
  • Empty states handled gracefully
  • +
  • Consistent DaisyUI styling
  • +
  • Responsive design for mobile
  • +
  • Keyboard navigation works
  • +
  • Accessibility features implemented
  • +
+
+
+ +
+
+

🔒 Security & Privacy

+
    +
  • User inputs are validated and sanitized
  • +
  • No sensitive data in public events
  • +
  • Signing errors handled gracefully
  • +
  • Privacy preferences respected
  • +
  • HTML content properly escaped
  • +
  • No hardcoded secrets or keys
  • +
  • Data usage is transparent
  • +
+
+ +
+

⚡ Performance

+
    +
  • Efficient Nostr filters used
  • +
  • Data caching implemented
  • +
  • Pagination for large datasets
  • +
  • User actions are debounced
  • +
  • Memory leaks prevented
  • +
  • Bundle size optimized
  • +
  • Performance tested with large datasets
  • +
+
+
+
+ +
+
+

🎉 Ready for Production!

+

+ Once you've checked off all these items, your Arxlet is ready to provide an excellent experience for CCN + users. Remember that you can always iterate and improve based on user feedback and changing + requirements. +

+
+
+
+
+
+ ); +}; diff --git a/src/pages/docs/arxlets/components/CodeBlock.jsx b/src/pages/docs/arxlets/components/CodeBlock.jsx new file mode 100644 index 0000000..70bbbbd --- /dev/null +++ b/src/pages/docs/arxlets/components/CodeBlock.jsx @@ -0,0 +1,53 @@ +// @jsx h +// @jsxImportSource preact +import { useState } from "preact/hooks"; + +/** + * Reusable code block component with syntax highlighting and a copy button. + */ +export const CodeBlock = ({ language = "javascript", code }) => { + const [isCopied, setIsCopied] = useState(false); + + const handleCopy = () => { + if (code) { + navigator.clipboard.writeText(code.trim()); + setIsCopied(true); + setTimeout(() => setIsCopied(false), 2000); + } + }; + + return ( +
+ +
+        {code?.trim()}
+      
+
+ ); +}; diff --git a/src/pages/docs/arxlets/components/DevelopmentSection.jsx b/src/pages/docs/arxlets/components/DevelopmentSection.jsx new file mode 100644 index 0000000..d67717b --- /dev/null +++ b/src/pages/docs/arxlets/components/DevelopmentSection.jsx @@ -0,0 +1,471 @@ +// @jsx h +// @jsxImportSource preact + +import buildCommand from "../highlight/build-command.sh" with { type: "text" }; +import renderFunction from "../highlight/render-function.ts" with { type: "text" }; +import { useSyntaxHighlighting } from "../hooks/useSyntaxHighlighting.js"; +import { CodeBlock } from "./CodeBlock.jsx"; + +/** + * Development Section - Guide for building Arxlets + * Covers APIs, restrictions, and the required render function + */ +export const DevelopmentSection = () => { + useSyntaxHighlighting(); + return ( +
+

Development Guide

+ +
+
+

+ Understanding the Arxlet Environment +

+

+ When you build an Arxlet, you're creating a web application that runs inside the CCN. Think of it like + building a mini-website that has access to special CCN features and Nostr data. Here's what you have + available and what the limitations are: +

+
+
+ +
+
+

+ 🔄 Nostr Apps vs Arxlets: What's the Difference? +

+ +
+

+ If you're coming from the broader Nostr ecosystem, you might be wondering how Arxlets relate to regular + Nostr applications. Here's the key relationship to understand: +

+ +
+
+

✅ Nostr App → Arxlet

+

+ Most Nostr apps CAN become Arxlets with some modifications: +

+
    +
  • + Replace external API calls with window.eve or local relay +
  • +
  • Adapt the UI to work within a container element
  • +
  • Remove routing if it conflicts with CCN navigation
  • +
  • + Use the provided window.nostr for signing +
  • +
  • Bundle everything into a single JavaScript file
  • +
+
+ +
+

! Arxlet → Nostr App

+

+ Not every Arxlet works as a standalone Nostr app because: +

+
    +
  • + May depend on CCN-specific APIs (window.eve) +
  • +
  • Designed for the sandboxed environment
  • +
  • Might rely on CCN member data or community features
  • +
  • UI optimized for container-based rendering
  • +
  • No independent relay connections
  • +
+
+
+
+ +
+
+

💡 Practical Examples:

+
+

+ Easy to Port: A simple note-taking app, image gallery, or profile viewer can usually + be adapted to work as both. +

+

+ CCN-Specific: A CCN member directory, community chat, or collaborative workspace + might only make sense as an Arxlet. +

+

+ Hybrid Approach: Many developers create a core library that works in both + environments, then build different interfaces for standalone vs Arxlet deployment. +

+
+
+
+
+
+ +
+
+

+ ✅ What You Can Use +

+ +
+
+

window.eve - Your CCN Toolkit

+

+ This is your main interface to the CCN. It provides functions to read and write Nostr events, manage + data, and interact with other CCN members. +

+

+ What it does: Lets you fetch events, publish new ones, manage user data, and access + CCN-specific features like member directories. +

+
+ +
+

window.nostr - Cryptographic Signing (NIP-07)

+

+ This is the standard Nostr extension API that lets your Arxlet create and sign events using the user's + private key. +

+

+ What it does: Allows your app to publish events on behalf of the user, like posting + messages, creating profiles, or any other Nostr activity that requires authentication. +

+
+ +
+

DaisyUI 5 - Pre-built UI Components

+

+ A complete CSS framework with beautiful, accessible components already loaded and ready to use. +

+

+ What it does: Provides buttons, cards, modals, forms, and dozens of other UI components + with consistent styling. No need to write CSS from scratch. +

+
+ +
+

Local Relay Connection

+

+ Direct WebSocket connection to ws://localhost:6942 for real-time Nostr event streaming. +

+

+ What it does: Lets you subscribe to live event feeds, get real-time updates, and + implement features like live chat or notifications. +

+
+ +
+

CCN Member Events

+

Access to events from other members of your current CCN community.

+

+ What it does: Enables community features like member directories, shared content, group + discussions, and collaborative tools. +

+
+ +
+

Standard Web APIs

+

+ Full access to modern browser APIs like localStorage, fetch (for local requests), DOM manipulation, and + more. +

+

+ What it does: Everything you'd expect in a web app - store data locally, manipulate the + page, handle user interactions, etc. +

+
+
+
+
+ +
+
+

+ 🔒 Security & Limitations +

+ +
+
+

No External Network Access

+

+ You can't make HTTP requests to external websites or APIs. All data must come through the CCN. This + prevents data leaks and ensures all communication goes through Nostr protocols. +

+
+ +
+

CCN-Scoped Data

+

+ You only have access to events and data from your current CCN community. You can't see events from other + CCNs or the broader Nostr network unless they're specifically shared with your community. +

+
+
+ +
+ + 💡 Why These Restrictions? These limitations ensure your Arxlet is secure, respects user + privacy, and works reliably within the CCN ecosystem. They also make your app more predictable and easier + to debug. + +
+
+
+ +
+
+
+ + 📚 Need More Details? Check the{" "} + {" "} + tab for comprehensive documentation of the window.eve API, code examples, and WebSocket usage + patterns. + +
+
+
+ +
+
+

+ 🚀 Building Your Arxlet with TypeScript +

+ +
+

+ What is TypeScript? TypeScript is JavaScript with type checking. It helps catch errors + before your code runs and provides better autocomplete in your editor. While you can write Arxlets in + plain JavaScript, TypeScript makes development much smoother. +

+ +

+ Why use it for Arxlets? Eve provides TypeScript definitions for all APIs, so you'll get + autocomplete for window.eve functions, proper error checking, and better documentation right + in your editor. +

+
+ +
+

Building Your Code

+

+ Since Arxlets need to be a single JavaScript file, you'll use Bun (a fast JavaScript + runtime and bundler) to compile your TypeScript code. Here's the command that does everything: +

+ + +
+
+
+

+ ⚠️ Svelte Exception: The above build command will NOT work for Svelte projects. + Svelte requires specific Vite configuration to compile properly. Instead, use our{" "} + + arxlets-template + {" "} + and simply run bun run build. Your compiled file will + be available at dist/bundle.js once built. +

+
+
+
+
+ +
+
+

What Each Build Option Does:

+
+
+ --minify +

+ Removes whitespace and shortens variable names to make your file smaller. Smaller files load faster. +

+
+
+ --target=browser +

Tells Bun to optimize the code for web browsers instead of server environments.

+
+
+ --production +

+ Enables all optimizations and removes development-only code for better performance. +

+
+
+
+ +
+

Why TypeScript Helps:

+
+
+ Catch Errors Early +

+ TypeScript finds mistakes like typos in function names or wrong parameter types before you run your + code. +

+
+
+ Better Autocomplete +

+ Your editor will suggest available functions and show you what parameters they expect. +

+
+
+ Easier Refactoring +

+ When you rename functions or change interfaces, TypeScript helps update all the places that use + them. +

+
+
+ Self-Documenting Code +

+ Type annotations serve as inline documentation, making your code easier to understand later. +

+
+
+
+
+ +
+
+

Recommended Development Workflow:

+
    +
  1. + Create your main file as index.ts (TypeScript) +
  2. +
  3. Write your Arxlet code with full TypeScript features
  4. +
  5. + Run the build command to create build.js +
  6. +
  7. + Copy the contents of build.js into your Nostr registration event +
  8. +
  9. Repeat steps 2-4 as you develop and test
  10. +
+
+
+
+
+ +
+
+

+ The Heart of Your Arxlet: The Render Function +

+ +
+

+ What is the render function? This is the main entry point of your Arxlet - think of it as + the main() + function in other programming languages. When someone opens your Arxlet, Eve calls this function and gives + it a container element where your app should display itself. +

+ +

+ How it works: The platform creates an empty <div> element and passes + it to your render function. Your job is to fill that container with your app's interface - buttons, forms, + content, whatever your Arxlet does. +

+ +

+ Why this pattern? This approach gives you complete control over your app's interface + while keeping it isolated from other Arxlets and the main CCN interface. +

+
+ +

Basic Structure:

+ + +
+

Breaking Down the Example:

+ +
+
+ export function render(container: HTMLElement) +

+ This declares your main function. The container parameter is the DOM element where your + app will live. The export keyword makes it available to the CCN. +

+
+ +
+ container.innerHTML = '...' +

+ This is the simplest way to add content - just set the HTML directly. For simple Arxlets, this might + be all you need. +

+
+ +
+ const button = container.querySelector('button') +

+ After adding HTML, you can find elements and attach event listeners to make your app interactive. +

+
+ +
+ window.eve.getEvents(...) +

+ This shows how to use the CCN API to fetch Nostr events. Most Arxlets will interact with Nostr data in + some way. +

+
+
+
+ +
+
+

Development Tips:

+
    +
  • + Start Simple: Begin with basic HTML and gradually add interactivity +
  • +
  • + Use Modern JavaScript: async/await, destructuring, arrow functions - it all works +
  • +
  • + Leverage DaisyUI: Use pre-built components instead of writing CSS from scratch +
  • +
  • + Handle Errors: Wrap API calls in try/catch blocks for better user experience +
  • +
  • + Think Reactive: Update the UI when data changes, don't just set it once +
  • +
+
+
+ +
+ + 💡 Advanced Patterns: You can use any frontend framework (React, Vue, Svelte) by + rendering it into the container, or build complex apps with routing, state management, and real-time + updates. The render function is just your starting point! + +
+
+
+
+ ); +}; diff --git a/src/pages/docs/arxlets/components/ExamplesSection.jsx b/src/pages/docs/arxlets/components/ExamplesSection.jsx new file mode 100644 index 0000000..df0164c --- /dev/null +++ b/src/pages/docs/arxlets/components/ExamplesSection.jsx @@ -0,0 +1,60 @@ +// @jsx h +// @jsxImportSource preact + +import { CounterExample } from "../examples/CounterExample.jsx"; +import { NostrPublisherExample } from "../examples/NostrPublisherExample.jsx"; +import { PreactCounterExample } from "../examples/PreactCounterExample.jsx"; +import { SvelteCounterExample } from "../examples/SvelteCounterExample.jsx"; + +const examples = { + vanilla: , + preact: , + svelte: , + nostr: , +}; + +/** + * Examples Section - Practical Arxlet implementations + * Shows real-world examples with detailed explanations + */ +export const ExamplesSection = ({ activeExample }) => { + const ActiveComponent = examples[activeExample] ||
Example not found
; + + return ( +
+

Example Arxlets

+ +
+
+
+

+ Framework Freedom: These examples show basic implementations, but you're not limited to + vanilla JavaScript! You can use any framework you prefer - React with JSX, Preact, Vue, Svelte, or any + other modern framework. Bun's powerful plugin system supports transpilation and bundling for virtually any + JavaScript ecosystem. +

+

+ Check out{" "} + + Bun's plugin documentation + {" "} + to see how you can integrate your preferred tools and frameworks. +

+

+ If you have any questions or run into problems, feel free to reach out to the team @ Arx (builders of Eve) + on Nostr: npub1ven4zk8xxw873876gx8y9g9l9fazkye9qnwnglcptgvfwxmygscqsxddfhif +

+
+
+
+ + {/* Tab Content */} +
{ActiveComponent}
+
+ ); +}; diff --git a/src/pages/docs/arxlets/components/LLMsSection.jsx b/src/pages/docs/arxlets/components/LLMsSection.jsx new file mode 100644 index 0000000..a789381 --- /dev/null +++ b/src/pages/docs/arxlets/components/LLMsSection.jsx @@ -0,0 +1,15 @@ +// @jsx h +// @jsxImportSource preact + +import contextMd from "../highlight/context.md" with { type: "text" }; +import { useSyntaxHighlighting } from "../hooks/useSyntaxHighlighting.js"; +import { CodeBlock } from "./CodeBlock.jsx"; + +export const LLMsSection = () => { + useSyntaxHighlighting(); + return ( +
+ +
+ ); +}; diff --git a/src/pages/docs/arxlets/components/OverviewSection.jsx b/src/pages/docs/arxlets/components/OverviewSection.jsx new file mode 100644 index 0000000..5e93274 --- /dev/null +++ b/src/pages/docs/arxlets/components/OverviewSection.jsx @@ -0,0 +1,50 @@ +// @jsx h +// @jsxImportSource preact + +import typeDefinitions from "../highlight/type-definitions.ts" with { type: "text" }; +import { useSyntaxHighlighting } from "../hooks/useSyntaxHighlighting.js"; +import { CodeBlock } from "./CodeBlock.jsx"; + +/** + * Overview Section - Introduction to Arxlets + * Explains what Arxlets are and their key features + */ +export const OverviewSection = () => { + useSyntaxHighlighting(); + return ( +
+
+
+

What are Arxlets?

+

+ Arxlets are secure, sandboxed JavaScript applications that extend Eve's functionality. They run inside Eve + and are registered on your CCN for member-only access. +

+
+
+ +
+ + Coming Soon: WASM support will be added in future releases for even more powerful + applications. + +
+ +
+
+

📝 TypeScript Definitions

+

Use these type definitions for full TypeScript support in your Arxlets:

+ + + +
+ + Pro Tip: Save these types in a types.ts file and import them throughout your + Arxlet for better development experience and type safety. + +
+
+
+
+ ); +}; diff --git a/src/pages/docs/arxlets/components/RegistrationSection.jsx b/src/pages/docs/arxlets/components/RegistrationSection.jsx new file mode 100644 index 0000000..75dfdc8 --- /dev/null +++ b/src/pages/docs/arxlets/components/RegistrationSection.jsx @@ -0,0 +1,147 @@ +// @jsx h +// @jsxImportSource preact + +import registrationEvent from "../highlight/registration-event.json" with { type: "text" }; +import { useSyntaxHighlighting } from "../hooks/useSyntaxHighlighting.js"; +import { CodeBlock } from "./CodeBlock.jsx"; + +/** + * Registration Section - How to register Arxlets on CCN + * Covers the Nostr event structure and required fields + */ +export const RegistrationSection = () => { + useSyntaxHighlighting(); + return ( +
+

Arxlet Registration

+ +
+
+

What are Nostr Events?

+
+

+ Nostr (Notes and Other Stuff Transmitted by Relays) is a decentralized protocol where all + data is stored as events. Think of events as structured messages that contain information + and are cryptographically signed by their authors. +

+

Each event has:

+
    +
  • + Kind: A number that defines what type of data the event contains (like a category) +
  • +
  • + Content: The main data or message +
  • +
  • + Tags: Additional metadata organized as key-value pairs +
  • +
  • + Signature: Cryptographic proof that the author created this event +
  • +
+

+ To register your Arxlet, you create a special event (kind 30420) that tells the CCN about your + application. This event acts like a "business card" for your Arxlet, containing its code, name, and other + details. If you publish this event publicly outside your CCN, this will be available in the arxlet store, + and any CCN will be able to install it. +

+
+
+
+ +
+
+

+ Nostr Event Structure +

+

+ Register your Arxlet using a replaceable Nostr event with kind{" "} + 30420: +

+ + +
+
+ +
+
+

Tag Reference

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TagRequiredDescriptionExample
+ d + + Required + Unique identifier (alphanumeric, hyphens, underscores) + my-todo-app +
+ name + + Required + Human-readable display name + Todo Manager +
+ description + + Optional + Brief description of functionality + Manage your tasks +
+ script + + Required + Complete JavaScript code with render export + export function render... +
+ icon + + Optional + Iconify icon name and hex color + mdi:check-circle, #10b981 +
+
+
+
+
+ ); +}; diff --git a/src/pages/docs/arxlets/examples/CounterExample.jsx b/src/pages/docs/arxlets/examples/CounterExample.jsx new file mode 100644 index 0000000..96c6acc --- /dev/null +++ b/src/pages/docs/arxlets/examples/CounterExample.jsx @@ -0,0 +1,20 @@ +// @jsx h +// @jsxImportSource preact + +import { CodeBlock } from "../components/CodeBlock.jsx"; +import code from "../highlight/counter.ts" with { type: "text" }; +import { useSyntaxHighlighting } from "../hooks/useSyntaxHighlighting.js"; + +export const CounterExample = () => { + useSyntaxHighlighting(); + return ( +
+
+

🔢 Interactive Counter

+

A simple counter demonstrating state management and event handling:

+ + +
+
+ ); +}; diff --git a/src/pages/docs/arxlets/examples/DevelopmentTips.jsx b/src/pages/docs/arxlets/examples/DevelopmentTips.jsx new file mode 100644 index 0000000..e3e4a03 --- /dev/null +++ b/src/pages/docs/arxlets/examples/DevelopmentTips.jsx @@ -0,0 +1,623 @@ +// @jsx h +// @jsxImportSource preact + +import { CodeBlock } from "../components/CodeBlock.jsx"; +import { useSyntaxHighlighting } from "../hooks/useSyntaxHighlighting.js"; + +/** + * Development Tips Component - Comprehensive best practices for Arxlet development + */ +export const DevelopmentTips = () => { + useSyntaxHighlighting(); + + const errorHandlingExample = `// Always wrap API calls in try-catch blocks +async function loadUserData() { + try { + const events = await window.eve.getAllEventsWithFilter({ + kinds: [0], // Profile events + limit: 10 + }); + + if (events.length === 0) { + showEmptyState("No profiles found"); + return; + } + + displayProfiles(events); + } catch (error) { + console.error("Failed to load profiles:", error); + showErrorMessage("Unable to load profiles. Please try again."); + } +} + +// Provide user feedback for all states +function showErrorMessage(message) { + const alert = document.createElement('div'); + alert.className = 'alert alert-error'; + alert.innerHTML = \`\${message}\`; + container.appendChild(alert); +}`; + + const performanceExample = `// Use specific filters to reduce data transfer +const efficientFilter = { + kinds: [1], // Only text notes + authors: [userPubkey], // Only from specific user + since: Math.floor(Date.now() / 1000) - 86400, // Last 24 hours + limit: 20 // Reasonable limit +}; + +// Cache frequently accessed data +const profileCache = new Map(); + +async function getCachedProfile(pubkey) { + if (profileCache.has(pubkey)) { + return profileCache.get(pubkey); + } + + const profile = await window.eve.getProfile(pubkey); + if (profile) { + profileCache.set(pubkey, profile); + } + return profile; +} + +// Debounce rapid user actions +let searchTimeout; +function handleSearchInput(query) { + clearTimeout(searchTimeout); + searchTimeout = setTimeout(() => { + performSearch(query); + }, 300); // Wait 300ms after user stops typing +}`; + + const subscriptionExample = `// Proper subscription management +let eventSubscription; + +function startListening() { + eventSubscription = window.eve.subscribeToEvents({ + kinds: [1], + limit: 50 + }).subscribe({ + next: (event) => { + addEventToUI(event); + }, + error: (error) => { + console.error("Subscription error:", error); + showErrorMessage("Lost connection. Reconnecting..."); + // Implement retry logic + setTimeout(startListening, 5000); + } + }); +} + +// CRITICAL: Always clean up subscriptions +function cleanup() { + if (eventSubscription) { + eventSubscription.unsubscribe(); + eventSubscription = null; + } +} + +// Clean up when Arxlet is closed or user navigates away +window.addEventListener('beforeunload', cleanup);`; + + const uiExample = `// Use DaisyUI components for consistency +function createLoadingState() { + return \` +
+ + Loading profiles... +
+ \`; +} + +function createEmptyState() { + return \` +
+
📭
+

No messages yet

+

Be the first to start a conversation!

+ +
+ \`; +} + +// Implement optimistic updates for better UX +async function publishMessage(content) { + // Show message immediately (optimistic) + const tempId = 'temp-' + Date.now(); + addMessageToUI({ id: tempId, content, pending: true }); + + try { + const event = await window.eve.publish({ + kind: 1, + content: content, + tags: [] + }); + + // Replace temp message with real one + replaceMessageInUI(tempId, event); + } catch (error) { + // Remove temp message and show error + removeMessageFromUI(tempId); + showErrorMessage("Failed to send message"); + } +}`; + + return ( +
+

💡 Development Best Practices

+ +
+
+

Building Production-Ready Arxlets

+
+

+ Creating a great Arxlet goes beyond just making it work - it needs to be reliable, performant, and provide + an excellent user experience. These best practices will help you build Arxlets that users love and that + work consistently in the CCN environment. +

+ +

+ Why these practices matter: Arxlets run in a shared environment where performance issues + can affect other applications, and users expect the same level of polish they get from native apps. + Following these guidelines ensures your Arxlet integrates seamlessly with the CCN ecosystem. +

+
+
+
+ +
+
+

+ 🛡 Error Handling & Reliability +

+ +
+

+ User experience first: When something goes wrong, users should know what happened and + what they can do about it. Silent failures are frustrating and make your app feel broken. +

+
+ +
+
+

Essential Error Handling Patterns

+
+
+ Wrap all API calls in try-catch blocks: +

+ Every call to window.eve functions can potentially fail. Always handle exceptions. +

+
+
+ Check for null/undefined returns: +

+ Query methods return null when no data is found. Verify results before using them. +

+
+
+ Provide meaningful user feedback: +

Show specific error messages that help users understand what went wrong and how to fix it.

+
+
+ Implement retry logic for critical operations: +

+ Publishing events or loading essential data should retry automatically with exponential backoff. +

+
+
+
+ +
+

Practical Error Handling Example:

+ +
+
+ +
+
+
+

❌ Common Mistakes

+
    +
  • Not handling API failures
  • +
  • Assuming data will always exist
  • +
  • Silent failures with no user feedback
  • +
  • Generic "Something went wrong" messages
  • +
  • No retry mechanisms for critical operations
  • +
+
+
+ +
+
+

✅ Best Practices

+
    +
  • Specific, actionable error messages
  • +
  • Graceful degradation when features fail
  • +
  • Loading states for all async operations
  • +
  • Retry buttons for failed operations
  • +
  • Offline indicators when appropriate
  • +
+
+
+
+
+
+ +
+
+

+ ⚡ Performance & Efficiency +

+ +
+
+

Performance Optimization Strategies

+
+
+ Use specific, narrow filters: +

+ Instead of fetching all events and filtering in JavaScript, use precise Nostr filters to reduce data + transfer. +

+
+
+ Implement intelligent caching: +

Cache profile information, avatars, and other static content to avoid repeated API calls.

+
+
+ Paginate large datasets: +

+ Don't load thousands of events at once. Use limit and until parameters for + pagination. +

+
+
+ Debounce rapid user actions: +

+ If users can trigger API calls quickly (like typing in search), debounce to avoid overwhelming the + relay. +

+
+
+
+ +
+

Performance Optimization Example:

+ +
+
+ +
+
+

! Performance Pitfalls to Avoid

+
+

+ Overly broad filters: Fetching all events and filtering client-side wastes bandwidth. +

+

+ No pagination: Loading thousands of items at once can freeze the interface. +

+

+ Repeated API calls: Fetching the same profile data multiple times is inefficient. +

+

+ Unthrottled user input: Search-as-you-type without debouncing can overwhelm the + relay. +

+
+
+
+
+
+ +
+
+

+ 🔄 Subscription Management +

+ +
+

+ Subscriptions power real-time features. They make your Arxlet feel alive by automatically + updating when new data arrives. However, they need careful management to prevent memory leaks. +

+ +

+ Clean up is critical. Forgetting to unsubscribe from observables can cause memory leaks, + unnecessary i/o usage, and performance degradation over time. +

+
+ +
+
+

Subscription Best Practices

+
+
+ Always store subscription references: +

Keep references to all subscriptions so you can unsubscribe when needed.

+
+
+ Implement proper cleanup: +

Unsubscribe when components unmount, users navigate away, or the Arxlet closes.

+
+
+ Use specific filters: +

Narrow subscription filters reduce unnecessary data and improve performance.

+
+
+
+ +
+

Proper Subscription Management:

+ +
+
+ +
+
+

🚨 Memory Leak Prevention

+
+

+ Always unsubscribe: Every subscribe() call must have a corresponding{" "} + unsubscribe(). +

+

+ Clean up on navigation: Users might navigate away without properly closing your + Arxlet. +

+

+ Handle page refresh: Use beforeunload event to clean up subscriptions. +

+

+ Monitor subscription count: Too many active subscriptions can impact performance. +

+
+
+
+
+
+ +
+
+

+ 🎯 User Experience Excellence +

+ +
+

+ Great UX makes the difference. Users expect responsive, intuitive interfaces that provide + clear feedback. Small details like loading states and empty state messages significantly impact user + satisfaction. +

+ +

+ Consistency with CCN design. Using DaisyUI components ensures your Arxlet feels + integrated with the rest of the platform while saving you development time. +

+
+ +
+
+

UX Best Practices

+
+
+ Show loading states for all async operations: +

Users should never see blank screens or wonder if something is happening.

+
+
+ Handle empty states gracefully: +

When no data is available, provide helpful messages or suggestions for next steps.

+
+
+ Implement optimistic updates: +

Update the UI immediately when users take actions, then sync with the server.

+
+
+ Use consistent DaisyUI components: +

Leverage the pre-built component library for consistent styling and behavior.

+
+
+
+ +
+

UI/UX Implementation Examples:

+ +
+
+ +
+
+

✨ Excellent UX Includes

+
    +
  • Loading spinners for async operations
  • +
  • Helpful empty state messages
  • +
  • Immediate feedback for user actions
  • +
  • Clear error messages with solutions
  • +
  • Consistent visual design
  • +
  • Accessible keyboard navigation
  • +
  • Responsive layout for different screen sizes
  • +
+
+ +
+

! UX Anti-patterns

+
    +
  • Blank screens during loading
  • +
  • No feedback for user actions
  • +
  • Generic or confusing error messages
  • +
  • Inconsistent styling with CCN
  • +
  • Broken layouts on mobile devices
  • +
  • Inaccessible interface elements
  • +
  • Slow or unresponsive interactions
  • +
+
+
+
+
+ +
+
+

+ 🔒 Security & Privacy Considerations +

+ +
+

+ Security is everyone's responsibility. Even though Arxlets run in a sandboxed + environment, you still need to validate inputs, handle user data responsibly, and follow security best + practices. +

+ +

+ Privacy by design. Remember that events are visible to everyone in your CCN by default. + Be mindful of what data you're storing and how you're handling user information. +

+
+ +
+
+

Security Best Practices

+
+
+ Validate all user inputs: +

Never trust user input. Validate, sanitize, and escape data before using it in events or UI.

+
+
+ Be mindful of public data: +

Nostr events are public by default. Don't accidentally expose private information.

+
+
+ Handle signing errors gracefully: +

Users might reject signing requests. Always have fallbacks and clear error messages.

+
+
+ Respect user privacy preferences: +

Some users prefer pseudonymous usage. Don't force real names or personal information.

+
+
+ Sanitize HTML content: +

If displaying user-generated content, sanitize it to prevent XSS attacks.

+
+
+
+
+ +
+
+

🚨 Security Checklist

+
+
+ Input Validation: +
    +
  • Validate all form inputs
  • +
  • Sanitize user-generated content
  • +
  • Check data types and ranges
  • +
  • Escape HTML when displaying content
  • +
+
+
+ Privacy Protection: +
    +
  • Don't store sensitive data in events
  • +
  • Respect user anonymity preferences
  • +
  • Handle signing rejections gracefully
  • +
  • Be transparent about data usage
  • +
+
+
+
+
+
+
+ +
+
+

+ 🚀 Production Readiness Checklist +

+ +
+

+ Before publishing your Arxlet, run through this comprehensive checklist to ensure it meets production + quality standards. A well-tested Arxlet provides a better user experience and reflects positively on the + entire CCN ecosystem. +

+
+ +
+
+
+

✅ Code Quality

+
    +
  • All API calls wrapped in try-catch blocks
  • +
  • Null/undefined checks before using data
  • +
  • Subscriptions properly cleaned up
  • +
  • Input validation implemented
  • +
  • Error handling with user feedback
  • +
  • Performance optimizations applied
  • +
  • Code is well-commented and organized
  • +
+
+ +
+

🎯 User Experience

+
    +
  • Loading states for all async operations
  • +
  • Error messages are user-friendly
  • +
  • Empty states handled gracefully
  • +
  • Consistent DaisyUI styling
  • +
  • Responsive design for mobile
  • +
  • Keyboard navigation works
  • +
  • Accessibility features implemented
  • +
+
+
+ +
+
+

🔒 Security & Privacy

+
    +
  • User inputs are validated and sanitized
  • +
  • No sensitive data in public events
  • +
  • Signing errors handled gracefully
  • +
  • Privacy preferences respected
  • +
  • HTML content properly escaped
  • +
  • No hardcoded secrets or keys
  • +
  • Data usage is transparent
  • +
+
+ +
+

⚡ Performance

+
    +
  • Efficient Nostr filters used
  • +
  • Data caching implemented
  • +
  • Pagination for large datasets
  • +
  • User actions are debounced
  • +
  • Memory leaks prevented
  • +
  • Bundle size optimized
  • +
  • Performance tested with large datasets
  • +
+
+
+
+ +
+
+

🎉 Ready for Production!

+

+ Once you've checked off all these items, your Arxlet is ready to provide an excellent experience for CCN + users. Remember that you can always iterate and improve based on user feedback and changing + requirements. +

+
+
+
+
+
+ ); +}; diff --git a/src/pages/docs/arxlets/examples/NostrPublisherExample.jsx b/src/pages/docs/arxlets/examples/NostrPublisherExample.jsx new file mode 100644 index 0000000..8e3b1b4 --- /dev/null +++ b/src/pages/docs/arxlets/examples/NostrPublisherExample.jsx @@ -0,0 +1,20 @@ +// @jsx h +// @jsxImportSource preact + +import { CodeBlock } from "../components/CodeBlock.jsx"; +import code from "../highlight/nostr-publisher.ts" with { type: "text" }; +import { useSyntaxHighlighting } from "../hooks/useSyntaxHighlighting.js"; + +export const NostrPublisherExample = () => { + useSyntaxHighlighting(); + return ( +
+
+

📝 Nostr Note Publisher

+

Publish notes to your CCN using the window.eve API:

+ + +
+
+ ); +}; diff --git a/src/pages/docs/arxlets/examples/PreactCounterExample.jsx b/src/pages/docs/arxlets/examples/PreactCounterExample.jsx new file mode 100644 index 0000000..2930b61 --- /dev/null +++ b/src/pages/docs/arxlets/examples/PreactCounterExample.jsx @@ -0,0 +1,20 @@ +// @jsx h +// @jsxImportSource preact + +import { CodeBlock } from "../components/CodeBlock.jsx"; +import code from "../highlight/preact-counter.tsx" with { type: "text" }; +import { useSyntaxHighlighting } from "../hooks/useSyntaxHighlighting.js"; + +export const PreactCounterExample = () => { + useSyntaxHighlighting(); + return ( +
+
+

⚛ Preact Counter with JSX

+

A modern counter using Preact hooks and JSX syntax:

+ + +
+
+ ); +}; diff --git a/src/pages/docs/arxlets/examples/SvelteCounterExample.jsx b/src/pages/docs/arxlets/examples/SvelteCounterExample.jsx new file mode 100644 index 0000000..2ffb133 --- /dev/null +++ b/src/pages/docs/arxlets/examples/SvelteCounterExample.jsx @@ -0,0 +1,55 @@ +// @jsx h +// @jsxImportSource preact + +import { CodeBlock } from "../components/CodeBlock.jsx"; +import code from "../highlight/svelte-counter.svelte" with { type: "text" }; +import { useSyntaxHighlighting } from "../hooks/useSyntaxHighlighting.js"; + +export const SvelteCounterExample = () => { + useSyntaxHighlighting(); + return ( +
+
+

🔥 Svelte Counter

+

A reactive counter built with Svelte's elegant syntax and built-in reactivity:

+ +
+
+
+

+ Why Svelte? Svelte compiles to vanilla JavaScript with no runtime overhead, making it + perfect for arxlets. Features like runes ($state(),{" "} + $derived(), etc), scoped CSS and intuitive event handling make development a + breeze. +

+
+
+
+ +
+
+
+

+ Build Setup Note: Building Svelte for arxlets requires specific Vite configuration to + handle the compilation properly. While this adds some initial complexity, we've created a ready-to-use + template at{" "} + + arxlets-template + {" "} + with all the correct configurations. We still highly recommend Svelte because once set up, the + development experience is incredibly smooth and optimal. +

+
+
+
+ + +
+
+ ); +}; diff --git a/src/pages/docs/arxlets/highlight/build-command.sh b/src/pages/docs/arxlets/highlight/build-command.sh new file mode 100644 index 0000000..873ecda --- /dev/null +++ b/src/pages/docs/arxlets/highlight/build-command.sh @@ -0,0 +1 @@ +bun build --minify --outfile=build.js --target=browser --production index.ts diff --git a/src/pages/docs/arxlets/highlight/context.md b/src/pages/docs/arxlets/highlight/context.md new file mode 100644 index 0000000..ca145c4 --- /dev/null +++ b/src/pages/docs/arxlets/highlight/context.md @@ -0,0 +1,718 @@ +# Arxlets API Context + +## Overview + +Arxlets are secure, sandboxed JavaScript applications that extend Eve's functionality. They run in isolated iframes and are registered on your CCN (Closed Community Network) for member-only access. Arxlets provide a powerful way to build custom applications that interact with Nostr events and profiles through Eve. + +## Core Concepts + +### What are Arxlets? + +- **Sandboxed Applications**: Run in isolated iframes for security +- **JavaScript-based**: Written in TypeScript/JavaScript with wasm support coming in the future +- **CCN Integration**: Registered on your Closed Community Network +- **Nostr-native**: Built-in access to Nostr protocol operations +- **Real-time**: Support for live event subscriptions and updates + +### CCN Local-First Architecture + +CCNs (Closed Community Networks) are designed with a local-first approach that ensures data availability and functionality even when offline: + +- **Local Data Storage**: All Nostr events and profiles are stored locally on your device, providing instant access without network dependencies +- **Offline Functionality**: Arxlets can read, display, and interact with locally cached data when disconnected from the internet +- **Sync When Connected**: When network connectivity is restored, the CCN automatically synchronizes with remote relays to fetch new events and propagate local changes +- **Resilient Operation**: Your applications continue to work seamlessly regardless of network conditions, making CCNs ideal for unreliable connectivity scenarios +- **Privacy by Design**: Local-first storage means your data remains on your device, reducing exposure to external services and improving privacy + +### Architecture + +- **Frontend**: TypeScript applications with render functions +- **Backend**: Eve relay providing Nostr protocol access +- **Communication**: window.eve API or direct WebSocket connections + +## API Reference + +### window.eve API + +The primary interface for Arxlets to interact with Eve's Nostr relay. All methods return promises for async operations. + +#### Event Operations + +```typescript +// Publish a Nostr event +await window.eve.publish(event: NostrEvent): Promise + +// Get a specific event by ID +const event = await window.eve.getSingleEventById(id: string): Promise + +// Get first event matching filter +const event = await window.eve.getSingleEventWithFilter(filter: Filter): Promise + +// Get all events matching filter +const events = await window.eve.getAllEventsWithFilter(filter: Filter): Promise +``` + +#### Real-time Subscriptions + +```typescript +// Subscribe to events with RxJS Observable +const subscription = window.eve.subscribeToEvents(filter: Filter): Observable + +// Subscribe to profile updates +const profileSub = window.eve.subscribeToProfile(pubkey: string): Observable + +// Always unsubscribe when done +subscription.unsubscribe() +``` + +#### Profile Operations + +```typescript +// Get user profile +const profile = await window.eve.getProfile(pubkey: string): Promise + +// Get user avatar URL +const avatarUrl = await window.eve.getAvatar(pubkey: string): Promise +``` + +#### Cryptographic Operations + +```typescript +// Sign an unsigned event +const signedEvent = await window.eve.signEvent(event: NostrEvent): Promise + +// Get current user's public key +const pubkey = await window.eve.publicKey: Promise +``` + +### WebSocket Alternative + +For advanced use cases, connect directly to Eve's WebSocket relay, or use any nostr library. This is not recommended: + +```typescript +const ws = new WebSocket("ws://localhost:6942"); + +// Send Nostr protocol messages +ws.send(JSON.stringify(["REQ", subscriptionId, filter])); +ws.send(JSON.stringify(["EVENT", event])); +ws.send(JSON.stringify(["CLOSE", subscriptionId])); +``` + +## Type Definitions + +```typescript +import { Observable } from "rxjs"; + +interface NostrEvent { + id?: string; + pubkey: string; + created_at: number; + kind: number; + tags: string[][]; + content: string; + sig?: string; +} + +interface Filter { + ids?: string[]; + authors?: string[]; + kinds?: number[]; + since?: number; + until?: number; + limit?: number; + [key: string]: any; +} + +interface Profile { + name?: string; + about?: string; + picture?: string; + nip05?: string; + [key: string]: any; +} + +interface WindowEve { + publish(event: NostrEvent): Promise; + getSingleEventById(id: string): Promise; + getSingleEventWithFilter(filter: Filter): Promise; + getAllEventsWithFilter(filter: Filter): Promise; + subscribeToEvents(filter: Filter): Observable; + subscribeToProfile(pubkey: string): Observable; + getProfile(pubkey: string): Promise; + getAvatar(pubkey: string): Promise; + signEvent(event: NostrEvent): Promise; + get publicKey(): Promise; +} + +// Global declarations for TypeScript +declare global { + interface Window { + eve: WindowEve; + nostr?: { + getPublicKey(): Promise; + signEvent(event: NostrEvent): Promise; + getRelays?(): Promise<{ + "ws://localhost:6942": { read: true; write: true }; + }>; + }; + } +} +``` + +## Registration + +Arxlets are registered using Nostr events with kind `30420`: + +```json +{ + "kind": 30420, + "content": "", + "tags": [ + ["d", "unique-arxlet-id"], + ["name", "Display Name"], + ["description", "Brief description"], + ["script", "export function render(container) { /* implementation */ }"], + ["icon", "mdi:icon-name, #hexcolor"] + ] +} +``` + +### Required Tags + +- `d`: Unique identifier (alphanumeric, hyphens, underscores) +- `name`: Human-readable display name +- `script`: Complete JavaScript code with render export function + +### Optional Tags + +- `description`: Brief description of functionality +- `icon`: Iconify icon name and hex color + +## Development Patterns + +### Basic Arxlet Structure + +```typescript +export function render(container: HTMLElement): void { + // Set up your UI + container.innerHTML = ` +
+
+

My Arxlet

+ +
+
+ `; + + // Add event listeners and logic + const button = container.querySelector("#myButton"); + button?.addEventListener("click", handleClick); +} + +async function handleClick() { + try { + // Use window.eve API + const events = await window.eve.getAllEventsWithFilter({ + kinds: [1], + limit: 10, + }); + // Update UI with events + } catch (error) { + console.error("Failed to fetch events:", error); + } +} +``` + +### Real-time Updates + +```typescript +export function render(container: HTMLElement): void { + let subscription: Subscription; + + // Set up UI + container.innerHTML = `
`; + const eventsContainer = container.querySelector("#events"); + + // Subscribe to real-time events + subscription = window.eve + .subscribeToEvents({ + kinds: [1], + limit: 50, + }) + .subscribe({ + next: (event) => { + // Update UI with new event + const eventElement = document.createElement("div"); + eventElement.textContent = event.content; + eventsContainer?.prepend(eventElement); + }, + error: (err) => console.error("Subscription error:", err), + }); + + // Cleanup when arxlet is destroyed + window.addEventListener("beforeunload", () => { + subscription?.unsubscribe(); + }); +} +``` + +### Publishing Events + +```typescript +async function publishNote(content: string): Promise { + try { + const unsignedEvent: NostrEvent = { + kind: 1, + content: content, + tags: [["client", "my-arxlet"]], + created_at: Math.floor(Date.now() / 1000), + pubkey: await window.eve.publicKey, + }; + + const signedEvent = await window.eve.signEvent(unsignedEvent); + await window.eve.publish(signedEvent); + + console.log("Event published successfully"); + } catch (error) { + console.error("Failed to publish event:", error); + throw error; + } +} +``` + +## Best Practices + +### Error Handling + +- Always wrap API calls in try-catch blocks +- Check for null returns from query methods +- Provide user feedback for failed operations + +### Performance + +- Use specific filters to limit result sets +- Cache profile data to avoid repeated lookups +- Unsubscribe from observables when done +- Debounce rapid API calls +- Consider pagination for large datasets + +### Security + +- Validate all user inputs +- Sanitize content before displaying +- Use proper event signing for authenticity +- Follow principle of least privilege + +### Memory Management + +- Always unsubscribe from RxJS observables +- Clean up event listeners on component destruction +- Avoid memory leaks in long-running subscriptions +- Use weak references where appropriate + +## Common Use Cases + +### Social Feed + +- Subscribe to events from followed users +- Display real-time updates +- Handle profile information and avatars +- Implement engagement features + +### Publishing Tools + +- Create and sign events +- Validate content before publishing +- Handle publishing errors gracefully +- Provide user feedback + +### Data Visualization + +- Query historical events +- Process and aggregate data +- Create interactive charts and graphs +- Real-time data updates + +### Communication Apps + +- Direct messaging interfaces +- Group chat functionality +- Notification systems +- Presence indicators + +## Framework Integration + +Arxlets support various JavaScript frameworks. All frameworks must export a `render` function that accepts a container element: + +### Vanilla JavaScript + +```typescript +export function render(container: HTMLElement): void { + // Set up your UI with direct DOM manipulation + container.innerHTML = ` +
+
+

My App

+ +
+
+ `; + + // Add event listeners + const button = container.querySelector("#myButton"); + button?.addEventListener("click", () => { + console.log("Button clicked!"); + }); +} +``` + +### Preact/React + +```typescript +// @jsx h +// @jsxImportSource preact +import { render } from 'preact'; +import { useState } from 'preact/hooks'; + +const App = () => { + const [count, setCount] = useState(0); + + return ( +
+
+

Counter: {count}

+ +
+
+ ); +}; + +export function render(container: HTMLElement): void { + render(, container); +} +``` + +### Svelte + +```typescript +import { mount } from "svelte"; +import "./app.css"; +import App from "./App.svelte"; + +export function render(container: HTMLElement) { + return mount(App, { + target: container, + }); +} +``` + +### Build Process + +All frameworks require bundling into a single JavaScript file: + +```bash +# For TypeScript/JavaScript projects +bun build index.ts --outfile=build.js --minify --target=browser --production + +# The resulting build.js content goes in your registration event's script tag +``` + +#### Svelte Build Requirements + +**Important:** The standard build command above will NOT work for Svelte projects. Svelte requires specific Vite configuration to compile properly. + +For Svelte arxlets: + +1. Use the [arxlets-template](https://git.arx-ccn.com/Arx/arxlets-template) which includes the correct Vite configuration +2. Run `bun run build` instead of the standard build command +3. Your compiled file will be available at `dist/bundle.js` + +While the initial setup is more complex, Svelte provides an excellent development experience once configured, with features like: + +- Built-in reactivity with runes (`$state()`, `$derived()`, etc.) +- Scoped CSS +- Compile-time optimizations +- No runtime overhead + +## Debugging and Development + +### Console Logging + +- Use `console.log()` for debugging +- Events and errors are logged to browser console + +### Error Handling + +- Catch and log API errors +- Display user-friendly error messages +- Implement retry mechanisms for transient failures + +### Testing + +- Test with various event types and filters +- Verify subscription cleanup +- Test error scenarios and edge cases +- Validate event signing and publishing + +## Limitations and Considerations + +### Sandbox Restrictions + +- Limited access to browser APIs +- No direct file system access +- Restricted network access (only to Eve relay) +- No access to parent window context + +### Performance Constraints + +- Iframe overhead for each arxlet +- Memory usage for subscriptions +- Event processing limitations + +### Security Considerations + +- All events are public on Nostr +- Private key management handled by Eve +- Content sanitization required +- XSS prevention necessary + +## DaisyUI Components + +Arxlets have access to DaisyUI 5, a comprehensive CSS component library. Use these pre-built components for consistent, accessible UI: + +### Essential Components + +```html + +
+
+

Card Title

+

Card content goes here

+
+ +
+
+
+ + + + + + + + + +
+ + +
+ + +
+ ✅ Success message +
+
+ ❌ Error message +
+ + + + + + + + + +``` + +### Layout Utilities + +```html + +
+
Content 1
+
Content 2
+
Content 3
+
+ + +
+ Left content + +
+ + +
+ +
+``` + +### Color System + +```html + +
Default background
+
Slightly darker
+
Primary color
+
Secondary color
+ + +Primary text +Success text +Error text +Default text +``` + +## Complete Example Patterns + +### Simple Counter Arxlet + +```typescript +export function render(container: HTMLElement): void { + let count = 0; + + function updateUI() { + container.innerHTML = ` +
+
+

Counter

+
+ ${count} +
+
+ + + +
+
+
+ `; + + // Attach event listeners + container.querySelector("#increment")?.addEventListener("click", () => { + count++; + updateUI(); + }); + + container.querySelector("#decrement")?.addEventListener("click", () => { + count--; + updateUI(); + }); + + container.querySelector("#reset")?.addEventListener("click", () => { + count = 0; + updateUI(); + }); + } + + updateUI(); +} +``` + +### Nostr Event Publisher + +```typescript +export async function render(container: HTMLElement): Promise { + container.innerHTML = ` +
+
+

📝 Publish a Note

+
+ + +
+
+
+ +
+
+
+ `; + + const textarea = + container.querySelector("#noteContent")!; + const publishBtn = container.querySelector("#publishBtn")!; + const status = container.querySelector("#status")!; + const charCount = container.querySelector("#charCount")!; + + textarea.oninput = () => { + const length = textarea.value.length; + charCount.textContent = `${length}/280`; + publishBtn.disabled = length === 0 || length > 280; + }; + + publishBtn.onclick = async () => { + const content = textarea.value.trim(); + if (!content) return; + + publishBtn.disabled = true; + publishBtn.textContent = "Publishing..."; + status.innerHTML = + ''; + + try { + const unsignedEvent: NostrEvent = { + kind: 1, + content: content, + tags: [["client", "my-arxlet"]], + created_at: Math.floor(Date.now() / 1000), + pubkey: await window.eve.publicKey, + }; + + const signedEvent = await window.eve.signEvent(unsignedEvent); + await window.eve.publish(signedEvent); + + status.innerHTML = ` +
+ ✅ Note published successfully! +
+ `; + + textarea.value = ""; + textarea.oninput?.(); + } catch (error: unknown) { + const errorMessage = + error instanceof Error ? error.message : "Unknown error"; + console.error("Publishing failed:", error); + status.innerHTML = ` +
+ ❌ Failed to publish: ${errorMessage} +
+ `; + } finally { + publishBtn.disabled = false; + publishBtn.textContent = "Publish Note"; + } + }; +} +``` + +This context provides comprehensive information about the Arxlets API, enabling LLMs to understand and work with the system effectively. diff --git a/src/pages/docs/arxlets/highlight/counter.ts b/src/pages/docs/arxlets/highlight/counter.ts new file mode 100644 index 0000000..f41ded2 --- /dev/null +++ b/src/pages/docs/arxlets/highlight/counter.ts @@ -0,0 +1,44 @@ +export function render(container: HTMLElement) { + let count: number = 0; + + container.innerHTML = ` +
+
+

Counter App

+
+ ${count} +
+
+ + + +
+
+
+ `; + + const display = container.querySelector("#display")!; + const incrementBtn = container.querySelector("#increment")!; + const decrementBtn = container.querySelector("#decrement")!; + const resetBtn = container.querySelector("#reset")!; + + const updateDisplay = (): void => { + display.textContent = count.toString(); + display.className = `text-6xl font-bold my-4 ${ + count > 0 ? "text-success" : count < 0 ? "text-error" : "text-primary" + }`; + }; + + incrementBtn.onclick = (): void => { + count++; + updateDisplay(); + }; + decrementBtn.onclick = (): void => { + count--; + updateDisplay(); + }; + resetBtn.onclick = (): void => { + count = 0; + updateDisplay(); + }; +} diff --git a/src/pages/docs/arxlets/highlight/eve-api-example.ts b/src/pages/docs/arxlets/highlight/eve-api-example.ts new file mode 100644 index 0000000..4dddb2e --- /dev/null +++ b/src/pages/docs/arxlets/highlight/eve-api-example.ts @@ -0,0 +1,55 @@ +// Using window.eve API for Nostr operations +import type { Filter, NostrEvent } from "./types"; + +// Publish a new event +const event: NostrEvent = { + kind: 1, + content: "Hello from my Arxlet!", + tags: [], + created_at: Math.floor(Date.now() / 1000), + pubkey: "your-pubkey-here", +}; + +await window.eve.publish(event); + +// Get a specific event by ID +const eventId = "event-id-here"; +const event = await window.eve.getSingleEventById(eventId); + +// Query events with a filter +const filter: Filter = { + kinds: [1], + authors: ["pubkey-here"], + limit: 10, +}; + +const singleEvent = await window.eve.getSingleEventWithFilter(filter); +const allEvents = await window.eve.getAllEventsWithFilter(filter); + +// Real-time subscription with RxJS Observable +const subscription = window.eve.subscribeToEvents(filter).subscribe({ + next: (event) => { + console.log("New event received:", event); + // Update your UI with the new event + }, + error: (err) => console.error("Subscription error:", err), + complete: () => console.log("Subscription completed"), +}); + +// Subscribe to profile updates for a specific user +const profileSubscription = window.eve.subscribeToProfile(pubkey).subscribe({ + next: (profile) => { + console.log("Profile updated:", profile); + // Update your UI with the new profile data + }, + error: (err) => console.error("Profile subscription error:", err), +}); + +// Don't forget to unsubscribe when done +// subscription.unsubscribe(); +// profileSubscription.unsubscribe(); + +// Get user profile and avatar +const pubkey = "user-pubkey-here"; +const profile = await window.eve.getProfile(pubkey); +const avatarUrl = await window.eve.getAvatar(pubkey); diff --git a/src/pages/docs/arxlets/highlight/nostr-publisher.ts b/src/pages/docs/arxlets/highlight/nostr-publisher.ts new file mode 100644 index 0000000..8cc1492 --- /dev/null +++ b/src/pages/docs/arxlets/highlight/nostr-publisher.ts @@ -0,0 +1,85 @@ +import type { NostrEvent } from "./type-definitions.ts"; + +export async function render(container: HTMLElement): Promise { + container.innerHTML = ` +
+
+

📝 Publish a Note

+ +
+ + +
+ +
+
+ +
+
+
+ `; + + const textarea = container.querySelector("#noteContent")!; + const publishBtn = container.querySelector("#publishBtn")!; + const status = container.querySelector("#status")!; + const charCount = container.querySelector("#charCount")!; + + textarea.oninput = (): void => { + const length: number = textarea.value.length; + charCount.textContent = `${length}/280`; + publishBtn.disabled = length === 0 || length > 280; + }; + + publishBtn.onclick = async (e): Promise => { + const content: string = textarea.value.trim(); + if (!content) return; + + publishBtn.disabled = true; + publishBtn.textContent = "Publishing..."; + status.innerHTML = ''; + + try { + const unsignedEvent: NostrEvent = { + kind: 1, // Text note + content: content, + tags: [["client", "arxlet-publisher"]], + created_at: Math.floor(Date.now() / 1000), + pubkey: await window.eve.publicKey, + }; + + const signedEvent: NostrEvent = await window.eve.signEvent(unsignedEvent); + + await window.eve.publish(signedEvent); + + status.innerHTML = ` +
+ ✅ Note published successfully! +
+ `; + + textarea.value = ""; + textarea.oninput?.(e); + } catch (error: unknown) { + const errorMessage = error instanceof Error ? error.message : "Unknown error"; + console.error("Publishing failed:", error); + status.innerHTML = ` +
+ ❌ Failed to publish: ${errorMessage} +
+ `; + } finally { + publishBtn.disabled = false; + publishBtn.textContent = "Publish Note"; + } + }; +} diff --git a/src/pages/docs/arxlets/highlight/preact-counter.tsx b/src/pages/docs/arxlets/highlight/preact-counter.tsx new file mode 100644 index 0000000..78b4318 --- /dev/null +++ b/src/pages/docs/arxlets/highlight/preact-counter.tsx @@ -0,0 +1,61 @@ +// @jsx h +// @jsxImportSource preact + +import { render as renderPreact } from "preact"; +import { useState } from "preact/hooks"; + +const CounterApp = () => { + const [count, setCount] = useState(0); + const [message, setMessage] = useState(""); + + const increment = () => { + setCount((prev) => prev + 1); + setMessage(`Clicked ${count + 1} times!`); + }; + + const decrement = () => { + setCount((prev) => prev - 1); + setMessage(`Count decreased to ${count - 1}`); + }; + + const reset = () => { + setCount(0); + setMessage("Counter reset!"); + }; + + return ( +
+
+

Preact Counter

+ +
0 ? "text-success" : count < 0 ? "text-error" : "text-primary"}`} + > + {count} +
+ +
+ + + +
+ + {message && ( +
+ {message} +
+ )} +
+
+ ); +}; + +export function render(container: HTMLElement): void { + renderPreact(, container); +} diff --git a/src/pages/docs/arxlets/highlight/registration-event.json b/src/pages/docs/arxlets/highlight/registration-event.json new file mode 100644 index 0000000..47c8093 --- /dev/null +++ b/src/pages/docs/arxlets/highlight/registration-event.json @@ -0,0 +1,12 @@ +{ + "kind": 30420, + "tags": [ + ["d", "my-calculator"], + ["name", "Simple Calculator"], + ["description", "A basic calculator for quick math"], + ["script", "export function render(el) { /* your code */ }"], + ["icon", "mdi:calculator", "#3b82f6"] + ], + "content": "", + "created_at": 1735171200 +} diff --git a/src/pages/docs/arxlets/highlight/render-function.ts b/src/pages/docs/arxlets/highlight/render-function.ts new file mode 100644 index 0000000..1e43d10 --- /dev/null +++ b/src/pages/docs/arxlets/highlight/render-function.ts @@ -0,0 +1,23 @@ +/** + * Required export function - Entry point for your Arxlet + */ +export function render(container: HTMLElement): void { + // Initialize your application + container.innerHTML = ` +
+

My Arxlet

+

Hello from Eve!

+ +
+ `; + + // Add event listeners with proper typing + const button = container.querySelector("#myButton"); + button?.addEventListener("click", (): void => { + alert("Button clicked!"); + }); + + // Your app logic here... +} diff --git a/src/pages/docs/arxlets/highlight/subscription-examples.ts b/src/pages/docs/arxlets/highlight/subscription-examples.ts new file mode 100644 index 0000000..28fbd83 --- /dev/null +++ b/src/pages/docs/arxlets/highlight/subscription-examples.ts @@ -0,0 +1,54 @@ +// Real-time subscription examples +import { filter, map, takeUntil } from "rxjs/operators"; + +// Basic subscription +const subscription = window.eve + .subscribeToEvents({ + kinds: [1], // Text notes + limit: 50, + }) + .subscribe((event) => { + console.log("New text note:", event.content); + }); + +// Advanced filtering with RxJS operators +const filteredSubscription = window.eve + .subscribeToEvents({ + kinds: [1, 6, 7], // Notes, reposts, reactions + authors: ["pubkey1", "pubkey2"], + }) + .pipe( + filter((event) => event.content.includes("#arxlet")), // Only events mentioning arxlets + map((event) => ({ + id: event.id, + author: event.pubkey, + content: event.content, + timestamp: new Date(event.created_at * 1000), + })), + ) + .subscribe({ + next: (processedEvent) => { + // Update your UI + updateEventsList(processedEvent); + }, + error: (err) => { + console.error("Subscription error:", err); + showErrorMessage("Failed to receive real-time updates"); + }, + }); + +// Profile subscription example +const profileSubscription = window.eve.subscribeToProfile("user-pubkey-here").subscribe({ + next: (profile) => { + console.log("Profile updated:", profile); + updateUserProfile(profile); + }, + error: (err) => { + console.error("Profile subscription error:", err); + }, +}); + +// Clean up subscriptions when component unmounts +// subscription.unsubscribe(); +// filteredSubscription.unsubscribe(); +// profileSubscription.unsubscribe(); diff --git a/src/pages/docs/arxlets/highlight/svelte-counter.svelte b/src/pages/docs/arxlets/highlight/svelte-counter.svelte new file mode 100644 index 0000000..1f7a43d --- /dev/null +++ b/src/pages/docs/arxlets/highlight/svelte-counter.svelte @@ -0,0 +1,49 @@ + + +
+
+

🔥 Svelte Counter

+ +
+ {count} +
+ +
+ + + +
+ + {#if message} +
+ {message} +
+ {/if} +
+
+ + diff --git a/src/pages/docs/arxlets/highlight/type-definitions.ts b/src/pages/docs/arxlets/highlight/type-definitions.ts new file mode 100644 index 0000000..33f8b42 --- /dev/null +++ b/src/pages/docs/arxlets/highlight/type-definitions.ts @@ -0,0 +1,48 @@ +import type { Observable } from "rxjs"; + +export interface NostrEvent { + id?: string; + pubkey: string; + created_at: number; + kind: number; + tags: string[][]; + content: string; + sig?: string; +} + +export interface Filter { + ids?: string[]; + authors?: string[]; + kinds?: number[]; + since?: number; + until?: number; + limit?: number; + [key: string]: any; +} + +export interface Profile { + name?: string; + about?: string; + picture?: string; + nip05?: string; + [key: string]: any; +} + +export interface WindowEve { + publish(event: NostrEvent): Promise; + getSingleEventById(id: string): Promise; + getSingleEventWithFilter(filter: Filter): Promise; + getAllEventsWithFilter(filter: Filter): Promise; + subscribeToEvents(filter: Filter): Observable; + subscribeToProfile(pubkey: string): Observable; + getProfile(pubkey: string): Promise; + getAvatar(pubkey: string): Promise; + signEvent(event: NostrEvent): Promise; + get publicKey(): Promise; +} + +declare global { + interface Window { + eve: WindowEve; + } +} diff --git a/src/pages/docs/arxlets/highlight/websocket-example.ts b/src/pages/docs/arxlets/highlight/websocket-example.ts new file mode 100644 index 0000000..d5f35c9 --- /dev/null +++ b/src/pages/docs/arxlets/highlight/websocket-example.ts @@ -0,0 +1,18 @@ +// Alternative: Direct WebSocket connection +const ws = new WebSocket("ws://localhost:6942"); + +ws.onopen = () => { + // Subscribe to events + ws.send(JSON.stringify(["REQ", "sub1", { kinds: [1], limit: 10 }])); +}; + +ws.onmessage = (event) => { + const [type, subId, data] = JSON.parse(event.data); + if (type === "EVENT") { + console.log("Received event:", data); + } +}; + +// Publish an event +const signedEvent = await window.nostr.signEvent(unsignedEvent); +ws.send(JSON.stringify(["EVENT", signedEvent])); diff --git a/src/pages/docs/arxlets/hooks/useSyntaxHighlighting.js b/src/pages/docs/arxlets/hooks/useSyntaxHighlighting.js new file mode 100644 index 0000000..32ae0a6 --- /dev/null +++ b/src/pages/docs/arxlets/hooks/useSyntaxHighlighting.js @@ -0,0 +1,30 @@ +import { useEffect } from "preact/hooks"; +import Prism from "prismjs"; +import "prismjs/components/prism-json"; +import "prismjs/components/prism-javascript"; +import "prismjs/components/prism-typescript"; +import "prismjs/components/prism-bash"; +import "prism-svelte"; + +/** + * Custom hook for managing syntax highlighting + * Handles initialization and tab change events + */ +export const useSyntaxHighlighting = () => { + useEffect(() => { + const highlightCode = () => setTimeout(() => Prism.highlightAll(), 100); + + highlightCode(); + + const tabInputs = document.querySelectorAll('input[name="arxlet_tabs"]'); + tabInputs.forEach((input) => { + input.addEventListener("change", highlightCode); + }); + + return () => { + tabInputs.forEach((input) => { + input.removeEventListener("change", highlightCode); + }); + }; + }, []); +}; diff --git a/src/pages/home/home.css b/src/pages/home/home.css new file mode 100644 index 0000000..3997987 --- /dev/null +++ b/src/pages/home/home.css @@ -0,0 +1,5 @@ +@import "tailwindcss"; +@tailwind base; +@tailwind components; +@tailwind utilities; +@plugin "daisyui"; diff --git a/src/pages/home/home.html b/src/pages/home/home.html new file mode 100644 index 0000000..157cfd2 --- /dev/null +++ b/src/pages/home/home.html @@ -0,0 +1,285 @@ + + + + + + Eve - Secure, Decentralized Communities + + + + +
+ + + + +
+
+
+
+

Welcome to Eve

+

+ Your personal gateway to secure, decentralized communities. Create + encrypted Closed Community Networks (CCNs) where + your messages and data stay truly private. +

+ Get Started +
+
+
+ + +
+

Why Choose Eve?

+
+ +
+
+ + + +

End-to-End Encryption

+

+ Every message, every file, every interaction is secured with + cutting-edge encryption. Only you and your community hold the + keys. +

+
+
+
+
+ + + +

Decentralized by Design

+

+ No central servers, no single point of failure. Your community's + data is distributed, resilient, and censorship-resistant. +

+
+
+ +
+
+ + + +

Extensible with Arxlets

+

+ Supercharge your community with powerful mini-apps. From shared + calendars to collaborative tools, the possibilities are + limitless. +

+
+
+
+
+ +
+
+

How Eve Works

+
    +
  • +
    + + + +
    +
    + +
    Create a CCN
    + Generate a unique, encrypted Closed Community Network. This is + your private digital space, secured by a key that only you and + your members possess. +
    +
    +
  • +
  • +
    +
    + + + +
    +
    + +
    Invite Members
    + Securely share the CCN key with trusted members. Only those with + the key can join, ensuring your community remains private and + exclusive. +
    +
    +
  • +
  • +
    +
    + + + +
    +
    + +
    Communicate & Collaborate
    + Share messages, files, and use Arxlets within your secure + environment. Your data is always protected and under your + control. +
    +
    +
  • +
  • +
    +
    + + + +
    +
    + +
    Extend with Arxlets
    + Browse and install Arxlets to add new features to your CCN. + Customize your community's experience with powerful, + decentralized applications. +
    +
  • +
+
+
+ +
+
+
+
+

Unleash the Power of Arxlets

+

+ Arxlets are the heart of Eve's extensibility. + They are secure, sandboxed applications that run within your + CCN, allowing you to add powerful features without compromising + privacy. Imagine a decentralized social feed, a collaborative + whiteboard, or a secure voting system—all running within your + private community. +

+ Explore Arxlet Development +
+
+
+
+ +
+ +
+
+ + diff --git a/src/rollingIndex.ts b/src/rollingIndex.ts new file mode 100644 index 0000000..b7c90b6 --- /dev/null +++ b/src/rollingIndex.ts @@ -0,0 +1,100 @@ +import { bytesToHex, hexToBytes } from "nostr-tools/utils"; + +export const DEFAULT_PERIOD_MINUTES = 8 * 60; + +export class RollingIndex { + private static PERIOD_BYTES = 2; + private static PERIOD_OFFSET_BYTES = 6; + + static diff(left: Uint8Array, right: Uint8Array): Uint8Array[] { + const leftData = this.extract(left); + const rightData = this.extract(right); + + if (leftData.periodMinutes !== rightData.periodMinutes) + throw new Error( + `Period minutes mismatch! Left: ${leftData.periodMinutes}, Right: ${rightData.periodMinutes}.`, + ); + + const startPeriod = Math.min(leftData.periodNumber, rightData.periodNumber); + const endPeriod = Math.max(leftData.periodNumber, rightData.periodNumber); + const periodMinutes = leftData.periodMinutes; + + const result: Uint8Array[] = []; + + for ( + let periodNumber = startPeriod; + periodNumber <= endPeriod; + periodNumber++ + ) { + const buffer = new ArrayBuffer( + this.PERIOD_BYTES + this.PERIOD_OFFSET_BYTES, + ); + const view = new DataView(buffer); + + view.setUint16(0, periodMinutes, false); + view.setUint32(2, Math.floor(periodNumber / 0x10000), false); + view.setUint16(6, periodNumber & 0xffff, false); + + result.push(new Uint8Array(buffer)); + } + + return result; + } + + static compare(left: Uint8Array, right: Uint8Array): number { + const leftData = this.extract(left); + const rightData = this.extract(right); + + if (leftData.periodMinutes < rightData.periodMinutes) return -1; + if (leftData.periodMinutes > rightData.periodMinutes) return 1; + if (leftData.periodNumber < rightData.periodNumber) return -1; + if (leftData.periodNumber > rightData.periodNumber) return 1; + return 0; + } + + static at( + nowMs: number, + periodMinutes: number = DEFAULT_PERIOD_MINUTES, + ): Uint8Array { + const now = Math.floor(nowMs / 1000); + const periodSeconds = periodMinutes * 60; + const periodNumber = Math.floor(now / periodSeconds); + + const buffer = new ArrayBuffer( + this.PERIOD_BYTES + this.PERIOD_OFFSET_BYTES, + ); + const view = new DataView(buffer); + + view.setUint16(0, periodMinutes, false); + view.setUint32(2, Math.floor(periodNumber / 0x10000), false); + view.setUint16(6, periodNumber & 0xffff, false); + + return new Uint8Array(buffer); + } + + static get(periodMinutes: number = DEFAULT_PERIOD_MINUTES): Uint8Array { + return this.at(Date.now(), periodMinutes); + } + + static extract(index: Uint8Array): { + periodMinutes: number; + periodNumber: number; + } { + const view = new DataView(index.buffer); + + const periodMinutes = view.getUint16(0, false); + const periodNumberHigh = view.getUint32(2, false); + const periodNumberLow = view.getUint16(6, false); + const periodNumber = periodNumberHigh * 0x10000 + periodNumberLow; + + return { periodMinutes, periodNumber }; + } + + static toHex(index: Uint8Array): string { + return bytesToHex(index); + } + + static fromHex(hex: string): Uint8Array { + return hexToBytes(hex); + } +} diff --git a/src/utils/Uint8Array.ts b/src/utils/Uint8Array.ts new file mode 100644 index 0000000..128025c --- /dev/null +++ b/src/utils/Uint8Array.ts @@ -0,0 +1,83 @@ +import { bytesToHex, hexToBytes } from "nostr-tools/utils"; +import { isHex } from "./general"; + +export function write_varint(bytes: number[], n: number): number { + let len = 0; + while (true) { + let b = n & 0x7f; + n >>= 7; + if (n !== 0) b |= 0x80; + bytes.push(b); + len += 1; + if (n === 0) break; + } + return len; +} + +export const write_tagged_varint = ( + bytes: number[], + value: number, + tagged: boolean, +): number => write_varint(bytes, (value << 1) | (tagged ? 1 : 0)); + +export function write_string(bytes: number[], s: string) { + if (s.length === 0) return write_tagged_varint(bytes, 0, false); + + if (isHex(s)) { + const parsed = hexToBytes(s); + write_tagged_varint(bytes, parsed.length, true); + bytes.push(...parsed); + } else { + const contentBytes = new TextEncoder().encode(s); + write_tagged_varint(bytes, contentBytes.length, false); + bytes.push(...contentBytes); + } +} + +export const read_tagged_varint = ( + data: Uint8Array, + offset: number, +): [number, boolean, number] => { + const [value, bytes_read] = read_varint(data, offset); + const tagged = (value & 1) === 1; + const actual_value = value >> 1; + return [actual_value, tagged, bytes_read]; +}; + +export function read_varint( + buffer: Uint8Array, + offset: number, +): [number, number] { + let value = 0; + let shift = 0; + let bytesRead = 0; + + while (offset + bytesRead < buffer.length) { + const byte = buffer[offset + bytesRead]; + if (typeof byte === "undefined") return [value, bytesRead]; + bytesRead++; + + value |= (byte & 0x7f) << shift; + + if ((byte & 0x80) === 0) break; + + shift += 7; + } + + return [value, bytesRead]; +} + +export function read_string( + data: Uint8Array, + offset: number, +): [string, number] { + const [length, tagged, varint_bytes] = read_tagged_varint(data, offset); + offset += varint_bytes; + + if (length === 0) return ["", varint_bytes]; + + const stringData = data.slice(offset, offset + length); + + if (tagged) return [bytesToHex(stringData), varint_bytes + length]; + return [new TextDecoder().decode(stringData), varint_bytes + length]; +} diff --git a/src/utils/color.ts b/src/utils/color.ts new file mode 100644 index 0000000..9bcf879 --- /dev/null +++ b/src/utils/color.ts @@ -0,0 +1,46 @@ +export function getColorFromPubkey(pubkey: string): string { + let hash = 0; + for (let i = 0; i < pubkey.length; i++) hash = ((hash << 5) - hash + pubkey.charCodeAt(i)) & 0xffffffff; + hash = Math.abs(hash); + + const hue = hash % 360; + + const saturation = hue >= 216 && hue <= 273 ? 0.8 : 0.9; + const lightness = hue >= 32 && hue <= 212 ? 0.85 : 0.65; + + const chroma = (1 - Math.abs(2 * lightness - 1)) * saturation; + const huePrime = hue / 60; + const secondComponent = chroma * (1 - Math.abs((huePrime % 2) - 1)); + const lightnessAdjustment = lightness - chroma / 2; + + let [r, g, b] = [0, 0, 0]; + + const sector = Math.floor(huePrime); + switch (sector) { + case 0: + [r, g, b] = [chroma, secondComponent, 0]; + break; + case 1: + [r, g, b] = [secondComponent, chroma, 0]; + break; + case 2: + [r, g, b] = [0, chroma, secondComponent]; + break; + case 3: + [r, g, b] = [0, secondComponent, chroma]; + break; + case 4: + [r, g, b] = [secondComponent, 0, chroma]; + break; + default: + [r, g, b] = [chroma, 0, secondComponent]; + break; + } + + const toHex = (value: number): string => + Math.round((value + lightnessAdjustment) * 255) + .toString(16) + .padStart(2, "0"); + + return `${toHex(r)}${toHex(g)}${toHex(b)}`; +} diff --git a/src/utils/encryption.ts b/src/utils/encryption.ts new file mode 100644 index 0000000..7c57e0a --- /dev/null +++ b/src/utils/encryption.ts @@ -0,0 +1,193 @@ +import { xchacha20poly1305 } from "@noble/ciphers/chacha"; +import { bytesToHex, hexToBytes } from "@noble/ciphers/utils"; +import { managedNonce } from "@noble/ciphers/webcrypto"; +import { + finalizeEvent, + generateSecretKey, + getPublicKey, + type NostrEvent, + nip13, + verifyEvent, +} from "nostr-tools"; +import { CURRENT_VERSION, POW_TO_ACCEPT, POW_TO_MINE } from "../consts"; +import { isHex } from "./general"; +import { + read_string, + read_varint, + write_string, + write_varint, +} from "./Uint8Array"; + +const secureClear = (data: Uint8Array) => data.fill(0); + +export function serializeEventData(event: NostrEvent): Uint8Array { + const bytes: number[] = []; + bytes.push(CURRENT_VERSION); + const id = hexToBytes(event.id); + bytes.push(...id); + const pk = hexToBytes(event.pubkey); + bytes.push(...pk); + const sig = hexToBytes(event.sig); + bytes.push(...sig); + write_varint(bytes, event.created_at); + write_varint(bytes, event.kind); + write_string(bytes, event.content); + write_varint(bytes, event.tags.length); + for (const tag of event.tags) { + write_varint(bytes, tag.length); + for (const element of tag) write_string(bytes, element); + } + + return new Uint8Array(bytes); +} + +function deserializeEventData(buffer: Uint8Array): NostrEvent { + let offset = 0; + + const version = buffer[offset++]; + if (version !== CURRENT_VERSION) + throw new Error(`Unsupported version: ${version}`); + + const id = bytesToHex(buffer.slice(offset, offset + 32)); + offset += 32; + const pubkey = bytesToHex(buffer.slice(offset, offset + 32)); + offset += 32; + const sig = bytesToHex(buffer.slice(offset, offset + 64)); + offset += 64; + const [created_at, created_at_bytes] = read_varint(buffer, offset); + offset += created_at_bytes; + const [kind, kind_bytes] = read_varint(buffer, offset); + offset += kind_bytes; + const [content, content_bytes] = read_string(buffer, offset); + offset += content_bytes; + const [tags_length, tags_length_bytes] = read_varint(buffer, offset); + offset += tags_length_bytes; + + const tags: string[][] = []; + for (let i = 0; i < tags_length; i++) { + const [tag_length, tag_length_bytes] = read_varint(buffer, offset); + offset += tag_length_bytes; + + const tag: string[] = []; + for (let j = 0; j < tag_length; j++) { + const [element, element_bytes] = read_string(buffer, offset); + offset += element_bytes; + + tag.push(element); + } + tags.push(tag); + } + + return { + id, + pubkey, + sig, + created_at, + kind, + content, + tags, + }; +} + +/** + * Encrypts a given Uint8Array using the XChaCha20-Poly1305 algorithm. + * + * @param data - The data to be encrypted as a Uint8Array. + * @param key - The encryption key as a Uint8Array. + * @returns The encrypted data as a Uint8Array. + * + * @note The key being cloned is not a mistake in the function. If the key is not a copy, it will be cleared from memory, causing future encryptions and decryptions to use key = 0 + */ +export function encryptUint8Array( + data: Uint8Array, + key: Uint8Array, +): Uint8Array { + if (key.length !== 32) throw new Error("Encryption key must be 32 bytes"); + if (data.length === 0) throw new Error("Cannot encrypt empty data"); + return managedNonce(xchacha20poly1305)(new Uint8Array(key)).encrypt(data); +} + +/** + * Decrypts a given Uint8Array using the XChaCha20-Poly1305 algorithm. + * + * @param data - The data to be decrypted as a Uint8Array. + * @param key - The decryption key as a Uint8Array. + * @returns The decrypted data as a Uint8Array. + * + * @note The key being cloned is not a mistake in the function. If the key is not a copy, it will be cleared from memory, causing future encryptions and decryptions to use key = 0 + */ +export function decryptUint8Array( + data: Uint8Array, + key: Uint8Array, +): Uint8Array { + if (key.length !== 32) throw new Error("Decryption key must be 32 bytes"); + if (data.length === 0) throw new Error("Cannot decrypt empty data"); + return managedNonce(xchacha20poly1305)(new Uint8Array(key)).decrypt(data); +} + +export async function createEncryptedEvent( + event: NostrEvent, + encryptionKey: Uint8Array, +): Promise { + const ccnPubkey = getPublicKey(encryptionKey); + let randomKey: Uint8Array | null = null; + + try { + const serializedData = serializeEventData(event); + + const encryptedEvent = encryptUint8Array(serializedData, encryptionKey); + + const randomTimeUpTo2DaysInThePast = + Math.floor(Date.now() / 1000) - Math.floor(Math.random() * 2 * 86400); + + randomKey = generateSecretKey(); + const randomKeyPub = getPublicKey(randomKey); + + const mainEvent = nip13.minePow( + { + kind: 1060, + content: bytesToHex(encryptedEvent), + created_at: randomTimeUpTo2DaysInThePast, + tags: [["p", ccnPubkey]], + pubkey: randomKeyPub, + }, + POW_TO_MINE, + ); + + return finalizeEvent(mainEvent, randomKey); + } finally { + if (randomKey) secureClear(randomKey); + } +} + +export async function decryptEvent( + event: NostrEvent, + encryptionKey: Uint8Array, +) { + let decryptedData: Uint8Array | null = null; + + try { + if (!verifyEvent(event)) throw new Error("Operation failed: invalid event"); + + if (nip13.getPow(event.id) < POW_TO_ACCEPT) + throw new Error("Operation failed: insufficient proof of work"); + + if (!isHex(event.content)) + throw new Error("Operation failed: invalid content encoding"); + + if (event.kind !== 1060) throw new Error("Operation failed: invalid kind"); + + decryptedData = decryptUint8Array(hexToBytes(event.content), encryptionKey); + + const innerEvent = deserializeEventData(decryptedData); + + console.log(innerEvent); + + if (!verifyEvent(innerEvent)) + throw new Error("Operation failed: invalid inner event"); + + return innerEvent; + } finally { + if (decryptedData) secureClear(decryptedData); + } +} diff --git a/src/utils/files.ts b/src/utils/files.ts new file mode 100644 index 0000000..4bae934 --- /dev/null +++ b/src/utils/files.ts @@ -0,0 +1,29 @@ +import { mkdirSync } from "node:fs"; +import { join } from "node:path"; +import type { NostrEvent } from "nostr-tools"; +import { CCN } from "../ccns"; + +export function getDataDir() { + if (Bun.env.NODE_ENV === "production") { + const baseDir = "/var/lib/eve-lite"; + mkdirSync(baseDir, { recursive: true }); + return baseDir; + } + let home = Bun.env.XDG_CONFIG_HOME; + if (!home) home = join(Bun.env.HOME!, ".config"); + const configDir = join(home, "arx", "eve-lite"); + mkdirSync(configDir, { recursive: true }); + return configDir; +} + +export async function loadSeenEvents() { + const ccn = await CCN.getActive(); + if (!ccn) throw "No CCN"; + return ccn.loadSeenEvents(); +} + +export async function saveSeenEvent(event: NostrEvent) { + const ccn = await CCN.getActive(); + if (!ccn) throw "No CCN"; + return ccn.saveSeenEvent(event); +} diff --git a/src/utils/general.ts b/src/utils/general.ts new file mode 100644 index 0000000..92c6fd0 --- /dev/null +++ b/src/utils/general.ts @@ -0,0 +1,98 @@ +import { type Filter, type NostrEvent, SimplePool } from "nostr-tools"; +import type { SubCloser } from "nostr-tools/abstract-pool"; + +export const isHex = (hex: string) => + /^[0-9a-fA-F]+$/.test(hex) && hex.length % 2 === 0; + +export const pool = new SimplePool(); + +export const relays = [ + "wss://relay.arx-ccn.com/", + "wss://nos.lol/", + "wss://nostr.einundzwanzig.space/", + "wss://nostr.massmux.com/", + "wss://nostr.mom/", + "wss://purplerelay.com/", + "wss://relay.damus.io/", + "wss://relay.goodmorningbitcoin.com/", + "wss://relay.lexingtonbitcoin.org/", + "wss://relay.nostr.band/", + "wss://relay.snort.social/", + "wss://strfry.iris.to/", + "wss://cache2.primal.net/v1", +]; + +export const queryRemoteRelays = ( + filer: Filter, + callback: (event: NostrEvent) => void, +): SubCloser => + pool.subscribe(relays, filer, { + onevent: callback, + }); + +export const queryRemoteRelaysSync = (filter: Filter): Promise => + pool.querySync(relays, filter); + +export const queryRemoteEvent = (id: string): Promise => + pool.get(relays, { + ids: [id], + limit: 1, + }); + +export async function sendEncryptedEventToRelays( + event: NostrEvent, +): Promise { + if (event.kind !== 1059 && event.kind !== 1060) + throw new Error("Event is not an eve encrypted event"); + + const pool = new SimplePool(); + + return Promise.any(pool.publish(relays, event)); +} + +export async function sendUnencryptedEventToLocalRelay( + event: NostrEvent, +): Promise { + const pool = new SimplePool(); + return Promise.any(pool.publish(["ws://localhost:6942"], event)); +} + +export function splitIntoParts(str: string, partsCount: number): string[] { + let remainder = str.length % partsCount; + const partSize = (str.length - remainder) / partsCount; + const parts: string[] = new Array(partsCount).fill(""); + let currentPart = 0; + for (let i = 0; i < str.length; ) { + let end = i + partSize; + if (remainder) { + end++; + remainder--; + } + parts[currentPart++] = str.slice(i, end); + i = end; + } + return parts; +} + +export function getSvgGroup(svg: string, transform: string): string { + const gOpen = svg.match(/]*)?>/); + if (!gOpen) throw new Error("Malformed SVG"); + + let depth = 1; + let i = gOpen.index! + gOpen[0].length; + while (depth && i < svg.length) { + const open = svg.indexOf("", i); + if (close === -1) throw new Error("Malformed SVG"); + if (open !== -1 && open < close) { + depth++; + i = open + 2; + } else { + depth--; + i = close + 4; + if (!depth) + return `${svg.slice(gOpen.index! + gOpen[0].length, close)}`; + } + } + throw new Error("Malformed SVG"); +} diff --git a/src/validation/index.ts b/src/validation/index.ts new file mode 100644 index 0000000..90415fb --- /dev/null +++ b/src/validation/index.ts @@ -0,0 +1,119 @@ +import { hexToBytes } from "@noble/ciphers/utils"; +import { getPublicKey } from "nostr-tools"; +import { isHex } from "../utils/general"; + +export function validatePrivateKey(privateKey: string) { + if (!privateKey) + return { + isValid: false, + error: "Private key is required", + }; + + if (!isHex(privateKey)) + return { + isValid: false, + error: "Private key must be a valid hexadecimal string", + }; + + if (privateKey.length !== 64) + return { + isValid: false, + error: "Private key must be exactly 32 bytes (64 hex characters)", + }; + + try { + const keyBytes = hexToBytes(privateKey); + getPublicKey(keyBytes); + return { isValid: true }; + } catch (error) { + return { + isValid: false, + error: "Invalid private key format", + details: error, + }; + } +} + +export function validateCommunityName(name: string) { + if (typeof name !== "string") + return { + isValid: false, + error: "Community name is required and must be a string", + }; + + if (!name || name.trim().length === 0) + return { + isValid: false, + error: "Community name cannot be empty", + }; + + if (name.length > 100) + return { + isValid: false, + error: "Community name must be 100 characters or less", + }; + + return { isValid: true }; +} + +export function validateCommunityDescription(description: string) { + if (typeof description !== "string") + return { + isValid: false, + error: "Community description must be a string", + }; + + if (description.length > 500) + return { + isValid: false, + error: "Community description must be 500 characters or less", + }; + + return { isValid: true }; +} + +export function validateRelayUrl(url: string) { + if (!url || typeof url !== "string") + return { + isValid: false, + error: "Relay URL is required and must be a string", + }; + + try { + const parsedUrl = new URL(url); + if (!["ws:", "wss:"].includes(parsedUrl.protocol)) + return { + isValid: false, + error: "Relay URL must use ws:// or wss:// protocol", + }; + return { isValid: true }; + } catch (error) { + return { + isValid: false, + error: "Invalid URL format", + details: error, + }; + } +} + +export function validatePowDifficulty(difficulty: number) { + if (typeof difficulty !== "number") + return { + isValid: false, + error: "PoW difficulty must be a number", + }; + + if (!Number.isInteger(difficulty)) + return { + isValid: false, + error: "PoW difficulty must be an integer", + }; + + if (difficulty < 0 || difficulty > 64) + return { + isValid: false, + error: "PoW difficulty must be between 0 and 64", + }; + + return { isValid: true }; +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..bfa0fea --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,29 @@ +{ + "compilerOptions": { + // Environment setup & latest features + "lib": ["ESNext"], + "target": "ESNext", + "module": "Preserve", + "moduleDetection": "force", + "jsx": "react-jsx", + "allowJs": true, + + // Bundler mode + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "verbatimModuleSyntax": true, + "noEmit": true, + + // Best practices + "strict": true, + "skipLibCheck": true, + "noFallthroughCasesInSwitch": true, + "noUncheckedIndexedAccess": true, + "noImplicitOverride": true, + + // Some stricter flags (disabled by default) + "noUnusedLocals": false, + "noUnusedParameters": false, + "noPropertyAccessFromIndexSignature": false + } +}

N9Ok~J0(@b* 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