@tokenizedrealutility/sdk 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.
Files changed (115) hide show
  1. package/API.md +210 -0
  2. package/CHANGELOG.md +19 -0
  3. package/LICENSE +201 -0
  4. package/NOTICE +40 -0
  5. package/README.md +559 -0
  6. package/SECURITY.md +34 -0
  7. package/dist/client.d.ts +59 -0
  8. package/dist/client.d.ts.map +1 -0
  9. package/dist/client.js +83 -0
  10. package/dist/client.js.map +1 -0
  11. package/dist/errors.d.ts +38 -0
  12. package/dist/errors.d.ts.map +1 -0
  13. package/dist/errors.js +71 -0
  14. package/dist/errors.js.map +1 -0
  15. package/dist/events.d.ts +8 -0
  16. package/dist/events.d.ts.map +1 -0
  17. package/dist/events.js +52 -0
  18. package/dist/events.js.map +1 -0
  19. package/dist/explorer.d.ts +53 -0
  20. package/dist/explorer.d.ts.map +1 -0
  21. package/dist/explorer.js +39 -0
  22. package/dist/explorer.js.map +1 -0
  23. package/dist/index.d.ts +13 -0
  24. package/dist/index.d.ts.map +1 -0
  25. package/dist/index.js +9 -0
  26. package/dist/index.js.map +1 -0
  27. package/dist/modules/ai.d.ts +20 -0
  28. package/dist/modules/ai.d.ts.map +1 -0
  29. package/dist/modules/ai.js +18 -0
  30. package/dist/modules/ai.js.map +1 -0
  31. package/dist/modules/base.d.ts +8 -0
  32. package/dist/modules/base.d.ts.map +1 -0
  33. package/dist/modules/base.js +8 -0
  34. package/dist/modules/base.js.map +1 -0
  35. package/dist/modules/chain.d.ts +15 -0
  36. package/dist/modules/chain.d.ts.map +1 -0
  37. package/dist/modules/chain.js +12 -0
  38. package/dist/modules/chain.js.map +1 -0
  39. package/dist/modules/contracts.d.ts +13 -0
  40. package/dist/modules/contracts.d.ts.map +1 -0
  41. package/dist/modules/contracts.js +16 -0
  42. package/dist/modules/contracts.js.map +1 -0
  43. package/dist/modules/htlc.d.ts +43 -0
  44. package/dist/modules/htlc.d.ts.map +1 -0
  45. package/dist/modules/htlc.js +25 -0
  46. package/dist/modules/htlc.js.map +1 -0
  47. package/dist/modules/identity.d.ts +9 -0
  48. package/dist/modules/identity.d.ts.map +1 -0
  49. package/dist/modules/identity.js +15 -0
  50. package/dist/modules/identity.js.map +1 -0
  51. package/dist/modules/magic.d.ts +17 -0
  52. package/dist/modules/magic.d.ts.map +1 -0
  53. package/dist/modules/magic.js +14 -0
  54. package/dist/modules/magic.js.map +1 -0
  55. package/dist/modules/mining.d.ts +16 -0
  56. package/dist/modules/mining.d.ts.map +1 -0
  57. package/dist/modules/mining.js +23 -0
  58. package/dist/modules/mining.js.map +1 -0
  59. package/dist/modules/network.d.ts +6 -0
  60. package/dist/modules/network.d.ts.map +1 -0
  61. package/dist/modules/network.js +5 -0
  62. package/dist/modules/network.js.map +1 -0
  63. package/dist/modules/raw.d.ts +8 -0
  64. package/dist/modules/raw.d.ts.map +1 -0
  65. package/dist/modules/raw.js +10 -0
  66. package/dist/modules/raw.js.map +1 -0
  67. package/dist/modules/swaps.d.ts +12 -0
  68. package/dist/modules/swaps.d.ts.map +1 -0
  69. package/dist/modules/swaps.js +16 -0
  70. package/dist/modules/swaps.js.map +1 -0
  71. package/dist/modules/system.d.ts +11 -0
  72. package/dist/modules/system.d.ts.map +1 -0
  73. package/dist/modules/system.js +64 -0
  74. package/dist/modules/system.js.map +1 -0
  75. package/dist/modules/tokens.d.ts +65 -0
  76. package/dist/modules/tokens.d.ts.map +1 -0
  77. package/dist/modules/tokens.js +54 -0
  78. package/dist/modules/tokens.js.map +1 -0
  79. package/dist/modules/transactions.d.ts +22 -0
  80. package/dist/modules/transactions.d.ts.map +1 -0
  81. package/dist/modules/transactions.js +30 -0
  82. package/dist/modules/transactions.js.map +1 -0
  83. package/dist/modules/truscripts.d.ts +22 -0
  84. package/dist/modules/truscripts.d.ts.map +1 -0
  85. package/dist/modules/truscripts.js +14 -0
  86. package/dist/modules/truscripts.js.map +1 -0
  87. package/dist/modules/wallet.d.ts +18 -0
  88. package/dist/modules/wallet.d.ts.map +1 -0
  89. package/dist/modules/wallet.js +16 -0
  90. package/dist/modules/wallet.js.map +1 -0
  91. package/dist/neromesh.d.ts +58 -0
  92. package/dist/neromesh.d.ts.map +1 -0
  93. package/dist/neromesh.js +92 -0
  94. package/dist/neromesh.js.map +1 -0
  95. package/dist/rpc-catalog.d.ts +4 -0
  96. package/dist/rpc-catalog.d.ts.map +1 -0
  97. package/dist/rpc-catalog.js +115 -0
  98. package/dist/rpc-catalog.js.map +1 -0
  99. package/dist/transport.d.ts +29 -0
  100. package/dist/transport.d.ts.map +1 -0
  101. package/dist/transport.js +144 -0
  102. package/dist/transport.js.map +1 -0
  103. package/dist/types.d.ts +66 -0
  104. package/dist/types.d.ts.map +1 -0
  105. package/dist/types.js +2 -0
  106. package/dist/types.js.map +1 -0
  107. package/dist/utils/address.d.ts +4 -0
  108. package/dist/utils/address.d.ts.map +1 -0
  109. package/dist/utils/address.js +12 -0
  110. package/dist/utils/address.js.map +1 -0
  111. package/dist/utils/amount.d.ts +6 -0
  112. package/dist/utils/amount.d.ts.map +1 -0
  113. package/dist/utils/amount.js +23 -0
  114. package/dist/utils/amount.js.map +1 -0
  115. package/package.json +57 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"truscripts.d.ts","sourceRoot":"","sources":["../../src/modules/truscripts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,SAAS,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,qBAAa,gBAAiB,SAAQ,SAAS;IAC7C,QAAQ,CAAC,CAAC,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC;IACnE,cAAc,CAAC,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,SAAS,CAAC;QAAC,oBAAoB,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IAGrJ,IAAI,CAAC,CAAC,GAAG,SAAS,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IACtD,OAAO,CAAC,CAAC,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAChD,QAAQ,CAAC,CAAC,GAAG,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAC/E,yBAAyB,CAAC,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,SAAS,CAAC;QAAC,OAAO,CAAC,EAAE,SAAS,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,CAAC;CAG1K"}
