@grc-claw/integration-marketplace 0.8.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 (311) hide show
  1. package/dist/IntegrationMarketplace.d.ts +32 -0
  2. package/dist/IntegrationMarketplace.js +319 -0
  3. package/dist/connectors/ADPConnector.d.ts +12 -0
  4. package/dist/connectors/ADPConnector.js +97 -0
  5. package/dist/connectors/AWSCloudTrailConnector.d.ts +12 -0
  6. package/dist/connectors/AWSCloudTrailConnector.js +77 -0
  7. package/dist/connectors/AWSCloudWatchConnector.d.ts +12 -0
  8. package/dist/connectors/AWSCloudWatchConnector.js +70 -0
  9. package/dist/connectors/AWSGuardDutyConnector.d.ts +12 -0
  10. package/dist/connectors/AWSGuardDutyConnector.js +139 -0
  11. package/dist/connectors/AWSIAMConnector.d.ts +12 -0
  12. package/dist/connectors/AWSIAMConnector.js +90 -0
  13. package/dist/connectors/AWSKMSConnector.d.ts +12 -0
  14. package/dist/connectors/AWSKMSConnector.js +70 -0
  15. package/dist/connectors/AWSLambdaConnector.d.ts +12 -0
  16. package/dist/connectors/AWSLambdaConnector.js +84 -0
  17. package/dist/connectors/AWSRDSConnector.d.ts +12 -0
  18. package/dist/connectors/AWSRDSConnector.js +84 -0
  19. package/dist/connectors/AWSS3Connector.d.ts +12 -0
  20. package/dist/connectors/AWSS3Connector.js +112 -0
  21. package/dist/connectors/AkamaiConnector.d.ts +12 -0
  22. package/dist/connectors/AkamaiConnector.js +98 -0
  23. package/dist/connectors/ArgoCDConnector.d.ts +12 -0
  24. package/dist/connectors/ArgoCDConnector.js +93 -0
  25. package/dist/connectors/ArtifactoryConnector.d.ts +12 -0
  26. package/dist/connectors/ArtifactoryConnector.js +94 -0
  27. package/dist/connectors/AtlassianJiraConnector.d.ts +12 -0
  28. package/dist/connectors/AtlassianJiraConnector.js +134 -0
  29. package/dist/connectors/Auth0Connector.d.ts +12 -0
  30. package/dist/connectors/Auth0Connector.js +150 -0
  31. package/dist/connectors/AzureADConnector.d.ts +12 -0
  32. package/dist/connectors/AzureADConnector.js +115 -0
  33. package/dist/connectors/AzureDevOpsConnector.d.ts +12 -0
  34. package/dist/connectors/AzureDevOpsConnector.js +130 -0
  35. package/dist/connectors/AzureDevOpsPipelinesConnector.d.ts +12 -0
  36. package/dist/connectors/AzureDevOpsPipelinesConnector.js +72 -0
  37. package/dist/connectors/AzurePipelinesConnector.d.ts +12 -0
  38. package/dist/connectors/AzurePipelinesConnector.js +72 -0
  39. package/dist/connectors/AzurePolicyConnector.d.ts +12 -0
  40. package/dist/connectors/AzurePolicyConnector.js +141 -0
  41. package/dist/connectors/AzureReposConnector.d.ts +12 -0
  42. package/dist/connectors/AzureReposConnector.js +96 -0
  43. package/dist/connectors/AzureSentinelConnector.d.ts +12 -0
  44. package/dist/connectors/AzureSentinelConnector.js +88 -0
  45. package/dist/connectors/BambooCICDConnector.d.ts +12 -0
  46. package/dist/connectors/BambooCICDConnector.js +72 -0
  47. package/dist/connectors/BambooHRConnector.d.ts +12 -0
  48. package/dist/connectors/BambooHRConnector.js +84 -0
  49. package/dist/connectors/BeyondTrustConnector.d.ts +12 -0
  50. package/dist/connectors/BeyondTrustConnector.js +94 -0
  51. package/dist/connectors/BitbucketConnector.d.ts +12 -0
  52. package/dist/connectors/BitbucketConnector.js +100 -0
  53. package/dist/connectors/BitbucketPipelinesConnector.d.ts +12 -0
  54. package/dist/connectors/BitbucketPipelinesConnector.js +72 -0
  55. package/dist/connectors/BoxConnector.d.ts +12 -0
  56. package/dist/connectors/BoxConnector.js +122 -0
  57. package/dist/connectors/BuildkiteConnector.d.ts +12 -0
  58. package/dist/connectors/BuildkiteConnector.js +95 -0
  59. package/dist/connectors/CarbonBlackConnector.d.ts +12 -0
  60. package/dist/connectors/CarbonBlackConnector.js +89 -0
  61. package/dist/connectors/CassandraConnector.d.ts +12 -0
  62. package/dist/connectors/CassandraConnector.js +69 -0
  63. package/dist/connectors/CheckPointConnector.d.ts +12 -0
  64. package/dist/connectors/CheckPointConnector.js +98 -0
  65. package/dist/connectors/CircleCIConnector.d.ts +12 -0
  66. package/dist/connectors/CircleCIConnector.js +129 -0
  67. package/dist/connectors/CircleCIConnectorsConnector.d.ts +12 -0
  68. package/dist/connectors/CircleCIConnectorsConnector.js +69 -0
  69. package/dist/connectors/CiscoUmbrellaConnector.d.ts +12 -0
  70. package/dist/connectors/CiscoUmbrellaConnector.js +96 -0
  71. package/dist/connectors/CloudBeesJenkinsConnector.d.ts +12 -0
  72. package/dist/connectors/CloudBeesJenkinsConnector.js +70 -0
  73. package/dist/connectors/CloudflareDNSConnector.d.ts +12 -0
  74. package/dist/connectors/CloudflareDNSConnector.js +71 -0
  75. package/dist/connectors/CloudflareWAFConnector.d.ts +12 -0
  76. package/dist/connectors/CloudflareWAFConnector.js +98 -0
  77. package/dist/connectors/ConfluenceConnector.d.ts +12 -0
  78. package/dist/connectors/ConfluenceConnector.js +101 -0
  79. package/dist/connectors/ConstantContactConnector.d.ts +12 -0
  80. package/dist/connectors/ConstantContactConnector.js +70 -0
  81. package/dist/connectors/CouchDBConnector.d.ts +12 -0
  82. package/dist/connectors/CouchDBConnector.js +69 -0
  83. package/dist/connectors/CrowdStrikeConnector.d.ts +12 -0
  84. package/dist/connectors/CrowdStrikeConnector.js +86 -0
  85. package/dist/connectors/CrowdStrikeFalconConnector.d.ts +12 -0
  86. package/dist/connectors/CrowdStrikeFalconConnector.js +92 -0
  87. package/dist/connectors/CrowdStrikeSpotlightConnector.d.ts +12 -0
  88. package/dist/connectors/CrowdStrikeSpotlightConnector.js +139 -0
  89. package/dist/connectors/CyberArkConnector.d.ts +12 -0
  90. package/dist/connectors/CyberArkConnector.js +95 -0
  91. package/dist/connectors/DatabricksConnector.d.ts +12 -0
  92. package/dist/connectors/DatabricksConnector.js +95 -0
  93. package/dist/connectors/DatadogConnector.d.ts +12 -0
  94. package/dist/connectors/DatadogConnector.js +110 -0
  95. package/dist/connectors/DigitalOceanConnector.d.ts +12 -0
  96. package/dist/connectors/DigitalOceanConnector.js +85 -0
  97. package/dist/connectors/DiscordConnector.d.ts +12 -0
  98. package/dist/connectors/DiscordConnector.js +98 -0
  99. package/dist/connectors/DockerHubConnector.d.ts +12 -0
  100. package/dist/connectors/DockerHubConnector.js +80 -0
  101. package/dist/connectors/DocuSignConnector.d.ts +12 -0
  102. package/dist/connectors/DocuSignConnector.js +96 -0
  103. package/dist/connectors/DriftConnector.d.ts +12 -0
  104. package/dist/connectors/DriftConnector.js +69 -0
  105. package/dist/connectors/DropboxConnector.d.ts +12 -0
  106. package/dist/connectors/DropboxConnector.js +127 -0
  107. package/dist/connectors/ESETConnector.d.ts +12 -0
  108. package/dist/connectors/ESETConnector.js +70 -0
  109. package/dist/connectors/ElasticsearchCloudConnector.d.ts +12 -0
  110. package/dist/connectors/ElasticsearchCloudConnector.js +70 -0
  111. package/dist/connectors/FSecureConnector.d.ts +12 -0
  112. package/dist/connectors/FSecureConnector.js +70 -0
  113. package/dist/connectors/FeatureFlagConnector.d.ts +12 -0
  114. package/dist/connectors/FeatureFlagConnector.js +70 -0
  115. package/dist/connectors/FluxCDConnector.d.ts +12 -0
  116. package/dist/connectors/FluxCDConnector.js +94 -0
  117. package/dist/connectors/ForgeRockConnector.d.ts +12 -0
  118. package/dist/connectors/ForgeRockConnector.js +95 -0
  119. package/dist/connectors/FortinetConnector.d.ts +12 -0
  120. package/dist/connectors/FortinetConnector.js +98 -0
  121. package/dist/connectors/FreshdeskConnector.d.ts +12 -0
  122. package/dist/connectors/FreshdeskConnector.js +71 -0
  123. package/dist/connectors/GCPBigQueryConnector.d.ts +12 -0
  124. package/dist/connectors/GCPBigQueryConnector.js +71 -0
  125. package/dist/connectors/GCPComputeConnector.d.ts +12 -0
  126. package/dist/connectors/GCPComputeConnector.js +87 -0
  127. package/dist/connectors/GCPConfigConnector.d.ts +12 -0
  128. package/dist/connectors/GCPConfigConnector.js +149 -0
  129. package/dist/connectors/GCPFirestoreConnector.d.ts +12 -0
  130. package/dist/connectors/GCPFirestoreConnector.js +71 -0
  131. package/dist/connectors/GCPIAMConnector.d.ts +12 -0
  132. package/dist/connectors/GCPIAMConnector.js +98 -0
  133. package/dist/connectors/GCPSCCConnector.d.ts +12 -0
  134. package/dist/connectors/GCPSCCConnector.js +94 -0
  135. package/dist/connectors/GitHubActionsConnector.d.ts +12 -0
  136. package/dist/connectors/GitHubActionsConnector.js +104 -0
  137. package/dist/connectors/GitHubConnector.d.ts +12 -0
  138. package/dist/connectors/GitHubConnector.js +135 -0
  139. package/dist/connectors/GitHubCopilotConnector.d.ts +12 -0
  140. package/dist/connectors/GitHubCopilotConnector.js +72 -0
  141. package/dist/connectors/GitLabCIConnector.d.ts +12 -0
  142. package/dist/connectors/GitLabCIConnector.js +71 -0
  143. package/dist/connectors/GitLabConnector.d.ts +12 -0
  144. package/dist/connectors/GitLabConnector.js +101 -0
  145. package/dist/connectors/GitLabSASTConnector.d.ts +12 -0
  146. package/dist/connectors/GitLabSASTConnector.js +130 -0
  147. package/dist/connectors/GoogleWorkspaceConnector.d.ts +12 -0
  148. package/dist/connectors/GoogleWorkspaceConnector.js +136 -0
  149. package/dist/connectors/HelmConnector.d.ts +12 -0
  150. package/dist/connectors/HelmConnector.js +94 -0
  151. package/dist/connectors/HubSpotConnector.d.ts +12 -0
  152. package/dist/connectors/HubSpotConnector.js +77 -0
  153. package/dist/connectors/IFTTTConnector.d.ts +12 -0
  154. package/dist/connectors/IFTTTConnector.js +70 -0
  155. package/dist/connectors/ImpervaConnector.d.ts +12 -0
  156. package/dist/connectors/ImpervaConnector.js +94 -0
  157. package/dist/connectors/InfluxDBConnector.d.ts +12 -0
  158. package/dist/connectors/InfluxDBConnector.js +70 -0
  159. package/dist/connectors/IntercomConnector.d.ts +12 -0
  160. package/dist/connectors/IntercomConnector.js +69 -0
  161. package/dist/connectors/JenkinsConnector.d.ts +12 -0
  162. package/dist/connectors/JenkinsConnector.js +96 -0
  163. package/dist/connectors/JiraConnector.d.ts +12 -0
  164. package/dist/connectors/JiraConnector.js +103 -0
  165. package/dist/connectors/KafkaConnector.d.ts +12 -0
  166. package/dist/connectors/KafkaConnector.js +70 -0
  167. package/dist/connectors/KasperskyConnector.d.ts +12 -0
  168. package/dist/connectors/KasperskyConnector.js +70 -0
  169. package/dist/connectors/KubernetesConnector.d.ts +12 -0
  170. package/dist/connectors/KubernetesConnector.js +109 -0
  171. package/dist/connectors/LaceworkConnector.d.ts +13 -0
  172. package/dist/connectors/LaceworkConnector.js +143 -0
  173. package/dist/connectors/LaunchDarklyConnector.d.ts +12 -0
  174. package/dist/connectors/LaunchDarklyConnector.js +86 -0
  175. package/dist/connectors/LinodeConnector.d.ts +12 -0
  176. package/dist/connectors/LinodeConnector.js +70 -0
  177. package/dist/connectors/LookerConnector.d.ts +12 -0
  178. package/dist/connectors/LookerConnector.js +94 -0
  179. package/dist/connectors/MailchimpConnector.d.ts +12 -0
  180. package/dist/connectors/MailchimpConnector.js +71 -0
  181. package/dist/connectors/MalwarebytesConnector.d.ts +12 -0
  182. package/dist/connectors/MalwarebytesConnector.js +85 -0
  183. package/dist/connectors/McAfeeConnector.d.ts +12 -0
  184. package/dist/connectors/McAfeeConnector.js +85 -0
  185. package/dist/connectors/Microsoft365Connector.d.ts +12 -0
  186. package/dist/connectors/Microsoft365Connector.js +139 -0
  187. package/dist/connectors/MongoDBConnector.d.ts +12 -0
  188. package/dist/connectors/MongoDBConnector.js +86 -0
  189. package/dist/connectors/NamelyConnector.d.ts +12 -0
  190. package/dist/connectors/NamelyConnector.js +97 -0
  191. package/dist/connectors/Neo4jConnector.d.ts +12 -0
  192. package/dist/connectors/Neo4jConnector.js +70 -0
  193. package/dist/connectors/NetSuiteConnector.d.ts +12 -0
  194. package/dist/connectors/NetSuiteConnector.js +94 -0
  195. package/dist/connectors/NetskopeConnector.d.ts +12 -0
  196. package/dist/connectors/NetskopeConnector.js +98 -0
  197. package/dist/connectors/NexusConnector.d.ts +12 -0
  198. package/dist/connectors/NexusConnector.js +93 -0
  199. package/dist/connectors/NotionConnector.d.ts +12 -0
  200. package/dist/connectors/NotionConnector.js +109 -0
  201. package/dist/connectors/OktaConnector.d.ts +12 -0
  202. package/dist/connectors/OktaConnector.js +123 -0
  203. package/dist/connectors/OktaSystemLogConnector.d.ts +12 -0
  204. package/dist/connectors/OktaSystemLogConnector.js +129 -0
  205. package/dist/connectors/OpsgenieConnector.d.ts +12 -0
  206. package/dist/connectors/OpsgenieConnector.js +70 -0
  207. package/dist/connectors/PagerDutyConnector.d.ts +12 -0
  208. package/dist/connectors/PagerDutyConnector.js +106 -0
  209. package/dist/connectors/PalantirConnector.d.ts +12 -0
  210. package/dist/connectors/PalantirConnector.js +95 -0
  211. package/dist/connectors/PaloAltoPrismaCloudConnector.d.ts +12 -0
  212. package/dist/connectors/PaloAltoPrismaCloudConnector.js +110 -0
  213. package/dist/connectors/PingFederateConnector.d.ts +12 -0
  214. package/dist/connectors/PingFederateConnector.js +97 -0
  215. package/dist/connectors/PostgreSQLCloudConnector.d.ts +12 -0
  216. package/dist/connectors/PostgreSQLCloudConnector.js +70 -0
  217. package/dist/connectors/PowerBIConnector.d.ts +12 -0
  218. package/dist/connectors/PowerBIConnector.js +95 -0
  219. package/dist/connectors/PrismaCloudConnector.d.ts +12 -0
  220. package/dist/connectors/PrismaCloudConnector.js +147 -0
  221. package/dist/connectors/QualysConnector.d.ts +12 -0
  222. package/dist/connectors/QualysConnector.js +96 -0
  223. package/dist/connectors/QualysScannerConnector.d.ts +12 -0
  224. package/dist/connectors/QualysScannerConnector.js +131 -0
  225. package/dist/connectors/QuickBooksConnector.d.ts +12 -0
  226. package/dist/connectors/QuickBooksConnector.js +97 -0
  227. package/dist/connectors/RabbitMQConnector.d.ts +12 -0
  228. package/dist/connectors/RabbitMQConnector.js +69 -0
  229. package/dist/connectors/RadwareConnector.d.ts +12 -0
  230. package/dist/connectors/RadwareConnector.js +94 -0
  231. package/dist/connectors/RedisCloudConnector.d.ts +12 -0
  232. package/dist/connectors/RedisCloudConnector.js +70 -0
  233. package/dist/connectors/RingCentralConnector.d.ts +12 -0
  234. package/dist/connectors/RingCentralConnector.js +94 -0
  235. package/dist/connectors/SAPSuccessFactorsConnector.d.ts +12 -0
  236. package/dist/connectors/SAPSuccessFactorsConnector.js +103 -0
  237. package/dist/connectors/SailPointConnector.d.ts +12 -0
  238. package/dist/connectors/SailPointConnector.js +97 -0
  239. package/dist/connectors/SalesforceConnector.d.ts +12 -0
  240. package/dist/connectors/SalesforceConnector.js +91 -0
  241. package/dist/connectors/SendGridConnector.d.ts +12 -0
  242. package/dist/connectors/SendGridConnector.js +69 -0
  243. package/dist/connectors/SentinelOneConnector.d.ts +12 -0
  244. package/dist/connectors/SentinelOneConnector.js +89 -0
  245. package/dist/connectors/ServiceNowConnector.d.ts +12 -0
  246. package/dist/connectors/ServiceNowConnector.js +123 -0
  247. package/dist/connectors/SlackConnector.d.ts +12 -0
  248. package/dist/connectors/SlackConnector.js +109 -0
  249. package/dist/connectors/SnowflakeConnector.d.ts +12 -0
  250. package/dist/connectors/SnowflakeConnector.js +105 -0
  251. package/dist/connectors/SnykConnector.d.ts +12 -0
  252. package/dist/connectors/SnykConnector.js +84 -0
  253. package/dist/connectors/SnykMonitorConnector.d.ts +12 -0
  254. package/dist/connectors/SnykMonitorConnector.js +131 -0
  255. package/dist/connectors/SophosConnector.d.ts +12 -0
  256. package/dist/connectors/SophosConnector.js +87 -0
  257. package/dist/connectors/SpinnakerConnector.d.ts +12 -0
  258. package/dist/connectors/SpinnakerConnector.js +70 -0
  259. package/dist/connectors/SplunkConnector.d.ts +12 -0
  260. package/dist/connectors/SplunkConnector.js +126 -0
  261. package/dist/connectors/StripeConnector.d.ts +12 -0
  262. package/dist/connectors/StripeConnector.js +97 -0
  263. package/dist/connectors/TableauConnector.d.ts +12 -0
  264. package/dist/connectors/TableauConnector.js +101 -0
  265. package/dist/connectors/TaniumConnector.d.ts +12 -0
  266. package/dist/connectors/TaniumConnector.js +97 -0
  267. package/dist/connectors/TeamCityConnector.d.ts +12 -0
  268. package/dist/connectors/TeamCityConnector.js +71 -0
  269. package/dist/connectors/TeamsConnector.d.ts +12 -0
  270. package/dist/connectors/TeamsConnector.js +96 -0
  271. package/dist/connectors/TenableIOConnector.d.ts +12 -0
  272. package/dist/connectors/TenableIOConnector.js +130 -0
  273. package/dist/connectors/TerraformCloudConnector.d.ts +12 -0
  274. package/dist/connectors/TerraformCloudConnector.js +106 -0
  275. package/dist/connectors/TravisCIConnector.d.ts +12 -0
  276. package/dist/connectors/TravisCIConnector.js +95 -0
  277. package/dist/connectors/TrendMicroConnector.d.ts +12 -0
  278. package/dist/connectors/TrendMicroConnector.js +85 -0
  279. package/dist/connectors/TwilioConnector.d.ts +12 -0
  280. package/dist/connectors/TwilioConnector.js +70 -0
  281. package/dist/connectors/VercelConnector.d.ts +12 -0
  282. package/dist/connectors/VercelConnector.js +70 -0
  283. package/dist/connectors/VultrConnector.d.ts +12 -0
  284. package/dist/connectors/VultrConnector.js +70 -0
  285. package/dist/connectors/WebexConnector.d.ts +12 -0
  286. package/dist/connectors/WebexConnector.js +94 -0
  287. package/dist/connectors/WizConnector.d.ts +12 -0
  288. package/dist/connectors/WizConnector.js +172 -0
  289. package/dist/connectors/WorkdayConnector.d.ts +12 -0
  290. package/dist/connectors/WorkdayConnector.js +100 -0
  291. package/dist/connectors/XeroConnector.d.ts +12 -0
  292. package/dist/connectors/XeroConnector.js +96 -0
  293. package/dist/connectors/ZapierConnector.d.ts +12 -0
  294. package/dist/connectors/ZapierConnector.js +70 -0
  295. package/dist/connectors/ZendeskConnector.d.ts +12 -0
  296. package/dist/connectors/ZendeskConnector.js +71 -0
  297. package/dist/connectors/ZenefitsConnector.d.ts +12 -0
  298. package/dist/connectors/ZenefitsConnector.js +93 -0
  299. package/dist/connectors/ZoomConnector.d.ts +12 -0
  300. package/dist/connectors/ZoomConnector.js +97 -0
  301. package/dist/connectors/ZscalerConnector.d.ts +12 -0
  302. package/dist/connectors/ZscalerConnector.js +97 -0
  303. package/dist/connectors/index.d.ts +150 -0
  304. package/dist/connectors/index.js +157 -0
  305. package/dist/index.d.ts +5 -0
  306. package/dist/index.js +16 -0
  307. package/dist/index.test.d.ts +1 -0
  308. package/dist/index.test.js +139 -0
  309. package/dist/types.d.ts +57 -0
  310. package/dist/types.js +8 -0
  311. package/package.json +33 -0
