@stigg/typescript-mcp 0.1.0-alpha.8

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 (112) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +99 -0
  3. package/auth.d.mts +6 -0
  4. package/auth.d.mts.map +1 -0
  5. package/auth.d.ts +6 -0
  6. package/auth.d.ts.map +1 -0
  7. package/auth.js +22 -0
  8. package/auth.js.map +1 -0
  9. package/auth.mjs +17 -0
  10. package/auth.mjs.map +1 -0
  11. package/code-tool-types.d.mts +14 -0
  12. package/code-tool-types.d.mts.map +1 -0
  13. package/code-tool-types.d.ts +14 -0
  14. package/code-tool-types.d.ts.map +1 -0
  15. package/code-tool-types.js +4 -0
  16. package/code-tool-types.js.map +1 -0
  17. package/code-tool-types.mjs +3 -0
  18. package/code-tool-types.mjs.map +1 -0
  19. package/code-tool.d.mts +15 -0
  20. package/code-tool.d.mts.map +1 -0
  21. package/code-tool.d.ts +15 -0
  22. package/code-tool.d.ts.map +1 -0
  23. package/code-tool.js +108 -0
  24. package/code-tool.js.map +1 -0
  25. package/code-tool.mjs +105 -0
  26. package/code-tool.mjs.map +1 -0
  27. package/docs-search-tool.d.mts +57 -0
  28. package/docs-search-tool.d.mts.map +1 -0
  29. package/docs-search-tool.d.ts +57 -0
  30. package/docs-search-tool.d.ts.map +1 -0
  31. package/docs-search-tool.js +55 -0
  32. package/docs-search-tool.js.map +1 -0
  33. package/docs-search-tool.mjs +51 -0
  34. package/docs-search-tool.mjs.map +1 -0
  35. package/http.d.mts +14 -0
  36. package/http.d.mts.map +1 -0
  37. package/http.d.ts +14 -0
  38. package/http.d.ts.map +1 -0
  39. package/http.js +107 -0
  40. package/http.js.map +1 -0
  41. package/http.mjs +99 -0
  42. package/http.mjs.map +1 -0
  43. package/index.d.mts +3 -0
  44. package/index.d.mts.map +1 -0
  45. package/index.d.ts +3 -0
  46. package/index.d.ts.map +1 -0
  47. package/index.js +59 -0
  48. package/index.js.map +1 -0
  49. package/index.mjs +57 -0
  50. package/index.mjs.map +1 -0
  51. package/methods.d.mts +10 -0
  52. package/methods.d.mts.map +1 -0
  53. package/methods.d.ts +10 -0
  54. package/methods.d.ts.map +1 -0
  55. package/methods.js +419 -0
  56. package/methods.js.map +1 -0
  57. package/methods.mjs +415 -0
  58. package/methods.mjs.map +1 -0
  59. package/options.d.mts +16 -0
  60. package/options.d.mts.map +1 -0
  61. package/options.d.ts +16 -0
  62. package/options.d.ts.map +1 -0
  63. package/options.js +99 -0
  64. package/options.js.map +1 -0
  65. package/options.mjs +92 -0
  66. package/options.mjs.map +1 -0
  67. package/package.json +185 -0
  68. package/server.d.mts +29 -0
  69. package/server.d.mts.map +1 -0
  70. package/server.d.ts +29 -0
  71. package/server.d.ts.map +1 -0
  72. package/server.js +143 -0
  73. package/server.js.map +1 -0
  74. package/server.mjs +133 -0
  75. package/server.mjs.map +1 -0
  76. package/src/auth.ts +25 -0
  77. package/src/code-tool-types.ts +16 -0
  78. package/src/code-tool.ts +139 -0
  79. package/src/docs-search-tool.ts +68 -0
  80. package/src/http.ts +138 -0
  81. package/src/index.ts +65 -0
  82. package/src/methods.ts +440 -0
  83. package/src/options.ts +129 -0
  84. package/src/server.ts +181 -0
  85. package/src/stdio.ts +13 -0
  86. package/src/tsconfig.json +11 -0
  87. package/src/types.ts +123 -0
  88. package/src/util.ts +25 -0
  89. package/stdio.d.mts +3 -0
  90. package/stdio.d.mts.map +1 -0
  91. package/stdio.d.ts +3 -0
  92. package/stdio.d.ts.map +1 -0
  93. package/stdio.js +14 -0
  94. package/stdio.js.map +1 -0
  95. package/stdio.mjs +10 -0
  96. package/stdio.mjs.map +1 -0
  97. package/types.d.mts +59 -0
  98. package/types.d.mts.map +1 -0
  99. package/types.d.ts +59 -0
  100. package/types.d.ts.map +1 -0
  101. package/types.js +58 -0
  102. package/types.js.map +1 -0
  103. package/types.mjs +53 -0
  104. package/types.mjs.map +1 -0
  105. package/util.d.mts +4 -0
  106. package/util.d.mts.map +1 -0
  107. package/util.d.ts +4 -0
  108. package/util.d.ts.map +1 -0
  109. package/util.js +30 -0
  110. package/util.js.map +1 -0
  111. package/util.mjs +24 -0
  112. package/util.mjs.map +1 -0
