@membranehq/sdk 0.15.4 → 0.15.6

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 (60) hide show
  1. package/dist/bundle.d.ts +69 -4
  2. package/dist/bundle.js +163 -6
  3. package/dist/bundle.js.map +1 -1
  4. package/dist/dts/accessors/connections-accessors.d.ts +1 -0
  5. package/dist/dts/accessors/integrations-accessors.d.ts +1 -0
  6. package/dist/dts/api-client.d.ts +6 -2
  7. package/dist/dts/auth/auth-context-permissions.d.ts +59 -0
  8. package/dist/dts/auth/index.d.ts +1 -0
  9. package/dist/dts/orgs/types.d.ts +37 -0
  10. package/dist/dts/scenario-templates/index.d.ts +2 -0
  11. package/dist/dts/workspace-elements/api/action-run-log-records-api.d.ts +14 -0
  12. package/dist/dts/workspace-elements/api/actions-api.d.ts +25 -0
  13. package/dist/dts/workspace-elements/api/app-data-schema-instances-api.d.ts +2 -0
  14. package/dist/dts/workspace-elements/api/app-data-schemas-api.d.ts +1 -0
  15. package/dist/dts/workspace-elements/api/app-event-log-records-api.d.ts +2 -0
  16. package/dist/dts/workspace-elements/api/app-event-subscriptions-api.d.ts +2 -0
  17. package/dist/dts/workspace-elements/api/app-event-types-api.d.ts +1 -0
  18. package/dist/dts/workspace-elements/api/connections-api.d.ts +3 -0
  19. package/dist/dts/workspace-elements/api/customers-api.d.ts +1 -1
  20. package/dist/dts/workspace-elements/api/data-link-table-instances-api.d.ts +3 -0
  21. package/dist/dts/workspace-elements/api/data-link-tables-api.d.ts +1 -0
  22. package/dist/dts/workspace-elements/api/data-sources-api.d.ts +12 -0
  23. package/dist/dts/workspace-elements/api/external-api-logs-api.d.ts +1 -0
  24. package/dist/dts/workspace-elements/api/external-event-log-records-api.d.ts +1 -0
  25. package/dist/dts/workspace-elements/api/external-event-pulls-api.d.ts +1 -0
  26. package/dist/dts/workspace-elements/api/external-event-subscriptions-api.d.ts +1 -0
  27. package/dist/dts/workspace-elements/api/external-events-api.d.ts +1 -0
  28. package/dist/dts/workspace-elements/api/field-mappings-api.d.ts +32 -10
  29. package/dist/dts/workspace-elements/api/flow-runs-api.d.ts +4 -0
  30. package/dist/dts/workspace-elements/api/flows-api.d.ts +11 -0
  31. package/dist/dts/workspace-elements/api/integrations-api.d.ts +2 -0
  32. package/dist/dts/workspace-elements/api/packages-api.d.ts +3 -0
  33. package/dist/dts/workspace-elements/base/action-instances/index.d.ts +3 -0
  34. package/dist/dts/workspace-elements/base/actions/index.d.ts +6 -0
  35. package/dist/dts/workspace-elements/base/app-data-schemas/index.d.ts +2 -0
  36. package/dist/dts/workspace-elements/base/app-event-subscriptions/index.d.ts +1 -0
  37. package/dist/dts/workspace-elements/base/app-event-types/index.d.ts +1 -0
  38. package/dist/dts/workspace-elements/base/connectors/index.d.ts +2 -4
  39. package/dist/dts/workspace-elements/base/data-collections/schemas.d.ts +1 -1
  40. package/dist/dts/workspace-elements/base/data-link-tables/index.d.ts +2 -0
  41. package/dist/dts/workspace-elements/base/data-sources/index.d.ts +2 -0
  42. package/dist/dts/workspace-elements/base/field-mappings/index.d.ts +2 -0
  43. package/dist/dts/workspace-elements/base/flows/index.d.ts +2 -0
  44. package/dist/dts/workspace-elements/base/integrations/index.d.ts +2 -0
  45. package/dist/dts/workspace-elements/base/packages/index.d.ts +1 -0
  46. package/dist/dts/workspace-elements/types.d.ts +5 -0
  47. package/dist/dts/workspaces/types.d.ts +33 -1
  48. package/dist/index.browser.d.mts +309 -39
  49. package/dist/index.browser.d.ts +309 -39
  50. package/dist/index.browser.js +126 -9
  51. package/dist/index.browser.js.map +1 -1
  52. package/dist/index.browser.mjs +124 -10
  53. package/dist/index.browser.mjs.map +1 -1
  54. package/dist/index.node.d.mts +309 -39
  55. package/dist/index.node.d.ts +309 -39
  56. package/dist/index.node.js +126 -9
  57. package/dist/index.node.js.map +1 -1
  58. package/dist/index.node.mjs +124 -10
  59. package/dist/index.node.mjs.map +1 -1
  60. package/package.json +1 -1
