@rozoai/intent-common 0.1.1-beta.2 → 0.1.1-beta.3
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/api/base.d.ts +11 -11
- package/dist/api/base.js +40 -29
- package/dist/api/base.js.map +1 -1
- package/dist/api/payment.js +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/api/base.ts +42 -31
- package/src/api/payment.ts +1 -1
- package/src/index.ts +1 -0
package/dist/api/base.d.ts
CHANGED
|
@@ -25,7 +25,7 @@ export interface RequestState<T = any> extends ApiResponse<T> {
|
|
|
25
25
|
/**
|
|
26
26
|
* API Version type
|
|
27
27
|
*/
|
|
28
|
-
export type ApiVersion = "
|
|
28
|
+
export type ApiVersion = "v1" | "v2";
|
|
29
29
|
/**
|
|
30
30
|
* API Configuration
|
|
31
31
|
*/
|
|
@@ -34,31 +34,31 @@ export interface ApiConfig {
|
|
|
34
34
|
apiToken: string;
|
|
35
35
|
version?: ApiVersion;
|
|
36
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* Gets the current active API configuration
|
|
39
|
+
* @returns Current API configuration
|
|
40
|
+
*/
|
|
41
|
+
export declare const getApiConfig: () => ApiConfig;
|
|
37
42
|
/**
|
|
38
43
|
* Sets the API configuration (baseUrl, apiToken, and version)
|
|
39
44
|
* @param config - Partial API configuration to override defaults
|
|
40
45
|
* @example
|
|
41
46
|
* ```typescript
|
|
42
|
-
* // Use v2 API
|
|
47
|
+
* // Use v2 API (default)
|
|
43
48
|
* setApiConfig({ version: "v2" });
|
|
44
49
|
*
|
|
45
|
-
* // Use
|
|
46
|
-
* setApiConfig({ version: "
|
|
50
|
+
* // Use v1 API
|
|
51
|
+
* setApiConfig({ version: "v1" });
|
|
47
52
|
*
|
|
48
|
-
* // Custom configuration
|
|
53
|
+
* // Custom configuration for a specific version
|
|
49
54
|
* setApiConfig({
|
|
50
55
|
* baseUrl: "https://custom-api.com",
|
|
51
56
|
* apiToken: "custom-token",
|
|
52
|
-
* version: "
|
|
57
|
+
* version: "v2"
|
|
53
58
|
* });
|
|
54
59
|
* ```
|
|
55
60
|
*/
|
|
56
61
|
export declare const setApiConfig: (config: Partial<ApiConfig>) => void;
|
|
57
|
-
/**
|
|
58
|
-
* Gets the current API configuration
|
|
59
|
-
* @returns Current API configuration
|
|
60
|
-
*/
|
|
61
|
-
export declare const getApiConfig: () => Readonly<ApiConfig>;
|
|
62
62
|
/**
|
|
63
63
|
* Core fetch function for making API requests
|
|
64
64
|
* @param url - API endpoint path
|
package/dist/api/base.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.apiClient = exports.fetchApi = exports.
|
|
3
|
+
exports.apiClient = exports.fetchApi = exports.setApiConfig = exports.getApiConfig = exports.ROZO_API_TOKEN = exports.NEW_ROZO_API_URL = exports.ROZO_API_URL = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* RozoAI API Configuration Constants
|
|
6
6
|
*/
|
|
@@ -8,53 +8,62 @@ exports.ROZO_API_URL = "https://intentapiv2.rozo.ai/functions/v1";
|
|
|
8
8
|
exports.NEW_ROZO_API_URL = "https://intentapiv4.rozo.ai/functions/v1";
|
|
9
9
|
exports.ROZO_API_TOKEN = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImZ4Y3Zmb2xobmNtdXZmYXp1cXViIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTI4Mzg2NjYsImV4cCI6MjA2ODQxNDY2Nn0.B4dV5y_-zCMKSNm3_qyCbAvCPJmoOGv_xB783LfAVUA";
|
|
10
10
|
// Default configuration (can be overridden via setApiConfig)
|
|
11
|
-
//
|
|
11
|
+
// v2 is the default API version
|
|
12
12
|
let apiConfig = {
|
|
13
|
-
baseUrl: exports.
|
|
14
|
-
apiToken: exports.ROZO_API_TOKEN,
|
|
15
|
-
version: "v4",
|
|
13
|
+
v1: { baseUrl: exports.ROZO_API_URL, apiToken: exports.ROZO_API_TOKEN, version: "v1" },
|
|
14
|
+
v2: { baseUrl: exports.NEW_ROZO_API_URL, apiToken: exports.ROZO_API_TOKEN, version: "v2" },
|
|
16
15
|
};
|
|
16
|
+
// Current active API version
|
|
17
|
+
let activeVersion = "v2";
|
|
18
|
+
/**
|
|
19
|
+
* Gets the current active API configuration
|
|
20
|
+
* @returns Current API configuration
|
|
21
|
+
*/
|
|
22
|
+
const getApiConfig = () => {
|
|
23
|
+
return apiConfig[activeVersion];
|
|
24
|
+
};
|
|
25
|
+
exports.getApiConfig = getApiConfig;
|
|
17
26
|
/**
|
|
18
27
|
* Sets the API configuration (baseUrl, apiToken, and version)
|
|
19
28
|
* @param config - Partial API configuration to override defaults
|
|
20
29
|
* @example
|
|
21
30
|
* ```typescript
|
|
22
|
-
* // Use v2 API
|
|
31
|
+
* // Use v2 API (default)
|
|
23
32
|
* setApiConfig({ version: "v2" });
|
|
24
33
|
*
|
|
25
|
-
* // Use
|
|
26
|
-
* setApiConfig({ version: "
|
|
34
|
+
* // Use v1 API
|
|
35
|
+
* setApiConfig({ version: "v1" });
|
|
27
36
|
*
|
|
28
|
-
* // Custom configuration
|
|
37
|
+
* // Custom configuration for a specific version
|
|
29
38
|
* setApiConfig({
|
|
30
39
|
* baseUrl: "https://custom-api.com",
|
|
31
40
|
* apiToken: "custom-token",
|
|
32
|
-
* version: "
|
|
41
|
+
* version: "v2"
|
|
33
42
|
* });
|
|
34
43
|
* ```
|
|
35
44
|
*/
|
|
36
45
|
const setApiConfig = (config) => {
|
|
37
46
|
if (config.version) {
|
|
38
|
-
|
|
39
|
-
if
|
|
40
|
-
|
|
41
|
-
|
|
47
|
+
activeVersion = config.version;
|
|
48
|
+
// Update the specific version's config if baseUrl or apiToken provided
|
|
49
|
+
if (config.baseUrl || config.apiToken) {
|
|
50
|
+
apiConfig[activeVersion] = {
|
|
51
|
+
...apiConfig[activeVersion],
|
|
52
|
+
...(config.baseUrl && { baseUrl: config.baseUrl }),
|
|
53
|
+
...(config.apiToken && { apiToken: config.apiToken }),
|
|
54
|
+
};
|
|
42
55
|
}
|
|
43
56
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
57
|
+
else {
|
|
58
|
+
// Update current active version with provided config
|
|
59
|
+
apiConfig[activeVersion] = {
|
|
60
|
+
...apiConfig[activeVersion],
|
|
61
|
+
...(config.baseUrl && { baseUrl: config.baseUrl }),
|
|
62
|
+
...(config.apiToken && { apiToken: config.apiToken }),
|
|
63
|
+
};
|
|
64
|
+
}
|
|
48
65
|
};
|
|
49
66
|
exports.setApiConfig = setApiConfig;
|
|
50
|
-
/**
|
|
51
|
-
* Gets the current API configuration
|
|
52
|
-
* @returns Current API configuration
|
|
53
|
-
*/
|
|
54
|
-
const getApiConfig = () => {
|
|
55
|
-
return { ...apiConfig };
|
|
56
|
-
};
|
|
57
|
-
exports.getApiConfig = getApiConfig;
|
|
58
67
|
/**
|
|
59
68
|
* Creates a URL with query parameters
|
|
60
69
|
* @param url - Base URL
|
|
@@ -62,9 +71,10 @@ exports.getApiConfig = getApiConfig;
|
|
|
62
71
|
* @returns Full URL with query parameters
|
|
63
72
|
*/
|
|
64
73
|
const createUrl = (url, params) => {
|
|
74
|
+
const config = (0, exports.getApiConfig)();
|
|
65
75
|
const fullUrl = url.startsWith("/")
|
|
66
|
-
? `${
|
|
67
|
-
: `${
|
|
76
|
+
? `${config.baseUrl}${url}`
|
|
77
|
+
: `${config.baseUrl}/${url}`;
|
|
68
78
|
if (!params)
|
|
69
79
|
return fullUrl;
|
|
70
80
|
const queryParams = new URLSearchParams();
|
|
@@ -86,10 +96,11 @@ const fetchApi = async (url, options = {}) => {
|
|
|
86
96
|
const { method = "GET", headers = {}, body, params, signal } = options;
|
|
87
97
|
try {
|
|
88
98
|
const fullUrl = createUrl(url, params);
|
|
99
|
+
const config = (0, exports.getApiConfig)();
|
|
89
100
|
const requestHeaders = {
|
|
90
101
|
"Content-Type": "application/json",
|
|
91
102
|
...headers,
|
|
92
|
-
Authorization: `Bearer ${
|
|
103
|
+
Authorization: `Bearer ${config.apiToken}`,
|
|
93
104
|
};
|
|
94
105
|
const requestOptions = {
|
|
95
106
|
method,
|
package/dist/api/base.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/api/base.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACU,QAAA,YAAY,GAAG,0CAA0C,CAAC;AAC1D,QAAA,gBAAgB,GAAG,0CAA0C,CAAC;AAC9D,QAAA,cAAc,GACzB,kNAAkN,CAAC;AA0CrN,6DAA6D;AAC7D,gCAAgC;AAChC,IAAI,SAAS,
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/api/base.ts"],"names":[],"mappings":"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"}
|
package/dist/api/payment.js
CHANGED
|
@@ -129,7 +129,7 @@ async function createPayment(params) {
|
|
|
129
129
|
...(webhookUrl ? { webhookUrl } : {}),
|
|
130
130
|
...(webhookSecret ? { webhookSecret } : {}),
|
|
131
131
|
};
|
|
132
|
-
if (apiVersion === "
|
|
132
|
+
if (apiVersion === "v1") {
|
|
133
133
|
paymentData.display.intent = title ?? "Pay";
|
|
134
134
|
paymentData.destination.amountUnits = destination.amountUnits;
|
|
135
135
|
paymentData.destination.destinationAddress = destinationAddress;
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -14,6 +14,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.setApiConfig = void 0;
|
|
18
|
+
var base_1 = require("./api/base");
|
|
19
|
+
Object.defineProperty(exports, "setApiConfig", { enumerable: true, get: function () { return base_1.setApiConfig; } });
|
|
17
20
|
__exportStar(require("./api/fee"), exports);
|
|
18
21
|
__exportStar(require("./api/payment"), exports);
|
|
19
22
|
__exportStar(require("./assert"), exports);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,mCAA2D;AAAlD,oGAAA,YAAY,OAAA;AACrB,4CAA0B;AAC1B,gDAA8B;AAC9B,2CAAyB;AACzB,iDAA+B;AAC/B,0CAAwB;AACxB,0CAAwB;AACxB,2CAAyB;AACzB,mDAAiC;AACjC,iDAA+B;AAC/B,4CAA0B;AAC1B,0CAAwB;AACxB,wCAAsB;AACtB,+CAA6B"}
|
package/package.json
CHANGED
package/src/api/base.ts
CHANGED
|
@@ -35,7 +35,7 @@ export interface RequestState<T = any> extends ApiResponse<T> {
|
|
|
35
35
|
/**
|
|
36
36
|
* API Version type
|
|
37
37
|
*/
|
|
38
|
-
export type ApiVersion = "
|
|
38
|
+
export type ApiVersion = "v1" | "v2";
|
|
39
39
|
|
|
40
40
|
/**
|
|
41
41
|
* API Configuration
|
|
@@ -47,11 +47,21 @@ export interface ApiConfig {
|
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
// Default configuration (can be overridden via setApiConfig)
|
|
50
|
-
//
|
|
51
|
-
let apiConfig: ApiConfig = {
|
|
52
|
-
baseUrl:
|
|
53
|
-
apiToken: ROZO_API_TOKEN,
|
|
54
|
-
|
|
50
|
+
// v2 is the default API version
|
|
51
|
+
let apiConfig: Record<ApiVersion, ApiConfig> = {
|
|
52
|
+
v1: { baseUrl: ROZO_API_URL, apiToken: ROZO_API_TOKEN, version: "v1" },
|
|
53
|
+
v2: { baseUrl: NEW_ROZO_API_URL, apiToken: ROZO_API_TOKEN, version: "v2" },
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
// Current active API version
|
|
57
|
+
let activeVersion: ApiVersion = "v2";
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Gets the current active API configuration
|
|
61
|
+
* @returns Current API configuration
|
|
62
|
+
*/
|
|
63
|
+
export const getApiConfig = (): ApiConfig => {
|
|
64
|
+
return apiConfig[activeVersion];
|
|
55
65
|
};
|
|
56
66
|
|
|
57
67
|
/**
|
|
@@ -59,41 +69,40 @@ let apiConfig: ApiConfig = {
|
|
|
59
69
|
* @param config - Partial API configuration to override defaults
|
|
60
70
|
* @example
|
|
61
71
|
* ```typescript
|
|
62
|
-
* // Use v2 API
|
|
72
|
+
* // Use v2 API (default)
|
|
63
73
|
* setApiConfig({ version: "v2" });
|
|
64
74
|
*
|
|
65
|
-
* // Use
|
|
66
|
-
* setApiConfig({ version: "
|
|
75
|
+
* // Use v1 API
|
|
76
|
+
* setApiConfig({ version: "v1" });
|
|
67
77
|
*
|
|
68
|
-
* // Custom configuration
|
|
78
|
+
* // Custom configuration for a specific version
|
|
69
79
|
* setApiConfig({
|
|
70
80
|
* baseUrl: "https://custom-api.com",
|
|
71
81
|
* apiToken: "custom-token",
|
|
72
|
-
* version: "
|
|
82
|
+
* version: "v2"
|
|
73
83
|
* });
|
|
74
84
|
* ```
|
|
75
85
|
*/
|
|
76
86
|
export const setApiConfig = (config: Partial<ApiConfig>): void => {
|
|
77
87
|
if (config.version) {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
88
|
+
activeVersion = config.version;
|
|
89
|
+
|
|
90
|
+
// Update the specific version's config if baseUrl or apiToken provided
|
|
91
|
+
if (config.baseUrl || config.apiToken) {
|
|
92
|
+
apiConfig[activeVersion] = {
|
|
93
|
+
...apiConfig[activeVersion],
|
|
94
|
+
...(config.baseUrl && { baseUrl: config.baseUrl }),
|
|
95
|
+
...(config.apiToken && { apiToken: config.apiToken }),
|
|
96
|
+
};
|
|
82
97
|
}
|
|
98
|
+
} else {
|
|
99
|
+
// Update current active version with provided config
|
|
100
|
+
apiConfig[activeVersion] = {
|
|
101
|
+
...apiConfig[activeVersion],
|
|
102
|
+
...(config.baseUrl && { baseUrl: config.baseUrl }),
|
|
103
|
+
...(config.apiToken && { apiToken: config.apiToken }),
|
|
104
|
+
};
|
|
83
105
|
}
|
|
84
|
-
|
|
85
|
-
apiConfig = {
|
|
86
|
-
...apiConfig,
|
|
87
|
-
...config,
|
|
88
|
-
};
|
|
89
|
-
};
|
|
90
|
-
|
|
91
|
-
/**
|
|
92
|
-
* Gets the current API configuration
|
|
93
|
-
* @returns Current API configuration
|
|
94
|
-
*/
|
|
95
|
-
export const getApiConfig = (): Readonly<ApiConfig> => {
|
|
96
|
-
return { ...apiConfig };
|
|
97
106
|
};
|
|
98
107
|
|
|
99
108
|
/**
|
|
@@ -103,9 +112,10 @@ export const getApiConfig = (): Readonly<ApiConfig> => {
|
|
|
103
112
|
* @returns Full URL with query parameters
|
|
104
113
|
*/
|
|
105
114
|
const createUrl = (url: string, params?: Record<string, string>): string => {
|
|
115
|
+
const config = getApiConfig();
|
|
106
116
|
const fullUrl = url.startsWith("/")
|
|
107
|
-
? `${
|
|
108
|
-
: `${
|
|
117
|
+
? `${config.baseUrl}${url}`
|
|
118
|
+
: `${config.baseUrl}/${url}`;
|
|
109
119
|
|
|
110
120
|
if (!params) return fullUrl;
|
|
111
121
|
|
|
@@ -135,10 +145,11 @@ export const fetchApi = async <T = any>(
|
|
|
135
145
|
try {
|
|
136
146
|
const fullUrl = createUrl(url, params);
|
|
137
147
|
|
|
148
|
+
const config = getApiConfig();
|
|
138
149
|
const requestHeaders: Record<string, string> = {
|
|
139
150
|
"Content-Type": "application/json",
|
|
140
151
|
...headers,
|
|
141
|
-
Authorization: `Bearer ${
|
|
152
|
+
Authorization: `Bearer ${config.apiToken}`,
|
|
142
153
|
};
|
|
143
154
|
|
|
144
155
|
const requestOptions: {
|
package/src/api/payment.ts
CHANGED
|
@@ -421,7 +421,7 @@ export async function createPayment(
|
|
|
421
421
|
...(webhookSecret ? { webhookSecret } : {}),
|
|
422
422
|
};
|
|
423
423
|
|
|
424
|
-
if (apiVersion === "
|
|
424
|
+
if (apiVersion === "v1") {
|
|
425
425
|
paymentData.display.intent = title ?? "Pay";
|
|
426
426
|
paymentData.destination.amountUnits = destination.amountUnits;
|
|
427
427
|
paymentData.destination.destinationAddress = destinationAddress;
|
package/src/index.ts
CHANGED