package/index.js ADDED
@@ -0,0 +1,59 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ const server_1 = require("./server.js");
5
+ const options_1 = require("./options.js");
6
+ const stdio_1 = require("./stdio.js");
7
+ const http_1 = require("./http.js");
8
+ async function main() {
9
+ const options = parseOptionsOrError();
10
+ const selectedTools = await selectToolsOrError(options);
11
+ console.error(`MCP Server starting with ${selectedTools.length} tools:`, selectedTools.map((e) => e.tool.name));
12
+ switch (options.transport) {
13
+ case 'stdio':
14
+ await (0, stdio_1.launchStdioServer)(options);
15
+ break;
16
+ case 'http':
17
+ await (0, http_1.launchStreamableHTTPServer)({
18
+ mcpOptions: options,
19
+ debug: options.debug,
20
+ port: options.port ?? options.socket,
21
+ });
22
+ break;
23
+ }
24
+ }
25
+ if (require.main === module) {
26
+ main().catch((error) => {
27
+ console.error('Fatal error in main():', error);
28
+ process.exit(1);
29
+ });
30
+ }
31
+ function parseOptionsOrError() {
32
+ try {
33
+ return (0, options_1.parseCLIOptions)();
34
+ }
35
+ catch (error) {
36
+ console.error('Error parsing options:', error);
37
+ process.exit(1);
38
+ }
39
+ }
40
+ async function selectToolsOrError(options) {
41
+ try {
42
+ const includedTools = (0, server_1.selectTools)(options);
43
+ if (includedTools.length === 0) {
44
+ console.error('No tools match the provided filters.');
45
+ process.exit(1);
46
+ }
47
+ return includedTools;
48
+ }
49
+ catch (error) {
50
+ if (error instanceof Error) {
51
+ console.error('Error filtering tools:', error.message);
52
+ }
53
+ else {
54
+ console.error('Error filtering tools:', error);
55
+ }
56
+ process.exit(1);
57
+ }
58
+ }
59
+ //# sourceMappingURL=index.js.map
package/index.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":";;;AAEA,wCAAuC;AACvC,0CAAwD;AACxD,sCAA4C;AAC5C,oCAAoD;AAGpD,KAAK,UAAU,IAAI;IACjB,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;IAEtC,MAAM,aAAa,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAExD,OAAO,CAAC,KAAK,CACX,4BAA4B,aAAa,CAAC,MAAM,SAAS,EACzD,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACtC,CAAC;IAEF,QAAQ,OAAO,CAAC,SAAS,EAAE,CAAC;QAC1B,KAAK,OAAO;YACV,MAAM,IAAA,yBAAiB,EAAC,OAAO,CAAC,CAAC;YACjC,MAAM;QACR,KAAK,MAAM;YACT,MAAM,IAAA,iCAA0B,EAAC;gBAC/B,UAAU,EAAE,OAAO;gBACnB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM;aACrC,CAAC,CAAC;YACH,MAAM;IACV,CAAC;AACH,CAAC;AAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACrB,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB;IAC1B,IAAI,CAAC;QACH,OAAO,IAAA,yBAAe,GAAE,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,OAAmB;IACnD,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,IAAA,oBAAW,EAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;YACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACzD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
package/index.mjs ADDED
@@ -0,0 +1,57 @@
1
+ #!/usr/bin/env node
2
+ import { selectTools } from "./server.mjs";
3
+ import { parseCLIOptions } from "./options.mjs";
4
+ import { launchStdioServer } from "./stdio.mjs";
5
+ import { launchStreamableHTTPServer } from "./http.mjs";
6
+ async function main() {
7
+ const options = parseOptionsOrError();
8
+ const selectedTools = await selectToolsOrError(options);
9
+ console.error(`MCP Server starting with ${selectedTools.length} tools:`, selectedTools.map((e) => e.tool.name));
10
+ switch (options.transport) {
11
+ case 'stdio':
12
+ await launchStdioServer(options);
13
+ break;
14
+ case 'http':
15
+ await launchStreamableHTTPServer({
16
+ mcpOptions: options,
17
+ debug: options.debug,
18
+ port: options.port ?? options.socket,
19
+ });
20
+ break;
21
+ }
22
+ }
23
+ if (require.main === module) {
24
+ main().catch((error) => {
25
+ console.error('Fatal error in main():', error);
26
+ process.exit(1);
27
+ });
28
+ }
29
+ function parseOptionsOrError() {
30
+ try {
31
+ return parseCLIOptions();
32
+ }
33
+ catch (error) {
34
+ console.error('Error parsing options:', error);
35
+ process.exit(1);
36
+ }
37
+ }
38
+ async function selectToolsOrError(options) {
39
+ try {
40
+ const includedTools = selectTools(options);
41
+ if (includedTools.length === 0) {
42
+ console.error('No tools match the provided filters.');
43
+ process.exit(1);
44
+ }
45
+ return includedTools;
46
+ }
47
+ catch (error) {
48
+ if (error instanceof Error) {
49
+ console.error('Error filtering tools:', error.message);
50
+ }
51
+ else {
52
+ console.error('Error filtering tools:', error);
53
+ }
54
+ process.exit(1);
55
+ }
56
+ }
57
+ //# sourceMappingURL=index.mjs.map
package/index.mjs.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":";OAEO,EAAE,WAAW,EAAE;OACf,EAAc,eAAe,EAAE;OAC/B,EAAE,iBAAiB,EAAE;OACrB,EAAE,0BAA0B,EAAE;AAGrC,KAAK,UAAU,IAAI;IACjB,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;IAEtC,MAAM,aAAa,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAExD,OAAO,CAAC,KAAK,CACX,4BAA4B,aAAa,CAAC,MAAM,SAAS,EACzD,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACtC,CAAC;IAEF,QAAQ,OAAO,CAAC,SAAS,EAAE,CAAC;QAC1B,KAAK,OAAO;YACV,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACjC,MAAM;QACR,KAAK,MAAM;YACT,MAAM,0BAA0B,CAAC;gBAC/B,UAAU,EAAE,OAAO;gBACnB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM;aACrC,CAAC,CAAC;YACH,MAAM;IACV,CAAC;AACH,CAAC;AAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACrB,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB;IAC1B,IAAI,CAAC;QACH,OAAO,eAAe,EAAE,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,OAAmB;IACnD,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;YACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACzD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
package/methods.d.mts ADDED
@@ -0,0 +1,10 @@
1
+ import { McpOptions } from "./options.mjs";
2
+ export type SdkMethod = {
3
+ clientCallName: string;
4
+ fullyQualifiedName: string;
5
+ httpMethod?: 'get' | 'post' | 'put' | 'patch' | 'delete' | 'query';
6
+ httpPath?: string;
7
+ };
8
+ export declare const sdkMethods: SdkMethod[];
9
+ export declare function blockedMethodsForCodeTool(options: McpOptions | undefined): SdkMethod[] | undefined;
10
+ //# sourceMappingURL=methods.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"methods.d.mts","sourceRoot":"","sources":["src/methods.ts"],"names":[],"mappings":"OAEO,EAAE,UAAU,EAAE;AAErB,MAAM,MAAM,SAAS,GAAG;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,SAAS,EAmWjC,CAAC;AA+DF,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,EAAE,GAAG,SAAS,CAUlG"}
package/methods.d.ts ADDED
@@ -0,0 +1,10 @@
1
+ import { McpOptions } from "./options.js";
2
+ export type SdkMethod = {
3
+ clientCallName: string;
4
+ fullyQualifiedName: string;
5
+ httpMethod?: 'get' | 'post' | 'put' | 'patch' | 'delete' | 'query';
6
+ httpPath?: string;
7
+ };
8
+ export declare const sdkMethods: SdkMethod[];
9
+ export declare function blockedMethodsForCodeTool(options: McpOptions | undefined): SdkMethod[] | undefined;
10
+ //# sourceMappingURL=methods.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"methods.d.ts","sourceRoot":"","sources":["src/methods.ts"],"names":[],"mappings":"OAEO,EAAE,UAAU,EAAE;AAErB,MAAM,MAAM,SAAS,GAAG;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,SAAS,EAmWjC,CAAC;AA+DF,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,EAAE,GAAG,SAAS,CAUlG"}
package/methods.js ADDED
@@ -0,0 +1,419 @@
1
+ "use strict";
2
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.sdkMethods = void 0;
5
+ exports.blockedMethodsForCodeTool = blockedMethodsForCodeTool;
6
+ exports.sdkMethods = [
7
+ {
8
+ clientCallName: 'client.v1.customers.retrieve',
9
+ fullyQualifiedName: 'v1.customers.retrieve',
10
+ httpMethod: 'get',
11
+ httpPath: '/api/v1/customers/{id}',
12
+ },
13
+ {
14
+ clientCallName: 'client.v1.customers.update',
15
+ fullyQualifiedName: 'v1.customers.update',
16
+ httpMethod: 'patch',
17
+ httpPath: '/api/v1/customers/{id}',
18
+ },
19
+ {
20
+ clientCallName: 'client.v1.customers.list',
21
+ fullyQualifiedName: 'v1.customers.list',
22
+ httpMethod: 'get',
23
+ httpPath: '/api/v1/customers',
24
+ },
25
+ {
26
+ clientCallName: 'client.v1.customers.archive',
27
+ fullyQualifiedName: 'v1.customers.archive',
28
+ httpMethod: 'post',
29
+ httpPath: '/api/v1/customers/{id}/archive',
30
+ },
31
+ {
32
+ clientCallName: 'client.v1.customers.import',
33
+ fullyQualifiedName: 'v1.customers.import',
34
+ httpMethod: 'post',
35
+ httpPath: '/api/v1/customers/import',
36
+ },
37
+ {
38
+ clientCallName: 'client.v1.customers.listResources',
39
+ fullyQualifiedName: 'v1.customers.listResources',
40
+ httpMethod: 'get',
41
+ httpPath: '/api/v1/customers/{id}/resources',
42
+ },
43
+ {
44
+ clientCallName: 'client.v1.customers.provision',
45
+ fullyQualifiedName: 'v1.customers.provision',
46
+ httpMethod: 'post',
47
+ httpPath: '/api/v1/customers',
48
+ },
49
+ {
50
+ clientCallName: 'client.v1.customers.unarchive',
51
+ fullyQualifiedName: 'v1.customers.unarchive',
52
+ httpMethod: 'post',
53
+ httpPath: '/api/v1/customers/{id}/unarchive',
54
+ },
55
+ {
56
+ clientCallName: 'client.v1.customers.paymentMethod.attach',
57
+ fullyQualifiedName: 'v1.customers.paymentMethod.attach',
58
+ httpMethod: 'post',
59
+ httpPath: '/api/v1/customers/{id}/payment-method',
60
+ },
61
+ {
62
+ clientCallName: 'client.v1.customers.paymentMethod.detach',
63
+ fullyQualifiedName: 'v1.customers.paymentMethod.detach',
64
+ httpMethod: 'delete',
65
+ httpPath: '/api/v1/customers/{id}/payment-method',
66
+ },
67
+ {
68
+ clientCallName: 'client.v1.customers.promotionalEntitlements.create',
69
+ fullyQualifiedName: 'v1.customers.promotionalEntitlements.create',
70
+ httpMethod: 'post',
71
+ httpPath: '/api/v1/customers/{id}/promotional-entitlements',
72
+ },
73
+ {
74
+ clientCallName: 'client.v1.customers.promotionalEntitlements.list',
75
+ fullyQualifiedName: 'v1.customers.promotionalEntitlements.list',
76
+ httpMethod: 'get',
77
+ httpPath: '/api/v1/customers/{id}/promotional-entitlements',
78
+ },
79
+ {
80
+ clientCallName: 'client.v1.customers.promotionalEntitlements.revoke',
81
+ fullyQualifiedName: 'v1.customers.promotionalEntitlements.revoke',
82
+ httpMethod: 'delete',
83
+ httpPath: '/api/v1/customers/{id}/promotional-entitlements/{featureId}',
84
+ },
85
+ {
86
+ clientCallName: 'client.v1.subscriptions.retrieve',
87
+ fullyQualifiedName: 'v1.subscriptions.retrieve',
88
+ httpMethod: 'get',
89
+ httpPath: '/api/v1/subscriptions/{id}',
90
+ },
91
+ {
92
+ clientCallName: 'client.v1.subscriptions.update',
93
+ fullyQualifiedName: 'v1.subscriptions.update',
94
+ httpMethod: 'patch',
95
+ httpPath: '/api/v1/subscriptions/{id}',
96
+ },
97
+ {
98
+ clientCallName: 'client.v1.subscriptions.list',
99
+ fullyQualifiedName: 'v1.subscriptions.list',
100
+ httpMethod: 'get',
101
+ httpPath: '/api/v1/subscriptions',
102
+ },
103
+ {
104
+ clientCallName: 'client.v1.subscriptions.cancel',
105
+ fullyQualifiedName: 'v1.subscriptions.cancel',
106
+ httpMethod: 'post',
107
+ httpPath: '/api/v1/subscriptions/{id}/cancel',
108
+ },
109
+ {
110
+ clientCallName: 'client.v1.subscriptions.delegate',
111
+ fullyQualifiedName: 'v1.subscriptions.delegate',
112
+ httpMethod: 'post',
113
+ httpPath: '/api/v1/subscriptions/{id}/delegate',
114
+ },
115
+ {
116
+ clientCallName: 'client.v1.subscriptions.import',
117
+ fullyQualifiedName: 'v1.subscriptions.import',
118
+ httpMethod: 'post',
119
+ httpPath: '/api/v1/subscriptions/import',
120
+ },
121
+ {
122
+ clientCallName: 'client.v1.subscriptions.migrate',
123
+ fullyQualifiedName: 'v1.subscriptions.migrate',
124
+ httpMethod: 'post',
125
+ httpPath: '/api/v1/subscriptions/{id}/migrate',
126
+ },
127
+ {
128
+ clientCallName: 'client.v1.subscriptions.preview',
129
+ fullyQualifiedName: 'v1.subscriptions.preview',
130
+ httpMethod: 'post',
131
+ httpPath: '/api/v1/subscriptions/preview',
132
+ },
133
+ {
134
+ clientCallName: 'client.v1.subscriptions.provision',
135
+ fullyQualifiedName: 'v1.subscriptions.provision',
136
+ httpMethod: 'post',
137
+ httpPath: '/api/v1/subscriptions',
138
+ },
139
+ {
140
+ clientCallName: 'client.v1.subscriptions.transfer',
141
+ fullyQualifiedName: 'v1.subscriptions.transfer',
142
+ httpMethod: 'post',
143
+ httpPath: '/api/v1/subscriptions/{id}/transfer',
144
+ },
145
+ {
146
+ clientCallName: 'client.v1.subscriptions.futureUpdate.cancelPendingPayment',
147
+ fullyQualifiedName: 'v1.subscriptions.futureUpdate.cancelPendingPayment',
148
+ httpMethod: 'delete',
149
+ httpPath: '/api/v1/subscriptions/{id}/future-update/pending-payment',
150
+ },
151
+ {
152
+ clientCallName: 'client.v1.subscriptions.futureUpdate.cancelSchedule',
153
+ fullyQualifiedName: 'v1.subscriptions.futureUpdate.cancelSchedule',
154
+ httpMethod: 'delete',
155
+ httpPath: '/api/v1/subscriptions/{id}/future-update/schedule',
156
+ },
157
+ {
158
+ clientCallName: 'client.v1.subscriptions.usage.chargeUsage',
159
+ fullyQualifiedName: 'v1.subscriptions.usage.chargeUsage',
160
+ httpMethod: 'post',
161
+ httpPath: '/api/v1/subscriptions/{id}/usage/charge',
162
+ },
163
+ {
164
+ clientCallName: 'client.v1.subscriptions.usage.sync',
165
+ fullyQualifiedName: 'v1.subscriptions.usage.sync',
166
+ httpMethod: 'post',
167
+ httpPath: '/api/v1/subscriptions/{id}/usage/sync',
168
+ },
169
+ {
170
+ clientCallName: 'client.v1.subscriptions.invoice.markAsPaid',
171
+ fullyQualifiedName: 'v1.subscriptions.invoice.markAsPaid',
172
+ httpMethod: 'post',
173
+ httpPath: '/api/v1/subscriptions/{id}/invoice/paid',
174
+ },
175
+ {
176
+ clientCallName: 'client.v1.coupons.create',
177
+ fullyQualifiedName: 'v1.coupons.create',
178
+ httpMethod: 'post',
179
+ httpPath: '/api/v1/coupons',
180
+ },
181
+ {
182
+ clientCallName: 'client.v1.coupons.retrieve',
183
+ fullyQualifiedName: 'v1.coupons.retrieve',
184
+ httpMethod: 'get',
185
+ httpPath: '/api/v1/coupons/{id}',
186
+ },
187
+ {
188
+ clientCallName: 'client.v1.coupons.list',
189
+ fullyQualifiedName: 'v1.coupons.list',
190
+ httpMethod: 'get',
191
+ httpPath: '/api/v1/coupons',
192
+ },
193
+ {
194
+ clientCallName: 'client.v1.coupons.archiveCoupon',
195
+ fullyQualifiedName: 'v1.coupons.archiveCoupon',
196
+ httpMethod: 'post',
197
+ httpPath: '/api/v1/coupons/{id}/archive',
198
+ },
199
+ {
200
+ clientCallName: 'client.v1.coupons.updateCoupon',
201
+ fullyQualifiedName: 'v1.coupons.updateCoupon',
202
+ httpMethod: 'patch',
203
+ httpPath: '/api/v1/coupons/{id}',
204
+ },
205
+ {
206
+ clientCallName: 'client.v1.events.report',
207
+ fullyQualifiedName: 'v1.events.report',
208
+ httpMethod: 'post',
209
+ httpPath: '/api/v1/events',
210
+ },
211
+ {
212
+ clientCallName: 'client.v1.events.features.archiveFeature',
213
+ fullyQualifiedName: 'v1.events.features.archiveFeature',
214
+ httpMethod: 'post',
215
+ httpPath: '/api/v1/features/{id}/archive',
216
+ },
217
+ {
218
+ clientCallName: 'client.v1.events.features.createFeature',
219
+ fullyQualifiedName: 'v1.events.features.createFeature',
220
+ httpMethod: 'post',
221
+ httpPath: '/api/v1/features',
222
+ },
223
+ {
224
+ clientCallName: 'client.v1.events.features.listFeatures',
225
+ fullyQualifiedName: 'v1.events.features.listFeatures',
226
+ httpMethod: 'get',
227
+ httpPath: '/api/v1/features',
228
+ },
229
+ {
230
+ clientCallName: 'client.v1.events.features.retrieveFeature',
231
+ fullyQualifiedName: 'v1.events.features.retrieveFeature',
232
+ httpMethod: 'get',
233
+ httpPath: '/api/v1/features/{id}',
234
+ },
235
+ {
236
+ clientCallName: 'client.v1.events.features.unarchiveFeature',
237
+ fullyQualifiedName: 'v1.events.features.unarchiveFeature',
238
+ httpMethod: 'post',
239
+ httpPath: '/api/v1/features/{id}/unarchive',
240
+ },
241
+ {
242
+ clientCallName: 'client.v1.events.features.updateFeature',
243
+ fullyQualifiedName: 'v1.events.features.updateFeature',
244
+ httpMethod: 'patch',
245
+ httpPath: '/api/v1/features/{id}',
246
+ },
247
+ {
248
+ clientCallName: 'client.v1.events.addons.archiveAddon',
249
+ fullyQualifiedName: 'v1.events.addons.archiveAddon',
250
+ httpMethod: 'post',
251
+ httpPath: '/api/v1/addons/{id}/archive',
252
+ },
253
+ {
254
+ clientCallName: 'client.v1.events.addons.createAddon',
255
+ fullyQualifiedName: 'v1.events.addons.createAddon',
256
+ httpMethod: 'post',
257
+ httpPath: '/api/v1/addons',
258
+ },
259
+ {
260
+ clientCallName: 'client.v1.events.addons.listAddons',
261
+ fullyQualifiedName: 'v1.events.addons.listAddons',
262
+ httpMethod: 'get',
263
+ httpPath: '/api/v1/addons',
264
+ },
265
+ {
266
+ clientCallName: 'client.v1.events.addons.publishAddon',
267
+ fullyQualifiedName: 'v1.events.addons.publishAddon',
268
+ httpMethod: 'post',
269
+ httpPath: '/api/v1/addons/{id}/publish',
270
+ },
271
+ {
272
+ clientCallName: 'client.v1.events.addons.retrieveAddon',
273
+ fullyQualifiedName: 'v1.events.addons.retrieveAddon',
274
+ httpMethod: 'get',
275
+ httpPath: '/api/v1/addons/{id}',
276
+ },
277
+ {
278
+ clientCallName: 'client.v1.events.addons.updateAddon',
279
+ fullyQualifiedName: 'v1.events.addons.updateAddon',
280
+ httpMethod: 'patch',
281
+ httpPath: '/api/v1/addons/{id}',
282
+ },
283
+ {
284
+ clientCallName: 'client.v1.events.addons.draft.createAddonDraft',
285
+ fullyQualifiedName: 'v1.events.addons.draft.createAddonDraft',
286
+ httpMethod: 'post',
287
+ httpPath: '/api/v1/addons/{id}/draft',
288
+ },
289
+ {
290
+ clientCallName: 'client.v1.events.addons.draft.removeAddonDraft',
291
+ fullyQualifiedName: 'v1.events.addons.draft.removeAddonDraft',
292
+ httpMethod: 'delete',
293
+ httpPath: '/api/v1/addons/{id}/draft',
294
+ },
295
+ {
296
+ clientCallName: 'client.v1.events.plans.create',
297
+ fullyQualifiedName: 'v1.events.plans.create',
298
+ httpMethod: 'post',
299
+ httpPath: '/api/v1/plans',
300
+ },
301
+ {
302
+ clientCallName: 'client.v1.events.plans.retrieve',
303
+ fullyQualifiedName: 'v1.events.plans.retrieve',
304
+ httpMethod: 'get',
305
+ httpPath: '/api/v1/plans/{id}',
306
+ },
307
+ {
308
+ clientCallName: 'client.v1.events.plans.list',
309
+ fullyQualifiedName: 'v1.events.plans.list',
310
+ httpMethod: 'get',
311
+ httpPath: '/api/v1/plans',
312
+ },
313
+ {
314
+ clientCallName: 'client.v1.usage.history',
315
+ fullyQualifiedName: 'v1.usage.history',
316
+ httpMethod: 'get',
317
+ httpPath: '/api/v1/usage/{customerId}/history/{featureId}',
318
+ },
319
+ {
320
+ clientCallName: 'client.v1.usage.report',
321
+ fullyQualifiedName: 'v1.usage.report',
322
+ httpMethod: 'post',
323
+ httpPath: '/api/v1/usage',
324
+ },
325
+ {
326
+ clientCallName: 'client.v1.products.archiveProduct',
327
+ fullyQualifiedName: 'v1.products.archiveProduct',
328
+ httpMethod: 'post',
329
+ httpPath: '/api/v1/products/{id}/archive',
330
+ },
331
+ {
332
+ clientCallName: 'client.v1.products.createProduct',
333
+ fullyQualifiedName: 'v1.products.createProduct',
334
+ httpMethod: 'post',
335
+ httpPath: '/api/v1/products',
336
+ },
337
+ {
338
+ clientCallName: 'client.v1.products.duplicateProduct',
339
+ fullyQualifiedName: 'v1.products.duplicateProduct',
340
+ httpMethod: 'post',
341
+ httpPath: '/api/v1/products/{id}/duplicate',
342
+ },
343
+ {
344
+ clientCallName: 'client.v1.products.listProducts',
345
+ fullyQualifiedName: 'v1.products.listProducts',
346
+ httpMethod: 'get',
347
+ httpPath: '/api/v1/products',
348
+ },
349
+ {
350
+ clientCallName: 'client.v1.products.unarchiveProduct',
351
+ fullyQualifiedName: 'v1.products.unarchiveProduct',
352
+ httpMethod: 'post',
353
+ httpPath: '/api/v1/products/{id}/unarchive',
354
+ },
355
+ {
356
+ clientCallName: 'client.v1.products.updateProduct',
357
+ fullyQualifiedName: 'v1.products.updateProduct',
358
+ httpMethod: 'patch',
359
+ httpPath: '/api/v1/products/{id}',
360
+ },
361
+ ];
362
+ function allowedMethodsForCodeTool(options) {
363
+ if (!options) {
364
+ return undefined;
365
+ }
366
+ let allowedMethods;
367
+ if (options.codeAllowHttpGets || options.codeAllowedMethods) {
368
+ // Start with nothing allowed and then add into it from options
369
+ let allowedMethodsSet = new Set();
370
+ if (options.codeAllowHttpGets) {
371
+ // Add all methods that map to an HTTP GET
372
+ exports.sdkMethods
373
+ .filter((method) => method.httpMethod === 'get')
374
+ .forEach((method) => allowedMethodsSet.add(method));
375
+ }
376
+ if (options.codeAllowedMethods) {
377
+ // Add all methods that match any of the allowed regexps
378
+ const allowedRegexps = options.codeAllowedMethods.map((pattern) => {
379
+ try {
380
+ return new RegExp(pattern);
381
+ }
382
+ catch (e) {
383
+ throw new Error(`Invalid regex pattern for allowed method: "${pattern}": ${e instanceof Error ? e.message : e}`);
384
+ }
385
+ });
386
+ exports.sdkMethods
387
+ .filter((method) => allowedRegexps.some((regexp) => regexp.test(method.fullyQualifiedName)))
388
+ .forEach((method) => allowedMethodsSet.add(method));
389
+ }
390
+ allowedMethods = Array.from(allowedMethodsSet);
391
+ }
392
+ else {
393
+ // Start with everything allowed
394
+ allowedMethods = [...exports.sdkMethods];
395
+ }
396
+ if (options.codeBlockedMethods) {
397
+ // Filter down based on blocked regexps
398
+ const blockedRegexps = options.codeBlockedMethods.map((pattern) => {
399
+ try {
400
+ return new RegExp(pattern);
401
+ }
402
+ catch (e) {
403
+ throw new Error(`Invalid regex pattern for blocked method: "${pattern}": ${e instanceof Error ? e.message : e}`);
404
+ }
405
+ });
406
+ allowedMethods = allowedMethods.filter((method) => !blockedRegexps.some((regexp) => regexp.test(method.fullyQualifiedName)));
407
+ }
408
+ return allowedMethods;
409
+ }
410
+ function blockedMethodsForCodeTool(options) {
411
+ const allowedMethods = allowedMethodsForCodeTool(options);
412
+ if (!allowedMethods) {
413
+ return undefined;
414
+ }
415
+ const allowedSet = new Set(allowedMethods.map((method) => method.fullyQualifiedName));
416
+ // Return any methods that are not explicitly allowed
417
+ return exports.sdkMethods.filter((method) => !allowedSet.has(method.fullyQualifiedName));
418
+ }
419
+ //# sourceMappingURL=methods.js.map
package/methods.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"methods.js","sourceRoot":"","sources":["src/methods.ts"],"names":[],"mappings":"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"}