finos / finos/architecture-as-code

VS Code Plugin :: Add CalmHub connection with OIDC auth, CURIE resolution, and controls overlay

Open
#3,047 7 comments 0 reactions 1 assignee Claimed by @byrash View on GitHub
Dominant language
TypeScript
Stars
399
Forks
138
Avg merge
2d 6h
Merged PRs (30d)
38

Description

## Feature Proposal

### Target Project:

- calm-plugins/vscode
- shared
- cli
- calm-models

### Description of Feature:
Add CalmHub connectivity to the VSCode extension with OIDC authentication, CURIE resolution chain for Hub-optional validation, and canvas editor controls overlay.

### User Stories:
- As a CALM author, I want to connect my VSCode extension to a CalmHub instance so that I can browse and drop Hub resources directly into my architecture canvas.
- As a CALM author, I want the CLI to resolve control CURIEs from local assets (via --assets-path) so that I can validate offline without a Hub.
- As an enterprise, we are required to store architecture artifacts in a source code management system. This change will allow an enterprise if it chooses to back CALMHub via an OIDC based SCM.

### Current Limitations:
The VSCode extension has no Hub integration — resources must be authored manually. The CLI cannot resolve CURIE references in controls, requiring fully-qualified URLs or skipping validation.

### Proposed Implementation:
- VSCode: Hub client (hub-client.ts), OIDC auth service delegating login to Hub, SHA-based asset cache (~/.calm/cache), status bar indicator, and Node Palette with Hub resource drops.
- Shared: CURIE parser (hub/curie.ts), chain reference resolver (ShaCacheResolver → LocalCurieResolver → CurieResolver → HttpResolver), controls merge utility.
- CLI: --assets-path option for local CURIE resolution, wired into the resolver chain.
- calm-models: definition-id support on nodes.

### Alternatives Considered:
...what other approaches were considered and why were they rejected?

### Testing Strategy:
...how will this feature be tested? Include unit, integration, and any other testing considerations...

### Documentation Requirements:
...what documentation will need to be created or updated?

### Implementation Checklist:
- [ ] Design reviewed and approved
- [ ] Implementation completed
- [ ] Tests written and passing
- [ ] Documentation updated
- [ ] Relevant workflows updated (if needed)
- [ ] Performance impact assessed

### Additional Context:
...add any other context, diagrams, mockups, or screenshots about the feature request here...

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.