@nangohq/types 0.69.48 → 0.69.50
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/dist/account/api.d.ts +23 -0
- package/dist/action/api.d.ts +15 -0
- package/dist/api.endpoints.d.ts +4 -4
- package/dist/billing/types.d.ts +22 -3
- package/dist/index.d.ts +1 -0
- package/dist/plans/http.api.d.ts +12 -1
- package/dist/providers/api.d.ts +1 -0
- package/dist/providers/provider.d.ts +1 -0
- package/dist/proxy/api.d.ts +5 -0
- package/dist/pubsub/events.d.ts +91 -0
- package/package.json +2 -2
package/dist/account/api.d.ts
CHANGED
|
@@ -130,6 +130,29 @@ export type PostManagedSignup = Endpoint<{
|
|
|
130
130
|
};
|
|
131
131
|
};
|
|
132
132
|
}>;
|
|
133
|
+
export type GetManagedEmailVerification = Endpoint<{
|
|
134
|
+
Method: 'GET';
|
|
135
|
+
Path: '/api/v1/account/managed/verification';
|
|
136
|
+
Error: ApiError<'not_found'>;
|
|
137
|
+
Success: {
|
|
138
|
+
data: {
|
|
139
|
+
email: string;
|
|
140
|
+
};
|
|
141
|
+
};
|
|
142
|
+
}>;
|
|
143
|
+
export type PostManagedEmailVerification = Endpoint<{
|
|
144
|
+
Method: 'POST';
|
|
145
|
+
Path: '/api/v1/account/managed/verification';
|
|
146
|
+
Body: {
|
|
147
|
+
code: string;
|
|
148
|
+
};
|
|
149
|
+
Error: ApiError<'invalid_verification_code'> | ApiError<'not_found'>;
|
|
150
|
+
Success: {
|
|
151
|
+
data: {
|
|
152
|
+
url: string;
|
|
153
|
+
};
|
|
154
|
+
};
|
|
155
|
+
}>;
|
|
133
156
|
export type GetManagedCallback = Endpoint<{
|
|
134
157
|
Method: 'GET';
|
|
135
158
|
Path: '/api/v1/login/callback';
|
package/dist/action/api.d.ts
CHANGED
|
@@ -26,6 +26,21 @@ export type PostPublicTriggerAction = Endpoint<{
|
|
|
26
26
|
};
|
|
27
27
|
Success: any;
|
|
28
28
|
}>;
|
|
29
|
+
export type PostInternalTriggerFunction = Endpoint<{
|
|
30
|
+
Method: 'POST';
|
|
31
|
+
Path: '/api/v1/trigger/function';
|
|
32
|
+
Body: {
|
|
33
|
+
type: 'action' | 'sync';
|
|
34
|
+
function_name: string;
|
|
35
|
+
provider_config_key: string;
|
|
36
|
+
connection_id: string;
|
|
37
|
+
input?: unknown;
|
|
38
|
+
};
|
|
39
|
+
Querystring: {
|
|
40
|
+
env: string;
|
|
41
|
+
};
|
|
42
|
+
Success: any;
|
|
43
|
+
}>;
|
|
29
44
|
/** @deprecated Use POST /action/trigger to trigger actions and GET /records to fetch sync records instead. */
|
|
30
45
|
export type GetPublicV1 = Endpoint<{
|
|
31
46
|
Method: 'GET';
|
package/dist/api.endpoints.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { GetEmailByExpiredToken, GetEmailByUuid, GetManagedCallback, PostForgotPassword, PostLogout, PostManagedSignup, PostSignin, PostSignup, PutResetPassword } from './account/api.js';
|
|
2
|
-
import type { GetAsyncActionResult, GetPublicV1, PostPublicTriggerAction } from './action/api.js';
|
|
1
|
+
import type { GetEmailByExpiredToken, GetEmailByUuid, GetManagedCallback, GetManagedEmailVerification, PostForgotPassword, PostLogout, PostManagedEmailVerification, PostManagedSignup, PostSignin, PostSignup, PutResetPassword } from './account/api.js';
|
|
2
|
+
import type { GetAsyncActionResult, GetPublicV1, PostInternalTriggerFunction, PostPublicTriggerAction } from './action/api.js';
|
|
3
3
|
import type { PostImpersonate } from './admin/http.api.js';
|
|
4
4
|
import type { EndpointMethod } from './api.js';
|
|
5
5
|
import type { PostPublicApiKeyAuthorization, PostPublicAppStoreAuthorization, PostPublicBasicAuthorization, PostPublicBillAuthorization, PostPublicJwtAuthorization, PostPublicOauthOutboundAuthorization, PostPublicSignatureAuthorization, PostPublicTbaAuthorization, PostPublicTwoStepAuthorization, PostPublicUnauthenticatedAuthorization } from './auth/http.api.js';
|
|
@@ -17,7 +17,7 @@ import type { DeleteIntegration, DeletePublicIntegration, GetIntegration, GetInt
|
|
|
17
17
|
import type { DeleteInvite, GetInvite, PostInvite } from './invitations/api.js';
|
|
18
18
|
import type { GetOperation, PostInsights, SearchFilters, SearchMessages, SearchOperations } from './logs/api.js';
|
|
19
19
|
import type { GetMeta } from './meta/api.js';
|
|
20
|
-
import type { PostPlanChange, PostPlanExtendTrial } from './plans/http.api.js';
|
|
20
|
+
import type { PostPlanChange, PostPlanExtendTrial, PutBillingInvoicingDetails } from './plans/http.api.js';
|
|
21
21
|
import type { GetProvider, GetProviders, GetPublicProvider, GetPublicProviders } from './providers/api.js';
|
|
22
22
|
import type { AllPublicProxy } from './proxy/http.api.js';
|
|
23
23
|
import type { GetPublicRecords, PatchPublicPruneRecords } from './record/api.js';
|
|
@@ -28,7 +28,7 @@ import type { DeleteTeamUser, GetTeam, PatchTeamUser, PutTeam } from './team/api
|
|
|
28
28
|
import type { GetUser, PatchUser } from './user/api.js';
|
|
29
29
|
import type { PostPublicWebhook } from './webhooks/http.api.js';
|
|
30
30
|
export type PublicApiEndpoints = SetMetadata | UpdateMetadata | PostDeploy | PostDeployConfirmation | PostPublicTrigger | PostPublicTbaAuthorization | PostPublicJwtAuthorization | PostPublicUnauthenticatedAuthorization | PostPublicApiKeyAuthorization | PostPublicBasicAuthorization | PostPublicAppStoreAuthorization | GetPublicProviders | GetPublicProvider | GetPublicListIntegrations | GetPublicIntegration | DeletePublicIntegration | PostConnectSessions | PostPublicConnectSessionsReconnect | GetPublicConnections | GetPublicConnection | GetConnectSession | DeleteConnectSession | PostDeployInternal | PostPublicBillAuthorization | DeletePublicConnection | PostPublicSignatureAuthorization | PostPublicTwoStepAuthorization | PostPublicWebhook | GetPublicRecords | PatchPublicPruneRecords | GetPublicScriptsConfig | PostPublicConnectTelemetry | PutPublicSyncConnectionFrequency | PostPublicIntegration | PatchPublicIntegration | GetAsyncActionResult | PostPublicOauthOutboundAuthorization | PostPublicConnection | PatchPublicConnection | PostPublicSyncStart | PostPublicSyncPause | GetPublicSyncStatus | GetPublicV1 | PostPublicTriggerAction | AllPublicProxy;
|
|
31
|
-
export type PrivateApiEndpoints = PostSignup | PostSignin | PostLogout | GetTeam | PutTeam | PostPlanExtendTrial | PostPlanChange | GetUser | PatchUser | PostInvite | DeleteInvite | DeleteTeamUser | PatchTeamUser | PostInsights | PostForgotPassword | PutResetPassword | SearchOperations | GetOperation | SearchMessages | SearchFilters | PostInternalConnectSessions | GetIntegrationFlows | DeleteIntegration | PatchIntegration | GetIntegration | PostIntegration | GetConnections | GetConnectionsCount | GetConnection | GetInvite | GetMeta | GetEmailByExpiredToken | GetEmailByUuid | GetManagedCallback | PatchFlowDisable | PatchFlowEnable | PatchFlowFrequency | PutUpgradePreBuiltFlow | PostConnectionRefresh | PostManagedSignup | PostPreBuiltDeploy | PostEnvironment | PatchEnvironment | DeleteEnvironment | GetEnvironments | GetEnvironment | PatchWebhook | PostEnvironmentVariables | PostImpersonate | GetSharedCredentialsProviders | GetSharedCredentialsProvider | PostSharedCredentialsProvider | PatchSharedCredentialsProvider | GetGettingStarted | PatchGettingStarted | GetConnectUISettings | PutConnectUISettings | GetProviders | GetProvider;
|
|
31
|
+
export type PrivateApiEndpoints = PostSignup | PostSignin | PostLogout | GetTeam | PutTeam | PostPlanExtendTrial | PostPlanChange | PutBillingInvoicingDetails | GetUser | PatchUser | PostInvite | DeleteInvite | DeleteTeamUser | PatchTeamUser | PostInsights | PostForgotPassword | PutResetPassword | SearchOperations | GetOperation | SearchMessages | SearchFilters | PostInternalConnectSessions | GetIntegrationFlows | DeleteIntegration | PatchIntegration | GetIntegration | PostIntegration | GetConnections | GetConnectionsCount | GetConnection | GetInvite | GetMeta | GetEmailByExpiredToken | GetEmailByUuid | GetManagedCallback | GetManagedEmailVerification | PatchFlowDisable | PatchFlowEnable | PatchFlowFrequency | PutUpgradePreBuiltFlow | PostConnectionRefresh | PostManagedEmailVerification | PostManagedSignup | PostPreBuiltDeploy | PostEnvironment | PatchEnvironment | DeleteEnvironment | GetEnvironments | GetEnvironment | PatchWebhook | PostEnvironmentVariables | PostImpersonate | GetSharedCredentialsProviders | GetSharedCredentialsProvider | PostSharedCredentialsProvider | PatchSharedCredentialsProvider | GetGettingStarted | PatchGettingStarted | GetConnectUISettings | PutConnectUISettings | GetProviders | GetProvider | PostInternalTriggerFunction;
|
|
32
32
|
export type APIEndpoints = PrivateApiEndpoints | PublicApiEndpoints;
|
|
33
33
|
/**
|
|
34
34
|
* Automatically narrow endpoints type with Method + Path
|
package/dist/billing/types.d.ts
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import type { Result } from '../result.js';
|
|
2
2
|
import type { DBTeam } from '../team/db.js';
|
|
3
3
|
import type { UsageMetric } from '../usage/index.js';
|
|
4
|
-
import type { DBUser } from '../user/db.js';
|
|
5
4
|
export interface BillingClient {
|
|
6
5
|
ingest: (events: BillingEvent[]) => Promise<Result<void>>;
|
|
7
|
-
upsertCustomer: (team: DBTeam, user: DBUser) => Promise<Result<BillingCustomer>>;
|
|
8
|
-
updateCustomer: (customerId: string, name: string) => Promise<Result<void>>;
|
|
9
6
|
linkStripeToCustomer(teamId: number, customerId: string): Promise<Result<void>>;
|
|
7
|
+
getOrCreateCustomer: (accountId: number, defaultTo: Pick<BillingInvoicingDetails, 'legalEntityName' | 'email'>) => Promise<Result<BillingCustomer>>;
|
|
10
8
|
getCustomer: (accountId: number) => Promise<Result<BillingCustomer>>;
|
|
9
|
+
putCustomer: (accountId: number, invoicingDetails: BillingInvoicingDetails) => Promise<Result<BillingCustomer>>;
|
|
11
10
|
getSubscription: (accountId: number) => Promise<Result<BillingSubscription | null>>;
|
|
12
11
|
createSubscription: (team: DBTeam, planExternalId: string) => Promise<Result<BillingSubscription>>;
|
|
13
12
|
getUsage: (subscriptionId: string, opts?: GetBillingUsageOpts) => Promise<Result<BillingUsageMetrics>>;
|
|
@@ -37,8 +36,28 @@ export interface BillingClient {
|
|
|
37
36
|
}
|
|
38
37
|
export interface BillingCustomer {
|
|
39
38
|
id: string;
|
|
39
|
+
invoicingDetails: BillingInvoicingDetails;
|
|
40
40
|
portalUrl: string | null;
|
|
41
41
|
}
|
|
42
|
+
export interface BillingInvoicingDetails {
|
|
43
|
+
legalEntityName: string;
|
|
44
|
+
email: string;
|
|
45
|
+
address: BillingAddress | null;
|
|
46
|
+
taxId: BillingTaxId | null;
|
|
47
|
+
}
|
|
48
|
+
export interface BillingAddress {
|
|
49
|
+
line1: string | null;
|
|
50
|
+
line2: string | null;
|
|
51
|
+
city: string | null;
|
|
52
|
+
state: string | null;
|
|
53
|
+
postalCode: string | null;
|
|
54
|
+
country: string | null;
|
|
55
|
+
}
|
|
56
|
+
export interface BillingTaxId {
|
|
57
|
+
country: string;
|
|
58
|
+
type: string;
|
|
59
|
+
value: string;
|
|
60
|
+
}
|
|
42
61
|
export interface BillingSubscription {
|
|
43
62
|
id: string;
|
|
44
63
|
pendingChangeId?: string | undefined;
|
package/dist/index.d.ts
CHANGED
package/dist/plans/http.api.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ApiBillingUsageMetrics, BillingCustomer } from '../billing/types.js';
|
|
1
|
+
import type { ApiBillingUsageMetrics, BillingCustomer, BillingInvoicingDetails } from '../billing/types.js';
|
|
2
2
|
import type { MetricUsageSummary, UsageMetric } from '../usage/index.js';
|
|
3
3
|
import type { ReplaceInObject } from '../utils.js';
|
|
4
4
|
import type { DBPlan } from './db.js';
|
|
@@ -76,6 +76,17 @@ export type GetBillingUsage = Endpoint<{
|
|
|
76
76
|
};
|
|
77
77
|
};
|
|
78
78
|
}>;
|
|
79
|
+
export type PutBillingInvoicingDetails = Endpoint<{
|
|
80
|
+
Method: 'PUT';
|
|
81
|
+
Path: '/api/v1/plans/billing/invoicing';
|
|
82
|
+
Querystring: {
|
|
83
|
+
env: string;
|
|
84
|
+
};
|
|
85
|
+
Body: BillingInvoicingDetails;
|
|
86
|
+
Success: {
|
|
87
|
+
data: BillingCustomer;
|
|
88
|
+
};
|
|
89
|
+
}>;
|
|
79
90
|
export type PostPlanChange = Endpoint<{
|
|
80
91
|
Method: 'POST';
|
|
81
92
|
Path: '/api/v1/plans/change';
|
package/dist/providers/api.d.ts
CHANGED
|
@@ -90,6 +90,7 @@ export interface BaseProvider {
|
|
|
90
90
|
body_format?: OAuthBodyFormatType;
|
|
91
91
|
require_client_certificate?: boolean;
|
|
92
92
|
token_request_auth_method?: 'basic' | 'custom' | 'private_key_jwt';
|
|
93
|
+
available_scopes?: string[];
|
|
93
94
|
}
|
|
94
95
|
export interface ProviderOAuth2 extends BaseProvider {
|
|
95
96
|
auth_mode: 'OAUTH2';
|
package/dist/proxy/api.d.ts
CHANGED
|
@@ -27,6 +27,11 @@ export interface BaseProxyConfiguration {
|
|
|
27
27
|
retryHeader?: RetryHeaderConfig;
|
|
28
28
|
retryOn?: number[] | null;
|
|
29
29
|
forwardHeadersOnRedirect?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* If set, called with the absolute URL of each HTTP redirect before Axios follows it.
|
|
32
|
+
* Implementations may throw (e.g. shared `ProxyError`) to abort the redirect.
|
|
33
|
+
*/
|
|
34
|
+
validateProxyRedirectUrl?: (absoluteRedirectUrl: string) => void;
|
|
30
35
|
}
|
|
31
36
|
export interface UserProvidedProxyConfiguration extends BaseProxyConfiguration {
|
|
32
37
|
decompress?: boolean | string;
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import type { FunctionRuntime } from '../runner/sdk.js';
|
|
2
|
+
import type { DBTeam } from '../team/db.js';
|
|
3
|
+
import type { DBUser } from '../user/db.js';
|
|
4
|
+
type Serializable = string | number | boolean | Date | null | undefined | Serializable[] | {
|
|
5
|
+
[key: string]: Serializable;
|
|
6
|
+
};
|
|
7
|
+
interface EventBase<TSubject extends string, TType extends string, TPayload extends Serializable> {
|
|
8
|
+
idempotencyKey: string;
|
|
9
|
+
subject: TSubject;
|
|
10
|
+
type: TType;
|
|
11
|
+
payload: TPayload;
|
|
12
|
+
source?: string | undefined;
|
|
13
|
+
createdAt: Date;
|
|
14
|
+
}
|
|
15
|
+
type EnforceEventBase<T extends EventBase<any, any, any>> = T;
|
|
16
|
+
export type Event = EnforceEventBase<UserCreatedEvent | UsageEvent | TeamUpdatedEvent>;
|
|
17
|
+
export type UserCreatedEvent = EventBase<'user', 'user.created', {
|
|
18
|
+
userId: DBUser['id'];
|
|
19
|
+
teamId: DBTeam['id'];
|
|
20
|
+
}>;
|
|
21
|
+
export type TeamUpdatedEvent = EventBase<'team', 'team.updated', {
|
|
22
|
+
id: DBTeam['id'];
|
|
23
|
+
}>;
|
|
24
|
+
interface UsageEventBase<TType extends string, TPayload extends Serializable> extends EventBase<'usage', TType, TPayload> {
|
|
25
|
+
subject: 'usage';
|
|
26
|
+
type: TType;
|
|
27
|
+
payload: TPayload & {
|
|
28
|
+
value: number;
|
|
29
|
+
properties: {
|
|
30
|
+
accountId: number;
|
|
31
|
+
environmentId: number;
|
|
32
|
+
environmentName: string;
|
|
33
|
+
integrationId: string;
|
|
34
|
+
connectionId: string;
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
export type UsageRecordsEvent = UsageEventBase<'usage.records', {
|
|
39
|
+
value: number;
|
|
40
|
+
properties: {
|
|
41
|
+
syncId: string;
|
|
42
|
+
model: string;
|
|
43
|
+
};
|
|
44
|
+
}>;
|
|
45
|
+
export type UsageMarEvent = UsageEventBase<'usage.monthly_active_records', {
|
|
46
|
+
value: number;
|
|
47
|
+
properties: {
|
|
48
|
+
syncId: string;
|
|
49
|
+
model: string;
|
|
50
|
+
};
|
|
51
|
+
}>;
|
|
52
|
+
export type UsageActionsEvent = UsageEventBase<'usage.actions', {
|
|
53
|
+
value: number;
|
|
54
|
+
properties: {
|
|
55
|
+
actionName: string;
|
|
56
|
+
};
|
|
57
|
+
}>;
|
|
58
|
+
export type UsageConnectionsEvent = UsageEventBase<'usage.connections', {
|
|
59
|
+
value: number;
|
|
60
|
+
}>;
|
|
61
|
+
export type UsageFunctionExecutionsEvent = UsageEventBase<'usage.function_executions', {
|
|
62
|
+
value: number;
|
|
63
|
+
properties: {
|
|
64
|
+
type: 'sync' | 'action' | 'webhook' | 'on-event';
|
|
65
|
+
success: boolean;
|
|
66
|
+
functionName: string;
|
|
67
|
+
runtime: FunctionRuntime | undefined;
|
|
68
|
+
telemetryBag: {
|
|
69
|
+
durationMs: number;
|
|
70
|
+
memoryGb: number;
|
|
71
|
+
customLogs: number;
|
|
72
|
+
proxyCalls: number;
|
|
73
|
+
} | undefined;
|
|
74
|
+
frequencyMs?: number | undefined;
|
|
75
|
+
};
|
|
76
|
+
}>;
|
|
77
|
+
export type UsageProxyEvent = UsageEventBase<'usage.proxy', {
|
|
78
|
+
value: number;
|
|
79
|
+
properties: {
|
|
80
|
+
success: boolean;
|
|
81
|
+
};
|
|
82
|
+
}>;
|
|
83
|
+
export type UsageWebhookForwardEvent = UsageEventBase<'usage.webhook_forward', {
|
|
84
|
+
value: number;
|
|
85
|
+
properties: {
|
|
86
|
+
success: boolean;
|
|
87
|
+
};
|
|
88
|
+
}>;
|
|
89
|
+
type EnforceUsageEventBase<T extends UsageEventBase<any, any>> = T;
|
|
90
|
+
export type UsageEvent = EnforceUsageEventBase<UsageMarEvent | UsageRecordsEvent | UsageActionsEvent | UsageConnectionsEvent | UsageFunctionExecutionsEvent | UsageProxyEvent | UsageWebhookForwardEvent>;
|
|
91
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nangohq/types",
|
|
3
|
-
"version": "0.69.
|
|
3
|
+
"version": "0.69.50",
|
|
4
4
|
"description": "Types used in Nango applications",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"typings": "dist/index.d.ts",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"directory": "packages/utils"
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"axios": "1.
|
|
15
|
+
"axios": "1.15.0",
|
|
16
16
|
"json-schema": "0.4.0",
|
|
17
17
|
"type-fest": "4.41.0"
|
|
18
18
|
},
|