@tryfinch/finch-api-mcp 6.28.0 → 6.29.0

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 (252) hide show
  1. package/README.md +25 -3
  2. package/dynamic-tools.d.mts +12 -0
  3. package/dynamic-tools.d.mts.map +1 -0
  4. package/dynamic-tools.d.ts +12 -0
  5. package/dynamic-tools.d.ts.map +1 -0
  6. package/dynamic-tools.js +133 -0
  7. package/dynamic-tools.js.map +1 -0
  8. package/dynamic-tools.mjs +130 -0
  9. package/dynamic-tools.mjs.map +1 -0
  10. package/index.js +15 -18
  11. package/index.js.map +1 -1
  12. package/index.mjs +17 -20
  13. package/index.mjs.map +1 -1
  14. package/options.d.mts +2 -0
  15. package/options.d.mts.map +1 -1
  16. package/options.d.ts +2 -0
  17. package/options.d.ts.map +1 -1
  18. package/options.js +17 -0
  19. package/options.js.map +1 -1
  20. package/options.mjs +17 -0
  21. package/options.mjs.map +1 -1
  22. package/package.json +6 -3
  23. package/server.d.mts +6 -1
  24. package/server.d.mts.map +1 -1
  25. package/server.d.ts +6 -1
  26. package/server.d.ts.map +1 -1
  27. package/server.js +20 -1
  28. package/server.js.map +1 -1
  29. package/server.mjs +21 -3
  30. package/server.mjs.map +1 -1
  31. package/src/dynamic-tools.ts +152 -0
  32. package/src/index.ts +19 -23
  33. package/src/options.ts +22 -0
  34. package/src/server.ts +33 -3
  35. package/src/tools/index.ts +1 -5
  36. package/src/tools/sandbox/payment/create-sandbox-payment.ts +1 -1
  37. package/tools/access-tokens/create-access-tokens.d.mts +8 -0
  38. package/tools/access-tokens/create-access-tokens.d.mts.map +1 -1
  39. package/tools/access-tokens/create-access-tokens.d.ts +8 -0
  40. package/tools/access-tokens/create-access-tokens.d.ts.map +1 -1
  41. package/tools/account/disconnect-account.d.mts +8 -0
  42. package/tools/account/disconnect-account.d.mts.map +1 -1
  43. package/tools/account/disconnect-account.d.ts +8 -0
  44. package/tools/account/disconnect-account.d.ts.map +1 -1
  45. package/tools/account/introspect-account.d.mts +8 -0
  46. package/tools/account/introspect-account.d.mts.map +1 -1
  47. package/tools/account/introspect-account.d.ts +8 -0
  48. package/tools/account/introspect-account.d.ts.map +1 -1
  49. package/tools/connect/sessions/new-connect-sessions.d.mts +8 -0
  50. package/tools/connect/sessions/new-connect-sessions.d.mts.map +1 -1
  51. package/tools/connect/sessions/new-connect-sessions.d.ts +8 -0
  52. package/tools/connect/sessions/new-connect-sessions.d.ts.map +1 -1
  53. package/tools/connect/sessions/reauthenticate-connect-sessions.d.mts +8 -0
  54. package/tools/connect/sessions/reauthenticate-connect-sessions.d.mts.map +1 -1
  55. package/tools/connect/sessions/reauthenticate-connect-sessions.d.ts +8 -0
  56. package/tools/connect/sessions/reauthenticate-connect-sessions.d.ts.map +1 -1
  57. package/tools/hris/benefits/create-hris-benefits.d.mts +8 -0
  58. package/tools/hris/benefits/create-hris-benefits.d.mts.map +1 -1
  59. package/tools/hris/benefits/create-hris-benefits.d.ts +8 -0
  60. package/tools/hris/benefits/create-hris-benefits.d.ts.map +1 -1
  61. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.d.mts +8 -0
  62. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.d.mts.map +1 -1
  63. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.d.ts +8 -0
  64. package/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.d.ts.map +1 -1
  65. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.d.mts +8 -0
  66. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.d.mts.map +1 -1
  67. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.d.ts +8 -0
  68. package/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.d.ts.map +1 -1
  69. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.d.mts +8 -0
  70. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.d.mts.map +1 -1
  71. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.d.ts +8 -0
  72. package/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.d.ts.map +1 -1
  73. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.d.mts +8 -0
  74. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.d.mts.map +1 -1
  75. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.d.ts +8 -0
  76. package/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.d.ts.map +1 -1
  77. package/tools/hris/benefits/list-hris-benefits.d.mts +8 -0
  78. package/tools/hris/benefits/list-hris-benefits.d.mts.map +1 -1
  79. package/tools/hris/benefits/list-hris-benefits.d.ts +8 -0
  80. package/tools/hris/benefits/list-hris-benefits.d.ts.map +1 -1
  81. package/tools/hris/benefits/list-supported-benefits-hris-benefits.d.mts +8 -0
  82. package/tools/hris/benefits/list-supported-benefits-hris-benefits.d.mts.map +1 -1
  83. package/tools/hris/benefits/list-supported-benefits-hris-benefits.d.ts +8 -0
  84. package/tools/hris/benefits/list-supported-benefits-hris-benefits.d.ts.map +1 -1
  85. package/tools/hris/benefits/retrieve-hris-benefits.d.mts +8 -0
  86. package/tools/hris/benefits/retrieve-hris-benefits.d.mts.map +1 -1
  87. package/tools/hris/benefits/retrieve-hris-benefits.d.ts +8 -0
  88. package/tools/hris/benefits/retrieve-hris-benefits.d.ts.map +1 -1
  89. package/tools/hris/benefits/update-hris-benefits.d.mts +8 -0
  90. package/tools/hris/benefits/update-hris-benefits.d.mts.map +1 -1
  91. package/tools/hris/benefits/update-hris-benefits.d.ts +8 -0
  92. package/tools/hris/benefits/update-hris-benefits.d.ts.map +1 -1
  93. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.d.mts +8 -0
  94. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.d.mts.map +1 -1
  95. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.d.ts +8 -0
  96. package/tools/hris/company/pay-statement-item/list-company-hris-pay-statement-item.d.ts.map +1 -1
  97. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.d.mts +8 -0
  98. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.d.mts.map +1 -1
  99. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.d.ts +8 -0
  100. package/tools/hris/company/pay-statement-item/rules/create-pay-statement-item-company-hris-rules.d.ts.map +1 -1
  101. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.d.mts +8 -0
  102. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.d.mts.map +1 -1
  103. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.d.ts +8 -0
  104. package/tools/hris/company/pay-statement-item/rules/delete-pay-statement-item-company-hris-rules.d.ts.map +1 -1
  105. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.d.mts +8 -0
  106. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.d.mts.map +1 -1
  107. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.d.ts +8 -0
  108. package/tools/hris/company/pay-statement-item/rules/list-pay-statement-item-company-hris-rules.d.ts.map +1 -1
  109. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.d.mts +8 -0
  110. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.d.mts.map +1 -1
  111. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.d.ts +8 -0
  112. package/tools/hris/company/pay-statement-item/rules/update-pay-statement-item-company-hris-rules.d.ts.map +1 -1
  113. package/tools/hris/company/retrieve-hris-company.d.mts +8 -0
  114. package/tools/hris/company/retrieve-hris-company.d.mts.map +1 -1
  115. package/tools/hris/company/retrieve-hris-company.d.ts +8 -0
  116. package/tools/hris/company/retrieve-hris-company.d.ts.map +1 -1
  117. package/tools/hris/directory/list-hris-directory.d.mts +8 -0
  118. package/tools/hris/directory/list-hris-directory.d.mts.map +1 -1
  119. package/tools/hris/directory/list-hris-directory.d.ts +8 -0
  120. package/tools/hris/directory/list-hris-directory.d.ts.map +1 -1
  121. package/tools/hris/directory/list-individuals-hris-directory.d.mts +8 -0
  122. package/tools/hris/directory/list-individuals-hris-directory.d.mts.map +1 -1
  123. package/tools/hris/directory/list-individuals-hris-directory.d.ts +8 -0
  124. package/tools/hris/directory/list-individuals-hris-directory.d.ts.map +1 -1
  125. package/tools/hris/documents/list-hris-documents.d.mts +8 -0
  126. package/tools/hris/documents/list-hris-documents.d.mts.map +1 -1
  127. package/tools/hris/documents/list-hris-documents.d.ts +8 -0
  128. package/tools/hris/documents/list-hris-documents.d.ts.map +1 -1
  129. package/tools/hris/documents/retreive-hris-documents.d.mts +8 -0
  130. package/tools/hris/documents/retreive-hris-documents.d.mts.map +1 -1
  131. package/tools/hris/documents/retreive-hris-documents.d.ts +8 -0
  132. package/tools/hris/documents/retreive-hris-documents.d.ts.map +1 -1
  133. package/tools/hris/employments/retrieve-many-hris-employments.d.mts +8 -0
  134. package/tools/hris/employments/retrieve-many-hris-employments.d.mts.map +1 -1
  135. package/tools/hris/employments/retrieve-many-hris-employments.d.ts +8 -0
  136. package/tools/hris/employments/retrieve-many-hris-employments.d.ts.map +1 -1
  137. package/tools/hris/individuals/retrieve-many-hris-individuals.d.mts +8 -0
  138. package/tools/hris/individuals/retrieve-many-hris-individuals.d.mts.map +1 -1
  139. package/tools/hris/individuals/retrieve-many-hris-individuals.d.ts +8 -0
  140. package/tools/hris/individuals/retrieve-many-hris-individuals.d.ts.map +1 -1
  141. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.d.mts +8 -0
  142. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.d.mts.map +1 -1
  143. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.d.ts +8 -0
  144. package/tools/hris/pay-statements/retrieve-many-hris-pay-statements.d.ts.map +1 -1
  145. package/tools/hris/payments/list-hris-payments.d.mts +8 -0
  146. package/tools/hris/payments/list-hris-payments.d.mts.map +1 -1
  147. package/tools/hris/payments/list-hris-payments.d.ts +8 -0
  148. package/tools/hris/payments/list-hris-payments.d.ts.map +1 -1
  149. package/tools/index.d.mts.map +1 -1
  150. package/tools/index.d.ts.map +1 -1
  151. package/tools/index.js +1 -4
  152. package/tools/index.js.map +1 -1
  153. package/tools/index.mjs +1 -4
  154. package/tools/index.mjs.map +1 -1
  155. package/tools/jobs/automated/create-jobs-automated.d.mts +8 -0
  156. package/tools/jobs/automated/create-jobs-automated.d.mts.map +1 -1
  157. package/tools/jobs/automated/create-jobs-automated.d.ts +8 -0
  158. package/tools/jobs/automated/create-jobs-automated.d.ts.map +1 -1
  159. package/tools/jobs/automated/list-jobs-automated.d.mts +8 -0
  160. package/tools/jobs/automated/list-jobs-automated.d.mts.map +1 -1
  161. package/tools/jobs/automated/list-jobs-automated.d.ts +8 -0
  162. package/tools/jobs/automated/list-jobs-automated.d.ts.map +1 -1
  163. package/tools/jobs/automated/retrieve-jobs-automated.d.mts +8 -0
  164. package/tools/jobs/automated/retrieve-jobs-automated.d.mts.map +1 -1
  165. package/tools/jobs/automated/retrieve-jobs-automated.d.ts +8 -0
  166. package/tools/jobs/automated/retrieve-jobs-automated.d.ts.map +1 -1
  167. package/tools/jobs/manual/retrieve-jobs-manual.d.mts +8 -0
  168. package/tools/jobs/manual/retrieve-jobs-manual.d.mts.map +1 -1
  169. package/tools/jobs/manual/retrieve-jobs-manual.d.ts +8 -0
  170. package/tools/jobs/manual/retrieve-jobs-manual.d.ts.map +1 -1
  171. package/tools/payroll/pay-groups/list-payroll-pay-groups.d.mts +8 -0
  172. package/tools/payroll/pay-groups/list-payroll-pay-groups.d.mts.map +1 -1
  173. package/tools/payroll/pay-groups/list-payroll-pay-groups.d.ts +8 -0
  174. package/tools/payroll/pay-groups/list-payroll-pay-groups.d.ts.map +1 -1
  175. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.d.mts +8 -0
  176. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.d.mts.map +1 -1
  177. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.d.ts +8 -0
  178. package/tools/payroll/pay-groups/retrieve-payroll-pay-groups.d.ts.map +1 -1
  179. package/tools/providers/list-providers.d.mts +8 -0
  180. package/tools/providers/list-providers.d.mts.map +1 -1
  181. package/tools/providers/list-providers.d.ts +8 -0
  182. package/tools/providers/list-providers.d.ts.map +1 -1
  183. package/tools/request-forwarding/forward-request-forwarding.d.mts +8 -0
  184. package/tools/request-forwarding/forward-request-forwarding.d.mts.map +1 -1
  185. package/tools/request-forwarding/forward-request-forwarding.d.ts +8 -0
  186. package/tools/request-forwarding/forward-request-forwarding.d.ts.map +1 -1
  187. package/tools/sandbox/company/update-sandbox-company.d.mts +8 -0
  188. package/tools/sandbox/company/update-sandbox-company.d.mts.map +1 -1
  189. package/tools/sandbox/company/update-sandbox-company.d.ts +8 -0
  190. package/tools/sandbox/company/update-sandbox-company.d.ts.map +1 -1
  191. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.d.mts +8 -0
  192. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.d.mts.map +1 -1
  193. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.d.ts +8 -0
  194. package/tools/sandbox/connections/accounts/create-connections-sandbox-accounts.d.ts.map +1 -1
  195. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.d.mts +8 -0
  196. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.d.mts.map +1 -1
  197. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.d.ts +8 -0
  198. package/tools/sandbox/connections/accounts/update-connections-sandbox-accounts.d.ts.map +1 -1
  199. package/tools/sandbox/connections/create-sandbox-connections.d.mts +8 -0
  200. package/tools/sandbox/connections/create-sandbox-connections.d.mts.map +1 -1
  201. package/tools/sandbox/connections/create-sandbox-connections.d.ts +8 -0
  202. package/tools/sandbox/connections/create-sandbox-connections.d.ts.map +1 -1
  203. package/tools/sandbox/directory/create-sandbox-directory.d.mts +8 -0
  204. package/tools/sandbox/directory/create-sandbox-directory.d.mts.map +1 -1
  205. package/tools/sandbox/directory/create-sandbox-directory.d.ts +8 -0
  206. package/tools/sandbox/directory/create-sandbox-directory.d.ts.map +1 -1
  207. package/tools/sandbox/employment/update-sandbox-employment.d.mts +8 -0
  208. package/tools/sandbox/employment/update-sandbox-employment.d.mts.map +1 -1
  209. package/tools/sandbox/employment/update-sandbox-employment.d.ts +8 -0
  210. package/tools/sandbox/employment/update-sandbox-employment.d.ts.map +1 -1
  211. package/tools/sandbox/individual/update-sandbox-individual.d.mts +8 -0
  212. package/tools/sandbox/individual/update-sandbox-individual.d.mts.map +1 -1
  213. package/tools/sandbox/individual/update-sandbox-individual.d.ts +8 -0
  214. package/tools/sandbox/individual/update-sandbox-individual.d.ts.map +1 -1
  215. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.d.mts +8 -0
  216. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.d.mts.map +1 -1
  217. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.d.ts +8 -0
  218. package/tools/sandbox/jobs/configuration/retrieve-jobs-sandbox-configuration.d.ts.map +1 -1
  219. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.d.mts +8 -0
  220. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.d.mts.map +1 -1
  221. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.d.ts +8 -0
  222. package/tools/sandbox/jobs/configuration/update-jobs-sandbox-configuration.d.ts.map +1 -1
  223. package/tools/sandbox/jobs/create-sandbox-jobs.d.mts +8 -0
  224. package/tools/sandbox/jobs/create-sandbox-jobs.d.mts.map +1 -1
  225. package/tools/sandbox/jobs/create-sandbox-jobs.d.ts +8 -0
  226. package/tools/sandbox/jobs/create-sandbox-jobs.d.ts.map +1 -1
  227. package/tools/sandbox/payment/create-sandbox-payment.d.mts +8 -0
  228. package/tools/sandbox/payment/create-sandbox-payment.d.mts.map +1 -1
  229. package/tools/sandbox/payment/create-sandbox-payment.d.ts +8 -0
  230. package/tools/sandbox/payment/create-sandbox-payment.d.ts.map +1 -1
  231. package/tools/sandbox/payment/create-sandbox-payment.js +1 -1
  232. package/tools/sandbox/payment/create-sandbox-payment.js.map +1 -1
  233. package/tools/sandbox/payment/create-sandbox-payment.mjs +1 -1
  234. package/tools/sandbox/payment/create-sandbox-payment.mjs.map +1 -1
  235. package/compat.test.d.mts +0 -2
  236. package/compat.test.d.mts.map +0 -1
  237. package/compat.test.d.ts +0 -2
  238. package/compat.test.d.ts.map +0 -1
  239. package/compat.test.js +0 -950
  240. package/compat.test.js.map +0 -1
  241. package/compat.test.mjs +0 -948
  242. package/compat.test.mjs.map +0 -1
  243. package/options.test.d.mts +0 -2
  244. package/options.test.d.mts.map +0 -1
  245. package/options.test.d.ts +0 -2
  246. package/options.test.d.ts.map +0 -1
  247. package/options.test.js +0 -154
  248. package/options.test.js.map +0 -1
  249. package/options.test.mjs +0 -152
  250. package/options.test.mjs.map +0 -1
  251. package/src/compat.test.ts +0 -1068
  252. package/src/options.test.ts +0 -193
