@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
@@ -3540,6 +3540,7 @@ const BaseMembraneInterfaceReadOnlyProperties = z.z.object({
3540
3540
  updatedAt: z.z.string().optional(),
3541
3541
  archivedAt: z.z.string().optional(),
3542
3542
  isDeactivated: z.z.boolean().optional(),
3543
+ isReadOnly: z.z.boolean().optional(),
3543
3544
  });
3544
3545
  const BaseMembraneInterface = BaseWorkspaceElement.merge(BaseMembraneInterfaceEditableProperties).merge(BaseMembraneInterfaceReadOnlyProperties);
3545
3546
  const BaseIntegrationLevelMembraneInterfaceEditableProperties = BaseMembraneInterfaceEditableProperties.extend({
@@ -3624,6 +3625,13 @@ const FindIntegrationLevelMembraneInterfaceQuery = IntegrationLevelMembraneInter
3624
3625
  isFlag: true,
3625
3626
  }),
3626
3627
  layer: MembraneElementLayer.optional(),
3628
+ externalAppId: z.z
3629
+ .string()
3630
+ .optional()
3631
+ .meta({
3632
+ filterTitle: 'External App',
3633
+ referenceElementType: exports.WorkspaceElementType.App,
3634
+ }),
3627
3635
  });
3628
3636
  const BaseIntegrationLevelMembraneInterface = BaseMembraneInterface.merge(BaseIntegrationLevelMembraneInterfaceEditableProperties).merge(BaseIntegrationLevelMembraneInterfaceReadOnlyProperties);
3629
3637
  const TenantLayerElement = z.z.object({
@@ -3854,6 +3862,8 @@ const ActionReadOnlyProperties = BaseIntegrationLevelMembraneInterfaceReadOnlyPr
3854
3862
  ...TenantLayerElement.partial().shape,
3855
3863
  universalParentId: z.z.string().optional(),
3856
3864
  outputSchema: z.z.any().optional(),
3865
+ isPublic: z.z.boolean().optional(),
3866
+ externalAppUuid: z.z.string().optional(),
3857
3867
  });
3858
3868
  const BaseAction = BaseMembraneInterface.merge(ActionEditableProperties).merge(ActionReadOnlyProperties);
3859
3869
  const BaseActionInstance = BaseAction;
