Release/26.1.4#278
Conversation
* SK-2503: add support for custom token uri
…es-with-constants aadarsh-st/SK-2495 replace hardcode values with constants
|
✅ Gitleaks Findings: No secrets detected. Safe to proceed! |
|
Semgrep Findings: Issues with Error level severity are found (Error is Highest severity in Semgrep), Please resolve the issues before merging. |
There was a problem hiding this comment.
Pull request overview
This PR refactors the codebase to replace magic strings with named constants, improving maintainability and consistency. The changes also introduce ESLint configuration with TypeScript support to enforce camelCase naming and prevent the use of string literals for object access.
Changes:
- Introduced new constant groups (SDK, SKYFLOW, CONFIG, HTTP_HEADER, CONTENT_TYPE, ENCODING_TYPE, etc.) to replace hardcoded string literals throughout the codebase
- Updated ESLint configuration to use typescript-eslint with rules enforcing camelCase and restricting magic strings
- Added eslint-disable comments for unavoidable camelCase violations (e.g., external library usage with snake_case)
Reviewed changes
Copilot reviewed 18 out of 19 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
src/utils/index.ts |
Introduced constant groups to centralize magic strings |
src/vault/skyflow/index.ts |
Replaced string literals with CONFIG constants |
src/vault/controller/vault/index.ts |
Replaced string literals with SDK, SKYFLOW, CONTENT_TYPE, and ENCODING_TYPE constants |
src/vault/controller/detect/index.ts |
Replaced string literals with SDK, FILE_PROCESSING, DETECT_STATUS, and ENCODING_TYPE constants |
src/vault/controller/connections/index.ts |
Replaced string literals with SDK, SKYFLOW, REQUEST, and CONTENT_TYPE constants |
src/vault/client/index.ts |
Replaced string literals with HTTP_HEADER, CONTENT_TYPE, BOOLEAN_STRING, and HTTP_STATUS_CODE constants |
src/utils/validations/index.ts |
Replaced string literals with CONFIG, SKYFLOW, and API_KEY constants |
src/utils/jwt-utils/index.ts |
Added eslint-disable comment for jwt_decode import |
src/service-account/index.ts |
Replaced string literals with HTTP_HEADER, CONTENT_TYPE, HTTP_STATUS_CODE, JWT, and ENCODING_TYPE constants |
test/vault/utils/utils.test.js |
Added eslint-disable comment for jwt_decode import |
test/vault/utils/jwt-utils/jwt.test.js |
Added eslint-disable comment for jwt_decode import |
test/vault/controller/vault.test.js |
Updated mock to include new constant structures |
test/vault/controller/detect.test.js |
Updated mock to include new constants and improved test structure with better documentation |
test/vault/controller/connection.test.js |
Updated references to use SDK and SKYFLOW constant groups |
src/vault/model/options/deidentify-file/bleep-audio/index.ts |
Added eslint-disable comment for camelCase |
samples/vault-api/data-residency.ts |
Added eslint-disable comment for skyflow_id destructuring |
package.json |
Updated version, added ESLint dependencies, and modified lint scripts to include TypeScript files |
eslint.config.mjs |
Created new ESLint configuration with TypeScript support and custom rules |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
✅ Gitleaks Findings: No secrets detected. Safe to proceed! |
|
✅ Gitleaks Findings: No secrets detected. Safe to proceed! |
|
Semgrep Findings: Issues with Error level severity are found (Error is Highest severity in Semgrep), Please resolve the issues before merging. |
1 similar comment
|
Semgrep Findings: Issues with Error level severity are found (Error is Highest severity in Semgrep), Please resolve the issues before merging. |
aadarsh-st/SK-2510-Fixed all the mentioned issue
|
✅ Gitleaks Findings: No secrets detected. Safe to proceed! |
aadarsh-st/SK-2812: Public Interface Cleanup
aadarsh-st/SK-2812: Updated test, reade and migration doc
…ples SK-2841: Update deprecated samples
|
✅ Gitleaks Findings: No secrets detected. Safe to proceed! |
|
✅ Gitleaks Findings: No secrets detected. Safe to proceed! |
|
Semgrep Findings: Issues with Error level severity are found (Error is Highest severity in Semgrep), Please resolve the issues before merging. |
1 similar comment
|
Semgrep Findings: Issues with Error level severity are found (Error is Highest severity in Semgrep), Please resolve the issues before merging. |
|
✅ Gitleaks Findings: No secrets detected. Safe to proceed! |
|
Semgrep Findings: Issues with Error level severity are found (Error is Highest severity in Semgrep), Please resolve the issues before merging. |
|
✅ Gitleaks Findings: No secrets detected. Safe to proceed! |
|
Semgrep Findings: Issues with Error level severity are found (Error is Highest severity in Semgrep), Please resolve the issues before merging. |
Summary
Deprecation strategy (SK-2812): Deprecated snake_case error fields (http_code, http_status, request_ID, grpc_code) on SkyflowError.error in favor of camelCase equivalents (httpCode, httpStatus, requestId, grpcCode). Deprecated accessors emit a WARN-level log and will be removed in v3. Public interface cleaned up via api-extractor contract snapshot.
Missing request_id propagation (SK-2182): Fixed requestId missing from error responses in several vault and connection controller code paths.
Constants refactor (SK-2812 / SK-2495): Replaced hardcoded string literals across controllers and utils with named constant objects (SDK, HTTP_HEADER, CONTENT_TYPE, FILE_FORMAT_TYPE, ENCODING_TYPE, DETECT_STATUS, etc.).
Detect controller fixes (SK-2812): Switched file reads/writes to async (fs.promises.readFile, decodeBase64AndSaveToFile), fixed Uint8Array buffer wrapping for File constructor, replaced magic strings with constants.
Custom tokenUri support (SK-2503): Service account auth now accepts a custom tokenUri option for non-standard token endpoints.
jwt-decode library upgrade (SK-2528): Pinned to v3.1.2; v4+ is ESM-only and breaks CJS builds.
Invoke connection content-type fix (SK-2536): Aligned Content-Type in request and response handling for connection invocations.
Public interface consistency (SK-2645): Fixed inconsistencies found in extracted public interfaces doc; merged fixes from release/26.1.5 and release/26.2.2.
SDK issue fixes (SK-2510): Miscellaneous fixes identified post-release.
Linter added (SK-2455): ESLint + Prettier wired into CI (common-ci.yml).
Deprecated samples (SK-2841): Added samples/deprecated/ with v1-style vault API examples for migration reference.
Test coverage: 100% coverage maintained. New tests for deprecation warnings, error structure, connection controller, detect controller, vault controller, and service-account token flow.