@droz-js/sdk 0.3.12 → 0.3.13

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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@droz-js/sdk",
3
3
  "description": "Droz SDK",
4
- "version": "0.3.12",
4
+ "version": "0.3.13",
5
5
  "private": false,
6
6
  "exports": {
7
7
  ".": "./src/index.js",
@@ -7,6 +7,7 @@ export declare class SdkError extends Error {
7
7
  statusCode?: number;
8
8
  errorCode?: string;
9
9
  errors?: ReadonlyArray<Partial<GraphQLError>>;
10
+ constructor(code: string, text: string);
10
11
  constructor(errors: ReadonlyArray<Partial<GraphQLError>>);
11
12
  }
12
13
  export declare class SdkConfigurationError extends Error {
@@ -7,7 +7,13 @@ class SdkError extends Error {
7
7
  statusCode;
8
8
  errorCode;
9
9
  errors;
10
- constructor(errors) {
10
+ constructor(errors, text) {
11
+ if (typeof errors === 'string') {
12
+ super(text);
13
+ this.statusCode = 500;
14
+ this.errorCode = errors;
15
+ return;
16
+ }
11
17
  const { message, extensions, originalError } = errors?.[0] ?? {};
12
18
  super(message ?? 'Unknown Error', {
13
19
  cause: originalError
@@ -6,7 +6,7 @@ export declare const DrozAdmin: new (options?: import("./client/http").HttpClien
6
6
  withCustomHeaders(headers: () => Record<string, string>): any;
7
7
  } & {
8
8
  getAmplifyConfig(variables?: import("./sdks/drozcommons").Exact<{
9
- [key: string]: never;
9
+ forDev?: boolean;
10
10
  }>, options?: unknown): Promise<import("./sdks/drozcommons").GetAmplifyConfigQuery>;
11
11
  getAuthInfo(variables?: import("./sdks/drozcommons").Exact<{
12
12
  [key: string]: never;
package/src/nucleus.d.ts CHANGED
@@ -1,5 +1,6 @@
1
+ import { CreatePresignedUploadUrlInput } from './sdks/nucleus';
1
2
  export * from './sdks/nucleus';
2
- export declare const Nucleus: new (options?: import("./client/http").HttpClientOptions) => {
3
+ declare const Nucleus_base: new (options?: import("./client/http").HttpClientOptions) => {
3
4
  readonly http: any;
4
5
  forTenant(tenant: string): any;
5
6
  withAuthorization(authorization: import("./client/helpers").AuthorizationProvider): any;
@@ -184,4 +185,12 @@ export declare const Nucleus: new (options?: import("./client/http").HttpClientO
184
185
  removeStateMachineConfigState(variables: import("./sdks/nucleus").Exact<{
185
186
  input: import("./sdks/nucleus").RemoveStateMachineConfigStateInput;
186
187
  }>, options?: unknown): Promise<import("./sdks/nucleus").RemoveStateMachineConfigStateMutation>;
188
+ createPresignedUploadUrl(variables: import("./sdks/nucleus").Exact<{
189
+ input: CreatePresignedUploadUrlInput;
190
+ }>, options?: unknown): Promise<import("./sdks/nucleus").CreatePresignedUploadUrlMutation>;
187
191
  };
192
+ export declare class Nucleus extends Nucleus_base {
193
+ uploadBlob(fileName: string, blob: Blob): Promise<string>;
194
+ uploadFile(blob: File): Promise<string>;
195
+ private upload;
196
+ }
package/src/nucleus.js CHANGED
@@ -15,7 +15,45 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.Nucleus = void 0;
18
+ const helpers_1 = require("./client/helpers");
18
19
  const http_1 = require("./client/http");
19
20
  const nucleus_1 = require("./sdks/nucleus");
20
21
  __exportStar(require("./sdks/nucleus"), exports);
21
- exports.Nucleus = (0, http_1.HttpClientBuilder)(nucleus_1.serviceName, nucleus_1.getSdk);
22
+ class Nucleus extends (0, http_1.HttpClientBuilder)(nucleus_1.serviceName, nucleus_1.getSdk) {
23
+ async uploadBlob(fileName, blob) {
24
+ return await this.upload({
25
+ fileName,
26
+ blob,
27
+ contentType: blob.type,
28
+ contentLength: blob.size
29
+ });
30
+ }
31
+ async uploadFile(blob) {
32
+ return await this.upload({
33
+ blob,
34
+ fileName: blob.name,
35
+ contentType: blob.type,
36
+ contentLength: blob.size
37
+ });
38
+ }
39
+ async upload(upload) {
40
+ const { blob, ...input } = upload;
41
+ const { createPresignedUploadUrl } = await this.createPresignedUploadUrl({ input });
42
+ if (createPresignedUploadUrl) {
43
+ const { method, url, fields, cdnUrl } = createPresignedUploadUrl;
44
+ const body = new FormData();
45
+ Object.entries(fields).forEach(([key, value]) => {
46
+ body.append(key, value);
47
+ });
48
+ body.append('file', blob);
49
+ const response = await fetch(url, { method, body });
50
+ if (response.ok) {
51
+ return cdnUrl;
52
+ }
53
+ const text = await response.text();
54
+ throw new helpers_1.SdkError('500-upload-failed', text);
55
+ }
56
+ throw new helpers_1.SdkError('500-upload-failed', 'No response from server');
57
+ }
58
+ }
59
+ exports.Nucleus = Nucleus;
@@ -205,6 +205,9 @@ export type Query = {
205
205
  listTenants: Array<Maybe<Tenant>>;
206
206
  version?: Maybe<Scalars['String']['output']>;
207
207
  };
208
+ export type QueryAmplifyConfigArgs = {
209
+ forDev?: InputMaybe<Scalars['Boolean']['input']>;
210
+ };
208
211
  export type QueryDeploymentLogsArgs = {
209
212
  deploymentId?: InputMaybe<Scalars['ID']['input']>;
210
213
  next?: InputMaybe<Scalars['Base64']['input']>;
@@ -254,7 +257,7 @@ export type UpdateTenantInput = {
254
257
  tenantId: Scalars['ID']['input'];
255
258
  };
256
259
  export type GetAmplifyConfigQueryVariables = Exact<{
257
- [key: string]: never;
260
+ forDev?: InputMaybe<Scalars['Boolean']['input']>;
258
261
  }>;
259
262
  export type GetAmplifyConfigQuery = Pick<Query, 'amplifyConfig'>;
260
263
  export type GetAuthInfoQueryVariables = Exact<{
@@ -358,7 +361,7 @@ export declare const GitBranchFragmentDoc = "\n fragment gitBranch on GitBran
358
361
  export declare const AwsAccountFragmentDoc = "\n fragment awsAccount on AwsAccount {\n id\n name\n tenantsCount\n}\n ";
359
362
  export declare const ServiceFragmentDoc = "\n fragment service on Service {\n accountId\n tenantId\n serviceId\n type\n endpoint\n}\n ";
360
363
  export declare const TenantFragmentDoc = "\n fragment tenant on Tenant {\n accountId\n tenantId\n name\n deployedVersions\n createdAt\n updatedAt\n}\n ";
361
- export declare const GetAmplifyConfigDocument = "\n query getAmplifyConfig {\n amplifyConfig\n}\n ";
364
+ export declare const GetAmplifyConfigDocument = "\n query getAmplifyConfig($forDev: Boolean) {\n amplifyConfig(forDev: $forDev)\n}\n ";
362
365
  export declare const GetAuthInfoDocument = "\n query getAuthInfo {\n authInfo {\n authenticationEndpoint\n jwtIssuer\n loginUrl\n logoutUrl\n cognitoConfig {\n region\n userPoolId\n userPoolWebClientId\n }\n }\n}\n ";
363
366
  export declare const ListAccountsDocument = "\n query listAccounts {\n listAccounts {\n ...awsAccount\n }\n}\n \n fragment awsAccount on AwsAccount {\n id\n name\n tenantsCount\n}\n ";
364
367
  export declare const ListGitRepositoriesDocument = "\n query listGitRepositories {\n listGitRepositories {\n ...gitRepository\n }\n}\n \n fragment gitRepository on GitRepository {\n id\n name\n}\n ";
@@ -78,8 +78,8 @@ exports.TenantFragmentDoc = `
78
78
  }
79
79
  `;
80
80
  exports.GetAmplifyConfigDocument = `
81
- query getAmplifyConfig {
82
- amplifyConfig
81
+ query getAmplifyConfig($forDev: Boolean) {
82
+ amplifyConfig(forDev: $forDev)
83
83
  }
84
84
  `;
85
85
  exports.GetAuthInfoDocument = `
@@ -190,6 +190,17 @@ export type CreateCronJobInput = {
190
190
  expression: Scalars['String']['input'];
191
191
  payload: Scalars['JSON']['input'];
192
192
  };
193
+ export type CreatePresignedUploadUrl = {
194
+ cdnUrl: Scalars['String']['output'];
195
+ fields?: Maybe<Scalars['JSON']['output']>;
196
+ method: Scalars['String']['output'];
197
+ url: Scalars['String']['output'];
198
+ };
199
+ export type CreatePresignedUploadUrlInput = {
200
+ contentLength?: InputMaybe<Scalars['Float']['input']>;
201
+ contentType: Scalars['String']['input'];
202
+ fileName: Scalars['String']['input'];
203
+ };
193
204
  export type CreateStateMachineConfigInput = {
194
205
  description?: InputMaybe<Scalars['String']['input']>;
195
206
  states?: InputMaybe<Array<CreateStateMachineConfigWithStateInput>>;
@@ -267,6 +278,7 @@ export type Mutation = {
267
278
  createApiKeyAgent?: Maybe<ApiKeyAgent>;
268
279
  createCredentials: SafeCredentials;
269
280
  createCronJob: CronJob;
281
+ createPresignedUploadUrl: CreatePresignedUploadUrl;
270
282
  createStateMachineConfig?: Maybe<StateMachineConfig>;
271
283
  createStateMachineConfigState?: Maybe<StateMachineConfig>;
272
284
  editStateMachineConfig?: Maybe<StateMachineConfig>;
@@ -306,6 +318,9 @@ export type MutationCreateCredentialsArgs = {
306
318
  export type MutationCreateCronJobArgs = {
307
319
  input: CreateCronJobInput;
308
320
  };
321
+ export type MutationCreatePresignedUploadUrlArgs = {
322
+ input: CreatePresignedUploadUrlInput;
323
+ };
309
324
  export type MutationCreateStateMachineConfigArgs = {
310
325
  input: CreateStateMachineConfigInput;
311
326
  };
@@ -450,6 +465,9 @@ export type Query = {
450
465
  listSystemRoles: Array<Role>;
451
466
  version?: Maybe<Scalars['String']['output']>;
452
467
  };
468
+ export type QueryAmplifyConfigArgs = {
469
+ forDev?: InputMaybe<Scalars['Boolean']['input']>;
470
+ };
453
471
  export type QueryGetAgentArgs = {
454
472
  id: Scalars['ID']['input'];
455
473
  };
@@ -640,7 +658,8 @@ export declare enum Typenames {
640
658
  Policies = "Policies",
641
659
  Roles = "Roles",
642
660
  SessionAttributes = "SessionAttributes",
643
- Sessions = "Sessions"
661
+ Sessions = "Sessions",
662
+ Storage = "Storage"
644
663
  }
645
664
  export type UnregisterAppInstanceInput = {
646
665
  drn: Scalars['DRN']['input'];
@@ -1076,6 +1095,12 @@ export type RemoveStateMachineConfigStateMutationVariables = Exact<{
1076
1095
  export type RemoveStateMachineConfigStateMutation = {
1077
1096
  removeStateMachineConfigState?: Maybe<StateMachineConfigFragment>;
1078
1097
  };
1098
+ export type CreatePresignedUploadUrlMutationVariables = Exact<{
1099
+ input: CreatePresignedUploadUrlInput;
1100
+ }>;
1101
+ export type CreatePresignedUploadUrlMutation = {
1102
+ createPresignedUploadUrl: Pick<CreatePresignedUploadUrl, 'method' | 'url' | 'fields' | 'cdnUrl'>;
1103
+ };
1079
1104
  export declare const AgentFragmentDoc = "\n fragment agent on Agent {\n id\n name\n email\n emailVerified\n picture\n apps\n roles\n cognitoUserStatus\n createdAt\n updatedAt\n}\n ";
1080
1105
  export declare const ApiKeyFragmentDoc = "\n fragment apiKey on ApiKeyAgent {\n token\n user {\n ...agent\n }\n}\n \n fragment agent on Agent {\n id\n name\n email\n emailVerified\n picture\n apps\n roles\n cognitoUserStatus\n createdAt\n updatedAt\n}\n ";
1081
1106
  export declare const AppFragmentDoc = "\n fragment app on App {\n id\n type\n name\n description\n}\n ";
@@ -1147,6 +1172,7 @@ export declare const PublishStateMachineConfigDocument = "\n mutation publish
1147
1172
  export declare const CreateStateMachineConfigStateDocument = "\n mutation createStateMachineConfigState($input: CreateStateMachineConfigStateInput!) {\n createStateMachineConfigState(input: $input) {\n ...stateMachineConfig\n }\n}\n \n fragment stateMachineConfig on StateMachineConfig {\n id\n versionId\n stateMachineId\n title\n description\n status\n triggers\n states {\n ...stateMachineConfigState\n }\n createdAt\n updatedAt\n}\n \n fragment stateMachineConfigState on StateMachineConfigState {\n stateId\n on {\n ...stateMachineConfigStateOn\n }\n meta\n}\n \n fragment stateMachineConfigStateOn on StateMachineConfigStatesOn {\n event\n target\n}\n ";
1148
1173
  export declare const UpdateStateMachineConfigStateDocument = "\n mutation updateStateMachineConfigState($input: UpdateStateMachineConfigStateInput!) {\n updateStateMachineConfigState(input: $input) {\n ...stateMachineConfig\n }\n}\n \n fragment stateMachineConfig on StateMachineConfig {\n id\n versionId\n stateMachineId\n title\n description\n status\n triggers\n states {\n ...stateMachineConfigState\n }\n createdAt\n updatedAt\n}\n \n fragment stateMachineConfigState on StateMachineConfigState {\n stateId\n on {\n ...stateMachineConfigStateOn\n }\n meta\n}\n \n fragment stateMachineConfigStateOn on StateMachineConfigStatesOn {\n event\n target\n}\n ";
1149
1174
  export declare const RemoveStateMachineConfigStateDocument = "\n mutation removeStateMachineConfigState($input: RemoveStateMachineConfigStateInput!) {\n removeStateMachineConfigState(input: $input) {\n ...stateMachineConfig\n }\n}\n \n fragment stateMachineConfig on StateMachineConfig {\n id\n versionId\n stateMachineId\n title\n description\n status\n triggers\n states {\n ...stateMachineConfigState\n }\n createdAt\n updatedAt\n}\n \n fragment stateMachineConfigState on StateMachineConfigState {\n stateId\n on {\n ...stateMachineConfigStateOn\n }\n meta\n}\n \n fragment stateMachineConfigStateOn on StateMachineConfigStatesOn {\n event\n target\n}\n ";
1175
+ export declare const CreatePresignedUploadUrlDocument = "\n mutation createPresignedUploadUrl($input: CreatePresignedUploadUrlInput!) {\n createPresignedUploadUrl(input: $input) {\n method\n url\n fields\n cdnUrl\n }\n}\n ";
1150
1176
  export type Requester<C = {}, E = unknown> = <R, V>(doc: string, vars?: V, options?: C) => Promise<R> | AsyncIterableIterator<R>;
1151
1177
  export declare function getSdk<C, E>(requester: Requester<C, E>): {
1152
1178
  getMe(variables?: GetMeQueryVariables, options?: C): Promise<GetMeQuery>;
@@ -1205,6 +1231,7 @@ export declare function getSdk<C, E>(requester: Requester<C, E>): {
1205
1231
  createStateMachineConfigState(variables: CreateStateMachineConfigStateMutationVariables, options?: C): Promise<CreateStateMachineConfigStateMutation>;
1206
1232
  updateStateMachineConfigState(variables: UpdateStateMachineConfigStateMutationVariables, options?: C): Promise<UpdateStateMachineConfigStateMutation>;
1207
1233
  removeStateMachineConfigState(variables: RemoveStateMachineConfigStateMutationVariables, options?: C): Promise<RemoveStateMachineConfigStateMutation>;
1234
+ createPresignedUploadUrl(variables: CreatePresignedUploadUrlMutationVariables, options?: C): Promise<CreatePresignedUploadUrlMutation>;
1208
1235
  };
1209
1236
  export type Sdk = ReturnType<typeof getSdk>;
1210
1237
  export declare const serviceName = "@droz/nucleus";
@@ -2,7 +2,7 @@
2
2
  /* istanbul ignore file */
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.GetCustomerDocument = exports.RemoveCredentialsDocument = exports.UpdateCredentialsDocument = exports.CreateCredentialsDocument = exports.CountCredentialsDocument = exports.ListCredentialsDocument = exports.GetCredentialsSecretDocument = exports.GetCredentialsDocument = exports.GetAuthInfoDocument = exports.GetAmplifyConfigDocument = exports.UnregisterAppInstanceDocument = exports.RegisterAppInstanceDocument = exports.CountAppInstancesDocument = exports.ListAppInstancesDocument = exports.GetAppInstanceDocument = exports.ListAppsDocument = exports.GetAppDocument = exports.RemoveRoleFromAgentDocument = exports.AddRoleToAgentDocument = exports.RemoveAgentDocument = exports.UpdateAgentDocument = exports.CreateApiKeyAgentDocument = exports.CreateAgentDocument = exports.UpdateMyProfileDocument = exports.ListApiKeyAgentsDocument = exports.ListAgentsDocument = exports.GetAgentDocument = exports.GetMeDocument = exports.StateMachineConfigConnectionFragmentDoc = exports.StateMachineConfigFragmentDoc = exports.StateMachineConfigStateFragmentDoc = exports.StateMachineConfigStateOnFragmentDoc = exports.SessionFragmentDoc = exports.RoleFragmentDoc = exports.PolicyFragmentDoc = exports.CronJobFragmentDoc = exports.CustomerFragmentDoc = exports.SafeCredentialsFragmentDoc = exports.AppWithInstancesFragmentDoc = exports.AppInstanceFragmentDoc = exports.AppFragmentDoc = exports.ApiKeyFragmentDoc = exports.AgentFragmentDoc = exports.Typenames = exports.StateMachineConfigStatus = exports.PatchOperation = exports.CustomerIndex = exports.CredentialsType = exports.AppType = exports.AppInstanceStatus = void 0;
5
- exports.serviceName = exports.getSdk = exports.RemoveStateMachineConfigStateDocument = exports.UpdateStateMachineConfigStateDocument = exports.CreateStateMachineConfigStateDocument = exports.PublishStateMachineConfigDocument = exports.EditStateMachineConfigDocument = exports.RemoveStateMachineConfigDocument = exports.UpdateStateMachineConfigDocument = exports.CreateStateMachineConfigDocument = exports.IsAppInstanceInUseDocument = exports.GetXStateMachineConfigDocument = exports.ListStateMachineConfigVersionsDocument = exports.ListDraftStateMachineConfigsDocument = exports.ListLiveStateMachineConfigsDocument = exports.CountLiveStateMachineConfigsDocument = exports.GetStateMachineDocument = exports.PatchSessionAttributesDocument = exports.SetSessionAttributeDocument = exports.GetSessionDocument = exports.StartSessionDocument = exports.GetSystemRoleDocument = exports.ListSystemRolesDocument = exports.RemoveCronJobDocument = exports.UpdateCronJobDocument = exports.CreateCronJobDocument = exports.ListCronJobsDocument = exports.GetCronJobDocument = exports.GetOrCreateCustomerDocument = exports.ListCustomersDocument = void 0;
5
+ exports.serviceName = exports.getSdk = exports.CreatePresignedUploadUrlDocument = exports.RemoveStateMachineConfigStateDocument = exports.UpdateStateMachineConfigStateDocument = exports.CreateStateMachineConfigStateDocument = exports.PublishStateMachineConfigDocument = exports.EditStateMachineConfigDocument = exports.RemoveStateMachineConfigDocument = exports.UpdateStateMachineConfigDocument = exports.CreateStateMachineConfigDocument = exports.IsAppInstanceInUseDocument = exports.GetXStateMachineConfigDocument = exports.ListStateMachineConfigVersionsDocument = exports.ListDraftStateMachineConfigsDocument = exports.ListLiveStateMachineConfigsDocument = exports.CountLiveStateMachineConfigsDocument = exports.GetStateMachineDocument = exports.PatchSessionAttributesDocument = exports.SetSessionAttributeDocument = exports.GetSessionDocument = exports.StartSessionDocument = exports.GetSystemRoleDocument = exports.ListSystemRolesDocument = exports.RemoveCronJobDocument = exports.UpdateCronJobDocument = exports.CreateCronJobDocument = exports.ListCronJobsDocument = exports.GetCronJobDocument = exports.GetOrCreateCustomerDocument = exports.ListCustomersDocument = void 0;
6
6
  var AppInstanceStatus;
7
7
  (function (AppInstanceStatus) {
8
8
  AppInstanceStatus["Active"] = "Active";
@@ -59,6 +59,7 @@ var Typenames;
59
59
  Typenames["Roles"] = "Roles";
60
60
  Typenames["SessionAttributes"] = "SessionAttributes";
61
61
  Typenames["Sessions"] = "Sessions";
62
+ Typenames["Storage"] = "Storage";
62
63
  })(Typenames || (exports.Typenames = Typenames = {}));
63
64
  exports.AgentFragmentDoc = `
64
65
  fragment agent on Agent {
@@ -665,6 +666,16 @@ exports.RemoveStateMachineConfigStateDocument = `
665
666
  }
666
667
  }
667
668
  ${exports.StateMachineConfigFragmentDoc}`;
669
+ exports.CreatePresignedUploadUrlDocument = `
670
+ mutation createPresignedUploadUrl($input: CreatePresignedUploadUrlInput!) {
671
+ createPresignedUploadUrl(input: $input) {
672
+ method
673
+ url
674
+ fields
675
+ cdnUrl
676
+ }
677
+ }
678
+ `;
668
679
  function getSdk(requester) {
669
680
  return {
670
681
  getMe(variables, options) {
@@ -834,6 +845,9 @@ function getSdk(requester) {
834
845
  },
835
846
  removeStateMachineConfigState(variables, options) {
836
847
  return requester(exports.RemoveStateMachineConfigStateDocument, variables, options);
848
+ },
849
+ createPresignedUploadUrl(variables, options) {
850
+ return requester(exports.CreatePresignedUploadUrlDocument, variables, options);
837
851
  }
838
852
  };
839
853
  }