@@ -3516,6 +3516,7 @@ const BaseMembraneInterfaceReadOnlyProperties = z.z.object({
3516
3516
  updatedAt: z.z.string().optional(),
3517
3517
  archivedAt: z.z.string().optional(),
3518
3518
  isDeactivated: z.z.boolean().optional(),
3519
+ isReadOnly: z.z.boolean().optional(),
3519
3520
  });
3520
3521
  const BaseMembraneInterface = BaseWorkspaceElement.merge(BaseMembraneInterfaceEditableProperties).merge(BaseMembraneInterfaceReadOnlyProperties);
3521
3522
  const BaseIntegrationLevelMembraneInterfaceEditableProperties = BaseMembraneInterfaceEditableProperties.extend({
@@ -3600,6 +3601,13 @@ const FindIntegrationLevelMembraneInterfaceQuery = IntegrationLevelMembraneInter
3600
3601
  isFlag: true,
3601
3602
  }),
3602
3603
  layer: MembraneElementLayer.optional(),
3604
+ externalAppId: z.z
3605
+ .string()
3606
+ .optional()
3607
+ .meta({
3608
+ filterTitle: 'External App',
3609
+ referenceElementType: exports.WorkspaceElementType.App,
3610
+ }),
3603
3611
  });
3604
3612
  const BaseIntegrationLevelMembraneInterface = BaseMembraneInterface.merge(BaseIntegrationLevelMembraneInterfaceEditableProperties).merge(BaseIntegrationLevelMembraneInterfaceReadOnlyProperties);
3605
3613
  const TenantLayerElement = z.z.object({
@@ -3830,6 +3838,8 @@ const ActionReadOnlyProperties = BaseIntegrationLevelMembraneInterfaceReadOnlyPr
3830
3838
  ...TenantLayerElement.partial().shape,
3831
3839
  universalParentId: z.z.string().optional(),
3832
3840
  outputSchema: z.z.any().optional(),
3841
+ isPublic: z.z.boolean().optional(),
3842
+ externalAppUuid: z.z.string().optional(),
3833
3843
  });
3834
3844
  const BaseAction = BaseMembraneInterface.merge(ActionEditableProperties).merge(ActionReadOnlyProperties);
3835
3845
  const BaseActionInstance = BaseAction;
