@major-tech/resource-client 0.2.47 → 0.2.48

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/index.d.ts CHANGED
@@ -22,6 +22,8 @@ export { GoogleAnalyticsResourceClient } from "./clients/google-analytics";
22
22
  export { GraphQLResourceClient } from "./clients/api-graphql";
23
23
  export { GongResourceClient } from "./clients/gong";
24
24
  export { DynamicsResourceClient } from "./clients/dynamics";
25
+ export { LinearResourceClient } from "./clients/linear";
26
+ export { RingCentralResourceClient } from "./clients/ringcentral";
25
27
  export * from "./payload-builders";
26
- export type { DatabaseInvokeResponse, DynamoDBInvokeResponse, CosmosDBInvokeResponse, SnowflakeInvokeResponse, ApiInvokeResponse, StorageInvokeResponse, LambdaInvokeResponse, BigQueryInvokeResponse, OutreachInvokeResponse, Neo4jInvokeResponse, SlackInvokeResponse, QuickBooksInvokeResponse, AuthInvokeResponse, GoogleAnalyticsInvokeResponse, GraphQLInvokeResponse, GongInvokeResponse, DynamicsInvokeResponse, BaseInvokeSuccess, } from "./schemas/response";
28
+ export type { DatabaseInvokeResponse, DynamoDBInvokeResponse, CosmosDBInvokeResponse, SnowflakeInvokeResponse, ApiInvokeResponse, StorageInvokeResponse, LambdaInvokeResponse, BigQueryInvokeResponse, OutreachInvokeResponse, Neo4jInvokeResponse, SlackInvokeResponse, QuickBooksInvokeResponse, AuthInvokeResponse, GoogleAnalyticsInvokeResponse, GraphQLInvokeResponse, GongInvokeResponse, DynamicsInvokeResponse, LinearInvokeResponse, RingCentralInvokeResponse, BaseInvokeSuccess, } from "./schemas/response";
27
29
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,WAAW,CAAC;AAG1B,OAAO,EAAE,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAGnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAG/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAG5D,cAAc,oBAAoB,CAAC;AAGnC,YAAY,EACV,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,EACxB,kBAAkB,EAClB,6BAA6B,EAC7B,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,WAAW,CAAC;AAG1B,OAAO,EAAE,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAGnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAG/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAGlE,cAAc,oBAAoB,CAAC;AAGnC,YAAY,EACV,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,EACxB,kBAAkB,EAClB,6BAA6B,EAC7B,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,yBAAyB,EACzB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC"}
package/dist/index.js CHANGED
@@ -1605,6 +1605,202 @@ var DynamicsResourceClient = class extends BaseResourceClient {
1605
1605
  }
1606
1606
  };
1607
1607
 