@@ -0,0 +1,95 @@
1
+ import { hashEvidence, generateEvidenceId } from "../types.js";
2
+ const capabilities = [
3
+ {
4
+ id: "powerbi-workspaces",
5
+ name: "Workspace Access",
6
+ description: "Fetch workspace membership and role assignments",
7
+ evidenceCategories: ["access_control", "configuration"],
8
+ },
9
+ {
10
+ id: "powerbi-datasets",
11
+ name: "Dataset Governance",
12
+ description: "Fetch dataset sensitivity labels and certification status",
13
+ evidenceCategories: ["data_protection", "compliance"],
14
+ },
15
+ {
16
+ id: "powerbi-gateway",
17
+ name: "On-Premises Gateway",
18
+ description: "Fetch gateway cluster status and data source credentials",
19
+ evidenceCategories: ["access_control", "data_protection"],
20
+ },
21
+ {
22
+ id: "powerbi-admin",
23
+ name: "Admin API",
24
+ description: "Fetch activity logs and tenant settings",
25
+ evidenceCategories: ["monitoring", "configuration"],
26
+ },
27
+ ];
28
+ export class PowerBIConnector {
29
+ id = "powerbi";
30
+ name = "Microsoft Power BI";
31
+ category = "data_warehouse";
32
+ authType = "oauth2";
33
+ capabilities = capabilities;
34
+ frameworks = [
35
+ "SOC2",
36
+ "ISO27001",
37
+ "NIST_CSF",
38
+ "HIPAA",
39
+ "GDPR",
40
+ ];
41
+ async fetchApi(config, endpoint) {
42
+ const base = config.baseUrl || "https://api.powerbi.com/v1.0/myorg";
43
+ const resp = await fetch(`${base}${endpoint}`, {
44
+ headers: {
45
+ Authorization: `Bearer ${config.apiToken}`,
46
+ "Content-Type": "application/json",
47
+ },
48
+ });
49
+ if (!resp.ok)
50
+ throw new Error(`Power BI API ${resp.status}: ${resp.statusText}`);
51
+ return (await resp.json());
52
+ }
53
+ async testConnection(config) {
54
+ try {
55
+ await this.fetchApi(config, "/groups");
56
+ return true;
57
+ }
58
+ catch {
59
+ return false;
60
+ }
61
+ }
62
+ async collectEvidence(config) {
63
+ const artifacts = [];
64
+ const now = new Date().toISOString();
65
+ const groups = await this.fetchApi(config, "/groups").catch(() => ({ value: [] }));
66
+ artifacts.push({
67
+ id: generateEvidenceId(),
68
+ connectorId: this.id,
69
+ capabilityId: "powerbi-workspaces",
70
+ timestamp: now,
71
+ hash: hashEvidence(groups),
72
+ framework: "SOC2",
73
+ controlId: "CC6.1",
74
+ source: "powerbi/groups",
75
+ status: groups.value?.length > 0 ? "compliant" : "unknown",
76
+ data: { workspaceCount: groups.value?.length || 0 },
77
+ metadata: {},
78
+ });
79
+ const datasets = await this.fetchApi(config, "/datasets").catch(() => ({ value: [] }));
80
+ artifacts.push({
81
+ id: generateEvidenceId(),
82
+ connectorId: this.id,
83
+ capabilityId: "powerbi-datasets",
84
+ timestamp: now,
85
+ hash: hashEvidence(datasets),
86
+ framework: "ISO27001",
87
+ controlId: "A.8.3.1",
88
+ source: "powerbi/datasets",
89
+ status: datasets.value?.length > 0 ? "compliant" : "non_compliant",
90
+ data: { datasetCount: datasets.value?.length || 0 },
91
+ metadata: {},
92
+ });
93
+ return artifacts;
94
+ }
95
+ }
@@ -0,0 +1,12 @@
1
+ import type { IntegrationConnector, ConnectorConfig, EvidenceArtifact, IntegrationCapability, ComplianceFramework } from "../types.js";
2
+ export declare class PrismaCloudConnector implements IntegrationConnector {
3
+ readonly id = "prisma_cloud";
4
+ readonly name = "Prisma Cloud";
5
+ readonly category: "cloud_provider";
6
+ readonly authType: "api_key";
7
+ readonly capabilities: IntegrationCapability[];
8
+ readonly frameworks: ComplianceFramework[];
9
+ private getToken;
10
+ testConnection(config: ConnectorConfig): Promise<boolean>;
11
+ collectEvidence(config: ConnectorConfig): Promise<EvidenceArtifact[]>;
12
+ }
@@ -0,0 +1,147 @@
1
+ import { hashEvidence, generateEvidenceId } from "../types.js";
2
+ const capabilities = [
3
+ {
4
+ id: "prisma-alerts",
5
+ name: "Security Alerts",
6
+ description: "Fetch Prisma Cloud security alerts and policy violations",
7
+ evidenceCategories: ["vulnerability_management", "threat_detection"],
8
+ },
9
+ {
10
+ id: "prisma-compliance",
11
+ name: "Compliance Reports",
12
+ description: "Fetch compliance posture across cloud accounts and frameworks",
13
+ evidenceCategories: ["compliance", "configuration"],
14
+ },
15
+ {
16
+ id: "prisma-cloud-assets",
17
+ name: "Cloud Asset Inventory",
18
+ description: "Fetch discovered cloud assets and misconfigurations",
19
+ evidenceCategories: ["asset_management", "configuration"],
20
+ },
21
+ {
22
+ id: "prisma-network",
23
+ name: "Network Security",
24
+ description: "Fetch network exposure and security group findings",
25
+ evidenceCategories: ["network_security", "configuration"],
26
+ },
27
+ ];
28
+ export class PrismaCloudConnector {
29
+ id = "prisma_cloud";
30
+ name = "Prisma Cloud";
31
+ category = "cloud_provider";
32
+ authType = "api_key";
33
+ capabilities = capabilities;
34
+ frameworks = [
35
+ "SOC2",
36
+ "ISO27001",
37
+ "NIST_CSF",
38
+ "PCI_DSS",
39
+ "HIPAA",
40
+ "CIS",
41
+ ];
42
+ async getToken(config) {
43
+ const base = config.baseUrl || "https://api.prismacloud.io";
44
+ const resp = await fetch(`${base}/login`, {
45
+ method: "POST",
46
+ headers: { "Content-Type": "application/json" },
47
+ body: JSON.stringify({
48
+ username: config.clientId,
49
+ password: config.clientSecret,
50
+ }),
51
+ });
52
+ const data = (await resp.json());
53
+ return data.token;
54
+ }
55
+ async testConnection(config) {
56
+ try {
57
+ const token = await this.getToken(config);
58
+ const base = config.baseUrl || "https://api.prismacloud.io";
59
+ const resp = await fetch(`${base}/api/v1/policy`, {
60
+ headers: { Authorization: `Bearer ${token}` },
61
+ });
62
+ return resp.ok;
63
+ }
64
+ catch {
65
+ return false;
66
+ }
67
+ }
68
+ async collectEvidence(config) {
69
+ const artifacts = [];
70
+ const now = new Date().toISOString();
71
+ const token = await this.getToken(config);
72
+ const base = config.baseUrl || "https://api.prismacloud.io";
73
+ const headers = { Authorization: `Bearer ${token}` };
74
+ const cloudAccount = config.extra?.cloudAccount || "default";
75
+ const alerts = await fetch(`${base}/api/v1/alert?timeRange.amount=7&timeRange.unit=day&status=open`, { headers })
76
+ .then((r) => r.json())
77
+ .catch(() => ({ items: [] }));
78
+ const alertItems = Array.isArray(alerts.items) ? alerts.items : [];
79
+ const criticalAlerts = alertItems.filter((a) => a.severity === "high" || a.severity === "critical");
80
+ artifacts.push({
81
+ id: generateEvidenceId(),
82
+ connectorId: this.id,
83
+ capabilityId: "prisma-alerts",
84
+ timestamp: now,
85
+ hash: hashEvidence({ count: alertItems.length }),
86
+ framework: "SOC2",
87
+ controlId: "CC7.2",
88
+ source: `prisma/${cloudAccount}/alerts`,
89
+ status: criticalAlerts.length === 0 ? "compliant" : "non_compliant",
90
+ data: { totalAlerts: alertItems.length, criticalHigh: criticalAlerts.length },
91
+ metadata: { cloudAccount },
92
+ });
93
+ const compliance = await fetch(`${base}/api/v1/compliance/posture?cloudType=aws,azure,gcp`, { headers })
94
+ .then((r) => r.json())
95
+ .catch(() => ({ items: [] }));
96
+ const compItems = Array.isArray(compliance.items) ? compliance.items : [];
97
+ artifacts.push({
98
+ id: generateEvidenceId(),
99
+ connectorId: this.id,
100
+ capabilityId: "prisma-compliance",
101
+ timestamp: now,
102
+ hash: hashEvidence({ count: compItems.length }),
103
+ framework: "ISO27001",
104
+ controlId: "A.12.1.1",
105
+ source: `prisma/${cloudAccount}/compliance`,
106
+ status: compItems.length > 0 ? "compliant" : "partial",
107
+ data: { complianceStandards: compItems.length },
108
+ metadata: { cloudAccount },
109
+ });
110
+ const assets = await fetch(`${base}/api/v1/resource?cloudType=aws,azure,gcp&limit=100`, { headers })
111
+ .then((r) => r.json())
112
+ .catch(() => ({ items: [] }));
113
+ const assetItems = Array.isArray(assets.items) ? assets.items : [];
114
+ const misconfigured = assetItems.filter((a) => a.hasMisconfig === true);
115
+ artifacts.push({
116
+ id: generateEvidenceId(),
117
+ connectorId: this.id,
118
+ capabilityId: "prisma-cloud-assets",
119
+ timestamp: now,
120
+ hash: hashEvidence({ count: assetItems.length }),
121
+ framework: "NIST_CSF",
122
+ controlId: "ID.AM",
123
+ source: `prisma/${cloudAccount}/assets`,
124
+ status: misconfigured.length === 0 ? "compliant" : "non_compliant",
125
+ data: { totalAssets: assetItems.length, misconfigured: misconfigured.length },
126
+ metadata: { cloudAccount },
127
+ });
128
+ const network = await fetch(`${base}/api/v1/network/vpc?limit=50`, { headers })
129
+ .then((r) => r.json())
130
+ .catch(() => ({ items: [] }));
131
+ const networkItems = Array.isArray(network.items) ? network.items : [];
132
+ artifacts.push({
133
+ id: generateEvidenceId(),
134
+ connectorId: this.id,
135
+ capabilityId: "prisma-network",
136
+ timestamp: now,
137
+ hash: hashEvidence({ count: networkItems.length }),
138
+ framework: "PCI_DSS",
139
+ controlId: "1.2.1",
140
+ source: `prisma/${cloudAccount}/network`,
141
+ status: "compliant",
142
+ data: { vpcCount: networkItems.length },
143
+ metadata: { cloudAccount },
144
+ });
145
+ return artifacts;
146
+ }
147
+ }
@@ -0,0 +1,12 @@
1
+ import type { IntegrationConnector, ConnectorConfig, EvidenceArtifact, IntegrationCapability, ComplianceFramework } from "../types.js";
2
+ export declare class QualysConnector implements IntegrationConnector {
3
+ readonly id = "qualys";
4
+ readonly name = "Qualys";
5
+ readonly category: "vulnerability";
6
+ readonly authType: "basic_auth";
7
+ readonly capabilities: IntegrationCapability[];
8
+ readonly frameworks: ComplianceFramework[];
9
+ private fetchApi;
10
+ testConnection(config: ConnectorConfig): Promise<boolean>;
11
+ collectEvidence(config: ConnectorConfig): Promise<EvidenceArtifact[]>;
12
+ }
@@ -0,0 +1,96 @@
1
+ import { hashEvidence, generateEvidenceId } from "../types.js";
2
+ const capabilities = [
3
+ {
4
+ id: "qualys-vuln-scans",
5
+ name: "Vulnerability Scans",
6
+ description: "Fetch Qualys vulnerability scan results and host detections",
7
+ evidenceCategories: ["vulnerability_management"],
8
+ },
9
+ {
10
+ id: "qualys-compliance-scans",
11
+ name: "Compliance Scans",
12
+ description: "Fetch Qualys policy compliance scan results",
13
+ evidenceCategories: ["compliance", "configuration"],
14
+ },
15
+ ];
16
+ export class QualysConnector {
17
+ id = "qualys";
18
+ name = "Qualys";
19
+ category = "vulnerability";
20
+ authType = "basic_auth";
21
+ capabilities = capabilities;
22
+ frameworks = ["SOC2", "ISO27001", "PCI_DSS", "NIST_CSF"];
23
+ async fetchApi(config, endpoint, body) {
24
+ const base = config.baseUrl || "https://qualysapi.qualys.com";
25
+ const resp = await fetch(`${base}${endpoint}`, {
26
+ method: body ? "POST" : "GET",
27
+ headers: {
28
+ Authorization: `Basic ${Buffer.from(`${config.clientId}:${config.apiToken}`).toString("base64")}`,
29
+ "Content-Type": body ? "application/x-www-form-urlencoded" : "text/xml",
30
+ Accept: "application/json",
31
+ },
32
+ body,
33
+ });
34
+ if (!resp.ok)
35
+ throw new Error(`Qualys API ${resp.status}: ${resp.statusText}`);
36
+ return resp.text();
37
+ }
38
+ async testConnection(config) {
39
+ try {
40
+ await this.fetchApi(config, "/api/2.0/fo/user/?action=list");
41
+ return true;
42
+ }
43
+ catch {
44
+ return false;
45
+ }
46
+ }
47
+ async collectEvidence(config) {
48
+ const artifacts = [];
49
+ const now = new Date().toISOString();
50
+ const vulnScan = await this.fetchApi(config, "/api/2.0/fo/scan/?action=list&output_format=JSON&truncate_limit=100").catch(() => '{"response":{"scan_list":[]}}');
51
+ let vulnData = {};
52
+ try {
53
+ vulnData = JSON.parse(vulnScan);
54
+ }
55
+ catch {
56
+ vulnData = { raw: vulnScan.substring(0, 500) };
57
+ }
58
+ const scanList = vulnData.response?.scan_list || [];
59
+ artifacts.push({
60
+ id: generateEvidenceId(),
61
+ connectorId: this.id,
62
+ capabilityId: "qualys-vuln-scans",
63
+ timestamp: now,
64
+ hash: hashEvidence({ scanCount: Array.isArray(scanList) ? scanList.length : 0 }),
65
+ framework: "SOC2",
66
+ controlId: "CC7.1",
67
+ source: "qualys/scans",
68
+ status: "unknown",
69
+ data: { scanCount: Array.isArray(scanList) ? scanList.length : 0 },
70
+ metadata: {},
71
+ });
72
+ const compScan = await this.fetchApi(config, "/api/2.0/compliance_policy/?action=list&output_format=JSON").catch(() => '{"response":{"policy_list":[]}}');
73
+ let compData = {};
74
+ try {
75
+ compData = JSON.parse(compScan);
76
+ }
77
+ catch {
78
+ compData = { raw: compScan.substring(0, 500) };
79
+ }
80
+ const policyList = compData.response?.policy_list || [];
81
+ artifacts.push({
82
+ id: generateEvidenceId(),
83
+ connectorId: this.id,
84
+ capabilityId: "qualys-compliance-scans",
85
+ timestamp: now,
86
+ hash: hashEvidence({ policyCount: Array.isArray(policyList) ? policyList.length : 0 }),
87
+ framework: "ISO27001",
88
+ controlId: "A.12.6.1",
89
+ source: "qualys/compliance",
90
+ status: "unknown",
91
+ data: { policyCount: Array.isArray(policyList) ? policyList.length : 0 },
92
+ metadata: {},
93
+ });
94
+ return artifacts;
95
+ }
96
+ }
@@ -0,0 +1,12 @@
1
+ import type { IntegrationConnector, ConnectorConfig, EvidenceArtifact, IntegrationCapability, ComplianceFramework } from "../types.js";
2
+ export declare class QualysScannerConnector implements IntegrationConnector {
3
+ readonly id = "qualys_scanner";
4
+ readonly name = "Qualys Scanner";
5
+ readonly category: "vulnerability";
6
+ readonly authType: "basic_auth";
7
+ readonly capabilities: IntegrationCapability[];
8
+ readonly frameworks: ComplianceFramework[];
9
+ private fetchApi;
10
+ testConnection(config: ConnectorConfig): Promise<boolean>;
11
+ collectEvidence(config: ConnectorConfig): Promise<EvidenceArtifact[]>;
12
+ }
@@ -0,0 +1,131 @@
1
+ import { hashEvidence, generateEvidenceId } from "../types.js";
2
+ const capabilities = [
3
+ {
4
+ id: "qualys-scan-results",
5
+ name: "Vulnerability Scan Results",
6
+ description: "Fetch Qualys vulnerability scan results and QID findings",
7
+ evidenceCategories: ["vulnerability_management", "asset_management"],
8
+ },
9
+ {
10
+ id: "qualys-compliance",
11
+ name: "Policy Compliance",
12
+ description: "Fetch Qualys policy compliance scan results and benchmarks",
13
+ evidenceCategories: ["compliance", "configuration"],
14
+ },
15
+ {
16
+ id: "qualys-host-detection",
17
+ name: "Host Detection Results",
18
+ description: "Fetch host-based vulnerability detection results",
19
+ evidenceCategories: ["vulnerability_management", "asset_management"],
20
+ },
21
+ {
22
+ id: "qualys-scan-schedule",
23
+ name: "Scan Schedule Status",
24
+ description: "Fetch scheduled scan status and completion verification",
25
+ evidenceCategories: ["monitoring", "change_management"],
26
+ },
27
+ ];
28
+ export class QualysScannerConnector {
29
+ id = "qualys_scanner";
30
+ name = "Qualys Scanner";
31
+ category = "vulnerability";
32
+ authType = "basic_auth";
33
+ capabilities = capabilities;
34
+ frameworks = [
35
+ "SOC2",
36
+ "ISO27001",
37
+ "NIST_CSF",
38
+ "PCI_DSS",
39
+ "HIPAA",
40
+ ];
41
+ async fetchApi(config, endpoint, body) {
42
+ const base = config.baseUrl || "https://qualysapi.qualys.com";
43
+ const resp = await fetch(`${base}${endpoint}`, {
44
+ method: body ? "POST" : "GET",
45
+ headers: {
46
+ Authorization: `Basic ${Buffer.from(`${config.clientId}:${config.clientSecret}`).toString("base64")}`,
47
+ "Content-Type": body ? "application/x-www-form-urlencoded" : "application/json",
48
+ Accept: "application/json",
49
+ },
50
+ body,
51
+ });
52
+ if (!resp.ok)
53
+ throw new Error(`Qualys API ${resp.status}: ${resp.statusText}`);
54
+ return (await resp.json());
55
+ }
56
+ async testConnection(config) {
57
+ try {
58
+ await this.fetchApi(config, "/api/2.0/fo/asset/?action=list&output_format=JSON&limit=1");
59
+ return true;
60
+ }
61
+ catch {
62
+ return false;
63
+ }
64
+ }
65
+ async collectEvidence(config) {
66
+ const artifacts = [];
67
+ const now = new Date().toISOString();
68
+ const scanRef = config.extra?.scanRef || "";
69
+ const scanResults = await this.fetchApi(config, `/api/2.0/fo/scan/?action=list&output_format=JSON&limit=10`).catch(() => ({ scan_list: [] }));
70
+ const scans = Array.isArray(scanResults.scan_list) ? scanResults.scan_list : [];
71
+ artifacts.push({
72
+ id: generateEvidenceId(),
73
+ connectorId: this.id,
74
+ capabilityId: "qualys-scan-results",
75
+ timestamp: now,
76
+ hash: hashEvidence(scanResults),
77
+ framework: "SOC2",
78
+ controlId: "CC6.6",
79
+ source: "qualys/scan-results",
80
+ status: scans.length > 0 ? "compliant" : "partial",
81
+ data: { recentScans: scans.length },
82
+ metadata: { scanRef },
83
+ });
84
+ const compliance = await this.fetchApi(config, `/api/2.0/fo/compliance/policy/?action=list&output_format=JSON`).catch(() => ({ policy_list: [] }));
85
+ const policies = Array.isArray(compliance.policy_list) ? compliance.policy_list : [];
86
+ artifacts.push({
87
+ id: generateEvidenceId(),
88
+ connectorId: this.id,
89
+ capabilityId: "qualys-compliance",
90
+ timestamp: now,
91
+ hash: hashEvidence(compliance),
92
+ framework: "ISO27001",
93
+ controlId: "A.12.1.1",
94
+ source: "qualys/compliance-policies",
95
+ status: policies.length > 0 ? "compliant" : "partial",
96
+ data: { compliancePolicies: policies.length },
97
+ metadata: { scanRef },
98
+ });
99
+ const hosts = await this.fetchApi(config, `/api/2.0/fo/asset/?action=list&output_format=JSON&vm_scan_timestamp_after=${new Date(Date.now() - 7 * 86400000).toISOString().split("T")[0]}`).catch(() => ({ asset_list: [] }));
100
+ const hostList = Array.isArray(hosts.asset_list) ? hosts.asset_list : [];
101
+ artifacts.push({
102
+ id: generateEvidenceId(),
103
+ connectorId: this.id,
104
+ capabilityId: "qualys-host-detection",
105
+ timestamp: now,
106
+ hash: hashEvidence(hosts),
107
+ framework: "NIST_CSF",
108
+ controlId: "DE.CM",
109
+ source: "qualys/host-detections",
110
+ status: hostList.length > 0 ? "compliant" : "partial",
111
+ data: { scannedHosts: hostList.length },
112
+ metadata: { scanRef },
113
+ });
114
+ const schedule = await this.fetchApi(config, `/api/2.0/fo/scan/?action=list&output_format=JSON&state=Completed&limit=5`).catch(() => ({ scan_list: [] }));
115
+ const completedScans = Array.isArray(schedule.scan_list) ? schedule.scan_list : [];
116
+ artifacts.push({
117
+ id: generateEvidenceId(),
118
+ connectorId: this.id,
119
+ capabilityId: "qualys-scan-schedule",
120
+ timestamp: now,
121
+ hash: hashEvidence(schedule),
122
+ framework: "PCI_DSS",
123
+ controlId: "11.2",
124
+ source: "qualys/scan-schedule",
125
+ status: completedScans.length > 0 ? "compliant" : "non_compliant",
126
+ data: { completedRecentScans: completedScans.length },
127
+ metadata: { scanRef },
128
+ });
129
+ return artifacts;
130
+ }
131
+ }
@@ -0,0 +1,12 @@
1
+ import type { IntegrationConnector, ConnectorConfig, EvidenceArtifact, IntegrationCapability, ComplianceFramework } from "../types.js";
2
+ export declare class QuickBooksConnector implements IntegrationConnector {
3
+ readonly id = "quickbooks";
4
+ readonly name = "QuickBooks";
5
+ readonly category: "finance";
6
+ readonly authType: "oauth2";
7
+ readonly capabilities: IntegrationCapability[];
8
+ readonly frameworks: ComplianceFramework[];
9
+ private fetchApi;
10
+ testConnection(config: ConnectorConfig): Promise<boolean>;
11
+ collectEvidence(config: ConnectorConfig): Promise<EvidenceArtifact[]>;
12
+ }
@@ -0,0 +1,97 @@
1
+ import { hashEvidence, generateEvidenceId } from "../types.js";
2
+ const capabilities = [
3
+ {
4
+ id: "quickbooks-users",
5
+ name: "User Access",
6
+ description: "Fetch QuickBooks user roles and access permissions",
7
+ evidenceCategories: ["access_control", "configuration"],
8
+ },
9
+ {
10
+ id: "quickbooks-transactions",
11
+ name: "Transaction Audit",
12
+ description: "Fetch financial transaction logs and change history",
13
+ evidenceCategories: ["monitoring", "access_control"],
14
+ },
15
+ {
16
+ id: "quickbooks-classes",
17
+ name: "Class Tracking",
18
+ description: "Fetch class and department tracking configurations",
19
+ evidenceCategories: ["configuration", "compliance"],
20
+ },
21
+ {
22
+ id: "quickbooks-backup",
23
+ name: "Backup Status",
24
+ description: "Fetch automatic backup configurations and status",
25
+ evidenceCategories: ["data_protection", "configuration"],
26
+ },
27
+ ];
28
+ export class QuickBooksConnector {
29
+ id = "quickbooks";
30
+ name = "QuickBooks";
31
+ category = "finance";
32
+ authType = "oauth2";
33
+ capabilities = capabilities;
34
+ frameworks = [
35
+ "SOC2",
36
+ "ISO27001",
37
+ "NIST_CSF",
38
+ ];
39
+ async fetchApi(config, endpoint) {
40
+ const base = config.baseUrl || "https://quickbooks.api.intuit.com/v3";
41
+ const resp = await fetch(`${base}${endpoint}`, {
42
+ headers: {
43
+ Authorization: `Bearer ${config.apiToken}`,
44
+ Accept: "application/json",
45
+ },
46
+ });
47
+ if (!resp.ok)
48
+ throw new Error(`QuickBooks API ${resp.status}: ${resp.statusText}`);
49
+ return (await resp.json());
50
+ }
51
+ async testConnection(config) {
52
+ try {
53
+ await this.fetchApi(config, "/companyinfo/1?minorversion=65");
54
+ return true;
55
+ }
56
+ catch {
57
+ return false;
58
+ }
59
+ }
60
+ async collectEvidence(config) {
61
+ const artifacts = [];
62
+ const now = new Date().toISOString();
63
+ const companyId = config.extra?.companyId || "1";
64
+ const users = await this.fetchApi(config, `/company/${companyId}/users`).catch(() => ({ QueryResponse: { User: [] } }));
65
+ const userList = users;
66
+ const qr = userList.QueryResponse || {};
67
+ const userListArr = qr.User || [];
68
+ artifacts.push({
69
+ id: generateEvidenceId(),
70
+ connectorId: this.id,
71
+ capabilityId: "quickbooks-users",
72
+ timestamp: now,
73
+ hash: hashEvidence(users),
74
+ framework: "SOC2",
75
+ controlId: "CC6.1",
76
+ source: `quickbooks/${companyId}/users`,
77
+ status: userListArr.length > 0 ? "compliant" : "unknown",
78
+ data: { userCount: userListArr.length },
79
+ metadata: { companyId },
80
+ });
81
+ const company = await this.fetchApi(config, `/company/${companyId}/companyinfo/${companyId}`).catch(() => ({}));
82
+ artifacts.push({
83
+ id: generateEvidenceId(),
84
+ connectorId: this.id,
85
+ capabilityId: "quickbooks-classes",
86
+ timestamp: now,
87
+ hash: hashEvidence(company),
88
+ framework: "ISO27001",
89
+ controlId: "A.6.2.1",
90
+ source: `quickbooks/${companyId}/companyinfo`,
91
+ status: "partial",
92
+ data: company,
93
+ metadata: { companyId },
94
+ });
95
+ return artifacts;
96
+ }
97
+ }
@@ -0,0 +1,12 @@
1
+ import type { IntegrationConnector, ConnectorConfig, EvidenceArtifact, IntegrationCapability, ComplianceFramework } from "../types.js";
2
+ export declare class RabbitMQConnector implements IntegrationConnector {
3
+ readonly id = "rabbitmq";
4
+ readonly name = "RabbitMQ";
5
+ readonly category: "data_warehouse";
6
+ readonly authType: "api_key";
7
+ readonly capabilities: IntegrationCapability[];
8
+ readonly frameworks: ComplianceFramework[];
9
+ private fetchApi;
10
+ testConnection(config: ConnectorConfig): Promise<boolean>;
11
+ collectEvidence(config: ConnectorConfig): Promise<EvidenceArtifact[]>;
12
+ }