@intentius/chant-lexicon-aws 0.124.30 → 0.124.32

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 (644) hide show
  1. package/dist/actions/dynamodb.js +41 -0
  2. package/dist/actions/ecr.js +9 -0
  3. package/dist/actions/ecs.js +5 -0
  4. package/dist/actions/iam.js +3 -0
  5. package/dist/actions/index.js +9 -0
  6. package/dist/actions/lambda.js +11 -0
  7. package/dist/actions/logs.js +4 -0
  8. package/dist/actions/s3.js +40 -0
  9. package/dist/actions/sns.js +5 -0
  10. package/dist/actions/sqs.js +15 -0
  11. package/dist/agentcore/trace-fetch.d.ts.map +1 -1
  12. package/dist/agentcore/trace-fetch.js +472 -0
  13. package/dist/agentcore/trace-render.js +359 -0
  14. package/dist/ambient.js +148 -0
  15. package/dist/api/credential-chain.d.ts +30 -3
  16. package/dist/api/credential-chain.d.ts.map +1 -1
  17. package/dist/api/credential-chain.js +509 -0
  18. package/dist/api/read-client.d.ts +16 -43
  19. package/dist/api/read-client.d.ts.map +1 -1
  20. package/dist/api/read-client.js +458 -0
  21. package/dist/api/sigv4.d.ts +4 -4
  22. package/dist/api/sigv4.js +185 -0
  23. package/dist/behaviour-kinds.js +114 -0
  24. package/dist/caller-identity.d.ts +3 -5
  25. package/dist/caller-identity.d.ts.map +1 -1
  26. package/dist/caller-identity.js +146 -0
  27. package/dist/codegen/docs-cli.js +2 -0
  28. package/dist/codegen/docs.js +120 -0
  29. package/dist/codegen/enum-overlay.js +162 -0
  30. package/dist/codegen/extensions.js +139 -0
  31. package/dist/codegen/fallback.js +32 -0
  32. package/dist/codegen/generate-cli.js +15 -0
  33. package/dist/codegen/generate-lexicon.js +70 -0
  34. package/dist/codegen/generate-typescript.js +226 -0
  35. package/dist/codegen/generate.d.ts.map +1 -1
  36. package/dist/codegen/generate.js +234 -0
  37. package/dist/codegen/naming.js +135 -0
  38. package/dist/codegen/package.js +67 -0
  39. package/dist/codegen/patches.d.ts +26 -1
  40. package/dist/codegen/patches.d.ts.map +1 -1
  41. package/dist/codegen/patches.js +90 -0
  42. package/dist/codegen/property-overlay.js +85 -0
  43. package/dist/codegen/property-overlay.json +1 -16
  44. package/dist/codegen/sam.js +402 -0
  45. package/dist/codegen/typecheck.js +4 -0
  46. package/dist/codegen/versions.js +31 -0
  47. package/dist/components/__tests__/mock-cloud-executor.js +326 -0
  48. package/dist/components/apply.d.ts +44 -1
  49. package/dist/components/apply.d.ts.map +1 -1
  50. package/dist/components/apply.js +752 -0
  51. package/dist/components/builders.js +37 -0
  52. package/dist/components/capability-plugin.js +66 -0
  53. package/dist/components/cloud-executor.d.ts +35 -0
  54. package/dist/components/cloud-executor.d.ts.map +1 -1
  55. package/dist/components/cloud-executor.js +576 -0
  56. package/dist/components/config-bom.js +207 -0
  57. package/dist/components/host-delivery.js +117 -0
  58. package/dist/components/index.js +18 -0
  59. package/dist/components/job-submission.js +77 -0
  60. package/dist/components/publish.js +234 -0
  61. package/dist/components/safety.js +62 -0
  62. package/dist/components/wait-aws.js +68 -0
  63. package/dist/composites/agentcore-agent.js +187 -0
  64. package/dist/composites/agentcore-trust-policy.js +13 -0
  65. package/dist/composites/alb-shared.js +84 -0
  66. package/dist/composites/bucket-deployment.js +93 -0
  67. package/dist/composites/catalog.js +2714 -0
  68. package/dist/composites/dynamodb-table.js +66 -0
  69. package/dist/composites/ec2-instance-bundle.js +75 -0
  70. package/dist/composites/ec2-instance-role.js +26 -0
  71. package/dist/composites/ecr-repository.js +64 -0
  72. package/dist/composites/ecs-trust-policy.js +10 -0
  73. package/dist/composites/efs-with-access-point.js +44 -0
  74. package/dist/composites/eks-cluster.js +118 -0
  75. package/dist/composites/fargate-alb.js +216 -0
  76. package/dist/composites/fargate-service.js +222 -0
  77. package/dist/composites/index.js +28 -0
  78. package/dist/composites/lambda-api.js +15 -0
  79. package/dist/composites/lambda-dynamodb.js +77 -0
  80. package/dist/composites/lambda-eventbridge.js +27 -0
  81. package/dist/composites/lambda-function.js +54 -0
  82. package/dist/composites/lambda-s3.js +93 -0
  83. package/dist/composites/lambda-sns.js +23 -0
  84. package/dist/composites/lambda-sqs.js +34 -0
  85. package/dist/composites/landing-zone.js +82 -0
  86. package/dist/composites/microvm-app.js +293 -0
  87. package/dist/composites/minimal-vpc.js +40 -0
  88. package/dist/composites/monitoring-stack.js +105 -0
  89. package/dist/composites/nlb-service.js +61 -0
  90. package/dist/composites/rds-instance.js +98 -0
  91. package/dist/composites/scheduled-lambda.js +28 -0
  92. package/dist/composites/solr-fargate-service.js +33 -0
  93. package/dist/composites/step-functions-workflow.js +78 -0
  94. package/dist/composites/vpc-default.js +132 -0
  95. package/dist/condition.js +43 -0
  96. package/dist/coverage.js +4 -0
  97. package/dist/deep-observe.d.ts.map +1 -1
  98. package/dist/deep-observe.js +709 -0
  99. package/dist/deep-topology.js +226 -0
  100. package/dist/default-tags.js +50 -0
  101. package/dist/defaults.js +85 -0
  102. package/dist/dependencies.js +269 -0
  103. package/dist/detect.js +21 -0
  104. package/dist/disruption.d.ts.map +1 -1
  105. package/dist/disruption.js +129 -0
  106. package/dist/effect-receipt-row.js +107 -0
  107. package/dist/generated/index.d.ts +1297 -82
  108. package/dist/generated/index.d.ts.map +1 -1
  109. package/dist/generated/index.js +12382 -0
  110. package/dist/generated/runtime.js +4 -0
  111. package/dist/governance.js +131 -0
  112. package/dist/identity-observe.d.ts.map +1 -1
  113. package/dist/identity-observe.js +127 -0
  114. package/dist/import/generator.js +757 -0
  115. package/dist/import/live-export.js +34 -0
  116. package/dist/import/parser.js +394 -0
  117. package/dist/index.js +69 -0
  118. package/dist/integrity.json +6 -6
  119. package/dist/intrinsics.js +393 -0
  120. package/dist/lint/audit-catalog.js +87 -0
  121. package/dist/lint/audit-lineage.js +150 -0
  122. package/dist/lint/post-synth/cf-refs.js +247 -0
  123. package/dist/lint/post-synth/cor020.js +60 -0
  124. package/dist/lint/post-synth/ext001.d.ts.map +1 -1
  125. package/dist/lint/post-synth/ext001.js +197 -0
  126. package/dist/lint/post-synth/index.js +124 -0
  127. package/dist/lint/post-synth/waw010.js +41 -0
  128. package/dist/lint/post-synth/waw011.js +41 -0
  129. package/dist/lint/post-synth/waw013.js +38 -0
  130. package/dist/lint/post-synth/waw014.js +42 -0
  131. package/dist/lint/post-synth/waw015.js +88 -0
  132. package/dist/lint/post-synth/waw016.d.ts.map +1 -1
  133. package/dist/lint/post-synth/waw016.js +116 -0
  134. package/dist/lint/post-synth/waw017.js +43 -0
  135. package/dist/lint/post-synth/waw018.js +61 -0
  136. package/dist/lint/post-synth/waw019.js +64 -0
  137. package/dist/lint/post-synth/waw020.js +56 -0
  138. package/dist/lint/post-synth/waw021.js +44 -0
  139. package/dist/lint/post-synth/waw022.js +36 -0
  140. package/dist/lint/post-synth/waw023.js +40 -0
  141. package/dist/lint/post-synth/waw024.js +46 -0
  142. package/dist/lint/post-synth/waw025.js +36 -0
  143. package/dist/lint/post-synth/waw026.js +38 -0
  144. package/dist/lint/post-synth/waw027.js +41 -0
  145. package/dist/lint/post-synth/waw028.js +39 -0
  146. package/dist/lint/post-synth/waw029.js +54 -0
  147. package/dist/lint/post-synth/waw030.js +282 -0
  148. package/dist/lint/post-synth/waw031.js +58 -0
  149. package/dist/lint/post-synth/waw032.js +45 -0
  150. package/dist/lint/post-synth/waw033.js +75 -0
  151. package/dist/lint/post-synth/waw034.js +52 -0
  152. package/dist/lint/post-synth/waw035.js +56 -0
  153. package/dist/lint/post-synth/waw036.js +79 -0
  154. package/dist/lint/post-synth/waw037.js +67 -0
  155. package/dist/lint/post-synth/waw038.js +42 -0
  156. package/dist/lint/post-synth/waw039.js +42 -0
  157. package/dist/lint/post-synth/waw040.js +45 -0
  158. package/dist/lint/post-synth/waw041.js +40 -0
  159. package/dist/lint/post-synth/waw042.js +99 -0
  160. package/dist/lint/post-synth/waw043.js +51 -0
  161. package/dist/lint/post-synth/waw044.js +64 -0
  162. package/dist/lint/post-synth/waw045.js +49 -0
  163. package/dist/lint/post-synth/waw046.js +52 -0
  164. package/dist/lint/post-synth/waw047.js +43 -0
  165. package/dist/lint/post-synth/waw048.js +40 -0
  166. package/dist/lint/post-synth/waw049.js +78 -0
  167. package/dist/lint/post-synth/waw050.js +44 -0
  168. package/dist/lint/post-synth/waw051.js +41 -0
  169. package/dist/lint/post-synth/waw052.js +43 -0
  170. package/dist/lint/post-synth/waw053.js +43 -0
  171. package/dist/lint/post-synth/waw054.js +41 -0
  172. package/dist/lint/post-synth/waw055.js +41 -0
  173. package/dist/lint/post-synth/waw056.js +65 -0
  174. package/dist/lint/post-synth/waw057.js +43 -0
  175. package/dist/lint/post-synth/waw058.js +61 -0
  176. package/dist/lint/post-synth/waw059.js +338 -0
  177. package/dist/lint/post-synth/waw060.js +83 -0
  178. package/dist/lint/post-synth/waw061.js +60 -0
  179. package/dist/lint/post-synth/waw062.js +0 -0
  180. package/dist/lint/post-synth/waw063.js +0 -0
  181. package/dist/lint/post-synth/waw064.js +45 -0
  182. package/dist/lint/post-synth/waw065.js +104 -0
  183. package/dist/lint/post-synth/waw066.js +145 -0
  184. package/dist/lint/post-synth/waw067.js +115 -0
  185. package/dist/lint/post-synth/waw068.js +69 -0
  186. package/dist/lint/post-synth/waw069.js +0 -0
  187. package/dist/lint/rules/hardcoded-region.js +38 -0
  188. package/dist/lint/rules/iam-wildcard.js +60 -0
  189. package/dist/lint/rules/index.js +6 -0
  190. package/dist/lint/rules/s3-encryption.js +60 -0
  191. package/dist/live-attrs.js +42 -0
  192. package/dist/lsp/completions.d.ts.map +1 -1
  193. package/dist/lsp/completions.js +18 -0
  194. package/dist/lsp/hover.d.ts.map +1 -1
  195. package/dist/lsp/hover.js +66 -0
  196. package/dist/manifest.json +1 -1
  197. package/dist/mapping.js +33 -0
  198. package/dist/meta.json +17359 -784
  199. package/dist/nested-stack.js +95 -0
  200. package/dist/okf/index.md +203 -0
  201. package/dist/okf/rules/EXT001.md +1 -0
  202. package/dist/okf/rules/WAW016.md +2 -0
  203. package/dist/okf/rules/WAW019.md +1 -0
  204. package/dist/okf/rules/WAW028.md +1 -0
  205. package/dist/okf/rules/WAW030.md +2 -0
  206. package/dist/okf/rules/WAW039.md +1 -0
  207. package/dist/okf/rules/WAW049.md +1 -0
  208. package/dist/okf/rules/WAW056.md +1 -0
  209. package/dist/okf/rules/WAW058.md +1 -0
  210. package/dist/okf/rules/WAW062.md +1 -0
  211. package/dist/okf/rules/WAW064.md +1 -0
  212. package/dist/okf/rules/WAW065.md +1 -0
  213. package/dist/okf/rules/WAW066.md +1 -0
  214. package/dist/okf/rules/WAW067.md +1 -0
  215. package/dist/okf/rules/WAW068.md +1 -0
  216. package/dist/okf/rules/WAW069.md +4 -0
  217. package/dist/okf/types/AIWorkloadConfig.md +23 -0
  218. package/dist/okf/types/ARCRegionSwitchPlan.md +1 -0
  219. package/dist/okf/types/AccountAccessApplication.md +28 -0
  220. package/dist/okf/types/AccountAccessEntitlement.md +22 -0
  221. package/dist/okf/types/ActionTarget.md +20 -0
  222. package/dist/okf/types/AdConfiguration.md +21 -0
  223. package/dist/okf/types/Adapter.md +26 -0
  224. package/dist/okf/types/AgentContext.md +35 -0
  225. package/dist/okf/types/AgentGoal.md +31 -0
  226. package/dist/okf/types/AgentProfile.md +34 -0
  227. package/dist/okf/types/Alarm.md +3 -1
  228. package/dist/okf/types/AlarmModel.md +14 -9
  229. package/dist/okf/types/AmplifyWebhook.md +25 -0
  230. package/dist/okf/types/ApiCache.md +8 -8
  231. package/dist/okf/types/ApiGatewayManagedOverrides.md +5 -5
  232. package/dist/okf/types/AppAuthorization.md +35 -0
  233. package/dist/okf/types/AppBlockBuilder.md +1 -0
  234. package/dist/okf/types/AppInstance.md +2 -2
  235. package/dist/okf/types/AppInstanceBot.md +2 -2
  236. package/dist/okf/types/AppStreamFleet.md +3 -2
  237. package/dist/okf/types/AppSyncApiKey.md +6 -6
  238. package/dist/okf/types/AppSyncType.md +22 -0
  239. package/dist/okf/types/ApplicationStatusCheck.md +36 -0
  240. package/dist/okf/types/ApplicationVersion.md +4 -1
  241. package/dist/okf/types/ApplicationsList.md +26 -0
  242. package/dist/okf/types/ApprovalPolicy.md +28 -0
  243. package/dist/okf/types/ArchiveRule.md +24 -0
  244. package/dist/okf/types/Asset.md +30 -0
  245. package/dist/okf/types/Backup.md +31 -0
  246. package/dist/okf/types/BedrockAgentCoreDataset.md +1 -1
  247. package/dist/okf/types/BedrockAgentCoreGateway.md +3 -0
  248. package/dist/okf/types/BedrockSession.md +28 -0
  249. package/dist/okf/types/BillEstimate.md +35 -0
  250. package/dist/okf/types/Brand.md +32 -0
  251. package/dist/okf/types/CallAnalyticsCategory.md +25 -0
  252. package/dist/okf/types/Campaign.md +28 -0
  253. package/dist/okf/types/CapacityProvider.md +30 -0
  254. package/dist/okf/types/Case.md +24 -0
  255. package/dist/okf/types/CertificateAssociation.md +13 -0
  256. package/dist/okf/types/ChangeSet.md +36 -0
  257. package/dist/okf/types/ChannelFlow.md +29 -0
  258. package/dist/okf/types/ChimeChannel.md +39 -0
  259. package/dist/okf/types/Classifier.md +6 -6
  260. package/dist/okf/types/ClientVpnAuthorizationRule.md +6 -6
  261. package/dist/okf/types/ClientVpnEndpoint.md +2 -0
  262. package/dist/okf/types/ClientVpnRoute.md +5 -5
  263. package/dist/okf/types/CloudConnector.md +29 -0
  264. package/dist/okf/types/Cluster.md +39 -0
  265. package/dist/okf/types/ClusterSchedulerConfig.md +30 -0
  266. package/dist/okf/types/CodeCommitRepository.md +12 -12
  267. package/dist/okf/types/CodeConnectionsHost.md +26 -0
  268. package/dist/okf/types/CodeRepository.md +5 -5
  269. package/dist/okf/types/CompositeAlarm.md +1 -0
  270. package/dist/okf/types/ComputeEnvironment.md +2 -0
  271. package/dist/okf/types/ComputeNodeGroup.md +1 -1
  272. package/dist/okf/types/ComputeQuota.md +34 -0
  273. package/dist/okf/types/ConfigRule.md +1 -1
  274. package/dist/okf/types/ConfigurationRecorder.md +7 -6
  275. package/dist/okf/types/ConnectAttachment.md +2 -0
  276. package/dist/okf/types/ConnectQueue.md +5 -1
  277. package/dist/okf/types/ConnectVocabulary.md +28 -0
  278. package/dist/okf/types/ConnectionType.md +24 -0
  279. package/dist/okf/types/ConsentPortal.md +33 -0
  280. package/dist/okf/types/ContactMethod.md +29 -0
  281. package/dist/okf/types/ContainerAssociation.md +26 -0
  282. package/dist/okf/types/ContainerFleet.md +1 -1
  283. package/dist/okf/types/ContainerGroupDefinition.md +1 -1
  284. package/dist/okf/types/Content.md +40 -0
  285. package/dist/okf/types/ContentAssociation.md +28 -0
  286. package/dist/okf/types/CustomDetectionRuleAssociation.md +28 -0
  287. package/dist/okf/types/CustomEntityType.md +4 -9
  288. package/dist/okf/types/Customization.md +22 -0
  289. package/dist/okf/types/CwIntegration.md +31 -0
  290. package/dist/okf/types/DAXParameterGroup.md +3 -8
  291. package/dist/okf/types/DAXSubnetGroup.md +0 -5
  292. package/dist/okf/types/DBClusterEndpoint.md +31 -0
  293. package/dist/okf/types/DBProxyTargetGroup.md +1 -0
  294. package/dist/okf/types/DBSnapshot.md +62 -0
  295. package/dist/okf/types/DLMLifecyclePolicy.md +12 -12
  296. package/dist/okf/types/DLPSetting.md +31 -0
  297. package/dist/okf/types/DMSInstanceProfile.md +1 -1
  298. package/dist/okf/types/DRSLaunchConfigurationTemplate.md +28 -0
  299. package/dist/okf/types/Daemon.md +1 -0
  300. package/dist/okf/types/DataExchangeDataSet.md +29 -0
  301. package/dist/okf/types/DataIntegrationFlow.md +27 -0
  302. package/dist/okf/types/DataMigration.md +1 -1
  303. package/dist/okf/types/DataProvider.md +2 -1
  304. package/dist/okf/types/DataQualityRuleset.md +6 -11
  305. package/dist/okf/types/DataSource.md +23 -0
  306. package/dist/okf/types/Dataset.md +20 -0
  307. package/dist/okf/types/DatasetIntegration.md +23 -0
  308. package/dist/okf/types/DbCluster.md +1 -1
  309. package/dist/okf/types/DbInstance.md +8 -2
  310. package/dist/okf/types/DeadlineBudget.md +29 -0
  311. package/dist/okf/types/DelegationSet.md +23 -0
  312. package/dist/okf/types/DeliveryChannel.md +6 -11
  313. package/dist/okf/types/DevOpsAgentAgentSpace.md +4 -0
  314. package/dist/okf/types/DevOpsAgentService.md +1 -0
  315. package/dist/okf/types/DevOpsAgentTrigger.md +28 -0
  316. package/dist/okf/types/DirectConnectGatewayAttachment.md +2 -0
  317. package/dist/okf/types/Directory.md +60 -0
  318. package/dist/okf/types/DocDBDBClusterParameterGroup.md +5 -10
  319. package/dist/okf/types/DocDBDBSubnetGroup.md +4 -9
  320. package/dist/okf/types/DocDBElasticClusterSnapshot.md +36 -0
  321. package/dist/okf/types/DocumentClassifierEndpoint.md +27 -0
  322. package/dist/okf/types/Domain.md +27 -0
  323. package/dist/okf/types/EKSCertificateAuthority.md +42 -0
  324. package/dist/okf/types/EKSCluster.md +8 -0
  325. package/dist/okf/types/EcSnapshot.md +66 -0
  326. package/dist/okf/types/EmailIdentityCertificate.md +15 -0
  327. package/dist/okf/types/EndpointConfig.md +14 -13
  328. package/dist/okf/types/EntityRecognizer.md +27 -0
  329. package/dist/okf/types/EntityRecognizerEndpoint.md +31 -0
  330. package/dist/okf/types/EnvironmentEC2.md +13 -13
  331. package/dist/okf/types/EvaluationForm.md +1 -0
  332. package/dist/okf/types/Evaluator.md +6 -2
  333. package/dist/okf/types/EventAction.md +26 -0
  334. package/dist/okf/types/EventRule.md +2 -0
  335. package/dist/okf/types/EventSource.md +30 -0
  336. package/dist/okf/types/EventTracker.md +22 -0
  337. package/dist/okf/types/EventsV2EventBus.md +28 -0
  338. package/dist/okf/types/EventsV2ResourcePolicy.md +19 -0
  339. package/dist/okf/types/EventsV2Subscriber.md +39 -0
  340. package/dist/okf/types/ExperimentDefinition.md +39 -0
  341. package/dist/okf/types/ExperimentRun.md +33 -0
  342. package/dist/okf/types/ExperimentTrialComponent.md +13 -11
  343. package/dist/okf/types/FHIRDatastore.md +3 -0
  344. package/dist/okf/types/FSxSnapshot.md +5 -5
  345. package/dist/okf/types/FSxVolume.md +9 -9
  346. package/dist/okf/types/FeaturedResultsSet.md +26 -0
  347. package/dist/okf/types/Feed.md +1 -0
  348. package/dist/okf/types/FieldLevelEncryptionConfig.md +25 -0
  349. package/dist/okf/types/FieldLevelEncryptionProfile.md +22 -0
  350. package/dist/okf/types/FileCache.md +45 -0
  351. package/dist/okf/types/Filter.md +27 -0
  352. package/dist/okf/types/Firewall.md +6 -0
  353. package/dist/okf/types/FlowMediaStream.md +28 -0
  354. package/dist/okf/types/FlowOutput.md +1 -0
  355. package/dist/okf/types/FpgaImage.md +38 -0
  356. package/dist/okf/types/Function.md +2 -2
  357. package/dist/okf/types/Gateway.md +41 -0
  358. package/dist/okf/types/GatewayClusterAssociations.md +23 -0
  359. package/dist/okf/types/GatewayRateLimit.md +26 -0
  360. package/dist/okf/types/GatewayRule.md +32 -0
  361. package/dist/okf/types/GlobalReplicationGroup.md +3 -0
  362. package/dist/okf/types/GlobalResolver.md +1 -1
  363. package/dist/okf/types/GlobalTable.md +1 -0
  364. package/dist/okf/types/GlueConnection.md +5 -4
  365. package/dist/okf/types/GlueSecurityConfiguration.md +1 -6
  366. package/dist/okf/types/GlueSession.md +38 -0
  367. package/dist/okf/types/GlueTable.md +5 -10
  368. package/dist/okf/types/GlueWorkflow.md +5 -10
  369. package/dist/okf/types/Group.md +27 -0
  370. package/dist/okf/types/Harness.md +1 -0
  371. package/dist/okf/types/HostKey.md +33 -0
  372. package/dist/okf/types/HostedZone.md +1 -0
  373. package/dist/okf/types/HttpApi.md +2 -0
  374. package/dist/okf/types/HttpNamespace.md +5 -5
  375. package/dist/okf/types/HubV2.md +1 -0
  376. package/dist/okf/types/HumanTaskUi.md +22 -0
  377. package/dist/okf/types/IPv4Pool.md +28 -0
  378. package/dist/okf/types/ImageBuilder.md +1 -0
  379. package/dist/okf/types/ImageBuilderImage.md +1 -1
  380. package/dist/okf/types/ImagePipeline.md +1 -1
  381. package/dist/okf/types/InferenceComponent.md +5 -1
  382. package/dist/okf/types/InfluxDBBackup.md +65 -0
  383. package/dist/okf/types/InfluxDBCluster.md +3 -0
  384. package/dist/okf/types/InfrastructureConfiguration.md +2 -0
  385. package/dist/okf/types/IngestionDestination.md +28 -0
  386. package/dist/okf/types/InputSecurityGroup.md +6 -4
  387. package/dist/okf/types/InspectorV2Connector.md +38 -0
  388. package/dist/okf/types/InstanceEventWindow.md +25 -0
  389. package/dist/okf/types/InstanceFleetConfig.md +10 -10
  390. package/dist/okf/types/InstanceGroupConfig.md +3 -3
  391. package/dist/okf/types/InstrumentationConfig.md +31 -0
  392. package/dist/okf/types/IntegrationAssociation.md +3 -0
  393. package/dist/okf/types/IoTSiteWiseApplication.md +34 -0
  394. package/dist/okf/types/IoTSiteWiseDataset.md +5 -2
  395. package/dist/okf/types/IoTSiteWiseTask.md +24 -0
  396. package/dist/okf/types/IpamExternalResourceVerificationToken.md +35 -0
  397. package/dist/okf/types/IpamInternetRegistryAssociation.md +32 -0
  398. package/dist/okf/types/Job.md +35 -0
  399. package/dist/okf/types/JobTemplate.md +26 -0
  400. package/dist/okf/types/KinesisChannel.md +31 -0
  401. package/dist/okf/types/KinesisStream.md +1 -0
  402. package/dist/okf/types/LambdaResourcePolicy.md +14 -0
  403. package/dist/okf/types/Lexicon.md +34 -0
  404. package/dist/okf/types/LicenseAssetGroup.md +23 -0
  405. package/dist/okf/types/LicenseConfiguration.md +33 -0
  406. package/dist/okf/types/LicenseServerEndpoint.md +32 -0
  407. package/dist/okf/types/LightsailKeyPair.md +29 -0
  408. package/dist/okf/types/LimitsProfile.md +27 -0
  409. package/dist/okf/types/LocationAzureBlob.md +2 -1
  410. package/dist/okf/types/LocationObjectStorage.md +1 -0
  411. package/dist/okf/types/LogAlarm.md +2 -0
  412. package/dist/okf/types/MGNConnector.md +23 -0
  413. package/dist/okf/types/MGNLaunchConfigurationTemplate.md +37 -0
  414. package/dist/okf/types/MLTransform.md +15 -15
  415. package/dist/okf/types/MWAAServerlessWorkflow.md +3 -0
  416. package/dist/okf/types/ManagedNotificationAccountContactAssociation.md +1 -0
  417. package/dist/okf/types/ManagedNotificationAdditionalChannelAssociation.md +1 -0
  418. package/dist/okf/types/MediaConvertJobTemplate.md +11 -13
  419. package/dist/okf/types/MediaConvertQueue.md +8 -10
  420. package/dist/okf/types/MediaInsightsPipelineConfiguration.md +28 -0
  421. package/dist/okf/types/MediaLiveInput.md +41 -18
  422. package/dist/okf/types/MediaPackageV2Channel.md +3 -0
  423. package/dist/okf/types/MediaPackageV2OriginEndpoint.md +1 -0
  424. package/dist/okf/types/MediaPipelineKinesisVideoStreamPool.md +28 -0
  425. package/dist/okf/types/MediaTailorFunction.md +27 -0
  426. package/dist/okf/types/MedicalVocabulary.md +21 -0
  427. package/dist/okf/types/Member.md +26 -0
  428. package/dist/okf/types/Memory.md +6 -0
  429. package/dist/okf/types/MemoryDBSnapshot.md +29 -0
  430. package/dist/okf/types/Metric.md +59 -0
  431. package/dist/okf/types/MetricAttribution.md +23 -0
  432. package/dist/okf/types/MicrosoftAD.md +11 -11
  433. package/dist/okf/types/MigrationProject.md +8 -1
  434. package/dist/okf/types/Monitor.md +26 -0
  435. package/dist/okf/types/NFSFileShare.md +44 -0
  436. package/dist/okf/types/NeptuneGraphGraph.md +1 -0
  437. package/dist/okf/types/NetworkConnector.md +4 -0
  438. package/dist/okf/types/NetworkFlowMonitorScope.md +23 -0
  439. package/dist/okf/types/NetworkMigrationDefinition.md +31 -0
  440. package/dist/okf/types/NetworkSecurityManagerDeployment.md +31 -0
  441. package/dist/okf/types/NetworkSecurityManagerPolicy.md +32 -0
  442. package/dist/okf/types/NetworkSecurityManagerScope.md +29 -0
  443. package/dist/okf/types/NotebookInstance.md +18 -18
  444. package/dist/okf/types/NotebookInstanceLifecycleConfig.md +6 -5
  445. package/dist/okf/types/NotifyConfiguration.md +35 -0
  446. package/dist/okf/types/OTelEnrichment.md +2 -0
  447. package/dist/okf/types/OnlineEvaluationConfig.md +0 -1
  448. package/dist/okf/types/OrganizationConfigRule.md +7 -7
  449. package/dist/okf/types/Outpost.md +32 -0
  450. package/dist/okf/types/ParallelData.md +40 -0
  451. package/dist/okf/types/Partition.md +5 -5
  452. package/dist/okf/types/PaymentConnector.md +4 -1
  453. package/dist/okf/types/Pentest.md +1 -0
  454. package/dist/okf/types/PerfReports.md +28 -0
  455. package/dist/okf/types/PermissionAssociation.md +30 -0
  456. package/dist/okf/types/PersonalizeDataset.md +1 -0
  457. package/dist/okf/types/PersonalizeDatasetGroup.md +1 -0
  458. package/dist/okf/types/PersonalizeSchema.md +1 -0
  459. package/dist/okf/types/Pipeline.md +25 -0
  460. package/dist/okf/types/PlaybackConfiguration.md +1 -0
  461. package/dist/okf/types/PolicyAssociation.md +1 -1
  462. package/dist/okf/types/PolicyGrant.md +2 -2
  463. package/dist/okf/types/PolicyPrincipalAttachment.md +2 -7
  464. package/dist/okf/types/PortalProduct.md +24 -0
  465. package/dist/okf/types/PrefetchSchedule.md +25 -0
  466. package/dist/okf/types/PricingPlanManagerSubscription.md +31 -0
  467. package/dist/okf/types/PrincipalAssociation.md +27 -0
  468. package/dist/okf/types/PrivateDnsNamespace.md +8 -8
  469. package/dist/okf/types/PrivateVirtualInterface.md +1 -0
  470. package/dist/okf/types/ProcurementPortalPreference.md +45 -0
  471. package/dist/okf/types/Program.md +33 -0
  472. package/dist/okf/types/ProjectMembership.md +1 -1
  473. package/dist/okf/types/ProtocolsList.md +26 -0
  474. package/dist/okf/types/PublicDnsNamespace.md +7 -7
  475. package/dist/okf/types/PublicVirtualInterface.md +1 -0
  476. package/dist/okf/types/QEV2IdcApplication.md +25 -0
  477. package/dist/okf/types/QueryLoggingConfig.md +21 -0
  478. package/dist/okf/types/QuerySuggestionsBlockList.md +25 -0
  479. package/dist/okf/types/QuickSightAssignment.md +24 -0
  480. package/dist/okf/types/RAMResourceAssociation.md +27 -0
  481. package/dist/okf/types/RDSClusterSnapshot.md +54 -0
  482. package/dist/okf/types/RDSDBParameterGroup.md +5 -0
  483. package/dist/okf/types/RDSDeployment.md +41 -0
  484. package/dist/okf/types/RcsAgent.md +38 -0
  485. package/dist/okf/types/ReceiptRule.md +5 -5
  486. package/dist/okf/types/ReceiptRuleSet.md +1 -6
  487. package/dist/okf/types/RecommenderFilter.md +27 -0
  488. package/dist/okf/types/RecommenderSchema.md +25 -0
  489. package/dist/okf/types/RecordSet.md +16 -22
  490. package/dist/okf/types/RecoveryPlan.md +28 -0
  491. package/dist/okf/types/RedshiftIdcApplication.md +31 -0
  492. package/dist/okf/types/RedshiftSnapshot.md +59 -0
  493. package/dist/okf/types/RegistrationAttachment.md +28 -0
  494. package/dist/okf/types/Registry.md +41 -0
  495. package/dist/okf/types/RegistryRecord.md +38 -0
  496. package/dist/okf/types/RelatedItem.md +24 -0
  497. package/dist/okf/types/ReplicationConfigurationTemplate.md +35 -0
  498. package/dist/okf/types/ReplicationSubnetGroup.md +4 -9
  499. package/dist/okf/types/ReplicationTask.md +14 -14
  500. package/dist/okf/types/ReportGenerator.md +29 -0
  501. package/dist/okf/types/ReportGroup.md +1 -3
  502. package/dist/okf/types/ResilienceHubV2Policy.md +1 -0
  503. package/dist/okf/types/ResilienceHubV2Service.md +1 -0
  504. package/dist/okf/types/ResourceConfiguration.md +1 -1
  505. package/dist/okf/types/ResourceMetricsConfiguration.md +21 -0
  506. package/dist/okf/types/RestApi.md +1 -0
  507. package/dist/okf/types/RetrievalInstruction.md +32 -0
  508. package/dist/okf/types/RouterOutput.md +1 -0
  509. package/dist/okf/types/Rule.md +31 -0
  510. package/dist/okf/types/RunCache.md +29 -0
  511. package/dist/okf/types/Runtime.md +2 -1
  512. package/dist/okf/types/SCNInstance.md +33 -0
  513. package/dist/okf/types/SDBDomain.md +2 -2
  514. package/dist/okf/types/SMBFileShare.md +49 -0
  515. package/dist/okf/types/SageMakerArtifact.md +27 -0
  516. package/dist/okf/types/SageMakerEndpoint.md +0 -1
  517. package/dist/okf/types/ScalableTarget.md +1 -0
  518. package/dist/okf/types/ScalingPlan.md +6 -6
  519. package/dist/okf/types/ScheduledReport.md +31 -0
  520. package/dist/okf/types/SecondaryNetwork.md +26 -0
  521. package/dist/okf/types/SecurityAgentArtifact.md +25 -0
  522. package/dist/okf/types/SecurityAgentIntegration.md +31 -0
  523. package/dist/okf/types/Server.md +1 -0
  524. package/dist/okf/types/ServerlessCache.md +2 -0
  525. package/dist/okf/types/ServerlessCacheSnapshot.md +31 -0
  526. package/dist/okf/types/ServerlessRepoApplication.md +32 -0
  527. package/dist/okf/types/ServiceDiscoveryInstance.md +3 -7
  528. package/dist/okf/types/SipMediaApplication.md +27 -0
  529. package/dist/okf/types/SiteToSiteVpnAttachment.md +2 -0
  530. package/dist/okf/types/SnapshotCopyGrant.md +20 -0
  531. package/dist/okf/types/Solution.md +1 -0
  532. package/dist/okf/types/SourceAssociation.md +25 -0
  533. package/dist/okf/types/SourceCredential.md +6 -6
  534. package/dist/okf/types/SourceNetwork.md +23 -0
  535. package/dist/okf/types/StackFleetAssociation.md +2 -7
  536. package/dist/okf/types/StorageTierPolicy.md +20 -0
  537. package/dist/okf/types/StorageVirtualMachine.md +9 -9
  538. package/dist/okf/types/Stream.md +28 -0
  539. package/dist/okf/types/SubnetCidrReservation.md +26 -0
  540. package/dist/okf/types/SubscriptionProvider.md +26 -0
  541. package/dist/okf/types/SupportPermit.md +29 -0
  542. package/dist/okf/types/Table.md +2 -1
  543. package/dist/okf/types/TableOptimizer.md +5 -10
  544. package/dist/okf/types/Tape.md +31 -0
  545. package/dist/okf/types/Template.md +36 -0
  546. package/dist/okf/types/Tenant.md +2 -0
  547. package/dist/okf/types/Terminology.md +39 -0
  548. package/dist/okf/types/Thesaurus.md +25 -0
  549. package/dist/okf/types/ThingPrincipalAttachment.md +3 -8
  550. package/dist/okf/types/Topic.md +1 -0
  551. package/dist/okf/types/TopicRuleDestination.md +1 -0
  552. package/dist/okf/types/TrafficPolicy.md +26 -0
  553. package/dist/okf/types/TrafficPolicyInstance.md +28 -0
  554. package/dist/okf/types/TranscribeVocabulary.md +27 -0
  555. package/dist/okf/types/TransitGatewayRouteTableAttachment.md +2 -0
  556. package/dist/okf/types/TransitVirtualInterface.md +1 -0
  557. package/dist/okf/types/Tunnel.md +25 -0
  558. package/dist/okf/types/UsageLimit.md +26 -0
  559. package/dist/okf/types/UseCase.md +23 -0
  560. package/dist/okf/types/User.md +47 -0
  561. package/dist/okf/types/VPCEndpoint.md +1 -1
  562. package/dist/okf/types/VPCEndpointService.md +6 -0
  563. package/dist/okf/types/VPCPeeringConnection.md +2 -2
  564. package/dist/okf/types/VPNConcentrator.md +1 -1
  565. package/dist/okf/types/VPNConnection.md +1 -1
  566. package/dist/okf/types/VerifiedDestinationNumber.md +25 -0
  567. package/dist/okf/types/View.md +27 -0
  568. package/dist/okf/types/VoiceConnector.md +30 -0
  569. package/dist/okf/types/Volume.md +44 -0
  570. package/dist/okf/types/Vpc.md +1 -1
  571. package/dist/okf/types/VpcAttachment.md +2 -0
  572. package/dist/okf/types/WebFunction.md +27 -0
  573. package/dist/okf/types/WebFunctionEndpoint.md +44 -0
  574. package/dist/okf/types/WebFunctionRevision.md +32 -0
  575. package/dist/okf/types/WickrNetwork.md +27 -0
  576. package/dist/okf/types/Worker.md +29 -0
  577. package/dist/okf/types/Workforce.md +26 -0
  578. package/dist/okf/types/Workload.md +35 -0
  579. package/dist/okf/types/WorkloadEstimate.md +35 -0
  580. package/dist/okf/types/Workspace.md +28 -0
  581. package/dist/okf/types/Workteam.md +8 -8
  582. package/dist/op/activities/aws-apply.js +214 -0
  583. package/dist/op/activities/floci.js +97 -0
  584. package/dist/op/activities/index.js +32 -0
  585. package/dist/op/builders.js +50 -0
  586. package/dist/ownership.js +52 -0
  587. package/dist/package-cli.js +25 -0
  588. package/dist/parameter.js +19 -0
  589. package/dist/plugin.d.ts.map +1 -1
  590. package/dist/plugin.js +1006 -0
  591. package/dist/properties.js +166 -0
  592. package/dist/pseudo.js +25 -0
  593. package/dist/receipt-store.d.ts.map +1 -1
  594. package/dist/receipt-store.js +233 -0
  595. package/dist/reference-catalog.js +106 -0
  596. package/dist/rules/ext001.ts +3 -3
  597. package/dist/rules/waw016.ts +2 -2
  598. package/dist/serializer.js +529 -0
  599. package/dist/spec/fetch.js +193 -0
  600. package/dist/spec/parse.js +259 -0
  601. package/dist/spec/pin.js +185 -0
  602. package/dist/spec/pinned-types.json +203 -0
  603. package/dist/stack-errors.js +14 -0
  604. package/dist/taggable.d.ts.map +1 -1
  605. package/dist/taggable.js +33 -0
  606. package/dist/teardown.js +199 -0
  607. package/dist/template-sections.js +53 -0
  608. package/dist/template-transform.js +50 -0
  609. package/dist/types/index.d.ts +18847 -1124
  610. package/dist/validate-cli.js +16 -0
  611. package/dist/validate.js +33 -0
  612. package/package.json +9 -9
  613. package/src/agentcore/trace-fetch.ts +2 -1
  614. package/src/api/credential-chain.ts +119 -9
  615. package/src/api/credential-isolation.test.ts +72 -0
  616. package/src/api/read-client-chain.test.ts +159 -0
  617. package/src/api/read-client.ts +42 -6
  618. package/src/api/sigv4.ts +4 -4
  619. package/src/caller-identity.ts +3 -5
  620. package/src/codegen/any-budget.test.ts +12 -2
  621. package/src/codegen/generate.ts +9 -0
  622. package/src/codegen/package.ts +2 -2
  623. package/src/codegen/patches.test.ts +95 -0
  624. package/src/codegen/patches.ts +53 -9
  625. package/src/codegen/property-overlay.json +1 -16
  626. package/src/components/apply.ts +218 -6
  627. package/src/components/cfn-plan-floci.e2e.test.ts +76 -0
  628. package/src/components/cfn-plan.test.ts +225 -16
  629. package/src/components/cloud-executor.ts +73 -25
  630. package/src/deep-observe.ts +2 -1
  631. package/src/disruption.ts +2 -1
  632. package/src/generated/index.d.ts +18847 -1124
  633. package/src/generated/index.ts +1376 -161
  634. package/src/generated/lexicon-aws.json +17359 -784
  635. package/src/identity-observe.ts +2 -1
  636. package/src/lint/post-synth/ext001.ts +3 -3
  637. package/src/lint/post-synth/waw016.ts +2 -2
  638. package/src/lsp/completions.ts +2 -1
  639. package/src/lsp/hover.ts +2 -1
  640. package/src/plugin.ts +2 -1
  641. package/src/receipt-store.ts +2 -1
  642. package/src/spec/pin.ts +3 -3
  643. package/src/spec/pinned-types.json +203 -0
  644. package/src/taggable.ts +2 -2