@@ -8791,7 +8801,7 @@ const DataCollectionUpdateResponse = z.z.object({
8791
8801
  const DataCollectionDeleteRequest = DataCollectionMethodRequest.extend({
8792
8802
  id: z.z.string(),
8793
8803
  });
8794
- const DataCollectionDeleteResponse = z.z.object({});
8804
+ const DataCollectionDeleteResponse = z.z.undefined();
8795
8805
  const ConnectorDataLocationTypes = {
8796
8806
  collection: DataLocationTypeCollection,
8797
8807
  };
@@ -8899,9 +8909,7 @@ const ConnectorUiSpec = z.z.object({
8899
8909
  const ConnectorSpec = z.z.object({
8900
8910
  key: z.z.string().optional(),
8901
8911
  name: z.z.string().optional(),
8902
- appUri: z.z.string().optional(),
8903
- logoUri: z.z.string().optional(),
8904
- apiDocsUri: z.z.string().optional(),
8912
+ logoUri: z.z.string().url().optional(),
8905
8913
  api: z.z
8906
8914
  .object({
8907
8915
  type: z.z.enum(['openapi', 'graphql']),
@@ -9042,6 +9050,8 @@ const MinimalConnector = z.z.object({
9042
9050
  key: z.z.string(),
9043
9051
  name: z.z.string(),
9044
9052
  logoUri: z.z.string(),
9053
+ isPublic: z.z.boolean().optional(),
9054
+ tenantId: z.z.string().optional(),
9045
9055
  });
9046
9056
 
9047
9057
  const DEFAULT_PULL_UPDATES_INTERVAL_SECONDS = 60 * 5;
@@ -10016,6 +10026,11 @@ const FindActionsQuery = FindIntegrationLevelMembraneInterfaceQuery.extend({
10016
10026
  .string()
10017
10027
  .optional()
10018
10028
  .meta({ hidden: true }),
10029
+ intent: z.z
10030
+ .string()
10031
+ .max(200)
10032
+ .optional()
10033
+ .meta({ hidden: true }),
10019
10034
  });
10020
10035
  const CreateActionRequest = ActionEditableProperties;
10021
10036
  const UpdateActionRequest = CreateActionRequest.partial();
@@ -10435,7 +10450,12 @@ const FindFlowRunsResponse = z.z.object({
10435
10450
 
10436
10451
  const CreateIntegrationRequest = IntegrationEditableProperties;
10437
10452
  const UpdateIntegrationRequest = IntegrationEditableProperties.partial();
10438
- const FindIntegrationsQuery = z.z.object({}).merge(PaginationQuery).merge(SearchQuery);
10453
+ const FindIntegrationsQuery = z.z
10454
+ .object({
10455
+ appUuid: z.z.string().optional(),
10456
+ })
10457
+ .merge(PaginationQuery)
10458
+ .merge(SearchQuery);
10439
10459
  const IntegrationAuthUi = z.z.object({
10440
10460
  schema: z.z.any().optional(),
10441
10461
  helpUri: z.z.string().optional(),
@@ -10516,7 +10536,7 @@ const CheckpointDiffResponseSchema = z.z.array(CheckpointDiffOperationSchema);
10516
10536
 
10517
10537
  const CreateCustomerRequest = z.z.object({
10518
10538
  name: z.z.string(),
10519
- internalId: z.z.string(),
10539
+ internalId: z.z.string().optional(),
10520
10540
  fields: z.z.any().optional(),
10521
10541
  credentials: z.z.any().optional(),
10522
10542
  });
@@ -10563,6 +10583,13 @@ const CreateFieldMappingRequest = FieldMappingEditableProperties;
10563
10583
  const CreateFieldMappingInstanceRequest = CreateFieldMappingRequest;
10564
10584
  const UpdateFieldMappingRequest = CreateFieldMappingRequest.extend({}).partial();
10565
10585
  const UpdateFieldMappingInstanceRequest = UpdateFieldMappingRequest;
10586
+ const RunFieldMappingRequest = z.z.object({
10587
+ direction: z.z.enum(exports.FieldMappingDirection).optional(),
10588
+ input: z.z.any().optional(),
10589
+ });
10590
+ const RunFieldMappingResponse = z.z.object({
10591
+ output: z.z.any().optional(),
10592
+ });
10566
10593
 
10567
10594
  const DataLinkTableLayer = z.z.enum(['universal', 'connection']);
10568
10595
  const FindDataLinkTablesQuery = z.z.object({
@@ -11454,6 +11481,7 @@ const WorkspaceElementSpecs = {
11454
11481
  name: 'Action Instance',
11455
11482
  namePlural: 'Action Instances',
11456
11483
  parentFieldKey: 'parentId',
11484
+ exportPropertiesSchema: ActionExportProperties,
11457
11485
  isMembraneInterface: true,
11458
11486
  },
11459
11487
  [exports.WorkspaceElementType.Action]: {
@@ -11538,6 +11566,7 @@ const WorkspaceElementSpecs = {
11538
11566
  namePlural: 'Field Mapping Instances',
11539
11567
  parentFieldKey: 'fieldMappingId',
11540
11568
  universalParentFieldKey: 'universalFieldMappingId',
11569
+ exportPropertiesSchema: FieldMappingExportProperties,
11541
11570
  isMembraneInterface: true,
11542
11571
  isProOnly: true,
11543
11572
  },
@@ -11566,6 +11595,7 @@ const WorkspaceElementSpecs = {
11566
11595
  namePlural: 'Data Source Instances',
11567
11596
  parentFieldKey: 'dataSourceId',
11568
11597
  universalParentFieldKey: 'universalDataSourceId',
11598
+ exportPropertiesSchema: DataSourceExportProperties,
11569
11599
  isMembraneInterface: true,
11570
11600
  isProOnly: true,
11571
11601
  },
@@ -11743,6 +11773,35 @@ class SelfAccessor {
11743
11773
  }
11744
11774
  }
11745
11775
 
11776
+ const PlatformUserPermissionsSchema = z.z.object({
11777
+ isEngineAdmin: z.z.boolean(),
11778
+ isPlatformAdmin: z.z.boolean(),
11779
+ platformUserId: z.z.string().optional(),
11780
+ });
11781
+ const OrgPermissionsSchema = z.z.object({
11782
+ orgId: z.z.string(),
11783
+ role: z.z.enum(['admin', 'member']).optional(),
11784
+ canRead: z.z.boolean(),
11785
+ canWrite: z.z.boolean(),
11786
+ });
11787
+ const WorkspacePermissionsSchema = z.z.object({
11788
+ workspaceId: z.z.string().optional(),
11789
+ isWorkspaceManager: z.z.boolean(),
11790
+ scopes: z.z.array(z.z.string()),
11791
+ });
11792
+ const TenantPermissionsSchema = z.z.object({
11793
+ tenantId: z.z.string().optional(),
11794
+ workspaceId: z.z.string().optional(),
11795
+ canRead: z.z.boolean(),
11796
+ canWrite: z.z.boolean(),
11797
+ });
11798
+ const AuthContextPermissionsSchema = z.z.object({
11799
+ platformUser: PlatformUserPermissionsSchema,
11800
+ org: OrgPermissionsSchema.optional(),
11801
+ workspace: WorkspacePermissionsSchema.optional(),
11802
+ tenant: TenantPermissionsSchema.optional(),
11803
+ });
11804
+
11746
11805
  exports.LogRecordType = void 0;
11747
11806
  (function (LogRecordType) {
11748
11807
  LogRecordType["MSG"] = "message";
@@ -11807,6 +11866,9 @@ function truncateData(data, depth = 0) {
11807
11866
  if (!data) {
11808
11867
  return data;
11809
11868
  }
11869
+ else if (isStream(data)) {
11870
+ return '<stream>';
11871
+ }
11810
11872
  else if (Array.isArray(data)) {
11811
11873
  const result = data.slice(0, maxArrayItems).map((item) => truncateData(item, depth + 1));
11812
11874
  if (data.length > maxArrayItems) {
@@ -11816,7 +11878,7 @@ function truncateData(data, depth = 0) {
11816
11878
  }
11817
11879
  return result;
11818
11880
  }
11819
- else if (Buffer.isBuffer(data)) {
11881
+ else if (typeof Buffer !== 'undefined' && Buffer.isBuffer(data)) {
11820
11882
  return data.toString('utf-8').slice(0, maxStringLength);
11821
11883
  }
11822
11884
  else if (isBlob(data)) {
@@ -12452,6 +12514,8 @@ exports.RateLimits = void 0;
12452
12514
  RateLimits["WorkspaceElementCreationsPerHour"] = "workspaceElementCreationsPerHour";
12453
12515
  RateLimits["WorkspaceElementSearchIndexingPerMinute"] = "workspaceElementSearchIndexingPerMinute";
12454
12516
  RateLimits["ExternalEventsPerCustomerPerDay"] = "externalEventsPerCustomerPerDay";
12517
+ RateLimits["McpOAuthAuthorizationsPerHour"] = "mcpOAuthAuthorizationsPerHour";
12518
+ RateLimits["McpOAuthTokensPerHour"] = "mcpOAuthTokensPerHour";
12455
12519
  })(exports.RateLimits || (exports.RateLimits = {}));
12456
12520
  exports.WorkspaceSizeLimits = void 0;
12457
12521
  (function (WorkspaceSizeLimits) {
@@ -12506,6 +12570,8 @@ const WorkspaceLimitsSchema = z.object({
12506
12570
  workspaceElementCreationsPerSecond: WorkspaceLimit.optional(),
12507
12571
  workspaceElementCreationsPerHour: WorkspaceLimit.optional(),
12508
12572
  workspaceElementSearchIndexingPerMinute: WorkspaceLimit.optional(),
12573
+ mcpOAuthAuthorizationsPerHour: WorkspaceLimit.optional(),
12574
+ mcpOAuthTokensPerHour: WorkspaceLimit.optional(),
12509
12575
  totalNumberOfCustomers: WorkspaceLimit.optional(),
12510
12576
  totalNumberOfConnections: WorkspaceLimit.optional(),
12511
12577
  totalNumberOfWorkspaceElements: WorkspaceLimit.optional(),
@@ -12918,6 +12984,7 @@ const AccountResponse = z.z.object({
12918
12984
  superAdminToken: z.z.string().optional().nullable(),
12919
12985
  orgs: z.z.array(Org).optional(),
12920
12986
  permissions: z.z.array(z.z.string()).optional(),
12987
+ authContextPermissions: AuthContextPermissionsSchema.optional(),
12921
12988
  featureFlags: z.z.any().optional(),
12922
12989
  message: z.z.string().optional(),
12923
12990
  error: z.z.string().optional(),
@@ -15045,8 +15112,8 @@ function decodeJWT(token) {
15045
15112
 
15046
15113
  const axiosGlobal = ((axiosOriginal === null || axiosOriginal === void 0 ? void 0 : axiosOriginal.default) || axiosOriginal);
15047
15114
  const axios = axiosGlobal.create();
15048
- const DEFAULT_API_URI = 'https://api.integration.app';
15049
- const DEFAULT_UI_URI = 'https://ui.integration.app';
15115
+ const DEFAULT_API_URI = 'https://api.getmembrane.com';
15116
+ const DEFAULT_UI_URI = 'https://console.getmembrane.com';
15050
15117
  const membraneClientOptionsSchema = z.z
15051
15118
  .object({
15052
15119
  token: z.z.string().nullish(),
@@ -15082,6 +15149,7 @@ function decodeToken(token) {
15082
15149
  }
15083
15150
  class MembraneApiClient {
15084
15151
  constructor(options = {}) {
15152
+ this.logs = [];
15085
15153
  validateClientOptions(options);
15086
15154
  const { uiUri, apiUri, accessToken, token, fetchToken, fetchCredentials, credentials } = options;
15087
15155
  this.apiUri = apiUri !== null && apiUri !== void 0 ? apiUri : DEFAULT_API_URI;
@@ -15137,6 +15205,11 @@ class MembraneApiClient {
15137
15205
  async delete(uri, data, options) {
15138
15206
  return this.makeApiRequest('DELETE', { ...(options !== null && options !== void 0 ? options : {}), url: uri, data });
15139
15207
  }
15208
+ retrieveLogs() {
15209
+ const logs = [...this.logs];
15210
+ this.logs = [];
15211
+ return logs;
15212
+ }
15140
15213
  async createEventSource(uri, queryParams) {
15141
15214
  const token = await this.getToken();
15142
15215
  const allParams = { ...queryParams, token };
@@ -15180,7 +15253,21 @@ class MembraneApiClient {
15180
15253
  };
15181
15254
  }
15182
15255
  async makeApiRequest(method, params = {}) {
15256
+ var _a, _b, _c, _d;
15183
15257
  const token = await this.getToken();
15258
+ const url = (_a = params.url) !== null && _a !== void 0 ? _a : '';
15259
+ const requestWithoutCredentials = {
15260
+ method,
15261
+ url: `${this.apiUri}${url.startsWith('/') ? '' : '/'}${url}`,
15262
+ data: isStream(params.data) ? '<stream>' : truncateData(params.data),
15263
+ };
15264
+ const log = {
15265
+ type: exports.LogRecordType.API,
15266
+ data: {
15267
+ request: requestWithoutCredentials,
15268
+ },
15269
+ };
15270
+ const startTime = new Date();
15184
15271
  params.method = method;
15185
15272
  params.baseURL = this.apiUri;
15186
15273
  params.headers = {
@@ -15194,10 +15281,37 @@ class MembraneApiClient {
15194
15281
  response = await axios.request(params);
15195
15282
  }
15196
15283
  catch (err) {
15284
+ log.data.timeMs = new Date().getTime() - startTime.getTime();
15285
+ if (err.response) {
15286
+ log.data.response = {
15287
+ status: (_b = err.response) === null || _b === void 0 ? void 0 : _b.status,
15288
+ data: isStream((_c = err.response) === null || _c === void 0 ? void 0 : _c.data) ? '<stream>' : truncateData((_d = err.response) === null || _d === void 0 ? void 0 : _d.data),
15289
+ };
15290
+ }
15291
+ else {
15292
+ log.data.error = {
15293
+ type: typeof err,
15294
+ error: JSON.stringify(err, Object.getOwnPropertyNames(err)),
15295
+ };
15296
+ }
15297
+ this.log(log);
15197
15298
  this.handleRequestError(err);
15198
15299
  }
15300
+ log.data.response = {
15301
+ status: response.status,
15302
+ data: isStream(response.data) ? '<stream>' : truncateData(response.data),
15303
+ };
15304
+ log.data.timeMs = new Date().getTime() - startTime.getTime();
15305
+ this.log(log);
15199
15306
  return response.data;
15200
15307
  }
15308
+ log(logRecord) {
15309
+ var _a;
15310
+ this.logs.push(logRecord);
15311
+ if (typeof process !== 'undefined' && ((_a = process.env) === null || _a === void 0 ? void 0 : _a.IS_CUSTOM_CODE_RUNNER)) {
15312
+ console.debug(JSON.stringify(logRecord));
15313
+ }
15314
+ }
15201
15315
  handleRequestError(err) {
15202
15316
  var _a, _b;
15203
15317
  if (axiosGlobal.isAxiosError(err) && ((_b = (_a = err.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.type)) {
@@ -15421,6 +15535,7 @@ exports.AppEventTypesAccessor = AppEventTypesAccessor;
15421
15535
  exports.AppSchema = AppSchema;
15422
15536
  exports.AppliedToIntegrations = AppliedToIntegrations;
15423
15537
  exports.AsyncRequestTriggerResponse = AsyncRequestTriggerResponse;
15538
+ exports.AuthContextPermissionsSchema = AuthContextPermissionsSchema;
15424
15539
  exports.BackwardCompatibleDataSourceEditableProperties = BackwardCompatibleDataSourceEditableProperties;
15425
15540
  exports.BadRequestError = BadRequestError;
15426
15541
  exports.BaseAction = BaseAction;
@@ -15836,6 +15951,8 @@ exports.ResetFlowInstanceOptions = ResetFlowInstanceOptions;
15836
15951
  exports.RestApiMappingFunction = RestApiMappingFunction;
15837
15952
  exports.RestApiMappingSchema = RestApiMappingSchema;
15838
15953
  exports.RunActionRequest = RunActionRequest;
15954
+ exports.RunFieldMappingRequest = RunFieldMappingRequest;
15955
+ exports.RunFieldMappingResponse = RunFieldMappingResponse;
15839
15956
  exports.RunFlowApiRequest = RunFlowApiRequest;
15840
15957
  exports.SYSTEM_FIELDS = SYSTEM_FIELDS;
15841
15958
  exports.ScenarioAccessor = ScenarioAccessor;