@approvio/ts-sdk 0.0.8 → 0.0.9

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 (63) hide show
  1. package/dist/index.cjs +603 -0
  2. package/dist/index.d.cts +145 -0
  3. package/dist/index.d.mts +145 -0
  4. package/dist/index.mjs +571 -0
  5. package/package.json +21 -7
  6. package/dist/auth/agent.authenticator.d.ts +0 -12
  7. package/dist/auth/agent.authenticator.js +0 -96
  8. package/dist/auth/agent.authenticator.js.map +0 -1
  9. package/dist/auth/auth.helpers.d.ts +0 -12
  10. package/dist/auth/auth.helpers.js +0 -122
  11. package/dist/auth/auth.helpers.js.map +0 -1
  12. package/dist/auth/auth.helpers.test.d.ts +0 -1
  13. package/dist/auth/auth.helpers.test.js +0 -44
  14. package/dist/auth/auth.helpers.test.js.map +0 -1
  15. package/dist/auth/bearer.authenticator.d.ts +0 -11
  16. package/dist/auth/bearer.authenticator.js +0 -43
  17. package/dist/auth/bearer.authenticator.js.map +0 -1
  18. package/dist/auth/oauth.helper.d.ts +0 -10
  19. package/dist/auth/oauth.helper.js +0 -83
  20. package/dist/auth/oauth.helper.js.map +0 -1
  21. package/dist/auth/user.authenticator.d.ts +0 -11
  22. package/dist/auth/user.authenticator.js +0 -45
  23. package/dist/auth/user.authenticator.js.map +0 -1
  24. package/dist/auth/utils.d.ts +0 -1
  25. package/dist/auth/utils.js +0 -11
  26. package/dist/auth/utils.js.map +0 -1
  27. package/dist/client/agent.client.d.ts +0 -8
  28. package/dist/client/agent.client.js +0 -16
  29. package/dist/client/agent.client.js.map +0 -1
  30. package/dist/client/agent.client.test.d.ts +0 -1
  31. package/dist/client/agent.client.test.js +0 -82
  32. package/dist/client/agent.client.test.js.map +0 -1
  33. package/dist/client/approvio.client.d.ts +0 -44
  34. package/dist/client/approvio.client.js +0 -68
  35. package/dist/client/approvio.client.js.map +0 -1
  36. package/dist/client/base.client.d.ts +0 -29
  37. package/dist/client/base.client.js +0 -143
  38. package/dist/client/base.client.js.map +0 -1
  39. package/dist/client/base.client.test.d.ts +0 -1
  40. package/dist/client/base.client.test.js +0 -218
  41. package/dist/client/base.client.test.js.map +0 -1
  42. package/dist/client/errors.d.ts +0 -6
  43. package/dist/client/errors.js +0 -16
  44. package/dist/client/errors.js.map +0 -1
  45. package/dist/client/user.client.d.ts +0 -56
  46. package/dist/client/user.client.js +0 -137
  47. package/dist/client/user.client.js.map +0 -1
  48. package/dist/client/utils.d.ts +0 -4
  49. package/dist/client/utils.js +0 -29
  50. package/dist/client/utils.js.map +0 -1
  51. package/dist/client/utils.test.d.ts +0 -1
  52. package/dist/client/utils.test.js +0 -150
  53. package/dist/client/utils.test.js.map +0 -1
  54. package/dist/config.d.ts +0 -7
  55. package/dist/config.js +0 -3
  56. package/dist/config.js.map +0 -1
  57. package/dist/index.d.ts +0 -7
  58. package/dist/index.js +0 -24
  59. package/dist/index.js.map +0 -1
  60. package/dist/interfaces.d.ts +0 -6
  61. package/dist/interfaces.js +0 -3
  62. package/dist/interfaces.js.map +0 -1
  63. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -0,0 +1,145 @@
