@aws-cdk/toolkit-lib 0.3.1 → 0.3.3

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 (367) hide show
  1. package/README.md +1 -1
  2. package/build-info.json +2 -2
  3. package/db.json.gz +0 -0
  4. package/lib/actions/bootstrap/index.d.ts +1 -1
  5. package/lib/actions/bootstrap/index.js +5 -5
  6. package/lib/actions/deploy/index.d.ts +1 -1
  7. package/lib/actions/deploy/index.js +1 -1
  8. package/lib/actions/deploy/private/deploy-options.d.ts +1 -1
  9. package/lib/actions/deploy/private/deploy-options.js +1 -1
  10. package/lib/actions/deploy/private/helpers.d.ts +3 -2
  11. package/lib/actions/deploy/private/helpers.js +3 -3
  12. package/lib/actions/diff/private/helpers.d.ts +5 -9
  13. package/lib/actions/diff/private/helpers.js +6 -23
  14. package/lib/api/aws-auth/account-cache.d.ts +41 -0
  15. package/lib/api/aws-auth/account-cache.js +108 -0
  16. package/lib/api/aws-auth/awscli-compatible.d.ts +70 -0
  17. package/lib/api/aws-auth/awscli-compatible.js +250 -0
  18. package/lib/api/aws-auth/cached.d.ts +11 -0
  19. package/lib/api/aws-auth/cached.js +26 -0
  20. package/lib/api/aws-auth/credential-plugins.d.ts +38 -0
  21. package/lib/api/aws-auth/credential-plugins.js +154 -0
  22. package/lib/api/aws-auth/private/index.d.ts +11 -0
  23. package/lib/api/aws-auth/private/index.js +37 -0
  24. package/lib/api/aws-auth/provider-caching.d.ts +13 -0
  25. package/lib/api/aws-auth/provider-caching.js +24 -0
  26. package/lib/api/aws-auth/proxy-agent.d.ts +13 -0
  27. package/lib/api/aws-auth/proxy-agent.js +54 -0
  28. package/lib/api/aws-auth/sdk-logger.d.ts +69 -0
  29. package/lib/api/aws-auth/sdk-logger.js +128 -0
  30. package/lib/api/aws-auth/sdk-provider.d.ts +195 -0
  31. package/lib/api/aws-auth/sdk-provider.js +373 -0
  32. package/lib/api/aws-auth/sdk.d.ts +235 -0
  33. package/lib/api/aws-auth/sdk.js +391 -0
  34. package/lib/api/aws-auth/tracing.d.ts +11 -0
  35. package/lib/api/aws-auth/tracing.js +60 -0
  36. package/lib/api/aws-auth/types.d.ts +79 -1
  37. package/lib/api/aws-auth/types.js +74 -1
  38. package/lib/api/aws-auth/user-agent.d.ts +7 -0
  39. package/lib/api/aws-auth/user-agent.js +20 -0
  40. package/lib/api/aws-auth/util.d.ts +6 -0
  41. package/lib/api/aws-auth/util.js +21 -0
  42. package/lib/api/bootstrap/bootstrap-environment.d.ts +35 -0
  43. package/lib/api/bootstrap/bootstrap-environment.js +323 -0
  44. package/lib/api/bootstrap/bootstrap-props.d.ts +130 -0
  45. package/lib/api/bootstrap/bootstrap-props.js +14 -0
  46. package/lib/api/bootstrap/deploy-bootstrap.d.ts +39 -0
  47. package/lib/api/bootstrap/deploy-bootstrap.js +147 -0
  48. package/lib/api/bootstrap/index.d.ts +3 -0
  49. package/lib/api/bootstrap/index.js +23 -0
  50. package/lib/api/bootstrap/legacy-template.d.ts +2 -0
  51. package/lib/api/bootstrap/legacy-template.js +82 -0
  52. package/lib/api/cloud-assembly/environment.d.ts +43 -0
  53. package/lib/api/cloud-assembly/environment.js +127 -0
  54. package/lib/api/cloud-assembly/index.d.ts +1 -1
  55. package/lib/api/cloud-assembly/index.js +3 -3
  56. package/lib/api/cloud-assembly/private/context-aware-source.d.ts +1 -1
  57. package/lib/api/cloud-assembly/private/context-aware-source.js +5 -5
  58. package/lib/api/cloud-assembly/private/prepare-source.d.ts +2 -1
  59. package/lib/api/cloud-assembly/private/prepare-source.js +14 -12
  60. package/lib/api/cloud-assembly/private/readable-assembly.d.ts +1 -1
  61. package/lib/api/cloud-assembly/private/readable-assembly.js +1 -1
  62. package/lib/api/cloud-assembly/private/source-builder.js +10 -8
  63. package/lib/api/cloud-assembly/private/stack-assembly.d.ts +2 -1
  64. package/lib/api/cloud-assembly/private/stack-assembly.js +10 -9
  65. package/lib/api/cloud-assembly/stack-assembly.d.ts +55 -0
  66. package/lib/api/cloud-assembly/stack-assembly.js +139 -0
  67. package/lib/api/cloud-assembly/stack-collection.d.ts +27 -0
  68. package/lib/api/cloud-assembly/stack-collection.js +112 -0
  69. package/lib/api/cloud-assembly/stack-selector.d.ts +81 -2
  70. package/lib/api/cloud-assembly/stack-selector.js +62 -5
  71. package/lib/api/cloudformation/evaluate-cloudformation-template.d.ts +85 -0
  72. package/lib/api/cloudformation/evaluate-cloudformation-template.js +456 -0
  73. package/lib/api/cloudformation/index.d.ts +4 -0
  74. package/lib/api/cloudformation/index.js +21 -0
  75. package/lib/api/cloudformation/nested-stack-helpers.d.ts +25 -0
  76. package/lib/api/cloudformation/nested-stack-helpers.js +86 -0
  77. package/lib/api/cloudformation/stack-helpers.d.ts +96 -0
  78. package/lib/api/cloudformation/stack-helpers.js +163 -0
  79. package/lib/api/cloudformation/template-body-parameter.d.ts +22 -0
  80. package/lib/api/cloudformation/template-body-parameter.js +104 -0
  81. package/lib/api/context.d.ts +40 -0
  82. package/lib/api/context.js +84 -0
  83. package/lib/api/deployments/asset-manifest-builder.d.ts +8 -0
  84. package/lib/api/deployments/asset-manifest-builder.js +33 -0
  85. package/lib/api/deployments/asset-publishing.d.ts +60 -0
  86. package/lib/api/deployments/asset-publishing.js +144 -0
  87. package/lib/api/deployments/assets.d.ts +11 -0
  88. package/lib/api/deployments/assets.js +109 -0
  89. package/lib/api/deployments/cfn-api.d.ts +145 -0
  90. package/lib/api/deployments/cfn-api.js +444 -0
  91. package/lib/api/deployments/checks.d.ts +9 -0
  92. package/lib/api/deployments/checks.js +72 -0
  93. package/lib/api/deployments/deploy-stack.d.ts +164 -0
  94. package/lib/api/deployments/deploy-stack.js +490 -0
  95. package/lib/api/deployments/deployment-method.d.ts +24 -0
  96. package/lib/api/deployments/deployment-method.js +3 -0
  97. package/lib/api/deployments/deployment-result.d.ts +21 -0
  98. package/lib/api/deployments/deployment-result.js +10 -0
  99. package/lib/api/deployments/deployments.d.ts +289 -0
  100. package/lib/api/deployments/deployments.js +355 -0
  101. package/lib/api/deployments/index.d.ts +6 -0
  102. package/lib/api/deployments/index.js +27 -0
  103. package/lib/api/diff/diff-formatter.d.ts +147 -0
  104. package/lib/api/diff/diff-formatter.js +225 -0
  105. package/lib/api/diff/index.d.ts +1 -0
  106. package/lib/api/diff/index.js +18 -0
  107. package/lib/api/environment/environment-access.d.ts +139 -0
  108. package/lib/api/environment/environment-access.js +205 -0
  109. package/lib/api/environment/environment-resources.d.ts +75 -0
  110. package/lib/api/environment/environment-resources.js +213 -0
  111. package/lib/api/environment/index.d.ts +3 -0
  112. package/lib/api/environment/index.js +20 -0
  113. package/lib/api/environment/placeholders.d.ts +10 -0
  114. package/lib/api/environment/placeholders.js +23 -0
  115. package/lib/api/garbage-collection/garbage-collector.d.ts +158 -0
  116. package/lib/api/garbage-collection/garbage-collector.js +614 -0
  117. package/lib/api/garbage-collection/index.d.ts +3 -0
  118. package/lib/api/garbage-collection/index.js +21 -0
  119. package/lib/api/garbage-collection/progress-printer.d.ts +23 -0
  120. package/lib/api/garbage-collection/progress-printer.js +80 -0
  121. package/lib/api/garbage-collection/stack-refresh.d.ts +49 -0
  122. package/lib/api/garbage-collection/stack-refresh.js +152 -0
  123. package/lib/api/hotswap/appsync-mapping-templates.d.ts +4 -0
  124. package/lib/api/hotswap/appsync-mapping-templates.js +162 -0
  125. package/lib/api/hotswap/code-build-projects.d.ts +4 -0
  126. package/lib/api/hotswap/code-build-projects.js +62 -0
  127. package/lib/api/hotswap/common.d.ts +89 -0
  128. package/lib/api/hotswap/common.js +137 -0
  129. package/lib/api/hotswap/ecs-services.d.ts +4 -0
  130. package/lib/api/hotswap/ecs-services.js +159 -0
  131. package/lib/api/hotswap/hotswap-deployments.d.ts +17 -0
  132. package/lib/api/hotswap/hotswap-deployments.js +441 -0
  133. package/lib/api/hotswap/index.d.ts +2 -0
  134. package/lib/api/hotswap/index.js +19 -0
  135. package/lib/api/hotswap/lambda-functions.d.ts +4 -0
  136. package/lib/api/hotswap/lambda-functions.js +297 -0
  137. package/lib/api/hotswap/s3-bucket-deployments.d.ts +5 -0
  138. package/lib/api/hotswap/s3-bucket-deployments.js +117 -0
  139. package/lib/api/hotswap/stepfunctions-state-machines.d.ts +4 -0
  140. package/lib/api/hotswap/stepfunctions-state-machines.js +48 -0
  141. package/lib/api/index.d.ts +25 -0
  142. package/lib/api/index.js +42 -0
  143. package/lib/api/io/index.d.ts +3 -1
  144. package/lib/api/io/index.js +18 -1
  145. package/lib/api/io/io-host.d.ts +15 -0
  146. package/lib/api/io/io-host.js +3 -0
  147. package/lib/api/io/io-message.d.ts +76 -0
  148. package/lib/api/io/io-message.js +3 -0
  149. package/lib/api/io/private/index.d.ts +7 -1
  150. package/lib/api/io/private/index.js +8 -5
  151. package/lib/api/io/private/io-default-messages.d.ts +21 -0
  152. package/lib/api/io/private/io-default-messages.js +59 -0
  153. package/lib/api/io/private/io-helper.d.ts +32 -0
  154. package/lib/api/io/private/io-helper.js +51 -0
  155. package/lib/api/io/private/level-priority.d.ts +11 -0
  156. package/lib/api/io/private/level-priority.js +33 -0
  157. package/lib/api/io/private/message-maker.d.ts +89 -0
  158. package/lib/api/io/private/message-maker.js +60 -0
  159. package/lib/api/io/private/messages.d.ts +178 -0
  160. package/lib/api/io/private/messages.js +534 -0
  161. package/lib/api/io/private/span.d.ts +93 -0
  162. package/lib/api/io/private/span.js +87 -0
  163. package/lib/api/io/private/testing/fake-io-host.d.ts +28 -0
  164. package/lib/api/io/private/testing/fake-io-host.js +41 -0
  165. package/lib/api/io/private/testing/index.d.ts +2 -0
  166. package/lib/api/io/private/testing/index.js +19 -0
  167. package/lib/api/io/private/testing/test-io-host.d.ts +27 -0
  168. package/lib/api/io/private/testing/test-io-host.js +61 -0
  169. package/lib/api/io/private/types.d.ts +4 -0
  170. package/lib/api/io/private/types.js +3 -0
  171. package/lib/api/io/toolkit-action.d.ts +4 -0
  172. package/lib/api/io/toolkit-action.js +3 -0
  173. package/lib/api/logs-monitor/find-cloudwatch-logs.d.ts +25 -0
  174. package/lib/api/logs-monitor/find-cloudwatch-logs.js +95 -0
  175. package/lib/api/logs-monitor/index.d.ts +2 -0
  176. package/lib/api/logs-monitor/index.js +19 -0
  177. package/lib/api/logs-monitor/logs-monitor.d.ts +76 -0
  178. package/lib/api/logs-monitor/logs-monitor.js +194 -0
  179. package/lib/api/notices.d.ts +210 -0
  180. package/lib/api/notices.js +430 -0
  181. package/lib/api/plugin/context-provider-plugin.d.ts +6 -0
  182. package/lib/api/plugin/context-provider-plugin.js +7 -0
  183. package/lib/api/plugin/index.d.ts +3 -0
  184. package/lib/api/plugin/index.js +20 -0
  185. package/lib/api/plugin/mode.d.ts +4 -0
  186. package/lib/api/plugin/mode.js +9 -0
  187. package/lib/api/plugin/plugin.d.ts +72 -0
  188. package/lib/api/plugin/plugin.js +132 -0
  189. package/lib/api/private.d.ts +1 -0
  190. package/lib/api/private.js +18 -0
  191. package/lib/api/refactoring/cloudformation.d.ts +15 -0
  192. package/lib/api/refactoring/cloudformation.js +3 -0
  193. package/lib/api/refactoring/digest.d.ts +26 -0
  194. package/lib/api/refactoring/digest.js +175 -0
  195. package/lib/api/refactoring/index.d.ts +51 -0
  196. package/lib/api/refactoring/index.js +223 -0
  197. package/lib/api/require-approval.d.ts +17 -0
  198. package/lib/api/require-approval.js +22 -0
  199. package/lib/api/resource-import/importer.d.ts +216 -0
  200. package/lib/api/resource-import/importer.js +331 -0
  201. package/lib/api/resource-import/index.d.ts +2 -0
  202. package/lib/api/resource-import/index.js +19 -0
  203. package/lib/api/resource-import/migrator.d.ts +26 -0
  204. package/lib/api/resource-import/migrator.js +73 -0
  205. package/lib/api/resource-metadata/index.d.ts +1 -0
  206. package/lib/api/resource-metadata/index.js +18 -0
  207. package/lib/api/resource-metadata/resource-metadata.d.ts +24 -0
  208. package/lib/api/resource-metadata/resource-metadata.js +42 -0
  209. package/lib/api/rwlock.d.ts +60 -0
  210. package/lib/api/rwlock.js +204 -0
  211. package/lib/api/settings.d.ts +26 -0
  212. package/lib/api/settings.js +107 -0
  213. package/lib/api/shared-private.d.ts +8 -5
  214. package/lib/api/shared-private.js +2921 -9246
  215. package/lib/api/shared-private.js.map +4 -4
  216. package/lib/api/shared-public.d.ts +179 -37
  217. package/lib/api/shared-public.js +3106 -16
  218. package/lib/api/shared-public.js.map +4 -4
  219. package/lib/api/stack-events/index.d.ts +4 -0
  220. package/lib/api/stack-events/index.js +23 -0
  221. package/lib/api/stack-events/stack-activity-monitor.d.ts +100 -0
  222. package/lib/api/stack-events/stack-activity-monitor.js +164 -0
  223. package/lib/api/stack-events/stack-event-poller.d.ts +69 -0
  224. package/lib/api/stack-events/stack-event-poller.js +130 -0
  225. package/lib/api/stack-events/stack-progress-monitor.d.ts +48 -0
  226. package/lib/api/stack-events/stack-progress-monitor.js +98 -0
  227. package/lib/api/stack-events/stack-status.d.ts +42 -0
  228. package/lib/api/stack-events/stack-status.js +90 -0
  229. package/lib/api/streams.d.ts +7 -0
  230. package/lib/api/streams.js +24 -0
  231. package/lib/api/tags.d.ts +9 -0
  232. package/lib/api/tags.js +10 -0
  233. package/lib/api/toolkit-error.d.ts +86 -0
  234. package/lib/api/toolkit-error.js +132 -0
  235. package/lib/api/toolkit-info.d.ts +52 -0
  236. package/lib/api/toolkit-info.js +157 -0
  237. package/lib/api/tree.d.ts +31 -0
  238. package/lib/api/tree.js +37 -0
  239. package/lib/api/work-graph/index.d.ts +3 -0
  240. package/lib/api/work-graph/index.js +20 -0
  241. package/lib/api/work-graph/work-graph-builder.d.ts +34 -0
  242. package/lib/api/work-graph/work-graph-builder.js +172 -0
  243. package/lib/api/work-graph/work-graph-types.d.ts +50 -0
  244. package/lib/api/work-graph/work-graph-types.js +13 -0
  245. package/lib/api/work-graph/work-graph.d.ts +72 -0
  246. package/lib/api/work-graph/work-graph.js +349 -0
  247. package/lib/context-providers/ami.d.ts +13 -0
  248. package/lib/context-providers/ami.js +52 -0
  249. package/lib/context-providers/availability-zones.d.ts +13 -0
  250. package/lib/context-providers/availability-zones.js +29 -0
  251. package/lib/context-providers/cc-api-provider.d.ts +30 -0
  252. package/lib/context-providers/cc-api-provider.js +145 -0
  253. package/lib/context-providers/endpoint-service-availability-zones.d.ts +13 -0
  254. package/lib/context-providers/endpoint-service-availability-zones.js +35 -0
  255. package/lib/context-providers/hosted-zones.d.ts +12 -0
  256. package/lib/context-providers/hosted-zones.js +69 -0
  257. package/lib/context-providers/index.d.ts +44 -0
  258. package/lib/context-providers/index.js +128 -0
  259. package/lib/context-providers/keys.d.ts +13 -0
  260. package/lib/context-providers/keys.js +54 -0
  261. package/lib/context-providers/load-balancers.d.ts +20 -0
  262. package/lib/context-providers/load-balancers.js +161 -0
  263. package/lib/context-providers/security-groups.d.ts +9 -0
  264. package/lib/context-providers/security-groups.js +69 -0
  265. package/lib/context-providers/ssm-parameters.d.ts +25 -0
  266. package/lib/context-providers/ssm-parameters.js +61 -0
  267. package/lib/context-providers/vpcs.d.ts +13 -0
  268. package/lib/context-providers/vpcs.js +291 -0
  269. package/lib/index.d.ts +1 -0
  270. package/lib/index.js +2 -1
  271. package/lib/index_bg.wasm +0 -0
  272. package/lib/payloads/bootstrap-environment-progress.d.ts +17 -0
  273. package/lib/payloads/bootstrap-environment-progress.js +3 -0
  274. package/lib/payloads/context.d.ts +9 -0
  275. package/lib/payloads/context.js +3 -0
  276. package/lib/payloads/deploy.d.ts +43 -0
  277. package/lib/payloads/deploy.js +3 -0
  278. package/lib/payloads/destroy.d.ts +23 -0
  279. package/lib/payloads/destroy.js +3 -0
  280. package/lib/payloads/diff.d.ts +31 -0
  281. package/lib/payloads/diff.js +22 -0
  282. package/lib/payloads/hotswap.d.ts +211 -0
  283. package/lib/payloads/hotswap.js +43 -0
  284. package/lib/payloads/index.d.ts +17 -0
  285. package/lib/payloads/index.js +34 -0
  286. package/lib/payloads/list.d.ts +4 -0
  287. package/lib/payloads/list.js +3 -0
  288. package/lib/payloads/logs-monitor.d.ts +33 -0
  289. package/lib/payloads/logs-monitor.js +3 -0
  290. package/lib/payloads/progress.d.ts +14 -0
  291. package/lib/payloads/progress.js +3 -0
  292. package/lib/payloads/refactor.d.ts +14 -0
  293. package/lib/payloads/refactor.js +3 -0
  294. package/lib/payloads/rollback.d.ts +17 -0
  295. package/lib/payloads/rollback.js +3 -0
  296. package/lib/payloads/sdk-trace.d.ts +20 -0
  297. package/lib/payloads/sdk-trace.js +3 -0
  298. package/lib/payloads/stack-activity.d.ts +53 -0
  299. package/lib/payloads/stack-activity.js +3 -0
  300. package/lib/payloads/stack-details.d.ts +17 -0
  301. package/lib/payloads/stack-details.js +3 -0
  302. package/lib/payloads/synth.d.ts +7 -0
  303. package/lib/payloads/synth.js +3 -0
  304. package/lib/payloads/types.d.ts +95 -0
  305. package/lib/payloads/types.js +3 -0
  306. package/lib/payloads/watch.d.ts +27 -0
  307. package/lib/payloads/watch.js +3 -0
  308. package/lib/private/activity-printer/base.d.ts +50 -0
  309. package/lib/private/activity-printer/base.js +120 -0
  310. package/lib/private/activity-printer/current.d.ts +26 -0
  311. package/lib/private/activity-printer/current.js +122 -0
  312. package/lib/private/activity-printer/display.d.ts +13 -0
  313. package/lib/private/activity-printer/display.js +81 -0
  314. package/lib/private/activity-printer/history.d.ts +32 -0
  315. package/lib/private/activity-printer/history.js +109 -0
  316. package/lib/private/activity-printer/index.d.ts +3 -0
  317. package/lib/private/activity-printer/index.js +20 -0
  318. package/lib/private/index.d.ts +1 -0
  319. package/lib/private/index.js +18 -0
  320. package/lib/private/util.d.ts +1 -1
  321. package/lib/private/util.js +22 -22
  322. package/lib/private/util.js.map +2 -2
  323. package/lib/toolkit/private/index.d.ts +2 -0
  324. package/lib/toolkit/private/index.js +1 -1
  325. package/lib/toolkit/toolkit.d.ts +16 -0
  326. package/lib/toolkit/toolkit.js +158 -124
  327. package/lib/toolkit/types.d.ts +0 -55
  328. package/lib/toolkit/types.js +1 -1
  329. package/lib/util/archive.d.ts +1 -0
  330. package/lib/util/archive.js +86 -0
  331. package/lib/util/arrays.d.ts +14 -0
  332. package/lib/util/arrays.js +36 -0
  333. package/lib/util/bool.d.ts +7 -0
  334. package/lib/util/bool.js +13 -0
  335. package/lib/util/bytes.d.ts +8 -0
  336. package/lib/util/bytes.js +21 -0
  337. package/lib/util/cloudformation.d.ts +16 -0
  338. package/lib/util/cloudformation.js +36 -0
  339. package/lib/util/content-hash.d.ts +5 -0
  340. package/lib/util/content-hash.js +43 -0
  341. package/lib/util/directories.d.ts +22 -0
  342. package/lib/util/directories.js +59 -0
  343. package/lib/util/format-error.d.ts +9 -0
  344. package/lib/util/format-error.js +22 -0
  345. package/lib/util/index.d.ts +18 -0
  346. package/lib/util/index.js +35 -0
  347. package/lib/util/json.d.ts +48 -0
  348. package/lib/util/json.js +68 -0
  349. package/lib/util/objects.d.ts +65 -0
  350. package/lib/util/objects.js +230 -0
  351. package/lib/util/package-info.d.ts +3 -0
  352. package/lib/util/package-info.js +22 -0
  353. package/lib/util/parallel.d.ts +6 -0
  354. package/lib/util/parallel.js +48 -0
  355. package/lib/util/serialize.d.ts +27 -0
  356. package/lib/util/serialize.js +86 -0
  357. package/lib/util/string-manipulation.d.ts +18 -0
  358. package/lib/util/string-manipulation.js +46 -0
  359. package/lib/util/type-brands.d.ts +39 -0
  360. package/lib/util/type-brands.js +39 -0
  361. package/lib/util/types.d.ts +27 -0
  362. package/lib/util/types.js +25 -0
  363. package/lib/util/version-range.d.ts +2 -0
  364. package/lib/util/version-range.js +36 -0
  365. package/lib/util/yaml-cfn.d.ts +15 -0
  366. package/lib/util/yaml-cfn.js +58 -0
  367. package/package.json +12 -13
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./aws-auth"), exports);
18
+ __exportStar(require("./bootstrap"), exports);
19
+ __exportStar(require("./cloud-assembly"), exports);
20
+ __exportStar(require("./cloudformation"), exports);
21
+ __exportStar(require("./context"), exports);
22
+ __exportStar(require("./deployments"), exports);
23
+ __exportStar(require("./diff"), exports);
24
+ __exportStar(require("./environment"), exports);
25
+ __exportStar(require("./garbage-collection"), exports);
26
+ __exportStar(require("./hotswap"), exports);
27
+ __exportStar(require("./io"), exports);
28
+ __exportStar(require("./logs-monitor"), exports);
29
+ __exportStar(require("./notices"), exports);
30
+ __exportStar(require("./plugin"), exports);
31
+ __exportStar(require("./refactoring"), exports);
32
+ __exportStar(require("./require-approval"), exports);
33
+ __exportStar(require("./resource-import"), exports);
34
+ __exportStar(require("./rwlock"), exports);
35
+ __exportStar(require("./settings"), exports);
36
+ __exportStar(require("./stack-events"), exports);
37
+ __exportStar(require("./toolkit-error"), exports);
38
+ __exportStar(require("./toolkit-info"), exports);
39
+ __exportStar(require("./work-graph"), exports);
40
+ __exportStar(require("./tree"), exports);
41
+ __exportStar(require("./tags"), exports);
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkNBQTJCO0FBQzNCLDhDQUE0QjtBQUM1QixtREFBaUM7QUFDakMsbURBQWlDO0FBQ2pDLDRDQUEwQjtBQUMxQixnREFBOEI7QUFDOUIseUNBQXVCO0FBQ3ZCLGdEQUE4QjtBQUM5Qix1REFBcUM7QUFDckMsNENBQTBCO0FBQzFCLHVDQUFxQjtBQUNyQixpREFBK0I7QUFDL0IsNENBQTBCO0FBQzFCLDJDQUF5QjtBQUN6QixnREFBOEI7QUFDOUIscURBQW1DO0FBQ25DLG9EQUFrQztBQUNsQywyQ0FBeUI7QUFDekIsNkNBQTJCO0FBQzNCLGlEQUErQjtBQUMvQixrREFBZ0M7QUFDaEMsaURBQStCO0FBQy9CLCtDQUE2QjtBQUM3Qix5Q0FBdUI7QUFDdkIseUNBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hd3MtYXV0aCc7XG5leHBvcnQgKiBmcm9tICcuL2Jvb3RzdHJhcCc7XG5leHBvcnQgKiBmcm9tICcuL2Nsb3VkLWFzc2VtYmx5JztcbmV4cG9ydCAqIGZyb20gJy4vY2xvdWRmb3JtYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9jb250ZXh0JztcbmV4cG9ydCAqIGZyb20gJy4vZGVwbG95bWVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9kaWZmJztcbmV4cG9ydCAqIGZyb20gJy4vZW52aXJvbm1lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9nYXJiYWdlLWNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9ob3Rzd2FwJztcbmV4cG9ydCAqIGZyb20gJy4vaW8nO1xuZXhwb3J0ICogZnJvbSAnLi9sb2dzLW1vbml0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9ub3RpY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vcGx1Z2luJztcbmV4cG9ydCAqIGZyb20gJy4vcmVmYWN0b3JpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9yZXF1aXJlLWFwcHJvdmFsJztcbmV4cG9ydCAqIGZyb20gJy4vcmVzb3VyY2UtaW1wb3J0JztcbmV4cG9ydCAqIGZyb20gJy4vcndsb2NrJztcbmV4cG9ydCAqIGZyb20gJy4vc2V0dGluZ3MnO1xuZXhwb3J0ICogZnJvbSAnLi9zdGFjay1ldmVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi90b29sa2l0LWVycm9yJztcbmV4cG9ydCAqIGZyb20gJy4vdG9vbGtpdC1pbmZvJztcbmV4cG9ydCAqIGZyb20gJy4vd29yay1ncmFwaCc7XG5leHBvcnQgKiBmcm9tICcuL3RyZWUnO1xuZXhwb3J0ICogZnJvbSAnLi90YWdzJztcbiJdfQ==
@@ -1 +1,3 @@
1
- export type { IoMessageLevel, IoMessageCode, IIoHost, IoMessage, IoRequest } from '../shared-public';
1
+ export * from './io-host';
2
+ export * from './io-message';
3
+ export * from './toolkit-action';
@@ -1,3 +1,20 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgeyBJb01lc3NhZ2VMZXZlbCwgSW9NZXNzYWdlQ29kZSwgSUlvSG9zdCwgSW9NZXNzYWdlLCBJb1JlcXVlc3QgfSBmcm9tICcuLi9zaGFyZWQtcHVibGljJztcbiJdfQ==
17
+ __exportStar(require("./io-host"), exports);
18
+ __exportStar(require("./io-message"), exports);
19
+ __exportStar(require("./toolkit-action"), exports);
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNENBQTBCO0FBQzFCLCtDQUE2QjtBQUM3QixtREFBaUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2lvLWhvc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9pby1tZXNzYWdlJztcbmV4cG9ydCAqIGZyb20gJy4vdG9vbGtpdC1hY3Rpb24nO1xuIl19
@@ -0,0 +1,15 @@
1
+ import type { IoMessage, IoRequest } from './io-message';
2
+ export interface IIoHost {
3
+ /**
4
+ * Notifies the host of a message.
5
+ * The caller waits until the notification completes.
6
+ */
7
+ notify(msg: IoMessage<unknown>): Promise<void>;
8
+ /**
9
+ * Notifies the host of a message that requires a response.
10
+ *
11
+ * If the host does not return a response the suggested
12
+ * default response from the input message will be used.
13
+ */
14
+ requestResponse<T, U>(msg: IoRequest<T, U>): Promise<U>;
15
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW8taG9zdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImlvLWhvc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSW9NZXNzYWdlLCBJb1JlcXVlc3QgfSBmcm9tICcuL2lvLW1lc3NhZ2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElJb0hvc3Qge1xuICAvKipcbiAgICogTm90aWZpZXMgdGhlIGhvc3Qgb2YgYSBtZXNzYWdlLlxuICAgKiBUaGUgY2FsbGVyIHdhaXRzIHVudGlsIHRoZSBub3RpZmljYXRpb24gY29tcGxldGVzLlxuICAgKi9cbiAgbm90aWZ5KG1zZzogSW9NZXNzYWdlPHVua25vd24+KTogUHJvbWlzZTx2b2lkPjtcblxuICAvKipcbiAgICogTm90aWZpZXMgdGhlIGhvc3Qgb2YgYSBtZXNzYWdlIHRoYXQgcmVxdWlyZXMgYSByZXNwb25zZS5cbiAgICpcbiAgICogSWYgdGhlIGhvc3QgZG9lcyBub3QgcmV0dXJuIGEgcmVzcG9uc2UgdGhlIHN1Z2dlc3RlZFxuICAgKiBkZWZhdWx0IHJlc3BvbnNlIGZyb20gdGhlIGlucHV0IG1lc3NhZ2Ugd2lsbCBiZSB1c2VkLlxuICAgKi9cbiAgcmVxdWVzdFJlc3BvbnNlPFQsIFU+KG1zZzogSW9SZXF1ZXN0PFQsIFU+KTogUHJvbWlzZTxVPjtcbn1cbiJdfQ==
@@ -0,0 +1,76 @@
1
+ import type { ToolkitAction } from './toolkit-action';
2
+ /**
3
+ * The reporting level of the message.
4
+ * All messages are always reported, it's up to the IoHost to decide what to log.
5
+ */
6
+ export type IoMessageLevel = 'error' | 'result' | 'warn' | 'info' | 'debug' | 'trace';
7
+ /**
8
+ * A valid message code.
9
+ */
10
+ export type IoMessageCode = `CDK_${string}_${'E' | 'W' | 'I'}${number}${number}${number}${number}`;
11
+ /**
12
+ * An IO message emitted.
13
+ */
14
+ export interface IoMessage<T> {
15
+ /**
16
+ * The time the message was emitted.
17
+ */
18
+ readonly time: Date;
19
+ /**
20
+ * The recommended log level of the message.
21
+ *
22
+ * This is an indicative level and should not be used to explicitly match messages, instead match the `code`.
23
+ * The level of a message may change without notice.
24
+ */
25
+ readonly level: IoMessageLevel;
26
+ /**
27
+ * The action that triggered the message.
28
+ */
29
+ readonly action: ToolkitAction;
30
+ /**
31
+ * A short message code uniquely identifying a message type using the format CDK_[CATEGORY]_[E/W/I][0000-9999].
32
+ *
33
+ * The level indicator follows these rules:
34
+ * - 'E' for error level messages
35
+ * - 'W' for warning level messages
36
+ * - 'I' for info/debug/trace level messages
37
+ *
38
+ * Codes ending in 000 0 are generic messages, while codes ending in 0001-9999 are specific to a particular message.
39
+ * The following are examples of valid and invalid message codes:
40
+ * ```ts
41
+ * 'CDK_ASSETS_I0000' // valid: generic assets info message
42
+ * 'CDK_TOOLKIT_E0002' // valid: specific toolkit error message
43
+ * 'CDK_SDK_W0023' // valid: specific sdk warning message
44
+ * ```
45
+ *
46
+ * @see https://github.com/aws/aws-cdk-cli/blob/main/packages/%40aws-cdk/toolkit-lib/CODE_REGISTRY.md
47
+ */
48
+ readonly code: IoMessageCode;
49
+ /**
50
+ * The message text.
51
+ * This is safe to print to an end-user.
52
+ */
53
+ readonly message: string;
54
+ /**
55
+ * Identifies the message span, this message belongs to.
56
+ *
57
+ * A message span, groups multiple messages together that semantically related to the same operation.
58
+ * This is an otherwise meaningless identifier.
59
+ *
60
+ * A message without a `spanId`, does not belong to a span.
61
+ */
62
+ readonly span?: string;
63
+ /**
64
+ * The data attached to the message.
65
+ */
66
+ readonly data: T;
67
+ }
68
+ /**
69
+ * An IO request emitted.
70
+ */
71
+ export interface IoRequest<T, U> extends IoMessage<T> {
72
+ /**
73
+ * The default response that will be used if no data is returned.
74
+ */
75
+ readonly defaultResponse: U;
76
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW8tbWVzc2FnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImlvLW1lc3NhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVG9vbGtpdEFjdGlvbiB9IGZyb20gJy4vdG9vbGtpdC1hY3Rpb24nO1xuXG4vKipcbiAqIFRoZSByZXBvcnRpbmcgbGV2ZWwgb2YgdGhlIG1lc3NhZ2UuXG4gKiBBbGwgbWVzc2FnZXMgYXJlIGFsd2F5cyByZXBvcnRlZCwgaXQncyB1cCB0byB0aGUgSW9Ib3N0IHRvIGRlY2lkZSB3aGF0IHRvIGxvZy5cbiAqL1xuZXhwb3J0IHR5cGUgSW9NZXNzYWdlTGV2ZWwgPSAnZXJyb3InfCAncmVzdWx0JyB8ICd3YXJuJyB8ICdpbmZvJyB8ICdkZWJ1ZycgfCAndHJhY2UnO1xuXG4vKipcbiAqIEEgdmFsaWQgbWVzc2FnZSBjb2RlLlxuICovXG5leHBvcnQgdHlwZSBJb01lc3NhZ2VDb2RlID0gYENES18ke3N0cmluZ31fJHsnRScgfCAnVycgfCAnSSd9JHtudW1iZXJ9JHtudW1iZXJ9JHtudW1iZXJ9JHtudW1iZXJ9YDtcblxuLyoqXG4gKiBBbiBJTyBtZXNzYWdlIGVtaXR0ZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW9NZXNzYWdlPFQ+IHtcbiAgLyoqXG4gICAqIFRoZSB0aW1lIHRoZSBtZXNzYWdlIHdhcyBlbWl0dGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgdGltZTogRGF0ZTtcblxuICAvKipcbiAgICogVGhlIHJlY29tbWVuZGVkIGxvZyBsZXZlbCBvZiB0aGUgbWVzc2FnZS5cbiAgICpcbiAgICogVGhpcyBpcyBhbiBpbmRpY2F0aXZlIGxldmVsIGFuZCBzaG91bGQgbm90IGJlIHVzZWQgdG8gZXhwbGljaXRseSBtYXRjaCBtZXNzYWdlcywgaW5zdGVhZCBtYXRjaCB0aGUgYGNvZGVgLlxuICAgKiBUaGUgbGV2ZWwgb2YgYSBtZXNzYWdlIG1heSBjaGFuZ2Ugd2l0aG91dCBub3RpY2UuXG4gICAqL1xuICByZWFkb25seSBsZXZlbDogSW9NZXNzYWdlTGV2ZWw7XG5cbiAgLyoqXG4gICAqIFRoZSBhY3Rpb24gdGhhdCB0cmlnZ2VyZWQgdGhlIG1lc3NhZ2UuXG4gICAqL1xuICByZWFkb25seSBhY3Rpb246IFRvb2xraXRBY3Rpb247XG5cbiAgLyoqXG4gICAqIEEgc2hvcnQgbWVzc2FnZSBjb2RlIHVuaXF1ZWx5IGlkZW50aWZ5aW5nIGEgbWVzc2FnZSB0eXBlIHVzaW5nIHRoZSBmb3JtYXQgQ0RLX1tDQVRFR09SWV1fW0UvVy9JXVswMDAwLTk5OTldLlxuICAgKlxuICAgKiBUaGUgbGV2ZWwgaW5kaWNhdG9yIGZvbGxvd3MgdGhlc2UgcnVsZXM6XG4gICAqIC0gJ0UnIGZvciBlcnJvciBsZXZlbCBtZXNzYWdlc1xuICAgKiAtICdXJyBmb3Igd2FybmluZyBsZXZlbCBtZXNzYWdlc1xuICAgKiAtICdJJyBmb3IgaW5mby9kZWJ1Zy90cmFjZSBsZXZlbCBtZXNzYWdlc1xuICAgKlxuICAgKiBDb2RlcyBlbmRpbmcgaW4gMDAwIDAgYXJlIGdlbmVyaWMgbWVzc2FnZXMsIHdoaWxlIGNvZGVzIGVuZGluZyBpbiAwMDAxLTk5OTkgYXJlIHNwZWNpZmljIHRvIGEgcGFydGljdWxhciBtZXNzYWdlLlxuICAgKiBUaGUgZm9sbG93aW5nIGFyZSBleGFtcGxlcyBvZiB2YWxpZCBhbmQgaW52YWxpZCBtZXNzYWdlIGNvZGVzOlxuICAgKiBgYGB0c1xuICAgKiAnQ0RLX0FTU0VUU19JMDAwMCcgICAgICAgLy8gdmFsaWQ6IGdlbmVyaWMgYXNzZXRzIGluZm8gbWVzc2FnZVxuICAgKiAnQ0RLX1RPT0xLSVRfRTAwMDInICAgICAgLy8gdmFsaWQ6IHNwZWNpZmljIHRvb2xraXQgZXJyb3IgbWVzc2FnZVxuICAgKiAnQ0RLX1NES19XMDAyMycgICAgICAgICAgLy8gdmFsaWQ6IHNwZWNpZmljIHNkayB3YXJuaW5nIG1lc3NhZ2VcbiAgICogYGBgXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrLWNsaS9ibG9iL21haW4vcGFja2FnZXMvJTQwYXdzLWNkay90b29sa2l0LWxpYi9DT0RFX1JFR0lTVFJZLm1kXG4gICAqL1xuICByZWFkb25seSBjb2RlOiBJb01lc3NhZ2VDb2RlO1xuXG4gIC8qKlxuICAgKiBUaGUgbWVzc2FnZSB0ZXh0LlxuICAgKiBUaGlzIGlzIHNhZmUgdG8gcHJpbnQgdG8gYW4gZW5kLXVzZXIuXG4gICAqL1xuICByZWFkb25seSBtZXNzYWdlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElkZW50aWZpZXMgdGhlIG1lc3NhZ2Ugc3BhbiwgdGhpcyBtZXNzYWdlIGJlbG9uZ3MgdG8uXG4gICAqXG4gICAqIEEgbWVzc2FnZSBzcGFuLCBncm91cHMgbXVsdGlwbGUgbWVzc2FnZXMgdG9nZXRoZXIgdGhhdCBzZW1hbnRpY2FsbHkgcmVsYXRlZCB0byB0aGUgc2FtZSBvcGVyYXRpb24uXG4gICAqIFRoaXMgaXMgYW4gb3RoZXJ3aXNlIG1lYW5pbmdsZXNzIGlkZW50aWZpZXIuXG4gICAqXG4gICAqIEEgbWVzc2FnZSB3aXRob3V0IGEgYHNwYW5JZGAsIGRvZXMgbm90IGJlbG9uZyB0byBhIHNwYW4uXG4gICAqL1xuICByZWFkb25seSBzcGFuPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZGF0YSBhdHRhY2hlZCB0byB0aGUgbWVzc2FnZS5cbiAgICovXG4gIHJlYWRvbmx5IGRhdGE6IFQ7XG59XG5cbi8qKlxuICogQW4gSU8gcmVxdWVzdCBlbWl0dGVkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElvUmVxdWVzdDxULCBVPiBleHRlbmRzIElvTWVzc2FnZTxUPiB7XG4gIC8qKlxuICAgKiBUaGUgZGVmYXVsdCByZXNwb25zZSB0aGF0IHdpbGwgYmUgdXNlZCBpZiBubyBkYXRhIGlzIHJldHVybmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdFJlc3BvbnNlOiBVO1xufVxuIl19
@@ -1,3 +1,9 @@
1
- export { IO, SPAN } from '../../shared-private';
2
1
  export * from './io-host-wrappers';
3
2
  export * from './sdk-logger';
3
+ export * from './io-helper';
4
+ export * from './level-priority';
5
+ export * from './span';
6
+ export * from './message-maker';
7
+ export * from './messages';
8
+ export * from './types';
9
+ export * from './io-default-messages';
@@ -14,10 +14,13 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.SPAN = exports.IO = void 0;
18
- var shared_private_1 = require("../../shared-private");
19
- Object.defineProperty(exports, "IO", { enumerable: true, get: function () { return shared_private_1.IO; } });
20
- Object.defineProperty(exports, "SPAN", { enumerable: true, get: function () { return shared_private_1.SPAN; } });
21
17
  __exportStar(require("./io-host-wrappers"), exports);
22
18
  __exportStar(require("./sdk-logger"), exports);
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVEQUFnRDtBQUF2QyxvR0FBQSxFQUFFLE9BQUE7QUFBRSxzR0FBQSxJQUFJLE9BQUE7QUFDakIscURBQW1DO0FBQ25DLCtDQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IElPLCBTUEFOIH0gZnJvbSAnLi4vLi4vc2hhcmVkLXByaXZhdGUnO1xuZXhwb3J0ICogZnJvbSAnLi9pby1ob3N0LXdyYXBwZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vc2RrLWxvZ2dlcic7XG5cbiJdfQ==
19
+ __exportStar(require("./io-helper"), exports);
20
+ __exportStar(require("./level-priority"), exports);
21
+ __exportStar(require("./span"), exports);
22
+ __exportStar(require("./message-maker"), exports);
23
+ __exportStar(require("./messages"), exports);
24
+ __exportStar(require("./types"), exports);
25
+ __exportStar(require("./io-default-messages"), exports);
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEscURBQW1DO0FBQ25DLCtDQUE2QjtBQUM3Qiw4Q0FBNEI7QUFDNUIsbURBQWlDO0FBQ2pDLHlDQUF1QjtBQUN2QixrREFBZ0M7QUFDaEMsNkNBQTJCO0FBQzNCLDBDQUF3QjtBQUN4Qix3REFBc0MiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2lvLWhvc3Qtd3JhcHBlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9zZGstbG9nZ2VyJztcbmV4cG9ydCAqIGZyb20gJy4vaW8taGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGV2ZWwtcHJpb3JpdHknO1xuZXhwb3J0ICogZnJvbSAnLi9zcGFuJztcbmV4cG9ydCAqIGZyb20gJy4vbWVzc2FnZS1tYWtlcic7XG5leHBvcnQgKiBmcm9tICcuL21lc3NhZ2VzJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9pby1kZWZhdWx0LW1lc3NhZ2VzJztcbiJdfQ==
@@ -0,0 +1,21 @@
1
+ import type { ActionLessMessage, ActionLessRequest, IoHelper } from './io-helper';
2
+ /**
3
+ * Helper class to emit standard log messages to an IoHost
4
+ *
5
+ * It wraps an `IoHelper`, and adds convenience methods to emit default messages
6
+ * for the various log levels.
7
+ */
8
+ export declare class IoDefaultMessages {
9
+ private readonly ioHelper;
10
+ constructor(ioHelper: IoHelper);
11
+ notify(msg: ActionLessMessage<unknown>): Promise<void>;
12
+ requestResponse<T, U>(msg: ActionLessRequest<T, U>): Promise<U>;
13
+ error(input: string, ...args: unknown[]): void;
14
+ warn(input: string, ...args: unknown[]): void;
15
+ warning(input: string, ...args: unknown[]): void;
16
+ info(input: string, ...args: unknown[]): void;
17
+ debug(input: string, ...args: unknown[]): void;
18
+ trace(input: string, ...args: unknown[]): void;
19
+ result(input: string, ...args: unknown[]): void;
20
+ private emitMessage;
21
+ }
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IoDefaultMessages = void 0;
4
+ const util = require("util");
5
+ const messages_1 = require("./messages");
6
+ /**
7
+ * Helper class to emit standard log messages to an IoHost
8
+ *
9
+ * It wraps an `IoHelper`, and adds convenience methods to emit default messages
10
+ * for the various log levels.
11
+ */
12
+ class IoDefaultMessages {
13
+ ioHelper;
14
+ constructor(ioHelper) {
15
+ this.ioHelper = ioHelper;
16
+ }
17
+ notify(msg) {
18
+ return this.ioHelper.notify(msg);
19
+ }
20
+ requestResponse(msg) {
21
+ return this.ioHelper.requestResponse(msg);
22
+ }
23
+ error(input, ...args) {
24
+ this.emitMessage(messages_1.IO.DEFAULT_TOOLKIT_ERROR, input, ...args);
25
+ }
26
+ warn(input, ...args) {
27
+ this.emitMessage(messages_1.IO.DEFAULT_TOOLKIT_WARN, input, ...args);
28
+ }
29
+ warning(input, ...args) {
30
+ this.emitMessage(messages_1.IO.DEFAULT_TOOLKIT_WARN, input, ...args);
31
+ }
32
+ info(input, ...args) {
33
+ this.emitMessage(messages_1.IO.DEFAULT_TOOLKIT_INFO, input, ...args);
34
+ }
35
+ debug(input, ...args) {
36
+ this.emitMessage(messages_1.IO.DEFAULT_TOOLKIT_DEBUG, input, ...args);
37
+ }
38
+ trace(input, ...args) {
39
+ this.emitMessage(messages_1.IO.DEFAULT_TOOLKIT_TRACE, input, ...args);
40
+ }
41
+ result(input, ...args) {
42
+ const message = args.length > 0 ? util.format(input, ...args) : input;
43
+ // This is just the default "info" message but with a level of "result"
44
+ void this.ioHelper.notify({
45
+ time: new Date(),
46
+ code: messages_1.IO.DEFAULT_TOOLKIT_INFO.code,
47
+ level: 'result',
48
+ message,
49
+ data: undefined,
50
+ });
51
+ }
52
+ emitMessage(maker, input, ...args) {
53
+ // Format message if args are provided
54
+ const message = args.length > 0 ? util.format(input, ...args) : input;
55
+ void this.ioHelper.notify(maker.msg(message));
56
+ }
57
+ }
58
+ exports.IoDefaultMessages = IoDefaultMessages;
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW8tZGVmYXVsdC1tZXNzYWdlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImlvLWRlZmF1bHQtbWVzc2FnZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQTZCO0FBRzdCLHlDQUFnQztBQUVoQzs7Ozs7R0FLRztBQUNILE1BQWEsaUJBQWlCO0lBQ0M7SUFBN0IsWUFBNkIsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUMvQyxDQUFDO0lBRU0sTUFBTSxDQUFDLEdBQStCO1FBQzNDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVNLGVBQWUsQ0FBTyxHQUE0QjtRQUN2RCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFTSxLQUFLLENBQUMsS0FBYSxFQUFFLEdBQUcsSUFBZTtRQUM1QyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQUUsQ0FBQyxxQkFBcUIsRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU0sSUFBSSxDQUFDLEtBQWEsRUFBRSxHQUFHLElBQWU7UUFDM0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFFLENBQUMsb0JBQW9CLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVNLE9BQU8sQ0FBQyxLQUFhLEVBQUUsR0FBRyxJQUFlO1FBQzlDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBRSxDQUFDLG9CQUFvQixFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFTSxJQUFJLENBQUMsS0FBYSxFQUFFLEdBQUcsSUFBZTtRQUMzQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQUUsQ0FBQyxvQkFBb0IsRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRU0sS0FBSyxDQUFDLEtBQWEsRUFBRSxHQUFHLElBQWU7UUFDNUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFFLENBQUMscUJBQXFCLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVNLEtBQUssQ0FBQyxLQUFhLEVBQUUsR0FBRyxJQUFlO1FBQzVDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBRSxDQUFDLHFCQUFxQixFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFTSxNQUFNLENBQUMsS0FBYSxFQUFFLEdBQUcsSUFBZTtRQUM3QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ3RFLHVFQUF1RTtRQUN2RSxLQUFLLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQ3hCLElBQUksRUFBRSxJQUFJLElBQUksRUFBRTtZQUNoQixJQUFJLEVBQUUsYUFBRSxDQUFDLG9CQUFvQixDQUFDLElBQUk7WUFDbEMsS0FBSyxFQUFFLFFBQVE7WUFDZixPQUFPO1lBQ1AsSUFBSSxFQUFFLFNBQVM7U0FDaEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFdBQVcsQ0FBQyxLQUEyQixFQUFFLEtBQWEsRUFBRSxHQUFHLElBQWU7UUFDaEYsc0NBQXNDO1FBQ3RDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDdEUsS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDaEQsQ0FBQztDQUNGO0FBckRELDhDQXFEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHV0aWwgZnJvbSAndXRpbCc7XG5pbXBvcnQgdHlwZSB7IEFjdGlvbkxlc3NNZXNzYWdlLCBBY3Rpb25MZXNzUmVxdWVzdCwgSW9IZWxwZXIgfSBmcm9tICcuL2lvLWhlbHBlcic7XG5pbXBvcnQgdHlwZSB7IElvTWVzc2FnZU1ha2VyIH0gZnJvbSAnLi9tZXNzYWdlLW1ha2VyJztcbmltcG9ydCB7IElPIH0gZnJvbSAnLi9tZXNzYWdlcyc7XG5cbi8qKlxuICogSGVscGVyIGNsYXNzIHRvIGVtaXQgc3RhbmRhcmQgbG9nIG1lc3NhZ2VzIHRvIGFuIElvSG9zdFxuICpcbiAqIEl0IHdyYXBzIGFuIGBJb0hlbHBlcmAsIGFuZCBhZGRzIGNvbnZlbmllbmNlIG1ldGhvZHMgdG8gZW1pdCBkZWZhdWx0IG1lc3NhZ2VzXG4gKiBmb3IgdGhlIHZhcmlvdXMgbG9nIGxldmVscy5cbiAqL1xuZXhwb3J0IGNsYXNzIElvRGVmYXVsdE1lc3NhZ2VzIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBpb0hlbHBlcjogSW9IZWxwZXIpIHtcbiAgfVxuXG4gIHB1YmxpYyBub3RpZnkobXNnOiBBY3Rpb25MZXNzTWVzc2FnZTx1bmtub3duPik6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmlvSGVscGVyLm5vdGlmeShtc2cpO1xuICB9XG5cbiAgcHVibGljIHJlcXVlc3RSZXNwb25zZTxULCBVPihtc2c6IEFjdGlvbkxlc3NSZXF1ZXN0PFQsIFU+KTogUHJvbWlzZTxVPiB7XG4gICAgcmV0dXJuIHRoaXMuaW9IZWxwZXIucmVxdWVzdFJlc3BvbnNlKG1zZyk7XG4gIH1cblxuICBwdWJsaWMgZXJyb3IoaW5wdXQ6IHN0cmluZywgLi4uYXJnczogdW5rbm93bltdKSB7XG4gICAgdGhpcy5lbWl0TWVzc2FnZShJTy5ERUZBVUxUX1RPT0xLSVRfRVJST1IsIGlucHV0LCAuLi5hcmdzKTtcbiAgfVxuXG4gIHB1YmxpYyB3YXJuKGlucHV0OiBzdHJpbmcsIC4uLmFyZ3M6IHVua25vd25bXSkge1xuICAgIHRoaXMuZW1pdE1lc3NhZ2UoSU8uREVGQVVMVF9UT09MS0lUX1dBUk4sIGlucHV0LCAuLi5hcmdzKTtcbiAgfVxuXG4gIHB1YmxpYyB3YXJuaW5nKGlucHV0OiBzdHJpbmcsIC4uLmFyZ3M6IHVua25vd25bXSkge1xuICAgIHRoaXMuZW1pdE1lc3NhZ2UoSU8uREVGQVVMVF9UT09MS0lUX1dBUk4sIGlucHV0LCAuLi5hcmdzKTtcbiAgfVxuXG4gIHB1YmxpYyBpbmZvKGlucHV0OiBzdHJpbmcsIC4uLmFyZ3M6IHVua25vd25bXSkge1xuICAgIHRoaXMuZW1pdE1lc3NhZ2UoSU8uREVGQVVMVF9UT09MS0lUX0lORk8sIGlucHV0LCAuLi5hcmdzKTtcbiAgfVxuXG4gIHB1YmxpYyBkZWJ1ZyhpbnB1dDogc3RyaW5nLCAuLi5hcmdzOiB1bmtub3duW10pIHtcbiAgICB0aGlzLmVtaXRNZXNzYWdlKElPLkRFRkFVTFRfVE9PTEtJVF9ERUJVRywgaW5wdXQsIC4uLmFyZ3MpO1xuICB9XG5cbiAgcHVibGljIHRyYWNlKGlucHV0OiBzdHJpbmcsIC4uLmFyZ3M6IHVua25vd25bXSkge1xuICAgIHRoaXMuZW1pdE1lc3NhZ2UoSU8uREVGQVVMVF9UT09MS0lUX1RSQUNFLCBpbnB1dCwgLi4uYXJncyk7XG4gIH1cblxuICBwdWJsaWMgcmVzdWx0KGlucHV0OiBzdHJpbmcsIC4uLmFyZ3M6IHVua25vd25bXSkge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBhcmdzLmxlbmd0aCA+IDAgPyB1dGlsLmZvcm1hdChpbnB1dCwgLi4uYXJncykgOiBpbnB1dDtcbiAgICAvLyBUaGlzIGlzIGp1c3QgdGhlIGRlZmF1bHQgXCJpbmZvXCIgbWVzc2FnZSBidXQgd2l0aCBhIGxldmVsIG9mIFwicmVzdWx0XCJcbiAgICB2b2lkIHRoaXMuaW9IZWxwZXIubm90aWZ5KHtcbiAgICAgIHRpbWU6IG5ldyBEYXRlKCksXG4gICAgICBjb2RlOiBJTy5ERUZBVUxUX1RPT0xLSVRfSU5GTy5jb2RlLFxuICAgICAgbGV2ZWw6ICdyZXN1bHQnLFxuICAgICAgbWVzc2FnZSxcbiAgICAgIGRhdGE6IHVuZGVmaW5lZCxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdE1lc3NhZ2UobWFrZXI6IElvTWVzc2FnZU1ha2VyPHZvaWQ+LCBpbnB1dDogc3RyaW5nLCAuLi5hcmdzOiB1bmtub3duW10pIHtcbiAgICAvLyBGb3JtYXQgbWVzc2FnZSBpZiBhcmdzIGFyZSBwcm92aWRlZFxuICAgIGNvbnN0IG1lc3NhZ2UgPSBhcmdzLmxlbmd0aCA+IDAgPyB1dGlsLmZvcm1hdChpbnB1dCwgLi4uYXJncykgOiBpbnB1dDtcbiAgICB2b2lkIHRoaXMuaW9IZWxwZXIubm90aWZ5KG1ha2VyLm1zZyhtZXNzYWdlKSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,32 @@
1
+ import type { IIoHost } from '../io-host';
2
+ import type { IoMessage, IoRequest } from '../io-message';
3
+ import type { ToolkitAction } from '../toolkit-action';
4
+ import type { SpanEnd, SpanDefinition } from './span';
5
+ import { SpanMaker } from './span';
6
+ export type ActionLessMessage<T> = Omit<IoMessage<T>, 'action'>;
7
+ export type ActionLessRequest<T, U> = Omit<IoRequest<T, U>, 'action'>;
8
+ /**
9
+ * A class containing helper tools to interact with IoHost
10
+ */
11
+ export declare class IoHelper implements IIoHost {
12
+ static fromIoHost(ioHost: IIoHost, action: ToolkitAction): IoHelper;
13
+ private readonly ioHost;
14
+ private readonly action;
15
+ private constructor();
16
+ /**
17
+ * Forward a message to the IoHost, while injection the current action
18
+ */
19
+ notify(msg: ActionLessMessage<unknown>): Promise<void>;
20
+ /**
21
+ * Forward a request to the IoHost, while injection the current action
22
+ */
23
+ requestResponse<T, U>(msg: ActionLessRequest<T, U>): Promise<U>;
24
+ /**
25
+ * Create a new marker from a given registry entry
26
+ */
27
+ span<S extends object, E extends SpanEnd>(definition: SpanDefinition<S, E>): SpanMaker<S, E>;
28
+ }
29
+ /**
30
+ * Wraps an IoHost and creates an IoHelper from it
31
+ */
32
+ export declare function asIoHelper(ioHost: IIoHost, action: ToolkitAction): IoHelper;
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IoHelper = void 0;
4
+ exports.asIoHelper = asIoHelper;
5
+ const span_1 = require("./span");
6
+ /**
7
+ * A class containing helper tools to interact with IoHost
8
+ */
9
+ class IoHelper {
10
+ static fromIoHost(ioHost, action) {
11
+ return new IoHelper(ioHost, action);
12
+ }
13
+ ioHost;
14
+ action;
15
+ constructor(ioHost, action) {
16
+ this.ioHost = ioHost;
17
+ this.action = action;
18
+ }
19
+ /**
20
+ * Forward a message to the IoHost, while injection the current action
21
+ */
22
+ notify(msg) {
23
+ return this.ioHost.notify({
24
+ ...msg,
25
+ action: this.action,
26
+ });
27
+ }
28
+ /**
29
+ * Forward a request to the IoHost, while injection the current action
30
+ */
31
+ requestResponse(msg) {
32
+ return this.ioHost.requestResponse({
33
+ ...msg,
34
+ action: this.action,
35
+ });
36
+ }
37
+ /**
38
+ * Create a new marker from a given registry entry
39
+ */
40
+ span(definition) {
41
+ return new span_1.SpanMaker(this, definition);
42
+ }
43
+ }
44
+ exports.IoHelper = IoHelper;
45
+ /**
46
+ * Wraps an IoHost and creates an IoHelper from it
47
+ */
48
+ function asIoHelper(ioHost, action) {
49
+ return IoHelper.fromIoHost(ioHost, action);
50
+ }
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW8taGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiaW8taGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQXdEQSxnQ0FFQztBQXRERCxpQ0FBbUM7QUFLbkM7O0dBRUc7QUFDSCxNQUFhLFFBQVE7SUFDWixNQUFNLENBQUMsVUFBVSxDQUFDLE1BQWUsRUFBRSxNQUFxQjtRQUM3RCxPQUFPLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRWdCLE1BQU0sQ0FBVTtJQUNoQixNQUFNLENBQWdCO0lBRXZDLFlBQW9CLE1BQWUsRUFBRSxNQUFxQjtRQUN4RCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsR0FBK0I7UUFDM0MsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztZQUN4QixHQUFHLEdBQUc7WUFDTixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDcEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0ksZUFBZSxDQUFPLEdBQTRCO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUM7WUFDakMsR0FBRyxHQUFHO1lBQ04sTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQ3BCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNJLElBQUksQ0FBc0MsVUFBZ0M7UUFDL0UsT0FBTyxJQUFJLGdCQUFTLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7Q0FDRjtBQXZDRCw0QkF1Q0M7QUFFRDs7R0FFRztBQUNILFNBQWdCLFVBQVUsQ0FBQyxNQUFlLEVBQUUsTUFBcUI7SUFDL0QsT0FBTyxRQUFRLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztBQUM3QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBJSW9Ib3N0IH0gZnJvbSAnLi4vaW8taG9zdCc7XG5pbXBvcnQgdHlwZSB7IElvTWVzc2FnZSwgSW9SZXF1ZXN0IH0gZnJvbSAnLi4vaW8tbWVzc2FnZSc7XG5pbXBvcnQgdHlwZSB7IFRvb2xraXRBY3Rpb24gfSBmcm9tICcuLi90b29sa2l0LWFjdGlvbic7XG5pbXBvcnQgdHlwZSB7IFNwYW5FbmQsIFNwYW5EZWZpbml0aW9uIH0gZnJvbSAnLi9zcGFuJztcbmltcG9ydCB7IFNwYW5NYWtlciB9IGZyb20gJy4vc3Bhbic7XG5cbmV4cG9ydCB0eXBlIEFjdGlvbkxlc3NNZXNzYWdlPFQ+ID0gT21pdDxJb01lc3NhZ2U8VD4sICdhY3Rpb24nPjtcbmV4cG9ydCB0eXBlIEFjdGlvbkxlc3NSZXF1ZXN0PFQsIFU+ID0gT21pdDxJb1JlcXVlc3Q8VCwgVT4sICdhY3Rpb24nPjtcblxuLyoqXG4gKiBBIGNsYXNzIGNvbnRhaW5pbmcgaGVscGVyIHRvb2xzIHRvIGludGVyYWN0IHdpdGggSW9Ib3N0XG4gKi9cbmV4cG9ydCBjbGFzcyBJb0hlbHBlciBpbXBsZW1lbnRzIElJb0hvc3Qge1xuICBwdWJsaWMgc3RhdGljIGZyb21Jb0hvc3QoaW9Ib3N0OiBJSW9Ib3N0LCBhY3Rpb246IFRvb2xraXRBY3Rpb24pIHtcbiAgICByZXR1cm4gbmV3IElvSGVscGVyKGlvSG9zdCwgYWN0aW9uKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgaW9Ib3N0OiBJSW9Ib3N0O1xuICBwcml2YXRlIHJlYWRvbmx5IGFjdGlvbjogVG9vbGtpdEFjdGlvbjtcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKGlvSG9zdDogSUlvSG9zdCwgYWN0aW9uOiBUb29sa2l0QWN0aW9uKSB7XG4gICAgdGhpcy5pb0hvc3QgPSBpb0hvc3Q7XG4gICAgdGhpcy5hY3Rpb24gPSBhY3Rpb247XG4gIH1cblxuICAvKipcbiAgICogRm9yd2FyZCBhIG1lc3NhZ2UgdG8gdGhlIElvSG9zdCwgd2hpbGUgaW5qZWN0aW9uIHRoZSBjdXJyZW50IGFjdGlvblxuICAgKi9cbiAgcHVibGljIG5vdGlmeShtc2c6IEFjdGlvbkxlc3NNZXNzYWdlPHVua25vd24+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuaW9Ib3N0Lm5vdGlmeSh7XG4gICAgICAuLi5tc2csXG4gICAgICBhY3Rpb246IHRoaXMuYWN0aW9uLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEZvcndhcmQgYSByZXF1ZXN0IHRvIHRoZSBJb0hvc3QsIHdoaWxlIGluamVjdGlvbiB0aGUgY3VycmVudCBhY3Rpb25cbiAgICovXG4gIHB1YmxpYyByZXF1ZXN0UmVzcG9uc2U8VCwgVT4obXNnOiBBY3Rpb25MZXNzUmVxdWVzdDxULCBVPik6IFByb21pc2U8VT4ge1xuICAgIHJldHVybiB0aGlzLmlvSG9zdC5yZXF1ZXN0UmVzcG9uc2Uoe1xuICAgICAgLi4ubXNnLFxuICAgICAgYWN0aW9uOiB0aGlzLmFjdGlvbixcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBuZXcgbWFya2VyIGZyb20gYSBnaXZlbiByZWdpc3RyeSBlbnRyeVxuICAgKi9cbiAgcHVibGljIHNwYW48UyBleHRlbmRzIG9iamVjdCwgRSBleHRlbmRzIFNwYW5FbmQ+KGRlZmluaXRpb246IFNwYW5EZWZpbml0aW9uPFMsIEU+KSB7XG4gICAgcmV0dXJuIG5ldyBTcGFuTWFrZXIodGhpcywgZGVmaW5pdGlvbik7XG4gIH1cbn1cblxuLyoqXG4gKiBXcmFwcyBhbiBJb0hvc3QgYW5kIGNyZWF0ZXMgYW4gSW9IZWxwZXIgZnJvbSBpdFxuICovXG5leHBvcnQgZnVuY3Rpb24gYXNJb0hlbHBlcihpb0hvc3Q6IElJb0hvc3QsIGFjdGlvbjogVG9vbGtpdEFjdGlvbik6IElvSGVscGVyIHtcbiAgcmV0dXJuIElvSGVscGVyLmZyb21Jb0hvc3QoaW9Ib3N0LCBhY3Rpb24pO1xufVxuIl19
@@ -0,0 +1,11 @@
1
+ import type { IoMessageLevel } from '../';
2
+ /**
3
+ * Determines if a message is relevant for the given log level.
4
+ *
5
+ * @param msg The message to compare.
6
+ * @param level The level to compare against.
7
+ * @returns true if the message is relevant for the given level.
8
+ */
9
+ export declare function isMessageRelevantForLevel(msg: {
10
+ level: IoMessageLevel;
11
+ }, level: IoMessageLevel): boolean;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isMessageRelevantForLevel = isMessageRelevantForLevel;
4
+ /**
5
+ * Keep this list ordered from most to least verbose.
6
+ * Every level "includes" all of the levels below it.
7
+ * This is used to compare levels of messages to determine what should be logged.
8
+ */
9
+ const levels = [
10
+ 'trace',
11
+ 'debug',
12
+ 'info',
13
+ 'warn',
14
+ 'result',
15
+ 'error',
16
+ ];
17
+ // compare levels helper
18
+ // helper to convert the array into a map with numbers
19
+ const orderedLevels = Object.fromEntries(Object.entries(levels).map(a => a.reverse()));
20
+ function compareFn(a, b) {
21
+ return orderedLevels[a] - orderedLevels[b];
22
+ }
23
+ /**
24
+ * Determines if a message is relevant for the given log level.
25
+ *
26
+ * @param msg The message to compare.
27
+ * @param level The level to compare against.
28
+ * @returns true if the message is relevant for the given level.
29
+ */
30
+ function isMessageRelevantForLevel(msg, level) {
31
+ return compareFn(msg.level, level) >= 0;
32
+ }
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGV2ZWwtcHJpb3JpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJsZXZlbC1wcmlvcml0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQThCQSw4REFFQztBQTlCRDs7OztHQUlHO0FBQ0gsTUFBTSxNQUFNLEdBQUc7SUFDYixPQUFPO0lBQ1AsT0FBTztJQUNQLE1BQU07SUFDTixNQUFNO0lBQ04sUUFBUTtJQUNSLE9BQU87Q0FDQyxDQUFDO0FBRVgsd0JBQXdCO0FBQ3hCLHNEQUFzRDtBQUN0RCxNQUFNLGFBQWEsR0FBMEMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDOUgsU0FBUyxTQUFTLENBQUMsQ0FBaUIsRUFBRSxDQUFpQjtJQUNyRCxPQUFPLGFBQWEsQ0FBQyxDQUFDLENBQUMsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDN0MsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILFNBQWdCLHlCQUF5QixDQUFDLEdBQTZCLEVBQUUsS0FBcUI7SUFDNUYsT0FBTyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDMUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSW9NZXNzYWdlTGV2ZWwgfSBmcm9tICcuLi8nO1xuXG4vKipcbiAqIEtlZXAgdGhpcyBsaXN0IG9yZGVyZWQgZnJvbSBtb3N0IHRvIGxlYXN0IHZlcmJvc2UuXG4gKiBFdmVyeSBsZXZlbCBcImluY2x1ZGVzXCIgYWxsIG9mIHRoZSBsZXZlbHMgYmVsb3cgaXQuXG4gKiBUaGlzIGlzIHVzZWQgdG8gY29tcGFyZSBsZXZlbHMgb2YgbWVzc2FnZXMgdG8gZGV0ZXJtaW5lIHdoYXQgc2hvdWxkIGJlIGxvZ2dlZC5cbiAqL1xuY29uc3QgbGV2ZWxzID0gW1xuICAndHJhY2UnLFxuICAnZGVidWcnLFxuICAnaW5mbycsXG4gICd3YXJuJyxcbiAgJ3Jlc3VsdCcsXG4gICdlcnJvcicsXG5dIGFzIGNvbnN0O1xuXG4vLyBjb21wYXJlIGxldmVscyBoZWxwZXJcbi8vIGhlbHBlciB0byBjb252ZXJ0IHRoZSBhcnJheSBpbnRvIGEgbWFwIHdpdGggbnVtYmVyc1xuY29uc3Qgb3JkZXJlZExldmVsczogUmVjb3JkPHR5cGVvZiBsZXZlbHNbbnVtYmVyXSwgbnVtYmVyPiA9IE9iamVjdC5mcm9tRW50cmllcyhPYmplY3QuZW50cmllcyhsZXZlbHMpLm1hcChhID0+IGEucmV2ZXJzZSgpKSk7XG5mdW5jdGlvbiBjb21wYXJlRm4oYTogSW9NZXNzYWdlTGV2ZWwsIGI6IElvTWVzc2FnZUxldmVsKTogbnVtYmVyIHtcbiAgcmV0dXJuIG9yZGVyZWRMZXZlbHNbYV0gLSBvcmRlcmVkTGV2ZWxzW2JdO1xufVxuXG4vKipcbiAqIERldGVybWluZXMgaWYgYSBtZXNzYWdlIGlzIHJlbGV2YW50IGZvciB0aGUgZ2l2ZW4gbG9nIGxldmVsLlxuICpcbiAqIEBwYXJhbSBtc2cgVGhlIG1lc3NhZ2UgdG8gY29tcGFyZS5cbiAqIEBwYXJhbSBsZXZlbCBUaGUgbGV2ZWwgdG8gY29tcGFyZSBhZ2FpbnN0LlxuICogQHJldHVybnMgdHJ1ZSBpZiB0aGUgbWVzc2FnZSBpcyByZWxldmFudCBmb3IgdGhlIGdpdmVuIGxldmVsLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNNZXNzYWdlUmVsZXZhbnRGb3JMZXZlbChtc2c6IHsgbGV2ZWw6IElvTWVzc2FnZUxldmVsfSwgbGV2ZWw6IElvTWVzc2FnZUxldmVsKTogYm9vbGVhbiB7XG4gIHJldHVybiBjb21wYXJlRm4obXNnLmxldmVsLCBsZXZlbCkgPj0gMDtcbn1cblxuIl19
@@ -0,0 +1,89 @@
1
+ import type { IoMessage, IoMessageCode, IoMessageLevel } from '../io-message';
2
+ import type { ActionLessMessage, ActionLessRequest } from './io-helper';
3
+ /**
4
+ * Information for each IO Message Code.
5
+ */
6
+ interface CodeInfo {
7
+ /**
8
+ * The message code.
9
+ */
10
+ readonly code: IoMessageCode;
11
+ /**
12
+ * A brief description of the meaning of this IO Message.
13
+ */
14
+ readonly description: string;
15
+ /**
16
+ * The name of the payload interface, if applicable.
17
+ * Some Io Messages include a payload, with a specific interface. The name of
18
+ * the interface is specified here so that it can be linked with the message
19
+ * when documentation is generated.
20
+ *
21
+ * The interface _must_ be exposed directly from toolkit-lib, so that it will
22
+ * have a documentation page generated (that can be linked to).
23
+ */
24
+ readonly interface?: string;
25
+ }
26
+ /**
27
+ * Information for each IO Message
28
+ */
29
+ interface MessageInfo extends CodeInfo {
30
+ /**
31
+ * The message level
32
+ */
33
+ readonly level: IoMessageLevel;
34
+ }
35
+ /**
36
+ * An interface that can produce messages for a specific code.
37
+ */
38
+ export interface IoMessageMaker<T> extends MessageInfo {
39
+ /**
40
+ * Create a message for this code, with or without payload.
41
+ */
42
+ msg: [T] extends [AbsentData] ? (message: string) => ActionLessMessage<AbsentData> : (message: string, data: T) => ActionLessMessage<T>;
43
+ /**
44
+ * Returns whether the given `IoMessage` instance matches the current message definition
45
+ */
46
+ is(x: IoMessage<unknown>): x is IoMessage<T>;
47
+ }
48
+ /**
49
+ * A type that is impossible for a user to replicate
50
+ * This is used to ensure that results always have a proper type generic declared.
51
+ */
52
+ declare const privateKey: unique symbol;
53
+ export type ImpossibleType = {
54
+ readonly [privateKey]: typeof privateKey;
55
+ };
56
+ type CodeInfoMaybeInterface<T> = [T] extends [AbsentData] ? Omit<CodeInfo, 'interface'> : Required<CodeInfo>;
57
+ /**
58
+ * The type we use to represent an absent data field
59
+ *
60
+ * This is here to make it easy to change between `undefined`, `void`
61
+ * and `never`.
62
+ *
63
+ * Not a lot of difference between `undefined` and `void`, but `void`
64
+ * reads better.
65
+ */
66
+ type AbsentData = void;
67
+ export declare const trace: <T = void>(details: CodeInfoMaybeInterface<T>) => IoMessageMaker<T>;
68
+ export declare const debug: <T = void>(details: CodeInfoMaybeInterface<T>) => IoMessageMaker<T>;
69
+ export declare const info: <T = void>(details: CodeInfoMaybeInterface<T>) => IoMessageMaker<T>;
70
+ export declare const warn: <T = void>(details: CodeInfoMaybeInterface<T>) => IoMessageMaker<T>;
71
+ export declare const error: <T = void>(details: CodeInfoMaybeInterface<T>) => IoMessageMaker<T>;
72
+ export declare const result: <T extends object = ImpossibleType>(details: Required<CodeInfo>) => IoMessageMaker<T>;
73
+ interface RequestInfo<U> extends CodeInfo {
74
+ readonly defaultResponse: U;
75
+ }
76
+ /**
77
+ * An interface that can produce requests for a specific code.
78
+ */
79
+ export interface IoRequestMaker<T, U> extends MessageInfo {
80
+ /**
81
+ * Create a message for this code, with or without payload.
82
+ */
83
+ req: [T] extends [AbsentData] ? (message: string) => ActionLessMessage<AbsentData> : (message: string, data: T) => ActionLessRequest<T, U>;
84
+ }
85
+ /**
86
+ * A request that is a simple yes/no question, with the expectation that 'yes' is the default.
87
+ */
88
+ export declare const confirm: <T extends object = ImpossibleType>(details: Required<Omit<RequestInfo<boolean>, "defaultResponse">>) => IoRequestMaker<T, boolean>;
89
+ export {};
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.confirm = exports.result = exports.error = exports.warn = exports.info = exports.debug = exports.trace = void 0;
4
+ /**
5
+ * Produce an IoMessageMaker for the provided level and code info.
6
+ */
7
+ function message(level, details) {
8
+ const maker = (text, data) => ({
9
+ time: new Date(),
10
+ level,
11
+ code: details.code,
12
+ message: text,
13
+ data,
14
+ });
15
+ return {
16
+ ...details,
17
+ level,
18
+ msg: maker,
19
+ is: (m) => m.code === details.code,
20
+ };
21
+ }
22
+ const trace = (details) => message('trace', details);
23
+ exports.trace = trace;
24
+ const debug = (details) => message('debug', details);
25
+ exports.debug = debug;
26
+ const info = (details) => message('info', details);
27
+ exports.info = info;
28
+ const warn = (details) => message('warn', details);
29
+ exports.warn = warn;
30
+ const error = (details) => message('error', details);
31
+ exports.error = error;
32
+ const result = (details) => message('result', details);
33
+ exports.result = result;
34
+ /**
35
+ * Produce an IoRequestMaker for the provided level and request info.
36
+ */
37
+ function request(level, details) {
38
+ const maker = (text, data) => ({
39
+ time: new Date(),
40
+ level,
41
+ code: details.code,
42
+ message: text,
43
+ data,
44
+ defaultResponse: details.defaultResponse,
45
+ });
46
+ return {
47
+ ...details,
48
+ level,
49
+ req: maker,
50
+ };
51
+ }
52
+ /**
53
+ * A request that is a simple yes/no question, with the expectation that 'yes' is the default.
54
+ */
55
+ const confirm = (details) => request('info', {
56
+ ...details,
57
+ defaultResponse: true,
58
+ });
59
+ exports.confirm = confirm;
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1tYWtlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIm1lc3NhZ2UtbWFrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBc0RBOztHQUVHO0FBQ0gsU0FBUyxPQUFPLENBQWlCLEtBQXFCLEVBQUUsT0FBaUI7SUFDdkUsTUFBTSxLQUFLLEdBQUcsQ0FBQyxJQUFZLEVBQUUsSUFBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3hDLElBQUksRUFBRSxJQUFJLElBQUksRUFBRTtRQUNoQixLQUFLO1FBQ0wsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1FBQ2xCLE9BQU8sRUFBRSxJQUFJO1FBQ2IsSUFBSTtLQUNvQixDQUFBLENBQUM7SUFFM0IsT0FBTztRQUNMLEdBQUcsT0FBTztRQUNWLEtBQUs7UUFDTCxHQUFHLEVBQUUsS0FBWTtRQUNqQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQXFCLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQyxJQUFJO0tBQ3RELENBQUM7QUFDSixDQUFDO0FBeUJNLE1BQU0sS0FBSyxHQUFHLENBQWlCLE9BQWtDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBSSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFBN0YsUUFBQSxLQUFLLFNBQXdGO0FBQ25HLE1BQU0sS0FBSyxHQUFHLENBQWlCLE9BQWtDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBSSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFBN0YsUUFBQSxLQUFLLFNBQXdGO0FBQ25HLE1BQU0sSUFBSSxHQUFHLENBQWlCLE9BQWtDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBSSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFBM0YsUUFBQSxJQUFJLFFBQXVGO0FBQ2pHLE1BQU0sSUFBSSxHQUFHLENBQWlCLE9BQWtDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBSSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFBM0YsUUFBQSxJQUFJLFFBQXVGO0FBQ2pHLE1BQU0sS0FBSyxHQUFHLENBQWlCLE9BQWtDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBSSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFBN0YsUUFBQSxLQUFLLFNBQXdGO0FBQ25HLE1BQU0sTUFBTSxHQUFHLENBQW9DLE9BQTJCLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBSSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFBM0csUUFBQSxNQUFNLFVBQXFHO0FBZ0J4SDs7R0FFRztBQUNILFNBQVMsT0FBTyxDQUFxQyxLQUFxQixFQUFFLE9BQXVCO0lBQ2pHLE1BQU0sS0FBSyxHQUFHLENBQUMsSUFBWSxFQUFFLElBQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN4QyxJQUFJLEVBQUUsSUFBSSxJQUFJLEVBQUU7UUFDaEIsS0FBSztRQUNMLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtRQUNsQixPQUFPLEVBQUUsSUFBSTtRQUNiLElBQUk7UUFDSixlQUFlLEVBQUUsT0FBTyxDQUFDLGVBQWU7S0FDYixDQUFBLENBQUM7SUFFOUIsT0FBTztRQUNMLEdBQUcsT0FBTztRQUNWLEtBQUs7UUFDTCxHQUFHLEVBQUUsS0FBWTtLQUNsQixDQUFDO0FBQ0osQ0FBQztBQUVEOztHQUVHO0FBQ0ksTUFBTSxPQUFPLEdBQUcsQ0FBb0MsT0FBZ0UsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFhLE1BQU0sRUFBRTtJQUMxSixHQUFHLE9BQU87SUFDVixlQUFlLEVBQUUsSUFBSTtDQUN0QixDQUFDLENBQUM7QUFIVSxRQUFBLE9BQU8sV0FHakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IElvTWVzc2FnZSwgSW9NZXNzYWdlQ29kZSwgSW9NZXNzYWdlTGV2ZWwgfSBmcm9tICcuLi9pby1tZXNzYWdlJztcbmltcG9ydCB0eXBlIHsgQWN0aW9uTGVzc01lc3NhZ2UsIEFjdGlvbkxlc3NSZXF1ZXN0IH0gZnJvbSAnLi9pby1oZWxwZXInO1xuXG4vKipcbiAqIEluZm9ybWF0aW9uIGZvciBlYWNoIElPIE1lc3NhZ2UgQ29kZS5cbiAqL1xuaW50ZXJmYWNlIENvZGVJbmZvIHtcbiAgLyoqXG4gICAqIFRoZSBtZXNzYWdlIGNvZGUuXG4gICAqL1xuICByZWFkb25seSBjb2RlOiBJb01lc3NhZ2VDb2RlO1xuXG4gIC8qKlxuICAgKiBBIGJyaWVmIGRlc2NyaXB0aW9uIG9mIHRoZSBtZWFuaW5nIG9mIHRoaXMgSU8gTWVzc2FnZS5cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBwYXlsb2FkIGludGVyZmFjZSwgaWYgYXBwbGljYWJsZS5cbiAgICogU29tZSBJbyBNZXNzYWdlcyBpbmNsdWRlIGEgcGF5bG9hZCwgd2l0aCBhIHNwZWNpZmljIGludGVyZmFjZS4gVGhlIG5hbWUgb2ZcbiAgICogdGhlIGludGVyZmFjZSBpcyBzcGVjaWZpZWQgaGVyZSBzbyB0aGF0IGl0IGNhbiBiZSBsaW5rZWQgd2l0aCB0aGUgbWVzc2FnZVxuICAgKiB3aGVuIGRvY3VtZW50YXRpb24gaXMgZ2VuZXJhdGVkLlxuICAgKlxuICAgKiBUaGUgaW50ZXJmYWNlIF9tdXN0XyBiZSBleHBvc2VkIGRpcmVjdGx5IGZyb20gdG9vbGtpdC1saWIsIHNvIHRoYXQgaXQgd2lsbFxuICAgKiBoYXZlIGEgZG9jdW1lbnRhdGlvbiBwYWdlIGdlbmVyYXRlZCAodGhhdCBjYW4gYmUgbGlua2VkIHRvKS5cbiAgICovXG4gIHJlYWRvbmx5IGludGVyZmFjZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBJbmZvcm1hdGlvbiBmb3IgZWFjaCBJTyBNZXNzYWdlXG4gKi9cbmludGVyZmFjZSBNZXNzYWdlSW5mbyBleHRlbmRzIENvZGVJbmZvIHtcbiAgLyoqXG4gICAqIFRoZSBtZXNzYWdlIGxldmVsXG4gICAqL1xuICByZWFkb25seSBsZXZlbDogSW9NZXNzYWdlTGV2ZWw7XG59XG5cbi8qKlxuICogQW4gaW50ZXJmYWNlIHRoYXQgY2FuIHByb2R1Y2UgbWVzc2FnZXMgZm9yIGEgc3BlY2lmaWMgY29kZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJb01lc3NhZ2VNYWtlcjxUPiBleHRlbmRzIE1lc3NhZ2VJbmZvIHtcbiAgLyoqXG4gICAqIENyZWF0ZSBhIG1lc3NhZ2UgZm9yIHRoaXMgY29kZSwgd2l0aCBvciB3aXRob3V0IHBheWxvYWQuXG4gICAqL1xuICBtc2c6IFtUXSBleHRlbmRzIFtBYnNlbnREYXRhXSA/IChtZXNzYWdlOiBzdHJpbmcpID0+IEFjdGlvbkxlc3NNZXNzYWdlPEFic2VudERhdGE+IDogKG1lc3NhZ2U6IHN0cmluZywgZGF0YTogVCkgPT4gQWN0aW9uTGVzc01lc3NhZ2U8VD47XG5cbiAgLyoqXG4gICAqIFJldHVybnMgd2hldGhlciB0aGUgZ2l2ZW4gYElvTWVzc2FnZWAgaW5zdGFuY2UgbWF0Y2hlcyB0aGUgY3VycmVudCBtZXNzYWdlIGRlZmluaXRpb25cbiAgICovXG4gIGlzKHg6IElvTWVzc2FnZTx1bmtub3duPik6IHggaXMgSW9NZXNzYWdlPFQ+O1xufVxuXG4vKipcbiAqIFByb2R1Y2UgYW4gSW9NZXNzYWdlTWFrZXIgZm9yIHRoZSBwcm92aWRlZCBsZXZlbCBhbmQgY29kZSBpbmZvLlxuICovXG5mdW5jdGlvbiBtZXNzYWdlPFQgPSBBYnNlbnREYXRhPihsZXZlbDogSW9NZXNzYWdlTGV2ZWwsIGRldGFpbHM6IENvZGVJbmZvKTogSW9NZXNzYWdlTWFrZXI8VD4ge1xuICBjb25zdCBtYWtlciA9ICh0ZXh0OiBzdHJpbmcsIGRhdGE6IFQpID0+ICh7XG4gICAgdGltZTogbmV3IERhdGUoKSxcbiAgICBsZXZlbCxcbiAgICBjb2RlOiBkZXRhaWxzLmNvZGUsXG4gICAgbWVzc2FnZTogdGV4dCxcbiAgICBkYXRhLFxuICB9IGFzIEFjdGlvbkxlc3NNZXNzYWdlPFQ+KTtcblxuICByZXR1cm4ge1xuICAgIC4uLmRldGFpbHMsXG4gICAgbGV2ZWwsXG4gICAgbXNnOiBtYWtlciBhcyBhbnksXG4gICAgaXM6IChtKTogbSBpcyBJb01lc3NhZ2U8VD4gPT4gbS5jb2RlID09PSBkZXRhaWxzLmNvZGUsXG4gIH07XG59XG5cbi8qKlxuICogQSB0eXBlIHRoYXQgaXMgaW1wb3NzaWJsZSBmb3IgYSB1c2VyIHRvIHJlcGxpY2F0ZVxuICogVGhpcyBpcyB1c2VkIHRvIGVuc3VyZSB0aGF0IHJlc3VsdHMgYWx3YXlzIGhhdmUgYSBwcm9wZXIgdHlwZSBnZW5lcmljIGRlY2xhcmVkLlxuICovXG5kZWNsYXJlIGNvbnN0IHByaXZhdGVLZXk6IHVuaXF1ZSBzeW1ib2w7XG5leHBvcnQgdHlwZSBJbXBvc3NpYmxlVHlwZSA9IHtcbiAgcmVhZG9ubHkgW3ByaXZhdGVLZXldOiB0eXBlb2YgcHJpdmF0ZUtleTtcbn07XG5cbi8vIENyZWF0ZSBgSW9NZXNzYWdlTWFrZXJgcyBmb3IgYSBnaXZlbiBsZXZlbCBhbmQgdHlwZSBjaGVjayB0aGF0IGNhbGxzIHdpdGggcGF5bG9hZCBhcmUgdXNpbmcgdGhlIGNvcnJlY3QgaW50ZXJmYWNlXG50eXBlIENvZGVJbmZvTWF5YmVJbnRlcmZhY2U8VD4gPSBbVF0gZXh0ZW5kcyBbQWJzZW50RGF0YV0gPyBPbWl0PENvZGVJbmZvLCAnaW50ZXJmYWNlJz4gOiBSZXF1aXJlZDxDb2RlSW5mbz47XG5cbi8qKlxuICogVGhlIHR5cGUgd2UgdXNlIHRvIHJlcHJlc2VudCBhbiBhYnNlbnQgZGF0YSBmaWVsZFxuICpcbiAqIFRoaXMgaXMgaGVyZSB0byBtYWtlIGl0IGVhc3kgdG8gY2hhbmdlIGJldHdlZW4gYHVuZGVmaW5lZGAsIGB2b2lkYFxuICogYW5kIGBuZXZlcmAuXG4gKlxuICogTm90IGEgbG90IG9mIGRpZmZlcmVuY2UgYmV0d2VlbiBgdW5kZWZpbmVkYCBhbmQgYHZvaWRgLCBidXQgYHZvaWRgXG4gKiByZWFkcyBiZXR0ZXIuXG4gKi9cbnR5cGUgQWJzZW50RGF0YSA9IHZvaWQ7XG5cbmV4cG9ydCBjb25zdCB0cmFjZSA9IDxUID0gQWJzZW50RGF0YT4oZGV0YWlsczogQ29kZUluZm9NYXliZUludGVyZmFjZTxUPikgPT4gbWVzc2FnZTxUPigndHJhY2UnLCBkZXRhaWxzKTtcbmV4cG9ydCBjb25zdCBkZWJ1ZyA9IDxUID0gQWJzZW50RGF0YT4oZGV0YWlsczogQ29kZUluZm9NYXliZUludGVyZmFjZTxUPikgPT4gbWVzc2FnZTxUPignZGVidWcnLCBkZXRhaWxzKTtcbmV4cG9ydCBjb25zdCBpbmZvID0gPFQgPSBBYnNlbnREYXRhPihkZXRhaWxzOiBDb2RlSW5mb01heWJlSW50ZXJmYWNlPFQ+KSA9PiBtZXNzYWdlPFQ+KCdpbmZvJywgZGV0YWlscyk7XG5leHBvcnQgY29uc3Qgd2FybiA9IDxUID0gQWJzZW50RGF0YT4oZGV0YWlsczogQ29kZUluZm9NYXliZUludGVyZmFjZTxUPikgPT4gbWVzc2FnZTxUPignd2FybicsIGRldGFpbHMpO1xuZXhwb3J0IGNvbnN0IGVycm9yID0gPFQgPSBBYnNlbnREYXRhPihkZXRhaWxzOiBDb2RlSW5mb01heWJlSW50ZXJmYWNlPFQ+KSA9PiBtZXNzYWdlPFQ+KCdlcnJvcicsIGRldGFpbHMpO1xuZXhwb3J0IGNvbnN0IHJlc3VsdCA9IDxUIGV4dGVuZHMgb2JqZWN0ID0gSW1wb3NzaWJsZVR5cGU+KGRldGFpbHM6IFJlcXVpcmVkPENvZGVJbmZvPikgPT4gbWVzc2FnZTxUPigncmVzdWx0JywgZGV0YWlscyk7XG5cbmludGVyZmFjZSBSZXF1ZXN0SW5mbzxVPiBleHRlbmRzIENvZGVJbmZvIHtcbiAgcmVhZG9ubHkgZGVmYXVsdFJlc3BvbnNlOiBVO1xufVxuXG4vKipcbiAqIEFuIGludGVyZmFjZSB0aGF0IGNhbiBwcm9kdWNlIHJlcXVlc3RzIGZvciBhIHNwZWNpZmljIGNvZGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW9SZXF1ZXN0TWFrZXI8VCwgVT4gZXh0ZW5kcyBNZXNzYWdlSW5mbyB7XG4gIC8qKlxuICAgKiBDcmVhdGUgYSBtZXNzYWdlIGZvciB0aGlzIGNvZGUsIHdpdGggb3Igd2l0aG91dCBwYXlsb2FkLlxuICAgKi9cbiAgcmVxOiBbVF0gZXh0ZW5kcyBbQWJzZW50RGF0YV0gPyAobWVzc2FnZTogc3RyaW5nKSA9PiBBY3Rpb25MZXNzTWVzc2FnZTxBYnNlbnREYXRhPiA6IChtZXNzYWdlOiBzdHJpbmcsIGRhdGE6IFQpID0+IEFjdGlvbkxlc3NSZXF1ZXN0PFQsIFU+O1xufVxuXG4vKipcbiAqIFByb2R1Y2UgYW4gSW9SZXF1ZXN0TWFrZXIgZm9yIHRoZSBwcm92aWRlZCBsZXZlbCBhbmQgcmVxdWVzdCBpbmZvLlxuICovXG5mdW5jdGlvbiByZXF1ZXN0PFQgPSBBYnNlbnREYXRhLCBVID0gSW1wb3NzaWJsZVR5cGU+KGxldmVsOiBJb01lc3NhZ2VMZXZlbCwgZGV0YWlsczogUmVxdWVzdEluZm88VT4pOiBJb1JlcXVlc3RNYWtlcjxULCBVPiB7XG4gIGNvbnN0IG1ha2VyID0gKHRleHQ6IHN0cmluZywgZGF0YTogVCkgPT4gKHtcbiAgICB0aW1lOiBuZXcgRGF0ZSgpLFxuICAgIGxldmVsLFxuICAgIGNvZGU6IGRldGFpbHMuY29kZSxcbiAgICBtZXNzYWdlOiB0ZXh0LFxuICAgIGRhdGEsXG4gICAgZGVmYXVsdFJlc3BvbnNlOiBkZXRhaWxzLmRlZmF1bHRSZXNwb25zZSxcbiAgfSBhcyBBY3Rpb25MZXNzUmVxdWVzdDxULCBVPik7XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5kZXRhaWxzLFxuICAgIGxldmVsLFxuICAgIHJlcTogbWFrZXIgYXMgYW55LFxuICB9O1xufVxuXG4vKipcbiAqIEEgcmVxdWVzdCB0aGF0IGlzIGEgc2ltcGxlIHllcy9ubyBxdWVzdGlvbiwgd2l0aCB0aGUgZXhwZWN0YXRpb24gdGhhdCAneWVzJyBpcyB0aGUgZGVmYXVsdC5cbiAqL1xuZXhwb3J0IGNvbnN0IGNvbmZpcm0gPSA8VCBleHRlbmRzIG9iamVjdCA9IEltcG9zc2libGVUeXBlPihkZXRhaWxzOiBSZXF1aXJlZDxPbWl0PFJlcXVlc3RJbmZvPGJvb2xlYW4+LCAnZGVmYXVsdFJlc3BvbnNlJz4+KSA9PiByZXF1ZXN0PFQsIGJvb2xlYW4+KCdpbmZvJywge1xuICAuLi5kZXRhaWxzLFxuICBkZWZhdWx0UmVzcG9uc2U6IHRydWUsXG59KTtcbiJdfQ==