@@ -0,0 +1,359 @@
1
+ /**
2
+ * Render an AgentCore session history as dogwood replay-trace text (#1685).
3
+ *
4
+ * This module is pure: normalized events in, text out, no transport and no
5
+ * filesystem. It exists separately from `./trace-fetch.ts` for two reasons.
6
+ * The Bedrock AgentCore observability surface is in preview and moving, so the
7
+ * thing most likely to be rewritten is the fetch, and the grammar it renders
8
+ * into is the thing least likely to move. And the line grammar has two traps in
9
+ * it that are worth testing byte-for-byte without a mock HTTP stack in the way.
10
+ *
11
+ * ## The grammar
12
+ *
13
+ * From the #1657 verification (§6, read from
14
+ * `dogwood-language/src/interpreter/log_parse.rs` at the pinned SHA
15
+ * `5063bcc2d6d6cf5024d1b0498e6cc8ef52cbcf0c`), one event per line:
16
+ *
17
+ * ```
18
+ * @<timestamp> [scope(principal: <uid>, resource: <uid>)]
19
+ * [entities(<uid>: { <attrs> } [in [<uid>, …]], …)]
20
+ * [request_context(<group>: { … }, …)]
21
+ * <Ns>::Action::"<Name>"::<kind>(<field>: <value>, …)
22
+ * ```
23
+ *
24
+ * The three envelopes are optional and must appear in that order; the trailing
25
+ * group is the logged record. Blank lines are skipped and there is no comment
26
+ * syntax, so a `//` inside a value survives.
27
+ *
28
+ * ## The two traps
29
+ *
30
+ * 1. **`request_context(…)` and the logged record are different bags.** The
31
+ * Cedar request is built from the first, temporal predicates match against
32
+ * the second, and a field supplied to only one weakens either the Cedar
33
+ * check or the temporal check while the replay still exits 0 with a verdict
34
+ * that looks authoritative. So every payload group an event carries is
35
+ * written to *both*, always — there is no per-event opt-out here, because an
36
+ * AgentCore history has no way to express "this field is deliberately
37
+ * Cedar-invisible". A decision-kind event with no payload at all is a
38
+ * refusal, not a shrug: see {@link renderAgentCoreTrace}.
39
+ * 2. **Actions must be fully qualified.** `AgentCore::Action::"Transfer"`,
40
+ * never `Transfer` — a short name leaves the temporal predicate unmatched
41
+ * while Cedar still authorizes. A bare tool name from the history is
42
+ * qualified here; an already-qualified one is validated and passed through.
43
+ *
44
+ * ## Decoupling
45
+ *
46
+ * Nothing here imports the cedar lexicon, and the cedar lexicon imports nothing
47
+ * from here. The contract between them is the text. The value and event types
48
+ * below are deliberately shaped so an object built here is *structurally*
49
+ * assignable to the cedar side's `TraceValue`/`TraceEvent` for anyone who wants
50
+ * that, but neither package depends on the other to get it, and the rendering
51
+ * is implemented twice on purpose. Where a choice was free — the space inside
52
+ * `{ … }`, the `, ` between fields, the order of the record's own injections —
53
+ * it matches `lexicons/cedar/src/dogwood/trace.ts` byte for byte, so a trace
54
+ * fetched from AWS and a trace built by hand look the same to a reader and to
55
+ * the parser.
56
+ */
57
+ /**
58
+ * Which objects are *really* tagged values.
59
+ *
60
+ * Identity, not shape. A tagged value renders as surface text — an `entity`
61
+ * becomes a bare uid, a `raw` becomes its `text` verbatim — so if membership
62
+ * were decided by a `traceValue` key, any agent that wrote
63
+ * `{"traceValue": "raw", "text": "…"}` into a payload could inject arbitrary
64
+ * unescaped text into both bags of the trace: a forged `callerPrincipal`, an
65
+ * unbalanced paren, a whole extra field. The payloads this module reads are
66
+ * written by the agent under observation, which is the last party that should
67
+ * get to decide what its own trace says. So only the three constructors below
68
+ * confer the tag, and {@link renderValue} refuses a record that merely looks
69
+ * tagged rather than rendering it either way.
70
+ */
71
+ const TAGGED = new WeakSet();
72
+ function tag(value) {
73
+ TAGGED.add(value);
74
+ return value;
75
+ }
76
+ /** `Ns::Type::"id"`, `Ns::Action::"Name"` — a fully qualified uid. */
77
+ const QUALIFIED_UID = /^[A-Za-z_][A-Za-z0-9_]*(::[A-Za-z_][A-Za-z0-9_]*)+::"[^"]*"$/;
78
+ /** A bare field, group, namespace or event-kind name. */
79
+ const IDENT = /^[A-Za-z_][A-Za-z0-9_]*$/;
80
+ /**
81
+ * A history that cannot become an honest trace.
82
+ *
83
+ * Thrown rather than worked around. Every case this covers is one where the
84
+ * alternative is a trace that replays green and proves less than it looks like
85
+ * it proves, which is the failure mode the whole module is arranged against.
86
+ */
87
+ export class AgentCoreTraceError extends Error {
88
+ constructor(message,
89
+ /** 0-based position in the event list, when one event is to blame. */
90
+ index) {
91
+ super(message);
92
+ this.index = index;
93
+ this.name = "AgentCoreTraceError";
94
+ }
95
+ }
96
+ function assertUid(value, what, index) {
97
+ if (!QUALIFIED_UID.test(value)) {
98
+ throw new AgentCoreTraceError(`agentcore trace: ${what} must be fully qualified, like Ns::Type::"id" — got "${value}"`, index);
99
+ }
100
+ return value;
101
+ }
102
+ function assertIdent(value, what, index) {
103
+ if (!IDENT.test(value)) {
104
+ throw new AgentCoreTraceError(`agentcore trace: ${what} must be an identifier — got "${value}"`, index);
105
+ }
106
+ return value;
107
+ }
108
+ /** `Ns::Type::"id"`. Validated at construction, so a short name cannot slip through. */
109
+ export function agentCoreEntityRef(uid) {
110
+ return tag({ traceValue: "entity", uid: assertUid(uid, "an entity reference") });
111
+ }
112
+ /**
113
+ * A Cedar decimal, written as it should appear (`"1.50"`).
114
+ *
115
+ * `context` names the field it came from when there is one, so a payload that
116
+ * cannot be represented says *where* rather than only *what*.
117
+ */
118
+ export function agentCoreDecimal(text, context) {
119
+ if (!/^-?\d+\.\d+$/.test(text)) {
120
+ const where = context ? ` at ${context}` : "";
121
+ throw new AgentCoreTraceError(`agentcore trace: a decimal looks like "1.50" — got "${text}"${where}`);
122
+ }
123
+ return tag({ traceValue: "decimal", text });
124
+ }
125
+ /** Surface text, rendered verbatim. For values this module has no shape for. */
126
+ export function agentCoreRaw(text) {
127
+ return tag({ traceValue: "raw", text });
128
+ }
129
+ function isTagged(value) {
130
+ return typeof value === "object" && value !== null && TAGGED.has(value);
131
+ }
132
+ /** The five escapes a Cedar string literal needs. Mirrors the cedar lexicon's. */
133
+ function escapeString(value) {
134
+ return value
135
+ .replace(/\\/g, "\\\\")
136
+ .replace(/"/g, '\\"')
137
+ .replace(/\n/g, "\\n")
138
+ .replace(/\r/g, "\\r")
139
+ .replace(/\t/g, "\\t");
140
+ }
141
+ /** Render one value in the Cedar surface form the trace parser reads. */
142
+ export function renderValue(value) {
143
+ if (typeof value === "string")
144
+ return `"${escapeString(value)}"`;
145
+ if (typeof value === "boolean")
146
+ return value ? "true" : "false";
147
+ if (typeof value === "number") {
148
+ if (!Number.isInteger(value)) {
149
+ throw new AgentCoreTraceError(`agentcore trace: ${String(value)} is not an integer — a decimal must be written with agentCoreDecimal("1.50") so its scale survives`);
150
+ }
151
+ // Beyond 2^53 a JS number has already lost the digits an i64 would keep,
152
+ // and `String(1e21)` is `"1e+21"`, which is not a Cedar integer literal at
153
+ // all. Either way the trace would carry a number that is not the number the
154
+ // agent saw.
155
+ if (!Number.isSafeInteger(value)) {
156
+ throw new AgentCoreTraceError(`agentcore trace: ${String(value)} is outside the range a JS number represents exactly, so the trace would carry a different number than the history did — carry it as a string`);
157
+ }
158
+ return String(value);
159
+ }
160
+ if (Array.isArray(value))
161
+ return `[${value.map(renderValue).join(", ")}]`;
162
+ if (isTagged(value))
163
+ return value.traceValue === "entity" ? value.uid : value.text;
164
+ if ("traceValue" in value) {
165
+ // See TAGGED. Rendering it as a record would be a lie about what the agent
166
+ // wrote; rendering it as a tagged value would let the agent write its own
167
+ // trace. Neither is on offer.
168
+ throw new AgentCoreTraceError(`agentcore trace: a payload carries a "traceValue" field, which is the marker this module uses for entity refs, decimals and raw surface text. ` +
169
+ "Rendering it either way would let the observed agent decide what its own trace says, so it is refused — rename the field at the source, " +
170
+ "or build the value with agentCoreEntityRef/agentCoreDecimal/agentCoreRaw.");
171
+ }
172
+ return renderFields(value);
173
+ }
174
+ /** `{ a: 1, b: "x" }` — a record body, braces included. */
175
+ export function renderFields(fields) {
176
+ const parts = Object.entries(fields).map(([key, value]) => `${assertIdent(key, "a trace field name")}: ${renderValue(value)}`);
177
+ return `{ ${parts.join(", ")} }`;
178
+ }
179
+ const DEFAULTS = {
180
+ namespace: "AgentCore",
181
+ principalType: "Actor",
182
+ resourceType: "Runtime",
183
+ origin: "epoch-seconds",
184
+ decisionKinds: ["request"],
185
+ };
186
+ /** A payload group name → the field on the normalized event. Order is the render order. */
187
+ const GROUPS = ["input", "output", "error", "attributes"];
188
+ function payloadGroups(event) {
189
+ const out = {};
190
+ for (const group of GROUPS) {
191
+ const fields = event[group];
192
+ if (fields && Object.keys(fields).length > 0)
193
+ out[group] = fields;
194
+ }
195
+ return out;
196
+ }
197
+ /**
198
+ * `Ns::Action::"Name"` from a bare tool name, or a qualified action validated.
199
+ *
200
+ * The fully-qualified requirement is the second §6 trap: a short name leaves
201
+ * every temporal predicate unmatched while Cedar still authorizes, so the
202
+ * replay is green and blind.
203
+ */
204
+ export function qualifyAction(action, namespace, index) {
205
+ if (action.includes("::"))
206
+ return assertUid(action, "a trace action", index);
207
+ if (action.length === 0 || action.includes('"')) {
208
+ throw new AgentCoreTraceError(`agentcore trace: a bare action name cannot be empty or contain a quote — got "${action}"`, index);
209
+ }
210
+ return `${assertIdent(namespace, "a namespace", index)}::Action::"${action}"`;
211
+ }
212
+ /** `Ns::Type::"id"` from a bare id, or a qualified uid validated. */
213
+ export function qualifyUid(id, namespace, type, what, index) {
214
+ if (id.includes("::"))
215
+ return assertUid(id, what, index);
216
+ if (id.length === 0 || id.includes('"')) {
217
+ throw new AgentCoreTraceError(`agentcore trace: ${what} cannot be empty or contain a quote — got "${id}"`, index);
218
+ }
219
+ return `${assertIdent(namespace, "a namespace", index)}::${assertIdent(type, "an entity type", index)}::"${id}"`;
220
+ }
221
+ /**
222
+ * Order the history the way the interpreter reads it.
223
+ *
224
+ * dogwood accumulates history in *file* order, so an out-of-order line changes
225
+ * what a temporal window sees. A fetch that pages backwards (CloudWatch Logs
226
+ * hands out the newest first) would otherwise produce a trace whose windows are
227
+ * quietly wrong, so ordering is settled here rather than being a caller's
228
+ * problem. Ties keep their original relative order.
229
+ */
230
+ function sortByTime(events) {
231
+ return events.map((event, index) => ({ event, index }))
232
+ .sort((a, b) => a.event.timeMs - b.event.timeMs || a.index - b.index)
233
+ .map(({ event }) => event);
234
+ }
235
+ function assertWellFormed(event, index) {
236
+ if (typeof event.timeMs !== "number" || !Number.isFinite(event.timeMs)) {
237
+ throw new AgentCoreTraceError(`agentcore trace: event ${index} has no usable timestamp (${String(event.timeMs)}) — a trace timepoint is an i64 and there is no honest default for a missing one`, index);
238
+ }
239
+ for (const [field, value] of [
240
+ ["sessionId", event.sessionId],
241
+ ["eventId", event.eventId],
242
+ ["actor", event.actor],
243
+ ["target", event.target],
244
+ ["action", event.action],
245
+ ["kind", event.kind],
246
+ ]) {
247
+ if (typeof value !== "string" || value.length === 0) {
248
+ throw new AgentCoreTraceError(`agentcore trace: event ${index} has no ${field} — the history is malformed, and a trace with a guessed ${field} replays green while proving nothing`, index);
249
+ }
250
+ }
251
+ }
252
+ /**
253
+ * The weakening checks, applied to a normalized history.
254
+ *
255
+ * Everything here is something that makes a replay *weaker* rather than
256
+ * something that makes it fail, which is exactly the class a green replay run
257
+ * hides. Structural malformation throws instead: see {@link AgentCoreTraceError}.
258
+ */
259
+ export function auditAgentCoreEvents(events, options = {}) {
260
+ const decisionKinds = new Set(options.decisionKinds ?? DEFAULTS.decisionKinds);
261
+ const issues = [];
262
+ const seen = new Set();
263
+ sortByTime(events).forEach((event, index) => {
264
+ assertWellFormed(event, index);
265
+ const at = { index, timeMs: event.timeMs };
266
+ if (decisionKinds.has(event.kind) && Object.keys(payloadGroups(event)).length === 0) {
267
+ issues.push({
268
+ ...at,
269
+ kind: "no-request-context",
270
+ message: `${event.action}::${event.kind} carries no input, output, error or attributes, so its request_context envelope would be empty and every context.* test in a policy silently misses`,
271
+ });
272
+ }
273
+ const key = `${event.sessionId}${event.eventId}`;
274
+ if (seen.has(key)) {
275
+ issues.push({
276
+ ...at,
277
+ kind: "duplicate-event-id",
278
+ message: `session ${event.sessionId} reports eventId "${event.eventId}" twice, so requestId no longer identifies a decision point and an expectation written against one addresses both`,
279
+ });
280
+ }
281
+ seen.add(key);
282
+ });
283
+ return issues;
284
+ }
285
+ /**
286
+ * Resolve one normalized event into the envelopes and the logged record.
287
+ *
288
+ * Both bags get every payload group; the record additionally gets the event
289
+ * schema's own injections (`callerPrincipal`, `callerResource`, `sessionId`,
290
+ * `requestId`), which are never part of the Cedar request. Field order matches
291
+ * the §6 example line: groups first, then the injections.
292
+ */
293
+ export function toTraceLine(event, timestamp, options = {}, index) {
294
+ const namespace = options.namespace ?? DEFAULTS.namespace;
295
+ const principal = qualifyUid(event.actor, namespace, options.principalType ?? DEFAULTS.principalType, "an actor", index);
296
+ const resource = qualifyUid(event.target, namespace, options.resourceType ?? DEFAULTS.resourceType, "a target", index);
297
+ const groups = payloadGroups(event);
298
+ return {
299
+ timestamp,
300
+ action: qualifyAction(event.action, namespace, index),
301
+ kind: assertIdent(event.kind, "an event kind", index),
302
+ scope: { principal, resource },
303
+ requestContext: groups,
304
+ record: {
305
+ ...groups,
306
+ callerPrincipal: agentCoreEntityRef(principal),
307
+ callerResource: agentCoreEntityRef(resource),
308
+ sessionId: event.sessionId,
309
+ requestId: event.eventId,
310
+ },
311
+ };
312
+ }
313
+ /** One line as the trace parser reads it. Never ends in a newline. */
314
+ export function renderTraceLine(line) {
315
+ if (!Number.isSafeInteger(line.timestamp)) {
316
+ throw new AgentCoreTraceError(`agentcore trace: a timepoint is an i64 — got ${String(line.timestamp)}`);
317
+ }
318
+ const parts = [`@${line.timestamp}`];
319
+ parts.push(`scope(principal: ${line.scope.principal}, resource: ${line.scope.resource})`);
320
+ const context = Object.entries(line.requestContext).map(([group, value]) => `${assertIdent(group, "a request-context group")}: ${renderValue(value)}`);
321
+ if (context.length > 0)
322
+ parts.push(`request_context(${context.join(", ")})`);
323
+ const record = Object.entries(line.record).map(([key, value]) => `${assertIdent(key, "a trace field name")}: ${renderValue(value)}`);
324
+ parts.push(`${line.action}::${line.kind}(${record.join(", ")})`);
325
+ return parts.join(" ");
326
+ }
327
+ /**
328
+ * Render a normalized AgentCore history as dogwood trace text.
329
+ *
330
+ * The inversion of the §6 traps: every payload group lands in both bags, every
331
+ * action comes out fully qualified, the history is ordered the way the
332
+ * interpreter reads it, and a history that would produce a weakened trace
333
+ * throws instead. Naming a kind in `allow` is how a caller says the weakening
334
+ * is the point — the alternative was a trace that replays green and proves
335
+ * less than it looks like it proves.
336
+ */
337
+ export function renderAgentCoreTrace(events, options = {}) {
338
+ const sorted = sortByTime(events);
339
+ // The audit runs `assertWellFormed` over the same sorted list, so a
340
+ // structurally broken history throws here before anything is rendered.
341
+ const issues = auditAgentCoreEvents(sorted, options);
342
+ const allow = new Set(options.allow ?? []);
343
+ const blocking = issues.filter((issue) => !allow.has(issue.kind));
344
+ if (blocking.length > 0) {
345
+ const detail = blocking.map((i) => ` [${i.kind}] event ${i.index}: ${i.message}`).join("\n");
346
+ const kinds = [...new Set(blocking.map((i) => `"${i.kind}"`))].join(", ");
347
+ throw new AgentCoreTraceError(`agentcore trace: this history would weaken its own replay rather than fail it:\n${detail}\n` +
348
+ `Fix the history, or pass { allow: [${kinds}] } to say the weakening is the point.`);
349
+ }
350
+ const origin = options.origin ?? DEFAULTS.origin;
351
+ const base = origin === "relative-seconds" && sorted.length > 0 ? (sorted[0]?.timeMs ?? 0) : 0;
352
+ const lines = sorted.map((event, index) => toTraceLine(event, Math.floor((event.timeMs - base) / 1000), options, index));
353
+ // An empty history renders as empty text, not as a bare newline: dogwood
354
+ // skips blank lines, so the two replay identically, and "" is the honest
355
+ // answer to "what did this session do". Whether an empty trace is worth
356
+ // replaying is the caller's call — see `trace-fetch.ts`'s `requireEvents`.
357
+ const text = lines.length > 0 ? lines.map(renderTraceLine).join("\n") + "\n" : "";
358
+ return { text, lines, issues };
359
+ }
@@ -0,0 +1,148 @@
1
+ /**
2
+ * Resources that are simply *there* (#1278).
3
+ *
4
+ * `describeResources` answers "what do I manage" and `observeDependencies`
5
+ * answers "what do I rely on". Both resolve outward from the declared estate,
6
+ * so neither can see a resource nothing points at — and "which of my security
7
+ * groups are unused" is precisely a question about resources nothing points at.
8
+ *
9
+ * A state file cannot answer this at all: it knows what it created, and an
10
+ * unused resource is by definition not something it created and attached. A
11
+ * lexicon that can enumerate a kind can.
12
+ *
13
+ * Bounded by the kinds the project declares. A project managing security groups
14
+ * is asked about security groups, not about the account.
15
+ */
16
+ import { applyAwsEndpointArgv } from "./components/cloud-executor.js";
17
+ /** Enumerable kinds, and how to list them. Extending this is the way to widen. */
18
+ const ENUMERABLE = {
19
+ "AWS::EC2::SecurityGroup": {
20
+ argv: ["ec2", "describe-security-groups"],
21
+ key: "SecurityGroups",
22
+ id: "GroupId",
23
+ name: "GroupName",
24
+ },
25
+ // The account's default VPC is the archetype: nothing declares it, nothing
26
+ // in the declared estate points at it, and "which instances are outside a
27
+ // default VPC" cannot be answered without it.
28
+ "AWS::EC2::VPC": {
29
+ argv: ["ec2", "describe-vpcs"],
30
+ key: "Vpcs",
31
+ id: "VpcId",
32
+ },
33
+ // Nobody writes a network interface: EC2 creates one per instance. But the
34
+ // ENI is where a security group is actually attached, so "which of my
35
+ // security groups are unused" is an ENI question and cannot be answered
36
+ // without them. Asked exactly that, an agent queried
37
+ // `kind:EC2::NetworkInterface`, got nothing, and rebuilt the attachment map
38
+ // by hand from twenty-nine raw provider calls.
39
+ "AWS::EC2::NetworkInterface": {
40
+ argv: ["ec2", "describe-network-interfaces"],
41
+ key: "NetworkInterfaces",
42
+ id: "NetworkInterfaceId",
43
+ },
44
+ // A subnet holding nothing is the same shape as an unused security group, and
45
+ // it was reachable by neither of the other paths. Both resolve outward from
46
+ // what is declared, so a subnet gets recorded only when something in it does —
47
+ // and the empty ones are exactly what "which of my subnets are empty" asks
48
+ // for.
49
+ //
50
+ // Found by measuring a snapshot rather than by reading the code: an estate
51
+ // with seven subnets recorded five, and the two it dropped were the two with
52
+ // nothing in them. The default VPC's subnets are the archetype again — nothing
53
+ // declares them, and the only one ever recorded was the one that happened to
54
+ // hold an instance.
55
+ "AWS::EC2::Subnet": {
56
+ argv: ["ec2", "describe-subnets"],
57
+ key: "Subnets",
58
+ id: "SubnetId",
59
+ },
60
+ };
61
+ /**
62
+ * Kinds a declared kind implies, though nobody writes them.
63
+ *
64
+ * The scan is bounded by what the project declares — a project managing
65
+ * security groups is asked about security groups, not about the account. That
66
+ * bound is right, and it excluded exactly the resource that answers the
67
+ * question: EC2 creates a network interface per instance, and the ENI is where
68
+ * a security group is actually attached. So an estate full of instances had no
69
+ * ENIs recorded, and "which of my security groups are unused" — definitionally
70
+ * an ENI question — could not be answered from the snapshot at all.
71
+ *
72
+ * Declaring an instance is declaring its network interface. This widens the
73
+ * bound by implication rather than abandoning it: still nothing about the
74
+ * account at large.
75
+ */
76
+ const IMPLIED = {
77
+ "AWS::EC2::Instance": ["AWS::EC2::NetworkInterface"],
78
+ };
79
+ /** The requested kinds, plus the ones they imply. */
80
+ export function withImplied(kinds) {
81
+ return [...new Set(kinds.flatMap((k) => [k, ...(IMPLIED[k] ?? [])]))];
82
+ }
83
+ /** The kinds this reader can enumerate. Declared so a caller can mention
84
+ * `--ambient` without paying for a scan to discover it is relevant. */
85
+ export const AMBIENT_KINDS = Object.keys(ENUMERABLE);
86
+ /** True when this lexicon can enumerate the kind, so a caller can say what it skipped. */
87
+ export function canEnumerate(kind) {
88
+ return kind in ENUMERABLE;
89
+ }
90
+ /**
91
+ * List resources of the declared kinds that exist in the account but are
92
+ * neither managed nor already observed.
93
+ *
94
+ * Attachment is deliberately NOT decided here. Whether a security group is
95
+ * "unused" is a graph question — does anything reference it — and the graph
96
+ * answers it once the group is a node. Deciding it in the reader would put a
97
+ * conclusion in the observation, which is the mistake `liveInternetFacing` made
98
+ * and #1271 undid.
99
+ */
100
+ export async function observeAwsAmbient(options) {
101
+ const kinds = withImplied(options.kinds).filter(canEnumerate);
102
+ if (kinds.length === 0)
103
+ return {};
104
+ const { getRuntime } = await import("@intentius/chant/runtime-adapter");
105
+ const rt = getRuntime();
106
+ const regionArgs = options.region ? ["--region", options.region] : [];
107
+ // Physical ids already accounted for, so a managed resource is never also
108
+ // reported as ambient.
109
+ const known = new Set(Object.values(options.observed)
110
+ .map((m) => m.physicalId)
111
+ .filter((id) => typeof id === "string"));
112
+ const ambient = {};
113
+ for (const kind of kinds) {
114
+ const spec = ENUMERABLE[kind];
115
+ try {
116
+ const result = await rt.spawn(applyAwsEndpointArgv(["aws", ...spec.argv, ...regionArgs, "--output", "json"], process.env.AWS_ENDPOINT_URL));
117
+ if (result.exitCode !== 0)
118
+ continue;
119
+ const rows = (JSON.parse(result.stdout)[spec.key] ?? []);
120
+ for (const row of rows) {
121
+ const id = row[spec.id];
122
+ if (typeof id !== "string" || known.has(id))
123
+ continue;
124
+ ambient[id] = {
125
+ type: kind,
126
+ status: "OBSERVED",
127
+ physicalId: id,
128
+ // The whole payload, so the graph can decide what "unused" means
129
+ // rather than the reader pre-deciding it.
130
+ attributes: row,
131
+ ownership: "foreign",
132
+ ambient: true,
133
+ };
134
+ }
135
+ }
136
+ catch {
137
+ // Best-effort per kind: one unreadable kind does not sink the others, and
138
+ // the managed observation is already complete without any of this.
139
+ continue;
140
+ }
141
+ }
142
+ // Same stamps the managed path applies, so one query shape works across both
143
+ // (#1279). Defaults matter most here: a default VPC or security group is
144
+ // ambient by definition — nobody declared it.
145
+ const { stampRegion } = await import("./properties.js");
146
+ const { stampProviderDefaults } = await import("./defaults.js");
147
+ return stampProviderDefaults(stampRegion(ambient, options.region));
148
+ }
@@ -8,7 +8,9 @@
8
8
  * than keys: `AWS_PROFILE=dev` with an SSO session came back as "no identity
9
9
  * is configured" while `aws sts get-caller-identity` answered. This module is
10
10
  * the asynchronous half: it resolves what the CLI would sign with and hands
11
- * back literal credentials plus a label for where they came from.
11
+ * back literal credentials plus a label for where they came from. The read
12
+ * transport uses the same walk through {@link transportCredentials} (#3958),
13
+ * so whoami and `describeResources` sign as the same principal.
12
14
  *
13
15
  * There is still no `@aws-sdk/*` here, for the reason the read transport gives:
14
16
  * a lexicon keeps that tree out. The chain is small enough to state.
@@ -16,8 +18,7 @@
16
18
  * ## Order
17
19
  *
18
20
  * 1. `AWS_ACCESS_KEY_ID` / `AWS_SECRET_ACCESS_KEY` (+ `AWS_SESSION_TOKEN`).
19
- * They win over `AWS_PROFILE`, as they do in the AWS CLI, and as they do
20
- * in chant's own read transport, which signs with nothing else. (The JS
21
+ * They win over `AWS_PROFILE`, as they do in the AWS CLI. (The JS
21
22
  * SDK v3 skips the environment when `AWS_PROFILE` is set; the CLI does
22
23
  * not, and the CLI is what an operator checks whoami against.) When both
23
24
  * are set, the label says the profile was not used.
@@ -86,6 +87,8 @@ export interface ResolvedChainCredentials {
86
87
  source: string;
87
88
  /** The profile that resolved them, when one did. */
88
89
  profile?: string;
90
+ /** When the credentials stop working, for role, SSO and `credential_process` credentials that say so. */
91
+ expiration?: Date;
89
92
  }
90
93
  export interface UnresolvedChainCredentials {
91
94
  reason: "no-credentials" | "read-failed";
@@ -110,5 +113,29 @@ export declare function parseIni(text: string): Record<string, Section>;
110
113
  * and their source, or a typed refusal that says what to do about it.
111
114
  */
112
115
  export declare function resolveCredentialChain(options?: CredentialChainOptions): Promise<CredentialChainResult>;
116
+ /** Cached credentials are re-resolved this long before they expire. */
117
+ export declare const TRANSPORT_REFRESH_MARGIN_MS: number;
118
+ /**
119
+ * How long "nothing resolves" is kept before the chain is walked again, so a
120
+ * long-running process picks up an `aws sso login` done after it started.
121
+ */
122
+ export declare const TRANSPORT_UNRESOLVED_TTL_MS: number;
123
+ /** Forget every cached walk. For tests, and for a process that changed its profile. */
124
+ export declare function resetTransportCredentials(): void;
125
+ /**
126
+ * What the native read transport signs with when the caller injected nothing:
127
+ * the same chain whoami walks, so `lifecycle diff --live` signs as the
128
+ * principal whoami reports. The signing seam (`AwsCredentialResolver` in
129
+ * ./sigv4.ts) is synchronous and the chain is not, so the transport awaits
130
+ * this once before a request and passes the literal credentials in.
131
+ *
132
+ * Environment keys answer directly, as in the chain. Otherwise the walk is
133
+ * cached per process, keyed by the profile and the shared-file locations, and
134
+ * walked again within {@link TRANSPORT_REFRESH_MARGIN_MS} of the expiry the
135
+ * role, SSO or `credential_process` answer carried. A refusal or a failure is
136
+ * `undefined`, which leaves the request unsigned exactly as before; it is kept
137
+ * for {@link TRANSPORT_UNRESOLVED_TTL_MS}.
138
+ */
139
+ export declare function transportCredentials(options?: CredentialChainOptions): Promise<AwsCredentials | undefined>;
113
140
  export {};
114
141
  //# sourceMappingURL=credential-chain.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"credential-chain.d.ts","sourceRoot":"","sources":["../../src/api/credential-chain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AAOH,OAAO,EAA4B,KAAK,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACpF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,8EAA8E;AAC9E,MAAM,MAAM,mBAAmB,GAAG,CAChC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE;IAAE,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,KAC7E,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAE/C,mEAAmE;AACnE,MAAM,MAAM,uBAAuB,GAAG,CACpC,OAAO,EAAE,MAAM,KACZ,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEnE,MAAM,WAAW,sBAAsB;IACrC,iCAAiC;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC,oFAAoF;IACpF,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAChD,sFAAsF;IACtF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAC3B,+DAA+D;IAC/D,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,sFAAsF;IACtF,GAAG,CAAC,EAAE,oBAAoB,CAAC;IAC3B,6CAA6C;IAC7C,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,cAAc,CAAC;IAC5B,6FAA6F;IAC7F,MAAM,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,gBAAgB,GAAG,aAAa,CAAC;IACzC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,qBAAqB,GAC7B;IAAE,QAAQ,EAAE,wBAAwB,CAAA;CAAE,GACtC;IAAE,UAAU,EAAE,0BAA0B,CAAA;CAAE,CAAC;AAE/C,KAAK,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEtC;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAsB9D;AAgFD;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAyCjH"}
1
+ {"version":3,"file":"credential-chain.d.ts","sourceRoot":"","sources":["../../src/api/credential-chain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AAOH,OAAO,EAA4B,KAAK,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACpF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,8EAA8E;AAC9E,MAAM,MAAM,mBAAmB,GAAG,CAChC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE;IAAE,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,KAC7E,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAE/C,mEAAmE;AACnE,MAAM,MAAM,uBAAuB,GAAG,CACpC,OAAO,EAAE,MAAM,KACZ,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEnE,MAAM,WAAW,sBAAsB;IACrC,iCAAiC;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC,oFAAoF;IACpF,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAChD,sFAAsF;IACtF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAC3B,+DAA+D;IAC/D,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,sFAAsF;IACtF,GAAG,CAAC,EAAE,oBAAoB,CAAC;IAC3B,6CAA6C;IAC7C,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,cAAc,CAAC;IAC5B,6FAA6F;IAC7F,MAAM,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yGAAyG;IACzG,UAAU,CAAC,EAAE,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,gBAAgB,GAAG,aAAa,CAAC;IACzC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,qBAAqB,GAC7B;IAAE,QAAQ,EAAE,wBAAwB,CAAA;CAAE,GACtC;IAAE,UAAU,EAAE,0BAA0B,CAAA;CAAE,CAAC;AAE/C,KAAK,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAgBtC;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAsB9D;AAgFD;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAyCjH;AAqSD,uEAAuE;AACvE,eAAO,MAAM,2BAA2B,QAAa,CAAC;AAEtD;;;GAGG;AACH,eAAO,MAAM,2BAA2B,QAAa,CAAC;AAetD,uFAAuF;AACvF,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD;AAiBD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAoBpH"}