@@ -8815,7 +8825,7 @@ const DataCollectionUpdateResponse = z.z.object({
8815
8825
  const DataCollectionDeleteRequest = DataCollectionMethodRequest.extend({
8816
8826
  id: z.z.string(),
8817
8827
  });
8818
- const DataCollectionDeleteResponse = z.z.object({});
8828
+ const DataCollectionDeleteResponse = z.z.undefined();
8819
8829
  const ConnectorDataLocationTypes = {
8820
8830
  collection: DataLocationTypeCollection,
8821
8831
  };
@@ -8923,9 +8933,7 @@ const ConnectorUiSpec = z.z.object({
8923
8933
  const ConnectorSpec = z.z.object({
8924
8934
  key: z.z.string().optional(),
8925
8935
  name: z.z.string().optional(),
8926
- appUri: z.z.string().optional(),
8927
- logoUri: z.z.string().optional(),
8928
- apiDocsUri: z.z.string().optional(),
8936
+ logoUri: z.z.string().url().optional(),
8929
8937
  api: z.z
8930
8938
  .object({
8931
8939
  type: z.z.enum(['openapi', 'graphql']),
@@ -9066,6 +9074,8 @@ const MinimalConnector = z.z.object({
9066
9074
  key: z.z.string(),
9067
9075
  name: z.z.string(),
9068
9076
  logoUri: z.z.string(),
9077
+ isPublic: z.z.boolean().optional(),
9078
+ tenantId: z.z.string().optional(),
9069
9079
  });
9070
9080
 
9071
9081
  const DEFAULT_PULL_UPDATES_INTERVAL_SECONDS = 60 * 5;
@@ -10040,6 +10050,11 @@ const FindActionsQuery = FindIntegrationLevelMembraneInterfaceQuery.extend({
10040
10050
  .string()
10041
10051
  .optional()
10042
10052
  .meta({ hidden: true }),
10053
+ intent: z.z
10054
+ .string()
10055
+ .max(200)
10056
+ .optional()
10057
+ .meta({ hidden: true }),
10043
10058
  });
10044
10059
  const CreateActionRequest = ActionEditableProperties;
10045
10060
  const UpdateActionRequest = CreateActionRequest.partial();
@@ -10459,7 +10474,12 @@ const FindFlowRunsResponse = z.z.object({
10459
10474
 
10460
10475
  const CreateIntegrationRequest = IntegrationEditableProperties;
10461
10476
  const UpdateIntegrationRequest = IntegrationEditableProperties.partial();
10462
- const FindIntegrationsQuery = z.z.object({}).merge(PaginationQuery).merge(SearchQuery);
10477
+ const FindIntegrationsQuery = z.z
10478
+ .object({
10479
+ appUuid: z.z.string().optional(),
10480
+ })
10481
+ .merge(PaginationQuery)
10482
+ .merge(SearchQuery);
10463
10483
  const IntegrationAuthUi = z.z.object({
10464
10484
  schema: z.z.any().optional(),
10465
10485
  helpUri: z.z.string().optional(),
@@ -10540,7 +10560,7 @@ const CheckpointDiffResponseSchema = z.z.array(CheckpointDiffOperationSchema);
10540
10560
 
10541
10561
  const CreateCustomerRequest = z.z.object({
10542
10562
  name: z.z.string(),
10543
- internalId: z.z.string(),
10563
+ internalId: z.z.string().optional(),
10544
10564
  fields: z.z.any().optional(),
10545
10565
  credentials: z.z.any().optional(),
10546
10566
  });
@@ -10587,6 +10607,13 @@ const CreateFieldMappingRequest = FieldMappingEditableProperties;
10587
10607
  const CreateFieldMappingInstanceRequest = CreateFieldMappingRequest;
10588
10608
  const UpdateFieldMappingRequest = CreateFieldMappingRequest.extend({}).partial();
10589
10609
  const UpdateFieldMappingInstanceRequest = UpdateFieldMappingRequest;
10610
+ const RunFieldMappingRequest = z.z.object({
10611
+ direction: z.z.enum(exports.FieldMappingDirection).optional(),
10612
+ input: z.z.any().optional(),
10613
+ });
10614
+ const RunFieldMappingResponse = z.z.object({
10615
+ output: z.z.any().optional(),
10616
+ });
10590
10617
 
10591
10618
  const DataLinkTableLayer = z.z.enum(['universal', 'connection']);
10592
10619
  const FindDataLinkTablesQuery = z.z.object({
@@ -11478,6 +11505,7 @@ const WorkspaceElementSpecs = {
11478
11505
  name: 'Action Instance',
11479
11506
  namePlural: 'Action Instances',
11480
11507
  parentFieldKey: 'parentId',
11508
+ exportPropertiesSchema: ActionExportProperties,
11481
11509
  isMembraneInterface: true,
11482
11510
  },
11483
11511
  [exports.WorkspaceElementType.Action]: {
@@ -11562,6 +11590,7 @@ const WorkspaceElementSpecs = {
11562
11590
  namePlural: 'Field Mapping Instances',
11563
11591
  parentFieldKey: 'fieldMappingId',
11564
11592
  universalParentFieldKey: 'universalFieldMappingId',
11593
+ exportPropertiesSchema: FieldMappingExportProperties,
11565
11594
  isMembraneInterface: true,
11566
11595
  isProOnly: true,
11567
11596
  },
@@ -11590,6 +11619,7 @@ const WorkspaceElementSpecs = {
11590
11619
  namePlural: 'Data Source Instances',
11591
11620
  parentFieldKey: 'dataSourceId',
11592
11621
  universalParentFieldKey: 'universalDataSourceId',
11622
+ exportPropertiesSchema: DataSourceExportProperties,
11593
11623
  isMembraneInterface: true,
11594
11624
  isProOnly: true,
11595
11625
  },
@@ -11767,6 +11797,35 @@ class SelfAccessor {
11767
11797
  }
11768
11798
  }
11769
11799
 
11800
+ const PlatformUserPermissionsSchema = z.z.object({
11801
+ isEngineAdmin: z.z.boolean(),
11802
+ isPlatformAdmin: z.z.boolean(),
11803
+ platformUserId: z.z.string().optional(),
11804
+ });
11805
+ const OrgPermissionsSchema = z.z.object({
11806
+ orgId: z.z.string(),
11807
+ role: z.z.enum(['admin', 'member']).optional(),
11808
+ canRead: z.z.boolean(),
11809
+ canWrite: z.z.boolean(),
11810
+ });
11811
+ const WorkspacePermissionsSchema = z.z.object({
11812
+ workspaceId: z.z.string().optional(),
11813
+ isWorkspaceManager: z.z.boolean(),
11814
+ scopes: z.z.array(z.z.string()),
11815
+ });
11816
+ const TenantPermissionsSchema = z.z.object({
11817
+ tenantId: z.z.string().optional(),
11818
+ workspaceId: z.z.string().optional(),
11819
+ canRead: z.z.boolean(),
11820
+ canWrite: z.z.boolean(),
11821
+ });
11822
+ const AuthContextPermissionsSchema = z.z.object({
11823
+ platformUser: PlatformUserPermissionsSchema,
11824
+ org: OrgPermissionsSchema.optional(),
11825
+ workspace: WorkspacePermissionsSchema.optional(),
11826
+ tenant: TenantPermissionsSchema.optional(),
11827
+ });
11828
+
11770
11829
  exports.LogRecordType = void 0;
11771
11830
  (function (LogRecordType) {
11772
11831
  LogRecordType["MSG"] = "message";
@@ -11831,6 +11890,9 @@ function truncateData(data, depth = 0) {
11831
11890
  if (!data) {
11832
11891
  return data;
11833
11892
  }
11893
+ else if (isStream(data)) {
11894
+ return '<stream>';
11895
+ }
11834
11896
  else if (Array.isArray(data)) {
11835
11897
  const result = data.slice(0, maxArrayItems).map((item) => truncateData(item, depth + 1));
11836
11898
  if (data.length > maxArrayItems) {
@@ -11840,7 +11902,7 @@ function truncateData(data, depth = 0) {
11840
11902
  }
11841
11903
  return result;
11842
11904
  }
11843
- else if (Buffer.isBuffer(data)) {
11905
+ else if (typeof Buffer !== 'undefined' && Buffer.isBuffer(data)) {
11844
11906
  return data.toString('utf-8').slice(0, maxStringLength);
11845
11907
  }
11846
11908
  else if (isBlob(data)) {
@@ -12476,6 +12538,8 @@ exports.RateLimits = void 0;
12476
12538
  RateLimits["WorkspaceElementCreationsPerHour"] = "workspaceElementCreationsPerHour";
12477
12539
  RateLimits["WorkspaceElementSearchIndexingPerMinute"] = "workspaceElementSearchIndexingPerMinute";
12478
12540
  RateLimits["ExternalEventsPerCustomerPerDay"] = "externalEventsPerCustomerPerDay";
12541
+ RateLimits["McpOAuthAuthorizationsPerHour"] = "mcpOAuthAuthorizationsPerHour";
12542
+ RateLimits["McpOAuthTokensPerHour"] = "mcpOAuthTokensPerHour";
12479
12543
  })(exports.RateLimits || (exports.RateLimits = {}));
12480
12544
  exports.WorkspaceSizeLimits = void 0;
12481
12545
  (function (WorkspaceSizeLimits) {
@@ -12530,6 +12594,8 @@ const WorkspaceLimitsSchema = z.object({
12530
12594
  workspaceElementCreationsPerSecond: WorkspaceLimit.optional(),
12531
12595
  workspaceElementCreationsPerHour: WorkspaceLimit.optional(),
12532
12596
  workspaceElementSearchIndexingPerMinute: WorkspaceLimit.optional(),
12597
+ mcpOAuthAuthorizationsPerHour: WorkspaceLimit.optional(),
12598
+ mcpOAuthTokensPerHour: WorkspaceLimit.optional(),
12533
12599
  totalNumberOfCustomers: WorkspaceLimit.optional(),
12534
12600
  totalNumberOfConnections: WorkspaceLimit.optional(),
12535
12601
  totalNumberOfWorkspaceElements: WorkspaceLimit.optional(),
@@ -12942,6 +13008,7 @@ const AccountResponse = z.z.object({
12942
13008
  superAdminToken: z.z.string().optional().nullable(),
12943
13009
  orgs: z.z.array(Org).optional(),
12944
13010
  permissions: z.z.array(z.z.string()).optional(),
13011
+ authContextPermissions: AuthContextPermissionsSchema.optional(),
12945
13012
  featureFlags: z.z.any().optional(),
12946
13013
  message: z.z.string().optional(),
12947
13014
  error: z.z.string().optional(),
@@ -15069,8 +15136,8 @@ function decodeJWT(token) {
15069
15136
 
15070
15137
  const axiosGlobal = ((axiosOriginal === null || axiosOriginal === void 0 ? void 0 : axiosOriginal.default) || axiosOriginal);
15071
15138
  const axios = axiosGlobal.create();
15072
- const DEFAULT_API_URI = 'https://api.integration.app';
15073
- const DEFAULT_UI_URI = 'https://ui.integration.app';
15139
+ const DEFAULT_API_URI = 'https://api.getmembrane.com';
15140
+ const DEFAULT_UI_URI = 'https://console.getmembrane.com';
15074
15141
  const membraneClientOptionsSchema = z.z
15075
15142
  .object({
15076
15143
  token: z.z.string().nullish(),
@@ -15106,6 +15173,7 @@ function decodeToken(token) {
15106
15173
  }
15107
15174
  class MembraneApiClient {
15108
15175
  constructor(options = {}) {
15176
+ this.logs = [];
15109
15177
  validateClientOptions(options);
15110
15178
  const { uiUri, apiUri, accessToken, token, fetchToken, fetchCredentials, credentials } = options;
15111
15179
  this.apiUri = apiUri !== null && apiUri !== void 0 ? apiUri : DEFAULT_API_URI;
@@ -15161,6 +15229,11 @@ class MembraneApiClient {
15161
15229
  async delete(uri, data, options) {
15162
15230
  return this.makeApiRequest('DELETE', { ...(options !== null && options !== void 0 ? options : {}), url: uri, data });
15163
15231
  }
15232
+ retrieveLogs() {
15233
+ const logs = [...this.logs];
15234
+ this.logs = [];
15235
+ return logs;
15236
+ }
15164
15237
  async createEventSource(uri, queryParams) {
15165
15238
  const token = await this.getToken();
15166
15239
  const allParams = { ...queryParams, token };
@@ -15204,7 +15277,21 @@ class MembraneApiClient {
15204
15277
  };
15205
15278
  }
15206
15279
  async makeApiRequest(method, params = {}) {
15280
+ var _a, _b, _c, _d;
15207
15281
  const token = await this.getToken();
15282
+ const url = (_a = params.url) !== null && _a !== void 0 ? _a : '';
15283
+ const requestWithoutCredentials = {
15284
+ method,
15285
+ url: `${this.apiUri}${url.startsWith('/') ? '' : '/'}${url}`,
15286
+ data: isStream(params.data) ? '<stream>' : truncateData(params.data),
15287
+ };
15288
+ const log = {
15289
+ type: exports.LogRecordType.API,
15290
+ data: {
15291
+ request: requestWithoutCredentials,
15292
+ },
15293
+ };
15294
+ const startTime = new Date();
15208
15295
  params.method = method;
15209
15296
  params.baseURL = this.apiUri;
15210
15297
  params.headers = {
@@ -15218,10 +15305,37 @@ class MembraneApiClient {
15218
15305
  response = await axios.request(params);
15219
15306
  }
15220
15307
  catch (err) {
15308
+ log.data.timeMs = new Date().getTime() - startTime.getTime();
15309
+ if (err.response) {
15310
+ log.data.response = {
15311
+ status: (_b = err.response) === null || _b === void 0 ? void 0 : _b.status,
15312
+ 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),
15313
+ };
15314
+ }
15315
+ else {
15316
+ log.data.error = {
15317
+ type: typeof err,
15318
+ error: JSON.stringify(err, Object.getOwnPropertyNames(err)),
15319
+ };
15320
+ }
15321
+ this.log(log);
15221
15322
  this.handleRequestError(err);
15222
15323
  }
15324
+ log.data.response = {
15325
+ status: response.status,
15326
+ data: isStream(response.data) ? '<stream>' : truncateData(response.data),
15327
+ };
15328
+ log.data.timeMs = new Date().getTime() - startTime.getTime();
15329
+ this.log(log);
15223
15330
  return response.data;
15224
15331
  }
15332
+ log(logRecord) {
15333
+ var _a;
15334
+ this.logs.push(logRecord);
15335
+ if (typeof process !== 'undefined' && ((_a = process.env) === null || _a === void 0 ? void 0 : _a.IS_CUSTOM_CODE_RUNNER)) {
15336
+ console.debug(JSON.stringify(logRecord));
15337
+ }
15338
+ }
15225
15339
  handleRequestError(err) {
15226
15340
  var _a, _b;
15227
15341
  if (axiosGlobal.isAxiosError(err) && ((_b = (_a = err.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.type)) {
@@ -15625,6 +15739,7 @@ exports.AppEventTypesAccessor = AppEventTypesAccessor;
15625
15739
  exports.AppSchema = AppSchema;
15626
15740
  exports.AppliedToIntegrations = AppliedToIntegrations;
15627
15741
  exports.AsyncRequestTriggerResponse = AsyncRequestTriggerResponse;
15742
+ exports.AuthContextPermissionsSchema = AuthContextPermissionsSchema;
15628
15743
  exports.BackwardCompatibleDataSourceEditableProperties = BackwardCompatibleDataSourceEditableProperties;
15629
15744
  exports.BadRequestError = BadRequestError;
15630
15745
  exports.BaseAction = BaseAction;
@@ -16042,6 +16157,8 @@ exports.ResetFlowInstanceOptions = ResetFlowInstanceOptions;
16042
16157
  exports.RestApiMappingFunction = RestApiMappingFunction;
16043
16158
  exports.RestApiMappingSchema = RestApiMappingSchema;
16044
16159
  exports.RunActionRequest = RunActionRequest;
16160
+ exports.RunFieldMappingRequest = RunFieldMappingRequest;
16161
+ exports.RunFieldMappingResponse = RunFieldMappingResponse;
16045
16162
  exports.RunFlowApiRequest = RunFlowApiRequest;
16046
16163
  exports.SYSTEM_FIELDS = SYSTEM_FIELDS;
16047
16164
  exports.ScenarioAccessor = ScenarioAccessor;