@urnetwork/sdk 2026.9.17-1048676710

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 (58) hide show
  1. package/README.md +106 -0
  2. package/dist/api.d.ts +23 -0
  3. package/dist/api.d.ts.map +1 -0
  4. package/dist/generated/index.d.ts +2 -0
  5. package/dist/generated/index.d.ts.map +1 -0
  6. package/dist/generated/types.d.ts +639 -0
  7. package/dist/generated/types.d.ts.map +1 -0
  8. package/dist/index.cjs +1484 -0
  9. package/dist/index.cjs.map +1 -0
  10. package/dist/index.d.ts +22 -0
  11. package/dist/index.d.ts.map +1 -0
  12. package/dist/index.js +1462 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/loader.d.ts +26 -0
  15. package/dist/loader.d.ts.map +1 -0
  16. package/dist/react/context.d.ts +33 -0
  17. package/dist/react/context.d.ts.map +1 -0
  18. package/dist/react/hooks/constants.d.ts +2 -0
  19. package/dist/react/hooks/constants.d.ts.map +1 -0
  20. package/dist/react/hooks/index.d.ts +7 -0
  21. package/dist/react/hooks/index.d.ts.map +1 -0
  22. package/dist/react/hooks/useAuthCodeLogin.d.ts +7 -0
  23. package/dist/react/hooks/useAuthCodeLogin.d.ts.map +1 -0
  24. package/dist/react/hooks/useAuthNetworkClient.d.ts +7 -0
  25. package/dist/react/hooks/useAuthNetworkClient.d.ts.map +1 -0
  26. package/dist/react/hooks/useCheckNetwork.d.ts +13 -0
  27. package/dist/react/hooks/useCheckNetwork.d.ts.map +1 -0
  28. package/dist/react/hooks/useProviderList.d.ts +10 -0
  29. package/dist/react/hooks/useProviderList.d.ts.map +1 -0
  30. package/dist/react/hooks/useRemoveNetworkClient.d.ts +6 -0
  31. package/dist/react/hooks/useRemoveNetworkClient.d.ts.map +1 -0
  32. package/dist/react/hooks/useVerifyUserAuth.d.ts +7 -0
  33. package/dist/react/hooks/useVerifyUserAuth.d.ts.map +1 -0
  34. package/dist/react/index.cjs +2050 -0
  35. package/dist/react/index.cjs.map +1 -0
  36. package/dist/react/index.d.ts +4 -0
  37. package/dist/react/index.d.ts.map +1 -0
  38. package/dist/react/index.js +2021 -0
  39. package/dist/react/index.js.map +1 -0
  40. package/dist/socket.d.ts +111 -0
  41. package/dist/socket.d.ts.map +1 -0
  42. package/dist/subprotocol.d.ts +27 -0
  43. package/dist/subprotocol.d.ts.map +1 -0
  44. package/dist/types.d.ts +616 -0
  45. package/dist/types.d.ts.map +1 -0
  46. package/dist/utils/fetch_retry.d.ts +10 -0
  47. package/dist/utils/fetch_retry.d.ts.map +1 -0
  48. package/dist/utils/index.d.ts +3 -0
  49. package/dist/utils/index.d.ts.map +1 -0
  50. package/dist/utils/jwt.d.ts +7 -0
  51. package/dist/utils/jwt.d.ts.map +1 -0
  52. package/dist/utils/solana_pay.d.ts +17 -0
  53. package/dist/utils/solana_pay.d.ts.map +1 -0
  54. package/dist/wasm/sdk.wasm +4 -0
  55. package/dist/wasm/wasm_exec.js +575 -0
  56. package/package.json +58 -0
  57. package/wasm/sdk.wasm +4 -0
  58. package/wasm/wasm_exec.js +575 -0