@@ -1,193 +0,0 @@
1
- import { parseOptions } from './options';
2
- import { Filter } from './tools';
3
-
4
- // Mock process.argv
5
- const mockArgv = (args: string[]) => {
6
- const originalArgv = process.argv;
7
- process.argv = ['node', 'test.js', ...args];
8
- return () => {
9
- process.argv = originalArgv;
10
- };
11
- };
12
-
13
- describe('parseOptions', () => {
14
- it('should parse basic filter options', () => {
15
- const cleanup = mockArgv([
16
- '--tool=test-tool',
17
- '--resource=test-resource',
18
- '--operation=read',
19
- '--tag=test-tag',
20
- ]);
21
-
22
- const result = parseOptions();
23
-
24
- expect(result.filters).toEqual([
25
- { type: 'tag', op: 'include', value: 'test-tag' },
26
- { type: 'resource', op: 'include', value: 'test-resource' },
27
- { type: 'tool', op: 'include', value: 'test-tool' },
28
- { type: 'operation', op: 'include', value: 'read' },
29
- ] as Filter[]);
30
-
31
- // Default client capabilities
32
- expect(result.capabilities).toEqual({
33
- topLevelUnions: true,
34
- validJson: true,
35
- refs: true,
36
- unions: true,
37
- formats: true,
38
- toolNameLength: undefined,
39
- });
40
-
41
- expect(result.list).toBe(false);
42
-
43
- cleanup();
44
- });
45
-
46
- it('should parse exclusion filters', () => {
47
- const cleanup = mockArgv([
48
- '--no-tool=exclude-tool',
49
- '--no-resource=exclude-resource',
50
- '--no-operation=write',
51
- '--no-tag=exclude-tag',
52
- ]);
53
-
54
- const result = parseOptions();
55
-
56
- expect(result.filters).toEqual([
57
- { type: 'tag', op: 'exclude', value: 'exclude-tag' },
58
- { type: 'resource', op: 'exclude', value: 'exclude-resource' },
59
- { type: 'tool', op: 'exclude', value: 'exclude-tool' },
60
- { type: 'operation', op: 'exclude', value: 'write' },
61
- ] as Filter[]);
62
-
63
- expect(result.capabilities).toEqual({
64
- topLevelUnions: true,
65
- validJson: true,
66
- refs: true,
67
- unions: true,
68
- formats: true,
69
- toolNameLength: undefined,
70
- });
71
-
72
- cleanup();
73
- });
74
-
75
- it('should parse client presets', () => {
76
- const cleanup = mockArgv(['--client=openai-agents']);
77
-
78
- const result = parseOptions();
79
-
80
- expect(result.capabilities).toEqual({
81
- topLevelUnions: false,
82
- validJson: true,
83
- refs: true,
84
- unions: true,
85
- formats: true,
86
- toolNameLength: undefined,
87
- });
88
-
89
- cleanup();
90
- });
91
-
92
- it('should parse individual capabilities', () => {
93
- const cleanup = mockArgv([
94
- '--capability=top-level-unions',
95
- '--capability=valid-json',
96
- '--capability=refs',
97
- '--capability=unions',
98
- '--capability=tool-name-length=40',
99
- ]);
100
-
101
- const result = parseOptions();
102
-
103
- expect(result.capabilities).toEqual({
104
- topLevelUnions: true,
105
- validJson: true,
106
- refs: true,
107
- unions: true,
108
- formats: true,
109
- toolNameLength: 40,
110
- });
111
-
112
- cleanup();
113
- });
114
-
115
- it('should handle list option', () => {
116
- const cleanup = mockArgv(['--list']);
117
-
118
- const result = parseOptions();
119
-
120
- expect(result.list).toBe(true);
121
-
122
- cleanup();
123
- });
124
-
125
- it('should handle multiple filters of the same type', () => {
126
- const cleanup = mockArgv(['--tool=tool1', '--tool=tool2', '--resource=res1', '--resource=res2']);
127
-
128
- const result = parseOptions();
129
-
130
- expect(result.filters).toEqual([
131
- { type: 'resource', op: 'include', value: 'res1' },
132
- { type: 'resource', op: 'include', value: 'res2' },
133
- { type: 'tool', op: 'include', value: 'tool1' },
134
- { type: 'tool', op: 'include', value: 'tool2' },
135
- ] as Filter[]);
136
-
137
- cleanup();
138
- });
139
-
140
- it('should handle comma-separated values in array options', () => {
141
- const cleanup = mockArgv([
142
- '--tool=tool1,tool2',
143
- '--resource=res1,res2',
144
- '--capability=top-level-unions,valid-json,unions',
145
- ]);
146
-
147
- const result = parseOptions();
148
-
149
- expect(result.filters).toEqual([
150
- { type: 'resource', op: 'include', value: 'res1' },
151
- { type: 'resource', op: 'include', value: 'res2' },
152
- { type: 'tool', op: 'include', value: 'tool1' },
153
- { type: 'tool', op: 'include', value: 'tool2' },
154
- ] as Filter[]);
155
-
156
- expect(result.capabilities).toEqual({
157
- topLevelUnions: true,
158
- validJson: true,
159
- refs: true,
160
- unions: true,
161
- formats: true,
162
- toolNameLength: undefined,
163
- });
164
-
165
- cleanup();
166
- });
167
-
168
- it('should handle invalid tool-name-length format', () => {
169
- const cleanup = mockArgv(['--capability=tool-name-length=invalid']);
170
-
171
- // Mock console.error to prevent output during test
172
- const originalError = console.error;
173
- console.error = jest.fn();
174
-
175
- expect(() => parseOptions()).toThrow();
176
-
177
- console.error = originalError;
178
- cleanup();
179
- });
180
-
181
- it('should handle unknown capability', () => {
182
- const cleanup = mockArgv(['--capability=unknown-capability']);
183
-
184
- // Mock console.error to prevent output during test
185
- const originalError = console.error;
186
- console.error = jest.fn();
187
-
188
- expect(() => parseOptions()).toThrow();
189
-
190
- console.error = originalError;
191
- cleanup();
192
- });
193
- });