satuchain-api 1.0.3 → 1.0.4

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.
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SatuChainAPI = void 0;
3
+ exports.SatuChain = exports.SatuChainAPI = void 0;
4
4
  const errors_js_1 = require("./errors.js");
5
5
  const DEFAULT_BASE_URL = "https://dev.satuchain.com";
6
6
  const DEFAULT_TIMEOUT = 10000;
@@ -37,7 +37,7 @@ class SatuChainAPI {
37
37
  headers: {
38
38
  "X-API-Key": this.apiKey,
39
39
  "Accept": "application/json",
40
- "User-Agent": "satuchain-sdk/1.0.3",
40
+ "User-Agent": "satuchain-sdk/1.0.4",
41
41
  },
42
42
  signal,
43
43
  });
@@ -80,13 +80,12 @@ class SatuChainAPI {
80
80
  return json;
81
81
  }
82
82
  /**
83
- * Fetch live commodity, forex, and crypto price data.
83
+ * Fetch live commodity, forex, and crypto price data in one call.
84
84
  *
85
85
  * @example
86
86
  * const data = await api.getCommodities();
87
87
  * console.log(data.forex.IDR.value); // IDR per 1 USD
88
88
  * console.log(data.crypto.BTC.value); // BTC price in USD
89
- * console.log(data.crypto.ETH.value); // ETH price in USD
90
89
  * console.log(data.commodities.XAU.value); // Gold USD/troy oz
91
90
  * console.log(data.commodities.WTI.value); // WTI Oil USD/barrel
92
91
  * console.log(data.tier); // "basic" or "pro"
@@ -94,6 +93,52 @@ class SatuChainAPI {
94
93
  async getCommodities(opts) {
95
94
  return this.request("/api/commodities", opts);
96
95
  }
96
+ /**
97
+ * Get the price of a single symbol (forex, crypto, or commodity).
98
+ * Returns value in USD and IDR, plus change_percent for commodities.
99
+ *
100
+ * @example
101
+ * const btc = await api.getTicker("BTC");
102
+ * console.log(btc.value); // BTC price in USD
103
+ * console.log(btc.value_idr); // BTC price in IDR
104
+ *
105
+ * const gold = await api.getTicker("XAU");
106
+ * console.log(gold.change_percent); // % change from previous close
107
+ */
108
+ async getTicker(symbol, opts) {
109
+ return this.request(`/api/ticker/${symbol.toUpperCase()}`, opts);
110
+ }
111
+ /**
112
+ * Convert between any two supported symbols (forex, crypto, commodity).
113
+ *
114
+ * @example
115
+ * const result = await api.convert({ from: "BTC", to: "IDR", amount: 0.5 });
116
+ * console.log(result.result); // IDR amount
117
+ * console.log(result.rate); // 1 BTC in IDR
118
+ *
119
+ * const myr = await api.convert({ from: "USD", to: "MYR", amount: 100 });
120
+ * console.log(myr.result); // MYR equivalent of 100 USD
121
+ */
122
+ async convert(options) {
123
+ const { from, to, amount = 1, ...reqOpts } = options;
124
+ const params = new URLSearchParams({
125
+ from: from.toUpperCase(),
126
+ to: to.toUpperCase(),
127
+ amount: String(amount),
128
+ });
129
+ return this.request(`/api/convert?${params}`, reqOpts);
130
+ }
131
+ /**
132
+ * Get the Bank Indonesia 7-Day Reverse Repo Rate (BI7DRR).
133
+ *
134
+ * @example
135
+ * const bi = await api.getBiRate();
136
+ * console.log(bi.rate_percent); // e.g. "6.00%"
137
+ * console.log(bi.since); // effective since date
138
+ */
139
+ async getBiRate(opts) {
140
+ return this.request("/api/bi-rate", opts);
141
+ }
97
142
  /**
98
143
  * Get just the forex rates (subset of getCommodities).
99
144
  */
@@ -123,4 +168,6 @@ class SatuChainAPI {
123
168
  }
124
169
  }
125
170
  exports.SatuChainAPI = SatuChainAPI;
171
+ /** Alias for SatuChainAPI */
172
+ exports.SatuChain = SatuChainAPI;
126
173
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SatuChainUpstreamError = exports.SatuChainRateLimitError = exports.SatuChainAuthError = exports.SatuChainError = exports.SatuChainAPI = void 0;
3
+ exports.SatuChainUpstreamError = exports.SatuChainRateLimitError = exports.SatuChainAuthError = exports.SatuChainError = exports.SatuChain = exports.SatuChainAPI = void 0;
4
4
  var client_js_1 = require("./client.js");