@@ -0,0 +1,14 @@
1
+ import { RpcModule } from "./base.js";
2
+ export class TruScriptsModule extends RpcModule {
3
+ inscribe(owner, data) { return this.call("inscribeTRUScript", { owner, data }); }
4
+ inscribeSigned(params) {
5
+ return this.call("inscribeTRUScriptSigned", params);
6
+ }
7
+ list(ownerAddress) { return this.call("getTRUScripts", ownerAddress ? { ownerAddress } : {}); }
8
+ details(txid) { return this.call("getTRUScriptDetails", { txid }); }
9
+ transfer(inscriptionTxid, recipient) { return this.call("transferTRUScript", { inscriptionTxid, recipient }); }
10
+ createTransferTransaction(params) {
11
+ return this.call("createTransferTRUScriptTransaction", params);
12
+ }
13
+ }
14
+ //# sourceMappingURL=truscripts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"truscripts.js","sourceRoot":"","sources":["../../src/modules/truscripts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,OAAO,gBAAiB,SAAQ,SAAS;IAC7C,QAAQ,CAAgB,KAAa,EAAE,IAAe,IAAgB,OAAO,IAAI,CAAC,IAAI,CAAI,mBAAmB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAClI,cAAc,CAAgB,MAA0G;QACtI,OAAO,IAAI,CAAC,IAAI,CAAI,yBAAyB,EAAE,MAAoB,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,CAAgB,YAAqB,IAAgB,OAAO,IAAI,CAAC,IAAI,CAAI,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACtI,OAAO,CAAgB,IAAY,IAAgB,OAAO,IAAI,CAAC,IAAI,CAAI,qBAAqB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1G,QAAQ,CAAgB,eAAuB,EAAE,SAAiB,IAAgB,OAAO,IAAI,CAAC,IAAI,CAAI,mBAAmB,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7J,yBAAyB,CAAgB,MAAmH;QAC1J,OAAO,IAAI,CAAC,IAAI,CAAI,oCAAoC,EAAE,MAAoB,CAAC,CAAC;IAClF,CAAC;CACF"}
@@ -0,0 +1,18 @@
1
+ import type { JsonObject, JsonValue } from "../types.js";
2
+ import { RpcModule } from "./base.js";
3
+ export declare class WalletModule extends RpcModule {
4
+ getNewAddress<T = JsonValue>(): Promise<T>;
5
+ listAddresses<T = JsonValue>(): Promise<T>;
6
+ getBalance<T = JsonValue>(address?: string): Promise<T>;
7
+ listUnspent<T = JsonValue>(address?: string): Promise<T>;
8
+ listUnspentWeb<T = JsonValue>(address: string): Promise<T>;
9
+ sendToAddress<T = JsonValue>(address: string, amount: string | number, extra?: JsonObject): Promise<T>;
10
+ axonWalletInspect<T = JsonValue>(uri: string): Promise<T>;
11
+ axonWalletFund<T = JsonValue>(params: {
12
+ uri: string;
13
+ confirm?: string;
14
+ expected_intent_sha256?: string;
15
+ expected_job_id?: string;
16
+ }): Promise<T>;
17
+ }
18
+ //# sourceMappingURL=wallet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../src/modules/wallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,qBAAa,YAAa,SAAQ,SAAS;IACzC,aAAa,CAAC,CAAC,GAAG,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC;IAC1C,aAAa,CAAC,CAAC,GAAG,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC;IAC1C,UAAU,CAAC,CAAC,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IACvD,WAAW,CAAC,CAAC,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IACxD,cAAc,CAAC,CAAC,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAC1D,aAAa,CAAC,CAAC,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,GAAE,UAAe,GAAG,OAAO,CAAC,CAAC,CAAC;IAG1G,iBAAiB,CAAC,CAAC,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IACzD,cAAc,CAAC,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,CAAC;CAGhJ"}
@@ -0,0 +1,16 @@
1
+ import { RpcModule } from "./base.js";
2
+ export class WalletModule extends RpcModule {
3
+ getNewAddress() { return this.call("getnewaddress"); }
4
+ listAddresses() { return this.call("listaddresses"); }
5
+ getBalance(address) { return this.call("getbalance", address ? { address } : {}); }
6
+ listUnspent(address) { return this.call("listunspent", address ? { address } : {}); }
7
+ listUnspentWeb(address) { return this.call("listunspentWeb", { address }); }
8
+ sendToAddress(address, amount, extra = {}) {
9
+ return this.call("sendtoaddress", { address, amount, ...extra });
10
+ }
11
+ axonWalletInspect(uri) { return this.call("axonwalletinspect", { uri }); }
12
+ axonWalletFund(params) {
13
+ return this.call("axonwalletfund", params);
14
+ }
15
+ }
16
+ //# sourceMappingURL=wallet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../src/modules/wallet.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,OAAO,YAAa,SAAQ,SAAS;IACzC,aAAa,KAAgC,OAAO,IAAI,CAAC,IAAI,CAAI,eAAe,CAAC,CAAC,CAAC,CAAC;IACpF,aAAa,KAAgC,OAAO,IAAI,CAAC,IAAI,CAAI,eAAe,CAAC,CAAC,CAAC,CAAC;IACpF,UAAU,CAAgB,OAAgB,IAAgB,OAAO,IAAI,CAAC,IAAI,CAAI,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1H,WAAW,CAAgB,OAAgB,IAAgB,OAAO,IAAI,CAAC,IAAI,CAAI,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5H,cAAc,CAAgB,OAAe,IAAgB,OAAO,IAAI,CAAC,IAAI,CAAI,gBAAgB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IAClH,aAAa,CAAgB,OAAe,EAAE,MAAuB,EAAE,QAAoB,EAAE;QAC3F,OAAO,IAAI,CAAC,IAAI,CAAI,eAAe,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IACtE,CAAC;IACD,iBAAiB,CAAgB,GAAW,IAAgB,OAAO,IAAI,CAAC,IAAI,CAAI,mBAAmB,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAChH,cAAc,CAAgB,MAAoG;QAChI,OAAO,IAAI,CAAC,IAAI,CAAI,gBAAgB,EAAE,MAAoB,CAAC,CAAC;IAC9D,CAAC;CACF"}
@@ -0,0 +1,58 @@
1
+ import { HttpTransport } from "./transport.js";
2
+ import type { HttpClientOptions, JsonObject, JsonValue, TokenProvider } from "./types.js";
3
+ export interface NeromeshOptions extends HttpClientOptions {
4
+ customerToken?: TokenProvider;
5
+ workerToken?: TokenProvider;
6
+ workerAccountKey?: TokenProvider;
7
+ }
8
+ export declare class NeromeshClient {
9
+ readonly http: HttpTransport;
10
+ readonly customerToken?: TokenProvider;
11
+ readonly workerToken?: TokenProvider;
12
+ readonly workerAccountKey?: TokenProvider;
13
+ constructor(options: NeromeshOptions | string);
14
+ health<T = JsonValue>(): Promise<T>;
15
+ stats<T = JsonValue>(): Promise<T>;
16
+ submitJob<T = JsonValue>(body: JsonObject, idempotencyKey: string): Promise<T>;
17
+ jobs<T = JsonValue>(): Promise<T>;
18
+ job<T = JsonValue>(id: string): Promise<T>;
19
+ cancelJob<T = JsonValue>(id: string): Promise<T>;
20
+ createOffer<T = JsonValue>(body: JsonObject): Promise<T>;
21
+ myOffers<T = JsonValue>(): Promise<T>;
22
+ fundingPlan<T = JsonValue>(jobId: string, refundPubkey: string, refundTime: number): Promise<T>;
23
+ registerFunding<T = JsonValue>(jobId: string, body: {
24
+ compute_txid: string;
25
+ compute_vout: number;
26
+ acceptance_txid: string;
27
+ acceptance_vout: number;
28
+ }): Promise<T>;
29
+ createWalletIntent<T = JsonValue>(jobId: string): Promise<T>;
30
+ getWalletIntent<T = JsonValue>(intentId: string, capability: TokenProvider): Promise<T>;
31
+ prepareWalletIntent<T = JsonValue>(intentId: string, capability: TokenProvider, body: JsonObject): Promise<T>;
32
+ submitWalletFunding<T = JsonValue>(intentId: string, capability: TokenProvider, body: JsonObject): Promise<T>;
33
+ enrollWorker<T = JsonValue>(invitation: TokenProvider, body: JsonObject): Promise<T>;
34
+ workerSelf<T = JsonValue>(): Promise<T>;
35
+ workerHeartbeat<T = JsonValue>(paused: boolean, hardware: string): Promise<T>;
36
+ workerLease<T = JsonValue>(): Promise<T>;
37
+ workerResult<T = JsonValue>(body: JsonObject): Promise<T>;
38
+ workerFail<T = JsonValue>(body: JsonObject): Promise<T>;
39
+ customerLogin<T = JsonValue>(customerToken: string): Promise<T>;
40
+ workerLogin<T = JsonValue>(workerKey: string): Promise<T>;
41
+ logout<T = JsonValue>(): Promise<T>;
42
+ session<T = JsonValue>(): Promise<T>;
43
+ portalCustomerJobs<T = JsonValue>(): Promise<T>;
44
+ portalCustomerJob<T = JsonValue>(jobId: string): Promise<T>;
45
+ portalCustomerHandoff<T = JsonValue>(jobId: string): Promise<T>;
46
+ portalCustomerAccept<T = JsonValue>(jobId: string, body?: JsonObject): Promise<T>;
47
+ portalCustomerReject<T = JsonValue>(jobId: string, body?: JsonObject): Promise<T>;
48
+ portalWorkerOffers<T = JsonValue>(): Promise<T>;
49
+ portalWorkerJobs<T = JsonValue>(): Promise<T>;
50
+ portalWorkerJob<T = JsonValue>(jobId: string): Promise<T>;
51
+ portalWorkerAccept<T = JsonValue>(jobId: string, body?: JsonObject): Promise<T>;
52
+ portalWorkerDecline<T = JsonValue>(jobId: string, body?: JsonObject): Promise<T>;
53
+ portalWorkerSettlement<T = JsonValue>(jobId: string): Promise<T>;
54
+ networkWorkers<T = JsonValue>(): Promise<T>;
55
+ networkSummary<T = JsonValue>(): Promise<T>;
56
+ raw<T = JsonValue>(method: string, path: string, body?: JsonValue, token?: TokenProvider): Promise<T>;
57
+ }
58
+ //# sourceMappingURL=neromesh.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"neromesh.d.ts","sourceRoot":"","sources":["../src/neromesh.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,92 @@
1
+ import { HttpTransport } from "./transport.js";
2
+ export class NeromeshClient {
3
+ http;
4
+ customerToken;
5
+ workerToken;
6
+ workerAccountKey;
7
+ constructor(options) {
8
+ const normalized = typeof options === "string" ? { baseUrl: options } : options;
9
+ this.http = new HttpTransport(normalized);
10
+ this.customerToken = normalized.customerToken;
11
+ this.workerToken = normalized.workerToken;
12
+ this.workerAccountKey = normalized.workerAccountKey;
13
+ }
14
+ health() { return this.http.request("GET", "/api/health"); }
15
+ stats() { return this.http.request("GET", "/api/stats"); }
16
+ // Legacy/direct customer job API. Public marketplace deployments may disable writes here.
17
+ submitJob(body, idempotencyKey) {
18
+ return this.http.request("POST", "/api/v1/jobs", {
19
+ token: this.customerToken,
20
+ headers: { "Idempotency-Key": idempotencyKey },
21
+ body
22
+ });
23
+ }
24
+ jobs() { return this.http.request("GET", "/api/v1/jobs", { token: this.customerToken }); }
25
+ job(id) { return this.http.request("GET", `/api/v1/jobs/${encodeURIComponent(id)}`, { token: this.customerToken }); }
26
+ cancelJob(id) { return this.http.request("POST", `/api/v1/jobs/${encodeURIComponent(id)}/cancel`, { token: this.customerToken, body: {} }); }
27
+ // AXON Marketplace customer surface.
28
+ createOffer(body) {
29
+ return this.http.request("POST", "/api/v1/market/offers", { token: this.customerToken, body });
30
+ }
31
+ myOffers() {
32
+ return this.http.request("GET", "/api/v1/market/offers/mine", { token: this.customerToken });
33
+ }
34
+ fundingPlan(jobId, refundPubkey, refundTime) {
35
+ return this.http.request("POST", `/api/v1/market/offers/${encodeURIComponent(jobId)}/funding-plan`, {
36
+ token: this.customerToken,
37
+ body: { refund_pubkey: refundPubkey, refund_time: refundTime }
38
+ });
39
+ }
40
+ registerFunding(jobId, body) {
41
+ return this.http.request("POST", `/api/v1/market/offers/${encodeURIComponent(jobId)}/funding`, { token: this.customerToken, body });
42
+ }
43
+ createWalletIntent(jobId) {
44
+ return this.http.request("POST", `/api/v1/market/offers/${encodeURIComponent(jobId)}/wallet-intent`, { token: this.customerToken, body: {} });
45
+ }
46
+ getWalletIntent(intentId, capability) {
47
+ return this.http.request("GET", `/api/v1/market/wallet-intents/${encodeURIComponent(intentId)}`, { token: capability });
48
+ }
49
+ prepareWalletIntent(intentId, capability, body) {
50
+ return this.http.request("POST", `/api/v1/market/wallet-intents/${encodeURIComponent(intentId)}/prepare`, { token: capability, body });
51
+ }
52
+ submitWalletFunding(intentId, capability, body) {
53
+ return this.http.request("POST", `/api/v1/market/wallet-intents/${encodeURIComponent(intentId)}/funding`, { token: capability, body });
54
+ }
55
+ // Worker API used by standalone workers.
56
+ enrollWorker(invitation, body) {
57
+ return this.http.request("POST", "/api/v1/worker/enroll", { token: invitation, body });
58
+ }
59
+ workerSelf() { return this.http.request("GET", "/api/v1/worker/self", { token: this.workerToken }); }
60
+ workerHeartbeat(paused, hardware) {
61
+ return this.http.request("POST", "/api/v1/worker/heartbeat", { token: this.workerToken, body: { paused, hardware } });
62
+ }
63
+ workerLease() { return this.http.request("POST", "/api/v1/worker/lease", { token: this.workerToken, body: {} }); }
64
+ workerResult(body) { return this.http.request("POST", "/api/v1/worker/result", { token: this.workerToken, body }); }
65
+ workerFail(body) { return this.http.request("POST", "/api/v1/worker/fail", { token: this.workerToken, body }); }
66
+ // Portal/session API. Use credentials:'include' in NeromeshOptions in browsers.
67
+ customerLogin(customerToken) {
68
+ return this.http.request("POST", "/api/v1/portal/customer/login", { body: { customer_token: customerToken } });
69
+ }
70
+ workerLogin(workerKey) {
71
+ return this.http.request("POST", "/api/v1/portal/worker/login", { body: { worker_key: workerKey } });
72
+ }
73
+ logout() { return this.http.request("POST", "/api/v1/portal/logout", { body: {} }); }
74
+ session() { return this.http.request("GET", "/api/v1/portal/session"); }
75
+ portalCustomerJobs() { return this.http.request("GET", "/api/v1/portal/customer/jobs"); }
76
+ portalCustomerJob(jobId) { return this.http.request("GET", `/api/v1/portal/customer/jobs/${encodeURIComponent(jobId)}`); }
77
+ portalCustomerHandoff(jobId) { return this.http.request("POST", `/api/v1/portal/customer/jobs/${encodeURIComponent(jobId)}/handoff`, { body: {} }); }
78
+ portalCustomerAccept(jobId, body = {}) { return this.http.request("POST", `/api/v1/portal/customer/jobs/${encodeURIComponent(jobId)}/accept`, { body }); }
79
+ portalCustomerReject(jobId, body = {}) { return this.http.request("POST", `/api/v1/portal/customer/jobs/${encodeURIComponent(jobId)}/reject`, { body }); }
80
+ portalWorkerOffers() { return this.http.request("GET", "/api/v1/portal/worker/offers"); }
81
+ portalWorkerJobs() { return this.http.request("GET", "/api/v1/portal/worker/jobs"); }
82
+ portalWorkerJob(jobId) { return this.http.request("GET", `/api/v1/portal/worker/jobs/${encodeURIComponent(jobId)}`); }
83
+ portalWorkerAccept(jobId, body = {}) { return this.http.request("POST", `/api/v1/portal/worker/jobs/${encodeURIComponent(jobId)}/accept`, { body }); }
84
+ portalWorkerDecline(jobId, body = {}) { return this.http.request("POST", `/api/v1/portal/worker/jobs/${encodeURIComponent(jobId)}/decline`, { body }); }
85
+ portalWorkerSettlement(jobId) { return this.http.request("GET", `/api/v1/portal/worker/jobs/${encodeURIComponent(jobId)}/settlement`); }
86
+ networkWorkers() { return this.http.request("GET", "/api/v1/network/workers"); }
87
+ networkSummary() { return this.http.request("GET", "/api/v1/network/summary"); }
88
+ raw(method, path, body, token) {
89
+ return this.http.request(method, path, { ...(body === undefined ? {} : { body }), ...(token ? { token } : {}) });
90
+ }
91
+ }
92
+ //# sourceMappingURL=neromesh.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"neromesh.js","sourceRoot":"","sources":["../src/neromesh.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { RpcMethodDescriptor } from "./types.js";
2
+ export declare const RPC_CATALOG: readonly RpcMethodDescriptor[];
3
+ export declare function rpcMethod(method: string): RpcMethodDescriptor | undefined;
4
+ //# sourceMappingURL=rpc-catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc-catalog.d.ts","sourceRoot":"","sources":["../src/rpc-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAKtD,eAAO,MAAM,WAAW,EAAE,SAAS,mBAAmB,EA2G5C,CAAC;AAEX,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAEzE"}
@@ -0,0 +1,115 @@
1
+ // Source-derived catalog from the reviewed TRU Core 0.07.5 dispatcher.
2
+ // Parameter names are best-effort handler observations; use raw.call() for
3
+ // forward-compatible access to new/less-structured RPCs.
4
+ export const RPC_CATALOG = [
5
+ { method: "getpeerinfo", category: "network", gateway: ["privileged", "wallet"], params: [] },
6
+ { method: "sendtoken", category: "tokens", gateway: ["privileged"], params: ["amount", "recipient", "senderAddress", "tokenID"] },
7
+ { method: "burntoken", category: "tokens", gateway: ["privileged"], params: ["confirm", "senderAddress", "tokenID"] },
8
+ { method: "gettokenburninfo", category: "tokens", gateway: ["privileged"], params: [] },
9
+ { method: "getnewaddress", category: "wallet", gateway: ["privileged"], params: [] },
10
+ { method: "reportmineractivity", category: "mining", gateway: ["privileged", "wallet", "mining"], params: ["hashesTried", "minerAddress", "timeTaken"] },
11
+ { method: "getblocktemplate", category: "mining", gateway: ["privileged", "wallet", "mining"], params: ["browserExtraNonce", "browserMinerAddress"] },
12
+ { method: "submitblock", category: "mining", gateway: ["privileged", "wallet", "mining"], params: ["blockHex", "browserCandidate", "nonce"] },
13
+ { method: "getblockbyheight", category: "chain", gateway: ["privileged"], params: ["height"] },
14
+ { method: "getblock", category: "chain", gateway: ["privileged"], params: ["hash"] },
15
+ { method: "getchaininfo", category: "chain", gateway: ["privileged", "wallet", "mining"], params: [] },
16
+ { method: "sendrawtransactionWeb", category: "transactions", gateway: ["privileged", "wallet"], params: ["txHex"] },
17
+ { method: "sendrawtransaction", category: "transactions", gateway: ["privileged", "wallet"], params: ["txHex"] },
18
+ { method: "sendtoaddress", category: "wallet", gateway: ["privileged"], params: ["address", "amount", "browserCandidate", "browserMinerAddress", "dry_run", "minerAddress"] },
19
+ { method: "axonwalletinspect", category: "wallet/axon", gateway: ["privileged"], params: ["uri"] },
20
+ { method: "axonwalletfund", category: "wallet/axon", gateway: ["privileged"], params: ["confirm", "expected_intent_sha256", "expected_job_id", "uri"] },
21
+ { method: "preparemagicsecret", category: "magic", gateway: ["privileged", "wallet"], params: [] },
22
+ { method: "getmagicsecret", category: "magic", gateway: ["privileged", "wallet"], params: [] },
23
+ { method: "publishmagicsecret", category: "magic", gateway: ["privileged"], params: [] },
24
+ { method: "startmining", category: "mining", gateway: ["privileged"], params: ["minerAddress", "quiet", "type"] },
25
+ { method: "getmempooltransactions", category: "transactions", gateway: ["privileged", "wallet", "mining"], params: [] },
26
+ { method: "getrawmempool", category: "transactions", gateway: ["privileged", "wallet", "mining"], params: ["verbose"] },
27
+ { method: "listunspentWeb", category: "wallet", gateway: ["privileged", "wallet"], params: ["address"] },
28
+ { method: "listunspent", category: "wallet", gateway: ["privileged"], params: ["address"] },
29
+ { method: "createrawtransaction", category: "transactions", gateway: ["privileged", "wallet"], params: ["inputs", "outputs"] },
30
+ { method: "signrawtransactionwithkeyWeb", category: "transactions", gateway: ["privileged"], params: ["privKeys", "txHex"] },
31
+ { method: "signrawtransactionwithkey", category: "transactions", gateway: ["privileged"], params: ["privKeys", "txHex"] },
32
+ { method: "gettokenutxo", category: "tokens", gateway: ["privileged", "wallet"], params: ["address", "tokenID", "txid", "vout"] },
33
+ { method: "gettokenmetadata", category: "tokens", gateway: ["privileged", "wallet"], params: ["txid"] },
34
+ { method: "verifytokenevolution", category: "tokens", gateway: ["privileged", "wallet"], params: ["require_confirmed", "tokenID"] },
35
+ { method: "previewtokenevolution", category: "tokens", gateway: ["privileged", "wallet"], params: ["media_inputs", "owner", "provider", "tokenID", "trigger"] },
36
+ { method: "committokenevolutionsigned", category: "tokens", gateway: ["privileged", "wallet"], params: ["confirmation", "owner", "publicKey", "record_json", "signature", "tokenID"] },
37
+ { method: "inscribeTRUScript", category: "truscripts", gateway: ["privileged"], params: ["data", "owner"] },
38
+ { method: "inscribeTRUScriptSigned", category: "truscripts", gateway: ["privileged", "wallet"], params: ["inscriptionData", "owner", "requireBoundOpReturn", "signedTxHex"] },
39
+ { method: "createsocialpost", category: "identity", gateway: ["privileged"], params: ["fromDID", "message", "privateKey", "tags"] },
40
+ { method: "getDIDMapping", category: "identity", gateway: ["privileged", "wallet"], params: ["did"] },
41
+ { method: "registerDIDSigned", category: "identity", gateway: ["privileged", "wallet"], params: ["address", "did", "publicKey", "signature"] },
42
+ { method: "createDID", category: "identity", gateway: ["privileged"], params: ["address", "did"] },
43
+ { method: "tokenmetadisplay", category: "tokens", gateway: ["privileged", "wallet"], params: ["addresses"] },
44
+ { method: "createTransferTRUScriptTransaction", category: "truscripts", gateway: ["privileged", "wallet"], params: ["fee", "feeUtxo", "inscriptionTxid", "recipient", "senderAddress"] },
45
+ { method: "transferTRUScript", category: "truscripts", gateway: ["privileged"], params: ["inscriptionTxid", "recipient"] },
46
+ { method: "getblockcount", category: "chain", gateway: ["privileged", "wallet", "mining"], params: [] },
47
+ { method: "gettransaction", category: "transactions", gateway: ["privileged", "wallet"], params: ["txid"] },
48
+ { method: "decoderawtransaction", category: "transactions", gateway: ["privileged", "wallet", "mining"], params: ["txHex"] },
49
+ { method: "swaptestexitmempoolaccept", category: "htlc/swap", gateway: ["privileged"], params: ["expectedTxid", "fundingTxid", "fundingVout", "txHex"] },
50
+ { method: "listtransactions", category: "transactions", gateway: ["privileged", "wallet"], params: ["address", "count"] },
51
+ { method: "issuetoken", category: "tokens", gateway: ["privileged"], params: ["address", "decimals", "description", "image", "name", "supply", "symbol", "tokenID", "type"] },
52
+ { method: "registerminer", category: "mining", gateway: ["privileged"], params: ["minerAddress"] },
53
+ { method: "unregisterminer", category: "mining", gateway: ["privileged"], params: ["minerAddress"] },
54
+ { method: "getminerstatus", category: "mining", gateway: ["privileged"], params: ["minerAddress"] },
55
+ { method: "getallminers", category: "mining", gateway: ["privileged", "wallet"], params: [] },
56
+ { method: "issuetokensigned", category: "tokens", gateway: ["privileged", "wallet"], params: ["attachMetadata", "metadata", "signedTxHex"] },
57
+ { method: "verifytokenmetadata", category: "tokens", gateway: ["privileged", "wallet"], params: ["txid"] },
58
+ { method: "createcontracttransaction", category: "contracts", gateway: ["privileged", "wallet"], params: ["amount", "fee", "metadata", "name", "scriptHex", "senderAddress", "type", "utxo"] },
59
+ { method: "redeemhashlock", category: "contracts", gateway: ["privileged"], params: ["address", "contractAddress", "preimage"] },
60
+ { method: "redeemtimelock", category: "contracts", gateway: ["privileged"], params: ["address", "contractAddress"] },
61
+ { method: "getcontracts", category: "contracts", gateway: ["privileged", "wallet"], params: [] },
62
+ { method: "getrawtransaction", category: "transactions", gateway: ["privileged"], params: ["txid", "verbose"] },
63
+ { method: "gettxout", category: "transactions", gateway: ["privileged", "wallet"], params: ["includeMempool", "n", "txid"] },
64
+ { method: "getcontractoutpoint07b", category: "contracts", gateway: ["privileged"], params: ["txid", "vout"] },
65
+ { method: "getvotingv1snapshot07b", category: "contracts", gateway: ["privileged"], params: [] },
66
+ { method: "preparevotingv1create07b", category: "contracts", gateway: ["privileged"], params: [] },
67
+ { method: "preparevotingv1ballot07b", category: "contracts", gateway: ["privileged"], params: [] },
68
+ { method: "getTRUScripts", category: "truscripts", gateway: ["privileged", "wallet"], params: ["ownerAddress"] },
69
+ { method: "getTRUScriptDetails", category: "truscripts", gateway: ["privileged", "wallet"], params: ["txid"] },
70
+ { method: "sendtokenweb", category: "tokens", gateway: ["privileged"], params: ["amount", "recipient", "senderAddress", "tokenID"] },
71
+ { method: "getaddresstransactions", category: "transactions", gateway: ["privileged", "wallet"], params: ["address", "count"] },
72
+ { method: "createsendtokentransaction", category: "tokens", gateway: ["privileged", "wallet"], params: ["amount", "fee", "feeUtxo", "recipient", "senderAddress", "tokenID"] },
73
+ { method: "createburntokentransaction", category: "tokens", gateway: ["privileged", "wallet"], params: ["fee", "feeUtxo", "senderAddress", "tokenID"] },
74
+ { method: "debugtokentx", category: "tokens", gateway: ["privileged"], params: ["txid"] },
75
+ { method: "createtokentransaction", category: "tokens", gateway: ["privileged"], params: ["decimals", "description", "fee", "imageUrl", "metadata", "metadataBeforeSigning", "name", "senderAddress", "symbol", "tokenID", "totalSupply", "type", "utxo"] },
76
+ { method: "listmempooltransactions", category: "transactions", gateway: ["privileged", "wallet"], params: [] },
77
+ { method: "verifytokenbalance", category: "tokens", gateway: ["privileged"], params: ["address", "tokenID"] },
78
+ { method: "createmagiclock", category: "magic", gateway: ["privileged"], params: ["address", "amount", "dataType", "secretData", "targetPrefix"] },
79
+ { method: "unlockmagiclock", category: "magic", gateway: ["privileged"], params: ["recipient", "txid", "vout"] },
80
+ { method: "listmagiclocks", category: "magic", gateway: ["privileged", "wallet"], params: ["address"] },
81
+ { method: "listaddresses", category: "wallet", gateway: ["privileged"], params: [] },
82
+ { method: "getbalance", category: "wallet", gateway: ["privileged"], params: ["address"] },
83
+ { method: "getchainsupply", category: "data-provider", gateway: ["privileged"], params: [] },
84
+ { method: "getchainhealth", category: "data-provider", gateway: ["privileged"], params: [] },
85
+ { method: "getchainmetadata", category: "data-provider", gateway: ["privileged"], params: [] },
86
+ { method: "getinfo", category: "system", gateway: ["privileged"], params: [] },
87
+ { method: "getdesktopinfo", category: "system", gateway: ["privileged", "wallet"], params: ["authToken"] },
88
+ { method: "configureAIProvider", category: "ai", gateway: ["privileged"], params: ["address", "api_key", "config", "endpoint", "model", "provider"] },
89
+ { method: "getAIProviders", category: "ai", gateway: ["privileged", "wallet"], params: [] },
90
+ { method: "testAIProvider", category: "ai", gateway: ["privileged", "wallet"], params: ["provider"] },
91
+ { method: "createAIToken", category: "ai/tokens", gateway: ["privileged"], params: ["address", "ai_provider", "decimals", "description", "image", "learning_rate", "name", "neural_network", "quantity", "supply", "symbol", "tokenID", "type"] },
92
+ { method: "interactWithAIToken", category: "ai/tokens", gateway: ["privileged"], params: ["address", "message", "tokenID"] },
93
+ { method: "getAIResponse", category: "ai", gateway: ["privileged"], params: ["requestID"] },
94
+ { method: "getAITokenState", category: "ai/tokens", gateway: ["privileged", "wallet"], params: ["tokenID"] },
95
+ { method: "trainAIToken", category: "ai/tokens", gateway: ["privileged"], params: ["address", "tokenID", "training_data"] },
96
+ { method: "htlcgeneratesecret", category: "htlc", gateway: ["privileged"], params: [] },
97
+ { method: "htlcpreparefunding", category: "htlc", gateway: ["privileged"], params: ["amountAtoms", "claimPubkey", "operationId", "refundPubkey", "refundTime", "secretHash160"] },
98
+ { method: "htlcpreparedstatus", category: "htlc", gateway: ["privileged"], params: ["operationId"] },
99
+ { method: "htlcpreparedrelease", category: "htlc", gateway: ["privileged"], params: ["operationId", "preparedTxid"] },
100
+ { method: "htlcbroadcastprepared", category: "htlc", gateway: ["privileged"], params: ["dryRun", "operationId", "preparedTxid"] },
101
+ { method: "htlccreate", category: "htlc", gateway: ["privileged"], params: ["amountAtoms", "claimPubkey", "refundPubkey", "refundTime", "secretHash160"] },
102
+ { method: "htlcclaim", category: "htlc", gateway: ["privileged"], params: ["allocationId", "fundingTxid", "preimageHex", "recipient", "vout"] },
103
+ { method: "htlcrefund", category: "htlc", gateway: ["privileged"], params: ["allocationId", "fundingTxid", "recipient", "vout"] },
104
+ { method: "swaprecordcreate", category: "swap", gateway: ["privileged"], params: [] },
105
+ { method: "swaprecordget", category: "swap", gateway: ["privileged"], params: ["swapId"] },
106
+ { method: "swaprecordlist", category: "swap", gateway: ["privileged"], params: [] },
107
+ { method: "swaprecordtransition", category: "swap", gateway: ["privileged"], params: ["evidence", "nextState", "swapId"] },
108
+ { method: "swapwalletfreshkeys", category: "swap", gateway: ["privileged"], params: ["allocationId"] },
109
+ { method: "swapwalletfreshselfproof", category: "swap", gateway: ["privileged"], params: ["allocationId", "role"] },
110
+ { method: "swapwalletrolekeys", category: "swap", gateway: ["privileged"], params: [] }
111
+ ];
112
+ export function rpcMethod(method) {
113
+ return RPC_CATALOG.find(entry => entry.method === method);
114
+ }
115
+ //# sourceMappingURL=rpc-catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc-catalog.js","sourceRoot":"","sources":["../src/rpc-catalog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type { HttpClientOptions, JsonObject, JsonValue, RpcCallOptions, RpcTransportOptions, TokenProvider } from "./types.js";
2
+ export declare class RpcTransport {
3
+ readonly endpoint: string;
4
+ readonly timeoutMs: number;
5
+ private readonly token?;
6
+ private readonly fetcher;
7
+ private readonly headers;
8
+ private readonly credentials?;
9
+ private nextId;
10
+ constructor(options: RpcTransportOptions);
11
+ call<T = JsonValue>(method: string, params?: JsonObject, options?: RpcCallOptions): Promise<T>;
12
+ }
13
+ export declare class HttpTransport {
14
+ readonly baseUrl: string;
15
+ readonly timeoutMs: number;
16
+ private readonly token?;
17
+ private readonly fetcher;
18
+ private readonly headers;
19
+ private readonly credentials?;
20
+ constructor(options: HttpClientOptions);
21
+ request<T = JsonValue>(method: string, path: string, options?: {
22
+ body?: JsonValue;
23
+ headers?: Record<string, string>;
24
+ query?: Record<string, string | number | boolean | undefined>;
25
+ timeoutMs?: number;
26
+ token?: TokenProvider;
27
+ }): Promise<T>;
28
+ }
29
+ //# sourceMappingURL=transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAe,mBAAmB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA+B5I,qBAAa,YAAY;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAqB;IAClD,OAAO,CAAC,MAAM,CAAK;gBAEP,OAAO,EAAE,mBAAmB;IAUlC,IAAI,CAAC,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,UAAe,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,CAAC,CAAC;CA6C7G;AAED,qBAAa,aAAa;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAqB;gBAEtC,OAAO,EAAE,iBAAiB;IAUhC,OAAO,CAAC,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE;QAClE,IAAI,CAAC,EAAE,SAAS,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;QAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,aAAa,CAAC;KAClB,GAAG,OAAO,CAAC,CAAC,CAAC;CA2BpB"}
@@ -0,0 +1,144 @@
1
+ import { classifyHttpError, classifyRpcError, TruNetworkError, TruTimeoutError } from "./errors.js";
2
+ async function resolveToken(token) {
3
+ if (!token)
4
+ return undefined;
5
+ const value = typeof token === "function" ? await token() : token;
6
+ const trimmed = value.trim();
7
+ return trimmed || undefined;
8
+ }
9
+ function sleep(ms) {
10
+ return new Promise(resolve => setTimeout(resolve, ms));
11
+ }
12
+ async function fetchWithTimeout(fetcher, url, init, timeoutMs) {
13
+ const controller = new AbortController();
14
+ const timer = setTimeout(() => controller.abort(), timeoutMs);
15
+ try {
16
+ return await fetcher(url, { ...init, signal: controller.signal });
17
+ }
18
+ catch (error) {
19
+ if (error instanceof DOMException && error.name === "AbortError") {
20
+ throw new TruTimeoutError(`Request timed out after ${timeoutMs} ms`, { cause: error });
21
+ }
22
+ if (error instanceof Error && error.name === "AbortError") {
23
+ throw new TruTimeoutError(`Request timed out after ${timeoutMs} ms`, { cause: error });
24
+ }
25
+ throw new TruNetworkError(error instanceof Error ? error.message : "Network request failed", { cause: error });
26
+ }
27
+ finally {
28
+ clearTimeout(timer);
29
+ }
30
+ }
31
+ export class RpcTransport {
32
+ endpoint;
33
+ timeoutMs;
34
+ token;
35
+ fetcher;
36
+ headers;
37
+ credentials;
38
+ nextId = 1;
39
+ constructor(options) {
40
+ this.endpoint = options.endpoint;
41
+ this.timeoutMs = options.timeoutMs ?? 15_000;
42
+ this.token = options.token;
43
+ this.fetcher = options.fetch ?? globalThis.fetch;
44
+ this.headers = options.headers ?? {};
45
+ this.credentials = options.credentials;
46
+ if (!this.fetcher)
47
+ throw new Error("No fetch implementation available");
48
+ }
49
+ async call(method, params = {}, options = {}) {
50
+ const retries = options.retries ?? 0;
51
+ const retryDelayMs = options.retryDelayMs ?? 200;
52
+ let lastError;
53
+ for (let attempt = 0; attempt <= retries; attempt++) {
54
+ try {
55
+ const token = await resolveToken(this.token);
56
+ const headers = {
57
+ "Content-Type": "application/json",
58
+ "Accept": "application/json",
59
+ ...this.headers
60
+ };
61
+ if (token)
62
+ headers.Authorization = `Bearer ${token}`;
63
+ const response = await fetchWithTimeout(this.fetcher, this.endpoint, {
64
+ method: "POST",
65
+ headers,
66
+ body: JSON.stringify({ jsonrpc: "2.0", id: this.nextId++, method, params }),
67
+ ...(this.credentials ? { credentials: this.credentials } : {})
68
+ }, options.timeoutMs ?? this.timeoutMs);
69
+ const text = await response.text();
70
+ if (!response.ok) {
71
+ throw classifyHttpError(response.status, text || `HTTP ${response.status}`);
72
+ }
73
+ let envelope;
74
+ try {
75
+ envelope = JSON.parse(text);
76
+ }
77
+ catch (error) {
78
+ throw new TruNetworkError("TRU RPC returned invalid JSON", { cause: error });
79
+ }
80
+ if (envelope.error)
81
+ throw classifyRpcError(envelope.error);
82
+ if (!("result" in envelope))
83
+ throw new TruNetworkError("TRU RPC response did not contain result or error");
84
+ return envelope.result;
85
+ }
86
+ catch (error) {
87
+ lastError = error;
88
+ if (attempt >= retries)
89
+ throw error;
90
+ await sleep(retryDelayMs * (attempt + 1));
91
+ }
92
+ }
93
+ throw lastError;
94
+ }
95
+ }
96
+ export class HttpTransport {
97
+ baseUrl;
98
+ timeoutMs;
99
+ token;
100
+ fetcher;
101
+ headers;
102
+ credentials;
103
+ constructor(options) {
104
+ this.baseUrl = options.baseUrl.replace(/\/$/, "");
105
+ this.timeoutMs = options.timeoutMs ?? 15_000;
106
+ this.token = options.token;
107
+ this.fetcher = options.fetch ?? globalThis.fetch;
108
+ this.headers = options.headers ?? {};
109
+ this.credentials = options.credentials;
110
+ if (!this.fetcher)
111
+ throw new Error("No fetch implementation available");
112
+ }
113
+ async request(method, path, options = {}) {
114
+ const url = new URL(this.baseUrl + path);
115
+ for (const [key, value] of Object.entries(options.query ?? {})) {
116
+ if (value !== undefined)
117
+ url.searchParams.set(key, String(value));
118
+ }
119
+ const token = await resolveToken(options.token ?? this.token);
120
+ const headers = { "Accept": "application/json", ...this.headers, ...(options.headers ?? {}) };
121
+ if (options.body !== undefined)
122
+ headers["Content-Type"] = "application/json";
123
+ if (token)
124
+ headers.Authorization = `Bearer ${token}`;
125
+ const response = await fetchWithTimeout(this.fetcher, url.toString(), {
126
+ method,
127
+ headers,
128
+ ...(options.body === undefined ? {} : { body: JSON.stringify(options.body) }),
129
+ ...(this.credentials ? { credentials: this.credentials } : {})
130
+ }, options.timeoutMs ?? this.timeoutMs);
131
+ const text = await response.text();
132
+ if (!response.ok)
133
+ throw classifyHttpError(response.status, text || `HTTP ${response.status}`);
134
+ if (!text)
135
+ return undefined;
136
+ try {
137
+ return JSON.parse(text);
138
+ }
139
+ catch (error) {
140
+ throw new TruNetworkError("HTTP endpoint returned invalid JSON", { cause: error });
141
+ }
142
+ }
143
+ }
144
+ //# sourceMappingURL=transport.js.map