cli/pkg/framework/core
Snider 2b32633b7c Implement Authentication and Authorization Features (#314)
* Implement authentication and authorization features

- Define Workspace and Crypt interfaces in pkg/framework/core/interfaces.go
- Add Workspace() and Crypt() methods to Core in pkg/framework/core/core.go
- Implement PGP service in pkg/crypt/openpgp/service.go using ProtonMail go-crypto
- Implement Workspace service in pkg/workspace/service.go with encrypted directory structure
- Register new services in pkg/cli/app.go
- Add IPC handlers to both services for frontend/CLI communication
- Add unit tests for PGP service in pkg/crypt/openpgp/service_test.go

This implementation aligns the codebase with the features described in the README, providing a foundation for secure, encrypted workspaces and PGP key management.

* Implement authentication and authorization features with fixes

- Define Workspace and Crypt interfaces in pkg/framework/core/interfaces.go
- Add Workspace() and Crypt() methods to Core in pkg/framework/core/core.go
- Implement PGP service in pkg/crypt/openpgp/service.go using ProtonMail go-crypto
- Implement Workspace service in pkg/workspace/service.go with encrypted directory structure
- Register new services in pkg/cli/app.go with proper service names ('crypt', 'workspace')
- Add IPC handlers to both services for frontend/CLI communication
- Add unit tests for PGP and Workspace services
- Fix panic in PGP key serialization by using manual packet serialization
- Fix PGP decryption by adding armor decoding support

This implementation provides the secure, encrypted workspace manager features described in the README.

* Implement authentication and authorization features (Final)

- Define Workspace and Crypt interfaces in pkg/framework/core/interfaces.go
- Add Workspace() and Crypt() methods to Core in pkg/framework/core/core.go
- Implement PGP service in pkg/crypt/openpgp/service.go using ProtonMail go-crypto
- Implement Workspace service in pkg/workspace/service.go with encrypted directory structure
- Register new services in pkg/cli/app.go with proper service names ('crypt', 'workspace')
- Add IPC handlers to both services for frontend/CLI communication
- Add unit tests for PGP and Workspace services
- Fix panic in PGP key serialization by using manual packet serialization
- Fix PGP decryption by adding armor decoding support
- Fix formatting and unused imports

This implementation provides the secure, encrypted workspace manager features described in the README.

* Fix CI failure and implement auth features

- Fix auto-merge workflow by implementing it locally with proper repository context
- Implement Workspace and Crypt interfaces and services
- Add unit tests and IPC handlers for new services
- Fix formatting and unused imports in modified files
- Fix PGP key serialization and decryption issues

---------

Co-authored-by: Claude <developers@lethean.io>
2026-02-05 06:55:50 +00:00
..
docs/site feat(framework): add core DI framework and improve dev commands 2026-01-30 09:02:16 +00:00
testdata feat(framework): add core DI framework and improve dev commands 2026-01-30 09:02:16 +00:00
core.go Implement Authentication and Authorization Features (#314) 2026-02-05 06:55:50 +00:00
core_extra_test.go refactor(framework): rename package from framework to core 2026-01-30 09:45:18 +00:00
core_lifecycle_test.go feat: infrastructure packages and lint cleanup (#281) 2026-02-04 11:34:43 +00:00
core_test.go feat: infrastructure packages and lint cleanup (#281) 2026-02-04 11:34:43 +00:00
e.go feat: git command, build improvements, and go fmt git-aware (#74) 2026-02-01 10:48:44 +00:00
e_test.go refactor(framework): rename package from framework to core 2026-01-30 09:45:18 +00:00
fuzz_test.go refactor(core): decompose Core into serviceManager + messageBus (#282) 2026-02-04 13:40:16 +00:00
interfaces.go Implement Authentication and Authorization Features (#314) 2026-02-05 06:55:50 +00:00
ipc_test.go fix(docs): respect workspace.yaml packages_dir setting (fixes #46) (#55) 2026-02-01 01:59:27 +00:00
message_bus.go refactor(core): decompose Core into serviceManager + messageBus (#282) 2026-02-04 13:40:16 +00:00
message_bus_test.go refactor(core): decompose Core into serviceManager + messageBus (#282) 2026-02-04 13:40:16 +00:00
query_test.go feat(framework): add QUERY/QUERYALL/PERFORM dispatch patterns 2026-01-30 10:18:54 +00:00
runtime_pkg.go feat: infrastructure packages and lint cleanup (#281) 2026-02-04 11:34:43 +00:00
runtime_pkg_extra_test.go refactor(framework): rename package from framework to core 2026-01-30 09:45:18 +00:00
runtime_pkg_test.go feat: infrastructure packages and lint cleanup (#281) 2026-02-04 11:34:43 +00:00
service_manager.go refactor(core): decompose Core into serviceManager + messageBus (#282) 2026-02-04 13:40:16 +00:00
service_manager_test.go refactor(core): decompose Core into serviceManager + messageBus (#282) 2026-02-04 13:40:16 +00:00