5
5
  Object.defineProperty(exports, "SatuChainAPI", { enumerable: true, get: function () { return client_js_1.SatuChainAPI; } });
6
+ Object.defineProperty(exports, "SatuChain", { enumerable: true, get: function () { return client_js_1.SatuChain; } });
6
7
  var errors_js_1 = require("./errors.js");
7
8
  Object.defineProperty(exports, "SatuChainError", { enumerable: true, get: function () { return errors_js_1.SatuChainError; } });
8
9
  Object.defineProperty(exports, "SatuChainAuthError", { enumerable: true, get: function () { return errors_js_1.SatuChainAuthError; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,yCAA2C;AAAlC,yGAAA,YAAY,OAAA;AACrB,yCAKqB;AAJnB,2GAAA,cAAc,OAAA;AACd,+GAAA,kBAAkB,OAAA;AAClB,oHAAA,uBAAuB,OAAA;AACvB,mHAAA,sBAAsB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,yCAAsD;AAA7C,yGAAA,YAAY,OAAA;AAAE,sGAAA,SAAS,OAAA;AAChC,yCAKqB;AAJnB,2GAAA,cAAc,OAAA;AACd,+GAAA,kBAAkB,OAAA;AAClB,oHAAA,uBAAuB,OAAA;AACvB,mHAAA,sBAAsB,OAAA"}
@@ -1,4 +1,4 @@
1
- import type { SatuChainAPIOptions, RequestOptions, CommoditiesResponse, RateLimitInfo } from "./types.js";
1
+ import type { SatuChainAPIOptions, RequestOptions, CommoditiesResponse, TickerResponse, ConvertResponse, ConvertOptions, BiRateResponse, RateLimitInfo } from "./types.js";
2
2
  export declare class SatuChainAPI {
3
3
  private readonly apiKey;
4
4
  private readonly baseUrl;
@@ -8,18 +8,51 @@ export declare class SatuChainAPI {
8
8
  constructor(options: SatuChainAPIOptions | string);
9
9
  private request;
10
10
  /**
11
- * Fetch live commodity, forex, and crypto price data.
11
+ * Fetch live commodity, forex, and crypto price data in one call.
12
12
  *
13
13
  * @example
14
14
  * const data = await api.getCommodities();
15
15
  * console.log(data.forex.IDR.value); // IDR per 1 USD
16
16
  * console.log(data.crypto.BTC.value); // BTC price in USD
17
- * console.log(data.crypto.ETH.value); // ETH price in USD
18
17
  * console.log(data.commodities.XAU.value); // Gold USD/troy oz
19
18
  * console.log(data.commodities.WTI.value); // WTI Oil USD/barrel
20
19
  * console.log(data.tier); // "basic" or "pro"
21
20
  */
22
21
  getCommodities(opts?: RequestOptions): Promise<CommoditiesResponse>;
22
+ /**
23
+ * Get the price of a single symbol (forex, crypto, or commodity).
24
+ * Returns value in USD and IDR, plus change_percent for commodities.
25
+ *
26
+ * @example
27
+ * const btc = await api.getTicker("BTC");
28
+ * console.log(btc.value); // BTC price in USD
29
+ * console.log(btc.value_idr); // BTC price in IDR
30
+ *
31
+ * const gold = await api.getTicker("XAU");
32
+ * console.log(gold.change_percent); // % change from previous close
33
+ */
34
+ getTicker(symbol: string, opts?: RequestOptions): Promise<TickerResponse>;
35
+ /**
36
+ * Convert between any two supported symbols (forex, crypto, commodity).
37
+ *
38
+ * @example
39
+ * const result = await api.convert({ from: "BTC", to: "IDR", amount: 0.5 });
40
+ * console.log(result.result); // IDR amount
41
+ * console.log(result.rate); // 1 BTC in IDR
42
+ *
43
+ * const myr = await api.convert({ from: "USD", to: "MYR", amount: 100 });
44
+ * console.log(myr.result); // MYR equivalent of 100 USD
45
+ */
46
+ convert(options: ConvertOptions): Promise<ConvertResponse>;
47
+ /**
48
+ * Get the Bank Indonesia 7-Day Reverse Repo Rate (BI7DRR).
49
+ *
50
+ * @example
51
+ * const bi = await api.getBiRate();
52
+ * console.log(bi.rate_percent); // e.g. "6.00%"
53
+ * console.log(bi.since); // effective since date
54
+ */
55
+ getBiRate(opts?: RequestOptions): Promise<BiRateResponse>;
23
56
  /**
24
57
  * Get just the forex rates (subset of getCommodities).
25
58
  */
@@ -37,4 +70,6 @@ export declare class SatuChainAPI {
37
70
  */
38
71
  getMetals(opts?: RequestOptions): Promise<CommoditiesResponse["commodities"]>;
39
72
  }
73
+ /** Alias for SatuChainAPI */
74
+ export declare const SatuChain: typeof SatuChainAPI;
40
75
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,aAAa,EACd,MAAM,YAAY,CAAC;AAWpB,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IAEjC,yDAAyD;IAClD,SAAS,EAAE,aAAa,GAAG,IAAI,CAAQ;gBAElC,OAAO,EAAE,mBAAmB,GAAG,MAAM;YAgBnC,OAAO;IAsErB;;;;;;;;;;;OAWG;IACG,cAAc,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAIzE;;OAEG;IACG,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAK5E;;OAEG;IACG,SAAS,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAK9E;;OAEG;IACG,kBAAkB,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;IAK5F;;OAEG;IACG,SAAS,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;CAGpF"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,cAAc,EACd,cAAc,EACd,aAAa,EACd,MAAM,YAAY,CAAC;AAWpB,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IAEjC,yDAAyD;IAClD,SAAS,EAAE,aAAa,GAAG,IAAI,CAAQ;gBAElC,OAAO,EAAE,mBAAmB,GAAG,MAAM;YAgBnC,OAAO;IAsErB;;;;;;;;;;OAUG;IACG,cAAc,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAIzE;;;;;;;;;;;OAWG;IACG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAI/E;;;;;;;;;;OAUG;IACG,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAUhE;;;;;;;OAOG;IACG,SAAS,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAI/D;;OAEG;IACG,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAK5E;;OAEG;IACG,SAAS,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAK9E;;OAEG;IACG,kBAAkB,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;IAK5F;;OAEG;IACG,SAAS,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;CAGpF;AAED,6BAA6B;AAC7B,eAAO,MAAM,SAAS,qBAAe,CAAC"}
@@ -34,7 +34,7 @@ export class SatuChainAPI {
34
34
  headers: {
35
35
  "X-API-Key": this.apiKey,
36
36
  "Accept": "application/json",
37
- "User-Agent": "satuchain-sdk/1.0.3",
37
+ "User-Agent": "satuchain-sdk/1.0.4",
38
38
  },
39
39
  signal,
40
40
  });
@@ -77,13 +77,12 @@ export class SatuChainAPI {
77
77
  return json;
78
78
  }
79
79
  /**
80
- * Fetch live commodity, forex, and crypto price data.
80
+ * Fetch live commodity, forex, and crypto price data in one call.
81
81
  *
82
82
  * @example
83
83
  * const data = await api.getCommodities();
84
84
  * console.log(data.forex.IDR.value); // IDR per 1 USD
85
85
  * console.log(data.crypto.BTC.value); // BTC price in USD
86
- * console.log(data.crypto.ETH.value); // ETH price in USD
87
86
  * console.log(data.commodities.XAU.value); // Gold USD/troy oz
88
87
  * console.log(data.commodities.WTI.value); // WTI Oil USD/barrel
89
88
  * console.log(data.tier); // "basic" or "pro"
@@ -91,6 +90,52 @@ export class SatuChainAPI {
91
90
  async getCommodities(opts) {
92
91
  return this.request("/api/commodities", opts);
93
92
  }
93
+ /**
94
+ * Get the price of a single symbol (forex, crypto, or commodity).
95
+ * Returns value in USD and IDR, plus change_percent for commodities.
96
+ *
97
+ * @example
98
+ * const btc = await api.getTicker("BTC");
99
+ * console.log(btc.value); // BTC price in USD
100
+ * console.log(btc.value_idr); // BTC price in IDR
101
+ *
102
+ * const gold = await api.getTicker("XAU");
103
+ * console.log(gold.change_percent); // % change from previous close
104
+ */
105
+ async getTicker(symbol, opts) {
106
+ return this.request(`/api/ticker/${symbol.toUpperCase()}`, opts);
107
+ }
108
+ /**
109
+ * Convert between any two supported symbols (forex, crypto, commodity).
110
+ *
111
+ * @example
112
+ * const result = await api.convert({ from: "BTC", to: "IDR", amount: 0.5 });
113
+ * console.log(result.result); // IDR amount
114
+ * console.log(result.rate); // 1 BTC in IDR
115
+ *
116
+ * const myr = await api.convert({ from: "USD", to: "MYR", amount: 100 });
117
+ * console.log(myr.result); // MYR equivalent of 100 USD
118
+ */
119
+ async convert(options) {
120
+ const { from, to, amount = 1, ...reqOpts } = options;
121
+ const params = new URLSearchParams({
122
+ from: from.toUpperCase(),
123
+ to: to.toUpperCase(),
124
+ amount: String(amount),
125
+ });
126
+ return this.request(`/api/convert?${params}`, reqOpts);
127
+ }
128
+ /**
129
+ * Get the Bank Indonesia 7-Day Reverse Repo Rate (BI7DRR).
130
+ *
131
+ * @example
132
+ * const bi = await api.getBiRate();
133
+ * console.log(bi.rate_percent); // e.g. "6.00%"
134
+ * console.log(bi.since); // effective since date
135
+ */
136
+ async getBiRate(opts) {
137
+ return this.request("/api/bi-rate", opts);
138
+ }
94
139
  /**
95
140
  * Get just the forex rates (subset of getCommodities).
96
141
  */
@@ -119,4 +164,6 @@ export class SatuChainAPI {
119
164
  return this.getCommodityPrices(opts);
120
165
  }
121
166
  }
167
+ /** Alias for SatuChainAPI */
168
+ export const SatuChain = SatuChainAPI;
122
169
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export { SatuChainAPI } from "./client.js";
1
+ export { SatuChainAPI, SatuChain } from "./client.js";
2
2
  export { SatuChainError, SatuChainAuthError, SatuChainRateLimitError, SatuChainUpstreamError, } from "./errors.js";
3
- export type { SatuChainAPIOptions, RequestOptions, CommoditiesResponse, ForexEntry, CryptoEntry, CommodityEntry, RateLimitInfo, } from "./types.js";
3
+ export type { SatuChainAPIOptions, RequestOptions, CommoditiesResponse, TickerResponse, ConvertResponse, ConvertOptions, BiRateResponse, ForexEntry, CryptoEntry, CommodityEntry, RateLimitInfo, } from "./types.js";
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,UAAU,EACV,WAAW,EACX,cAAc,EACd,aAAa,GACd,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,cAAc,EACd,cAAc,EACd,UAAU,EACV,WAAW,EACX,cAAc,EACd,aAAa,GACd,MAAM,YAAY,CAAC"}
package/dist/esm/index.js CHANGED
@@ -1,3 +1,3 @@
1
- export { SatuChainAPI } from "./client.js";
1
+ export { SatuChainAPI, SatuChain } from "./client.js";
2
2
  export { SatuChainError, SatuChainAuthError, SatuChainRateLimitError, SatuChainUpstreamError, } from "./errors.js";
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,aAAa,CAAC"}
@@ -62,6 +62,51 @@ export interface CommoditiesResponse {
62
62
  BRENT: CommodityEntry;
63
63
  };
64
64
  }
65
+ export interface TickerResponse {
66
+ ok: true;
67
+ symbol: string;
68
+ name: string;
69
+ type: "forex" | "crypto" | "commodity";
70
+ /** Price in USD */
71
+ value: number | null;
72
+ /** Price in IDR */
73
+ value_idr: number | null;
74
+ /** Percentage change from previous close (commodities only) */
75
+ change_percent: number | null;
76
+ /** Unit description e.g. "USD", "USD/troy oz", "USD/barrel" */
77
+ unit: string;
78
+ updatedAtUnix: number | null;
79
+ }
80
+ export interface ConvertResponse {
81
+ ok: true;
82
+ from: string;
83
+ to: string;
84
+ amount: number;
85
+ /** Converted amount */
86
+ result: number;
87
+ /** 1 unit of `from` expressed in `to` */
88
+ rate: number;
89
+ updatedAtUnix: number | null;
90
+ }
91
+ export interface BiRateResponse {
92
+ ok: true;
93
+ /** Numeric rate e.g. 6.00 */
94
+ rate: number;
95
+ /** Formatted rate e.g. "6.00%" */
96
+ rate_percent: string;
97
+ /** Effective since date e.g. "2024-10-17" */
98
+ since: string;
99
+ /** Next BI board meeting date (if available) */
100
+ next_meeting: string | null;
101
+ description: string;
102
+ source: string;
103
+ note: string;
104
+ }
105
+ export interface ConvertOptions extends RequestOptions {
106
+ from: string;
107
+ to: string;
108
+ amount?: number;
109
+ }
65
110
  export interface SatuChainAPIOptions {
66
111
  /** Your API key — starts with sk_live_ */
67
112
  apiKey: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,4BAA4B;IAC5B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,6EAA6E;IAC7E,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,wDAAwD;IACxD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,IAAI,CAAC;IACT,qEAAqE;IACrE,IAAI,EAAE,OAAO,GAAG,KAAK,CAAC;IACtB,IAAI,EAAE,KAAK,CAAC;IACZ,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,MAAM,EAAE;QACN,GAAG,EAAE,WAAW,CAAC;QACjB,GAAG,EAAE,WAAW,CAAC;QACjB,GAAG,EAAE,WAAW,CAAC;QACjB,GAAG,EAAE,WAAW,CAAC;QACjB,GAAG,EAAE,WAAW,CAAC;QACjB,GAAG,EAAE,WAAW,CAAC;KAClB,CAAC;IACF,KAAK,EAAE;QACL,GAAG,EAAE,UAAU,CAAC;QAChB,GAAG,EAAE,UAAU,CAAC;QAChB,GAAG,EAAE,UAAU,CAAC;QAChB,GAAG,EAAE,UAAU,CAAC;QAChB,GAAG,EAAE,UAAU,CAAC;QAChB,GAAG,EAAE,UAAU,CAAC;QAChB,GAAG,EAAE,UAAU,CAAC;QAChB,GAAG,EAAE,UAAU,CAAC;QAChB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAC;KAC3B,CAAC;IACF,WAAW,EAAE;QACX,yBAAyB;QACzB,GAAG,EAAE,cAAc,CAAC;QACpB,2BAA2B;QAC3B,GAAG,EAAE,cAAc,CAAC;QACpB,sBAAsB;QACtB,MAAM,EAAE,cAAc,CAAC;QACvB,iCAAiC;QACjC,GAAG,EAAE,cAAc,CAAC;QACpB,mCAAmC;QACnC,KAAK,EAAE,cAAc,CAAC;KACvB,CAAC;CACH;AAID,MAAM,WAAW,mBAAmB;IAClC,0CAA0C;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,mCAAmC;IACnC,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { SatuChainAPIOptions, RequestOptions, CommoditiesResponse, RateLimitInfo } from "./types.js";
1
+ import type { SatuChainAPIOptions, RequestOptions, CommoditiesResponse, TickerResponse, ConvertResponse, ConvertOptions, BiRateResponse, RateLimitInfo } from "./types.js";
2
2
  export declare class SatuChainAPI {
3
3
  private readonly apiKey;
4
4
  private readonly baseUrl;
@@ -8,18 +8,51 @@ export declare class SatuChainAPI {
8
8
  constructor(options: SatuChainAPIOptions | string);
9
9
  private request;
10
10
  /**
11
- * Fetch live commodity, forex, and crypto price data.
11
+ * Fetch live commodity, forex, and crypto price data in one call.
12
12
  *
13
13
  * @example
14
14
  * const data = await api.getCommodities();
15
15
  * console.log(data.forex.IDR.value); // IDR per 1 USD
16
16
  * console.log(data.crypto.BTC.value); // BTC price in USD
17
- * console.log(data.crypto.ETH.value); // ETH price in USD
18
17
  * console.log(data.commodities.XAU.value); // Gold USD/troy oz
19
18
  * console.log(data.commodities.WTI.value); // WTI Oil USD/barrel
20
19
  * console.log(data.tier); // "basic" or "pro"
21
20
  */
22
21
  getCommodities(opts?: RequestOptions): Promise<CommoditiesResponse>;
22
+ /**
23
+ * Get the price of a single symbol (forex, crypto, or commodity).
24
+ * Returns value in USD and IDR, plus change_percent for commodities.
25
+ *
26
+ * @example
27
+ * const btc = await api.getTicker("BTC");
28
+ * console.log(btc.value); // BTC price in USD
29
+ * console.log(btc.value_idr); // BTC price in IDR
30
+ *
31
+ * const gold = await api.getTicker("XAU");
32
+ * console.log(gold.change_percent); // % change from previous close
33
+ */
34
+ getTicker(symbol: string, opts?: RequestOptions): Promise<TickerResponse>;
35
+ /**
36
+ * Convert between any two supported symbols (forex, crypto, commodity).
37
+ *
38
+ * @example
39
+ * const result = await api.convert({ from: "BTC", to: "IDR", amount: 0.5 });
40
+ * console.log(result.result); // IDR amount
41
+ * console.log(result.rate); // 1 BTC in IDR
42
+ *
43
+ * const myr = await api.convert({ from: "USD", to: "MYR", amount: 100 });
44
+ * console.log(myr.result); // MYR equivalent of 100 USD
45
+ */
46
+ convert(options: ConvertOptions): Promise<ConvertResponse>;
47
+ /**
48
+ * Get the Bank Indonesia 7-Day Reverse Repo Rate (BI7DRR).
49
+ *
50
+ * @example
51
+ * const bi = await api.getBiRate();
52
+ * console.log(bi.rate_percent); // e.g. "6.00%"
53
+ * console.log(bi.since); // effective since date
54
+ */
55
+ getBiRate(opts?: RequestOptions): Promise<BiRateResponse>;
23
56
  /**
24
57
  * Get just the forex rates (subset of getCommodities).
25
58
  */
@@ -37,4 +70,6 @@ export declare class SatuChainAPI {
37
70
  */
38
71
  getMetals(opts?: RequestOptions): Promise<CommoditiesResponse["commodities"]>;
39
72
  }
73
+ /** Alias for SatuChainAPI */
74
+ export declare const SatuChain: typeof SatuChainAPI;
40
75
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,aAAa,EACd,MAAM,YAAY,CAAC;AAWpB,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IAEjC,yDAAyD;IAClD,SAAS,EAAE,aAAa,GAAG,IAAI,CAAQ;gBAElC,OAAO,EAAE,mBAAmB,GAAG,MAAM;YAgBnC,OAAO;IAsErB;;;;;;;;;;;OAWG;IACG,cAAc,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAIzE;;OAEG;IACG,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAK5E;;OAEG;IACG,SAAS,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAK9E;;OAEG;IACG,kBAAkB,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;IAK5F;;OAEG;IACG,SAAS,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;CAGpF"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,cAAc,EACd,cAAc,EACd,aAAa,EACd,MAAM,YAAY,CAAC;AAWpB,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IAEjC,yDAAyD;IAClD,SAAS,EAAE,aAAa,GAAG,IAAI,CAAQ;gBAElC,OAAO,EAAE,mBAAmB,GAAG,MAAM;YAgBnC,OAAO;IAsErB;;;;;;;;;;OAUG;IACG,cAAc,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAIzE;;;;;;;;;;;OAWG;IACG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAI/E;;;;;;;;;;OAUG;IACG,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAUhE;;;;;;;OAOG;IACG,SAAS,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAI/D;;OAEG;IACG,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAK5E;;OAEG;IACG,SAAS,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAK9E;;OAEG;IACG,kBAAkB,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;IAK5F;;OAEG;IACG,SAAS,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;CAGpF;AAED,6BAA6B;AAC7B,eAAO,MAAM,SAAS,qBAAe,CAAC"}
@@ -1,4 +1,4 @@
1
- export { SatuChainAPI } from "./client.js";
1
+ export { SatuChainAPI, SatuChain } from "./client.js";
2
2
  export { SatuChainError, SatuChainAuthError, SatuChainRateLimitError, SatuChainUpstreamError, } from "./errors.js";
3
- export type { SatuChainAPIOptions, RequestOptions, CommoditiesResponse, ForexEntry, CryptoEntry, CommodityEntry, RateLimitInfo, } from "./types.js";
3
+ export type { SatuChainAPIOptions, RequestOptions, CommoditiesResponse, TickerResponse, ConvertResponse, ConvertOptions, BiRateResponse, ForexEntry, CryptoEntry, CommodityEntry, RateLimitInfo, } from "./types.js";
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,UAAU,EACV,WAAW,EACX,cAAc,EACd,aAAa,GACd,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,cAAc,EACd,cAAc,EACd,UAAU,EACV,WAAW,EACX,cAAc,EACd,aAAa,GACd,MAAM,YAAY,CAAC"}
@@ -62,6 +62,51 @@ export interface CommoditiesResponse {
62
62
  BRENT: CommodityEntry;
63
63
  };
64
64
  }
65
+ export interface TickerResponse {
66
+ ok: true;
67
+ symbol: string;
68
+ name: string;
69
+ type: "forex" | "crypto" | "commodity";
70
+ /** Price in USD */
71
+ value: number | null;
72
+ /** Price in IDR */
73
+ value_idr: number | null;
74
+ /** Percentage change from previous close (commodities only) */
75
+ change_percent: number | null;
76
+ /** Unit description e.g. "USD", "USD/troy oz", "USD/barrel" */
77
+ unit: string;
78
+ updatedAtUnix: number | null;
79
+ }
80
+ export interface ConvertResponse {
81
+ ok: true;
82
+ from: string;
83
+ to: string;
84
+ amount: number;
85
+ /** Converted amount */
86
+ result: number;
87
+ /** 1 unit of `from` expressed in `to` */
88
+ rate: number;
89
+ updatedAtUnix: number | null;
90
+ }
91
+ export interface BiRateResponse {
92
+ ok: true;
93
+ /** Numeric rate e.g. 6.00 */
94
+ rate: number;
95
+ /** Formatted rate e.g. "6.00%" */
96
+ rate_percent: string;
97
+ /** Effective since date e.g. "2024-10-17" */
98
+ since: string;
99
+ /** Next BI board meeting date (if available) */
100
+ next_meeting: string | null;
101
+ description: string;
102
+ source: string;
103
+ note: string;
104
+ }
105
+ export interface ConvertOptions extends RequestOptions {
106
+ from: string;
107
+ to: string;
108
+ amount?: number;
109
+ }
65
110
  export interface SatuChainAPIOptions {
66
111
  /** Your API key — starts with sk_live_ */
67
112
  apiKey: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,4BAA4B;IAC5B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,6EAA6E;IAC7E,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,wDAAwD;IACxD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,IAAI,CAAC;IACT,qEAAqE;IACrE,IAAI,EAAE,OAAO,GAAG,KAAK,CAAC;IACtB,IAAI,EAAE,KAAK,CAAC;IACZ,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,MAAM,EAAE;QACN,GAAG,EAAE,WAAW,CAAC;QACjB,GAAG,EAAE,WAAW,CAAC;QACjB,GAAG,EAAE,WAAW,CAAC;QACjB,GAAG,EAAE,WAAW,CAAC;QACjB,GAAG,EAAE,WAAW,CAAC;QACjB,GAAG,EAAE,WAAW,CAAC;KAClB,CAAC;IACF,KAAK,EAAE;QACL,GAAG,EAAE,UAAU,CAAC;QAChB,GAAG,EAAE,UAAU,CAAC;QAChB,GAAG,EAAE,UAAU,CAAC;QAChB,GAAG,EAAE,UAAU,CAAC;QAChB,GAAG,EAAE,UAAU,CAAC;QAChB,GAAG,EAAE,UAAU,CAAC;QAChB,GAAG,EAAE,UAAU,CAAC;QAChB,GAAG,EAAE,UAAU,CAAC;QAChB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAC;KAC3B,CAAC;IACF,WAAW,EAAE;QACX,yBAAyB;QACzB,GAAG,EAAE,cAAc,CAAC;QACpB,2BAA2B;QAC3B,GAAG,EAAE,cAAc,CAAC;QACpB,sBAAsB;QACtB,MAAM,EAAE,cAAc,CAAC;QACvB,iCAAiC;QACjC,GAAG,EAAE,cAAc,CAAC;QACpB,mCAAmC;QACnC,KAAK,EAAE,cAAc,CAAC;KACvB,CAAC;CACH;AAID,MAAM,WAAW,mBAAmB;IAClC,0CAA0C;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,mCAAmC;IACnC,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "satuchain-api",
3
- "version": "1.0.3",
3
+ "version": "1.0.4",
4
4
  "description": "Official JavaScript/TypeScript SDK for the SATUCHAIN Developer API",
5
5
  "keywords": [
6
6
  "satuchain",