1
+ import { AxiosInstance } from "axios";
2
+ import { APIError, AddGroupEntitiesRequest, AgentGet200Response, AgentRegistrationRequest, AgentRegistrationResponse, AgentTokenResponse, CanVoteResponse, GetEntityInfo200Response, GetWorkflowParams, Group, GroupCreate, ListGroupEntities200Response, ListGroups200Response, ListOrganizationAdminsForOrg200Response, ListRoleTemplates200Response, ListSpaces200Response, ListUsers200Response, ListWorkflowTemplates200Response, ListWorkflows200Response, ListWorkflowsParams, OrganizationAdminCreate, OrganizationAdminRemove, RemoveGroupEntitiesRequest, RoleAssignmentRequest, RoleRemovalRequest, Space, SpaceCreate, TokenResponse, User, UserCreate, Workflow, WorkflowCreate, WorkflowTemplate, WorkflowTemplateCreate, WorkflowTemplateDeprecate, WorkflowTemplateUpdate, WorkflowVoteRequest } from "@approvio/api";
3
+ import * as TE from "fp-ts/TaskEither";
4
+
5
+ //#region src/interfaces.d.ts
6
+ interface Authenticator {
7
+ customizeAxios(axios: AxiosInstance): void;
8
+ }
9
+ interface TokenBaseAuthenticator extends Authenticator {
10
+ getAccessToken(): Promise<string>;
11
+ }
12
+ interface ApprovioServerConfig {
13
+ endpoint: string;
14
+ }
15
+ //#endregion
16
+ //#region src/auth/user.authenticator.d.ts
17
+ declare class CliUserAuthenticator implements TokenBaseAuthenticator {
18
+ private accessToken;
19
+ private refreshToken;
20
+ private readonly onTokenRefreshed?;
21
+ private readonly endpoint;
22
+ constructor(endpoint: string, accessToken: string, refreshToken: string, onTokenRefreshed?: ((accessToken: string, refreshToken: string) => void) | undefined);
23
+ customizeAxios(axios: AxiosInstance): void;
24
+ getAccessToken(): Promise<string>;
25
+ private isTokenExpired;
26
+ private renewToken;
27
+ }
28
+ //#endregion
29
+ //#region src/auth/web.authenticator.d.ts
30
+ declare class WebAuthenticator implements Authenticator {
31
+ customizeAxios(axios: AxiosInstance): void;
32
+ }
33
+ //#endregion
34
+ //#region src/client/base.client.d.ts
35
+ type ApprovioError = (APIError & {
36
+ status: number;
37
+ }) | Error;
38
+ declare abstract class BaseApprovioClient {
39
+ protected readonly config: ApprovioServerConfig;
40
+ protected readonly authenticator: Authenticator;
41
+ protected readonly axios: AxiosInstance;
42
+ constructor(config: ApprovioServerConfig, authenticator: Authenticator);
43
+ protected handleError(error: unknown): ApprovioError;
44
+ protected get<T>(url: string, params?: Record<string, unknown>): TE.TaskEither<ApprovioError, T>;
45
+ protected post<T>(url: string, data?: unknown): TE.TaskEither<ApprovioError, T>;
46
+ protected postWithLocation<T>(url: string, data?: unknown): TE.TaskEither<ApprovioError, {
47
+ data: T;
48
+ location: string;
49
+ }>;
50
+ protected put<T>(url: string, data?: unknown): TE.TaskEither<ApprovioError, T>;
51
+ protected delete<T>(url: string, data?: unknown): TE.TaskEither<ApprovioError, T>;
52
+ getWorkflow(workflowId: string, params?: GetWorkflowParams): TE.TaskEither<ApprovioError, Workflow>;
53
+ listWorkflows(params?: ListWorkflowsParams): TE.TaskEither<ApprovioError, ListWorkflows200Response>;
54
+ createWorkflow(data: WorkflowCreate): TE.TaskEither<ApprovioError, void>;
55
+ voteOnWorkflow(workflowId: string, data: WorkflowVoteRequest): TE.TaskEither<ApprovioError, unknown>;
56
+ canVoteOnWorkflow(workflowId: string): TE.TaskEither<ApprovioError, CanVoteResponse>;
57
+ listRoleTemplates(): TE.TaskEither<ApprovioError, ListRoleTemplates200Response>;
58
+ getEntityInfo(): TE.TaskEither<ApprovioError, GetEntityInfo200Response>;
59
+ }
60
+ //#endregion
61
+ //#region src/auth/auth.helpers.d.ts
62
+ declare class AuthHelper {
63
+ private readonly endpoint;
64
+ constructor(endpoint: string);
65
+ getUserLoginUrl(): string;
66
+ initiateCliLogin(redirectUri: string): TE.TaskEither<ApprovioError, string>;
67
+ exchangeTokenForUser(code: string, state: string): TE.TaskEither<ApprovioError, TokenResponse>;
68
+ authenticateAgent(agentName: string, privateKeyPem: string): TE.TaskEither<ApprovioError, AgentTokenResponse>;
69
+ protected handleError(error: unknown): ApprovioError;
70
+ }
71
+ //#endregion
72
+ //#region src/auth/agent.authenticator.d.ts
73
+ declare class AgentAuthenticator implements TokenBaseAuthenticator {
74
+ private readonly privateKey;
75
+ private accessToken;
76
+ private refreshToken;
77
+ private readonly onTokenRefreshed?;
78
+ private readonly endpoint;
79
+ constructor(endpoint: string, privateKey: string, accessToken: string, refreshToken: string, onTokenRefreshed?: ((accessToken: string, refreshToken: string) => void) | undefined);
80
+ customizeAxios(axios: AxiosInstance): void;
81
+ getAccessToken(): Promise<string>;
82
+ private renewToken;
83
+ private generateDpopProof;
84
+ }
85
+ //#endregion
86
+ //#region src/client/user.client.d.ts
87
+ declare class ApprovioUserClient extends BaseApprovioClient {
88
+ readonly authenticator: CliUserAuthenticator | WebAuthenticator;
89
+ constructor(config: ApprovioServerConfig, authenticator: CliUserAuthenticator | WebAuthenticator);
90
+ listUsers(params?: {
91
+ search?: string;
92
+ page?: number;
93
+ limit?: number;
94
+ }): TE.TaskEither<ApprovioError, ListUsers200Response>;
95
+ registerAgent(data: AgentRegistrationRequest): TE.TaskEither<ApprovioError, AgentRegistrationResponse>;
96
+ assignAgentRoles(agentId: string, data: RoleAssignmentRequest): TE.TaskEither<ApprovioError, void>;
97
+ removeAgentRoles(agentId: string, data: RoleRemovalRequest): TE.TaskEither<ApprovioError, void>;
98
+ createUser(data: UserCreate): TE.TaskEither<ApprovioError, string>;
99
+ getUser(userId: string): TE.TaskEither<ApprovioError, User>;
100
+ assignUserRoles(userId: string, data: RoleAssignmentRequest): TE.TaskEither<ApprovioError, void>;
101
+ removeUserRoles(userId: string, data: RoleRemovalRequest): TE.TaskEither<ApprovioError, void>;
102
+ createWorkflowTemplate(data: WorkflowTemplateCreate): TE.TaskEither<ApprovioError, WorkflowTemplate>;
103
+ listWorkflowTemplates(params?: {
104
+ page?: number;
105
+ limit?: number;
106
+ }): TE.TaskEither<ApprovioError, ListWorkflowTemplates200Response>;
107
+ getWorkflowTemplate(templateIdentifier: string): TE.TaskEither<ApprovioError, WorkflowTemplate>;
108
+ updateWorkflowTemplate(templateIdentifier: string, data: WorkflowTemplateUpdate): TE.TaskEither<ApprovioError, WorkflowTemplate>;
109
+ deprecateWorkflowTemplate(templateName: string, data?: WorkflowTemplateDeprecate): TE.TaskEither<ApprovioError, WorkflowTemplate>;
110
+ createGroup(data: GroupCreate): TE.TaskEither<ApprovioError, string>;
111
+ listGroups(params?: {
112
+ page?: number;
113
+ limit?: number;
114
+ }): TE.TaskEither<ApprovioError, ListGroups200Response>;
115
+ getGroup(groupIdentifier: string): TE.TaskEither<ApprovioError, Group>;
116
+ listGroupEntities(groupId: string, params?: {
117
+ page?: number;
118
+ limit?: number;
119
+ }): TE.TaskEither<ApprovioError, ListGroupEntities200Response>;
120
+ addGroupEntities(groupId: string, data: AddGroupEntitiesRequest): TE.TaskEither<ApprovioError, Group>;
121
+ removeGroupEntities(groupId: string, data: RemoveGroupEntitiesRequest): TE.TaskEither<ApprovioError, Group>;
122
+ createSpace(data: SpaceCreate): TE.TaskEither<ApprovioError, void>;
123
+ listSpaces(params?: {
124
+ page?: number;
125
+ limit?: number;
126
+ }): TE.TaskEither<ApprovioError, ListSpaces200Response>;
127
+ getSpace(spaceId: string): TE.TaskEither<ApprovioError, Space>;
128
+ deleteSpace(spaceId: string): TE.TaskEither<ApprovioError, void>;
129
+ addOrganizationAdminToOrg(organizationName: string, data: OrganizationAdminCreate): TE.TaskEither<ApprovioError, void>;
130
+ listOrganizationAdminsForOrg(organizationName: string, params?: {
131
+ page?: number;
132
+ limit?: number;
133
+ }): TE.TaskEither<ApprovioError, ListOrganizationAdminsForOrg200Response>;
134
+ removeOrganizationAdminFromOrg(organizationName: string, data: OrganizationAdminRemove): TE.TaskEither<ApprovioError, void>;
135
+ getAgent(agentId: string): TE.TaskEither<ApprovioError, AgentGet200Response>;
136
+ }
137
+ //#endregion
138
+ //#region src/client/agent.client.d.ts
139
+ declare class ApprovioAgentClient extends BaseApprovioClient {
140
+ readonly authenticator: AgentAuthenticator;
141
+ constructor(config: ApprovioServerConfig, authenticator: AgentAuthenticator);
142
+ getAuthenticator(): Authenticator;
143
+ }
144
+ //#endregion
145
+ export { AgentAuthenticator, ApprovioAgentClient, ApprovioError, ApprovioServerConfig, ApprovioUserClient, AuthHelper, Authenticator, BaseApprovioClient, CliUserAuthenticator, TokenBaseAuthenticator, WebAuthenticator };
@@ -0,0 +1,145 @@
1
+ import { AxiosInstance } from "axios";
2
+ import * as TE from "fp-ts/TaskEither";
3
+ import { APIError, AddGroupEntitiesRequest, AgentGet200Response, AgentRegistrationRequest, AgentRegistrationResponse, AgentTokenResponse, CanVoteResponse, GetEntityInfo200Response, GetWorkflowParams, Group, GroupCreate, ListGroupEntities200Response, ListGroups200Response, ListOrganizationAdminsForOrg200Response, ListRoleTemplates200Response, ListSpaces200Response, ListUsers200Response, ListWorkflowTemplates200Response, ListWorkflows200Response, ListWorkflowsParams, OrganizationAdminCreate, OrganizationAdminRemove, RemoveGroupEntitiesRequest, RoleAssignmentRequest, RoleRemovalRequest, Space, SpaceCreate, TokenResponse, User, UserCreate, Workflow, WorkflowCreate, WorkflowTemplate, WorkflowTemplateCreate, WorkflowTemplateDeprecate, WorkflowTemplateUpdate, WorkflowVoteRequest } from "@approvio/api";
4
+
5
+ //#region src/interfaces.d.ts
6
+ interface Authenticator {
7
+ customizeAxios(axios: AxiosInstance): void;
8
+ }
9
+ interface TokenBaseAuthenticator extends Authenticator {
10
+ getAccessToken(): Promise<string>;
11
+ }
12
+ interface ApprovioServerConfig {
13
+ endpoint: string;
14
+ }
15
+ //#endregion
16
+ //#region src/auth/user.authenticator.d.ts
17
+ declare class CliUserAuthenticator implements TokenBaseAuthenticator {
18
+ private accessToken;
19
+ private refreshToken;
20
+ private readonly onTokenRefreshed?;
21
+ private readonly endpoint;
22
+ constructor(endpoint: string, accessToken: string, refreshToken: string, onTokenRefreshed?: ((accessToken: string, refreshToken: string) => void) | undefined);
23
+ customizeAxios(axios: AxiosInstance): void;
24
+ getAccessToken(): Promise<string>;
25
+ private isTokenExpired;
26
+ private renewToken;
27
+ }
28
+ //#endregion
29
+ //#region src/auth/web.authenticator.d.ts
30
+ declare class WebAuthenticator implements Authenticator {
31
+ customizeAxios(axios: AxiosInstance): void;
32
+ }
33
+ //#endregion
34
+ //#region src/client/base.client.d.ts
35
+ type ApprovioError = (APIError & {
36
+ status: number;
37
+ }) | Error;
38
+ declare abstract class BaseApprovioClient {
39
+ protected readonly config: ApprovioServerConfig;
40
+ protected readonly authenticator: Authenticator;
41
+ protected readonly axios: AxiosInstance;
42
+ constructor(config: ApprovioServerConfig, authenticator: Authenticator);
43
+ protected handleError(error: unknown): ApprovioError;
44
+ protected get<T>(url: string, params?: Record<string, unknown>): TE.TaskEither<ApprovioError, T>;
45
+ protected post<T>(url: string, data?: unknown): TE.TaskEither<ApprovioError, T>;
46
+ protected postWithLocation<T>(url: string, data?: unknown): TE.TaskEither<ApprovioError, {
47
+ data: T;
48
+ location: string;
49
+ }>;
50
+ protected put<T>(url: string, data?: unknown): TE.TaskEither<ApprovioError, T>;
51
+ protected delete<T>(url: string, data?: unknown): TE.TaskEither<ApprovioError, T>;
52
+ getWorkflow(workflowId: string, params?: GetWorkflowParams): TE.TaskEither<ApprovioError, Workflow>;
53
+ listWorkflows(params?: ListWorkflowsParams): TE.TaskEither<ApprovioError, ListWorkflows200Response>;
54
+ createWorkflow(data: WorkflowCreate): TE.TaskEither<ApprovioError, void>;
55
+ voteOnWorkflow(workflowId: string, data: WorkflowVoteRequest): TE.TaskEither<ApprovioError, unknown>;
56
+ canVoteOnWorkflow(workflowId: string): TE.TaskEither<ApprovioError, CanVoteResponse>;
57
+ listRoleTemplates(): TE.TaskEither<ApprovioError, ListRoleTemplates200Response>;
58
+ getEntityInfo(): TE.TaskEither<ApprovioError, GetEntityInfo200Response>;
59
+ }
60
+ //#endregion
61
+ //#region src/auth/auth.helpers.d.ts
62
+ declare class AuthHelper {
63
+ private readonly endpoint;
64
+ constructor(endpoint: string);
65
+ getUserLoginUrl(): string;
66
+ initiateCliLogin(redirectUri: string): TE.TaskEither<ApprovioError, string>;
67
+ exchangeTokenForUser(code: string, state: string): TE.TaskEither<ApprovioError, TokenResponse>;
68
+ authenticateAgent(agentName: string, privateKeyPem: string): TE.TaskEither<ApprovioError, AgentTokenResponse>;
69
+ protected handleError(error: unknown): ApprovioError;
70
+ }
71
+ //#endregion
72
+ //#region src/auth/agent.authenticator.d.ts
73
+ declare class AgentAuthenticator implements TokenBaseAuthenticator {
74
+ private readonly privateKey;
75
+ private accessToken;
76
+ private refreshToken;
77
+ private readonly onTokenRefreshed?;
78
+ private readonly endpoint;
79
+ constructor(endpoint: string, privateKey: string, accessToken: string, refreshToken: string, onTokenRefreshed?: ((accessToken: string, refreshToken: string) => void) | undefined);
80
+ customizeAxios(axios: AxiosInstance): void;
81
+ getAccessToken(): Promise<string>;
82
+ private renewToken;
83
+ private generateDpopProof;
84
+ }
85
+ //#endregion
86
+ //#region src/client/user.client.d.ts
87
+ declare class ApprovioUserClient extends BaseApprovioClient {
88
+ readonly authenticator: CliUserAuthenticator | WebAuthenticator;
89
+ constructor(config: ApprovioServerConfig, authenticator: CliUserAuthenticator | WebAuthenticator);
90
+ listUsers(params?: {
91
+ search?: string;
92
+ page?: number;
93
+ limit?: number;
94
+ }): TE.TaskEither<ApprovioError, ListUsers200Response>;
95
+ registerAgent(data: AgentRegistrationRequest): TE.TaskEither<ApprovioError, AgentRegistrationResponse>;
96
+ assignAgentRoles(agentId: string, data: RoleAssignmentRequest): TE.TaskEither<ApprovioError, void>;
97
+ removeAgentRoles(agentId: string, data: RoleRemovalRequest): TE.TaskEither<ApprovioError, void>;
98
+ createUser(data: UserCreate): TE.TaskEither<ApprovioError, string>;
99
+ getUser(userId: string): TE.TaskEither<ApprovioError, User>;
100
+ assignUserRoles(userId: string, data: RoleAssignmentRequest): TE.TaskEither<ApprovioError, void>;
101
+ removeUserRoles(userId: string, data: RoleRemovalRequest): TE.TaskEither<ApprovioError, void>;
102
+ createWorkflowTemplate(data: WorkflowTemplateCreate): TE.TaskEither<ApprovioError, WorkflowTemplate>;
103
+ listWorkflowTemplates(params?: {
104
+ page?: number;
105
+ limit?: number;
106
+ }): TE.TaskEither<ApprovioError, ListWorkflowTemplates200Response>;
107
+ getWorkflowTemplate(templateIdentifier: string): TE.TaskEither<ApprovioError, WorkflowTemplate>;
108
+ updateWorkflowTemplate(templateIdentifier: string, data: WorkflowTemplateUpdate): TE.TaskEither<ApprovioError, WorkflowTemplate>;
109
+ deprecateWorkflowTemplate(templateName: string, data?: WorkflowTemplateDeprecate): TE.TaskEither<ApprovioError, WorkflowTemplate>;
110
+ createGroup(data: GroupCreate): TE.TaskEither<ApprovioError, string>;
111
+ listGroups(params?: {
112
+ page?: number;
113
+ limit?: number;
114
+ }): TE.TaskEither<ApprovioError, ListGroups200Response>;
115
+ getGroup(groupIdentifier: string): TE.TaskEither<ApprovioError, Group>;
116
+ listGroupEntities(groupId: string, params?: {
117
+ page?: number;
118
+ limit?: number;
119
+ }): TE.TaskEither<ApprovioError, ListGroupEntities200Response>;
120
+ addGroupEntities(groupId: string, data: AddGroupEntitiesRequest): TE.TaskEither<ApprovioError, Group>;
121
+ removeGroupEntities(groupId: string, data: RemoveGroupEntitiesRequest): TE.TaskEither<ApprovioError, Group>;
122
+ createSpace(data: SpaceCreate): TE.TaskEither<ApprovioError, void>;
123
+ listSpaces(params?: {
124
+ page?: number;
125
+ limit?: number;
126
+ }): TE.TaskEither<ApprovioError, ListSpaces200Response>;
127
+ getSpace(spaceId: string): TE.TaskEither<ApprovioError, Space>;
128
+ deleteSpace(spaceId: string): TE.TaskEither<ApprovioError, void>;
129
+ addOrganizationAdminToOrg(organizationName: string, data: OrganizationAdminCreate): TE.TaskEither<ApprovioError, void>;
130
+ listOrganizationAdminsForOrg(organizationName: string, params?: {
131
+ page?: number;
132
+ limit?: number;
133
+ }): TE.TaskEither<ApprovioError, ListOrganizationAdminsForOrg200Response>;
134
+ removeOrganizationAdminFromOrg(organizationName: string, data: OrganizationAdminRemove): TE.TaskEither<ApprovioError, void>;
135
+ getAgent(agentId: string): TE.TaskEither<ApprovioError, AgentGet200Response>;
136
+ }
137
+ //#endregion
138
+ //#region src/client/agent.client.d.ts
139
+ declare class ApprovioAgentClient extends BaseApprovioClient {
140
+ readonly authenticator: AgentAuthenticator;
141
+ constructor(config: ApprovioServerConfig, authenticator: AgentAuthenticator);
142
+ getAuthenticator(): Authenticator;
143
+ }
144
+ //#endregion
145
+ export { AgentAuthenticator, ApprovioAgentClient, ApprovioError, ApprovioServerConfig, ApprovioUserClient, AuthHelper, Authenticator, BaseApprovioClient, CliUserAuthenticator, TokenBaseAuthenticator, WebAuthenticator };