1608
+ // src/payload-builders/linear.ts
1609
+ function buildLinearGraphQLPayload(query, options) {
1610
+ return {
1611
+ type: "api",
1612
+ subtype: "linear",
1613
+ query,
1614
+ variables: options?.variables,
1615
+ operationName: options?.operationName,
1616
+ timeoutMs: options?.timeoutMs ?? 3e4
1617
+ };
1618
+ }
1619
+
1620
+ // src/clients/linear.ts
1621
+ var LinearResourceClient = class extends BaseResourceClient {
1622
+ async graphql(query, invocationKey, options = {}) {
1623
+ const payload = buildLinearGraphQLPayload(query, options);
1624
+ return this.invokeRaw(payload, invocationKey);
1625
+ }
1626
+ };
1627
+
1628
+ // src/payload-builders/ringcentral.ts
1629
+ function buildRingCentralInvokePayload(method, path, options) {
1630
+ return {
1631
+ type: "api",
1632
+ subtype: "ringcentral",
1633
+ method,
1634
+ path,
1635
+ query: options?.query,
1636
+ body: options?.body,
1637
+ timeoutMs: options?.timeoutMs ?? 3e4
1638
+ };
1639
+ }
1640
+ function buildRingCentralListCallLogPayload(options) {
1641
+ const query = {};
1642
+ if (options?.dateFrom) query.dateFrom = options.dateFrom;
1643
+ if (options?.dateTo) query.dateTo = options.dateTo;
1644
+ if (options?.direction) query.direction = options.direction;
1645
+ if (options?.type) query.type = options.type;
1646
+ if (options?.perPage !== void 0) query.perPage = String(options.perPage);
1647
+ if (options?.page !== void 0) query.page = String(options.page);
1648
+ return buildRingCentralInvokePayload("GET", "/v1.0/account/~/call-log", {
1649
+ query: Object.keys(query).length > 0 ? query : void 0
1650
+ });
1651
+ }
1652
+ function buildRingCentralGetCallRecordPayload(callRecordId) {
1653
+ return buildRingCentralInvokePayload("GET", `/v1.0/account/~/call-log/${callRecordId}`);
1654
+ }
1655
+ function buildRingCentralSendSmsPayload(from, to, text) {
1656
+ return buildRingCentralInvokePayload("POST", "/v1.0/account/~/extension/~/sms", {
1657
+ body: {
1658
+ type: "json",
1659
+ value: {
1660
+ from: { phoneNumber: from },
1661
+ to: [{ phoneNumber: to }],
1662
+ text
1663
+ }
1664
+ }
1665
+ });
1666
+ }
1667
+ function buildRingCentralListMessagesPayload(options) {
1668
+ const query = {};
1669
+ if (options?.messageType) query.messageType = options.messageType;
1670
+ if (options?.dateFrom) query.dateFrom = options.dateFrom;
1671
+ if (options?.dateTo) query.dateTo = options.dateTo;
1672
+ if (options?.perPage !== void 0) query.perPage = String(options.perPage);
1673
+ if (options?.page !== void 0) query.page = String(options.page);
1674
+ return buildRingCentralInvokePayload("GET", "/v1.0/account/~/extension/~/message-store", {
1675
+ query: Object.keys(query).length > 0 ? query : void 0
1676
+ });
1677
+ }
1678
+ function buildRingCentralListExtensionsPayload(options) {
1679
+ const query = {};
1680
+ if (options?.type) query.type = options.type;
1681
+ if (options?.status) query.status = options.status;
1682
+ if (options?.perPage !== void 0) query.perPage = String(options.perPage);
1683
+ if (options?.page !== void 0) query.page = String(options.page);
1684
+ return buildRingCentralInvokePayload("GET", "/v1.0/account/~/extension", {
1685
+ query: Object.keys(query).length > 0 ? query : void 0
1686
+ });
1687
+ }
1688
+ function buildRingCentralGetExtensionPayload(extensionId) {
1689
+ return buildRingCentralInvokePayload("GET", `/v1.0/account/~/extension/${extensionId}`);
1690
+ }
1691
+
1692
+ // src/clients/ringcentral.ts
1693
+ var RingCentralResourceClient = class extends BaseResourceClient {
1694
+ /**
1695
+ * Invoke a RingCentral API request
1696
+ *
1697
+ * @param method - HTTP method (GET, POST, PUT, PATCH, DELETE)
1698
+ * @param path - RingCentral API path (e.g., "/v1.0/account/~/call-log")
1699
+ * @param invocationKey - Unique key for this invocation (for tracking)
1700
+ * @param options - Optional query params, body, and timeout
1701
+ * @returns The API response with status and body
1702
+ */
1703
+ async invoke(method, path, invocationKey, options = {}) {
1704
+ const payload = buildRingCentralInvokePayload(method, path, options);
1705
+ return this.invokeRaw(payload, invocationKey);
1706
+ }
1707
+ /**
1708
+ * List call log entries
1709
+ *
1710
+ * @param invocationKey - Unique key for this invocation
1711
+ * @param options - Optional filters (dateFrom, dateTo, direction, type, perPage, page)
1712
+ * @returns Call log records
1713
+ */
1714
+ async listCallLog(invocationKey, options) {
1715
+ const query = {};
1716
+ if (options?.dateFrom) query.dateFrom = options.dateFrom;
1717
+ if (options?.dateTo) query.dateTo = options.dateTo;
1718
+ if (options?.direction) query.direction = options.direction;
1719
+ if (options?.type) query.type = options.type;
1720
+ if (options?.perPage !== void 0) query.perPage = String(options.perPage);
1721
+ if (options?.page !== void 0) query.page = String(options.page);
1722
+ return this.invoke("GET", "/v1.0/account/~/call-log", invocationKey, {
1723
+ query: Object.keys(query).length > 0 ? query : void 0
1724
+ });
1725
+ }
1726
+ /**
1727
+ * Get a specific call record by ID
1728
+ *
1729
+ * @param callRecordId - The call record ID
1730
+ * @param invocationKey - Unique key for this invocation
1731
+ * @returns The call record details
1732
+ */
1733
+ async getCallRecord(callRecordId, invocationKey) {
1734
+ return this.invoke("GET", `/v1.0/account/~/call-log/${callRecordId}`, invocationKey);
1735
+ }
1736
+ /**
1737
+ * Send an SMS message
1738
+ *
1739
+ * @param from - Sender phone number
1740
+ * @param to - Recipient phone number
1741
+ * @param text - Message text
1742
+ * @param invocationKey - Unique key for this invocation
1743
+ * @returns The sent message details
1744
+ */
1745
+ async sendSms(from, to, text, invocationKey) {
1746
+ return this.invoke("POST", "/v1.0/account/~/extension/~/sms", invocationKey, {
1747
+ body: {
1748
+ type: "json",
1749
+ value: {
1750
+ from: { phoneNumber: from },
1751
+ to: [{ phoneNumber: to }],
1752
+ text
1753
+ }
1754
+ }
1755
+ });
1756
+ }
1757
+ /**
1758
+ * List messages from the message store
1759
+ *
1760
+ * @param invocationKey - Unique key for this invocation
1761
+ * @param options - Optional filters (messageType, dateFrom, dateTo, perPage, page)
1762
+ * @returns Message records
1763
+ */
1764
+ async listMessages(invocationKey, options) {
1765
+ const query = {};
1766
+ if (options?.messageType) query.messageType = options.messageType;
1767
+ if (options?.dateFrom) query.dateFrom = options.dateFrom;
1768
+ if (options?.dateTo) query.dateTo = options.dateTo;
1769
+ if (options?.perPage !== void 0) query.perPage = String(options.perPage);
1770
+ if (options?.page !== void 0) query.page = String(options.page);
1771
+ return this.invoke("GET", "/v1.0/account/~/extension/~/message-store", invocationKey, {
1772
+ query: Object.keys(query).length > 0 ? query : void 0
1773
+ });
1774
+ }
1775
+ /**
1776
+ * List extensions on the account
1777
+ *
1778
+ * @param invocationKey - Unique key for this invocation
1779
+ * @param options - Optional filters (type, status, perPage, page)
1780
+ * @returns Extension records
1781
+ */
1782
+ async listExtensions(invocationKey, options) {
1783
+ const query = {};
1784
+ if (options?.type) query.type = options.type;
1785
+ if (options?.status) query.status = options.status;
1786
+ if (options?.perPage !== void 0) query.perPage = String(options.perPage);
1787
+ if (options?.page !== void 0) query.page = String(options.page);
1788
+ return this.invoke("GET", "/v1.0/account/~/extension", invocationKey, {
1789
+ query: Object.keys(query).length > 0 ? query : void 0
1790
+ });
1791
+ }
1792
+ /**
1793
+ * Get a specific extension by ID
1794
+ *
1795
+ * @param extensionId - The extension ID
1796
+ * @param invocationKey - Unique key for this invocation
1797
+ * @returns The extension details
1798
+ */
1799
+ async getExtension(extensionId, invocationKey) {
1800
+ return this.invoke("GET", `/v1.0/account/~/extension/${extensionId}`, invocationKey);
1801
+ }
1802
+ };
1803
+
1608
1804
  // src/payload-builders/outreach.ts
