@diagc/cli 0.1.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 (874) hide show
  1. package/LICENSE +709 -0
  2. package/README.md +58 -0
  3. package/THIRD-PARTY-NOTICES.md +172 -0
  4. package/assets/studio/assets/caveat-cyrillic-500-normal-DLSfp5IU.woff +0 -0
  5. package/assets/studio/assets/caveat-cyrillic-500-normal-DpMZbbjM.woff2 +0 -0
  6. package/assets/studio/assets/caveat-cyrillic-700-normal-BIyejhEL.woff2 +0 -0
  7. package/assets/studio/assets/caveat-cyrillic-700-normal-Bhcx9qBB.woff +0 -0
  8. package/assets/studio/assets/caveat-cyrillic-ext-500-normal-DcrB4vVx.woff2 +0 -0
  9. package/assets/studio/assets/caveat-cyrillic-ext-500-normal-DqTXtm5N.woff +0 -0
  10. package/assets/studio/assets/caveat-cyrillic-ext-700-normal-CrK2-ngJ.woff2 +0 -0
  11. package/assets/studio/assets/caveat-cyrillic-ext-700-normal-DjFGiEhD.woff +0 -0
  12. package/assets/studio/assets/caveat-latin-500-normal-B9SDL8cy.woff2 +0 -0
  13. package/assets/studio/assets/caveat-latin-500-normal-Do9veZfZ.woff +0 -0
  14. package/assets/studio/assets/caveat-latin-700-normal-D8_1Nw6V.woff2 +0 -0
  15. package/assets/studio/assets/caveat-latin-700-normal-cPyBTTZN.woff +0 -0
  16. package/assets/studio/assets/caveat-latin-ext-500-normal-jKqJW7bC.woff2 +0 -0
  17. package/assets/studio/assets/caveat-latin-ext-500-normal-wUUXxlbS.woff +0 -0
  18. package/assets/studio/assets/caveat-latin-ext-700-normal-DFbRgDry.woff2 +0 -0
  19. package/assets/studio/assets/caveat-latin-ext-700-normal-DjJQd59I.woff +0 -0
  20. package/assets/studio/assets/index-BWKWtpKP.css +1 -0
  21. package/assets/studio/assets/index-Cz232yAT.js +108 -0
  22. package/assets/studio/assets/kalam-devanagari-400-normal-Dy6c0U2e.woff2 +0 -0
  23. package/assets/studio/assets/kalam-devanagari-400-normal-Dyzod-UE.woff +0 -0
  24. package/assets/studio/assets/kalam-devanagari-700-normal-B52CSkpd.woff +0 -0
  25. package/assets/studio/assets/kalam-devanagari-700-normal-BeU_-hjz.woff2 +0 -0
  26. package/assets/studio/assets/kalam-latin-400-normal-Bl-H2BUA.woff +0 -0
  27. package/assets/studio/assets/kalam-latin-400-normal-BthBl_aR.woff2 +0 -0
  28. package/assets/studio/assets/kalam-latin-700-normal-7TSuSrjP.woff +0 -0
  29. package/assets/studio/assets/kalam-latin-700-normal-D2H-9ISU.woff2 +0 -0
  30. package/assets/studio/assets/kalam-latin-ext-400-normal-AcQmRO9z.woff +0 -0
  31. package/assets/studio/assets/kalam-latin-ext-400-normal-DtcdGa4L.woff2 +0 -0
  32. package/assets/studio/assets/kalam-latin-ext-700-normal-BA-KJHgr.woff +0 -0
  33. package/assets/studio/assets/kalam-latin-ext-700-normal-CwgfRD_T.woff2 +0 -0
  34. package/assets/studio/index.html +13 -0
  35. package/assets/studio/library/aws/amazon-api-gateway.svg +1 -0
  36. package/assets/studio/library/aws/amazon-appflow.svg +1 -0
  37. package/assets/studio/library/aws/amazon-application-recovery-controller.svg +1 -0
  38. package/assets/studio/library/aws/amazon-athena.svg +1 -0
  39. package/assets/studio/library/aws/amazon-augmented-ai-a2i.svg +1 -0
  40. package/assets/studio/library/aws/amazon-aurora.svg +1 -0
  41. package/assets/studio/library/aws/amazon-bedrock-agentcore.svg +1 -0
  42. package/assets/studio/library/aws/amazon-bedrock.svg +1 -0
  43. package/assets/studio/library/aws/amazon-braket.svg +1 -0
  44. package/assets/studio/library/aws/amazon-chime-sdk.svg +1 -0
  45. package/assets/studio/library/aws/amazon-chime.svg +1 -0
  46. package/assets/studio/library/aws/amazon-cloud-directory.svg +1 -0
  47. package/assets/studio/library/aws/amazon-cloudfront.svg +1 -0
  48. package/assets/studio/library/aws/amazon-cloudsearch.svg +1 -0
  49. package/assets/studio/library/aws/amazon-cloudwatch.svg +1 -0
  50. package/assets/studio/library/aws/amazon-codecatalyst.svg +1 -0
  51. package/assets/studio/library/aws/amazon-codeguru.svg +1 -0
  52. package/assets/studio/library/aws/amazon-codewhisperer.svg +1 -0
  53. package/assets/studio/library/aws/amazon-cognito.svg +1 -0
  54. package/assets/studio/library/aws/amazon-comprehend-medical.svg +1 -0
  55. package/assets/studio/library/aws/amazon-comprehend.svg +1 -0
  56. package/assets/studio/library/aws/amazon-connect.svg +1 -0
  57. package/assets/studio/library/aws/amazon-corretto.svg +1 -0
  58. package/assets/studio/library/aws/amazon-data-firehose.svg +1 -0
  59. package/assets/studio/library/aws/amazon-datazone.svg +1 -0
  60. package/assets/studio/library/aws/amazon-dcv.svg +1 -0
  61. package/assets/studio/library/aws/amazon-detective.svg +1 -0
  62. package/assets/studio/library/aws/amazon-devops-guru.svg +1 -0
  63. package/assets/studio/library/aws/amazon-documentdb.svg +1 -0
  64. package/assets/studio/library/aws/amazon-dynamodb.svg +1 -0
  65. package/assets/studio/library/aws/amazon-ec2-auto-scaling.svg +1 -0
  66. package/assets/studio/library/aws/amazon-ec2-image-builder.svg +1 -0
  67. package/assets/studio/library/aws/amazon-ec2.svg +1 -0
  68. package/assets/studio/library/aws/amazon-ecs-anywhere.svg +1 -0
  69. package/assets/studio/library/aws/amazon-efs.svg +1 -0
  70. package/assets/studio/library/aws/amazon-eks-anywhere.svg +1 -0
  71. package/assets/studio/library/aws/amazon-eks-distro.svg +1 -0
  72. package/assets/studio/library/aws/amazon-elastic-block-store.svg +1 -0
  73. package/assets/studio/library/aws/amazon-elastic-container-registry.svg +1 -0
  74. package/assets/studio/library/aws/amazon-elastic-container-service.svg +1 -0
  75. package/assets/studio/library/aws/amazon-elastic-inference.svg +1 -0
  76. package/assets/studio/library/aws/amazon-elastic-kubernetes-service.svg +1 -0
  77. package/assets/studio/library/aws/amazon-elastic-vmware-service.svg +1 -0
  78. package/assets/studio/library/aws/amazon-elasticache.svg +1 -0
  79. package/assets/studio/library/aws/amazon-emr.svg +1 -0
  80. package/assets/studio/library/aws/amazon-eventbridge.svg +1 -0
  81. package/assets/studio/library/aws/amazon-file-cache.svg +1 -0
  82. package/assets/studio/library/aws/amazon-finspace.svg +1 -0
  83. package/assets/studio/library/aws/amazon-forecast.svg +1 -0
  84. package/assets/studio/library/aws/amazon-fraud-detector.svg +1 -0
  85. package/assets/studio/library/aws/amazon-fsx-for-lustre.svg +1 -0
  86. package/assets/studio/library/aws/amazon-fsx-for-netapp-ontap.svg +1 -0
  87. package/assets/studio/library/aws/amazon-fsx-for-openzfs.svg +1 -0
  88. package/assets/studio/library/aws/amazon-fsx-for-wfs.svg +1 -0
  89. package/assets/studio/library/aws/amazon-fsx.svg +1 -0
  90. package/assets/studio/library/aws/amazon-gamelift-servers.svg +1 -0
  91. package/assets/studio/library/aws/amazon-gamelift-streams.svg +1 -0
  92. package/assets/studio/library/aws/amazon-guardduty.svg +1 -0
  93. package/assets/studio/library/aws/amazon-inspector.svg +1 -0
  94. package/assets/studio/library/aws/amazon-interactive-video-service.svg +1 -0
  95. package/assets/studio/library/aws/amazon-kendra.svg +1 -0
  96. package/assets/studio/library/aws/amazon-keyspaces.svg +1 -0
  97. package/assets/studio/library/aws/amazon-kinesis-data-streams.svg +1 -0
  98. package/assets/studio/library/aws/amazon-kinesis-video-streams.svg +1 -0
  99. package/assets/studio/library/aws/amazon-kinesis.svg +1 -0
  100. package/assets/studio/library/aws/amazon-lex.svg +1 -0
  101. package/assets/studio/library/aws/amazon-lightsail-for-research.svg +1 -0
  102. package/assets/studio/library/aws/amazon-lightsail.svg +1 -0
  103. package/assets/studio/library/aws/amazon-location-service.svg +1 -0
  104. package/assets/studio/library/aws/amazon-lookout-for-equipment.svg +1 -0
  105. package/assets/studio/library/aws/amazon-lookout-for-vision.svg +1 -0
  106. package/assets/studio/library/aws/amazon-macie.svg +1 -0
  107. package/assets/studio/library/aws/amazon-managed-blockchain.svg +1 -0
  108. package/assets/studio/library/aws/amazon-managed-grafana.svg +1 -0
  109. package/assets/studio/library/aws/amazon-managed-service-for-apache-flink.svg +1 -0
  110. package/assets/studio/library/aws/amazon-managed-service-for-prometheus.svg +1 -0
  111. package/assets/studio/library/aws/amazon-managed-streaming-for-apache-kafka.svg +1 -0
  112. package/assets/studio/library/aws/amazon-managed-workflows-for-apache-airflow.svg +1 -0
  113. package/assets/studio/library/aws/amazon-memorydb.svg +1 -0
  114. package/assets/studio/library/aws/amazon-monitron.svg +1 -0
  115. package/assets/studio/library/aws/amazon-mq.svg +1 -0
  116. package/assets/studio/library/aws/amazon-neptune.svg +1 -0
  117. package/assets/studio/library/aws/amazon-nova.svg +1 -0
  118. package/assets/studio/library/aws/amazon-opensearch-service.svg +1 -0
  119. package/assets/studio/library/aws/amazon-personalize.svg +1 -0
  120. package/assets/studio/library/aws/amazon-pinpoint-apis.svg +1 -0
  121. package/assets/studio/library/aws/amazon-pinpoint.svg +1 -0
  122. package/assets/studio/library/aws/amazon-polly.svg +1 -0
  123. package/assets/studio/library/aws/amazon-q.svg +1 -0
  124. package/assets/studio/library/aws/amazon-quick.svg +1 -0
  125. package/assets/studio/library/aws/amazon-rds.svg +1 -0
  126. package/assets/studio/library/aws/amazon-redshift.svg +1 -0
  127. package/assets/studio/library/aws/amazon-rekognition.svg +1 -0
  128. package/assets/studio/library/aws/amazon-route-53.svg +1 -0
  129. package/assets/studio/library/aws/amazon-s3-on-outposts.svg +1 -0
  130. package/assets/studio/library/aws/amazon-sagemaker-ai.svg +1 -0
  131. package/assets/studio/library/aws/amazon-sagemaker-ground-truth.svg +1 -0
  132. package/assets/studio/library/aws/amazon-sagemaker-studio-lab.svg +1 -0
  133. package/assets/studio/library/aws/amazon-sagemaker.svg +1 -0
  134. package/assets/studio/library/aws/amazon-security-lake.svg +1 -0
  135. package/assets/studio/library/aws/amazon-simple-email-service.svg +1 -0
  136. package/assets/studio/library/aws/amazon-simple-notification-service.svg +1 -0
  137. package/assets/studio/library/aws/amazon-simple-queue-service.svg +1 -0
  138. package/assets/studio/library/aws/amazon-simple-storage-service-glacier.svg +1 -0
  139. package/assets/studio/library/aws/amazon-simple-storage-service.svg +1 -0
  140. package/assets/studio/library/aws/amazon-textract.svg +1 -0
  141. package/assets/studio/library/aws/amazon-timestream.svg +1 -0
  142. package/assets/studio/library/aws/amazon-transcribe.svg +1 -0
  143. package/assets/studio/library/aws/amazon-translate.svg +1 -0
  144. package/assets/studio/library/aws/amazon-verified-permissions.svg +1 -0
  145. package/assets/studio/library/aws/amazon-virtual-private-cloud.svg +1 -0
  146. package/assets/studio/library/aws/amazon-vpc-lattice.svg +1 -0
  147. package/assets/studio/library/aws/amazon-workdocs-sdk.svg +1 -0
  148. package/assets/studio/library/aws/amazon-workdocs.svg +1 -0
  149. package/assets/studio/library/aws/amazon-workmail.svg +1 -0
  150. package/assets/studio/library/aws/amazon-workspaces.svg +1 -0
  151. package/assets/studio/library/aws/apache-mxnet-on-aws.svg +1 -0
  152. package/assets/studio/library/aws/api-gateway.svg +1 -0
  153. package/assets/studio/library/aws/aws-activate.svg +1 -0
  154. package/assets/studio/library/aws/aws-amplify.svg +1 -0
  155. package/assets/studio/library/aws/aws-app-mesh.svg +1 -0
  156. package/assets/studio/library/aws/aws-app-runner.svg +1 -0
  157. package/assets/studio/library/aws/aws-app-studio.svg +1 -0
  158. package/assets/studio/library/aws/aws-appconfig.svg +1 -0
  159. package/assets/studio/library/aws/aws-appfabric.svg +1 -0
  160. package/assets/studio/library/aws/aws-application-auto-scaling.svg +1 -0
  161. package/assets/studio/library/aws/aws-application-discovery-service.svg +1 -0
  162. package/assets/studio/library/aws/aws-application-migration-service.svg +1 -0
  163. package/assets/studio/library/aws/aws-appsync.svg +1 -0
  164. package/assets/studio/library/aws/aws-artifact.svg +1 -0
  165. package/assets/studio/library/aws/aws-audit-manager.svg +1 -0
  166. package/assets/studio/library/aws/aws-auto-scaling.svg +1 -0
  167. package/assets/studio/library/aws/aws-b2b-data-interchange.svg +1 -0
  168. package/assets/studio/library/aws/aws-backint-agent.svg +1 -0
  169. package/assets/studio/library/aws/aws-backup.svg +1 -0
  170. package/assets/studio/library/aws/aws-batch.svg +1 -0
  171. package/assets/studio/library/aws/aws-billing-conductor.svg +1 -0
  172. package/assets/studio/library/aws/aws-budgets.svg +1 -0
  173. package/assets/studio/library/aws/aws-certificate-manager.svg +1 -0
  174. package/assets/studio/library/aws/aws-chatbot.svg +1 -0
  175. package/assets/studio/library/aws/aws-clean-rooms.svg +1 -0
  176. package/assets/studio/library/aws/aws-client-vpn.svg +1 -0
  177. package/assets/studio/library/aws/aws-cloud-control-api.svg +1 -0
  178. package/assets/studio/library/aws/aws-cloud-development-kit.svg +1 -0
  179. package/assets/studio/library/aws/aws-cloud-map.svg +1 -0
  180. package/assets/studio/library/aws/aws-cloud-wan.svg +1 -0
  181. package/assets/studio/library/aws/aws-cloud9.svg +1 -0
  182. package/assets/studio/library/aws/aws-cloudformation.svg +1 -0
  183. package/assets/studio/library/aws/aws-cloudhsm.svg +1 -0
  184. package/assets/studio/library/aws/aws-cloudshell.svg +1 -0
  185. package/assets/studio/library/aws/aws-cloudtrail.svg +1 -0
  186. package/assets/studio/library/aws/aws-codeartifact.svg +1 -0
  187. package/assets/studio/library/aws/aws-codebuild.svg +1 -0
  188. package/assets/studio/library/aws/aws-codecommit.svg +1 -0
  189. package/assets/studio/library/aws/aws-codedeploy.svg +1 -0
  190. package/assets/studio/library/aws/aws-codepipeline.svg +1 -0
  191. package/assets/studio/library/aws/aws-command-line-interface.svg +1 -0
  192. package/assets/studio/library/aws/aws-compute-optimizer.svg +1 -0
  193. package/assets/studio/library/aws/aws-config.svg +1 -0
  194. package/assets/studio/library/aws/aws-console-mobile-application.svg +1 -0
  195. package/assets/studio/library/aws/aws-control-tower.svg +1 -0
  196. package/assets/studio/library/aws/aws-cost-and-usage-report.svg +1 -0
  197. package/assets/studio/library/aws/aws-cost-explorer.svg +1 -0
  198. package/assets/studio/library/aws/aws-data-exchange.svg +1 -0
  199. package/assets/studio/library/aws/aws-data-transfer-terminal.svg +1 -0
  200. package/assets/studio/library/aws/aws-database-migration-service.svg +1 -0
  201. package/assets/studio/library/aws/aws-datasync.svg +1 -0
  202. package/assets/studio/library/aws/aws-deadline-cloud.svg +1 -0
  203. package/assets/studio/library/aws/aws-deep-learning-amis.svg +1 -0
  204. package/assets/studio/library/aws/aws-deep-learning-containers.svg +1 -0
  205. package/assets/studio/library/aws/aws-deepracer.svg +1 -0
  206. package/assets/studio/library/aws/aws-device-farm.svg +1 -0
  207. package/assets/studio/library/aws/aws-devops-agent.svg +1 -0
  208. package/assets/studio/library/aws/aws-direct-connect.svg +1 -0
  209. package/assets/studio/library/aws/aws-directory-service.svg +1 -0
  210. package/assets/studio/library/aws/aws-distro-for-opentelemetry.svg +1 -0
  211. package/assets/studio/library/aws/aws-elastic-beanstalk.svg +1 -0
  212. package/assets/studio/library/aws/aws-elastic-disaster-recovery.svg +1 -0
  213. package/assets/studio/library/aws/aws-elemental-appliances-and-software.svg +1 -0
  214. package/assets/studio/library/aws/aws-elemental-conductor.svg +1 -0
  215. package/assets/studio/library/aws/aws-elemental-delta.svg +1 -0
  216. package/assets/studio/library/aws/aws-elemental-inference.svg +1 -0
  217. package/assets/studio/library/aws/aws-elemental-link.svg +1 -0
  218. package/assets/studio/library/aws/aws-elemental-live.svg +1 -0
  219. package/assets/studio/library/aws/aws-elemental-mediaconnect.svg +1 -0
  220. package/assets/studio/library/aws/aws-elemental-mediaconvert.svg +1 -0
  221. package/assets/studio/library/aws/aws-elemental-medialive.svg +1 -0
  222. package/assets/studio/library/aws/aws-elemental-mediapackage.svg +1 -0
  223. package/assets/studio/library/aws/aws-elemental-mediastore.svg +1 -0
  224. package/assets/studio/library/aws/aws-elemental-mediatailor.svg +1 -0
  225. package/assets/studio/library/aws/aws-elemental-server.svg +1 -0
  226. package/assets/studio/library/aws/aws-end-user-messaging.svg +1 -0
  227. package/assets/studio/library/aws/aws-entity-resolution.svg +1 -0
  228. package/assets/studio/library/aws/aws-express-workflows.svg +1 -0
  229. package/assets/studio/library/aws/aws-fargate.svg +1 -0
  230. package/assets/studio/library/aws/aws-fault-injection-service.svg +1 -0
  231. package/assets/studio/library/aws/aws-finops-agent.svg +1 -0
  232. package/assets/studio/library/aws/aws-firewall-manager.svg +1 -0
  233. package/assets/studio/library/aws/aws-global-accelerator.svg +1 -0
  234. package/assets/studio/library/aws/aws-glue-databrew.svg +1 -0
  235. package/assets/studio/library/aws/aws-glue.svg +1 -0
  236. package/assets/studio/library/aws/aws-ground-station.svg +1 -0
  237. package/assets/studio/library/aws/aws-health-dashboard.svg +1 -0
  238. package/assets/studio/library/aws/aws-healthimaging.svg +1 -0
  239. package/assets/studio/library/aws/aws-healthlake.svg +1 -0
  240. package/assets/studio/library/aws/aws-healthomics.svg +1 -0
  241. package/assets/studio/library/aws/aws-healthscribe.svg +1 -0
  242. package/assets/studio/library/aws/aws-iam-identity-center.svg +1 -0
  243. package/assets/studio/library/aws/aws-identity-and-access-management.svg +1 -0
  244. package/assets/studio/library/aws/aws-infrastructure-composer.svg +1 -0
  245. package/assets/studio/library/aws/aws-interconnect.svg +1 -0
  246. package/assets/studio/library/aws/aws-iot-core.svg +1 -0
  247. package/assets/studio/library/aws/aws-iot-device-defender.svg +1 -0
  248. package/assets/studio/library/aws/aws-iot-device-management.svg +1 -0
  249. package/assets/studio/library/aws/aws-iot-events.svg +1 -0
  250. package/assets/studio/library/aws/aws-iot-expresslink.svg +1 -0
  251. package/assets/studio/library/aws/aws-iot-fleetwise.svg +1 -0
  252. package/assets/studio/library/aws/aws-iot-greengrass.svg +1 -0
  253. package/assets/studio/library/aws/aws-iot-sitewise.svg +1 -0
  254. package/assets/studio/library/aws/aws-iot-twinmaker.svg +1 -0
  255. package/assets/studio/library/aws/aws-iq.svg +1 -0
  256. package/assets/studio/library/aws/aws-key-management-service.svg +1 -0
  257. package/assets/studio/library/aws/aws-lake-formation.svg +1 -0
  258. package/assets/studio/library/aws/aws-lambda.svg +1 -0
  259. package/assets/studio/library/aws/aws-launch-wizard.svg +1 -0
  260. package/assets/studio/library/aws/aws-license-manager.svg +1 -0
  261. package/assets/studio/library/aws/aws-local-zones.svg +1 -0
  262. package/assets/studio/library/aws/aws-mainframe-modernization.svg +1 -0
  263. package/assets/studio/library/aws/aws-managed-services.svg +1 -0
  264. package/assets/studio/library/aws/aws-management-console.svg +1 -0
  265. package/assets/studio/library/aws/aws-marketplace-dark.svg +1 -0
  266. package/assets/studio/library/aws/aws-marketplace-light.svg +1 -0
  267. package/assets/studio/library/aws/aws-migration-evaluator.svg +1 -0
  268. package/assets/studio/library/aws/aws-network-firewall.svg +1 -0
  269. package/assets/studio/library/aws/aws-neuron.svg +1 -0
  270. package/assets/studio/library/aws/aws-nitro-enclaves.svg +1 -0
  271. package/assets/studio/library/aws/aws-organizations.svg +1 -0
  272. package/assets/studio/library/aws/aws-outposts-family.svg +1 -0
  273. package/assets/studio/library/aws/aws-outposts-rack.svg +1 -0
  274. package/assets/studio/library/aws/aws-outposts-servers.svg +1 -0
  275. package/assets/studio/library/aws/aws-panorama.svg +1 -0
  276. package/assets/studio/library/aws/aws-parallel-cluster.svg +1 -0
  277. package/assets/studio/library/aws/aws-parallel-computing-service.svg +1 -0
  278. package/assets/studio/library/aws/aws-partner-central.svg +1 -0
  279. package/assets/studio/library/aws/aws-payment-cryptography.svg +1 -0
  280. package/assets/studio/library/aws/aws-private-certificate-authority.svg +1 -0
  281. package/assets/studio/library/aws/aws-privatelink.svg +1 -0
  282. package/assets/studio/library/aws/aws-professional-services.svg +1 -0
  283. package/assets/studio/library/aws/aws-proton.svg +1 -0
  284. package/assets/studio/library/aws/aws-repost-private.svg +1 -0
  285. package/assets/studio/library/aws/aws-repost.svg +1 -0
  286. package/assets/studio/library/aws/aws-resilience-hub.svg +1 -0
  287. package/assets/studio/library/aws/aws-resource-access-manager.svg +1 -0
  288. package/assets/studio/library/aws/aws-resource-explorer.svg +1 -0
  289. package/assets/studio/library/aws/aws-rtb-fabric.svg +1 -0
  290. package/assets/studio/library/aws/aws-secrets-manager.svg +1 -0
  291. package/assets/studio/library/aws/aws-security-agent.svg +1 -0
  292. package/assets/studio/library/aws/aws-security-hub.svg +1 -0
  293. package/assets/studio/library/aws/aws-security-incident-response.svg +1 -0
  294. package/assets/studio/library/aws/aws-serverless-application-repository.svg +1 -0
  295. package/assets/studio/library/aws/aws-service-catalog.svg +1 -0
  296. package/assets/studio/library/aws/aws-service-management-connector.svg +1 -0
  297. package/assets/studio/library/aws/aws-shield.svg +1 -0
  298. package/assets/studio/library/aws/aws-signer.svg +1 -0
  299. package/assets/studio/library/aws/aws-simspace-weaver.svg +1 -0
  300. package/assets/studio/library/aws/aws-site-to-site-vpn.svg +1 -0
  301. package/assets/studio/library/aws/aws-snowball-edge.svg +1 -0
  302. package/assets/studio/library/aws/aws-snowball.svg +1 -0
  303. package/assets/studio/library/aws/aws-step-functions.svg +1 -0
  304. package/assets/studio/library/aws/aws-storage-gateway.svg +1 -0
  305. package/assets/studio/library/aws/aws-supply-chain.svg +1 -0
  306. package/assets/studio/library/aws/aws-support.svg +1 -0
  307. package/assets/studio/library/aws/aws-sustainability.svg +1 -0
  308. package/assets/studio/library/aws/aws-systems-manager.svg +1 -0
  309. package/assets/studio/library/aws/aws-telco-network-builder.svg +1 -0
  310. package/assets/studio/library/aws/aws-thinkbox-deadline.svg +1 -0
  311. package/assets/studio/library/aws/aws-thinkbox-frost.svg +1 -0
  312. package/assets/studio/library/aws/aws-thinkbox-krakatoa.svg +1 -0
  313. package/assets/studio/library/aws/aws-thinkbox-stoke.svg +1 -0
  314. package/assets/studio/library/aws/aws-thinkbox-xmesh.svg +1 -0
  315. package/assets/studio/library/aws/aws-tools-and-sdks.svg +1 -0
  316. package/assets/studio/library/aws/aws-training-certification.svg +1 -0
  317. package/assets/studio/library/aws/aws-transfer-family.svg +1 -0
  318. package/assets/studio/library/aws/aws-transform.svg +1 -0
  319. package/assets/studio/library/aws/aws-transit-gateway.svg +1 -0
  320. package/assets/studio/library/aws/aws-trusted-advisor.svg +1 -0
  321. package/assets/studio/library/aws/aws-user-notifications.svg +1 -0
  322. package/assets/studio/library/aws/aws-verified-access.svg +1 -0
  323. package/assets/studio/library/aws/aws-waf.svg +1 -0
  324. package/assets/studio/library/aws/aws-wavelength.svg +1 -0
  325. package/assets/studio/library/aws/aws-well-architected-tool.svg +1 -0
  326. package/assets/studio/library/aws/aws-wickr.svg +1 -0
  327. package/assets/studio/library/aws/aws-x-ray.svg +1 -0
  328. package/assets/studio/library/aws/bottlerocket.svg +1 -0
  329. package/assets/studio/library/aws/cloudwatch.svg +1 -0
  330. package/assets/studio/library/aws/dynamodb.svg +1 -0
  331. package/assets/studio/library/aws/elastic-fabric-adapter.svg +1 -0
  332. package/assets/studio/library/aws/elastic-load-balancing.svg +1 -0
  333. package/assets/studio/library/aws/freertos.svg +1 -0
  334. package/assets/studio/library/aws/lambda.svg +1 -0
  335. package/assets/studio/library/aws/open-3d-engine.svg +1 -0
  336. package/assets/studio/library/aws/oracle-database-at-aws.svg +1 -0
  337. package/assets/studio/library/aws/pytorch-on-aws.svg +1 -0
  338. package/assets/studio/library/aws/red-hat-openshift-service-on-aws.svg +1 -0
  339. package/assets/studio/library/aws/reserved-instance-reporting.svg +1 -0
  340. package/assets/studio/library/aws/s3.svg +1 -0
  341. package/assets/studio/library/aws/savings-plans.svg +1 -0
  342. package/assets/studio/library/aws/sns.svg +1 -0
  343. package/assets/studio/library/aws/tensorflow-on-aws.svg +1 -0
  344. package/assets/studio/library/aws-categories/analytics.svg +1 -0
  345. package/assets/studio/library/aws-categories/application-integration.svg +1 -0
  346. package/assets/studio/library/aws-categories/artificial-intelligence.svg +1 -0
  347. package/assets/studio/library/aws-categories/blockchain.svg +1 -0
  348. package/assets/studio/library/aws-categories/business-applications.svg +1 -0
  349. package/assets/studio/library/aws-categories/cloud-financial-management.svg +1 -0
  350. package/assets/studio/library/aws-categories/compute.svg +1 -0
  351. package/assets/studio/library/aws-categories/containers.svg +1 -0
  352. package/assets/studio/library/aws-categories/customer-enablement.svg +1 -0
  353. package/assets/studio/library/aws-categories/customer-experience.svg +1 -0
  354. package/assets/studio/library/aws-categories/databases.svg +1 -0
  355. package/assets/studio/library/aws-categories/developer-tools.svg +1 -0
  356. package/assets/studio/library/aws-categories/end-user-computing.svg +1 -0
  357. package/assets/studio/library/aws-categories/front-end-web-mobile.svg +1 -0
  358. package/assets/studio/library/aws-categories/games.svg +1 -0
  359. package/assets/studio/library/aws-categories/internet-of-things.svg +1 -0
  360. package/assets/studio/library/aws-categories/management-tools.svg +1 -0
  361. package/assets/studio/library/aws-categories/media-services.svg +1 -0
  362. package/assets/studio/library/aws-categories/migration-modernization.svg +1 -0
  363. package/assets/studio/library/aws-categories/multicloud-and-hybrid.svg +1 -0
  364. package/assets/studio/library/aws-categories/networking-content-delivery.svg +1 -0
  365. package/assets/studio/library/aws-categories/quantum-technologies.svg +1 -0
  366. package/assets/studio/library/aws-categories/satellite.svg +1 -0
  367. package/assets/studio/library/aws-categories/security-identity.svg +1 -0
  368. package/assets/studio/library/aws-categories/serverless.svg +1 -0
  369. package/assets/studio/library/aws-categories/storage.svg +1 -0
  370. package/assets/studio/library/aws-groups/auto-scaling-group.svg +1 -0
  371. package/assets/studio/library/aws-groups/aws-account.svg +1 -0
  372. package/assets/studio/library/aws-groups/aws-cloud-dark.svg +1 -0
  373. package/assets/studio/library/aws-groups/aws-cloud-logo-dark.svg +1 -0
  374. package/assets/studio/library/aws-groups/aws-cloud-logo.svg +1 -0
  375. package/assets/studio/library/aws-groups/aws-cloud.svg +1 -0
  376. package/assets/studio/library/aws-groups/aws-iot-greengrass-deployment.svg +1 -0
  377. package/assets/studio/library/aws-groups/corporate-data-center.svg +1 -0
  378. package/assets/studio/library/aws-groups/ec2-instance-contents.svg +1 -0
  379. package/assets/studio/library/aws-groups/private-subnet.svg +1 -0
  380. package/assets/studio/library/aws-groups/public-subnet.svg +1 -0
  381. package/assets/studio/library/aws-groups/region.svg +1 -0
  382. package/assets/studio/library/aws-groups/server-contents.svg +1 -0
  383. package/assets/studio/library/aws-groups/spot-fleet.svg +1 -0
  384. package/assets/studio/library/aws-groups/virtual-private-cloud-vpc.svg +1 -0
  385. package/assets/studio/library/aws-resources/amazon-api-gateway-endpoint.svg +1 -0
  386. package/assets/studio/library/aws-resources/amazon-athena-data-source-connectors.svg +1 -0
  387. package/assets/studio/library/aws-resources/amazon-aurora-amazon-aurora-instance-alternate.svg +1 -0
  388. package/assets/studio/library/aws-resources/amazon-aurora-amazon-rds-instance-aternate.svg +1 -0
  389. package/assets/studio/library/aws-resources/amazon-aurora-amazon-rds-instance.svg +1 -0
  390. package/assets/studio/library/aws-resources/amazon-aurora-instance.svg +1 -0
  391. package/assets/studio/library/aws-resources/amazon-aurora-mariadb-instance-alternate.svg +1 -0
  392. package/assets/studio/library/aws-resources/amazon-aurora-mariadb-instance.svg +1 -0
  393. package/assets/studio/library/aws-resources/amazon-aurora-mysql-instance-alternate.svg +1 -0
  394. package/assets/studio/library/aws-resources/amazon-aurora-mysql-instance.svg +1 -0
  395. package/assets/studio/library/aws-resources/amazon-aurora-oracle-instance-alternate.svg +1 -0
  396. package/assets/studio/library/aws-resources/amazon-aurora-oracle-instance.svg +1 -0
  397. package/assets/studio/library/aws-resources/amazon-aurora-piops-instance.svg +1 -0
  398. package/assets/studio/library/aws-resources/amazon-aurora-postgresql-instance-alternate.svg +1 -0
  399. package/assets/studio/library/aws-resources/amazon-aurora-postgresql-instance.svg +1 -0
  400. package/assets/studio/library/aws-resources/amazon-aurora-sql-server-instance-alternate.svg +1 -0
  401. package/assets/studio/library/aws-resources/amazon-aurora-sql-server-instance.svg +1 -0
  402. package/assets/studio/library/aws-resources/amazon-aurora-trusted-language-extensions-for-postgresql.svg +1 -0
  403. package/assets/studio/library/aws-resources/amazon-braket-chandelier.svg +1 -0
  404. package/assets/studio/library/aws-resources/amazon-braket-chip.svg +1 -0
  405. package/assets/studio/library/aws-resources/amazon-braket-embedded-simulator.svg +1 -0
  406. package/assets/studio/library/aws-resources/amazon-braket-managed-simulator.svg +1 -0
  407. package/assets/studio/library/aws-resources/amazon-braket-noise-simulator.svg +1 -0
  408. package/assets/studio/library/aws-resources/amazon-braket-qpu.svg +1 -0
  409. package/assets/studio/library/aws-resources/amazon-braket-simulator-1.svg +1 -0
  410. package/assets/studio/library/aws-resources/amazon-braket-simulator-2.svg +1 -0
  411. package/assets/studio/library/aws-resources/amazon-braket-simulator-3.svg +1 -0
  412. package/assets/studio/library/aws-resources/amazon-braket-simulator-4.svg +1 -0
  413. package/assets/studio/library/aws-resources/amazon-braket-simulator.svg +1 -0
  414. package/assets/studio/library/aws-resources/amazon-braket-state-vector.svg +1 -0
  415. package/assets/studio/library/aws-resources/amazon-braket-tensor-network.svg +1 -0
  416. package/assets/studio/library/aws-resources/amazon-cloudfront-download-distribution.svg +1 -0
  417. package/assets/studio/library/aws-resources/amazon-cloudfront-edge-location.svg +1 -0
  418. package/assets/studio/library/aws-resources/amazon-cloudfront-functions.svg +1 -0
  419. package/assets/studio/library/aws-resources/amazon-cloudfront-streaming-distribution.svg +1 -0
  420. package/assets/studio/library/aws-resources/amazon-cloudsearch-search-documents.svg +1 -0
  421. package/assets/studio/library/aws-resources/amazon-cloudwatch-alarm.svg +1 -0
  422. package/assets/studio/library/aws-resources/amazon-cloudwatch-cross-account-observability.svg +1 -0
  423. package/assets/studio/library/aws-resources/amazon-cloudwatch-data-protection.svg +1 -0
  424. package/assets/studio/library/aws-resources/amazon-cloudwatch-event-event-based.svg +1 -0
  425. package/assets/studio/library/aws-resources/amazon-cloudwatch-event-time-based.svg +1 -0
  426. package/assets/studio/library/aws-resources/amazon-cloudwatch-evidently.svg +1 -0
  427. package/assets/studio/library/aws-resources/amazon-cloudwatch-logs.svg +1 -0
  428. package/assets/studio/library/aws-resources/amazon-cloudwatch-metrics-insights.svg +1 -0
  429. package/assets/studio/library/aws-resources/amazon-cloudwatch-rule.svg +1 -0
  430. package/assets/studio/library/aws-resources/amazon-cloudwatch-rum.svg +1 -0
  431. package/assets/studio/library/aws-resources/amazon-cloudwatch-synthetics.svg +1 -0
  432. package/assets/studio/library/aws-resources/amazon-datazone-business-data-catalog.svg +1 -0
  433. package/assets/studio/library/aws-resources/amazon-datazone-data-portal.svg +1 -0
  434. package/assets/studio/library/aws-resources/amazon-datazone-data-projects.svg +1 -0
  435. package/assets/studio/library/aws-resources/amazon-devops-guru-insights.svg +1 -0
  436. package/assets/studio/library/aws-resources/amazon-documentdb-elastic-clusters.svg +1 -0
  437. package/assets/studio/library/aws-resources/amazon-dynamodb-amazon-dynamodb-accelerator.svg +1 -0
  438. package/assets/studio/library/aws-resources/amazon-dynamodb-attribute.svg +1 -0
  439. package/assets/studio/library/aws-resources/amazon-dynamodb-attributes.svg +1 -0
  440. package/assets/studio/library/aws-resources/amazon-dynamodb-global-secondary-index.svg +1 -0
  441. package/assets/studio/library/aws-resources/amazon-dynamodb-item.svg +1 -0
  442. package/assets/studio/library/aws-resources/amazon-dynamodb-items.svg +1 -0
  443. package/assets/studio/library/aws-resources/amazon-dynamodb-standard-access-table-class.svg +1 -0
  444. package/assets/studio/library/aws-resources/amazon-dynamodb-standard-infrequent-access-table-class.svg +1 -0
  445. package/assets/studio/library/aws-resources/amazon-dynamodb-stream.svg +1 -0
  446. package/assets/studio/library/aws-resources/amazon-dynamodb-table.svg +1 -0
  447. package/assets/studio/library/aws-resources/amazon-ec2-ami.svg +1 -0
  448. package/assets/studio/library/aws-resources/amazon-ec2-auto-scaling.svg +1 -0
  449. package/assets/studio/library/aws-resources/amazon-ec2-aws-microservice-extractor-for-net.svg +1 -0
  450. package/assets/studio/library/aws-resources/amazon-ec2-db-instance.svg +1 -0
  451. package/assets/studio/library/aws-resources/amazon-ec2-elastic-ip-address.svg +1 -0
  452. package/assets/studio/library/aws-resources/amazon-ec2-instance-with-cloudwatch.svg +1 -0
  453. package/assets/studio/library/aws-resources/amazon-ec2-instance.svg +1 -0
  454. package/assets/studio/library/aws-resources/amazon-ec2-instances.svg +1 -0
  455. package/assets/studio/library/aws-resources/amazon-ec2-rescue.svg +1 -0
  456. package/assets/studio/library/aws-resources/amazon-ec2-spot-instance.svg +1 -0
  457. package/assets/studio/library/aws-resources/amazon-elastic-block-store-amazon-data-lifecycle-manager.svg +1 -0
  458. package/assets/studio/library/aws-resources/amazon-elastic-block-store-multiple-volumes.svg +1 -0
  459. package/assets/studio/library/aws-resources/amazon-elastic-block-store-snapshot.svg +1 -0
  460. package/assets/studio/library/aws-resources/amazon-elastic-block-store-volume-gp3.svg +1 -0
  461. package/assets/studio/library/aws-resources/amazon-elastic-block-store-volume.svg +1 -0
  462. package/assets/studio/library/aws-resources/amazon-elastic-container-registry-image.svg +1 -0
  463. package/assets/studio/library/aws-resources/amazon-elastic-container-registry-registry.svg +1 -0
  464. package/assets/studio/library/aws-resources/amazon-elastic-container-service-container-1.svg +1 -0
  465. package/assets/studio/library/aws-resources/amazon-elastic-container-service-container-2.svg +1 -0
  466. package/assets/studio/library/aws-resources/amazon-elastic-container-service-container-3.svg +1 -0
  467. package/assets/studio/library/aws-resources/amazon-elastic-container-service-copiiot-cli.svg +1 -0
  468. package/assets/studio/library/aws-resources/amazon-elastic-container-service-ecs-service-connect.svg +1 -0
  469. package/assets/studio/library/aws-resources/amazon-elastic-container-service-service.svg +1 -0
  470. package/assets/studio/library/aws-resources/amazon-elastic-container-service-task.svg +1 -0
  471. package/assets/studio/library/aws-resources/amazon-elastic-file-system-efs-intelligent-tiering.svg +1 -0
  472. package/assets/studio/library/aws-resources/amazon-elastic-file-system-efs-one-zone-infrequent-access.svg +1 -0
  473. package/assets/studio/library/aws-resources/amazon-elastic-file-system-efs-one-zone.svg +1 -0
  474. package/assets/studio/library/aws-resources/amazon-elastic-file-system-efs-standard-infrequent-access.svg +1 -0
  475. package/assets/studio/library/aws-resources/amazon-elastic-file-system-efs-standard.svg +1 -0
  476. package/assets/studio/library/aws-resources/amazon-elastic-file-system-elastic-throughput.svg +1 -0
  477. package/assets/studio/library/aws-resources/amazon-elastic-file-system-file-system.svg +1 -0
  478. package/assets/studio/library/aws-resources/amazon-elastic-kubernetes-service-eks-on-outposts.svg +1 -0
  479. package/assets/studio/library/aws-resources/amazon-elasticache-cache-node.svg +1 -0
  480. package/assets/studio/library/aws-resources/amazon-elasticache-elasticache-for-memcached.svg +1 -0
  481. package/assets/studio/library/aws-resources/amazon-elasticache-elasticache-for-redis.svg +1 -0
  482. package/assets/studio/library/aws-resources/amazon-elasticache-elasticache-for-valkey.svg +1 -0
  483. package/assets/studio/library/aws-resources/amazon-emr-cluster.svg +1 -0
  484. package/assets/studio/library/aws-resources/amazon-emr-emr-engine.svg +1 -0
  485. package/assets/studio/library/aws-resources/amazon-emr-hdfs-cluster.svg +1 -0
  486. package/assets/studio/library/aws-resources/amazon-eventbridge-custom-event-bus.svg +1 -0
  487. package/assets/studio/library/aws-resources/amazon-eventbridge-default-event-bus.svg +1 -0
  488. package/assets/studio/library/aws-resources/amazon-eventbridge-event.svg +1 -0
  489. package/assets/studio/library/aws-resources/amazon-eventbridge-pipes.svg +1 -0
  490. package/assets/studio/library/aws-resources/amazon-eventbridge-rule.svg +1 -0
  491. package/assets/studio/library/aws-resources/amazon-eventbridge-saas-partner-event.svg +1 -0
  492. package/assets/studio/library/aws-resources/amazon-eventbridge-scheduler.svg +1 -0
  493. package/assets/studio/library/aws-resources/amazon-eventbridge-schema-registry.svg +1 -0
  494. package/assets/studio/library/aws-resources/amazon-eventbridge-schema.svg +1 -0
  495. package/assets/studio/library/aws-resources/amazon-file-cache-hybrid-nfs-linked-datasets.svg +1 -0
  496. package/assets/studio/library/aws-resources/amazon-file-cache-on-premises-nfs-linked-datasets.svg +1 -0
  497. package/assets/studio/library/aws-resources/amazon-file-cache-s3-linked-datasets.svg +1 -0
  498. package/assets/studio/library/aws-resources/amazon-inspector-agent.svg +1 -0
  499. package/assets/studio/library/aws-resources/amazon-location-service-geofence.svg +1 -0
  500. package/assets/studio/library/aws-resources/amazon-location-service-map.svg +1 -0
  501. package/assets/studio/library/aws-resources/amazon-location-service-place.svg +1 -0
  502. package/assets/studio/library/aws-resources/amazon-location-service-routes.svg +1 -0
  503. package/assets/studio/library/aws-resources/amazon-location-service-track.svg +1 -0
  504. package/assets/studio/library/aws-resources/amazon-managed-blockchain-blockchain.svg +1 -0
  505. package/assets/studio/library/aws-resources/amazon-mq-broker.svg +1 -0
  506. package/assets/studio/library/aws-resources/amazon-msk-amazon-msk-connect.svg +1 -0
  507. package/assets/studio/library/aws-resources/amazon-opensearch-service-cluster-administrator-node.svg +1 -0
  508. package/assets/studio/library/aws-resources/amazon-opensearch-service-data-node.svg +1 -0
  509. package/assets/studio/library/aws-resources/amazon-opensearch-service-index.svg +1 -0
  510. package/assets/studio/library/aws-resources/amazon-opensearch-service-observability.svg +1 -0
  511. package/assets/studio/library/aws-resources/amazon-opensearch-service-opensearch-dashboards.svg +1 -0
  512. package/assets/studio/library/aws-resources/amazon-opensearch-service-opensearch-ingestion.svg +1 -0
  513. package/assets/studio/library/aws-resources/amazon-opensearch-service-traces.svg +1 -0
  514. package/assets/studio/library/aws-resources/amazon-opensearch-service-ultrawarm-node.svg +1 -0
  515. package/assets/studio/library/aws-resources/amazon-pinpoint-journey.svg +1 -0
  516. package/assets/studio/library/aws-resources/amazon-rds-blue-green-deployments.svg +1 -0
  517. package/assets/studio/library/aws-resources/amazon-rds-multi-az-db-cluster.svg +1 -0
  518. package/assets/studio/library/aws-resources/amazon-rds-multi-az.svg +1 -0
  519. package/assets/studio/library/aws-resources/amazon-rds-optimized-writes.svg +1 -0
  520. package/assets/studio/library/aws-resources/amazon-rds-proxy-instance-alternate.svg +1 -0
  521. package/assets/studio/library/aws-resources/amazon-rds-proxy-instance.svg +1 -0
  522. package/assets/studio/library/aws-resources/amazon-rds-trusted-language-extensions-for-postgresql.svg +1 -0
  523. package/assets/studio/library/aws-resources/amazon-redshift-auto-copy.svg +1 -0
  524. package/assets/studio/library/aws-resources/amazon-redshift-data-sharing-governance.svg +1 -0
  525. package/assets/studio/library/aws-resources/amazon-redshift-dense-compute-node.svg +1 -0
  526. package/assets/studio/library/aws-resources/amazon-redshift-dense-storage-node.svg +1 -0
  527. package/assets/studio/library/aws-resources/amazon-redshift-ml.svg +1 -0
  528. package/assets/studio/library/aws-resources/amazon-redshift-query-editor-v2-0.svg +1 -0
  529. package/assets/studio/library/aws-resources/amazon-redshift-ra3.svg +1 -0
  530. package/assets/studio/library/aws-resources/amazon-redshift-streaming-ingestion.svg +1 -0
  531. package/assets/studio/library/aws-resources/amazon-rekognition-image.svg +1 -0
  532. package/assets/studio/library/aws-resources/amazon-rekognition-video.svg +1 -0
  533. package/assets/studio/library/aws-resources/amazon-route-53-hosted-zone.svg +1 -0
  534. package/assets/studio/library/aws-resources/amazon-route-53-readiness-checks.svg +1 -0
  535. package/assets/studio/library/aws-resources/amazon-route-53-resolver-dns-firewall.svg +1 -0
  536. package/assets/studio/library/aws-resources/amazon-route-53-resolver-query-logging.svg +1 -0
  537. package/assets/studio/library/aws-resources/amazon-route-53-resolver.svg +1 -0
  538. package/assets/studio/library/aws-resources/amazon-route-53-route-table.svg +1 -0
  539. package/assets/studio/library/aws-resources/amazon-route-53-routing-controls.svg +1 -0
  540. package/assets/studio/library/aws-resources/amazon-sagemaker-ai-canvas.svg +1 -0
  541. package/assets/studio/library/aws-resources/amazon-sagemaker-ai-geospatial-ml.svg +1 -0
  542. package/assets/studio/library/aws-resources/amazon-sagemaker-ai-model.svg +1 -0
  543. package/assets/studio/library/aws-resources/amazon-sagemaker-ai-notebook.svg +1 -0
  544. package/assets/studio/library/aws-resources/amazon-sagemaker-ai-shadow-testing.svg +1 -0
  545. package/assets/studio/library/aws-resources/amazon-sagemaker-ai-train.svg +1 -0
  546. package/assets/studio/library/aws-resources/amazon-simple-email-service-email.svg +1 -0
  547. package/assets/studio/library/aws-resources/amazon-simple-notification-service-email-notification.svg +1 -0
  548. package/assets/studio/library/aws-resources/amazon-simple-notification-service-http-notification.svg +1 -0
  549. package/assets/studio/library/aws-resources/amazon-simple-notification-service-topic.svg +1 -0
  550. package/assets/studio/library/aws-resources/amazon-simple-queue-service-message.svg +1 -0
  551. package/assets/studio/library/aws-resources/amazon-simple-queue-service-queue.svg +1 -0
  552. package/assets/studio/library/aws-resources/amazon-simple-storage-service-bucket-with-objects.svg +1 -0
  553. package/assets/studio/library/aws-resources/amazon-simple-storage-service-bucket.svg +1 -0
  554. package/assets/studio/library/aws-resources/amazon-simple-storage-service-directory-bucket.svg +1 -0
  555. package/assets/studio/library/aws-resources/amazon-simple-storage-service-general-access-points.svg +1 -0
  556. package/assets/studio/library/aws-resources/amazon-simple-storage-service-glacier-archive.svg +1 -0
  557. package/assets/studio/library/aws-resources/amazon-simple-storage-service-glacier-vault.svg +1 -0
  558. package/assets/studio/library/aws-resources/amazon-simple-storage-service-object.svg +1 -0
  559. package/assets/studio/library/aws-resources/amazon-simple-storage-service-s3-batch-operations.svg +1 -0
  560. package/assets/studio/library/aws-resources/amazon-simple-storage-service-s3-express-one-zone.svg +1 -0
  561. package/assets/studio/library/aws-resources/amazon-simple-storage-service-s3-files.svg +1 -0
  562. package/assets/studio/library/aws-resources/amazon-simple-storage-service-s3-glacier-deep-archive.svg +1 -0
  563. package/assets/studio/library/aws-resources/amazon-simple-storage-service-s3-glacier-flexible-retrieval.svg +1 -0
  564. package/assets/studio/library/aws-resources/amazon-simple-storage-service-s3-glacier-instant-retrieval.svg +1 -0
  565. package/assets/studio/library/aws-resources/amazon-simple-storage-service-s3-intelligent-tiering.svg +1 -0
  566. package/assets/studio/library/aws-resources/amazon-simple-storage-service-s3-multi-region-access-points.svg +1 -0
  567. package/assets/studio/library/aws-resources/amazon-simple-storage-service-s3-object-lambda-access-points.svg +1 -0
  568. package/assets/studio/library/aws-resources/amazon-simple-storage-service-s3-object-lambda.svg +1 -0
  569. package/assets/studio/library/aws-resources/amazon-simple-storage-service-s3-object-lock.svg +1 -0
  570. package/assets/studio/library/aws-resources/amazon-simple-storage-service-s3-on-outposts.svg +1 -0
  571. package/assets/studio/library/aws-resources/amazon-simple-storage-service-s3-one-zone-ia.svg +1 -0
  572. package/assets/studio/library/aws-resources/amazon-simple-storage-service-s3-replication-time-control.svg +1 -0
  573. package/assets/studio/library/aws-resources/amazon-simple-storage-service-s3-replication.svg +1 -0
  574. package/assets/studio/library/aws-resources/amazon-simple-storage-service-s3-select.svg +1 -0
  575. package/assets/studio/library/aws-resources/amazon-simple-storage-service-s3-standard-ia.svg +1 -0
  576. package/assets/studio/library/aws-resources/amazon-simple-storage-service-s3-standard.svg +1 -0
  577. package/assets/studio/library/aws-resources/amazon-simple-storage-service-s3-storage-lens.svg +1 -0
  578. package/assets/studio/library/aws-resources/amazon-simple-storage-service-s3-tables.svg +1 -0
  579. package/assets/studio/library/aws-resources/amazon-simple-storage-service-s3-vectors.svg +1 -0
  580. package/assets/studio/library/aws-resources/amazon-simple-storage-service-vpc-access-points.svg +1 -0
  581. package/assets/studio/library/aws-resources/amazon-textract-analyze-lending.svg +1 -0
  582. package/assets/studio/library/aws-resources/amazon-vpc-carrier-gateway.svg +1 -0
  583. package/assets/studio/library/aws-resources/amazon-vpc-customer-gateway.svg +1 -0
  584. package/assets/studio/library/aws-resources/amazon-vpc-elastic-network-adapter.svg +1 -0
  585. package/assets/studio/library/aws-resources/amazon-vpc-elastic-network-interface.svg +1 -0
  586. package/assets/studio/library/aws-resources/amazon-vpc-endpoints.svg +1 -0
  587. package/assets/studio/library/aws-resources/amazon-vpc-flow-logs.svg +1 -0
  588. package/assets/studio/library/aws-resources/amazon-vpc-internet-gateway.svg +1 -0
  589. package/assets/studio/library/aws-resources/amazon-vpc-nat-gateway.svg +1 -0
  590. package/assets/studio/library/aws-resources/amazon-vpc-network-access-analyzer.svg +1 -0
  591. package/assets/studio/library/aws-resources/amazon-vpc-network-access-control-list.svg +1 -0
  592. package/assets/studio/library/aws-resources/amazon-vpc-peering-connection.svg +1 -0
  593. package/assets/studio/library/aws-resources/amazon-vpc-reachability-analyzer.svg +1 -0
  594. package/assets/studio/library/aws-resources/amazon-vpc-router.svg +1 -0
  595. package/assets/studio/library/aws-resources/amazon-vpc-traffic-mirroring.svg +1 -0
  596. package/assets/studio/library/aws-resources/amazon-vpc-virtual-private-cloud-vpc.svg +1 -0
  597. package/assets/studio/library/aws-resources/amazon-vpc-vpn-connection.svg +1 -0
  598. package/assets/studio/library/aws-resources/amazon-vpc-vpn-gateway.svg +1 -0
  599. package/assets/studio/library/aws-resources/aws-amplify-aws-amplify-studio.svg +1 -0
  600. package/assets/studio/library/aws-resources/aws-app-mesh-mesh.svg +1 -0
  601. package/assets/studio/library/aws-resources/aws-app-mesh-virtual-gateway.svg +1 -0
  602. package/assets/studio/library/aws-resources/aws-app-mesh-virtual-node.svg +1 -0
  603. package/assets/studio/library/aws-resources/aws-app-mesh-virtual-router.svg +1 -0
  604. package/assets/studio/library/aws-resources/aws-app-mesh-virtual-service.svg +1 -0
  605. package/assets/studio/library/aws-resources/aws-application-discovery-service-aws-agentless-collector.svg +1 -0
  606. package/assets/studio/library/aws-resources/aws-application-discovery-service-aws-discovery-agent.svg +1 -0
  607. package/assets/studio/library/aws-resources/aws-application-discovery-service-migration-evaluator-collector.svg +1 -0
  608. package/assets/studio/library/aws-resources/aws-backup-audit-manager.svg +1 -0
  609. package/assets/studio/library/aws-resources/aws-backup-aws-backup-for-aws-cloudformation.svg +1 -0
  610. package/assets/studio/library/aws-resources/aws-backup-aws-backup-support-for-amazon-fsx-for-netapp-ontap.svg +1 -0
  611. package/assets/studio/library/aws-resources/aws-backup-aws-backup-support-for-amazon-s3.svg +1 -0
  612. package/assets/studio/library/aws-resources/aws-backup-aws-backup-support-for-vmware-workloads.svg +1 -0
  613. package/assets/studio/library/aws-resources/aws-backup-backup-plan.svg +1 -0
  614. package/assets/studio/library/aws-resources/aws-backup-backup-restore.svg +1 -0
  615. package/assets/studio/library/aws-resources/aws-backup-backup-vault.svg +1 -0
  616. package/assets/studio/library/aws-resources/aws-backup-compliance-reporting.svg +1 -0
  617. package/assets/studio/library/aws-resources/aws-backup-compute.svg +1 -0
  618. package/assets/studio/library/aws-resources/aws-backup-database.svg +1 -0
  619. package/assets/studio/library/aws-resources/aws-backup-gateway.svg +1 -0
  620. package/assets/studio/library/aws-resources/aws-backup-legal-hold.svg +1 -0
  621. package/assets/studio/library/aws-resources/aws-backup-recovery-point-objective.svg +1 -0
  622. package/assets/studio/library/aws-resources/aws-backup-recovery-time-objective.svg +1 -0
  623. package/assets/studio/library/aws-resources/aws-backup-storage.svg +1 -0
  624. package/assets/studio/library/aws-resources/aws-backup-vault-lock.svg +1 -0
  625. package/assets/studio/library/aws-resources/aws-backup-virtual-machine-monitor.svg +1 -0
  626. package/assets/studio/library/aws-resources/aws-backup-virtual-machine.svg +1 -0
  627. package/assets/studio/library/aws-resources/aws-certificate-manager-certificate-authority.svg +1 -0
  628. package/assets/studio/library/aws-resources/aws-cloud-digital-interface.svg +1 -0
  629. package/assets/studio/library/aws-resources/aws-cloud-map-namespace.svg +1 -0
  630. package/assets/studio/library/aws-resources/aws-cloud-map-resource.svg +1 -0
  631. package/assets/studio/library/aws-resources/aws-cloud-map-service.svg +1 -0
  632. package/assets/studio/library/aws-resources/aws-cloud-wan-core-network-edge.svg +1 -0
  633. package/assets/studio/library/aws-resources/aws-cloud-wan-segment-network.svg +1 -0
  634. package/assets/studio/library/aws-resources/aws-cloud-wan-transit-gateway-route-table-attachment.svg +1 -0
  635. package/assets/studio/library/aws-resources/aws-cloud9-cloud9.svg +1 -0
  636. package/assets/studio/library/aws-resources/aws-cloudformation-change-set.svg +1 -0
  637. package/assets/studio/library/aws-resources/aws-cloudformation-stack.svg +1 -0
  638. package/assets/studio/library/aws-resources/aws-cloudformation-template.svg +1 -0
  639. package/assets/studio/library/aws-resources/aws-cloudtrail-cloudtrail-lake.svg +1 -0
  640. package/assets/studio/library/aws-resources/aws-data-exchange-for-apis.svg +1 -0
  641. package/assets/studio/library/aws-resources/aws-database-migration-service-database-migration-workflow-or-job.svg +1 -0
  642. package/assets/studio/library/aws-resources/aws-datasync-agent.svg +1 -0
  643. package/assets/studio/library/aws-resources/aws-datasync-discovery.svg +1 -0
  644. package/assets/studio/library/aws-resources/aws-direct-connect-gateway.svg +1 -0
  645. package/assets/studio/library/aws-resources/aws-directory-service-ad-connector.svg +1 -0
  646. package/assets/studio/library/aws-resources/aws-directory-service-aws-managed-microsoft-ad.svg +1 -0
  647. package/assets/studio/library/aws-resources/aws-directory-service-simple-ad.svg +1 -0
  648. package/assets/studio/library/aws-resources/aws-elastic-beanstalk-application.svg +1 -0
  649. package/assets/studio/library/aws-resources/aws-elastic-beanstalk-deployment.svg +1 -0
  650. package/assets/studio/library/aws-resources/aws-elemental-mediaconnect-mediaconnect-gateway.svg +1 -0
  651. package/assets/studio/library/aws-resources/aws-glue-aws-glue-for-ray.svg +1 -0
  652. package/assets/studio/library/aws-resources/aws-glue-crawler.svg +1 -0
  653. package/assets/studio/library/aws-resources/aws-glue-data-catalog.svg +1 -0
  654. package/assets/studio/library/aws-resources/aws-glue-data-quality.svg +1 -0
  655. package/assets/studio/library/aws-resources/aws-identity-access-management-add-on.svg +1 -0
  656. package/assets/studio/library/aws-resources/aws-identity-access-management-aws-sts-alternate.svg +1 -0
  657. package/assets/studio/library/aws-resources/aws-identity-access-management-aws-sts.svg +1 -0
  658. package/assets/studio/library/aws-resources/aws-identity-access-management-data-encryption-key.svg +1 -0
  659. package/assets/studio/library/aws-resources/aws-identity-access-management-encrypted-data.svg +1 -0
  660. package/assets/studio/library/aws-resources/aws-identity-access-management-iam-access-analyzer.svg +1 -0
  661. package/assets/studio/library/aws-resources/aws-identity-access-management-iam-roles-anywhere.svg +1 -0
  662. package/assets/studio/library/aws-resources/aws-identity-access-management-long-term-security-credential.svg +1 -0
  663. package/assets/studio/library/aws-resources/aws-identity-access-management-mfa-token.svg +1 -0
  664. package/assets/studio/library/aws-resources/aws-identity-access-management-permissions.svg +1 -0
  665. package/assets/studio/library/aws-resources/aws-identity-access-management-role.svg +1 -0
  666. package/assets/studio/library/aws-resources/aws-identity-access-management-temporary-security-credential.svg +1 -0
  667. package/assets/studio/library/aws-resources/aws-iot-action.svg +1 -0
  668. package/assets/studio/library/aws-resources/aws-iot-actuator.svg +1 -0
  669. package/assets/studio/library/aws-resources/aws-iot-alexa-enabled-device.svg +1 -0
  670. package/assets/studio/library/aws-resources/aws-iot-alexa-skill.svg +1 -0
  671. package/assets/studio/library/aws-resources/aws-iot-alexa-voice-service.svg +1 -0
  672. package/assets/studio/library/aws-resources/aws-iot-certificate.svg +1 -0
  673. package/assets/studio/library/aws-resources/aws-iot-core-device-advisor.svg +1 -0
  674. package/assets/studio/library/aws-resources/aws-iot-core-device-location.svg +1 -0
  675. package/assets/studio/library/aws-resources/aws-iot-desired-state.svg +1 -0
  676. package/assets/studio/library/aws-resources/aws-iot-device-defender-iot-device-jobs.svg +1 -0
  677. package/assets/studio/library/aws-resources/aws-iot-device-gateway.svg +1 -0
  678. package/assets/studio/library/aws-resources/aws-iot-device-management-fleet-hub.svg +1 -0
  679. package/assets/studio/library/aws-resources/aws-iot-device-tester.svg +1 -0
  680. package/assets/studio/library/aws-resources/aws-iot-echo.svg +1 -0
  681. package/assets/studio/library/aws-resources/aws-iot-fire-tv-stick.svg +1 -0
  682. package/assets/studio/library/aws-resources/aws-iot-fire-tv.svg +1 -0
  683. package/assets/studio/library/aws-resources/aws-iot-greengrass-artifact.svg +1 -0
  684. package/assets/studio/library/aws-resources/aws-iot-greengrass-component-machine-learning.svg +1 -0
  685. package/assets/studio/library/aws-resources/aws-iot-greengrass-component-nucleus.svg +1 -0
  686. package/assets/studio/library/aws-resources/aws-iot-greengrass-component-private.svg +1 -0
  687. package/assets/studio/library/aws-resources/aws-iot-greengrass-component-public.svg +1 -0
  688. package/assets/studio/library/aws-resources/aws-iot-greengrass-component.svg +1 -0
  689. package/assets/studio/library/aws-resources/aws-iot-greengrass-connector.svg +1 -0
  690. package/assets/studio/library/aws-resources/aws-iot-greengrass-interprocess-communication.svg +1 -0
  691. package/assets/studio/library/aws-resources/aws-iot-greengrass-protocol.svg +1 -0
  692. package/assets/studio/library/aws-resources/aws-iot-greengrass-recipe.svg +1 -0
  693. package/assets/studio/library/aws-resources/aws-iot-greengrass-stream-manager.svg +1 -0
  694. package/assets/studio/library/aws-resources/aws-iot-hardware-board.svg +1 -0
  695. package/assets/studio/library/aws-resources/aws-iot-http-protocol.svg +1 -0
  696. package/assets/studio/library/aws-resources/aws-iot-http2-protocol.svg +1 -0
  697. package/assets/studio/library/aws-resources/aws-iot-lambda-function.svg +1 -0
  698. package/assets/studio/library/aws-resources/aws-iot-lorawan-protocol.svg +1 -0
  699. package/assets/studio/library/aws-resources/aws-iot-mqtt-protocol.svg +1 -0
  700. package/assets/studio/library/aws-resources/aws-iot-over-air-update.svg +1 -0
  701. package/assets/studio/library/aws-resources/aws-iot-policy.svg +1 -0
  702. package/assets/studio/library/aws-resources/aws-iot-reported-state.svg +1 -0
  703. package/assets/studio/library/aws-resources/aws-iot-rule.svg +1 -0
  704. package/assets/studio/library/aws-resources/aws-iot-sailboat.svg +1 -0
  705. package/assets/studio/library/aws-resources/aws-iot-sensor.svg +1 -0
  706. package/assets/studio/library/aws-resources/aws-iot-servo.svg +1 -0
  707. package/assets/studio/library/aws-resources/aws-iot-shadow.svg +1 -0
  708. package/assets/studio/library/aws-resources/aws-iot-simulator.svg +1 -0
  709. package/assets/studio/library/aws-resources/aws-iot-sitewise-asset-hierarchy.svg +1 -0
  710. package/assets/studio/library/aws-resources/aws-iot-sitewise-asset-model.svg +1 -0
  711. package/assets/studio/library/aws-resources/aws-iot-sitewise-asset-properties.svg +1 -0
  712. package/assets/studio/library/aws-resources/aws-iot-sitewise-asset.svg +1 -0
  713. package/assets/studio/library/aws-resources/aws-iot-sitewise-data-streams.svg +1 -0
  714. package/assets/studio/library/aws-resources/aws-iot-thing-bank.svg +1 -0
  715. package/assets/studio/library/aws-resources/aws-iot-thing-bicycle.svg +1 -0
  716. package/assets/studio/library/aws-resources/aws-iot-thing-camera.svg +1 -0
  717. package/assets/studio/library/aws-resources/aws-iot-thing-car.svg +1 -0
  718. package/assets/studio/library/aws-resources/aws-iot-thing-cart.svg +1 -0
  719. package/assets/studio/library/aws-resources/aws-iot-thing-coffee-pot.svg +1 -0
  720. package/assets/studio/library/aws-resources/aws-iot-thing-door-lock.svg +1 -0
  721. package/assets/studio/library/aws-resources/aws-iot-thing-factory.svg +1 -0
  722. package/assets/studio/library/aws-resources/aws-iot-thing-freertos-device.svg +1 -0
  723. package/assets/studio/library/aws-resources/aws-iot-thing-generic.svg +1 -0
  724. package/assets/studio/library/aws-resources/aws-iot-thing-house.svg +1 -0
  725. package/assets/studio/library/aws-resources/aws-iot-thing-humidity-sensor.svg +1 -0
  726. package/assets/studio/library/aws-resources/aws-iot-thing-industrial-pc.svg +1 -0
  727. package/assets/studio/library/aws-resources/aws-iot-thing-lightbulb.svg +1 -0
  728. package/assets/studio/library/aws-resources/aws-iot-thing-medical-emergency.svg +1 -0
  729. package/assets/studio/library/aws-resources/aws-iot-thing-plc.svg +1 -0
  730. package/assets/studio/library/aws-resources/aws-iot-thing-police-emergency.svg +1 -0
  731. package/assets/studio/library/aws-resources/aws-iot-thing-relay.svg +1 -0
  732. package/assets/studio/library/aws-resources/aws-iot-thing-stacklight.svg +1 -0
  733. package/assets/studio/library/aws-resources/aws-iot-thing-temperature-humidity-sensor.svg +1 -0
  734. package/assets/studio/library/aws-resources/aws-iot-thing-temperature-sensor.svg +1 -0
  735. package/assets/studio/library/aws-resources/aws-iot-thing-temperature-vibration-sensor.svg +1 -0
  736. package/assets/studio/library/aws-resources/aws-iot-thing-thermostat.svg +1 -0
  737. package/assets/studio/library/aws-resources/aws-iot-thing-travel.svg +1 -0
  738. package/assets/studio/library/aws-resources/aws-iot-thing-utility.svg +1 -0
  739. package/assets/studio/library/aws-resources/aws-iot-thing-vibration-sensor.svg +1 -0
  740. package/assets/studio/library/aws-resources/aws-iot-thing-windfarm.svg +1 -0
  741. package/assets/studio/library/aws-resources/aws-iot-topic.svg +1 -0
  742. package/assets/studio/library/aws-resources/aws-key-management-service-external-key-store.svg +1 -0
  743. package/assets/studio/library/aws-resources/aws-lake-formation-data-lake.svg +1 -0
  744. package/assets/studio/library/aws-resources/aws-lambda-lambda-function.svg +1 -0
  745. package/assets/studio/library/aws-resources/aws-license-manager-application-discovery.svg +1 -0
  746. package/assets/studio/library/aws-resources/aws-license-manager-license-blending.svg +1 -0
  747. package/assets/studio/library/aws-resources/aws-mainframe-modernization-analyzer.svg +1 -0
  748. package/assets/studio/library/aws-resources/aws-mainframe-modernization-compiler.svg +1 -0
  749. package/assets/studio/library/aws-resources/aws-mainframe-modernization-converter.svg +1 -0
  750. package/assets/studio/library/aws-resources/aws-mainframe-modernization-developer.svg +1 -0
  751. package/assets/studio/library/aws-resources/aws-mainframe-modernization-runtime.svg +1 -0
  752. package/assets/studio/library/aws-resources/aws-network-firewall-endpoints.svg +1 -0
  753. package/assets/studio/library/aws-resources/aws-organizations-account.svg +1 -0
  754. package/assets/studio/library/aws-resources/aws-organizations-management-account.svg +1 -0
  755. package/assets/studio/library/aws-resources/aws-organizations-organizational-unit.svg +1 -0
  756. package/assets/studio/library/aws-resources/aws-security-hub-finding.svg +1 -0
  757. package/assets/studio/library/aws-resources/aws-shield-aws-shield-advanced.svg +1 -0
  758. package/assets/studio/library/aws-resources/aws-snowball-snowball-import-export.svg +1 -0
  759. package/assets/studio/library/aws-resources/aws-storage-gateway-amazon-fsx-file-gateway.svg +1 -0
  760. package/assets/studio/library/aws-resources/aws-storage-gateway-amazon-s3-file-gateway.svg +1 -0
  761. package/assets/studio/library/aws-resources/aws-storage-gateway-cached-volume.svg +1 -0
  762. package/assets/studio/library/aws-resources/aws-storage-gateway-file-gateway.svg +1 -0
  763. package/assets/studio/library/aws-resources/aws-storage-gateway-noncached-volume.svg +1 -0
  764. package/assets/studio/library/aws-resources/aws-storage-gateway-tape-gateway.svg +1 -0
  765. package/assets/studio/library/aws-resources/aws-storage-gateway-virtual-tape-library.svg +1 -0
  766. package/assets/studio/library/aws-resources/aws-storage-gateway-volume-gateway.svg +1 -0
  767. package/assets/studio/library/aws-resources/aws-systems-manager-application-manager.svg +1 -0
  768. package/assets/studio/library/aws-resources/aws-systems-manager-automation.svg +1 -0
  769. package/assets/studio/library/aws-resources/aws-systems-manager-change-calendar.svg +1 -0
  770. package/assets/studio/library/aws-resources/aws-systems-manager-change-manager.svg +1 -0
  771. package/assets/studio/library/aws-resources/aws-systems-manager-compliance.svg +1 -0
  772. package/assets/studio/library/aws-resources/aws-systems-manager-distributor.svg +1 -0
  773. package/assets/studio/library/aws-resources/aws-systems-manager-documents.svg +1 -0
  774. package/assets/studio/library/aws-resources/aws-systems-manager-incident-manager.svg +1 -0
  775. package/assets/studio/library/aws-resources/aws-systems-manager-inventory.svg +1 -0
  776. package/assets/studio/library/aws-resources/aws-systems-manager-maintenance-windows.svg +1 -0
  777. package/assets/studio/library/aws-resources/aws-systems-manager-opscenter.svg +1 -0
  778. package/assets/studio/library/aws-resources/aws-systems-manager-parameter-store.svg +1 -0
  779. package/assets/studio/library/aws-resources/aws-systems-manager-patch-manager.svg +1 -0
  780. package/assets/studio/library/aws-resources/aws-systems-manager-run-command.svg +1 -0
  781. package/assets/studio/library/aws-resources/aws-systems-manager-session-manager.svg +1 -0
  782. package/assets/studio/library/aws-resources/aws-systems-manager-state-manager.svg +1 -0
  783. package/assets/studio/library/aws-resources/aws-transfer-family-aws-as2.svg +1 -0
  784. package/assets/studio/library/aws-resources/aws-transfer-family-aws-ftp.svg +1 -0
  785. package/assets/studio/library/aws-resources/aws-transfer-family-aws-ftps.svg +1 -0
  786. package/assets/studio/library/aws-resources/aws-transfer-family-aws-sftp.svg +1 -0
  787. package/assets/studio/library/aws-resources/aws-transit-gateway-attachment.svg +1 -0
  788. package/assets/studio/library/aws-resources/aws-trusted-advisor-checklist-cost.svg +1 -0
  789. package/assets/studio/library/aws-resources/aws-trusted-advisor-checklist-fault-tolerant.svg +1 -0
  790. package/assets/studio/library/aws-resources/aws-trusted-advisor-checklist-performance.svg +1 -0
  791. package/assets/studio/library/aws-resources/aws-trusted-advisor-checklist-security.svg +1 -0
  792. package/assets/studio/library/aws-resources/aws-trusted-advisor-checklist.svg +1 -0
  793. package/assets/studio/library/aws-resources/aws-waf-bad-bot.svg +1 -0
  794. package/assets/studio/library/aws-resources/aws-waf-bot-control.svg +1 -0
  795. package/assets/studio/library/aws-resources/aws-waf-bot.svg +1 -0
  796. package/assets/studio/library/aws-resources/aws-waf-filtering-rule.svg +1 -0
  797. package/assets/studio/library/aws-resources/aws-waf-labels.svg +1 -0
  798. package/assets/studio/library/aws-resources/aws-waf-managed-rule.svg +1 -0
  799. package/assets/studio/library/aws-resources/aws-waf-rule.svg +1 -0
  800. package/assets/studio/library/aws-resources/elastic-load-balancing-application-load-balancer.svg +1 -0
  801. package/assets/studio/library/aws-resources/elastic-load-balancing-classic-load-balancer.svg +1 -0
  802. package/assets/studio/library/aws-resources/elastic-load-balancing-gateway-load-balancer.svg +1 -0
  803. package/assets/studio/library/aws-resources/elastic-load-balancing-network-load-balancer.svg +1 -0
  804. package/assets/studio/library/k8s/deploy.svg +54 -0
  805. package/assets/studio/library/k8s/ing.svg +46 -0
  806. package/assets/studio/library/k8s/node.svg +46 -0
  807. package/assets/studio/library/k8s/pod.svg +65 -0
  808. package/assets/studio/library/k8s/secret.svg +90 -0
  809. package/assets/studio/library/k8s/svc.svg +79 -0
  810. package/assets/studio/library/shapes/internet.svg +1 -0
  811. package/assets/studio/library/shapes/person.svg +1 -0
  812. package/assets/studio/library/shapes/users.svg +1 -0
  813. package/assets/studio/library/tech/auth0.svg +1 -0
  814. package/assets/studio/library/tech/clickhouse.svg +1 -0
  815. package/assets/studio/library/tech/cloudflare.svg +1 -0
  816. package/assets/studio/library/tech/github-actions.svg +1 -0
  817. package/assets/studio/library/tech/github.svg +1 -0
  818. package/assets/studio/library/tech/helm.svg +1 -0
  819. package/assets/studio/library/tech/jupyter.svg +1 -0
  820. package/assets/studio/library/tech/kubernetes.svg +1 -0
  821. package/assets/studio/library/tech/microsoft-entra-id.svg +15 -0
  822. package/assets/studio/library/tech/nats.svg +1 -0
  823. package/assets/studio/library/tech/new-relic.svg +1 -0
  824. package/assets/studio/library/tech/postgresql.svg +1 -0
  825. package/assets/studio/library/tech/rabbitmq.svg +1 -0
  826. package/assets/studio/library/tech/redis.svg +1 -0
  827. package/assets/studio/library/tech/sendgrid.svg +1 -0
  828. package/assets/studio/library/tech/starrocks.svg +1 -0
  829. package/assets/studio/library/tech/temporal.svg +1 -0
  830. package/assets/viewer/index.html +59 -0
  831. package/bin/diagc.mjs +18 -0
  832. package/dist/api/dispatch.d.ts +57 -0
  833. package/dist/api/dispatch.js +154 -0
  834. package/dist/api/handlers.d.ts +61 -0
  835. package/dist/api/handlers.js +420 -0
  836. package/dist/api/index.d.ts +3 -0
  837. package/dist/api/index.js +7 -0
  838. package/dist/api/routes.d.ts +27 -0
  839. package/dist/api/routes.js +43 -0
  840. package/dist/atomic-write.d.ts +8 -0
  841. package/dist/atomic-write.js +21 -0
  842. package/dist/cli.d.ts +21 -0
  843. package/dist/cli.js +271 -0
  844. package/dist/compile.d.ts +11 -0
  845. package/dist/compile.js +106 -0
  846. package/dist/eject.d.ts +24 -0
  847. package/dist/eject.js +121 -0
  848. package/dist/home.d.ts +36 -0
  849. package/dist/home.js +75 -0
  850. package/dist/includes.d.ts +5 -0
  851. package/dist/includes.js +17 -0
  852. package/dist/publish/assets.d.ts +20 -0
  853. package/dist/publish/assets.js +46 -0
  854. package/dist/publish/discover.d.ts +10 -0
  855. package/dist/publish/discover.js +31 -0
  856. package/dist/publish/gallery.d.ts +4 -0
  857. package/dist/publish/gallery.js +27 -0
  858. package/dist/publish/html.d.ts +23 -0
  859. package/dist/publish/html.js +45 -0
  860. package/dist/publish/pageSize.d.ts +21 -0
  861. package/dist/publish/pageSize.js +26 -0
  862. package/dist/publish/publish.d.ts +18 -0
  863. package/dist/publish/publish.js +100 -0
  864. package/dist/publish/snapshot.d.ts +3 -0
  865. package/dist/publish/snapshot.js +53 -0
  866. package/dist/serve.d.ts +32 -0
  867. package/dist/serve.js +154 -0
  868. package/dist/snapshots.d.ts +13 -0
  869. package/dist/snapshots.js +113 -0
  870. package/dist/studio.d.ts +28 -0
  871. package/dist/studio.js +115 -0
  872. package/dist/watch.d.ts +37 -0
  873. package/dist/watch.js +79 -0
  874. package/package.json +53 -0
