@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.
@@ -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 = "v2" | "v4";
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 v4 API (default)
46
- * setApiConfig({ version: "v4" });
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: "v4"
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.getApiConfig = exports.setApiConfig = exports.ROZO_API_TOKEN = exports.NEW_ROZO_API_URL = exports.ROZO_API_URL = void 0;
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
- // v4 is the default API version
11
+ // v2 is the default API version
12
12
  let apiConfig = {
13
- baseUrl: exports.NEW_ROZO_API_URL,
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 v4 API (default)
26
- * setApiConfig({ version: "v4" });
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: "v4"
41
+ * version: "v2"
33
42
  * });
34
43
  * ```
35
44
  */
36
45
  const setApiConfig = (config) => {
37
46
  if (config.version) {
38
- // Auto-set baseUrl based on version if not explicitly provided
39
- if (!config.baseUrl) {
40
- config.baseUrl =
41
- config.version === "v4" ? exports.NEW_ROZO_API_URL : exports.ROZO_API_URL;
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
- apiConfig = {
45
- ...apiConfig,
46
- ...config,
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
- ? `${apiConfig.baseUrl}${url}`
67
- : `${apiConfig.baseUrl}/${url}`;
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 ${apiConfig.apiToken}`,
103
+ Authorization: `Bearer ${config.apiToken}`,
93
104
  };
94
105
  const requestOptions = {
95
106
  method,
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/api/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/api/base.ts"],"names":[],"mappings":"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"}
@@ -129,7 +129,7 @@ async function createPayment(params) {
129
129
  ...(webhookUrl ? { webhookUrl } : {}),
130
130
  ...(webhookSecret ? { webhookSecret } : {}),
131
131
  };
132
- if (apiVersion === "v2") {
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
@@ -1,3 +1,4 @@
1
+ export { setApiConfig, type ApiVersion } from "./api/base";
1
2
  export * from "./api/fee";
2
3
  export * from "./api/payment";
3
4
  export * from "./assert";
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":";;;;;;;;;;;;;;;;AAAA,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"}
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rozoai/intent-common",
3
- "version": "0.1.1-beta.2",
3
+ "version": "0.1.1-beta.3",
4
4
  "description": "Intent Pay shared types and utilities",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
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 = "v2" | "v4";
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
- // v4 is the default API version
51
- let apiConfig: ApiConfig = {
52
- baseUrl: NEW_ROZO_API_URL,
53
- apiToken: ROZO_API_TOKEN,
54
- version: "v4",
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 v4 API (default)
66
- * setApiConfig({ version: "v4" });
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: "v4"
82
+ * version: "v2"
73
83
  * });
74
84
  * ```
75
85
  */
76
86
  export const setApiConfig = (config: Partial<ApiConfig>): void => {
77
87
  if (config.version) {
78
- // Auto-set baseUrl based on version if not explicitly provided
79
- if (!config.baseUrl) {
80
- config.baseUrl =
81
- config.version === "v4" ? NEW_ROZO_API_URL : ROZO_API_URL;
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
- ? `${apiConfig.baseUrl}${url}`
108
- : `${apiConfig.baseUrl}/${url}`;
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 ${apiConfig.apiToken}`,
152
+ Authorization: `Bearer ${config.apiToken}`,
142
153
  };
143
154
 
144
155
  const requestOptions: {
@@ -421,7 +421,7 @@ export async function createPayment(
421
421
  ...(webhookSecret ? { webhookSecret } : {}),
422
422
  };
423
423
 
424
- if (apiVersion === "v2") {
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
@@ -1,3 +1,4 @@
1
+ export { setApiConfig, type ApiVersion } from "./api/base";
1
2
  export * from "./api/fee";
2
3
  export * from "./api/payment";
3
4
  export * from "./assert";