@bloque/sdk 0.0.38 → 0.0.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -18,35 +18,7 @@ The official TypeScript/JavaScript SDK for integrating [Bloque](https://www.bloq
18
18
  ## Installation
19
19
 
20
20
  ```bash
21
- pnpm install @bloque/sdk
22
- ```
23
-
24
- ## Quick Start
25
-
26
- ```typescript
27
- import { SDK } from '@bloque/sdk';
28
-
29
- // Initialize SDK
30
- const bloque = await SDK.connect({
31
- apiKey: process.env.BLOQUE_API_KEY!,
32
- platform: 'node',
33
- });
34
- const bloque = new SDK({
35
- origin: 'bloque',
36
- auth: {
37
- type: 'apiKey',
38
- apiKey: 'sk_live_862f110...',
39
- },
40
- mode: 'production', // or 'sandbox' for testing
41
- platform: 'node',
42
- });
43
-
44
- // Create a virtual card
45
- const card = await bloque.accounts.card.create({
46
- name: 'My Virtual Card',
47
- });
48
-
49
- console.log('Card created:', card.urn);
21
+ bun install @bloque/sdk
50
22
  ```
51
23
 
52
24
  ## Documentation
package/dist/bloque.d.ts CHANGED
@@ -12,6 +12,19 @@ export declare class SDK {
12
12
  private getApiKey;
13
13
  private buildUrn;
14
14
  private requireOrigin;
15
+ private buildOtpValue;
16
+ private assertJwtAuth;
17
+ assert(origin: string, alias: string): Promise<{
18
+ type: "OTP";
19
+ value: {
20
+ phone?: string;
21
+ email?: string;
22
+ expires_at: number;
23
+ };
24
+ params: {
25
+ attempts_remaining: number;
26
+ };
27
+ }>;
15
28
  authenticate(): Promise<{
16
29
  accounts: AccountsClient;
17
30
  compliance: ComplianceClient;
@@ -30,13 +43,6 @@ export declare class SDK {
30
43
  urn: string | undefined;
31
44
  readonly accessToken: string;
32
45
  }>;
33
- connect(alias: string): Promise<{
34
- accounts: AccountsClient;
35
- compliance: ComplianceClient;
36
- identity: IdentityClient;
37
- orgs: OrgsClient;
38
- swap: SwapClient;
39
- urn: string | undefined;
40
- readonly accessToken: string;
41
- }>;
46
+ connect(alias: string): Promise<ReturnType<SDK['buildClients']>>;
47
+ connect(origin: string, alias: string, code: string): Promise<ReturnType<SDK['buildClients']>>;
42
48
  }
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";const __rslib_import_meta_url__="u"<typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_require__={};__webpack_require__.d=(e,t)=>{for(var i in t)__webpack_require__.o(t,i)&&!__webpack_require__.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{SDK:()=>SDK});const sdk_accounts_namespaceObject=require("@bloque/sdk-accounts"),sdk_compliance_namespaceObject=require("@bloque/sdk-compliance"),sdk_core_namespaceObject=require("@bloque/sdk-core"),sdk_identity_namespaceObject=require("@bloque/sdk-identity"),sdk_orgs_namespaceObject=require("@bloque/sdk-orgs"),sdk_swap_namespaceObject=require("@bloque/sdk-swap");class SDK{httpClient;identity;constructor(e){this.httpClient=new sdk_core_namespaceObject.HttpClient(e),this.identity=new sdk_identity_namespaceObject.IdentityClient(this.httpClient)}buildClients(e){return{accounts:new sdk_accounts_namespaceObject.AccountsClient(this.httpClient),compliance:new sdk_compliance_namespaceObject.ComplianceClient(this.httpClient),identity:this.identity,orgs:new sdk_orgs_namespaceObject.OrgsClient(this.httpClient),swap:new sdk_swap_namespaceObject.SwapClient(this.httpClient),urn:this.httpClient.urn,get accessToken(){return e}}}getApiKey(){let{auth:e}=this.httpClient;return"apiKey"===e.type?e.apiKey:""}buildUrn(e){let t=this.httpClient.origin;if(!t)throw Error("Origin is required to build a urn");return`did:bloque:${t}:${e}`}requireOrigin(){let e=this.httpClient.origin;if(!e)throw Error("Origin is required for this operation");return e}async authenticate(){let{auth:e}=this.httpClient;if("jwt"!==e.type)throw Error("authenticate is only available for JWT auth");let t=this.httpClient.getJwtToken();if(!t?.trim())throw Error("Authentication token is missing in tokenStorage");this.httpClient.setJwtToken(t);let i=await this.httpClient.request({path:"/api/identities/me",method:"GET"});return this.httpClient.setOrigin(i.origin),this.httpClient.setUrn(i.urn),this.buildClients(t)}async register(e,t){t.extraContext||(t.extraContext={});let i=this.buildUrn(e),r=this.requireOrigin(),s=await this.identity.origins.register(e,r,{assertionResult:{alias:e,challengeType:"API_KEY",value:{apiKey:this.getApiKey(),alias:e}},...t});return this.httpClient.setAccessToken(s.accessToken),this.httpClient.setUrn(i),this.buildClients(s.accessToken)}async connect(e){let t=this.buildUrn(e),i=this.requireOrigin(),r=await this.httpClient.request({path:`/api/origins/${i}/connect`,method:"POST",body:{assertion_result:{challengeType:"API_KEY",value:{api_key:this.getApiKey(),alias:e}},extra_context:{}}});return this.httpClient.setAccessToken(r.result.access_token),this.httpClient.setUrn(t),this.buildClients(r.result.access_token)}}for(var __rspack_i in exports.SDK=__webpack_exports__.SDK,__webpack_exports__)-1===["SDK"].indexOf(__rspack_i)&&(exports[__rspack_i]=__webpack_exports__[__rspack_i]);Object.defineProperty(exports,"__esModule",{value:!0});
1
+ "use strict";const __rslib_import_meta_url__="u"<typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_require__={};__webpack_require__.d=(e,t)=>{for(var i in t)__webpack_require__.o(t,i)&&!__webpack_require__.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{SDK:()=>SDK});const sdk_accounts_namespaceObject=require("@bloque/sdk-accounts"),sdk_compliance_namespaceObject=require("@bloque/sdk-compliance"),sdk_core_namespaceObject=require("@bloque/sdk-core"),sdk_identity_namespaceObject=require("@bloque/sdk-identity"),sdk_orgs_namespaceObject=require("@bloque/sdk-orgs"),sdk_swap_namespaceObject=require("@bloque/sdk-swap");class SDK{httpClient;identity;constructor(e){this.httpClient=new sdk_core_namespaceObject.HttpClient(e),this.identity=new sdk_identity_namespaceObject.IdentityClient(this.httpClient)}buildClients(e){return{accounts:new sdk_accounts_namespaceObject.AccountsClient(this.httpClient),compliance:new sdk_compliance_namespaceObject.ComplianceClient(this.httpClient),identity:this.identity,orgs:new sdk_orgs_namespaceObject.OrgsClient(this.httpClient),swap:new sdk_swap_namespaceObject.SwapClient(this.httpClient),urn:this.httpClient.urn,get accessToken(){return e}}}getApiKey(){let{auth:e}=this.httpClient;return"apiKey"===e.type?e.apiKey:""}buildUrn(e){let t=this.httpClient.origin;if(!t)throw Error("Origin is required to build a urn");return`did:bloque:${t}:${e}`}requireOrigin(){let e=this.httpClient.origin;if(!e)throw Error("Origin is required for this operation");return e}buildOtpValue(e,t){let i=e.trim();return i.includes("@")?{code:t,email:i}:{code:t,phone:i}}assertJwtAuth(){if("jwt"!==this.httpClient.auth.type)throw Error("This operation is only available for JWT auth")}async assert(e,t){return this.assertJwtAuth(),await this.httpClient.request({path:`/api/origins/${e}/assert?alias=${encodeURIComponent(t)}`,method:"GET"})}async authenticate(){let{auth:e}=this.httpClient;if("jwt"!==e.type)throw Error("authenticate is only available for JWT auth");let t=this.httpClient.getJwtToken();if(!t?.trim())throw Error("Authentication token is missing in tokenStorage");this.httpClient.setJwtToken(t);let i=await this.httpClient.request({path:"/api/identities/me",method:"GET"});return this.httpClient.setOrigin(i.origin),this.httpClient.setUrn(i.urn),this.buildClients(t)}async register(e,t){t.extraContext||(t.extraContext={});let i=this.buildUrn(e),r=this.requireOrigin(),s=await this.identity.origins.register(e,r,{assertionResult:{alias:e,challengeType:"API_KEY",value:{apiKey:this.getApiKey(),alias:e}},...t});return this.httpClient.setAccessToken(s.accessToken),this.httpClient.setUrn(i),this.buildClients(s.accessToken)}async connect(e,t,i){if("apiKey"===this.httpClient.auth.type){let t=this.buildUrn(e),i=this.requireOrigin(),r=await this.httpClient.request({path:`/api/origins/${i}/connect`,method:"POST",body:{assertion_result:{challengeType:"API_KEY",value:{api_key:this.getApiKey(),alias:e}},extra_context:{}}});return this.httpClient.setAccessToken(r.result.access_token),this.httpClient.setUrn(t),this.buildClients(r.result.access_token)}if(this.assertJwtAuth(),!t||!i)throw Error("JWT connect requires origin and OTP code. Use connect(origin, alias, code)");let r=await this.httpClient.request({path:`/api/origins/${e}/connect`,method:"POST",body:{assertion_result:{challengeType:"OTP",alias:t,value:this.buildOtpValue(t,i)},extra_context:{}}}),s=`did:bloque:${e}:${t}`;return this.httpClient.setJwtToken(r.result.access_token),this.httpClient.setOrigin(e),this.httpClient.setUrn(s),this.buildClients(r.result.access_token)}}for(var __rspack_i in exports.SDK=__webpack_exports__.SDK,__webpack_exports__)-1===["SDK"].indexOf(__rspack_i)&&(exports[__rspack_i]=__webpack_exports__[__rspack_i]);Object.defineProperty(exports,"__esModule",{value:!0});
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{AccountsClient as t}from"@bloque/sdk-accounts";import{ComplianceClient as e}from"@bloque/sdk-compliance";import{HttpClient as i}from"@bloque/sdk-core";import{IdentityClient as n}from"@bloque/sdk-identity";import{OrgsClient as s}from"@bloque/sdk-orgs";import{SwapClient as r}from"@bloque/sdk-swap";class o{httpClient;identity;constructor(t){this.httpClient=new i(t),this.identity=new n(this.httpClient)}buildClients(i){return{accounts:new t(this.httpClient),compliance:new e(this.httpClient),identity:this.identity,orgs:new s(this.httpClient),swap:new r(this.httpClient),urn:this.httpClient.urn,get accessToken(){return i}}}getApiKey(){let{auth:t}=this.httpClient;return"apiKey"===t.type?t.apiKey:""}buildUrn(t){let e=this.httpClient.origin;if(!e)throw Error("Origin is required to build a urn");return`did:bloque:${e}:${t}`}requireOrigin(){let t=this.httpClient.origin;if(!t)throw Error("Origin is required for this operation");return t}async authenticate(){let{auth:t}=this.httpClient;if("jwt"!==t.type)throw Error("authenticate is only available for JWT auth");let e=this.httpClient.getJwtToken();if(!e?.trim())throw Error("Authentication token is missing in tokenStorage");this.httpClient.setJwtToken(e);let i=await this.httpClient.request({path:"/api/identities/me",method:"GET"});return this.httpClient.setOrigin(i.origin),this.httpClient.setUrn(i.urn),this.buildClients(e)}async register(t,e){e.extraContext||(e.extraContext={});let i=this.buildUrn(t),n=this.requireOrigin(),s=await this.identity.origins.register(t,n,{assertionResult:{alias:t,challengeType:"API_KEY",value:{apiKey:this.getApiKey(),alias:t}},...e});return this.httpClient.setAccessToken(s.accessToken),this.httpClient.setUrn(i),this.buildClients(s.accessToken)}async connect(t){let e=this.buildUrn(t),i=this.requireOrigin(),n=await this.httpClient.request({path:`/api/origins/${i}/connect`,method:"POST",body:{assertion_result:{challengeType:"API_KEY",value:{api_key:this.getApiKey(),alias:t}},extra_context:{}}});return this.httpClient.setAccessToken(n.result.access_token),this.httpClient.setUrn(e),this.buildClients(n.result.access_token)}}export{o as SDK};
1
+ import{AccountsClient as t}from"@bloque/sdk-accounts";import{ComplianceClient as e}from"@bloque/sdk-compliance";import{HttpClient as i}from"@bloque/sdk-core";import{IdentityClient as s}from"@bloque/sdk-identity";import{OrgsClient as n}from"@bloque/sdk-orgs";import{SwapClient as r}from"@bloque/sdk-swap";class h{httpClient;identity;constructor(t){this.httpClient=new i(t),this.identity=new s(this.httpClient)}buildClients(i){return{accounts:new t(this.httpClient),compliance:new e(this.httpClient),identity:this.identity,orgs:new n(this.httpClient),swap:new r(this.httpClient),urn:this.httpClient.urn,get accessToken(){return i}}}getApiKey(){let{auth:t}=this.httpClient;return"apiKey"===t.type?t.apiKey:""}buildUrn(t){let e=this.httpClient.origin;if(!e)throw Error("Origin is required to build a urn");return`did:bloque:${e}:${t}`}requireOrigin(){let t=this.httpClient.origin;if(!t)throw Error("Origin is required for this operation");return t}buildOtpValue(t,e){let i=t.trim();return i.includes("@")?{code:e,email:i}:{code:e,phone:i}}assertJwtAuth(){if("jwt"!==this.httpClient.auth.type)throw Error("This operation is only available for JWT auth")}async assert(t,e){return this.assertJwtAuth(),await this.httpClient.request({path:`/api/origins/${t}/assert?alias=${encodeURIComponent(e)}`,method:"GET"})}async authenticate(){let{auth:t}=this.httpClient;if("jwt"!==t.type)throw Error("authenticate is only available for JWT auth");let e=this.httpClient.getJwtToken();if(!e?.trim())throw Error("Authentication token is missing in tokenStorage");this.httpClient.setJwtToken(e);let i=await this.httpClient.request({path:"/api/identities/me",method:"GET"});return this.httpClient.setOrigin(i.origin),this.httpClient.setUrn(i.urn),this.buildClients(e)}async register(t,e){e.extraContext||(e.extraContext={});let i=this.buildUrn(t),s=this.requireOrigin(),n=await this.identity.origins.register(t,s,{assertionResult:{alias:t,challengeType:"API_KEY",value:{apiKey:this.getApiKey(),alias:t}},...e});return this.httpClient.setAccessToken(n.accessToken),this.httpClient.setUrn(i),this.buildClients(n.accessToken)}async connect(t,e,i){if("apiKey"===this.httpClient.auth.type){let e=this.buildUrn(t),i=this.requireOrigin(),s=await this.httpClient.request({path:`/api/origins/${i}/connect`,method:"POST",body:{assertion_result:{challengeType:"API_KEY",value:{api_key:this.getApiKey(),alias:t}},extra_context:{}}});return this.httpClient.setAccessToken(s.result.access_token),this.httpClient.setUrn(e),this.buildClients(s.result.access_token)}if(this.assertJwtAuth(),!e||!i)throw Error("JWT connect requires origin and OTP code. Use connect(origin, alias, code)");let s=await this.httpClient.request({path:`/api/origins/${t}/connect`,method:"POST",body:{assertion_result:{challengeType:"OTP",alias:e,value:this.buildOtpValue(e,i)},extra_context:{}}}),n=`did:bloque:${t}:${e}`;return this.httpClient.setJwtToken(s.result.access_token),this.httpClient.setOrigin(t),this.httpClient.setUrn(n),this.buildClients(s.result.access_token)}}export{h as SDK};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bloque/sdk",
3
- "version": "0.0.38",
3
+ "version": "0.0.39",
4
4
  "description": "Official Bloque SDK",
5
5
  "type": "module",
6
6
  "keywords": [
@@ -68,11 +68,11 @@
68
68
  "node": ">=22"
69
69
  },
70
70
  "dependencies": {
71
- "@bloque/sdk-accounts": "0.0.38",
72
- "@bloque/sdk-compliance": "0.0.38",
73
- "@bloque/sdk-core": "0.0.38",
74
- "@bloque/sdk-identity": "0.0.38",
75
- "@bloque/sdk-orgs": "0.0.38",
76
- "@bloque/sdk-swap": "0.0.38"
71
+ "@bloque/sdk-accounts": "0.0.39",
72
+ "@bloque/sdk-compliance": "0.0.39",
73
+ "@bloque/sdk-core": "0.0.39",
74
+ "@bloque/sdk-identity": "0.0.39",
75
+ "@bloque/sdk-orgs": "0.0.39",
76
+ "@bloque/sdk-swap": "0.0.39"
77
77
  }
78
78
  }