Commit Graph

1679 Commits

Author SHA1 Message Date
Mahmoud-Emad
3669edf24e feat: implement built-in API documentation system
- Introduce `DocRegistry` for managing API documentation
- Add automatic discovery of markdown documentation from templates
- Implement a new web-based documentation viewer at `/docs`
- Include basic markdown to HTML conversion logic
- Register core HeroServer API documentation and an example 'comments' API
2025-09-16 12:54:16 +03:00
64c7efca5e ... 2025-09-16 08:50:50 +02:00
Mahmoud-Emad
e9e11ee407 refactor: Update new_server signature and module structure
- Adjust `new_server` calls to use `ServerConfig` struct
- Unify `AuthConfig` and manager type references within module
- Remove duplicate `ServerConfig` and factory function definition
- Update `test_heroserver_new` to reflect API changes
- Refine internal module imports and factory calls
2025-09-16 09:45:18 +03:00
a763a03884 Merge branch 'development' into development_fs
* development:
  refactor: Simplify handler signatures and add server runner
  fix: improve Redis response parsing and error handling
  fix: Correct AGEClient method receivers and error syntax

# Conflicts:
#	lib/hero/heroserver/factory.v
2025-09-15 20:29:57 +02:00
27a536ab9a Merge branch 'development' of github.com:Incubaid/herolib into development
* 'development' of github.com:Incubaid/herolib:
  refactor: Simplify handler signatures and add server runner
  fix: improve Redis response parsing and error handling
  fix: Correct AGEClient method receivers and error syntax
2025-09-15 20:28:58 +02:00
Mahmoud-Emad
f9fa1df7cc test: add comprehensive CRUD and edge case tests for heromodels
- Add tests for CalendarEvent, Calendar, ChatGroup, and ChatMessage models
- Include tests for Comment, Group, Project, ProjectIssue, and User models
- Cover create, read, update, delete, existence, and list operations
- Validate model-specific features like recurrence, chat types, group roles
- Test edge cases for various fields, including empty and large values
2025-09-15 19:43:41 +03:00
Mahmoud-Emad
e58db411f2 feat: Setup RPC server and basic calendar test
- Update RPC server startup and status messages
- Shorten initial sleep duration for server start
- Initialize heromodels and create a test calendar
- Generate 'calendar_set' JSON-RPC request
- Ensure server remains running with main loop
2025-09-15 18:05:09 +03:00
Mahmoud-Emad
eeac447644 refactor: Update RPC server main and entity ID handling
- Refactor `main` to spawn RPC server process
- Add `time` import for server startup delay
- Update `mydb.set` calls to use mutable object references
- Return entity ID from modified object after `set`
2025-09-15 18:02:45 +03:00
Mahmoud-Emad
e2a894de29 fix: Fix the examples
- Updated the examples to match the new fix of the heromodels
- Removed the caller variable of the set method since the method does
  not return a value now
2025-09-15 17:44:09 +03:00
Mahmoud-Emad
ff16a9bc07 build: add -no-skip-unused flag to V shebangs 2025-09-15 17:00:47 +03:00
Mahmoud-Emad
23f7e05931 wip 2025-09-15 15:49:23 +03:00
Mahmoud-Emad
6d67dbe2d7 wip: Working on fixing the CError, commented out the code:
- Commented out all models except the calendar model to fix the C Error
- The error is coming from the dump method in the core_methods file
- The error happen because we call `obj.dump` so, maybe a registered
  model does not implement this method, or there is an issue in any of
  these methods, so i commented out the code to unlock one by one to
  understand the reason of the compiler error
2025-09-15 14:51:29 +03:00
Mahmoud-Emad
10ce2ca1cd refactor: introduce mcpcore and clean up STDIO transport
- Extract core MCP logic into a new `mcpcore` module
- Remove logging that interferes with JSON-RPC over STDIO
- Improve server loop to parse requests before handling
- Add stub for `logging/setLevel` JSON-RPC method
- Refactor vcode server into a dedicated logic submodule
2025-09-15 11:59:24 +03:00
9a41f9e732 ... 2025-09-15 10:20:09 +02:00
ab1044079e ... 2025-09-15 08:43:49 +02:00
554478ffe7 ... 2025-09-15 08:41:54 +02:00
43ae67a070 ... 2025-09-15 08:02:44 +02:00
006dab5905 ... 2025-09-15 07:40:33 +02:00
bea94be43c ... 2025-09-15 07:33:16 +02:00
df0a1a59e5 ... 2025-09-15 07:27:30 +02:00
4e9cf01b02 ... 2025-09-15 07:19:58 +02:00
4d30086ee0 ... 2025-09-15 07:12:39 +02:00
5a85a4ca4a ... 2025-09-15 07:10:22 +02:00
95e7020c00 ... 2025-09-15 07:00:21 +02:00
9fdb74b5fb ... 2025-09-15 07:00:13 +02:00
0696fc6fdd ... 2025-09-15 06:54:28 +02:00
e5f142bfbd ... 2025-09-15 06:22:01 +02:00
1f5c75dcd5 ... 2025-09-15 06:19:47 +02:00
07ca315299 ... 2025-09-15 05:52:09 +02:00
5a7a6f832d ... 2025-09-15 05:49:14 +02:00
b47c9d1761 ... 2025-09-15 05:42:25 +02:00
697a7443d5 ... 2025-09-15 05:23:51 +02:00
94976866be ... 2025-09-15 05:22:04 +02:00
d0c3b38289 ... 2025-09-15 05:02:15 +02:00
1c8da11df7 ... 2025-09-15 04:45:12 +02:00
f7215d75e1 ... 2025-09-15 04:12:39 +02:00
09dd31b473 ... 2025-09-14 19:11:24 +02:00
0eaf56be91 ... 2025-09-14 19:08:13 +02:00
6a02a45474 .. 2025-09-14 18:25:45 +02:00
95507002c9 ... 2025-09-14 18:08:30 +02:00
8ee76ac2b4 ... 2025-09-14 17:57:09 +02:00
5155ab16af ... 2025-09-14 17:57:06 +02:00
Mahmoud-Emad
ad906b5894 refactor: Simplify handler signatures and add server runner
- Pass URL params as direct arguments to handlers
- Use `ctx.get_custom_header` to retrieve session key
- Add a runnable script to start the heroserver
- Clean up formatting in documentation and code
- Remove unused redisclient import
2025-09-14 18:24:30 +03:00
12a00dbc78 ... 2025-09-14 17:19:32 +02:00
Mahmoud-Emad
92c8a3b955 fix: improve Redis response parsing and error handling
- Add error handling for non-array and error responses
- Introduce `strget()` for safer string conversion from RValue
- Update AGE client to use `strget()` for key retrieval
- Change AGE verify methods to expect a string response
- Handle multiple response types when listing AGE keys
2025-09-14 18:15:23 +03:00
Mahmoud-Emad
0ef28b6cfe fix: Correct AGEClient method receivers and error syntax
- Change AGEClient method receivers from immutable to mutable
- Remove unnecessary `!` error propagation operators
2025-09-14 18:01:29 +03:00
84bbcd3a06 ... 2025-09-14 16:47:35 +02:00
cde04c9917 ... 2025-09-14 16:36:47 +02:00
397b544ab2 ... 2025-09-14 16:34:52 +02:00
494b69e2b7 ... 2025-09-14 16:30:39 +02:00