@xkova/sdk 0.1.0-alpha.1

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 (76) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +453 -0
  3. package/dist/abi.d.ts +10288 -0
  4. package/dist/abi.js +6645 -0
  5. package/dist/client.d.ts +80 -0
  6. package/dist/client.js +251 -0
  7. package/dist/cursor.d.ts +21 -0
  8. package/dist/cursor.js +28 -0
  9. package/dist/errors.d.ts +31 -0
  10. package/dist/errors.js +63 -0
  11. package/dist/generated/types.d.ts +13371 -0
  12. package/dist/generated/types.js +3 -0
  13. package/dist/idempotency.d.ts +25 -0
  14. package/dist/idempotency.js +46 -0
  15. package/dist/index.d.ts +11 -0
  16. package/dist/index.js +8 -0
  17. package/dist/member-action-intents.d.ts +72 -0
  18. package/dist/member-action-intents.js +181 -0
  19. package/dist/member-bff.d.ts +535 -0
  20. package/dist/member-bff.js +1594 -0
  21. package/dist/member-resources.d.ts +203 -0
  22. package/dist/member-resources.js +56 -0
  23. package/dist/request-signing.d.ts +23 -0
  24. package/dist/request-signing.js +112 -0
  25. package/dist/resources/account-holders.d.ts +295 -0
  26. package/dist/resources/account-holders.js +166 -0
  27. package/dist/resources/base.d.ts +47 -0
  28. package/dist/resources/base.js +25 -0
  29. package/dist/resources/branding.d.ts +154 -0
  30. package/dist/resources/branding.js +34 -0
  31. package/dist/resources/chains.d.ts +6 -0
  32. package/dist/resources/chains.js +6 -0
  33. package/dist/resources/contacts.d.ts +55 -0
  34. package/dist/resources/contacts.js +22 -0
  35. package/dist/resources/escrows.d.ts +45 -0
  36. package/dist/resources/escrows.js +18 -0
  37. package/dist/resources/fee-schedules.d.ts +40 -0
  38. package/dist/resources/fee-schedules.js +15 -0
  39. package/dist/resources/index.d.ts +21 -0
  40. package/dist/resources/index.js +21 -0
  41. package/dist/resources/integration-gateways.d.ts +114 -0
  42. package/dist/resources/integration-gateways.js +27 -0
  43. package/dist/resources/onboarding.d.ts +18 -0
  44. package/dist/resources/onboarding.js +9 -0
  45. package/dist/resources/payment-requests.d.ts +115 -0
  46. package/dist/resources/payment-requests.js +27 -0
  47. package/dist/resources/payments.d.ts +182 -0
  48. package/dist/resources/payments.js +33 -0
  49. package/dist/resources/ramps.d.ts +163 -0
  50. package/dist/resources/ramps.js +44 -0
  51. package/dist/resources/rwa.d.ts +397 -0
  52. package/dist/resources/rwa.js +150 -0
  53. package/dist/resources/tenant.d.ts +136 -0
  54. package/dist/resources/tenant.js +42 -0
  55. package/dist/resources/tokenization.d.ts +394 -0
  56. package/dist/resources/tokenization.js +126 -0
  57. package/dist/resources/transactions.d.ts +8 -0
  58. package/dist/resources/transactions.js +6 -0
  59. package/dist/resources/wallets.d.ts +56 -0
  60. package/dist/resources/wallets.js +21 -0
  61. package/dist/resources/webhooks.d.ts +115 -0
  62. package/dist/resources/webhooks.js +43 -0
  63. package/dist/resources/workflows.d.ts +44 -0
  64. package/dist/resources/workflows.js +70 -0
  65. package/dist/resources/workspace-tokens.d.ts +6 -0
  66. package/dist/resources/workspace-tokens.js +6 -0
  67. package/dist/resources/workspaces.d.ts +25 -0
  68. package/dist/resources/workspaces.js +12 -0
  69. package/dist/retry.d.ts +21 -0
  70. package/dist/retry.js +44 -0
  71. package/dist/rwa-verify.d.ts +50 -0
  72. package/dist/rwa-verify.js +159 -0
  73. package/dist/webhook.d.ts +24 -0
  74. package/dist/webhook.js +56 -0
  75. package/llms.txt +84 -0
  76. package/package.json +62 -0
