@autonomaai/api-schemas 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +77 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +109 -0
- package/dist/index.js.map +1 -0
- package/dist/validators.d.ts +65 -0
- package/dist/validators.d.ts.map +1 -0
- package/dist/validators.js +541 -0
- package/dist/validators.js.map +1 -0
- package/openapi.yaml +1434 -0
- package/package.json +47 -0
- package/src/global.d.ts +12 -0
- package/src/index.ts +159 -0
- package/src/validators.ts +723 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* autonoma API Schemas
|
|
3
|
+
*
|
|
4
|
+
* Unified API schemas and validation utilities for all autonoma services.
|
|
5
|
+
*
|
|
6
|
+
* This package normalizes API contracts across:
|
|
7
|
+
* - Hummingbot MCP Server
|
|
8
|
+
* - Backend API
|
|
9
|
+
* - Market Maker Agent
|
|
10
|
+
* - Data Collector
|
|
11
|
+
* - RAG Service
|
|
12
|
+
*/
|
|
13
|
+
export * from './validators';
|
|
14
|
+
export { migrateLegacyExecuteSignal, convertToLegacyFormat, createValidationMiddleware, generatePythonValidator } from './validators';
|
|
15
|
+
export type { ValidationResult, ValidationError } from './validators';
|
|
16
|
+
export { validateSuccessResponse, validateErrorResponse, validateCreateControllerRequest, validateController, validateTradingSignal, validateExecuteSignalRequest } from './validators';
|
|
17
|
+
export declare const API_SCHEMA_VERSION = "1.0.0";
|
|
18
|
+
export declare const SUPPORTED_FORMATS: string[];
|
|
19
|
+
export declare const SCHEMAS: {
|
|
20
|
+
readonly OPENAPI_SPEC: "openapi.yaml";
|
|
21
|
+
readonly JSON_SCHEMAS: "schemas/";
|
|
22
|
+
readonly GENERATED_TYPES: "generated-types.ts";
|
|
23
|
+
};
|
|
24
|
+
export declare const ENDPOINT_MIGRATIONS: {
|
|
25
|
+
readonly LEGACY_EXECUTE_SIGNAL: "/trading/execute-signal";
|
|
26
|
+
readonly LEGACY_CONTROLLER_SIGNAL: "/trading/{controller_id}/signal";
|
|
27
|
+
readonly UNIFIED_EXECUTE_SIGNAL: "/trading/signals/execute";
|
|
28
|
+
};
|
|
29
|
+
export declare const ERROR_CODES: {
|
|
30
|
+
readonly VALIDATION_FAILED: "VALIDATION_FAILED";
|
|
31
|
+
readonly CONTROLLER_NOT_FOUND: "CONTROLLER_NOT_FOUND";
|
|
32
|
+
readonly INVALID_SIGNAL: "INVALID_SIGNAL";
|
|
33
|
+
readonly EXCHANGE_ERROR: "EXCHANGE_ERROR";
|
|
34
|
+
readonly UNAUTHORIZED: "UNAUTHORIZED";
|
|
35
|
+
readonly RATE_LIMITED: "RATE_LIMITED";
|
|
36
|
+
readonly INTERNAL_ERROR: "INTERNAL_ERROR";
|
|
37
|
+
};
|
|
38
|
+
export declare const HTTP_STATUS: {
|
|
39
|
+
readonly OK: 200;
|
|
40
|
+
readonly CREATED: 201;
|
|
41
|
+
readonly BAD_REQUEST: 400;
|
|
42
|
+
readonly UNAUTHORIZED: 401;
|
|
43
|
+
readonly FORBIDDEN: 403;
|
|
44
|
+
readonly NOT_FOUND: 404;
|
|
45
|
+
readonly CONFLICT: 409;
|
|
46
|
+
readonly RATE_LIMITED: 429;
|
|
47
|
+
readonly INTERNAL_ERROR: 500;
|
|
48
|
+
readonly SERVICE_UNAVAILABLE: 503;
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* Create a standardized success response
|
|
52
|
+
*/
|
|
53
|
+
export declare function createSuccessResponse<T = any>(message: string, data?: T, additionalFields?: Record<string, any>): {
|
|
54
|
+
data?: (T & ({} | null)) | undefined;
|
|
55
|
+
success: boolean;
|
|
56
|
+
message: string;
|
|
57
|
+
timestamp: string;
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* Create a standardized error response
|
|
61
|
+
*/
|
|
62
|
+
export declare function createErrorResponse(error: string, detail?: string, errorCode?: string, additionalFields?: Record<string, any>): {
|
|
63
|
+
timestamp: string;
|
|
64
|
+
error_code?: string | undefined;
|
|
65
|
+
detail?: string | undefined;
|
|
66
|
+
success: boolean;
|
|
67
|
+
error: string;
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* Check if a response follows the standardized format
|
|
71
|
+
*/
|
|
72
|
+
export declare function isStandardizedResponse(response: any): boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Normalize a legacy response to the standardized format
|
|
75
|
+
*/
|
|
76
|
+
export declare function normalizeLegacyResponse(response: any): any;
|
|
77
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,cAAc,cAAc,CAAC;AAG7B,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,EACxB,MAAM,cAAc,CAAC;AAGtB,YAAY,EACV,gBAAgB,EAChB,eAAe,EAChB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,+BAA+B,EAC/B,kBAAkB,EAClB,qBAAqB,EACrB,4BAA4B,EAC7B,MAAM,cAAc,CAAC;AAGtB,eAAO,MAAM,kBAAkB,UAAU,CAAC;AAC1C,eAAO,MAAM,iBAAiB,UAA4C,CAAC;AAG3E,eAAO,MAAM,OAAO;;;;CAIV,CAAC;AAGX,eAAO,MAAM,mBAAmB;;;;CAItB,CAAC;AAGX,eAAO,MAAM,WAAW;;;;;;;;CAQd,CAAC;AAGX,eAAO,MAAM,WAAW;;;;;;;;;;;CAWd,CAAC;AAEX;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,GAAG,GAAG,EAC3C,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,CAAC,EACR,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;;;EASvC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,EAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;;;;EAUvC;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAO7D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,CAwB1D"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* autonoma API Schemas
|
|
3
|
+
*
|
|
4
|
+
* Unified API schemas and validation utilities for all autonoma services.
|
|
5
|
+
*
|
|
6
|
+
* This package normalizes API contracts across:
|
|
7
|
+
* - Hummingbot MCP Server
|
|
8
|
+
* - Backend API
|
|
9
|
+
* - Market Maker Agent
|
|
10
|
+
* - Data Collector
|
|
11
|
+
* - RAG Service
|
|
12
|
+
*/
|
|
13
|
+
// Export validation utilities
|
|
14
|
+
export * from './validators';
|
|
15
|
+
// Export schema migration helpers
|
|
16
|
+
export { migrateLegacyExecuteSignal, convertToLegacyFormat, createValidationMiddleware, generatePythonValidator } from './validators';
|
|
17
|
+
// Export validation functions
|
|
18
|
+
export { validateSuccessResponse, validateErrorResponse, validateCreateControllerRequest, validateController, validateTradingSignal, validateExecuteSignalRequest } from './validators';
|
|
19
|
+
// Version and metadata
|
|
20
|
+
export const API_SCHEMA_VERSION = '1.0.0';
|
|
21
|
+
export const SUPPORTED_FORMATS = ['openapi-3.0.3', 'json-schema-draft-07'];
|
|
22
|
+
// Schema format constants
|
|
23
|
+
export const SCHEMAS = {
|
|
24
|
+
OPENAPI_SPEC: 'openapi.yaml',
|
|
25
|
+
JSON_SCHEMAS: 'schemas/',
|
|
26
|
+
GENERATED_TYPES: 'generated-types.ts'
|
|
27
|
+
};
|
|
28
|
+
// Endpoint normalization mappings
|
|
29
|
+
export const ENDPOINT_MIGRATIONS = {
|
|
30
|
+
LEGACY_EXECUTE_SIGNAL: '/trading/execute-signal',
|
|
31
|
+
LEGACY_CONTROLLER_SIGNAL: '/trading/{controller_id}/signal',
|
|
32
|
+
UNIFIED_EXECUTE_SIGNAL: '/trading/signals/execute'
|
|
33
|
+
};
|
|
34
|
+
// Common error codes
|
|
35
|
+
export const ERROR_CODES = {
|
|
36
|
+
VALIDATION_FAILED: 'VALIDATION_FAILED',
|
|
37
|
+
CONTROLLER_NOT_FOUND: 'CONTROLLER_NOT_FOUND',
|
|
38
|
+
INVALID_SIGNAL: 'INVALID_SIGNAL',
|
|
39
|
+
EXCHANGE_ERROR: 'EXCHANGE_ERROR',
|
|
40
|
+
UNAUTHORIZED: 'UNAUTHORIZED',
|
|
41
|
+
RATE_LIMITED: 'RATE_LIMITED',
|
|
42
|
+
INTERNAL_ERROR: 'INTERNAL_ERROR'
|
|
43
|
+
};
|
|
44
|
+
// Standard HTTP status codes
|
|
45
|
+
export const HTTP_STATUS = {
|
|
46
|
+
OK: 200,
|
|
47
|
+
CREATED: 201,
|
|
48
|
+
BAD_REQUEST: 400,
|
|
49
|
+
UNAUTHORIZED: 401,
|
|
50
|
+
FORBIDDEN: 403,
|
|
51
|
+
NOT_FOUND: 404,
|
|
52
|
+
CONFLICT: 409,
|
|
53
|
+
RATE_LIMITED: 429,
|
|
54
|
+
INTERNAL_ERROR: 500,
|
|
55
|
+
SERVICE_UNAVAILABLE: 503
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Create a standardized success response
|
|
59
|
+
*/
|
|
60
|
+
export function createSuccessResponse(message, data, additionalFields) {
|
|
61
|
+
return {
|
|
62
|
+
success: true,
|
|
63
|
+
message,
|
|
64
|
+
timestamp: new Date().toISOString(),
|
|
65
|
+
...(data !== undefined && { data }),
|
|
66
|
+
...additionalFields
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Create a standardized error response
|
|
71
|
+
*/
|
|
72
|
+
export function createErrorResponse(error, detail, errorCode, additionalFields) {
|
|
73
|
+
return {
|
|
74
|
+
success: false,
|
|
75
|
+
error,
|
|
76
|
+
...(detail && { detail }),
|
|
77
|
+
...(errorCode && { error_code: errorCode }),
|
|
78
|
+
timestamp: new Date().toISOString(),
|
|
79
|
+
...additionalFields
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Check if a response follows the standardized format
|
|
84
|
+
*/
|
|
85
|
+
export function isStandardizedResponse(response) {
|
|
86
|
+
return (typeof response === 'object' &&
|
|
87
|
+
response !== null &&
|
|
88
|
+
typeof response.success === 'boolean' &&
|
|
89
|
+
typeof response.timestamp === 'string');
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Normalize a legacy response to the standardized format
|
|
93
|
+
*/
|
|
94
|
+
export function normalizeLegacyResponse(response) {
|
|
95
|
+
// Already standardized
|
|
96
|
+
if (isStandardizedResponse(response)) {
|
|
97
|
+
return response;
|
|
98
|
+
}
|
|
99
|
+
// Handle common legacy patterns
|
|
100
|
+
if (response.status === 'success' || response.success === true) {
|
|
101
|
+
return createSuccessResponse(response.message || 'Operation completed successfully', response.data || response.result || response);
|
|
102
|
+
}
|
|
103
|
+
if (response.status === 'error' || response.error) {
|
|
104
|
+
return createErrorResponse(response.error || response.message || 'Operation failed', response.detail || response.description, response.error_code || response.code);
|
|
105
|
+
}
|
|
106
|
+
// Default: treat as successful data response
|
|
107
|
+
return createSuccessResponse('Operation completed successfully', response);
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schema validation utilities for autonoma API schemas.
|
|
3
|
+
*
|
|
4
|
+
* Provides runtime validation for API requests and responses using JSON Schema.
|
|
5
|
+
*/
|
|
6
|
+
export interface ValidationResult {
|
|
7
|
+
valid: boolean;
|
|
8
|
+
errors: ValidationError[];
|
|
9
|
+
data?: any;
|
|
10
|
+
}
|
|
11
|
+
export interface ValidationError {
|
|
12
|
+
field: string;
|
|
13
|
+
message: string;
|
|
14
|
+
value?: any;
|
|
15
|
+
code: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Validate a success response
|
|
19
|
+
*/
|
|
20
|
+
export declare function validateSuccessResponse(data: any): ValidationResult;
|
|
21
|
+
/**
|
|
22
|
+
* Validate an error response
|
|
23
|
+
*/
|
|
24
|
+
export declare function validateErrorResponse(data: any): ValidationResult;
|
|
25
|
+
/**
|
|
26
|
+
* Validate create controller request
|
|
27
|
+
*/
|
|
28
|
+
export declare function validateCreateControllerRequest(data: any): ValidationResult;
|
|
29
|
+
/**
|
|
30
|
+
* Validate controller object
|
|
31
|
+
*/
|
|
32
|
+
export declare function validateController(data: any): ValidationResult;
|
|
33
|
+
/**
|
|
34
|
+
* Validate trading signal
|
|
35
|
+
*/
|
|
36
|
+
export declare function validateTradingSignal(data: any): ValidationResult;
|
|
37
|
+
/**
|
|
38
|
+
* Validate execute signal request (UNIFIED)
|
|
39
|
+
*/
|
|
40
|
+
export declare function validateExecuteSignalRequest(data: any): ValidationResult;
|
|
41
|
+
export declare function validateYieldOpportunity(data: any): ValidationResult;
|
|
42
|
+
export declare function validateYieldSearchRequest(data: any): ValidationResult;
|
|
43
|
+
export declare function validateAllocationOptimization(data: any): ValidationResult;
|
|
44
|
+
export declare function validateDeFiSignal(data: any): ValidationResult;
|
|
45
|
+
export declare function validatePortfolioRiskAssessment(data: any): ValidationResult;
|
|
46
|
+
export declare function createYieldOpportunityResponse(opportunities: any[], metadata?: any): any;
|
|
47
|
+
export declare function createAllocationOptimizationResponse(optimization: any, metadata?: any): any;
|
|
48
|
+
export declare function createDeFiSignalResponse(execution_result: any, metadata?: any): any;
|
|
49
|
+
/**
|
|
50
|
+
* Express middleware factory for request validation
|
|
51
|
+
*/
|
|
52
|
+
export declare function createValidationMiddleware(validator: (data: any) => ValidationResult): (req: any, res: any, next: any) => any;
|
|
53
|
+
/**
|
|
54
|
+
* FastAPI dependency for request validation (Python equivalent helper)
|
|
55
|
+
*/
|
|
56
|
+
export declare function generatePythonValidator(schemaName: string): string;
|
|
57
|
+
/**
|
|
58
|
+
* Convert legacy execute signal format to unified format
|
|
59
|
+
*/
|
|
60
|
+
export declare function migrateLegacyExecuteSignal(legacyData: any): any;
|
|
61
|
+
/**
|
|
62
|
+
* Convert unified format to legacy format for backward compatibility
|
|
63
|
+
*/
|
|
64
|
+
export declare function convertToLegacyFormat(unifiedData: any, format: 'signal_type' | 'nested'): any;
|
|
65
|
+
//# sourceMappingURL=validators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../src/validators.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAaH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAyZD;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,GAAG,GAAG,gBAAgB,CAOnE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,GAAG,GAAG,gBAAgB,CAOjE;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,GAAG,GAAG,gBAAgB,CAO3E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,GAAG,GAAG,gBAAgB,CAO9D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,GAAG,GAAG,gBAAgB,CAOjE;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,GAAG,GAAG,gBAAgB,CAOxE;AAMD,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,GAAG,GAAG,gBAAgB,CAOpE;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,GAAG,GAAG,gBAAgB,CAOtE;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,GAAG,GAAG,gBAAgB,CAO1E;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,GAAG,GAAG,gBAAgB,CAO9D;AAED,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,GAAG,GAAG,gBAAgB,CAO3E;AAMD,wBAAgB,8BAA8B,CAC5C,aAAa,EAAE,GAAG,EAAE,EACpB,QAAQ,CAAC,EAAE,GAAG,GACb,GAAG,CAcL;AAED,wBAAgB,oCAAoC,CAClD,YAAY,EAAE,GAAG,EACjB,QAAQ,CAAC,EAAE,GAAG,GACb,GAAG,CAaL;AAED,wBAAgB,wBAAwB,CACtC,gBAAgB,EAAE,GAAG,EACrB,QAAQ,CAAC,EAAE,GAAG,GACb,GAAG,CAaL;AAMD;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,gBAAgB,IAC3E,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG,SAetC;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAYlE;AAMD;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,GAAG,GAAG,GAAG,CAiC/D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,GAAG,QAAQ,GAAG,GAAG,CAkB7F"}
|