Commit Graph

1427 Commits

Author SHA1 Message Date
Mahmoud-Emad
1361b2c5a9 feat: Add new API endpoints and improve test coverage
- Add new endpoints for blob operations
- Add new endpoints for symlink operations
- Add new endpoints for blob membership management
- Add new endpoints for directory listing by filesystem
- Add new endpoints for file listing and retrieval
- Add new endpoint for getting filesystem by name
- Add tests for new blob endpoints
- Add tests for new directory endpoints
- Add tests for new file endpoints
- Add tests for new filesystem endpoint
- Update MIME type enum with more values
2025-09-29 13:56:54 +03:00
Mahmoud-Emad
6c39682fd2 feat: Add HeroFS REST API TypeScript Client
This commit introduces a comprehensive TypeScript client for the HeroFS distributed filesystem REST API.

Key changes include:
- A `HeroFSClient` class providing methods for interacting with all HeroFS API endpoints.
- Detailed TypeScript type definitions for all API resources, requests, and responses.
- Custom `HeroFSError` class for robust error handling.
- Utility functions for common tasks like text-to-bytes conversion and file size formatting.
- Built-in retry logic for network requests.
- Comprehensive JSDoc comments for API documentation and examples.
- Integration with Jest for testing.
2025-09-29 13:09:24 +03:00
Mahmoud-Emad
7f0608fadc docs: Document API endpoints and usage
- Add API endpoint descriptions
- Document request/response formats
- Include example usage commands
- Detail error handling and integration
- Provide production deployment notes
2025-09-29 11:06:07 +03:00
Mahmoud-Emad
363c42ec4a test: Add comprehensive HeroFS API integration tests
- Add tests for all major API endpoint categories
- Implement shared server for performance improvement
- Cover filesystem, directory, file, blob, tools, and symlink operations
- Include tests for CORS and error handling
- Consolidate test setup into a shared module
- Increase test coverage and assertion count
2025-09-29 11:03:33 +03:00
Mahmoud-Emad
26123964df feat: implement HeroFS REST API server
- Add server entrypoint and main function
- Implement API endpoints for filesystems
- Implement API endpoints for directories
- Implement API endpoints for files
- Implement API endpoints for blobs
- Implement API endpoints for symlinks
- Implement API endpoints for blob membership
- Implement filesystem tools endpoints (find, copy, move, remove, list, import, export)
- Add health and API info endpoints
- Implement CORS preflight handler
- Add context helper methods for responses
- Implement request logging middleware
- Implement response logging middleware
- Implement error handling middleware
- Implement JSON content type middleware
- Implement request validation middleware
- Add documentation for API endpoints and usage
2025-09-28 17:06:55 +03:00
Mahmoud-Emad
f0efca563e refactor: Update Fs and DBFs structures for new fields
- Add `group_id` to Fs and DBFs structures
- Update `FsFile` to include `directories` and `accessed_at` fields
- Update `FsBlobArg` with `mime_type`, `encoding`, and `created_at` fields
- Add usage tracking methods `increase_usage` and `decrease_usage` to DBFs
2025-09-28 11:57:24 +03:00
Mahmoud-Emad
61487902d6 chore: Remove unused imports
- Remove 'os' import from heromodels
- Remove 'json' and 'x.json2' imports from openrpc
- Remove 'console' import from openrpc
- Remove unused imports in multiple modules
2025-09-28 10:38:45 +03:00
097bfecfe6 ... 2025-09-27 13:51:21 +04:00
45d1d60166 ... 2025-09-27 08:09:54 +04:00
daa204555d ... 2025-09-27 07:31:18 +04:00
2bea94eb89 ... 2025-09-27 07:23:01 +04:00
ba1ca13066 ... 2025-09-27 07:17:06 +04:00
1664c830c9 ... 2025-09-27 07:13:24 +04:00
de1ac8e010 ... 2025-09-27 06:57:12 +04:00
4662ce3c02 ... 2025-09-27 06:22:45 +04:00
5fc7823f4b ... 2025-09-27 06:21:22 +04:00
048a0cf893 ... 2025-09-27 06:21:03 +04:00
901e908342 ... 2025-09-27 06:01:57 +04:00
ba75cc39a0 ... 2025-09-27 05:12:15 +04:00
ab1d8b1157 Merge branch 'development_fix_mcpservers' into development_heroserver
* development_fix_mcpservers:
  refactor: introduce mcpcore and clean up STDIO transport
2025-09-25 06:05:02 +04:00
1101107b9b Merge branch 'development' into development_heroserver
* development:
  ...
  ...

# Conflicts:
#	CONTRIBUTING.md
#	aiprompts/herolib_start_here.md
#	docker/herolib/scripts/install_v.sh
#	install_v.sh
#	lib/readme.md
#	manual/config.json
#	test_basic.vsh
2025-09-25 06:03:11 +04:00
3fee5134b4 Merge branch 'development_heroserver' of github.com:Incubaid/herolib into development_heroserver
* 'development_heroserver' of github.com:Incubaid/herolib:
  Revert set method decoding into args struct for project too
  Revert set method decoding into args struct
  refactor: Improve data decoding and handler logic
  refactor: Remove unused validation checks in list methods
  docs: Add descriptions and examples to schema properties
  feat: Improve example generation for API specs
  refactor: Update example generation and schema handling
  fix: Update port and improve logging
  feat: Add port availability check