1609
1805
  function buildOutreachInvokePayload(method, path, options) {
1610
1806
  return {
@@ -2045,6 +2241,49 @@ function buildPayloadFromExtractedParams(subtype, methodName, extractedParams) {
2045
2241
  const options = findParam(extractedParams, "Options");
2046
2242
  return buildDynamicsInvokePayload(method, path, options);
2047
2243
  }
2244
+ // =========================================================================
2245
+ // Linear
2246
+ // =========================================================================
2247
+ case "linear": {
2248
+ const query = findParam(extractedParams, "Query");
2249
+ const options = findParam(extractedParams, "Options");
2250
+ return buildLinearGraphQLPayload(query, options);
2251
+ }
2252
+ // =========================================================================
2253
+ // RingCentral
2254
+ // =========================================================================
2255
+ case "ringcentral": {
2256
+ if (methodName === "listCallLog") {
2257
+ const options2 = findParam(extractedParams, "Options");
2258
+ return buildRingCentralListCallLogPayload(options2);
2259
+ }
2260
+ if (methodName === "getCallRecord") {
2261
+ const callRecordId = findParam(extractedParams, "CallRecordId");
2262
+ return buildRingCentralGetCallRecordPayload(callRecordId);
2263
+ }
2264
+ if (methodName === "sendSms") {
2265
+ const from = findParam(extractedParams, "From");
2266
+ const to = findParam(extractedParams, "To");
2267
+ const text = findParam(extractedParams, "Text");
2268
+ return buildRingCentralSendSmsPayload(from, to, text);
2269
+ }
2270
+ if (methodName === "listMessages") {
2271
+ const options2 = findParam(extractedParams, "Options");
2272
+ return buildRingCentralListMessagesPayload(options2);
2273
+ }
2274
+ if (methodName === "listExtensions") {
2275
+ const options2 = findParam(extractedParams, "Options");
2276
+ return buildRingCentralListExtensionsPayload(options2);
2277
+ }
2278
+ if (methodName === "getExtension") {
2279
+ const extensionId = findParam(extractedParams, "ExtensionId");
2280
+ return buildRingCentralGetExtensionPayload(extensionId);
2281
+ }
2282
+ const method = findParam(extractedParams, "Method");
2283
+ const path = findParam(extractedParams, "Path");
2284
+ const options = findParam(extractedParams, "Options");
2285
+ return buildRingCentralInvokePayload(method, path, options);
2286
+ }
2048
2287
  default:
2049
2288
  throw new Error(`Unsupported resource subtype: ${subtype}`);
2050
2289
  }
@@ -2062,6 +2301,7 @@ export {
2062
2301
  GraphQLResourceClient,
2063
2302
  HubSpotResourceClient,
2064
2303
  LambdaResourceClient,
2304
+ LinearResourceClient,
2065
2305
  MajorAuthResourceClient,
2066
2306
  MssqlResourceClient,
2067
2307
  Neo4jResourceClient,
@@ -2069,6 +2309,7 @@ export {
2069
2309
  PostgresResourceClient,
2070
2310
  QuickBooksResourceClient,
2071
2311
  ResourceInvokeError,
2312
+ RingCentralResourceClient,
2072
2313
  S3ResourceClient,
2073
2314
  SalesforceResourceClient,
2074
2315
  SlackResourceClient,
@@ -2116,6 +2357,7 @@ export {
2116
2357
  buildGraphQLInvokePayload,
2117
2358
  buildHubSpotInvokePayload,
2118
2359
  buildLambdaInvokePayload,
2360
+ buildLinearGraphQLPayload,
2119
2361
  buildMssqlInvokePayload,
2120
2362
  buildNeo4jInvokePayload,
2121
2363
  buildOutreachInvokePayload,
@@ -2123,6 +2365,13 @@ export {
2123
2365
  buildPostgresInvokePayload,
2124
2366
  buildQuickBooksInvokePayload,
2125
2367
  buildQuickBooksQueryPayload,
2368
+ buildRingCentralGetCallRecordPayload,
2369
+ buildRingCentralGetExtensionPayload,
2370
+ buildRingCentralInvokePayload,
2371
+ buildRingCentralListCallLogPayload,
2372
+ buildRingCentralListExtensionsPayload,
2373
+ buildRingCentralListMessagesPayload,
2374
+ buildRingCentralSendSmsPayload,
2126
2375
  buildS3InvokePayload,
2127
2376
  buildSalesforceCreateRecordPayload,
2128
2377
  buildSalesforceDeleteRecordPayload,