...
This commit is contained in:
@@ -24,7 +24,7 @@ Thank you for your interest in contributing to Herolib! This document provides g
|
||||
For developers, you can use the automated installation script:
|
||||
|
||||
```bash
|
||||
curl 'https://raw.githubusercontent.com/freeflowuniverse/herolib/refs/heads/development/install_v.sh' > /tmp/install_v.sh
|
||||
curl 'https://raw.githubusercontent.com/incubaid/herolib/refs/heads/development/install_v.sh' > /tmp/install_v.sh
|
||||
bash /tmp/install_v.sh --analyzer --herolib
|
||||
# IMPORTANT: Start a new shell after installation for paths to be set correctly
|
||||
```
|
||||
@@ -34,7 +34,7 @@ Alternatively, you can manually set up the environment:
|
||||
```bash
|
||||
mkdir -p ~/code/github/freeflowuniverse
|
||||
cd ~/code/github/freeflowuniverse
|
||||
git clone git@github.com:freeflowuniverse/herolib.git
|
||||
git clone git@github.com:incubaid/herolib.git
|
||||
cd herolib
|
||||
# checkout development branch for most recent changes
|
||||
git checkout development
|
||||
@@ -87,10 +87,10 @@ Before submitting a pull request, ensure all tests pass:
|
||||
./test_basic.vsh
|
||||
|
||||
# Run tests for a specific module
|
||||
vtest ~/code/github/freeflowuniverse/herolib/lib/osal/package_test.v
|
||||
vtest ~/code/github/incubaid/herolib/lib/osal/package_test.v
|
||||
|
||||
# Run tests for an entire directory
|
||||
vtest ~/code/github/freeflowuniverse/herolib/lib/osal
|
||||
vtest ~/code/github/incubaid/herolib/lib/osal
|
||||
```
|
||||
|
||||
The test script (`test_basic.vsh`) manages test execution and caching to optimize performance. It automatically skips tests listed in the ignore or error sections of the script.
|
||||
@@ -148,7 +148,7 @@ This workflow automatically updates the documentation on GitHub Pages when chang
|
||||
To generate documentation locally:
|
||||
|
||||
```bash
|
||||
cd ~/code/github/freeflowuniverse/herolib
|
||||
cd ~/code/github/incubaid/herolib
|
||||
bash doc.sh
|
||||
```
|
||||
|
||||
@@ -179,5 +179,5 @@ For more details, see the [README.md](README.md) troubleshooting section.
|
||||
## Additional Resources
|
||||
|
||||
- [Herolib Documentation](https://freeflowuniverse.github.io/herolib/)
|
||||
- [Cookbook Examples](https://github.com/freeflowuniverse/herolib/tree/development/cookbook)
|
||||
- [Cookbook Examples](https://github.com/incubaid/herolib/tree/development/cookbook)
|
||||
- [AI Prompts](aiprompts/starter/0_start_here.md)
|
||||
|
||||
36
README.md
36
README.md
@@ -2,8 +2,8 @@
|
||||
|
||||
Herolib is an opinionated library primarily used by ThreeFold to automate cloud environments. It provides a comprehensive set of tools and utilities for cloud automation, git operations, documentation building, and more.
|
||||
|
||||
[](https://github.com/freeflowuniverse/herolib/actions/workflows/test.yml)
|
||||
[](https://github.com/freeflowuniverse/herolib/actions/workflows/documentation.yml)
|
||||
[](https://github.com/incubaid/herolib/actions/workflows/test.yml)
|
||||
[](https://github.com/incubaid/herolib/actions/workflows/documentation.yml)
|
||||
|
||||
> [Complete Documentation](https://freeflowuniverse.github.io/herolib/)
|
||||
|
||||
@@ -14,7 +14,7 @@ Herolib is an opinionated library primarily used by ThreeFold to automate cloud
|
||||
The Hero tool can be installed with a single command:
|
||||
|
||||
```bash
|
||||
curl https://raw.githubusercontent.com/freeflowuniverse/herolib/refs/heads/development/install_hero.sh | bash
|
||||
curl https://raw.githubusercontent.com/incubaid/herolib/refs/heads/development/install_hero.sh | bash
|
||||
```
|
||||
|
||||
Hero will be installed in:
|
||||
@@ -34,11 +34,11 @@ The Hero tool can be used to work with git, build documentation, interact with H
|
||||
For development purposes, use the automated installation script:
|
||||
|
||||
```bash
|
||||
curl 'https://raw.githubusercontent.com/freeflowuniverse/herolib/refs/heads/development/install_v.sh' > /tmp/install_v.sh
|
||||
curl 'https://raw.githubusercontent.com/incubaid/herolib/refs/heads/development/install_v.sh' > /tmp/install_v.sh
|
||||
bash /tmp/install_v.sh --analyzer --herolib
|
||||
|
||||
#do not forget to do the following this makes sure vtest and vrun exists
|
||||
cd ~/code/github/freeflowuniverse/herolib
|
||||
cd ~/code/github/incubaid/herolib
|
||||
v install_herolib.vsh
|
||||
|
||||
# IMPORTANT: Start a new shell after installation for paths to be set correctly
|
||||
@@ -50,7 +50,7 @@ v install_herolib.vsh
|
||||
```
|
||||
V & HeroLib Installer Script
|
||||
|
||||
Usage: ~/code/github/freeflowuniverse/herolib/install_v.sh [options]
|
||||
Usage: ~/code/github/incubaid/herolib/install_v.sh [options]
|
||||
|
||||
Options:
|
||||
-h, --help Show this help message
|
||||
@@ -60,12 +60,12 @@ Options:
|
||||
--herolib Install our herolib
|
||||
|
||||
Examples:
|
||||
~/code/github/freeflowuniverse/herolib/install_v.sh
|
||||
~/code/github/freeflowuniverse/herolib/install_v.sh --reset
|
||||
~/code/github/freeflowuniverse/herolib/install_v.sh --remove
|
||||
~/code/github/freeflowuniverse/herolib/install_v.sh --analyzer
|
||||
~/code/github/freeflowuniverse/herolib/install_v.sh --herolib
|
||||
~/code/github/freeflowuniverse/herolib/install_v.sh --reset --analyzer # Fresh install of both
|
||||
~/code/github/incubaid/herolib/install_v.sh
|
||||
~/code/github/incubaid/herolib/install_v.sh --reset
|
||||
~/code/github/incubaid/herolib/install_v.sh --remove
|
||||
~/code/github/incubaid/herolib/install_v.sh --analyzer
|
||||
~/code/github/incubaid/herolib/install_v.sh --herolib
|
||||
~/code/github/incubaid/herolib/install_v.sh --reset --analyzer # Fresh install of both
|
||||
```
|
||||
|
||||
## Features
|
||||
@@ -90,7 +90,7 @@ Herolib provides a wide range of functionality:
|
||||
- System management utilities
|
||||
- And much more
|
||||
|
||||
Check the [cookbook](https://github.com/freeflowuniverse/herolib/tree/development/cookbook) for examples and use cases.
|
||||
Check the [cookbook](https://github.com/incubaid/herolib/tree/development/cookbook) for examples and use cases.
|
||||
|
||||
## Testing
|
||||
|
||||
@@ -98,13 +98,13 @@ Running tests is an essential part of development. To run the basic tests:
|
||||
|
||||
```bash
|
||||
# Run all basic tests
|
||||
~/code/github/freeflowuniverse/herolib/test_basic.vsh
|
||||
~/code/github/incubaid/herolib/test_basic.vsh
|
||||
|
||||
# Run tests for a specific module
|
||||
vtest ~/code/github/freeflowuniverse/herolib/lib/osal/package_test.v
|
||||
vtest ~/code/github/incubaid/herolib/lib/osal/package_test.v
|
||||
|
||||
# Run tests for an entire directory
|
||||
vtest ~/code/github/freeflowuniverse/herolib/lib/osal
|
||||
vtest ~/code/github/incubaid/herolib/lib/osal
|
||||
```
|
||||
|
||||
The `vtest` command is an alias for testing functionality.
|
||||
@@ -160,7 +160,7 @@ This is caused by incompatibility between TCC and the half precision math functi
|
||||
## Additional Resources
|
||||
|
||||
- [Complete Documentation](https://freeflowuniverse.github.io/herolib/)
|
||||
- [Cookbook Examples](https://github.com/freeflowuniverse/herolib/tree/development/cookbook)
|
||||
- [Cookbook Examples](https://github.com/incubaid/herolib/tree/development/cookbook)
|
||||
- [AI Prompts](aiprompts/starter/0_start_here.md)
|
||||
|
||||
## Generating Documentation
|
||||
@@ -168,7 +168,7 @@ This is caused by incompatibility between TCC and the half precision math functi
|
||||
To generate documentation locally:
|
||||
|
||||
```bash
|
||||
cd ~/code/github/freeflowuniverse/herolib
|
||||
cd ~/code/github/incubaid/herolib
|
||||
bash doc.sh
|
||||
```
|
||||
|
||||
|
||||
@@ -19,6 +19,6 @@ travelcost is 3% of revenue
|
||||
|
||||
create me the full heroscript which gives me this biz model
|
||||
|
||||
create bizmodel.heroscript in ~/code/github/freeflowuniverse/herolib/examples/biztools/generated_ai
|
||||
create bizmodel.heroscript in ~/code/github/incubaid/herolib/examples/biztools/generated_ai
|
||||
|
||||
as well as a do.vsh file which executes the heroscript and does a pprint, in do.vsh , call play with heroscript_path arg
|
||||
|
||||
@@ -27,7 +27,7 @@ when I generate vlang scripts I will always use .vsh extension and use following
|
||||
As AI agent I should also execute .v or .vsh scripts with vrun
|
||||
|
||||
```bash
|
||||
vrun ~/code/github/freeflowuniverse/herolib/examples/biztools/bizmodel.vsh
|
||||
vrun ~/code/github/incubaid/herolib/examples/biztools/bizmodel.vsh
|
||||
```
|
||||
|
||||
## executing test scripts
|
||||
@@ -35,7 +35,7 @@ vrun ~/code/github/freeflowuniverse/herolib/examples/biztools/bizmodel.vsh
|
||||
instruct user to test as follows (vtest is an alias which gets installed when herolib gets installed), can be done for a dir and for a file
|
||||
|
||||
```bash
|
||||
vtest ~/code/github/freeflowuniverse/herolib/lib/osal/package_test.v
|
||||
vtest ~/code/github/incubaid/herolib/lib/osal/package_test.v
|
||||
```
|
||||
|
||||
- use ~ so it works over all machines
|
||||
|
||||
@@ -9,7 +9,7 @@ import freeflowuniverse.herolib...
|
||||
|
||||
```
|
||||
|
||||
the files are in ~/code/github/freeflowuniverse/herolib/examples for herolib
|
||||
the files are in ~/code/github/incubaid/herolib/examples for herolib
|
||||
|
||||
## important instructions
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ when I generate vlang scripts I will always use .vsh extension and use following
|
||||
As AI agent I should also execute v or .vsh scripts with vrun
|
||||
|
||||
```bash
|
||||
vrun ~/code/github/freeflowuniverse/herolib/examples/biztools/bizmodel.vsh
|
||||
vrun ~/code/github/incubaid/herolib/examples/biztools/bizmodel.vsh
|
||||
```
|
||||
|
||||
## executing test scripts
|
||||
@@ -31,7 +31,7 @@ vrun ~/code/github/freeflowuniverse/herolib/examples/biztools/bizmodel.vsh
|
||||
instruct user to test as follows (vtest is an alias which gets installed when herolib gets installed), can be done for a dir and for a file
|
||||
|
||||
```bash
|
||||
vtest ~/code/github/freeflowuniverse/herolib/lib/osal/package_test.v
|
||||
vtest ~/code/github/incubaid/herolib/lib/osal/package_test.v
|
||||
```
|
||||
|
||||
- use ~ so it works over all machines
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
params:
|
||||
|
||||
- filepath: /Users/despiegk/code/github/freeflowuniverse/herolib/lib/clients/openai
|
||||
- filepath: /Users/despiegk/code/github/incubaid/herolib/lib/clients/openai
|
||||
|
||||
make a dense overview of the code above, easy to understand for AI
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<file_map>
|
||||
/Users/despiegk/code/github/freeflowuniverse/herolib
|
||||
/Users/despiegk/code/github/incubaid/herolib
|
||||
└── aiprompts
|
||||
└── herolib_core
|
||||
├── core_curdir_example.md
|
||||
@@ -467,7 +467,7 @@
|
||||
</file_map>
|
||||
|
||||
<file_contents>
|
||||
File: /Users/despiegk/code/github/freeflowuniverse/herolib/aiprompts/herolib_core/core_curdir_example.md
|
||||
File: /Users/despiegk/code/github/incubaid/herolib/aiprompts/herolib_core/core_curdir_example.md
|
||||
```md
|
||||
# Getting the Current Script's Path in Herolib/V Shell
|
||||
|
||||
@@ -483,7 +483,7 @@ echo "Current scripts directory: ${script_directory}"
|
||||
|
||||
```
|
||||
|
||||
File: /Users/despiegk/code/github/freeflowuniverse/herolib/aiprompts/herolib_core/core_globals.md
|
||||
File: /Users/despiegk/code/github/incubaid/herolib/aiprompts/herolib_core/core_globals.md
|
||||
```md
|
||||
## how to remember clients, installers as a global
|
||||
|
||||
@@ -531,7 +531,7 @@ pub fn default() !&SiteConfig {
|
||||
```
|
||||
```
|
||||
|
||||
File: /Users/despiegk/code/github/freeflowuniverse/herolib/aiprompts/herolib_core/core_heroscript_basics.md
|
||||
File: /Users/despiegk/code/github/incubaid/herolib/aiprompts/herolib_core/core_heroscript_basics.md
|
||||
```md
|
||||
# HeroScript: Vlang Integration
|
||||
|
||||
@@ -590,7 +590,7 @@ For detailed information on parameter retrieval methods (e.g., `p.get()`, `p.get
|
||||
|
||||
```
|
||||
|
||||
File: /Users/despiegk/code/github/freeflowuniverse/herolib/aiprompts/herolib_core/core_heroscript_playbook.md
|
||||
File: /Users/despiegk/code/github/incubaid/herolib/aiprompts/herolib_core/core_heroscript_playbook.md
|
||||
```md
|
||||
# PlayBook
|
||||
|
||||
@@ -620,7 +620,7 @@ playcmds.run(mut plbook)!
|
||||
|
||||
```
|
||||
|
||||
File: /Users/despiegk/code/github/freeflowuniverse/herolib/aiprompts/herolib_core/core_http_client.md
|
||||
File: /Users/despiegk/code/github/incubaid/herolib/aiprompts/herolib_core/core_http_client.md
|
||||
```md
|
||||
# HTTPConnection Module
|
||||
|
||||
@@ -732,7 +732,7 @@ user := conn.get_json_generic[User](
|
||||
|
||||
```
|
||||
|
||||
File: /Users/despiegk/code/github/freeflowuniverse/herolib/aiprompts/herolib_core/core_osal.md
|
||||
File: /Users/despiegk/code/github/incubaid/herolib/aiprompts/herolib_core/core_osal.md
|
||||
```md
|
||||
# OSAL Core Module - Key Capabilities (freeflowuniverse.herolib.osal.core)
|
||||
|
||||
@@ -798,7 +798,7 @@ this document has info about the most core functions, more detailed info can be
|
||||
|
||||
```
|
||||
|
||||
File: /Users/despiegk/code/github/freeflowuniverse/herolib/aiprompts/herolib_core/core_ourtime.md
|
||||
File: /Users/despiegk/code/github/incubaid/herolib/aiprompts/herolib_core/core_ourtime.md
|
||||
```md
|
||||
# OurTime Module
|
||||
|
||||
@@ -895,7 +895,7 @@ t_invalid := ourtime.new('bad-date') or {
|
||||
|
||||
```
|
||||
|
||||
File: /Users/despiegk/code/github/freeflowuniverse/herolib/aiprompts/herolib_core/core_params.md
|
||||
File: /Users/despiegk/code/github/incubaid/herolib/aiprompts/herolib_core/core_params.md
|
||||
```md
|
||||
# Parameter Parsing in Vlang
|
||||
|
||||
@@ -1009,7 +1009,7 @@ Lists are typically comma-separated strings (e.g., `users: "john,jane,bob"`).
|
||||
|
||||
```
|
||||
|
||||
File: /Users/despiegk/code/github/freeflowuniverse/herolib/aiprompts/herolib_core/core_paths.md
|
||||
File: /Users/despiegk/code/github/incubaid/herolib/aiprompts/herolib_core/core_paths.md
|
||||
```md
|
||||
# Pathlib Usage Guide
|
||||
|
||||
@@ -1164,7 +1164,7 @@ if file_path.exists() {
|
||||
|
||||
```
|
||||
|
||||
File: /Users/despiegk/code/github/freeflowuniverse/herolib/aiprompts/herolib_core/core_text.md
|
||||
File: /Users/despiegk/code/github/incubaid/herolib/aiprompts/herolib_core/core_text.md
|
||||
```md
|
||||
# TextTools Module
|
||||
|
||||
@@ -1268,7 +1268,7 @@ assert hello_world == texttools.name_fix("Hello World!")
|
||||
|
||||
```
|
||||
|
||||
File: /Users/despiegk/code/github/freeflowuniverse/herolib/aiprompts/herolib_core/core_ui_console.md
|
||||
File: /Users/despiegk/code/github/incubaid/herolib/aiprompts/herolib_core/core_ui_console.md
|
||||
```md
|
||||
# module ui.console
|
||||
|
||||
@@ -1473,7 +1473,7 @@ enum Style {
|
||||
|
||||
```
|
||||
|
||||
File: /Users/despiegk/code/github/freeflowuniverse/herolib/aiprompts/herolib_core/core_vshell.md
|
||||
File: /Users/despiegk/code/github/incubaid/herolib/aiprompts/herolib_core/core_vshell.md
|
||||
```md
|
||||
# how to run the vshell example scripts
|
||||
|
||||
@@ -1486,7 +1486,7 @@ import freeflowuniverse.herolib...
|
||||
|
||||
```
|
||||
|
||||
the files are in ~/code/github/freeflowuniverse/herolib/examples for herolib
|
||||
the files are in ~/code/github/incubaid/herolib/examples for herolib
|
||||
|
||||
## important instructions
|
||||
|
||||
@@ -2456,7 +2456,7 @@ $NAME = finance
|
||||
walk over all models from biz: db/heromodels/src/models/$NAME in the rust repo
|
||||
create nice structured public models in Vlang (V) see instructions in herlolib
|
||||
|
||||
put the results in /Users/despiegk/code/github/freeflowuniverse/herolib/lib/hero/models/$NAME
|
||||
put the results in /Users/despiegk/code/github/incubaid/herolib/lib/hero/models/$NAME
|
||||
|
||||
put decorator on fields which need to be indexed: use @[index] for that at end of line of the property of the struct
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ $NAME = calendar
|
||||
walk over all models from biz: db/heromodels/src/models/$NAME in the rust repo
|
||||
create nice structured public models in Vlang (V) see instructions in herlolib
|
||||
|
||||
put the results in /Users/despiegk/code/github/freeflowuniverse/herolib/lib/hero/models/$NAME
|
||||
put the results in /Users/despiegk/code/github/incubaid/herolib/lib/hero/models/$NAME
|
||||
|
||||
put decorator on fields which need to be indexed: use @[index] for that at end of line of the property of the struct
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ if additional_args.len > 0 {
|
||||
}
|
||||
|
||||
// Change to the hero directory
|
||||
hero_dir := os.join_path(os.home_dir(), 'code/github/freeflowuniverse/herolib/cli')
|
||||
hero_dir := os.join_path(os.home_dir(), 'code/github/incubaid/herolib/cli')
|
||||
os.chdir(hero_dir) or { panic('Failed to change directory to ${hero_dir}: ${err}') }
|
||||
|
||||
// Set HEROPATH based on OS
|
||||
|
||||
@@ -93,9 +93,9 @@ fn hero_upload() ! {
|
||||
}
|
||||
|
||||
fn main() {
|
||||
// os.execute_or_panic('${os.home_dir()}/code/github/freeflowuniverse/herolib/cli/compile.vsh -p')
|
||||
// os.execute_or_panic('${os.home_dir()}/code/github/incubaid/herolib/cli/compile.vsh -p')
|
||||
println('compile hero can take 60 sec+ on osx.')
|
||||
os.execute_or_panic('${os.home_dir()}/code/github/freeflowuniverse/herolib/cli/compile.vsh -p')
|
||||
os.execute_or_panic('${os.home_dir()}/code/github/incubaid/herolib/cli/compile.vsh -p')
|
||||
println('upload:')
|
||||
hero_upload() or {
|
||||
eprintln(err)
|
||||
|
||||
@@ -31,7 +31,7 @@ if additional_args.len > 0 {
|
||||
}
|
||||
|
||||
// Change to the vdo directory
|
||||
hero_dir := os.join_path(os.home_dir(), 'code/github/freeflowuniverse/herolib/cli')
|
||||
hero_dir := os.join_path(os.home_dir(), 'code/github/incubaid/herolib/cli')
|
||||
os.chdir(hero_dir) or { panic('Failed to change directory to ${hero_dir}: ${err}') }
|
||||
|
||||
// Set HEROPATH based on OS
|
||||
|
||||
@@ -48,7 +48,7 @@ abs_dir_of_script := dir(@FILE)
|
||||
|
||||
// Reset symlinks if requested
|
||||
println('Resetting all symlinks...')
|
||||
os.rm('${os.home_dir()}/.vmodules/freeflowuniverse/herolib') or {}
|
||||
os.rm('${os.home_dir()}/.vmodules/incubaid/herolib') or {}
|
||||
|
||||
// Create necessary directories
|
||||
os.mkdir_all('${os.home_dir()}/.vmodules/freeflowuniverse') or {
|
||||
@@ -56,7 +56,7 @@ os.mkdir_all('${os.home_dir()}/.vmodules/freeflowuniverse') or {
|
||||
}
|
||||
|
||||
// Create new symlinks
|
||||
os.symlink('${abs_dir_of_script}/lib', '${os.home_dir()}/.vmodules/freeflowuniverse/herolib') or {
|
||||
os.symlink('${abs_dir_of_script}/lib', '${os.home_dir()}/.vmodules/incubaid/herolib') or {
|
||||
panic('Failed to create herolib symlink: ${err}')
|
||||
}
|
||||
|
||||
|
||||
@@ -207,7 +207,7 @@ function os_update {
|
||||
|
||||
|
||||
function hero_lib_pull {
|
||||
pushd $DIR_CODE/github/freeflowuniverse/herolib 2>&1 >> /dev/null
|
||||
pushd $DIR_CODE/github/incubaid/herolib 2>&1 >> /dev/null
|
||||
if [[ $(git status -s) ]]; then
|
||||
echo "There are uncommitted changes in the Git repository herolib."
|
||||
return 1
|
||||
@@ -219,12 +219,12 @@ function hero_lib_pull {
|
||||
function hero_lib_get {
|
||||
|
||||
mkdir -p $DIR_CODE/github/freeflowuniverse
|
||||
if [[ -d "$DIR_CODE/github/freeflowuniverse/herolib" ]]
|
||||
if [[ -d "$DIR_CODE/github/incubaid/herolib" ]]
|
||||
then
|
||||
hero_lib_pull
|
||||
else
|
||||
pushd $DIR_CODE/github/freeflowuniverse 2>&1 >> /dev/null
|
||||
git clone --depth 1 --no-single-branch https://github.com/freeflowuniverse/herolib.git
|
||||
git clone --depth 1 --no-single-branch https://github.com/incubaid/herolib.git
|
||||
popd 2>&1 >> /dev/null
|
||||
fi
|
||||
}
|
||||
@@ -461,7 +461,7 @@ check_and_start_redis
|
||||
|
||||
if [ "$HEROLIB" = true ]; then
|
||||
hero_lib_get
|
||||
~/code/github/freeflowuniverse/herolib/install_herolib.vsh
|
||||
~/code/github/incubaid/herolib/install_herolib.vsh
|
||||
fi
|
||||
|
||||
|
||||
|
||||
@@ -5,6 +5,6 @@ this will make sure we load the appropriate biz model
|
||||
|
||||
|
||||
```js
|
||||
!!bizmodel.load name:'default' url:'https://github.com/freeflowuniverse/herolib/tree/development/bizmodel/example/data'
|
||||
!!bizmodel.load name:'default' url:'https://github.com/incubaid/herolib/tree/development/bizmodel/example/data'
|
||||
```
|
||||
|
||||
|
||||
@@ -4,18 +4,18 @@ import freeflowuniverse.herolib.core.generator.generic as generator
|
||||
import freeflowuniverse.herolib.core.pathlib
|
||||
|
||||
// mut args := generator.GeneratorArgs{
|
||||
// path: '~/code/github/freeflowuniverse/herolib/lib/clients'
|
||||
// path: '~/code/github/incubaid/herolib/lib/clients'
|
||||
// force: true
|
||||
// }
|
||||
|
||||
mut args2 := generator.GeneratorArgs{
|
||||
path: '~/code/github/freeflowuniverse/herolib/lib/develop/heroprompt'
|
||||
path: '~/code/github/incubaid/herolib/lib/develop/heroprompt'
|
||||
force: true
|
||||
}
|
||||
generator.scan(args2)!
|
||||
|
||||
// mut args := generator.GeneratorArgs{
|
||||
// path: '~/code/github/freeflowuniverse/herolib/lib/installers'
|
||||
// path: '~/code/github/incubaid/herolib/lib/installers'
|
||||
// force: true
|
||||
// }
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ heroscript := "
|
||||
recursive:false
|
||||
|
||||
!!git.clone
|
||||
url:'https://github.com/freeflowuniverse/herolib.git'
|
||||
url:'https://github.com/incubaid/herolib.git'
|
||||
light:true
|
||||
recursive:false
|
||||
|
||||
|
||||
@@ -4,13 +4,13 @@ import freeflowuniverse.herolib.develop.heroprompt
|
||||
import os
|
||||
|
||||
// mut workspace := heroprompt.new(
|
||||
// path: '${os.home_dir()}/code/github/freeflowuniverse/herolib'
|
||||
// path: '${os.home_dir()}/code/github/incubaid/herolib'
|
||||
// name: 'workspace'
|
||||
// )!
|
||||
|
||||
mut workspace := heroprompt.get(
|
||||
name: 'example_ws'
|
||||
path: '${os.home_dir()}/code/github/freeflowuniverse/herolib'
|
||||
path: '${os.home_dir()}/code/github/incubaid/herolib'
|
||||
create: true
|
||||
)!
|
||||
|
||||
@@ -18,9 +18,9 @@ println('workspace (initial): ${workspace}')
|
||||
println('selected (initial): ${workspace.selected_children()}')
|
||||
|
||||
// Add a directory and a file
|
||||
workspace.add_dir(path: '${os.home_dir()}/code/github/freeflowuniverse/herolib/docker')!
|
||||
workspace.add_dir(path: '${os.home_dir()}/code/github/incubaid/herolib/docker')!
|
||||
workspace.add_file(
|
||||
path: '${os.home_dir()}/code/github/freeflowuniverse/herolib/docker/docker_ubuntu_install.sh'
|
||||
path: '${os.home_dir()}/code/github/incubaid/herolib/docker/docker_ubuntu_install.sh'
|
||||
)!
|
||||
println('selected (after add): ${workspace.selected_children()}')
|
||||
|
||||
|
||||
@@ -1 +1 @@
|
||||
hero run -u https://github.com/freeflowuniverse/herolib/tree/development_juggler/examples/develop/juggler/hero/playbook
|
||||
hero run -u https://github.com/incubaid/herolib/tree/development_juggler/examples/develop/juggler/hero/playbook
|
||||
@@ -19,7 +19,7 @@ fn do1() ! {
|
||||
osal.rsync(source: myexamplepath, dest: tstdir, delete: true)!
|
||||
cmd := osal.rsync_cmd(source: myexamplepath, dest: tstdir)!
|
||||
println(cmd)
|
||||
//"rsync -avz --no-perms --exclude='*.pyc' --exclude='*.bak' --exclude='*dSYM' /Users/despiegk1/code/github/freeflowuniverse/herolib/examples /tmp/testsync"
|
||||
//"rsync -avz --no-perms --exclude='*.pyc' --exclude='*.bak' --exclude='*dSYM' /Users/despiegk1/code/github/incubaid/herolib/examples /tmp/testsync"
|
||||
}
|
||||
|
||||
fn do2() ! {
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
# SSH and rsync configuration
|
||||
SSH_HOST="verse.tf"
|
||||
SSH_USER="root"
|
||||
SOURCE_DIR="${HOME}/code/github/freeflowuniverse/herolib/"
|
||||
DEST_DIR="/root/code/github/freeflowuniverse/herolib/"
|
||||
FINAL_DIR="/root/code/github/freeflowuniverse/herolib/examples/hero"
|
||||
SOURCE_DIR="${HOME}/code/github/incubaid/herolib/"
|
||||
DEST_DIR="/root/code/github/incubaid/herolib/"
|
||||
FINAL_DIR="/root/code/github/incubaid/herolib/examples/hero"
|
||||
|
||||
# Check if the source directory exists, if not stop
|
||||
if [ ! -d "$SOURCE_DIR" ]; then
|
||||
|
||||
@@ -7,7 +7,7 @@ import os
|
||||
import markdown
|
||||
import freeflowuniverse.herolib.data.markdownparser2
|
||||
|
||||
path1 := '${os.home_dir()}/code/github/freeflowuniverse/herolib/examples/web/mdbook_markdown/content/cybercity.md'
|
||||
path1 := '${os.home_dir()}/code/github/incubaid/herolib/examples/web/mdbook_markdown/content/cybercity.md'
|
||||
|
||||
text := os.read_file(path1)!
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ version='1.0.33'
|
||||
|
||||
|
||||
# Base URL for GitHub releases
|
||||
base_url="https://github.com/freeflowuniverse/herolib/releases/download/v${version}"
|
||||
base_url="https://github.com/incubaid/herolib/releases/download/v${version}"
|
||||
|
||||
# Select the URL based on the platform
|
||||
if [[ "$os_name" == "Linux" && "$arch_name" == "x86_64" ]]; then
|
||||
|
||||
@@ -48,7 +48,7 @@ abs_dir_of_script := dir(@FILE)
|
||||
|
||||
// Reset symlinks if requested
|
||||
println('Resetting all symlinks...')
|
||||
os.rm('${os.home_dir()}/.vmodules/freeflowuniverse/herolib') or {}
|
||||
os.rm('${os.home_dir()}/.vmodules/incubaid/herolib') or {}
|
||||
|
||||
// Create necessary directories
|
||||
os.mkdir_all('${os.home_dir()}/.vmodules/freeflowuniverse') or {
|
||||
@@ -56,7 +56,7 @@ os.mkdir_all('${os.home_dir()}/.vmodules/freeflowuniverse') or {
|
||||
}
|
||||
|
||||
// Create new symlinks
|
||||
os.symlink('${abs_dir_of_script}/lib', '${os.home_dir()}/.vmodules/freeflowuniverse/herolib') or {
|
||||
os.symlink('${abs_dir_of_script}/lib', '${os.home_dir()}/.vmodules/incubaid/herolib') or {
|
||||
panic('Failed to create herolib symlink: ${err}')
|
||||
}
|
||||
|
||||
|
||||
@@ -297,7 +297,7 @@ function os_update {
|
||||
|
||||
|
||||
function hero_lib_pull {
|
||||
pushd $DIR_CODE/github/freeflowuniverse/herolib 2>&1 >> /dev/null
|
||||
pushd $DIR_CODE/github/incubaid/herolib 2>&1 >> /dev/null
|
||||
if [[ $(git status -s) ]]; then
|
||||
echo "There are uncommitted changes in the Git repository herolib."
|
||||
return 1
|
||||
@@ -309,12 +309,12 @@ function hero_lib_pull {
|
||||
function hero_lib_get {
|
||||
|
||||
mkdir -p $DIR_CODE/github/freeflowuniverse
|
||||
if [[ -d "$DIR_CODE/github/freeflowuniverse/herolib" ]]
|
||||
if [[ -d "$DIR_CODE/github/incubaid/herolib" ]]
|
||||
then
|
||||
hero_lib_pull
|
||||
else
|
||||
pushd $DIR_CODE/github/freeflowuniverse 2>&1 >> /dev/null
|
||||
git clone --depth 1 --no-single-branch https://github.com/freeflowuniverse/herolib.git
|
||||
git clone --depth 1 --no-single-branch https://github.com/incubaid/herolib.git
|
||||
popd 2>&1 >> /dev/null
|
||||
fi
|
||||
}
|
||||
@@ -632,7 +632,7 @@ check_and_start_redis
|
||||
|
||||
if [ "$HEROLIB" = true ]; then
|
||||
hero_lib_get
|
||||
~/code/github/freeflowuniverse/herolib/install_herolib.vsh
|
||||
~/code/github/incubaid/herolib/install_herolib.vsh
|
||||
fi
|
||||
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ The server supports the following operations:
|
||||
### Building the Server
|
||||
|
||||
```bash
|
||||
v -gc none -stats -enable-globals -n -w -cg -g -cc tcc /Users/despiegk/code/github/freeflowuniverse/herolib/lib/mcp/v_do
|
||||
v -gc none -stats -enable-globals -n -w -cg -g -cc tcc /Users/despiegk/code/github/incubaid/herolib/lib/mcp/v_do
|
||||
```
|
||||
|
||||
### Using the Server
|
||||
|
||||
@@ -16,7 +16,7 @@ The server supports the following operations:
|
||||
### Building the Server
|
||||
|
||||
```bash
|
||||
v -gc none -stats -enable-globals -n -w -cg -g -cc tcc /Users/despiegk/code/github/freeflowuniverse/herolib/lib/mcp/v_do
|
||||
v -gc none -stats -enable-globals -n -w -cg -g -cc tcc /Users/despiegk/code/github/incubaid/herolib/lib/mcp/v_do
|
||||
```
|
||||
|
||||
### Using the Server
|
||||
|
||||
@@ -37,7 +37,7 @@ import json
|
||||
// }
|
||||
|
||||
// // Execute the MCP server with the request
|
||||
// cmd := 'cat /tmp/mcp_request.txt | v run /Users/despiegk/code/github/freeflowuniverse/herolib/lib/mcp/v_do/main.v'
|
||||
// cmd := 'cat /tmp/mcp_request.txt | v run /Users/despiegk/code/github/incubaid/herolib/lib/mcp/v_do/main.v'
|
||||
// result := os.execute(cmd)
|
||||
|
||||
// if result.exit_code != 0 {
|
||||
|
||||
@@ -7,7 +7,7 @@ import log
|
||||
|
||||
fn get_module_dir(mod string) string {
|
||||
module_parts := mod.trim_string_left('freeflowuniverse.herolib').split('.')
|
||||
return '${os.home_dir()}/code/github/freeflowuniverse/herolib/lib/${module_parts.join('/')}'
|
||||
return '${os.home_dir()}/code/github/incubaid/herolib/lib/${module_parts.join('/')}'
|
||||
}
|
||||
|
||||
// given a module path and a type name, returns the type definition of that type within that module
|
||||
|
||||
@@ -57,10 +57,10 @@ pub fn (mut node Node) hero_install(args HeroInstallArgs) ! {
|
||||
|
||||
mut todo := []string{}
|
||||
if !args.compile {
|
||||
todo << 'curl https://raw.githubusercontent.com/freeflowuniverse/herolib/refs/heads/development/install_hero.sh > /tmp/install.sh'
|
||||
todo << 'curl https://raw.githubusercontent.com/incubaid/herolib/refs/heads/development/install_hero.sh > /tmp/install.sh'
|
||||
todo << 'bash /tmp/install.sh'
|
||||
} else {
|
||||
todo << "curl 'https://raw.githubusercontent.com/freeflowuniverse/herolib/refs/heads/development/install_v.sh' > /tmp/install_v.sh"
|
||||
todo << "curl 'https://raw.githubusercontent.com/incubaid/herolib/refs/heads/development/install_v.sh' > /tmp/install_v.sh"
|
||||
if args.v_analyzer {
|
||||
todo << 'bash /tmp/install_v.sh --analyzer --herolib '
|
||||
} else {
|
||||
@@ -92,10 +92,10 @@ pub fn (mut node Node) hero_update(args_ HeroUpdateArgs) ! {
|
||||
|
||||
if args.sync_from_local {
|
||||
if args.sync_full {
|
||||
node.sync_code('hero', heropath_ + '/..', '~/code/github/freeflowuniverse/herolib',
|
||||
node.sync_code('hero', heropath_ + '/..', '~/code/github/incubaid/herolib',
|
||||
args.sync_fast)!
|
||||
} else {
|
||||
node.sync_code('hero_lib', heropath_, '~/code/github/freeflowuniverse/herolib/herolib',
|
||||
node.sync_code('hero_lib', heropath_, '~/code/github/incubaid/herolib/herolib',
|
||||
args.sync_fast)!
|
||||
}
|
||||
return
|
||||
@@ -108,7 +108,7 @@ pub fn (mut node Node) hero_update(args_ HeroUpdateArgs) ! {
|
||||
args.git_pull = false
|
||||
node.exec_cmd(
|
||||
cmd: '
|
||||
cd ~/code/github/freeflowuniverse/herolib
|
||||
cd ~/code/github/incubaid/herolib
|
||||
rm -f .git/index
|
||||
git fetch --all
|
||||
git reset HEAD --hard
|
||||
@@ -121,7 +121,7 @@ pub fn (mut node Node) hero_update(args_ HeroUpdateArgs) ! {
|
||||
if args.git_pull {
|
||||
node.exec_cmd(
|
||||
cmd: '
|
||||
cd ~/code/github/freeflowuniverse/herolib
|
||||
cd ~/code/github/incubaid/herolib
|
||||
git pull
|
||||
${branchstr}
|
||||
'
|
||||
@@ -147,25 +147,25 @@ pub fn (mut node Node) sync_code(name string, src_ string, dest string, fast_rsy
|
||||
|
||||
// sync local hero code to rmote and then compile hero
|
||||
pub fn (mut node Node) hero_compile_sync() ! {
|
||||
if !node.file_exists('~/code/github/freeflowuniverse/herolib/cli/readme.md') {
|
||||
if !node.file_exists('~/code/github/incubaid/herolib/cli/readme.md') {
|
||||
node.hero_install()!
|
||||
}
|
||||
node.hero_update()!
|
||||
node.exec_cmd(
|
||||
cmd: '
|
||||
~/code/github/freeflowuniverse/herolib/install.sh
|
||||
~/code/github/freeflowuniverse/herolib/cli/hero/compile_debug.sh
|
||||
~/code/github/incubaid/herolib/install.sh
|
||||
~/code/github/incubaid/herolib/cli/hero/compile_debug.sh
|
||||
'
|
||||
)!
|
||||
}
|
||||
|
||||
pub fn (mut node Node) hero_compile() ! {
|
||||
if !node.file_exists('~/code/github/freeflowuniverse/herolib/cli/readme.md') {
|
||||
if !node.file_exists('~/code/github/incubaid/herolib/cli/readme.md') {
|
||||
node.hero_install()!
|
||||
}
|
||||
node.exec_cmd(
|
||||
cmd: '
|
||||
~/code/github/freeflowuniverse/herolib/cli/hero/compile_debug.sh
|
||||
~/code/github/incubaid/herolib/cli/hero/compile_debug.sh
|
||||
'
|
||||
)!
|
||||
}
|
||||
|
||||
@@ -163,7 +163,7 @@ search_result := client.search(
|
||||
Qdrant server can be installed using the provided installer script:
|
||||
|
||||
```bash
|
||||
~/code/github/freeflowuniverse/herolib/examples/installers/db/qdrant.vsh
|
||||
~/code/github/incubaid/herolib/examples/installers/db/qdrant.vsh
|
||||
```
|
||||
|
||||
This will install and start a Qdrant server locally.
|
||||
|
||||
@@ -62,7 +62,7 @@ The configuration will be automatically loaded and applied when creating a new R
|
||||
To run the tests:
|
||||
|
||||
```bash
|
||||
vtest ~/code/github/freeflowuniverse/herolib/lib/osal/rclone/rclone_test.v
|
||||
vtest ~/code/github/incubaid/herolib/lib/osal/rclone/rclone_test.v
|
||||
```
|
||||
|
||||
Note: Some tests are commented out as they require an actual rclone configuration and remote to work with. They serve as examples of how to use the RCloneClient module.
|
||||
|
||||
@@ -31,7 +31,7 @@ pub fn list_v_files(dir string) ![]string {
|
||||
// string - absolute path to the module directory
|
||||
pub fn get_module_dir(mod string) string {
|
||||
module_parts := mod.trim_string_left('freeflowuniverse.herolib').split('.')
|
||||
return '${os.home_dir()}/code/github/freeflowuniverse/herolib/lib/${module_parts.join('/')}'
|
||||
return '${os.home_dir()}/code/github/incubaid/herolib/lib/${module_parts.join('/')}'
|
||||
}
|
||||
|
||||
// ===== CODE PARSING UTILITIES =====
|
||||
|
||||
@@ -73,7 +73,7 @@ to call in code
|
||||
|
||||
import freeflowuniverse.herolib.core.generator.generic
|
||||
|
||||
generic.scan(path:"~/code/github/freeflowuniverse/herolib/herolib/installers",force:true)!
|
||||
generic.scan(path:"~/code/github/incubaid/herolib/herolib/installers",force:true)!
|
||||
|
||||
|
||||
```
|
||||
@@ -81,6 +81,6 @@ generic.scan(path:"~/code/github/freeflowuniverse/herolib/herolib/installers",fo
|
||||
to run from bash
|
||||
|
||||
```bash
|
||||
~/code/github/freeflowuniverse/herolib/scripts/fix_installers.vsh
|
||||
~/code/github/incubaid/herolib/scripts/fix_installers.vsh
|
||||
```
|
||||
|
||||
|
||||
@@ -102,17 +102,17 @@ fn cmd_bootstrap_execute(cmd Command) ! {
|
||||
}
|
||||
if compileupload {
|
||||
// mycmd:='
|
||||
// \${HOME}/code/github/freeflowuniverse/herolib/scripts/package.vsh
|
||||
// \${HOME}/code/github/incubaid/herolib/scripts/package.vsh
|
||||
// '
|
||||
// osal.exec(cmd: mycmd)!
|
||||
println('please execute:\n~/code/github/freeflowuniverse/herolib/scripts/githubactions.sh')
|
||||
println('please execute:\n~/code/github/incubaid/herolib/scripts/githubactions.sh')
|
||||
}
|
||||
|
||||
if update {
|
||||
// mycmd:='
|
||||
// \${HOME}/code/github/freeflowuniverse/herolib/scripts/package.vsh
|
||||
// \${HOME}/code/github/incubaid/herolib/scripts/package.vsh
|
||||
// '
|
||||
// osal.exec(cmd: mycmd)!
|
||||
println('please execute:\n~/code/github/freeflowuniverse/herolib/scripts/install_hero.sh')
|
||||
println('please execute:\n~/code/github/incubaid/herolib/scripts/install_hero.sh')
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@ pub mut:
|
||||
// ignore_default bool = true // ignore files starting with . and _
|
||||
// dirs_only bool
|
||||
//
|
||||
// example see https://github.com/freeflowuniverse/herolib/blob/development/examples/core/pathlib/examples/list/path_list.v
|
||||
// example see https://github.com/incubaid/herolib/blob/development/examples/core/pathlib/examples/list/path_list.v
|
||||
//
|
||||
// e.g. p.list(regex:[r'.*\.v$'])! //notice the r in front of string, this is regex for all files ending with .v
|
||||
//
|
||||
|
||||
@@ -7,7 +7,7 @@ type Filter0 = fn (mut Path, mut paramsparser.Params) !bool
|
||||
type Executor0 = fn (mut Path, mut paramsparser.Params) !paramsparser.Params
|
||||
|
||||
// the filters are function which needs to return true if to process with alle executors .
|
||||
// see https://github.com/freeflowuniverse/herolib/blob/development/examples/core/pathlib/examples/scanner/path_scanner.v .
|
||||
// see https://github.com/incubaid/herolib/blob/development/examples/core/pathlib/examples/scanner/path_scanner.v .
|
||||
// if any of the filters returns false then we don't continue .
|
||||
// if we return True then it means the dir or file is processed .
|
||||
// .
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
TMP_DIR=/tmp/crpgp
|
||||
TMP_LIB_PATH=$TMP_DIR/libcrpgp.so
|
||||
TMP_HEADER_PATH=$TMP_DIR/crpgp.h
|
||||
CRPGP_DIR=$HOME/.vmodules/freeflowuniverse/herolib.crypt.crpgp
|
||||
CRPGP_DIR=$HOME/.vmodules/incubaid/herolib.crypt.crpgp
|
||||
V_CRPGP_PATH=$CRPGP_DIR/crpgp.v
|
||||
|
||||
# mkdir TMP_DIR
|
||||
|
||||
@@ -1 +1 @@
|
||||
name:col1 src:'/Users/timurgordon/code/github/freeflowuniverse/herolib/lib/data/doctree/collection/testdata/export_test/mytree/dir1'
|
||||
name:col1 src:'/Users/timurgordon/code/github/incubaid/herolib/lib/data/doctree/collection/testdata/export_test/mytree/dir1'
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
## page_not_found
|
||||
|
||||
path: /Users/timurgordon/code/github/freeflowuniverse/herolib/herolib/data/doctree/collection/testdata/export_test/mytree/dir1/dir2/file1.md
|
||||
path: /Users/timurgordon/code/github/incubaid/herolib/herolib/data/doctree/collection/testdata/export_test/mytree/dir1/dir2/file1.md
|
||||
|
||||
msg: page col3:file5.md not found
|
||||
|
||||
|
||||
@@ -1 +1 @@
|
||||
name:col1 src:'/Users/timurgordon/code/github/freeflowuniverse/herolib/herolib/data/doctree/testdata/export_test/mytree/dir1'
|
||||
name:col1 src:'/Users/timurgordon/code/github/incubaid/herolib/herolib/data/doctree/testdata/export_test/mytree/dir1'
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
## page_not_found
|
||||
|
||||
path: /Users/timurgordon/code/github/freeflowuniverse/herolib/herolib/data/doctree/testdata/export_test/mytree/dir1/dir2/file1.md
|
||||
path: /Users/timurgordon/code/github/incubaid/herolib/herolib/data/doctree/testdata/export_test/mytree/dir1/dir2/file1.md
|
||||
|
||||
msg: page col3:file5.md not found
|
||||
|
||||
|
||||
@@ -1 +1 @@
|
||||
name:col2 src:'/Users/timurgordon/code/github/freeflowuniverse/herolib/herolib/data/doctree/testdata/export_test/mytree/dir3'
|
||||
name:col2 src:'/Users/timurgordon/code/github/incubaid/herolib/herolib/data/doctree/testdata/export_test/mytree/dir3'
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
## Overview
|
||||
|
||||
This project implements a distributed key-value storage service exposed via an HTTP API. It uses a master-worker architecture to handle read and write operations efficiently, with internal communication facilitated by the [Mycelium network](https://github.com/threefoldtech/mycelium). The system is built in [V](https://vlang.io/) and uses [OurDB](https://github.com/freeflowuniverse/herolib/tree/main/lib/data/ourdb) for embedded key-value storage.
|
||||
This project implements a distributed key-value storage service exposed via an HTTP API. It uses a master-worker architecture to handle read and write operations efficiently, with internal communication facilitated by the [Mycelium network](https://github.com/threefoldtech/mycelium). The system is built in [V](https://vlang.io/) and uses [OurDB](https://github.com/incubaid/herolib/tree/main/lib/data/ourdb) for embedded key-value storage.
|
||||
|
||||
### Key Features
|
||||
|
||||
@@ -73,7 +73,7 @@ To run this project, you need the following:
|
||||
|
||||
- [V](https://vlang.io/) (Vlang compiler) installed.
|
||||
- [Mycelium](https://github.com/threefoldtech/mycelium) network configured (either public or private).
|
||||
- [OurDB](https://github.com/freeflowuniverse/herolib/tree/main/lib/data/ourdb) library included in your project (part of the HeroLib suite).
|
||||
- [OurDB](https://github.com/incubaid/herolib/tree/main/lib/data/ourdb) library included in your project (part of the HeroLib suite).
|
||||
|
||||
## Installation
|
||||
|
||||
|
||||
@@ -135,12 +135,12 @@ fn test_args_get() {
|
||||
}
|
||||
|
||||
fn test_url1() {
|
||||
mut text := "color:red url:'https://github.com/freeflowuniverse/herolib/tree/development/examples/mdbook/books_to_include1'"
|
||||
mut text := "color:red url:'https://github.com/incubaid/herolib/tree/development/examples/mdbook/books_to_include1'"
|
||||
mut params := parse(text) or { panic(err) }
|
||||
mut text2 := 'color:red url:"https://github.com/freeflowuniverse/herolib/tree/development/examples/mdbook/books_to_include1 "'
|
||||
mut text2 := 'color:red url:"https://github.com/incubaid/herolib/tree/development/examples/mdbook/books_to_include1 "'
|
||||
mut params2 := parse(text2) or { panic(err) }
|
||||
assert params.get('url')? == 'https://github.com/freeflowuniverse/herolib/tree/development/examples/mdbook/books_to_include1'
|
||||
assert params2.get('url')? == 'https://github.com/freeflowuniverse/herolib/tree/development/examples/mdbook/books_to_include1'
|
||||
assert params.get('url')? == 'https://github.com/incubaid/herolib/tree/development/examples/mdbook/books_to_include1'
|
||||
assert params2.get('url')? == 'https://github.com/incubaid/herolib/tree/development/examples/mdbook/books_to_include1'
|
||||
}
|
||||
|
||||
// // fn test_json() {
|
||||
|
||||
@@ -34,7 +34,7 @@ fn install_(args InstallArgs) ! {
|
||||
mut repo := gs.get_repo(
|
||||
pull: args.git_pull
|
||||
reset: args.git_reset
|
||||
url: 'https://github.com/freeflowuniverse/herolib/tree/development/lib'
|
||||
url: 'https://github.com/incubaid/herolib/tree/development/lib'
|
||||
)!
|
||||
|
||||
// mut repo2 := gs.get_repo(
|
||||
@@ -48,7 +48,7 @@ fn install_(args InstallArgs) ! {
|
||||
|
||||
mut path1p := pathlib.get_dir(path: path1, create: false)!
|
||||
// mut path2p := pathlib.get_dir(path: path2, create: false)!
|
||||
path1p.link('${os.home_dir()}/.vmodules/freeflowuniverse/herolib', true)!
|
||||
path1p.link('${os.home_dir()}/.vmodules/incubaid/herolib', true)!
|
||||
// path2p.link('${os.home_dir()}/.vmodules/freeflowuniverse/webcomponents', true)!
|
||||
|
||||
// hero_compile()!
|
||||
@@ -83,7 +83,7 @@ pub fn install(args InstallArgs) ! {
|
||||
cmd := '
|
||||
cd /tmp
|
||||
export TERM=xterm
|
||||
curl https://raw.githubusercontent.com/freeflowuniverse/herolib/refs/heads/development/install_hero.sh | bash
|
||||
curl https://raw.githubusercontent.com/incubaid/herolib/refs/heads/development/install_hero.sh | bash
|
||||
'
|
||||
osal.execute_stdout(cmd) or { return error('Cannot install hero.\n${err}') }
|
||||
osal.done_set('install_hero', 'OK')!
|
||||
@@ -101,7 +101,7 @@ pub fn compile(args InstallArgs) ! {
|
||||
cmd := "
|
||||
cd /tmp
|
||||
export TERM=xterm
|
||||
curl 'https://raw.githubusercontent.com/freeflowuniverse/herolib/refs/heads/development/install_v.sh' > /tmp/install_v.sh
|
||||
curl 'https://raw.githubusercontent.com/incubaid/herolib/refs/heads/development/install_v.sh' > /tmp/install_v.sh
|
||||
bash /tmp/install_v.sh --herolib
|
||||
"
|
||||
osal.execute_stdout(cmd) or { return error('Cannot install hero.\n${err}') }
|
||||
|
||||
@@ -16,7 +16,7 @@ The server supports the following operations:
|
||||
### Building the Server
|
||||
|
||||
```bash
|
||||
v -gc none -stats -enable-globals -n -w -cg -g -cc tcc /Users/despiegk/code/github/freeflowuniverse/herolib/lib/mcp/v_do
|
||||
v -gc none -stats -enable-globals -n -w -cg -g -cc tcc /Users/despiegk/code/github/incubaid/herolib/lib/mcp/v_do
|
||||
```
|
||||
|
||||
### Using the Server
|
||||
|
||||
@@ -16,7 +16,7 @@ The server supports the following operations:
|
||||
### Building the Server
|
||||
|
||||
```bash
|
||||
v -gc none -stats -enable-globals -n -w -cg -g -cc tcc /Users/despiegk/code/github/freeflowuniverse/herolib/lib/mcp/v_do
|
||||
v -gc none -stats -enable-globals -n -w -cg -g -cc tcc /Users/despiegk/code/github/incubaid/herolib/lib/mcp/v_do
|
||||
```
|
||||
|
||||
### Using the Server
|
||||
|
||||
@@ -37,7 +37,7 @@ import json
|
||||
// }
|
||||
|
||||
// // Execute the MCP server with the request
|
||||
// cmd := 'cat /tmp/mcp_request.txt | v run /Users/despiegk/code/github/freeflowuniverse/herolib/lib/mcp/v_do/main.v'
|
||||
// cmd := 'cat /tmp/mcp_request.txt | v run /Users/despiegk/code/github/incubaid/herolib/lib/mcp/v_do/main.v'
|
||||
// result := os.execute(cmd)
|
||||
|
||||
// if result.exit_code != 0 {
|
||||
|
||||
@@ -7,7 +7,7 @@ import log
|
||||
|
||||
fn get_module_dir(mod string) string {
|
||||
module_parts := mod.trim_string_left('freeflowuniverse.herolib').split('.')
|
||||
return '${os.home_dir()}/code/github/freeflowuniverse/herolib/lib/${module_parts.join('/')}'
|
||||
return '${os.home_dir()}/code/github/incubaid/herolib/lib/${module_parts.join('/')}'
|
||||
}
|
||||
|
||||
// given a module path and a type name, returns the type definition of that type within that module
|
||||
|
||||
@@ -32,7 +32,7 @@ pub mut:
|
||||
// stdout bool = true
|
||||
// ```
|
||||
// .
|
||||
// see https://github.com/freeflowuniverse/herolib/blob/development/examples/pathlib.rsync/rsync_example.v
|
||||
// see https://github.com/incubaid/herolib/blob/development/examples/pathlib.rsync/rsync_example.v
|
||||
pub fn rsync(args_ RsyncArgs) ! {
|
||||
mut args := args_
|
||||
if args.ipaddr_src.len == 0 {
|
||||
|
||||
@@ -63,4 +63,4 @@ screen -r test
|
||||
## Testing
|
||||
|
||||
```bash
|
||||
vtest ~/code/github/freeflowuniverse/herolib/lib/osal/screen/screen_test.v
|
||||
vtest ~/code/github/incubaid/herolib/lib/osal/screen/screen_test.v
|
||||
|
||||
@@ -251,4 +251,4 @@ mut web_service := systemd.new(
|
||||
|
||||
```v
|
||||
// Test module
|
||||
vtest ~/code/github/freeflowuniverse/herolib/lib/osal/systemd/systemd_process_test.v
|
||||
vtest ~/code/github/incubaid/herolib/lib/osal/systemd/systemd_process_test.v
|
||||
@@ -3,12 +3,12 @@
|
||||
|
||||
Is an opinionated library as used by threefold mainly to automate cloud environments, its still very much work in progress and we welcome any contribution.
|
||||
|
||||
Please check also our [cookbook](https://github.com/freeflowuniverse/herolib/tree/development/cookbook) which might give some ideas how to use it.
|
||||
Please check also our [cookbook](https://github.com/incubaid/herolib/tree/development/cookbook) which might give some ideas how to use it.
|
||||
|
||||
## Get started with hero
|
||||
|
||||
```bash
|
||||
curl -sL https://raw.githubusercontent.com/freeflowuniverse/herolib/development/scripts/install_hero.sh | bash
|
||||
curl -sL https://raw.githubusercontent.com/incubaid/herolib/development/scripts/install_hero.sh | bash
|
||||
```
|
||||
|
||||
## Get started with herolib
|
||||
@@ -16,7 +16,7 @@ curl -sL https://raw.githubusercontent.com/freeflowuniverse/herolib/development/
|
||||
the following script will install vlang and herolib (report bugs please)
|
||||
|
||||
```bash
|
||||
curl https://raw.githubusercontent.com/freeflowuniverse/herolib/development/scripts/installer.sh > /tmp/install.sh
|
||||
curl https://raw.githubusercontent.com/incubaid/herolib/development/scripts/installer.sh > /tmp/install.sh
|
||||
bash /tmp/install.sh
|
||||
```
|
||||
|
||||
@@ -34,7 +34,7 @@ requirements
|
||||
```bash
|
||||
mkdir -p ~/code/github/freeflowuniverse
|
||||
cd ~/code/github/freeflowuniverse
|
||||
git clone git@github.com:freeflowuniverse/herolib.git
|
||||
git clone git@github.com:incubaid/herolib.git
|
||||
cd herolib
|
||||
# checkout a branch with most recent changes
|
||||
# git checkout development
|
||||
@@ -52,7 +52,7 @@ hero will be installed in
|
||||
- ~/hero/bin for osx
|
||||
|
||||
```bash
|
||||
curl https://raw.githubusercontent.com/freeflowuniverse/herolib/development/scripts/install_hero.sh > /tmp/hero_install.sh
|
||||
curl https://raw.githubusercontent.com/incubaid/herolib/development/scripts/install_hero.sh > /tmp/hero_install.sh
|
||||
bash /tmp/hero_install.sh
|
||||
#to debug
|
||||
bash -x /tmp/hero_install.sh
|
||||
@@ -72,7 +72,7 @@ requirements
|
||||
|
||||
```bash
|
||||
#cd in this directory
|
||||
cd ~/code/github/freeflowuniverse/herolib
|
||||
cd ~/code/github/incubaid/herolib
|
||||
bash doc.sh
|
||||
```
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ Module {
|
||||
author: 'freeflowuniverse'
|
||||
description: 'Set of various libraries'
|
||||
version: '0.1.0'
|
||||
repo_url: 'https://github.com/freeflowuniverse/herolib/herolib'
|
||||
repo_url: 'https://github.com/incubaid/herolib/herolib'
|
||||
deps: []
|
||||
vcs: 'git'
|
||||
license: 'apache2'
|
||||
|
||||
@@ -5,9 +5,9 @@ import freeflowuniverse.herolib.baobab.specification
|
||||
import freeflowuniverse.herolib.schemas.openapi
|
||||
import os
|
||||
|
||||
const example_dir = os.join_path('${os.home_dir()}/code/github/freeflowuniverse/herolib/lib/circles/mcc',
|
||||
const example_dir = os.join_path('${os.home_dir()}/code/github/incubaid/herolib/lib/circles/mcc',
|
||||
'baobab')
|
||||
const openapi_spec_path = os.join_path('${os.home_dir()}/code/github/freeflowuniverse/herolib/lib/circles/mcc',
|
||||
const openapi_spec_path = os.join_path('${os.home_dir()}/code/github/incubaid/herolib/lib/circles/mcc',
|
||||
'openapi.json')
|
||||
|
||||
// the actor specification obtained from the OpenRPC Specification
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
"Items": [
|
||||
{
|
||||
"Title": "Baobab MCP",
|
||||
"Href": "/Users/timurgordon/code/github/freeflowuniverse/herolib/lib/mcp/baobab/README.md",
|
||||
"Href": "/Users/timurgordon/code/github/incubaid/herolib/lib/mcp/baobab/README.md",
|
||||
"IsDir": false
|
||||
}
|
||||
]
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
## how to tag a version and push
|
||||
|
||||
```bash
|
||||
cd ~/Users/despiegk~/code/github/freeflowuniverse/herolib
|
||||
cd ~/Users/despiegk~/code/github/incubaid/herolib
|
||||
git tag -a v1.0.4 -m "all CI is now working"
|
||||
git add . -A ; git commit -m ... ; git pull ; git push origin v1.0.4
|
||||
```
|
||||
@@ -12,6 +12,6 @@ this allows us to make manual and to copy information from the readme's which ar
|
||||
to run
|
||||
|
||||
```bash
|
||||
~/code/github/freeflowuniverse/herolib/tools/doc_extractor/extractor.sh
|
||||
~/code/github/incubaid/herolib/tools/doc_extractor/extractor.sh
|
||||
```
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ CONFIG_FILE="$MANUAL_DIR/config.json"
|
||||
WIKI_DIR="/Users/timurgordon/code/github/freeflowuniverse/herolauncher/pkg/ui/wiki"
|
||||
|
||||
# Path to the herolib directory
|
||||
HEROLIB_DIR="/Users/timurgordon/code/github/freeflowuniverse/herolib"
|
||||
HEROLIB_DIR="/Users/timurgordon/code/github/incubaid/herolib"
|
||||
|
||||
cd "$WIKI_DIR"
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ struct GithubRelease {
|
||||
}
|
||||
|
||||
fn get_latest_release() !string {
|
||||
url := 'https://api.github.com/repos/freeflowuniverse/herolib/releases/latest'
|
||||
url := 'https://api.github.com/repos/incubaid/herolib/releases/latest'
|
||||
resp := http.get(url)!
|
||||
release := json.decode[GithubRelease](resp.body) or {
|
||||
return error('Failed to decode GitHub response: ${err}')
|
||||
@@ -131,12 +131,12 @@ git push
|
||||
git checkout development
|
||||
git pull origin development
|
||||
git push
|
||||
git remote set-url origin git@github.com:freeflowuniverse/herolib.git
|
||||
git remote set-url origin git@github.com:incubaid/herolib.git
|
||||
git add ${hero_v_path} ${install_hero_path}
|
||||
git commit -m "bump version to ${new_version}"
|
||||
git pull git@github.com:freeflowuniverse/herolib.git main
|
||||
git pull git@github.com:incubaid/herolib.git main
|
||||
git tag -a "v${new_version}" -m "Release version ${new_version}"
|
||||
git push git@github.com:freeflowuniverse/herolib.git "v${new_version}"
|
||||
git push git@github.com:incubaid/herolib.git "v${new_version}"
|
||||
'
|
||||
|
||||
println(cmd)
|
||||
|
||||
@@ -5,7 +5,7 @@ set -e
|
||||
|
||||
# Function to get the latest release from GitHub
|
||||
get_latest_release() {
|
||||
local url="https://api.github.com/repos/freeflowuniverse/herolib/releases/latest"
|
||||
local url="https://api.github.com/repos/incubaid/herolib/releases/latest"
|
||||
local response
|
||||
response=$(curl -s "$url")
|
||||
if [ $? -ne 0 ]; then
|
||||
@@ -93,12 +93,12 @@ cd "$script_dir" || { echo "Error: Could not change to script directory" >&2; ex
|
||||
|
||||
# Prepare git commands
|
||||
cmd="
|
||||
git remote set-url origin git@github.com:freeflowuniverse/herolib.git
|
||||
git remote set-url origin git@github.com:incubaid/herolib.git
|
||||
git add $hero_v_path $install_hero_path
|
||||
git commit -m \"bump version to $new_version\"
|
||||
git pull git@github.com:freeflowuniverse/herolib.git main
|
||||
git pull git@github.com:incubaid/herolib.git main
|
||||
git tag -a \"v$new_version\" -m \"Release version $new_version\"
|
||||
git push git@github.com:freeflowuniverse/herolib.git \"v$new_version\"
|
||||
git push git@github.com:incubaid/herolib.git \"v$new_version\"
|
||||
"
|
||||
|
||||
echo "$cmd"
|
||||
|
||||
@@ -169,7 +169,7 @@ lib/lang
|
||||
lib/clients
|
||||
lib/core
|
||||
lib/develop
|
||||
// lib/vfs The vfs folder is not exists on the development branch, so we need to uncomment it after merging this PR https://github.com/freeflowuniverse/herolib/pull/68
|
||||
// lib/vfs The vfs folder is not exists on the development branch, so we need to uncomment it after merging this PR https://github.com/incubaid/herolib/pull/68
|
||||
// lib/crypt
|
||||
'
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ lib/lang
|
||||
lib/clients
|
||||
lib/core
|
||||
lib/develop
|
||||
// lib/vfs The vfs folder is not exists on the development branch, so we need to uncomment it after merging this PR https://github.com/freeflowuniverse/herolib/pull/68
|
||||
// lib/vfs The vfs folder is not exists on the development branch, so we need to uncomment it after merging this PR https://github.com/incubaid/herolib/pull/68
|
||||
// lib/crypt
|
||||
'
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
cd ~/code/github/freeflowuniverse/herolib/vscodeplugin/heroscrypt-syntax
|
||||
cd ~/code/github/incubaid/herolib/vscodeplugin/heroscrypt-syntax
|
||||
npx @vscode/vsce package
|
||||
|
||||
code --install-extension ~/code/github/freeflowuniverse/herolib/vscodeplugin/heroscrypt-syntax/heroscript-syntax-0.0.1.vsix
|
||||
code --install-extension ~/code/github/incubaid/herolib/vscodeplugin/heroscrypt-syntax/heroscript-syntax-0.0.1.vsix
|
||||
|
||||
|
||||
Reference in New Issue
Block a user