2025-09-25 05:52:21 +04:00
7d49f552e4 ... 2025-09-25 05:52:02 +04:00
Scott Yeager
28d17db663 Revert set method decoding into args struct for project too 2025-09-24 14:25:38 -07:00
Scott Yeager
860ebdae15 Revert set method decoding into args struct 2025-09-24 12:26:40 -07:00
aec8908205 ... 2025-09-24 21:06:37 +04:00
2bc9c0b4e0 Merge branch 'development' of github.com:freeflowuniverse/herolib into development 2025-09-24 21:04:03 +04:00
57f3e47bb6 ... 2025-09-24 21:01:25 +04:00
Mahmoud-Emad
78fce909a8 refactor: Improve data decoding and handler logic
- Add strconv for string number parsing
- Update decode_int and decode_u32 for string/JSON numbers
- Refactor model handlers to use .new(args) for object creation
- Remove unnecessary jsonrpc.new_request calls
- Update Profile struct and ProfileArg for clarity
2025-09-24 14:34:42 +03:00
Mahmoud-Emad
6800631ead refactor: Remove unused validation checks in list methods
- Remove redundant parameter validation from `DBCalendarEvent.list`
- Remove redundant parameter validation from `DBContact.list`
- Remove redundant parameter validation from `DBGroup.list`
- Remove redundant parameter validation from `DBMessages.list`
- Remove redundant parameter validation from `DBPlanning.list`
- Remove redundant parameter validation from `DBProject.list`
- Remove redundant parameter validation from `DBProjectIssue.list`
- Remove redundant parameter validation from `DBRegistrationDesk.list`
- Remove redundant parameter validation from `DBUser.list`
2025-09-23 16:52:12 +03:00
Mahmoud-Emad
ee3362d512 docs: Add descriptions and examples to schema properties
- Add descriptions to Base schema properties
- Add examples to various schema properties
- Refactor Event schema properties
- Introduce Attendee, AttendeeLog, EventDoc, and EventLocation schemas
2025-09-22 17:34:45 +03:00
Mahmoud-Emad
44ec137db5 feat: Improve example generation for API specs
- Enhance `extract_type_from_schema` to detail array and object types.
- Introduce `generate_example_value` for dynamic example generation.
- Add `generate_array_example` and `generate_map_example` helper functions.
- Refactor `Method.example` to build JSON manually and use `json_str()`.
2025-09-22 16:04:26 +03:00
Mahmoud-Emad
ba48ae255b refactor: Update example generation and schema handling
- Remove unused `generate_example_call` and `generate_example_response` functions
- Rename `example_call` to `example_request` in `DocMethod`
- Update schema example extraction to use `schema.example` directly
- Introduce `generate_request_example` and `generate_response_example` for dynamic example generation
- Change type of `id` from string to number in schema examples

PS: The work is still in progress
2025-09-22 14:58:22 +03:00
Mahmoud-Emad
bb0b9d2ad9 fix: Update port and improve logging
- Change server port from 8086 to 8080
- Use `console.print_info` for logging instead of `println`
- Improve error handling in `decode_generic`
- Update JSONRPC imports for consistency
- Add `console.print_stderr` for not found methods
- Refactor `DBCalendar.list` to remove redundant `println`
- Add `console.print_info` for logging fallback
- Introduce `print_info` in console module for blue text output
2025-09-22 10:24:15 +03:00
Mahmoud-Emad
255b8da0e7 feat: Add port availability check
- Import osal module
- Check if port is available before creating server
- Remove port header print
2025-09-21 15:55:42 +03:00
62ccf42a4b ... 2025-09-19 22:18:49 +02:00
940ad5bb71 ... 2025-09-19 22:16:00 +02:00
6f723a7d77 ... 2025-09-19 22:08:41 +02:00
ffe476684f ... 2025-09-19 22:01:53 +02:00
85c108a8d2 ... 2025-09-19 21:51:36 +02:00
e386ae4f49 ... 2025-09-19 21:48:12 +02:00
bcd8552f41 ... 2025-09-19 21:46:15 +02:00
31d8e1a21d ... 2025-09-19 21:28:40 +02:00
b0f8fe20d8 ... 2025-09-19 21:20:23 +02:00
9cf7cf711a ... 2025-09-19 21:08:11 +02:00
1fe699f20c Merge branch 'development_heroserver' into development_fs
* development_heroserver:
  ....
  ..
  ...
  ...
  ...
  feat: Enhance logging and CORS handling
  feat: Add CORS support to HeroServer
  feat: enhance server documentation and configuration
  refactor: integrate heromodels RPC with heroserver
  ...
  feat: redesign API documentation template
  feat: generate dynamic API docs from OpenRPC spec
  feat: implement documentation handler
2025-09-19 12:57:44 +02:00
bfafc06140 .... 2025-09-19 12:57:01 +02:00
b66020cf64 .. 2025-09-19 12:38:56 +02:00
e79164d8dc ... 2025-09-19 12:38:44 +02:00
dd7946c20c ... 2025-09-19 11:52:08 +02:00