package/dist/cli.js ADDED
@@ -0,0 +1,271 @@
1
+ /*
2
+ * diagc — author software-architecture diagrams as code.
3
+ * Copyright (C) 2026 Bogdan Frankovskyi
4
+ *
5
+ * This program is free software: you can redistribute it and/or modify it
6
+ * under the terms of the GNU Affero General Public License version 3 as
7
+ * published by the Free Software Foundation, with the additional permissions
8
+ * granted under section 7 that are set out in the LICENSE file alongside this
9
+ * package. Those permissions let you license diagram sources you author, and
10
+ * the output produced from them, under terms of your choosing.
11
+ *
12
+ * This program is distributed in the hope that it will be useful, but WITHOUT
13
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
15
+ * for more details.
16
+ *
17
+ * You should have received a copy of the GNU Affero General Public License
18
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
19
+ *
20
+ * SPDX-License-Identifier: AGPL-3.0-only
21
+ */
22
+ import { existsSync } from 'node:fs';
23
+ import path from 'node:path';
24
+ import { fileURLToPath } from 'node:url';
25
+ import fg from 'fast-glob';
26
+ import { errMessage } from '@diagc/core';
27
+ import { compileFile } from './compile.js';
28
+ import { ejectDiagram } from './eject.js';
29
+ import { findHome, homePaths } from './home.js';
30
+ import { resolveInclude } from './includes.js';
31
+ import { snapshotSession } from './snapshots.js';
32
+ import { formatCompileEvent, startWatch } from './watch.js';
33
+ import { publishDiagrams } from './publish/publish.js';
34
+ import { runStudio } from './studio.js';
35
+ const USAGE = `Usage: diagc <compile|watch|publish|studio|eject> [files...] [--out dir]
36
+
37
+ Commands:
38
+ compile Compile *.diagram.{ts,json} sources into overlay artifacts once
39
+ watch Recompile — and live-recompile — a directory of sources
40
+ publish Compile and render an HTML/PNG site under .diagrams/
41
+ studio Run the visual studio against the current directory
42
+ eject Promote a JSON diagram to a generated TypeScript source (verified)
43
+
44
+ Options:
45
+ --out dir Artifact output directory (default .diagrams/.artifacts)
46
+ --no-images Publish HTML without rendering PNG images
47
+ --update-includes Refetch remote includes and rewrite the snapshot lock
48
+ --help, -h Show this help and exit
49
+ `;
50
+ /** Parse argv into command + flags. Unknown flags (anything `--…` that is not
51
+ * recognized) are an error rather than being silently treated as a file path,
52
+ * so a typo surfaces loudly instead of quietly skewing the file set. */
53
+ export function parseArgs(argv) {
54
+ let command = 'compile';
55
+ const files = [];
56
+ let out = '.diagrams/.artifacts';
57
+ let images = true;
58
+ let updateIncludes = false;
59
+ let commandSeen = false;
60
+ for (let i = 0; i < argv.length; i++) {
61
+ const arg = argv[i];
62
+ if (arg === '--out') {
63
+ out = argv[++i] ?? out;
64
+ continue;
65
+ }
66
+ if (arg === '--no-images') {
67
+ images = false;
68
+ continue;
69
+ }
70
+ if (arg === '--update-includes') {
71
+ updateIncludes = true;
72
+ continue;
73
+ }
74
+ if (arg === '--help' || arg === '-h')
75
+ throw new HelpRequested();
76
+ if (arg.startsWith('--'))
77
+ throw new UnknownFlagError(arg);
78
+ // The first non-flag argument names the command; anything after it is a
79
+ // file path (flags may appear before or after the command).
80
+ if (!commandSeen) {
81
+ command = arg;
82
+ commandSeen = true;
83
+ }
84
+ else {
85
+ files.push(arg);
86
+ }
87
+ }
88
+ return { command, files, out, images, updateIncludes };
89
+ }
90
+ /** Thrown by {@link parseArgs} for `--help`/`-h`; `main` prints usage and exits 0. */
91
+ export class HelpRequested extends Error {
92
+ constructor() {
93
+ super('help requested');
94
+ this.name = 'HelpRequested';
95
+ }
96
+ }
97
+ /** Thrown by {@link parseArgs} for an unrecognized flag; `main` prints the
98
+ * offending flag plus usage and exits 1. */
99
+ export class UnknownFlagError extends Error {
100
+ constructor(flag) {
101
+ super(`Unknown flag '${flag}'`);
102
+ this.name = 'UnknownFlagError';
103
+ }
104
+ }
105
+ async function main() {
106
+ let args;
107
+ try {
108
+ args = parseArgs(process.argv.slice(2));
109
+ }
110
+ catch (e) {
111
+ if (e instanceof HelpRequested) {
112
+ console.log(USAGE);
113
+ process.exit(0);
114
+ }
115
+ if (e instanceof UnknownFlagError) {
116
+ console.error(`diagc: ${e.message}\n`);
117
+ console.error(USAGE);
118
+ process.exit(1);
119
+ }
120
+ throw e;
121
+ }
122
+ const home = homePaths(findHome(fileURLToPath(import.meta.url)));
123
+ // One session per CLI invocation, shared across every compile+publish in this
124
+ // run: the in-memory lock + touched set must span the whole run for prune()
125
+ // to see everything a full-tree compile actually resolved. `watch` builds its
126
+ // own separate always-locked session below instead of sharing this one.
127
+ const snap = snapshotSession(resolveInclude, '.diagrams', args.updateIncludes ? 'update' : 'locked');
128
+ if (args.command === 'compile') {
129
+ const files = args.files.length > 0 ? args.files : await fg('.diagrams/src/**/*.diagram.{ts,json}');
130
+ let failed = false;
131
+ for (const file of files) {
132
+ try {
133
+ const artifact = await compileFile(file, args.out, {
134
+ rootDir: '.diagrams/src',
135
+ coreEntry: home.coreEntry,
136
+ resolver: snap.resolver,
137
+ });
138
+ console.log(formatCompileEvent({ file, ok: true, artifact }));
139
+ }
140
+ catch (e) {
141
+ failed = true;
142
+ console.error(formatCompileEvent({ file, ok: false, error: errMessage(e) }));
143
+ }
144
+ }
145
+ // A source that fails before include resolution (e.g. a pre-compose
146
+ // validation error) never touches its remote URLs, so pruning here would
147
+ // drop their still-valid lock entries and vendored files right along with
148
+ // the genuinely stale ones — skip the prune until every file compiles clean.
149
+ if (args.updateIncludes && args.files.length === 0 && !failed)
150
+ await snap.prune();
151
+ process.exit(failed ? 1 : 0);
152
+ }
153
+ else if (args.command === 'watch') {
154
+ // Always locked, independent of args.updateIncludes: watch is a long-running
155
+ // live loop with no point at which "refetch and rewrite the lock" makes
156
+ // sense, so it ignores the flag by design rather than inheriting the shared
157
+ // session's mode (mirrors studio.ts's own hardcoded 'locked' session).
158
+ if (args.updateIncludes)
159
+ console.error('ignoring --update-includes: watch always runs locked');
160
+ const dir = args.files[0] ?? '.diagrams/src';
161
+ const watchSnap = snapshotSession(resolveInclude, '.diagrams', 'locked');
162
+ startWatch(dir, args.out, {
163
+ coreEntry: home.coreEntry,
164
+ resolver: watchSnap.resolver,
165
+ onEvent: (e) => {
166
+ // Success goes to stdout, failure to stderr, so the streams stay parsed
167
+ // separately by anyone piping them.
168
+ if (e.ok)
169
+ console.log(formatCompileEvent(e));
170
+ else
171
+ console.error(formatCompileEvent(e));
172
+ },
173
+ });
174
+ console.log(`Watching ${dir} for *.diagram.{ts,json} changes...`);
175
+ }
176
+ else if (args.command === 'publish') {
177
+ if (!existsSync(home.viewerShell)) {
178
+ // Only a checkout can be missing it; an installed package ships the shell,
179
+ // so there the message would send the reader off to build a repo they
180
+ // do not have.
181
+ console.error(home.layout === 'monorepo'
182
+ ? 'viewer shell not built — run `pnpm --filter @diagc/viewer build` in the monorepo.'
183
+ : `viewer shell missing from this install (${home.viewerShell}) — reinstall diagc.`);
184
+ process.exit(1);
185
+ }
186
+ const srcDir = '.diagrams/src';
187
+ const artifactsDir = '.diagrams/.artifacts';
188
+ // Compile first so artifacts reflect current sources (TS + include expansion).
189
+ const sources = await fg('**/*.diagram.{ts,json}', { cwd: srcDir, absolute: true });
190
+ for (const f of sources) {
191
+ try {
192
+ await compileFile(f, artifactsDir, { rootDir: srcDir, coreEntry: home.coreEntry, resolver: snap.resolver });
193
+ }
194
+ catch (e) {
195
+ console.error(`✗ ${f}\n${errMessage(e)}`);
196
+ }
197
+ }
198
+ // publish's glob above ignores args.files (that only scopes which rendered
199
+ // pages come out below), so it always compiles the whole source tree —
200
+ // an update run here is always full-tree, so the prune is unguarded.
201
+ if (args.updateIncludes)
202
+ await snap.prune();
203
+ let images = args.images;
204
+ let renderPng;
205
+ if (args.images) {
206
+ const snapshot = await import('./publish/snapshot.js');
207
+ if (snapshot.findChrome() === undefined) {
208
+ console.log('No Chrome found — writing HTML only; install Chrome / set CHROME_PATH, or use --no-images.');
209
+ images = false;
210
+ }
211
+ else {
212
+ renderPng = snapshot.renderPng;
213
+ }
214
+ }
215
+ const res = await publishDiagrams({
216
+ srcDir,
217
+ artifactsDir,
218
+ htmlDir: '.diagrams/html',
219
+ staticDir: '.diagrams/static',
220
+ shellPath: home.viewerShell,
221
+ libraryDir: home.libraryDir,
222
+ assetsDir: path.join(srcDir, 'assets'),
223
+ images,
224
+ names: args.files,
225
+ ...(renderPng !== undefined ? { renderPng } : {}),
226
+ });
227
+ console.log(`✓ ${res.pages.length} page(s) -> .diagrams/html`);
228
+ if (res.images.length > 0)
229
+ console.log(`✓ ${res.images.length} image(s) -> .diagrams/static`);
230
+ console.log(`✓ gallery -> ${res.gallery}`);
231
+ process.exit(0);
232
+ }
233
+ else if (args.command === 'studio') {
234
+ // Studio's own compile-watch loop always resolves includes locked (see
235
+ // studio.ts) — same reasoning as watch above.
236
+ if (args.updateIncludes)
237
+ console.error('ignoring --update-includes: studio always runs locked');
238
+ await runStudio(home, process.cwd());
239
+ return;
240
+ }
241
+ else if (args.command === 'eject') {
242
+ // ejectDiagram's post-swap recompile always resolves includes locked (see
243
+ // eject.ts) — same reasoning as watch above.
244
+ if (args.updateIncludes)
245
+ console.error('ignoring --update-includes: eject always runs locked');
246
+ const name = args.files[0]?.replace(/^\.diagrams\/src\//, '').replace(/\.diagram\.(ts|json)$/, '');
247
+ if (name === undefined || name === '') {
248
+ console.error('diagc: eject needs a diagram name.');
249
+ console.error(USAGE);
250
+ process.exit(1);
251
+ }
252
+ try {
253
+ const res = await ejectDiagram('.diagrams/src', args.out, name, { coreEntry: home.coreEntry });
254
+ console.log(`✓ ${res.tsPath}`);
255
+ process.exit(0);
256
+ }
257
+ catch (e) {
258
+ console.error(errMessage(e));
259
+ process.exit(1);
260
+ }
261
+ }
262
+ else {
263
+ console.error(`diagc: Unknown command '${args.command}'.`);
264
+ console.error(USAGE);
265
+ process.exit(1);
266
+ }
267
+ }
268
+ main().catch((e) => {
269
+ console.error(errMessage(e));
270
+ process.exit(1);
271
+ });
@@ -0,0 +1,11 @@
1
+ import { type DiagramModel, type IncludeResolver } from '@diagc/core';
2
+ /**
3
+ * Execute a `.diagram.ts` through jiti (core pinned to `coreEntry`) and return
4
+ * its model — shape-guarded but not validated; callers own validation.
5
+ */
6
+ export declare function executeDiagramTs(file: string, coreEntry?: string): Promise<DiagramModel>;
7
+ export declare function compileFile(file: string, outDir: string, opts?: {
8
+ rootDir?: string;
9
+ coreEntry?: string;
10
+ resolver?: IncludeResolver;
11
+ }): Promise<string>;
@@ -0,0 +1,106 @@
1
+ import { mkdir, readFile, writeFile } from 'node:fs/promises';
2
+ import { createRequire } from 'node:module';
3
+ import path from 'node:path';
4
+ import { createJiti } from 'jiti';
5
+ import { composeIncludes, DiagramValidationError, validate, } from '@diagc/core';
6
+ import { resolveInclude } from './includes.js';
7
+ import { snapshotSession } from './snapshots.js';
8
+ /**
9
+ * Shape guard: with `{ default: true }` jiti returns the module NAMESPACE when
10
+ * there is no default export, so a default-less file would otherwise be written
11
+ * verbatim. Reject anything that is not a diagram model before we validate it.
12
+ */
13
+ function assertDiagramShape(model, file) {
14
+ if (typeof model !== 'object' ||
15
+ model === null ||
16
+ model.version !== 1 ||
17
+ !Array.isArray(model.nodes)) {
18
+ throw new Error(`${file}: no default export or not a diagram model`);
19
+ }
20
+ }
21
+ /**
22
+ * Execute a `.diagram.ts` through jiti (core pinned to `coreEntry`) and return
23
+ * its model — shape-guarded but not validated; callers own validation.
24
+ */
25
+ export async function executeDiagramTs(file, coreEntry) {
26
+ // Always pin @diagc/core to the copy visible from this file. Bare
27
+ // resolution from the diagram's own location only works when the diagram
28
+ // lives under a node_modules-covered tree (it fails for e.g. /tmp), so
29
+ // `coreEntry` is not just a safeguard — without a default, compilation is
30
+ // at the mercy of the install layout.
31
+ const resolvedCoreEntry = coreEntry ?? createRequire(import.meta.url).resolve('@diagc/core');
32
+ const jiti = createJiti(import.meta.url, {
33
+ moduleCache: false,
34
+ alias: { '@diagc/core': resolvedCoreEntry },
35
+ });
36
+ const def = await jiti.import(path.resolve(file), { default: true });
37
+ const hasToJSON = typeof def?.toJSON === 'function';
38
+ const model = (hasToJSON ? def.toJSON() : def);
39
+ assertDiagramShape(model, file);
40
+ return model;
41
+ }
42
+ /**
43
+ * Resolve the subdirectory of `file` relative to `rootDir` so nested diagram
44
+ * files map to nested artifacts instead of clobbering each other by basename.
45
+ * Returns '' (flat) when there is no rootDir, the file is a top-level child of
46
+ * rootDir, or the file lives outside rootDir.
47
+ */
48
+ function relativeSubdir(file, rootDir) {
49
+ if (!rootDir)
50
+ return '';
51
+ const rel = path.relative(path.resolve(rootDir), path.resolve(file));
52
+ if (rel.startsWith('..') || path.isAbsolute(rel))
53
+ return '';
54
+ const dir = path.dirname(rel);
55
+ return dir === '.' ? '' : dir;
56
+ }
57
+ export async function compileFile(file, outDir, opts) {
58
+ const isJsonSource = file.endsWith('.diagram.json');
59
+ let model;
60
+ if (isJsonSource) {
61
+ const def = JSON.parse(await readFile(path.resolve(file), 'utf8'));
62
+ const hasToJSON = typeof def?.toJSON === 'function';
63
+ model = (hasToJSON ? def.toJSON() : def);
64
+ assertDiagramShape(model, file);
65
+ }
66
+ else {
67
+ model = await executeDiagramTs(file, opts?.coreEntry);
68
+ }
69
+ // Validate unconditionally. The builder path already validated inside toJSON,
70
+ // but plain-object default exports never touched validate() — and re-validating
71
+ // the builder's output here is harmless and keeps a single code path. `validate`
72
+ // is a pure function, so there is no jiti class-identity problem, and the
73
+ // DiagramValidationError is constructed in this module world (instanceof works).
74
+ //
75
+ // Validate the authored source first (its own duplicate keys etc. must fail
76
+ // before composition would silently merge them), then expand includes and
77
+ // validate the composed result too.
78
+ const sourceIssues = validate(model);
79
+ if (sourceIssues.length > 0)
80
+ throw new DiagramValidationError(sourceIssues);
81
+ if (model.nodes.some((n) => n.include !== undefined)) {
82
+ // Default to a locked snapshot resolver rooted at rootDir's parent (the
83
+ // .diagrams root, same derivation as eject.ts): a call site that forgets
84
+ // to pass `resolver` must fail on an unsnapshotted remote include, not
85
+ // silently reintroduce live fetching. Local includes pass through either
86
+ // way; only without a rootDir to anchor the vendor dir does the raw
87
+ // resolver remain the fallback.
88
+ const resolver = opts?.resolver ??
89
+ (opts?.rootDir !== undefined
90
+ ? snapshotSession(resolveInclude, path.dirname(path.resolve(opts.rootDir)), 'locked').resolver
91
+ : resolveInclude);
92
+ const { model: composed, warnings } = await composeIncludes(model, path.resolve(file), resolver);
93
+ for (const w of warnings)
94
+ console.warn(`${file}: ${w}`);
95
+ model = composed;
96
+ const issues = validate(model);
97
+ if (issues.length > 0)
98
+ throw new DiagramValidationError(issues);
99
+ }
100
+ const base = path.basename(file).replace(/\.diagram\.(ts|json)$/, '');
101
+ const artifactDir = path.join(outDir, relativeSubdir(file, opts?.rootDir));
102
+ await mkdir(artifactDir, { recursive: true });
103
+ const artifact = path.join(artifactDir, `${base}.diagram.json`);
104
+ await writeFile(artifact, `${JSON.stringify(model, null, 2)}\n`);
105
+ return artifact;
106
+ }
@@ -0,0 +1,24 @@
1
+ import { type DiagramModel } from '@diagc/core';
2
+ export type EjectFailure = 'not-found' | 'already-ts' | 'invalid' | 'mismatch';
3
+ export declare class EjectError extends Error {
4
+ readonly code: EjectFailure;
5
+ constructor(message: string, code: EjectFailure);
6
+ }
7
+ export interface EjectOptions {
8
+ coreEntry?: string;
9
+ /** test seam: replaces the emitter, so a mismatch is constructible */
10
+ emit?: (model: DiagramModel) => string;
11
+ }
12
+ /** Paths (dot-joined) where two models first differ, capped for readability. */
13
+ export declare function diffPaths(a: unknown, b: unknown, limit?: number): string[];
14
+ /**
15
+ * Promote `<name>.diagram.json` to a generated `<name>.diagram.ts` — but only
16
+ * after executing the generated source and proving it rebuilds the identical
17
+ * model. Every failure path leaves the source directory exactly as found; the
18
+ * TS is written before the JSON is deleted, so a crash between the two steps
19
+ * leaves both — they then compile to the same artifact (last write wins), and
20
+ * recovery is deleting whichever source is unwanted.
21
+ */
22
+ export declare function ejectDiagram(diagramsDir: string, artifactsDir: string, name: string, opts?: EjectOptions): Promise<{
23
+ tsPath: string;
24
+ }>;
package/dist/eject.js ADDED
@@ -0,0 +1,121 @@
1
+ import { access, mkdtemp, readFile, rm, unlink, writeFile } from 'node:fs/promises';
2
+ import os from 'node:os';
3
+ import path from 'node:path';
4
+ import { isDeepStrictEqual } from 'node:util';
5
+ import { ejectSource, errMessage, validate } from '@diagc/core';
6
+ import { compileFile, executeDiagramTs } from './compile.js';
7
+ import { resolveInclude } from './includes.js';
8
+ import { snapshotSession } from './snapshots.js';
9
+ export class EjectError extends Error {
10
+ code;
11
+ constructor(message, code) {
12
+ super(message);
13
+ this.code = code;
14
+ this.name = 'EjectError';
15
+ }
16
+ }
17
+ /** Paths (dot-joined) where two models first differ, capped for readability. */
18
+ export function diffPaths(a, b, limit = 10) {
19
+ const out = [];
20
+ const walk = (x, y, at) => {
21
+ if (out.length >= limit || isDeepStrictEqual(x, y))
22
+ return;
23
+ const xo = typeof x === 'object' && x !== null;
24
+ const yo = typeof y === 'object' && y !== null;
25
+ if (!xo || !yo) {
26
+ out.push(at === '' ? '(root)' : at);
27
+ return;
28
+ }
29
+ const keys = new Set([...Object.keys(x), ...Object.keys(y)]);
30
+ for (const k of keys) {
31
+ if (out.length >= limit)
32
+ return;
33
+ walk(x[k], y[k], at === '' ? k : `${at}.${k}`);
34
+ }
35
+ };
36
+ walk(a, b, '');
37
+ return out;
38
+ }
39
+ /**
40
+ * Promote `<name>.diagram.json` to a generated `<name>.diagram.ts` — but only
41
+ * after executing the generated source and proving it rebuilds the identical
42
+ * model. Every failure path leaves the source directory exactly as found; the
43
+ * TS is written before the JSON is deleted, so a crash between the two steps
44
+ * leaves both — they then compile to the same artifact (last write wins), and
45
+ * recovery is deleting whichever source is unwanted.
46
+ */
47
+ export async function ejectDiagram(diagramsDir, artifactsDir, name, opts) {
48
+ const jsonPath = path.join(diagramsDir, `${name}.diagram.json`);
49
+ const tsPath = path.join(diagramsDir, `${name}.diagram.ts`);
50
+ try {
51
+ await access(tsPath);
52
+ throw new EjectError(`'${name}' is already TypeScript-owned (${tsPath})`, 'already-ts');
53
+ }
54
+ catch (e) {
55
+ if (e instanceof EjectError)
56
+ throw e;
57
+ /* no TS source — proceed */
58
+ }
59
+ let raw;
60
+ try {
61
+ raw = await readFile(jsonPath, 'utf8');
62
+ }
63
+ catch {
64
+ throw new EjectError(`no diagram '${name}' (${jsonPath})`, 'not-found');
65
+ }
66
+ let parsed;
67
+ try {
68
+ parsed = JSON.parse(raw);
69
+ }
70
+ catch (e) {
71
+ throw new EjectError(`'${name}' is not valid JSON: ${errMessage(e)}`, 'invalid');
72
+ }
73
+ const issues = validate(parsed);
74
+ if (issues.length > 0) {
75
+ throw new EjectError(`'${name}' fails validation; fix it before ejecting:\n${issues.map((i) => ` ${i.message}`).join('\n')}`, 'invalid');
76
+ }
77
+ // A validate-clean model can still hold a value the emitter genuinely
78
+ // cannot express (e.g. `undefined` reaching tsLiteral); classify that as a
79
+ // refusal instead of letting a plain Error escape the taxonomy — otherwise
80
+ // the API 500s and the CLI prints a bare, uncontextualized message.
81
+ let source;
82
+ try {
83
+ source = (opts?.emit ?? ejectSource)(parsed);
84
+ }
85
+ catch (e) {
86
+ throw new EjectError(`cannot eject '${name}': ${errMessage(e)}`, 'invalid');
87
+ }
88
+ // Execute from a temp dir outside the source glob, so a running compile
89
+ // watcher never sees the candidate file. coreEntry makes /tmp resolvable.
90
+ const tmpDir = await mkdtemp(path.join(os.tmpdir(), 'diagc-eject-'));
91
+ let rebuilt;
92
+ try {
93
+ const tmpFile = path.join(tmpDir, `${path.basename(name)}.diagram.ts`);
94
+ await writeFile(tmpFile, source);
95
+ try {
96
+ rebuilt = await executeDiagramTs(tmpFile, opts?.coreEntry);
97
+ }
98
+ catch (e) {
99
+ throw new EjectError(`generated source failed to execute: ${errMessage(e)}`, 'mismatch');
100
+ }
101
+ }
102
+ finally {
103
+ await rm(tmpDir, { recursive: true, force: true });
104
+ }
105
+ if (!isDeepStrictEqual(rebuilt, parsed)) {
106
+ throw new EjectError(`generated source does not reproduce the model — refusing to replace. Differs at:\n${diffPaths(rebuilt, parsed)
107
+ .map((p) => ` ${p}`)
108
+ .join('\n')}`, 'mismatch');
109
+ }
110
+ await writeFile(tsPath, source);
111
+ await unlink(jsonPath);
112
+ // path.dirname(diagramsDir) is the .diagrams root when diagramsDir is
113
+ // .diagrams/src — the same rootDir a locked session uses elsewhere.
114
+ const snap = snapshotSession(resolveInclude, path.dirname(diagramsDir), 'locked');
115
+ await compileFile(tsPath, artifactsDir, {
116
+ rootDir: diagramsDir,
117
+ resolver: snap.resolver,
118
+ ...(opts?.coreEntry !== undefined ? { coreEntry: opts.coreEntry } : {}),
119
+ });
120
+ return { tsPath };
121
+ }
package/dist/home.d.ts ADDED
@@ -0,0 +1,36 @@
1
+ /** Which of the two shipping shapes the CLI is running from.
2
+ *
3
+ * - `monorepo`: a checkout (or a `pnpm link --global` bin pointing into one).
4
+ * Assets are read from `apps/`, the studio runs on Vite, core is TS source.
5
+ * - `packaged`: installed from the registry. Assets were staged into the
6
+ * package at build time, the studio is a prebuilt bundle served by our own
7
+ * http server, and core is the published dependency. */
8
+ export type HomeLayout = 'monorepo' | 'packaged';
9
+ export interface HomePaths {
10
+ root: string;
11
+ layout: HomeLayout;
12
+ /** single-file viewer HTML that `publish` stamps models into */
13
+ viewerShell: string;
14
+ /** icon/shape library that `publish` inlines `/library/...` refs from */
15
+ libraryDir: string;
16
+ /** module `@diagc/core` is aliased to when jiti executes a `.diagram.ts` */
17
+ coreEntry: string;
18
+ /** monorepo: the studio's Vite root; packaged: the prebuilt studio bundle */
19
+ studioDir: string;
20
+ }
21
+ export interface Home {
22
+ root: string;
23
+ layout: HomeLayout;
24
+ }
25
+ /** Locate the CLI's home and decide which layout it is.
26
+ *
27
+ * A workspace anywhere above wins over a packaged marker, even though the
28
+ * marker sits closer: once assets have been staged into `packages/diagc/assets`
29
+ * for a release, a depth-ordered search would find them first and quietly put a
30
+ * development checkout into packaged mode. */
31
+ export declare function findHome(startPath: string): Home;
32
+ /** Resolve the installed `@diagc/core` entry from this module's location,
33
+ * so jiti aliases a user's `.diagram.ts` to the very copy the CLI itself uses.
34
+ * Injectable for tests; the default is the real resolver. */
35
+ export declare function resolveCoreEntry(resolve?: (id: string) => string): string;
36
+ export declare function homePaths(home: Home, coreEntry?: typeof resolveCoreEntry): HomePaths;
package/dist/home.js ADDED
@@ -0,0 +1,75 @@
1
+ import { existsSync, realpathSync } from 'node:fs';
2
+ import { createRequire } from 'node:module';
3
+ import path from 'node:path';
4
+ /** Marker that identifies a packaged install: the staged viewer shell. It is
5
+ * the one file `publish` cannot work without, so if it is missing the install
6
+ * is broken whatever we decide to call it. */
7
+ const PACKAGED_MARKER = path.join('assets', 'viewer', 'index.html');
8
+ /** Every directory from `startPath`'s realpath up to the filesystem root.
9
+ * Resolving the realpath first is what lets a globally linked bin find its
10
+ * source checkout through the symlink. */
11
+ function ancestors(startPath) {
12
+ const out = [];
13
+ let dir = path.dirname(realpathSync(startPath));
14
+ for (;;) {
15
+ out.push(dir);
16
+ const parent = path.dirname(dir);
17
+ if (parent === dir)
18
+ return out;
19
+ dir = parent;
20
+ }
21
+ }
22
+ /** Locate the CLI's home and decide which layout it is.
23
+ *
24
+ * A workspace anywhere above wins over a packaged marker, even though the
25
+ * marker sits closer: once assets have been staged into `packages/diagc/assets`
26
+ * for a release, a depth-ordered search would find them first and quietly put a
27
+ * development checkout into packaged mode. */
28
+ export function findHome(startPath) {
29
+ const dirs = ancestors(startPath);
30
+ for (const dir of dirs) {
31
+ if (existsSync(path.join(dir, 'pnpm-workspace.yaml')))
32
+ return { root: dir, layout: 'monorepo' };
33
+ }
34
+ for (const dir of dirs) {
35
+ if (existsSync(path.join(dir, PACKAGED_MARKER)) && existsSync(path.join(dir, 'package.json'))) {
36
+ return { root: dir, layout: 'packaged' };
37
+ }
38
+ }
39
+ throw new Error('cannot locate diagc home (expected an installed package with assets/, or a monorepo with pnpm-workspace.yaml above the bin); reinstall diagc, or re-run `pnpm link --global` from the monorepo.');
40
+ }
41
+ /** Resolve the installed `@diagc/core` entry from this module's location,
42
+ * so jiti aliases a user's `.diagram.ts` to the very copy the CLI itself uses.
43
+ * Injectable for tests; the default is the real resolver. */
44
+ export function resolveCoreEntry(resolve = createRequire(import.meta.url).resolve) {
45
+ try {
46
+ return resolve('@diagc/core');
47
+ }
48
+ catch {
49
+ throw new Error("diagc is installed without its '@diagc/core' dependency — reinstall it (npm i -g @diagc/cli).");
50
+ }
51
+ }
52
+ export function homePaths(home, coreEntry = resolveCoreEntry) {
53
+ const { root, layout } = home;
54
+ if (layout === 'packaged') {
55
+ const studioDir = path.join(root, 'assets', 'studio');
56
+ return {
57
+ root,
58
+ layout,
59
+ viewerShell: path.join(root, 'assets', 'viewer', 'index.html'),
60
+ // The studio bundle carries its own `public/library` through the Vite
61
+ // build, so publish and the studio server read one staged copy.
62
+ libraryDir: path.join(studioDir, 'library'),
63
+ coreEntry: coreEntry(),
64
+ studioDir,
65
+ };
66
+ }
67
+ return {
68
+ root,
69
+ layout,
70
+ viewerShell: path.join(root, 'apps', 'viewer', 'dist', 'index.html'),
71
+ libraryDir: path.join(root, 'apps', 'studio', 'public', 'library'),
72
+ coreEntry: path.join(root, 'packages', 'core', 'src', 'index.ts'),
73
+ studioDir: path.join(root, 'apps', 'studio'),
74
+ };
75
+ }
@@ -0,0 +1,5 @@
1
+ import type { IncludeSource } from '@diagc/core';
2
+ /** diagc's include IO: http(s) URLs via fetch, everything else via the
3
+ * filesystem relative to the declaring file. Returns the canonical resolved
4
+ * ref so compose can detect cycles across mixed URL/path chains. */
5
+ export declare function resolveInclude(spec: string, fromRef: string): Promise<IncludeSource>;
@@ -0,0 +1,17 @@
1
+ import { readFile } from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ const isHttp = (s) => /^https?:\/\//.test(s);
4
+ /** diagc's include IO: http(s) URLs via fetch, everything else via the
5
+ * filesystem relative to the declaring file. Returns the canonical resolved
6
+ * ref so compose can detect cycles across mixed URL/path chains. */
7
+ export async function resolveInclude(spec, fromRef) {
8
+ if (isHttp(spec) || isHttp(fromRef)) {
9
+ const url = isHttp(spec) ? spec : new URL(spec, fromRef).href;
10
+ const res = await fetch(url);
11
+ if (!res.ok)
12
+ throw new Error(`HTTP ${res.status} fetching ${url}`);
13
+ return { model: (await res.json()), ref: url };
14
+ }
15
+ const file = path.resolve(path.dirname(fromRef), spec);
16
+ return { model: JSON.parse(await readFile(file, 'utf8')), ref: file };
17
+ }