package/README.md ADDED
@@ -0,0 +1,106 @@
1
+ # URnetwork JavaScript SDK
2
+
3
+ The Go/WASM SDK runs in modern browsers and Node 24+. It controls a native
4
+ Device through `DeviceRemote`, using either a configured hosted device or an
5
+ extension/companion transport. The canonical npm name is `@urnetwork/sdk`;
6
+ its first publication is pending. `@urnetwork/sdk-js` is the compatibility
7
+ import.
8
+
9
+ ## Install
10
+
11
+ ```sh
12
+ npm install @urnetwork/sdk
13
+ ```
14
+
15
+ The unqualified command selects `latest`. Preview builds use
16
+ `npm install @urnetwork/sdk@nightly`. ESM, CommonJS, TypeScript declarations,
17
+ React bindings, WASM and its matching Go runtime glue are included.
18
+
19
+ ## Sockets and Direct Sockets
20
+
21
+ An initialized Device exposes `dial`, `dialTls` and `directSockets`. Conn has
22
+ async reads/writes, deadlines, close, and Web Streams adapters. TCP/UDP support
23
+ IPv4, IPv6 and hostname Happy Eyeballs. Plain UDP races the initial datagram
24
+ and selects the first reply; that datagram may be delivered to both addresses.
25
+
26
+ Use the Direct Sockets constructor signatures with a UR Device:
27
+
28
+ ```js
29
+ const {TCPSocket, UDPSocket} = device.directSockets;
30
+ const socket = new TCPSocket("echo.example", 9000);
31
+ const {readable, writable} = await socket.opened;
32
+ const writer = writable.getWriter();
33
+ await writer.write(new TextEncoder().encode("hello"));
34
+ await writer.close();
35
+ writer.releaseLock();
36
+ const reader = readable.getReader({mode: "byob"});
37
+ console.log(await reader.read(new Uint8Array(1024)));
38
+ await reader.cancel();
39
+ reader.releaseLock();
40
+ await socket.close();
41
+ await socket.closed;
42
+ ```
43
+
44
+ `createDirectSockets(device)` also returns bound constructors. TCP accepts
45
+ `BufferSource` writes and supports default/BYOB readers; connected UDP uses
46
+ `UDPMessage` objects (`{data}`). Both offer `opened`, `closed`, and asynchronous
47
+ `close()`. Release reader/writer locks before calling `close()`.
48
+
49
+ The SDK implementation runs in ordinary browsers and Node over the Device's
50
+ packet path; it does not use or replace browser globals. Chrome's native API
51
+ is restricted to [Isolated Web Apps](https://developer.chrome.com/docs/iwa/direct-sockets).
52
+ This client profile supports `dnsQueryType` and rejects bound UDP, multicast,
53
+ and per-socket buffer/no-delay/keep-alive tuning with `NotSupportedError`.
54
+ Listener sockets remain future work. Use `dialTls` for TLS/DTLS. See the
55
+ [socket design and support profile](https://github.com/urnetwork/sdk/blob/main/SOCKET.md).
56
+
57
+ Full programs and run guides are in the
58
+ [Node and browser socket examples](https://github.com/urnetwork/examples/tree/main/javascript/socket).
59
+ They include hosted Device setup, Undici/Axios socket integration for Node,
60
+ a browser Axios request adapter, and Direct Sockets TCP/UDP echo. Browser fetch and XHR
61
+ do not expose a custom socket factory.
62
+
63
+ ## Peer messages
64
+
65
+ A provider-capable native Device can expose raw application subprotocols to
66
+ JavaScript through an extension/companion `DeviceRemote`:
67
+
68
+ ```js
69
+ const messages = await device.enableSubprotocol(4097, async message => {
70
+ console.log(message.sourceClientId, message.bytes);
71
+ });
72
+ const supported = await messages.querySubprotocols(peerClientId, 10_000);
73
+ if (supported?.includes(4097)) {
74
+ await messages.send(peerClientId, new TextEncoder().encode("hello"));
75
+ }
76
+ await messages.close();
77
+ await messages.closed;
78
+ ```
79
+
80
+ Each callback receives one complete owned `Uint8Array` and the authenticated
81
+ source client ID. `send()` reports local queue acceptance, so application
82
+ protocols should acknowledge delivery when needed. A subscription is bound to
83
+ one RPC connection and closes on reconnect. Hosted proxy devices reject this
84
+ API because they do not have a visible peer identity. The executable
85
+ [JavaScript messages example](https://github.com/urnetwork/examples/tree/main/javascript/messages)
86
+ includes live peer updates, support queries, TEXT/ACK framing, and an
87
+ authenticated numeric-loopback native companion.
88
+
89
+ ## Build, check and publish
90
+
91
+ From this directory:
92
+
93
+ ```sh
94
+ make package check-package
95
+ ```
96
+
97
+ This builds paired WASM/glue and JS/types, creates canonical and compatibility
98
+ tarballs in `release/artifacts`, and tests real Node runtime initialization,
99
+ ESM/CommonJS imports and TypeScript consumption. Install the canonical tarball
100
+ locally before the first registry publication.
101
+
102
+ `make publish` uses the Go publisher to upload the checked artifacts; it skips
103
+ when npm credentials are absent. Set `SDK_PACKAGE_VERSION` for the release
104
+ identity and `SDK_PACKAGE_CHANNEL` for its npm tag (default `nightly`). The
105
+ release pipeline calls these targets. See the
106
+ [package-manager plan](https://github.com/urnetwork/sdk/blob/main/PACKAGEMANAGERS.md).
package/dist/api.d.ts ADDED
@@ -0,0 +1,23 @@
1
+ import { AuthCodeLoginArgs, AuthCodeLoginResult, AuthLoginArgs, AuthLoginResult, AuthLoginWithPasswordArgs, AuthLoginWithPasswordResult, AuthNetworkClientArgs, AuthNetworkClientResult, AuthVerifyArgs, AuthVerifyResult, CreateApiKeyArgs, CreateApiKeyResult, DeleteApiKeyArgs, DeleteApiKeyResult, FindLocationsArgs, FindLocationsResult, ListApiKeysResult, NetworkCheckArgs, NetworkCheckResult, NetworkCreateArgs, NetworkCreateResult, RemoveNetworkClientArgs, RemoveNetworkClientResult } from "./generated/index.js";
2
+ export declare class URNetworkAPI {
3
+ private baseURL;
4
+ constructor(config?: {
5
+ baseURL?: string;
6
+ token?: string;
7
+ });
8
+ private safeJsonParse;
9
+ authLogin(params: AuthLoginArgs): Promise<AuthLoginResult>;
10
+ authLoginWithPassword(params: AuthLoginWithPasswordArgs): Promise<AuthLoginWithPasswordResult>;
11
+ networkCheck(params: NetworkCheckArgs): Promise<NetworkCheckResult | undefined>;
12
+ networkCreate(params: NetworkCreateArgs): Promise<NetworkCreateResult>;
13
+ authCodeLogin(params: AuthCodeLoginArgs): Promise<AuthCodeLoginResult>;
14
+ networkProviderLocations(): Promise<FindLocationsResult>;
15
+ searchProviderLocations(params: FindLocationsArgs): Promise<FindLocationsResult>;
16
+ verifyUserAuth(params: AuthVerifyArgs, adminToken: string): Promise<AuthVerifyResult>;
17
+ authNetworkClient(params: AuthNetworkClientArgs, token: string, signal?: AbortSignal): Promise<AuthNetworkClientResult>;
18
+ removeNetworkClient(params: RemoveNetworkClientArgs, token: string): Promise<RemoveNetworkClientResult>;
19
+ createApiKey(params: CreateApiKeyArgs, token: string): Promise<CreateApiKeyResult>;
20
+ listApiKeys(token: string): Promise<ListApiKeysResult>;
21
+ deleteApiKey(params: DeleteApiKeyArgs, token: string): Promise<DeleteApiKeyResult>;
22
+ }
23
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,yBAAyB,EACzB,2BAA2B,EAC3B,qBAAqB,EACrB,uBAAuB,EACvB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,EACvB,yBAAyB,EAC1B,MAAM,aAAa,CAAC;AAGrB,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;YAQ3C,aAAa;IAsCrB,SAAS,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC;IAgD1D,qBAAqB,CACzB,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,2BAA2B,CAAC;IAmDjC,YAAY,CAChB,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;IAkCpC,aAAa,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAsEtE,aAAa,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA2CtE,wBAAwB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAqCxD,uBAAuB,CAC3B,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,mBAAmB,CAAC;IA0CzB,cAAc,CAClB,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,gBAAgB,CAAC;IA4CtB,iBAAiB,CACrB,MAAM,EAAE,qBAAqB,EAC7B,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,uBAAuB,CAAC;IAoD7B,mBAAmB,CACvB,MAAM,EAAE,uBAAuB,EAC/B,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,yBAAyB,CAAC;IA4C/B,YAAY,CAChB,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,kBAAkB,CAAC;IAuCxB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAwCtD,YAAY,CAChB,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,kBAAkB,CAAC;CAsC/B"}
@@ -0,0 +1,2 @@
1
+ export * from "./types.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generated/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}