@@ -0,0 +1,154 @@
1
+ import { Resource, type ReqBody, type Query } from './base.js';
2
+ import type { XKOVAMutationOptions } from '../client.js';
3
+ export declare class BrandingResource extends Resource {
4
+ get(): Promise<{
5
+ resolved: {
6
+ brand_name: string;
7
+ legal_name: string;
8
+ from_name: string;
9
+ from_email: string;
10
+ reply_to_email?: string | null;
11
+ support_email: string;
12
+ logo_url?: string | null;
13
+ primary_color?: string | null;
14
+ secondary_color?: string | null;
15
+ accent_color?: string | null;
16
+ primary_color_dark?: string | null;
17
+ secondary_color_dark?: string | null;
18
+ accent_color_dark?: string | null;
19
+ email_button_color?: string | null;
20
+ email_bg_color?: string | null;
21
+ email_text_color?: string | null;
22
+ app_title?: string | null;
23
+ footer_text?: string | null;
24
+ terms_url?: string | null;
25
+ privacy_url?: string | null;
26
+ display_term_preset?: ("member" | "customer" | "user" | "client") | null;
27
+ };
28
+ theme: import("../generated/types.js").components["schemas"]["TenantBrandingTheme"];
29
+ }>;
30
+ upsert(body: ReqBody<'upsertBranding'>, opts?: XKOVAMutationOptions): Promise<{
31
+ resolved: {
32
+ brand_name: string;
33
+ legal_name: string;
34
+ from_name: string;
35
+ from_email: string;
36
+ reply_to_email?: string | null;
37
+ support_email: string;
38
+ logo_url?: string | null;
39
+ primary_color?: string | null;
40
+ secondary_color?: string | null;
41
+ accent_color?: string | null;
42
+ primary_color_dark?: string | null;
43
+ secondary_color_dark?: string | null;
44
+ accent_color_dark?: string | null;
45
+ email_button_color?: string | null;
46
+ email_bg_color?: string | null;
47
+ email_text_color?: string | null;
48
+ app_title?: string | null;
49
+ footer_text?: string | null;
50
+ terms_url?: string | null;
51
+ privacy_url?: string | null;
52
+ display_term_preset?: ("member" | "customer" | "user" | "client") | null;
53
+ };
54
+ theme: import("../generated/types.js").components["schemas"]["TenantBrandingTheme"];
55
+ }>;
56
+ /** Public (unauthenticated, Origin-gated) branding for member surfaces. */
57
+ public(query?: Query<'getPublicBranding'>): Promise<{
58
+ brand_name: string;
59
+ support_email: string;
60
+ logo_url: string | null;
61
+ primary_color: string | null;
62
+ secondary_color: string | null;
63
+ accent_color: string | null;
64
+ primary_color_dark: string | null;
65
+ secondary_color_dark: string | null;
66
+ accent_color_dark: string | null;
67
+ app_title: string | null;
68
+ footer_text: string | null;
69
+ terms_url: string | null;
70
+ privacy_url: string | null;
71
+ }>;
72
+ listEmailDomains(): Promise<{
73
+ provider_configured: boolean;
74
+ domains: import("../generated/types.js").components["schemas"]["EmailDomain"][];
75
+ }>;
76
+ addEmailDomain(body: ReqBody<'addEmailDomain'>, opts?: XKOVAMutationOptions): Promise<{
77
+ id: string;
78
+ domain: string;
79
+ status: "not_started" | "pending" | "verified" | "failed" | "temporary_failure";
80
+ region: string | null;
81
+ dns_records: import("../generated/types.js").components["schemas"]["EmailDnsRecord"][];
82
+ verified_at: string | null;
83
+ last_synced_at: string;
84
+ created_at: string;
85
+ }>;
86
+ deleteEmailDomain(id: string, opts?: XKOVAMutationOptions): Promise<void>;
87
+ verifyEmailDomain(id: string, opts?: XKOVAMutationOptions): Promise<{
88
+ id: string;
89
+ domain: string;
90
+ status: "not_started" | "pending" | "verified" | "failed" | "temporary_failure";
91
+ region: string | null;
92
+ dns_records: import("../generated/types.js").components["schemas"]["EmailDnsRecord"][];
93
+ verified_at: string | null;
94
+ last_synced_at: string;
95
+ created_at: string;
96
+ }>;
97
+ logoUploadUrl(body: ReqBody<'brandingLogoUploadUrl'>, opts?: XKOVAMutationOptions): Promise<{
98
+ upload_url: string;
99
+ object_key: string;
100
+ expires_at: string;
101
+ }>;
102
+ confirmLogo(body: ReqBody<'confirmBrandingLogo'>, opts?: XKOVAMutationOptions): Promise<{
103
+ resolved: {
104
+ brand_name: string;
105
+ legal_name: string;
106
+ from_name: string;
107
+ from_email: string;
108
+ reply_to_email?: string | null;
109
+ support_email: string;
110
+ logo_url?: string | null;
111
+ primary_color?: string | null;
112
+ secondary_color?: string | null;
113
+ accent_color?: string | null;
114
+ primary_color_dark?: string | null;
115
+ secondary_color_dark?: string | null;
116
+ accent_color_dark?: string | null;
117
+ email_button_color?: string | null;
118
+ email_bg_color?: string | null;
119
+ email_text_color?: string | null;
120
+ app_title?: string | null;
121
+ footer_text?: string | null;
122
+ terms_url?: string | null;
123
+ privacy_url?: string | null;
124
+ display_term_preset?: ("member" | "customer" | "user" | "client") | null;
125
+ };
126
+ theme: import("../generated/types.js").components["schemas"]["TenantBrandingTheme"];
127
+ }>;
128
+ deleteLogo(opts?: XKOVAMutationOptions): Promise<{
129
+ resolved: {
130
+ brand_name: string;
131
+ legal_name: string;
132
+ from_name: string;
133
+ from_email: string;
134
+ reply_to_email?: string | null;
135
+ support_email: string;
136
+ logo_url?: string | null;
137
+ primary_color?: string | null;
138
+ secondary_color?: string | null;
139
+ accent_color?: string | null;
140
+ primary_color_dark?: string | null;
141
+ secondary_color_dark?: string | null;
142
+ accent_color_dark?: string | null;
143
+ email_button_color?: string | null;
144
+ email_bg_color?: string | null;
145
+ email_text_color?: string | null;
146
+ app_title?: string | null;
147
+ footer_text?: string | null;
148
+ terms_url?: string | null;
149
+ privacy_url?: string | null;
150
+ display_term_preset?: ("member" | "customer" | "user" | "client") | null;
151
+ };
152
+ theme: import("../generated/types.js").components["schemas"]["TenantBrandingTheme"];
153
+ }>;
154
+ }
@@ -0,0 +1,34 @@
1
+ import { Resource } from './base.js';
2
+ export class BrandingResource extends Resource {
3
+ get() {
4
+ return this.getJson('/branding');
5
+ }
6
+ upsert(body, opts) {
7
+ return this.putJson('/branding', body, opts);
8
+ }
9
+ /** Public (unauthenticated, Origin-gated) branding for member surfaces. */
10
+ public(query = {}) {
11
+ return this.getJson('/public/branding', query);
12
+ }
13
+ listEmailDomains() {
14
+ return this.getJson('/branding/email-domains');
15
+ }
16
+ addEmailDomain(body, opts) {
17
+ return this.postJson('/branding/email-domains', body, opts);
18
+ }
19
+ deleteEmailDomain(id, opts) {
20
+ return this.deleteJson(`/branding/email-domains/${this.enc(id)}`, opts);
21
+ }
22
+ verifyEmailDomain(id, opts) {
23
+ return this.postJson(`/branding/email-domains/${this.enc(id)}/verify`, undefined, opts);
24
+ }
25
+ logoUploadUrl(body, opts) {
26
+ return this.postJson('/branding/logo/upload-url', body, opts);
27
+ }
28
+ confirmLogo(body, opts) {
29
+ return this.postJson('/branding/logo', body, opts);
30
+ }
31
+ deleteLogo(opts) {
32
+ return this.deleteJson('/branding/logo', opts);
33
+ }
34
+ }
@@ -0,0 +1,6 @@
1
+ import { Resource } from './base.js';
2
+ export declare class ChainsResource extends Resource {
3
+ listAvailable(): Promise<{
4
+ data: import("../generated/types.js").components["schemas"]["Chain"][];
5
+ }>;
6
+ }
@@ -0,0 +1,6 @@
1
+ import { Resource } from './base.js';
2
+ export class ChainsResource extends Resource {
3
+ listAvailable() {
4
+ return this.getJson('/chains/available');
5
+ }
6
+ }
@@ -0,0 +1,55 @@
1
+ import { Resource, type ReqBody, type Query } from './base.js';
2
+ import type { XKOVAMutationOptions } from '../client.js';
3
+ export declare class ContactsResource extends Resource {
4
+ list(query: Query<'listContacts'>): Promise<{
5
+ data: import("../generated/types.js").components["schemas"]["Contact"][];
6
+ next_cursor?: string | null;
7
+ has_more: boolean;
8
+ }>;
9
+ create(query: Query<'createContact'>, body: ReqBody<'createContact'>, opts?: XKOVAMutationOptions): Promise<{
10
+ id?: import("../generated/types.js").components["schemas"]["ContactId"];
11
+ account_holder_id?: import("../generated/types.js").components["schemas"]["AccountHolderId"];
12
+ display_name?: string;
13
+ email_hash?: string | null;
14
+ phone_hash?: string | null;
15
+ wallet_address?: string | null;
16
+ last_sent_at?: import("../generated/types.js").components["schemas"]["TimestampUtc"] | null;
17
+ notes?: string | null;
18
+ pending_resolution?: boolean;
19
+ created_at?: import("../generated/types.js").components["schemas"]["TimestampUtc"];
20
+ updated_at?: import("../generated/types.js").components["schemas"]["TimestampUtc"];
21
+ }>;
22
+ retrieve(id: string, query: Query<'getContact'>): Promise<{
23
+ id?: import("../generated/types.js").components["schemas"]["ContactId"];
24
+ account_holder_id?: import("../generated/types.js").components["schemas"]["AccountHolderId"];
25
+ display_name?: string;
26
+ email_hash?: string | null;
27
+ phone_hash?: string | null;
28
+ wallet_address?: string | null;
29
+ last_sent_at?: import("../generated/types.js").components["schemas"]["TimestampUtc"] | null;
30
+ notes?: string | null;
31
+ pending_resolution?: boolean;
32
+ created_at?: import("../generated/types.js").components["schemas"]["TimestampUtc"];
33
+ updated_at?: import("../generated/types.js").components["schemas"]["TimestampUtc"];
34
+ }>;
35
+ update(id: string, query: Query<'updateContact'>, body: ReqBody<'updateContact'>, opts?: XKOVAMutationOptions): Promise<{
36
+ id?: import("../generated/types.js").components["schemas"]["ContactId"];
37
+ account_holder_id?: import("../generated/types.js").components["schemas"]["AccountHolderId"];
38
+ display_name?: string;
39
+ email_hash?: string | null;
40
+ phone_hash?: string | null;
41
+ wallet_address?: string | null;
42
+ last_sent_at?: import("../generated/types.js").components["schemas"]["TimestampUtc"] | null;
43
+ notes?: string | null;
44
+ pending_resolution?: boolean;
45
+ created_at?: import("../generated/types.js").components["schemas"]["TimestampUtc"];
46
+ updated_at?: import("../generated/types.js").components["schemas"]["TimestampUtc"];
47
+ }>;
48
+ delete(id: string, query: Query<'deleteContact'>, opts?: XKOVAMutationOptions): Promise<void>;
49
+ /** Look up a contact by email or phone hash. */
50
+ search(body: ReqBody<'searchContacts'>, opts?: XKOVAMutationOptions): Promise<{
51
+ data: import("../generated/types.js").components["schemas"]["Contact"][];
52
+ next_cursor?: string | null;
53
+ has_more: boolean;
54
+ }>;
55
+ }
@@ -0,0 +1,22 @@
1
+ import { Resource } from './base.js';
2
+ export class ContactsResource extends Resource {
3
+ list(query) {
4
+ return this.getJson('/contacts', query);
5
+ }
6
+ create(query, body, opts) {
7
+ return this.postJson('/contacts', body, opts, query);
8
+ }
9
+ retrieve(id, query) {
10
+ return this.getJson(`/contacts/${this.enc(id)}`, query);
11
+ }
12
+ update(id, query, body, opts) {
13
+ return this.patchJson(`/contacts/${this.enc(id)}`, body, opts, query);
14
+ }
15
+ delete(id, query, opts) {
16
+ return this.deleteJson(`/contacts/${this.enc(id)}`, opts, query);
17
+ }
18
+ /** Look up a contact by email or phone hash. */
19
+ search(body, opts) {
20
+ return this.postJson('/contacts/search', body, opts);
21
+ }
22
+ }
@@ -0,0 +1,45 @@
1
+ import { Resource, type ReqBody, type Query } from './base.js';
2
+ import type { XKOVAMutationOptions } from '../client.js';
3
+ export declare class EscrowsResource extends Resource {
4
+ list(query?: Query<'listEscrows'>): Promise<{
5
+ data: import("../generated/types.js").components["schemas"]["Escrow"][];
6
+ next_cursor: string | null;
7
+ has_more: boolean;
8
+ }>;
9
+ create(body: ReqBody<'createEscrow'>, opts?: XKOVAMutationOptions): Promise<{
10
+ escrow: import("../generated/types.js").components["schemas"]["Escrow"];
11
+ claim_token: string;
12
+ claim_url: string;
13
+ claim_url_short?: string | null;
14
+ claim_token_expires_at: import("../generated/types.js").components["schemas"]["TimestampUtc"];
15
+ signing_expires_at?: import("../generated/types.js").components["schemas"]["TimestampUtc"] | null;
16
+ }>;
17
+ retrieve(id: string, query?: Query<'getEscrow'>): Promise<{
18
+ id: import("../generated/types.js").components["schemas"]["EscrowId"];
19
+ chain: import("../generated/types.js").components["schemas"]["ChainDescriptor"];
20
+ fingerprint: string;
21
+ amount: import("../generated/types.js").components["schemas"]["Money"];
22
+ token_deployment_id: string;
23
+ token_symbol?: string;
24
+ sender_wallet_id: import("../generated/types.js").components["schemas"]["WalletId"];
25
+ recipient_ref: string;
26
+ state: "pending_approval" | "pending" | "claimed" | "cancelled" | "expired";
27
+ expires_at: import("../generated/types.js").components["schemas"]["TimestampUtc"];
28
+ on_chain_payment_id?: string | null;
29
+ create_tx_hash?: string | null;
30
+ release_tx_hash?: string | null;
31
+ fee_accruals?: import("../generated/types.js").components["schemas"]["EscrowFeeAccrual"][];
32
+ net_amount?: import("../generated/types.js").components["schemas"]["Money"] | null;
33
+ claimed_at?: import("../generated/types.js").components["schemas"]["TimestampUtc"] | null;
34
+ created_at: import("../generated/types.js").components["schemas"]["TimestampUtc"];
35
+ updated_at: import("../generated/types.js").components["schemas"]["TimestampUtc"];
36
+ }>;
37
+ listEvents(id: string): Promise<{
38
+ data: import("../generated/types.js").components["schemas"]["EscrowEvent"][];
39
+ }>;
40
+ cancel(id: string, opts?: XKOVAMutationOptions): Promise<{
41
+ escrow_id: import("../generated/types.js").components["schemas"]["EscrowId"];
42
+ action: "cancel";
43
+ action_expires_at: import("../generated/types.js").components["schemas"]["TimestampUtc"];
44
+ }>;
45
+ }
@@ -0,0 +1,18 @@
1
+ import { Resource } from './base.js';
2
+ export class EscrowsResource extends Resource {
3
+ list(query = {}) {
4
+ return this.getJson('/escrows', query);
5
+ }
6
+ create(body, opts) {
7
+ return this.postJson('/escrows', body, opts);
8
+ }
9
+ retrieve(id, query = {}) {
10
+ return this.getJson(`/escrows/${this.enc(id)}`, query);
11
+ }
12
+ listEvents(id) {
13
+ return this.getJson(`/escrows/${this.enc(id)}/events`);
14
+ }
15
+ cancel(id, opts) {
16
+ return this.postJson(`/escrows/${this.enc(id)}/cancel`, undefined, opts);
17
+ }
18
+ }
@@ -0,0 +1,40 @@
1
+ import { Resource, type ReqBody, type Query } from './base.js';
2
+ import type { XKOVAMutationOptions } from '../client.js';
3
+ export declare class FeeSchedulesResource extends Resource {
4
+ list(query?: Query<'listFeeSchedules'>): Promise<{
5
+ data: unknown[];
6
+ next_cursor: string | null;
7
+ has_more: boolean;
8
+ } & {
9
+ data?: import("../generated/types.js").components["schemas"]["FeeSchedule"][];
10
+ }>;
11
+ propose(body: ReqBody<'proposeFeeSchedule'>, opts?: XKOVAMutationOptions): Promise<{
12
+ id?: import("../generated/types.js").components["schemas"]["FeeScheduleId"];
13
+ tenant_id?: string;
14
+ version?: number;
15
+ status?: "draft" | "committed" | "superseded";
16
+ effective_from?: import("../generated/types.js").components["schemas"]["TimestampUtc"] | null;
17
+ effective_to?: import("../generated/types.js").components["schemas"]["TimestampUtc"] | null;
18
+ rules?: import("../generated/types.js").components["schemas"]["FeeRule"][];
19
+ committed_by_staff_id?: import("../generated/types.js").components["schemas"]["StaffId"] | null;
20
+ committed_at?: import("../generated/types.js").components["schemas"]["TimestampUtc"] | null;
21
+ created_at?: import("../generated/types.js").components["schemas"]["TimestampUtc"];
22
+ updated_at?: import("../generated/types.js").components["schemas"]["TimestampUtc"];
23
+ }>;
24
+ retrieve(id: string): Promise<{
25
+ id?: import("../generated/types.js").components["schemas"]["FeeScheduleId"];
26
+ tenant_id?: string;
27
+ version?: number;
28
+ status?: "draft" | "committed" | "superseded";
29
+ effective_from?: import("../generated/types.js").components["schemas"]["TimestampUtc"] | null;
30
+ effective_to?: import("../generated/types.js").components["schemas"]["TimestampUtc"] | null;
31
+ rules?: import("../generated/types.js").components["schemas"]["FeeRule"][];
32
+ committed_by_staff_id?: import("../generated/types.js").components["schemas"]["StaffId"] | null;
33
+ committed_at?: import("../generated/types.js").components["schemas"]["TimestampUtc"] | null;
34
+ created_at?: import("../generated/types.js").components["schemas"]["TimestampUtc"];
35
+ updated_at?: import("../generated/types.js").components["schemas"]["TimestampUtc"];
36
+ }>;
37
+ platformFee(): Promise<{
38
+ rule: import("../generated/types.js").components["schemas"]["FeeRule"] | null;
39
+ }>;
40
+ }
@@ -0,0 +1,15 @@
1
+ import { Resource } from './base.js';
2
+ export class FeeSchedulesResource extends Resource {
3
+ list(query = {}) {
4
+ return this.getJson('/fee-schedules', query);
5
+ }
6
+ propose(body, opts) {
7
+ return this.postJson('/fee-schedules', body, opts);
8
+ }
9
+ retrieve(id) {
10
+ return this.getJson(`/fee-schedules/${this.enc(id)}`);
11
+ }
12
+ platformFee() {
13
+ return this.getJson('/fee-schedules/platform-fee');
14
+ }
15
+ }
@@ -0,0 +1,21 @@
1
+ /** Customer-server resource namespaces. Use them through `XKOVAClient`. */
2
+ export { PaymentsResource } from './payments.js';
3
+ export { EscrowsResource } from './escrows.js';
4
+ export { TokenizationResource } from './tokenization.js';
5
+ export { AccountHoldersResource } from './account-holders.js';
6
+ export { WebhooksResource } from './webhooks.js';
7
+ export { RampsResource } from './ramps.js';
8
+ export { TransactionsResource } from './transactions.js';
9
+ export { ContactsResource } from './contacts.js';
10
+ export { PaymentRequestsResource } from './payment-requests.js';
11
+ export { WorkspacesResource } from './workspaces.js';
12
+ export { FeeSchedulesResource } from './fee-schedules.js';
13
+ export { BrandingResource } from './branding.js';
14
+ export { RwaResource } from './rwa.js';
15
+ export { TenantResource } from './tenant.js';
16
+ export { IntegrationGatewaysResource } from './integration-gateways.js';
17
+ export { WalletsResource } from './wallets.js';
18
+ export { WorkspaceTokensResource } from './workspace-tokens.js';
19
+ export { OnboardingResource } from './onboarding.js';
20
+ export { ChainsResource } from './chains.js';
21
+ export { WorkflowClient, type PollOptions } from './workflows.js';
@@ -0,0 +1,21 @@
1
+ /** Customer-server resource namespaces. Use them through `XKOVAClient`. */
2
+ export { PaymentsResource } from './payments.js';
3
+ export { EscrowsResource } from './escrows.js';
4
+ export { TokenizationResource } from './tokenization.js';
5
+ export { AccountHoldersResource } from './account-holders.js';
6
+ export { WebhooksResource } from './webhooks.js';
7
+ export { RampsResource } from './ramps.js';
8
+ export { TransactionsResource } from './transactions.js';
9
+ export { ContactsResource } from './contacts.js';
10
+ export { PaymentRequestsResource } from './payment-requests.js';
11
+ export { WorkspacesResource } from './workspaces.js';
12
+ export { FeeSchedulesResource } from './fee-schedules.js';
13
+ export { BrandingResource } from './branding.js';
14
+ export { RwaResource } from './rwa.js';
15
+ export { TenantResource } from './tenant.js';
16
+ export { IntegrationGatewaysResource } from './integration-gateways.js';
17
+ export { WalletsResource } from './wallets.js';
18
+ export { WorkspaceTokensResource } from './workspace-tokens.js';
19
+ export { OnboardingResource } from './onboarding.js';
20
+ export { ChainsResource } from './chains.js';
21
+ export { WorkflowClient } from './workflows.js';
@@ -0,0 +1,114 @@
1
+ import { Resource, type ReqBody, type Query } from './base.js';
2
+ import type { XKOVAMutationOptions } from '../client.js';
3
+ export declare class IntegrationGatewaysResource extends Resource {
4
+ list(query?: Query<'listIntegrationGateways'>): Promise<{
5
+ data?: import("../generated/types.js").components["schemas"]["IntegrationGateway"][];
6
+ }>;
7
+ register(body: ReqBody<'registerIntegrationGateway'>, opts?: XKOVAMutationOptions): Promise<{
8
+ id?: import("../generated/types.js").components["schemas"]["IntegrationGatewayId"];
9
+ workspace_id?: string;
10
+ tenant_id?: string;
11
+ name?: string;
12
+ base_url?: string;
13
+ status?: "registered" | "active" | "disabled";
14
+ pinned_cert_fingerprint?: string | null;
15
+ previous_cert_fingerprint?: string | null;
16
+ cert_rotated_at?: import("../generated/types.js").components["schemas"]["TimestampUtc"] | null;
17
+ conformance_status?: "unknown" | "passing" | "failing";
18
+ conformance_checked_at?: import("../generated/types.js").components["schemas"]["TimestampUtc"] | null;
19
+ created_by_staff_id?: import("../generated/types.js").components["schemas"]["StaffId"] | null;
20
+ created_at?: import("../generated/types.js").components["schemas"]["TimestampUtc"];
21
+ updated_at?: import("../generated/types.js").components["schemas"]["TimestampUtc"];
22
+ pending_approval_request_id?: import("../generated/types.js").components["schemas"]["ApprovalRequestId"] | null;
23
+ }>;
24
+ retrieve(id: string): Promise<{
25
+ id?: import("../generated/types.js").components["schemas"]["IntegrationGatewayId"];
26
+ workspace_id?: string;
27
+ tenant_id?: string;
28
+ name?: string;
29
+ base_url?: string;
30
+ status?: "registered" | "active" | "disabled";
31
+ pinned_cert_fingerprint?: string | null;
32
+ previous_cert_fingerprint?: string | null;
33
+ cert_rotated_at?: import("../generated/types.js").components["schemas"]["TimestampUtc"] | null;
34
+ conformance_status?: "unknown" | "passing" | "failing";
35
+ conformance_checked_at?: import("../generated/types.js").components["schemas"]["TimestampUtc"] | null;
36
+ created_by_staff_id?: import("../generated/types.js").components["schemas"]["StaffId"] | null;
37
+ created_at?: import("../generated/types.js").components["schemas"]["TimestampUtc"];
38
+ updated_at?: import("../generated/types.js").components["schemas"]["TimestampUtc"];
39
+ pending_approval_request_id?: import("../generated/types.js").components["schemas"]["ApprovalRequestId"] | null;
40
+ }>;
41
+ update(id: string, body: ReqBody<'updateIntegrationGateway'>, opts?: XKOVAMutationOptions): Promise<{
42
+ id?: import("../generated/types.js").components["schemas"]["IntegrationGatewayId"];
43
+ workspace_id?: string;
44
+ tenant_id?: string;
45
+ name?: string;
46
+ base_url?: string;
47
+ status?: "registered" | "active" | "disabled";
48
+ pinned_cert_fingerprint?: string | null;
49
+ previous_cert_fingerprint?: string | null;
50
+ cert_rotated_at?: import("../generated/types.js").components["schemas"]["TimestampUtc"] | null;
51
+ conformance_status?: "unknown" | "passing" | "failing";
52
+ conformance_checked_at?: import("../generated/types.js").components["schemas"]["TimestampUtc"] | null;
53
+ created_by_staff_id?: import("../generated/types.js").components["schemas"]["StaffId"] | null;
54
+ created_at?: import("../generated/types.js").components["schemas"]["TimestampUtc"];
55
+ updated_at?: import("../generated/types.js").components["schemas"]["TimestampUtc"];
56
+ pending_approval_request_id?: import("../generated/types.js").components["schemas"]["ApprovalRequestId"] | null;
57
+ }>;
58
+ recordConformance(id: string, body: ReqBody<'recordIntegrationGatewayConformance'>, opts?: XKOVAMutationOptions): Promise<{
59
+ id?: import("../generated/types.js").components["schemas"]["IntegrationGatewayId"];
60
+ workspace_id?: string;
61
+ tenant_id?: string;
62
+ name?: string;
63
+ base_url?: string;
64
+ status?: "registered" | "active" | "disabled";
65
+ pinned_cert_fingerprint?: string | null;
66
+ previous_cert_fingerprint?: string | null;
67
+ cert_rotated_at?: import("../generated/types.js").components["schemas"]["TimestampUtc"] | null;
68
+ conformance_status?: "unknown" | "passing" | "failing";
69
+ conformance_checked_at?: import("../generated/types.js").components["schemas"]["TimestampUtc"] | null;
70
+ created_by_staff_id?: import("../generated/types.js").components["schemas"]["StaffId"] | null;
71
+ created_at?: import("../generated/types.js").components["schemas"]["TimestampUtc"];
72
+ updated_at?: import("../generated/types.js").components["schemas"]["TimestampUtc"];
73
+ pending_approval_request_id?: import("../generated/types.js").components["schemas"]["ApprovalRequestId"] | null;
74
+ }>;
75
+ listEvents(id: string, query?: Query<'listIntegrationGatewayEvents'>): Promise<{
76
+ data?: import("../generated/types.js").components["schemas"]["GatewayEvent"][];
77
+ next_cursor?: string | null;
78
+ has_more?: boolean;
79
+ }>;
80
+ pinCert(id: string, body: ReqBody<'pinIntegrationGatewayCert'>, opts?: XKOVAMutationOptions): Promise<{
81
+ id?: import("../generated/types.js").components["schemas"]["IntegrationGatewayId"];
82
+ workspace_id?: string;
83
+ tenant_id?: string;
84
+ name?: string;
85
+ base_url?: string;
86
+ status?: "registered" | "active" | "disabled";
87
+ pinned_cert_fingerprint?: string | null;
88
+ previous_cert_fingerprint?: string | null;
89
+ cert_rotated_at?: import("../generated/types.js").components["schemas"]["TimestampUtc"] | null;
90
+ conformance_status?: "unknown" | "passing" | "failing";
91
+ conformance_checked_at?: import("../generated/types.js").components["schemas"]["TimestampUtc"] | null;
92
+ created_by_staff_id?: import("../generated/types.js").components["schemas"]["StaffId"] | null;
93
+ created_at?: import("../generated/types.js").components["schemas"]["TimestampUtc"];
94
+ updated_at?: import("../generated/types.js").components["schemas"]["TimestampUtc"];
95
+ pending_approval_request_id?: import("../generated/types.js").components["schemas"]["ApprovalRequestId"] | null;
96
+ }>;
97
+ setStatus(id: string, body: ReqBody<'setIntegrationGatewayStatus'>, opts?: XKOVAMutationOptions): Promise<{
98
+ id?: import("../generated/types.js").components["schemas"]["IntegrationGatewayId"];
99
+ workspace_id?: string;
100
+ tenant_id?: string;
101
+ name?: string;
102
+ base_url?: string;
103
+ status?: "registered" | "active" | "disabled";
104
+ pinned_cert_fingerprint?: string | null;
105
+ previous_cert_fingerprint?: string | null;
106
+ cert_rotated_at?: import("../generated/types.js").components["schemas"]["TimestampUtc"] | null;
107
+ conformance_status?: "unknown" | "passing" | "failing";
108
+ conformance_checked_at?: import("../generated/types.js").components["schemas"]["TimestampUtc"] | null;
109
+ created_by_staff_id?: import("../generated/types.js").components["schemas"]["StaffId"] | null;
110
+ created_at?: import("../generated/types.js").components["schemas"]["TimestampUtc"];
111
+ updated_at?: import("../generated/types.js").components["schemas"]["TimestampUtc"];
112
+ pending_approval_request_id?: import("../generated/types.js").components["schemas"]["ApprovalRequestId"] | null;
113
+ }>;
114
+ }
@@ -0,0 +1,27 @@
1
+ import { Resource } from './base.js';
2
+ export class IntegrationGatewaysResource extends Resource {
3
+ list(query = {}) {
4
+ return this.getJson('/integration-gateways', query);
5
+ }
6
+ register(body, opts) {
7
+ return this.postJson('/integration-gateways', body, opts);
8
+ }
9
+ retrieve(id) {
10
+ return this.getJson(`/integration-gateways/${this.enc(id)}`);
11
+ }
12
+ update(id, body, opts) {
13
+ return this.patchJson(`/integration-gateways/${this.enc(id)}`, body, opts);
14
+ }
15
+ recordConformance(id, body, opts) {
16
+ return this.postJson(`/integration-gateways/${this.enc(id)}/conformance`, body, opts);
17
+ }
18
+ listEvents(id, query = {}) {
19
+ return this.getJson(`/integration-gateways/${this.enc(id)}/events`, query);
20
+ }
21
+ pinCert(id, body, opts) {
22
+ return this.postJson(`/integration-gateways/${this.enc(id)}/pin-cert`, body, opts);
23
+ }
24
+ setStatus(id, body, opts) {
25
+ return this.postJson(`/integration-gateways/${this.enc(id)}/status`, body, opts);
26
+ }
27
+ }
@@ -0,0 +1,18 @@
1
+ import { Resource, type ReqBody } from './base.js';
2
+ import type { XKOVAMutationOptions } from '../client.js';
3
+ export declare class OnboardingResource extends Resource {
4
+ completeSetup(body: ReqBody<'completeOnboardingSetup'>, opts?: XKOVAMutationOptions): Promise<{
5
+ workspace_id: string;
6
+ workspace_type: "sandbox" | "production";
7
+ status: "pending_setup" | "active" | "archived";
8
+ setup_complete: boolean;
9
+ intent: import("../generated/types.js").components["schemas"]["OnboardingIntent"] | null;
10
+ }>;
11
+ getStatus(): Promise<{
12
+ workspace_id: string;
13
+ workspace_type: "sandbox" | "production";
14
+ status: "pending_setup" | "active" | "archived";
15
+ setup_complete: boolean;
16
+ intent: import("../generated/types.js").components["schemas"]["OnboardingIntent"] | null;
17
+ }>;
18
+ }
@@ -0,0 +1,9 @@
1
+ import { Resource } from './base.js';
2
+ export class OnboardingResource extends Resource {
3
+ completeSetup(body, opts) {
4
+ return this.postJson('/onboarding/setup', body, opts);
5
+ }
6
+ getStatus() {
7
+ return this.getJson('/onboarding/status');
8
+ }
9
+ }