@parmana/shared 0.0.0-stage → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (417) hide show
  1. package/LICENSE +202 -0
  2. package/NOTICE +8 -0
  3. package/README.md +16 -2
  4. package/dist/.tsbuildinfo +1 -0
  5. package/dist/config/ApiKeyEntry.d.ts +97 -0
  6. package/dist/config/ApiKeyEntry.d.ts.map +1 -0
  7. package/dist/config/ApiKeyEntry.js +2 -0
  8. package/dist/config/ApiKeyEntry.js.map +1 -0
  9. package/dist/config/Config.d.ts +202 -0
  10. package/dist/config/Config.d.ts.map +1 -0
  11. package/dist/config/Config.js +172 -0
  12. package/dist/config/Config.js.map +1 -0
  13. package/dist/config/ConfigLoader.d.ts +5 -0
  14. package/dist/config/ConfigLoader.d.ts.map +1 -0
  15. package/dist/config/ConfigLoader.js +8 -0
  16. package/dist/config/ConfigLoader.js.map +1 -0
  17. package/dist/config/ConfigUtils.d.ts +6 -0
  18. package/dist/config/ConfigUtils.d.ts.map +1 -0
  19. package/dist/config/ConfigUtils.js +8 -0
  20. package/dist/config/ConfigUtils.js.map +1 -0
  21. package/dist/config/ConfigValidation.d.ts +30 -0
  22. package/dist/config/ConfigValidation.d.ts.map +1 -0
  23. package/dist/config/ConfigValidation.js +170 -0
  24. package/dist/config/ConfigValidation.js.map +1 -0
  25. package/dist/config/CryptoAlgorithms.d.ts +42 -0
  26. package/dist/config/CryptoAlgorithms.d.ts.map +1 -0
  27. package/dist/config/CryptoAlgorithms.js +42 -0
  28. package/dist/config/CryptoAlgorithms.js.map +1 -0
  29. package/dist/config/KeyProviders.d.ts +9 -0
  30. package/dist/config/KeyProviders.d.ts.map +1 -0
  31. package/dist/config/KeyProviders.js +8 -0
  32. package/dist/config/KeyProviders.js.map +1 -0
  33. package/dist/config/SecretsProviders.d.ts +6 -0
  34. package/dist/config/SecretsProviders.d.ts.map +1 -0
  35. package/dist/config/SecretsProviders.js +5 -0
  36. package/dist/config/SecretsProviders.js.map +1 -0
  37. package/dist/config/StorageProviders.d.ts +18 -0
  38. package/dist/config/StorageProviders.d.ts.map +1 -0
  39. package/dist/config/StorageProviders.js +20 -0
  40. package/dist/config/StorageProviders.js.map +1 -0
  41. package/dist/config/TrustProfiles.d.ts +5 -0
  42. package/dist/config/TrustProfiles.d.ts.map +1 -0
  43. package/dist/config/TrustProfiles.js +4 -0
  44. package/dist/config/TrustProfiles.js.map +1 -0
  45. package/dist/config/index.d.ts +11 -0
  46. package/dist/config/index.d.ts.map +1 -0
  47. package/dist/config/index.js +11 -0
  48. package/dist/config/index.js.map +1 -0
  49. package/dist/domain/approval-artifact.d.ts +136 -0
  50. package/dist/domain/approval-artifact.d.ts.map +1 -0
  51. package/dist/domain/approval-artifact.js +2 -0
  52. package/dist/domain/approval-artifact.js.map +1 -0
  53. package/dist/domain/approval-issuer.d.ts +52 -0
  54. package/dist/domain/approval-issuer.d.ts.map +1 -0
  55. package/dist/domain/approval-issuer.js +2 -0
  56. package/dist/domain/approval-issuer.js.map +1 -0
  57. package/dist/domain/authority-grant.d.ts +54 -0
  58. package/dist/domain/authority-grant.d.ts.map +1 -0
  59. package/dist/domain/authority-grant.js +2 -0
  60. package/dist/domain/authority-grant.js.map +1 -0
  61. package/dist/domain/authority.d.ts +42 -0
  62. package/dist/domain/authority.d.ts.map +1 -0
  63. package/dist/domain/authority.js +11 -0
  64. package/dist/domain/authority.js.map +1 -0
  65. package/dist/domain/authorization.d.ts +54 -0
  66. package/dist/domain/authorization.d.ts.map +1 -0
  67. package/dist/domain/authorization.js +2 -0
  68. package/dist/domain/authorization.js.map +1 -0
  69. package/dist/domain/business-signal-source.d.ts +52 -0
  70. package/dist/domain/business-signal-source.d.ts.map +1 -0
  71. package/dist/domain/business-signal-source.js +2 -0
  72. package/dist/domain/business-signal-source.js.map +1 -0
  73. package/dist/domain/business-transaction.d.ts +99 -0
  74. package/dist/domain/business-transaction.d.ts.map +1 -0
  75. package/dist/domain/business-transaction.js +16 -0
  76. package/dist/domain/business-transaction.js.map +1 -0
  77. package/dist/domain/business-validation.d.ts +177 -0
  78. package/dist/domain/business-validation.d.ts.map +1 -0
  79. package/dist/domain/business-validation.js +60 -0
  80. package/dist/domain/business-validation.js.map +1 -0
  81. package/dist/domain/challenge-record.d.ts +181 -0
  82. package/dist/domain/challenge-record.d.ts.map +1 -0
  83. package/dist/domain/challenge-record.js +2 -0
  84. package/dist/domain/challenge-record.js.map +1 -0
  85. package/dist/domain/decision.d.ts +89 -0
  86. package/dist/domain/decision.d.ts.map +1 -0
  87. package/dist/domain/decision.js +9 -0
  88. package/dist/domain/decision.js.map +1 -0
  89. package/dist/domain/evidence-anchor.d.ts +54 -0
  90. package/dist/domain/evidence-anchor.d.ts.map +1 -0
  91. package/dist/domain/evidence-anchor.js +2 -0
  92. package/dist/domain/evidence-anchor.js.map +1 -0
  93. package/dist/domain/executable-content.d.ts +45 -0
  94. package/dist/domain/executable-content.d.ts.map +1 -0
  95. package/dist/domain/executable-content.js +39 -0
  96. package/dist/domain/executable-content.js.map +1 -0
  97. package/dist/domain/execution-audit-event.d.ts +65 -0
  98. package/dist/domain/execution-audit-event.d.ts.map +1 -0
  99. package/dist/domain/execution-audit-event.js +2 -0
  100. package/dist/domain/execution-audit-event.js.map +1 -0
  101. package/dist/domain/execution-authorization.d.ts +224 -0
  102. package/dist/domain/execution-authorization.d.ts.map +1 -0
  103. package/dist/domain/execution-authorization.js +2 -0
  104. package/dist/domain/execution-authorization.js.map +1 -0
  105. package/dist/domain/execution-evidence.d.ts +38 -0
  106. package/dist/domain/execution-evidence.d.ts.map +1 -0
  107. package/dist/domain/execution-evidence.js +2 -0
  108. package/dist/domain/execution-evidence.js.map +1 -0
  109. package/dist/domain/execution-intent.d.ts +92 -0
  110. package/dist/domain/execution-intent.d.ts.map +1 -0
  111. package/dist/domain/execution-intent.js +2 -0
  112. package/dist/domain/execution-intent.js.map +1 -0
  113. package/dist/domain/execution-metadata.d.ts +8 -0
  114. package/dist/domain/execution-metadata.d.ts.map +1 -0
  115. package/dist/domain/execution-metadata.js +2 -0
  116. package/dist/domain/execution-metadata.js.map +1 -0
  117. package/dist/domain/execution-outcome-store.d.ts +49 -0
  118. package/dist/domain/execution-outcome-store.d.ts.map +1 -0
  119. package/dist/domain/execution-outcome-store.js +10 -0
  120. package/dist/domain/execution-outcome-store.js.map +1 -0
  121. package/dist/domain/execution-result.d.ts +49 -0
  122. package/dist/domain/execution-result.d.ts.map +1 -0
  123. package/dist/domain/execution-result.js +2 -0
  124. package/dist/domain/execution-result.js.map +1 -0
  125. package/dist/domain/execution-trust-record.d.ts +142 -0
  126. package/dist/domain/execution-trust-record.d.ts.map +1 -0
  127. package/dist/domain/execution-trust-record.js +2 -0
  128. package/dist/domain/execution-trust-record.js.map +1 -0
  129. package/dist/domain/execution.d.ts +108 -0
  130. package/dist/domain/execution.d.ts.map +1 -0
  131. package/dist/domain/execution.js +18 -0
  132. package/dist/domain/execution.js.map +1 -0
  133. package/dist/domain/external-connector.d.ts +68 -0
  134. package/dist/domain/external-connector.d.ts.map +1 -0
  135. package/dist/domain/external-connector.js +2 -0
  136. package/dist/domain/external-connector.js.map +1 -0
  137. package/dist/domain/index.d.ts +37 -0
  138. package/dist/domain/index.d.ts.map +1 -0
  139. package/dist/domain/index.js +37 -0
  140. package/dist/domain/index.js.map +1 -0
  141. package/dist/domain/intent.d.ts +66 -0
  142. package/dist/domain/intent.d.ts.map +1 -0
  143. package/dist/domain/intent.js +2 -0
  144. package/dist/domain/intent.js.map +1 -0
  145. package/dist/domain/metadata.d.ts +53 -0
  146. package/dist/domain/metadata.d.ts.map +1 -0
  147. package/dist/domain/metadata.js +11 -0
  148. package/dist/domain/metadata.js.map +1 -0
  149. package/dist/domain/override.d.ts +39 -0
  150. package/dist/domain/override.d.ts.map +1 -0
  151. package/dist/domain/override.js +2 -0
  152. package/dist/domain/override.js.map +1 -0
  153. package/dist/domain/pending-policy-change.d.ts +109 -0
  154. package/dist/domain/pending-policy-change.d.ts.map +1 -0
  155. package/dist/domain/pending-policy-change.js +12 -0
  156. package/dist/domain/pending-policy-change.js.map +1 -0
  157. package/dist/domain/policy-change-approval-record.d.ts +81 -0
  158. package/dist/domain/policy-change-approval-record.d.ts.map +1 -0
  159. package/dist/domain/policy-change-approval-record.js +2 -0
  160. package/dist/domain/policy-change-approval-record.js.map +1 -0
  161. package/dist/domain/policy-change-step-up-authorization.d.ts +97 -0
  162. package/dist/domain/policy-change-step-up-authorization.d.ts.map +1 -0
  163. package/dist/domain/policy-change-step-up-authorization.js +2 -0
  164. package/dist/domain/policy-change-step-up-authorization.js.map +1 -0
  165. package/dist/domain/policy-reference.d.ts +58 -0
  166. package/dist/domain/policy-reference.d.ts.map +1 -0
  167. package/dist/domain/policy-reference.js +2 -0
  168. package/dist/domain/policy-reference.js.map +1 -0
  169. package/dist/domain/receipt.d.ts +72 -0
  170. package/dist/domain/receipt.d.ts.map +1 -0
  171. package/dist/domain/receipt.js +2 -0
  172. package/dist/domain/receipt.js.map +1 -0
  173. package/dist/domain/refusal-record.d.ts +110 -0
  174. package/dist/domain/refusal-record.d.ts.map +1 -0
  175. package/dist/domain/refusal-record.js +2 -0
  176. package/dist/domain/refusal-record.js.map +1 -0
  177. package/dist/domain/release-approval.d.ts +14 -0
  178. package/dist/domain/release-approval.d.ts.map +1 -0
  179. package/dist/domain/release-approval.js +2 -0
  180. package/dist/domain/release-approval.js.map +1 -0
  181. package/dist/domain/signals.d.ts +10 -0
  182. package/dist/domain/signals.d.ts.map +1 -0
  183. package/dist/domain/signals.js +2 -0
  184. package/dist/domain/signals.js.map +1 -0
  185. package/dist/domain/signature-entry.d.ts +23 -0
  186. package/dist/domain/signature-entry.d.ts.map +1 -0
  187. package/dist/domain/signature-entry.js +2 -0
  188. package/dist/domain/signature-entry.js.map +1 -0
  189. package/dist/domain/signature.d.ts +26 -0
  190. package/dist/domain/signature.d.ts.map +1 -0
  191. package/dist/domain/signature.js +2 -0
  192. package/dist/domain/signature.js.map +1 -0
  193. package/dist/domain/unsigned-execution-trust-record.d.ts +7 -0
  194. package/dist/domain/unsigned-execution-trust-record.d.ts.map +1 -0
  195. package/dist/domain/unsigned-execution-trust-record.js +2 -0
  196. package/dist/domain/unsigned-execution-trust-record.js.map +1 -0
  197. package/dist/domain/verification.d.ts +48 -0
  198. package/dist/domain/verification.d.ts.map +1 -0
  199. package/dist/domain/verification.js +9 -0
  200. package/dist/domain/verification.js.map +1 -0
  201. package/dist/errors/approval-issuer-change-not-found-error.d.ts +9 -0
  202. package/dist/errors/approval-issuer-change-not-found-error.d.ts.map +1 -0
  203. package/dist/errors/approval-issuer-change-not-found-error.js +11 -0
  204. package/dist/errors/approval-issuer-change-not-found-error.js.map +1 -0
  205. package/dist/errors/authority-grant-change-not-found-error.d.ts +9 -0
  206. package/dist/errors/authority-grant-change-not-found-error.d.ts.map +1 -0
  207. package/dist/errors/authority-grant-change-not-found-error.js +11 -0
  208. package/dist/errors/authority-grant-change-not-found-error.js.map +1 -0
  209. package/dist/errors/authority-required-error.d.ts +5 -0
  210. package/dist/errors/authority-required-error.d.ts.map +1 -0
  211. package/dist/errors/authority-required-error.js +7 -0
  212. package/dist/errors/authority-required-error.js.map +1 -0
  213. package/dist/errors/authorization-no-longer-valid-error.d.ts +19 -0
  214. package/dist/errors/authorization-no-longer-valid-error.d.ts.map +1 -0
  215. package/dist/errors/authorization-no-longer-valid-error.js +23 -0
  216. package/dist/errors/authorization-no-longer-valid-error.js.map +1 -0
  217. package/dist/errors/authorization-required-error.d.ts +5 -0
  218. package/dist/errors/authorization-required-error.d.ts.map +1 -0
  219. package/dist/errors/authorization-required-error.js +7 -0
  220. package/dist/errors/authorization-required-error.js.map +1 -0
  221. package/dist/errors/business-signal-source-change-not-found-error.d.ts +9 -0
  222. package/dist/errors/business-signal-source-change-not-found-error.d.ts.map +1 -0
  223. package/dist/errors/business-signal-source-change-not-found-error.js +11 -0
  224. package/dist/errors/business-signal-source-change-not-found-error.js.map +1 -0
  225. package/dist/errors/business-transaction-not-found-error.d.ts +5 -0
  226. package/dist/errors/business-transaction-not-found-error.d.ts.map +1 -0
  227. package/dist/errors/business-transaction-not-found-error.js +7 -0
  228. package/dist/errors/business-transaction-not-found-error.js.map +1 -0
  229. package/dist/errors/challenge-record-not-found-error.d.ts +9 -0
  230. package/dist/errors/challenge-record-not-found-error.d.ts.map +1 -0
  231. package/dist/errors/challenge-record-not-found-error.js +11 -0
  232. package/dist/errors/challenge-record-not-found-error.js.map +1 -0
  233. package/dist/errors/conflict-error.d.ts +5 -0
  234. package/dist/errors/conflict-error.d.ts.map +1 -0
  235. package/dist/errors/conflict-error.js +7 -0
  236. package/dist/errors/conflict-error.js.map +1 -0
  237. package/dist/errors/connector-not-registered-error.d.ts +21 -0
  238. package/dist/errors/connector-not-registered-error.d.ts.map +1 -0
  239. package/dist/errors/connector-not-registered-error.js +24 -0
  240. package/dist/errors/connector-not-registered-error.js.map +1 -0
  241. package/dist/errors/decision-not-approved-error.d.ts +5 -0
  242. package/dist/errors/decision-not-approved-error.d.ts.map +1 -0
  243. package/dist/errors/decision-not-approved-error.js +7 -0
  244. package/dist/errors/decision-not-approved-error.js.map +1 -0
  245. package/dist/errors/duplicate-business-transaction-error.d.ts +26 -0
  246. package/dist/errors/duplicate-business-transaction-error.d.ts.map +1 -0
  247. package/dist/errors/duplicate-business-transaction-error.js +28 -0
  248. package/dist/errors/duplicate-business-transaction-error.js.map +1 -0
  249. package/dist/errors/external-connector-change-not-found-error.d.ts +9 -0
  250. package/dist/errors/external-connector-change-not-found-error.d.ts.map +1 -0
  251. package/dist/errors/external-connector-change-not-found-error.js +11 -0
  252. package/dist/errors/external-connector-change-not-found-error.js.map +1 -0
  253. package/dist/errors/forbidden-error.d.ts +5 -0
  254. package/dist/errors/forbidden-error.d.ts.map +1 -0
  255. package/dist/errors/forbidden-error.js +7 -0
  256. package/dist/errors/forbidden-error.js.map +1 -0
  257. package/dist/errors/index.d.ts +30 -0
  258. package/dist/errors/index.d.ts.map +1 -0
  259. package/dist/errors/index.js +30 -0
  260. package/dist/errors/index.js.map +1 -0
  261. package/dist/errors/intent-required-error.d.ts +5 -0
  262. package/dist/errors/intent-required-error.d.ts.map +1 -0
  263. package/dist/errors/intent-required-error.js +7 -0
  264. package/dist/errors/intent-required-error.js.map +1 -0
  265. package/dist/errors/non-human-caller-denied-error.d.ts +10 -0
  266. package/dist/errors/non-human-caller-denied-error.d.ts.map +1 -0
  267. package/dist/errors/non-human-caller-denied-error.js +12 -0
  268. package/dist/errors/non-human-caller-denied-error.js.map +1 -0
  269. package/dist/errors/nonce-already-consumed-error.d.ts +26 -0
  270. package/dist/errors/nonce-already-consumed-error.d.ts.map +1 -0
  271. package/dist/errors/nonce-already-consumed-error.js +29 -0
  272. package/dist/errors/nonce-already-consumed-error.js.map +1 -0
  273. package/dist/errors/outcome-unknown-error.d.ts +15 -0
  274. package/dist/errors/outcome-unknown-error.d.ts.map +1 -0
  275. package/dist/errors/outcome-unknown-error.js +19 -0
  276. package/dist/errors/outcome-unknown-error.js.map +1 -0
  277. package/dist/errors/override-not-allowed-error.d.ts +5 -0
  278. package/dist/errors/override-not-allowed-error.d.ts.map +1 -0
  279. package/dist/errors/override-not-allowed-error.js +7 -0
  280. package/dist/errors/override-not-allowed-error.js.map +1 -0
  281. package/dist/errors/parmana-error.d.ts +15 -0
  282. package/dist/errors/parmana-error.d.ts.map +1 -0
  283. package/dist/errors/parmana-error.js +21 -0
  284. package/dist/errors/parmana-error.js.map +1 -0
  285. package/dist/errors/pending-policy-change-not-found-error.d.ts +9 -0
  286. package/dist/errors/pending-policy-change-not-found-error.d.ts.map +1 -0
  287. package/dist/errors/pending-policy-change-not-found-error.js +11 -0
  288. package/dist/errors/pending-policy-change-not-found-error.js.map +1 -0
  289. package/dist/errors/policy-not-found-error.d.ts +5 -0
  290. package/dist/errors/policy-not-found-error.d.ts.map +1 -0
  291. package/dist/errors/policy-not-found-error.js +7 -0
  292. package/dist/errors/policy-not-found-error.js.map +1 -0
  293. package/dist/errors/receipt-generation-error.d.ts +5 -0
  294. package/dist/errors/receipt-generation-error.d.ts.map +1 -0
  295. package/dist/errors/receipt-generation-error.js +7 -0
  296. package/dist/errors/receipt-generation-error.js.map +1 -0
  297. package/dist/errors/same-actor-cannot-approve-own-change-error.d.ts +12 -0
  298. package/dist/errors/same-actor-cannot-approve-own-change-error.d.ts.map +1 -0
  299. package/dist/errors/same-actor-cannot-approve-own-change-error.js +15 -0
  300. package/dist/errors/same-actor-cannot-approve-own-change-error.js.map +1 -0
  301. package/dist/errors/step-up-authorization-invalid-error.d.ts +25 -0
  302. package/dist/errors/step-up-authorization-invalid-error.d.ts.map +1 -0
  303. package/dist/errors/step-up-authorization-invalid-error.js +28 -0
  304. package/dist/errors/step-up-authorization-invalid-error.js.map +1 -0
  305. package/dist/errors/trust-chain-validation-error.d.ts +5 -0
  306. package/dist/errors/trust-chain-validation-error.d.ts.map +1 -0
  307. package/dist/errors/trust-chain-validation-error.js +7 -0
  308. package/dist/errors/trust-chain-validation-error.js.map +1 -0
  309. package/dist/errors/unauthorized-error.d.ts +5 -0
  310. package/dist/errors/unauthorized-error.d.ts.map +1 -0
  311. package/dist/errors/unauthorized-error.js +7 -0
  312. package/dist/errors/unauthorized-error.js.map +1 -0
  313. package/dist/errors/validation-error.d.ts +5 -0
  314. package/dist/errors/validation-error.d.ts.map +1 -0
  315. package/dist/errors/validation-error.js +7 -0
  316. package/dist/errors/validation-error.js.map +1 -0
  317. package/dist/errors/verification-failed-error.d.ts +5 -0
  318. package/dist/errors/verification-failed-error.d.ts.map +1 -0
  319. package/dist/errors/verification-failed-error.js +7 -0
  320. package/dist/errors/verification-failed-error.js.map +1 -0
  321. package/dist/gateway/GatewayAuthentication.d.ts +8 -0
  322. package/dist/gateway/GatewayAuthentication.d.ts.map +1 -0
  323. package/dist/gateway/GatewayAuthentication.js +2 -0
  324. package/dist/gateway/GatewayAuthentication.js.map +1 -0
  325. package/dist/gateway/GatewayAuthenticationClaims.d.ts +10 -0
  326. package/dist/gateway/GatewayAuthenticationClaims.d.ts.map +1 -0
  327. package/dist/gateway/GatewayAuthenticationClaims.js +2 -0
  328. package/dist/gateway/GatewayAuthenticationClaims.js.map +1 -0
  329. package/dist/gateway/GatewayAuthenticationPayload.d.ts +15 -0
  330. package/dist/gateway/GatewayAuthenticationPayload.d.ts.map +1 -0
  331. package/dist/gateway/GatewayAuthenticationPayload.js +2 -0
  332. package/dist/gateway/GatewayAuthenticationPayload.js.map +1 -0
  333. package/dist/gateway/SignedGatewayAuthentication.d.ts +9 -0
  334. package/dist/gateway/SignedGatewayAuthentication.d.ts.map +1 -0
  335. package/dist/gateway/SignedGatewayAuthentication.js +2 -0
  336. package/dist/gateway/SignedGatewayAuthentication.js.map +1 -0
  337. package/dist/gateway/index.d.ts +4 -0
  338. package/dist/gateway/index.d.ts.map +1 -0
  339. package/dist/gateway/index.js +4 -0
  340. package/dist/gateway/index.js.map +1 -0
  341. package/dist/index.d.ts +19 -0
  342. package/dist/index.d.ts.map +1 -0
  343. package/dist/index.js +19 -0
  344. package/dist/index.js.map +1 -0
  345. package/dist/logging/Logger.d.ts +65 -0
  346. package/dist/logging/Logger.d.ts.map +1 -0
  347. package/dist/logging/Logger.js +97 -0
  348. package/dist/logging/Logger.js.map +1 -0
  349. package/dist/network/externalEndpointAddress.d.ts +48 -0
  350. package/dist/network/externalEndpointAddress.d.ts.map +1 -0
  351. package/dist/network/externalEndpointAddress.js +147 -0
  352. package/dist/network/externalEndpointAddress.js.map +1 -0
  353. package/dist/repositories/approval-issuer-repository.d.ts +31 -0
  354. package/dist/repositories/approval-issuer-repository.d.ts.map +1 -0
  355. package/dist/repositories/approval-issuer-repository.js +2 -0
  356. package/dist/repositories/approval-issuer-repository.js.map +1 -0
  357. package/dist/repositories/authority-grant-repository.d.ts +22 -0
  358. package/dist/repositories/authority-grant-repository.d.ts.map +1 -0
  359. package/dist/repositories/authority-grant-repository.js +2 -0
  360. package/dist/repositories/authority-grant-repository.js.map +1 -0
  361. package/dist/repositories/business-signal-source-repository.d.ts +17 -0
  362. package/dist/repositories/business-signal-source-repository.d.ts.map +1 -0
  363. package/dist/repositories/business-signal-source-repository.js +2 -0
  364. package/dist/repositories/business-signal-source-repository.js.map +1 -0
  365. package/dist/repositories/business-transaction-repository.d.ts +34 -0
  366. package/dist/repositories/business-transaction-repository.d.ts.map +1 -0
  367. package/dist/repositories/business-transaction-repository.js +2 -0
  368. package/dist/repositories/business-transaction-repository.js.map +1 -0
  369. package/dist/repositories/challenge-record-repository.d.ts +67 -0
  370. package/dist/repositories/challenge-record-repository.d.ts.map +1 -0
  371. package/dist/repositories/challenge-record-repository.js +76 -0
  372. package/dist/repositories/challenge-record-repository.js.map +1 -0
  373. package/dist/repositories/execution-intent-repository.d.ts +38 -0
  374. package/dist/repositories/execution-intent-repository.d.ts.map +1 -0
  375. package/dist/repositories/execution-intent-repository.js +2 -0
  376. package/dist/repositories/execution-intent-repository.js.map +1 -0
  377. package/dist/repositories/execution-trust-record-repository.d.ts +62 -0
  378. package/dist/repositories/execution-trust-record-repository.d.ts.map +1 -0
  379. package/dist/repositories/execution-trust-record-repository.js +2 -0
  380. package/dist/repositories/execution-trust-record-repository.js.map +1 -0
  381. package/dist/repositories/external-connector-repository.d.ts +37 -0
  382. package/dist/repositories/external-connector-repository.d.ts.map +1 -0
  383. package/dist/repositories/external-connector-repository.js +2 -0
  384. package/dist/repositories/external-connector-repository.js.map +1 -0
  385. package/dist/repositories/handbook-download-lead-repository.d.ts +18 -0
  386. package/dist/repositories/handbook-download-lead-repository.d.ts.map +1 -0
  387. package/dist/repositories/handbook-download-lead-repository.js +2 -0
  388. package/dist/repositories/handbook-download-lead-repository.js.map +1 -0
  389. package/dist/repositories/index.d.ts +14 -0
  390. package/dist/repositories/index.d.ts.map +1 -0
  391. package/dist/repositories/index.js +14 -0
  392. package/dist/repositories/index.js.map +1 -0
  393. package/dist/repositories/pending-policy-change-repository.d.ts +72 -0
  394. package/dist/repositories/pending-policy-change-repository.d.ts.map +1 -0
  395. package/dist/repositories/pending-policy-change-repository.js +46 -0
  396. package/dist/repositories/pending-policy-change-repository.js.map +1 -0
  397. package/dist/repositories/policy-change-approval-record-repository.d.ts +39 -0
  398. package/dist/repositories/policy-change-approval-record-repository.d.ts.map +1 -0
  399. package/dist/repositories/policy-change-approval-record-repository.js +2 -0
  400. package/dist/repositories/policy-change-approval-record-repository.js.map +1 -0
  401. package/dist/repositories/policy-repository.d.ts +15 -0
  402. package/dist/repositories/policy-repository.d.ts.map +1 -0
  403. package/dist/repositories/policy-repository.js +2 -0
  404. package/dist/repositories/policy-repository.js.map +1 -0
  405. package/dist/repositories/refusal-record-repository.d.ts +13 -0
  406. package/dist/repositories/refusal-record-repository.d.ts.map +1 -0
  407. package/dist/repositories/refusal-record-repository.js +2 -0
  408. package/dist/repositories/refusal-record-repository.js.map +1 -0
  409. package/dist/types/Json.d.ts +7 -0
  410. package/dist/types/Json.d.ts.map +1 -0
  411. package/dist/types/Json.js +2 -0
  412. package/dist/types/Json.js.map +1 -0
  413. package/dist/utils/normalize-policy.d.ts +16 -0
  414. package/dist/utils/normalize-policy.d.ts.map +1 -0
  415. package/dist/utils/normalize-policy.js +10 -0
  416. package/dist/utils/normalize-policy.js.map +1 -0
  417. package/package.json +39 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authorization.d.ts","sourceRoot":"","sources":["../../src/domain/authorization.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAEjC;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B;;;;;;;;OAQG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;IAExB;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC;CAC3B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=authorization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authorization.js","sourceRoot":"","sources":["../../src/domain/authorization.ts"],"names":[],"mappings":""}
@@ -0,0 +1,52 @@
1
+ import type { PendingPolicyChangeStatus } from "./pending-policy-change.js";
2
+ /**
3
+ * A business system registered to answer policies' sourced facts
4
+ * (RFC-0023 phase 2). Created only by an approved register change; a
5
+ * revoke change marks it revoked. Policies name it by `name` in
6
+ * signalSources.
7
+ */
8
+ export interface BusinessSignalSourceRegistration {
9
+ /** The changeId of the approved register change that created it. */
10
+ readonly registrationId: string;
11
+ /** The name policies use, such as "orders-system". */
12
+ readonly name: string;
13
+ /** The HTTPS endpoint Parmana sends each signed query to. */
14
+ readonly endpointUrl: string;
15
+ /** How long Parmana waits for an answer, 1000 to 30000 ms. */
16
+ readonly timeoutMs: number;
17
+ /**
18
+ * The source's Ed25519 public key, PEM. When set, every answer must be
19
+ * signed with it, and Parmana verifies the signature before it trusts
20
+ * the answer. When absent, an answer proves only what Parmana observed.
21
+ */
22
+ readonly publicKeyPem?: string;
23
+ /** A label for that key, carried into each Trusted Signal. */
24
+ readonly keyId?: string;
25
+ readonly status: "active" | "revoked";
26
+ readonly registeredAt: Date;
27
+ readonly revokedByChangeId?: string;
28
+ readonly revokedAt?: Date;
29
+ }
30
+ export type BusinessSignalSourceChangeAction = "register" | "revoke";
31
+ /**
32
+ * A proposal to register or revoke a business signal source. One person
33
+ * proposes, a different person approves or rejects with a step up
34
+ * authorization, the same rules as an external connector change.
35
+ */
36
+ export interface BusinessSignalSourceChange {
37
+ readonly changeId: string;
38
+ readonly action: BusinessSignalSourceChangeAction;
39
+ readonly name: string;
40
+ readonly endpointUrl?: string;
41
+ readonly timeoutMs?: number;
42
+ readonly publicKeyPem?: string;
43
+ readonly keyId?: string;
44
+ readonly reason: string;
45
+ readonly proposedBy: string;
46
+ readonly proposedAt: Date;
47
+ readonly status: PendingPolicyChangeStatus;
48
+ readonly resolvedBy?: string;
49
+ readonly resolvedAt?: Date;
50
+ readonly rejectionReason?: string;
51
+ }
52
+ //# sourceMappingURL=business-signal-source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"business-signal-source.d.ts","sourceRoot":"","sources":["../../src/domain/business-signal-source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAE5E;;;;;GAKG;AACH,MAAM,WAAW,gCAAgC;IAC/C,oEAAoE;IACpE,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAEhC,sDAAsD;IACtD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,6DAA6D;IAC7D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,8DAA8D;IAC9D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAE/B,8DAA8D;IAC9D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAExB,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC;IAC5B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC;CAC3B;AAED,MAAM,MAAM,gCAAgC,GAAG,UAAU,GAAG,QAAQ,CAAC;AAErE;;;;GAIG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,gCAAgC,CAAC;IAClD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,yBAAyB,CAAC;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC;IAC3B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=business-signal-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"business-signal-source.js","sourceRoot":"","sources":["../../src/domain/business-signal-source.ts"],"names":[],"mappings":""}
@@ -0,0 +1,99 @@
1
+ import { Authority } from "./authority.js";
2
+ import { Authorization } from "./authorization.js";
3
+ import { Intent } from "./intent.js";
4
+ import { TransactionMetadata } from "./metadata.js";
5
+ import { PolicyReference } from "./policy-reference.js";
6
+ /**
7
+ * Parmana Trust Core
8
+ *
9
+ * Business Transaction
10
+ *
11
+ * The canonical immutable business context
12
+ * accepted by Parmana for execution.
13
+ *
14
+ * A Business Transaction captures the complete
15
+ * upstream trust chain prior to policy evaluation.
16
+ *
17
+ * Authority
18
+ * ↓
19
+ * Authorization
20
+ * ↓
21
+ * Intent
22
+ * ↓
23
+ * BusinessTransaction
24
+ * ↓
25
+ * PolicyReference
26
+ *
27
+ * The Business Transaction is the immutable input
28
+ * to deterministic policy evaluation.
29
+ *
30
+ * Every Business Transaction produces exactly one
31
+ * Decision, one Execution, and one Execution Trust
32
+ * Record.
33
+ */
34
+ export interface BusinessTransaction {
35
+ /**
36
+ * Unique Business Transaction identifier.
37
+ *
38
+ * Same value as metadata.businessTransactionId.
39
+ */
40
+ readonly businessTransactionId: string;
41
+ /**
42
+ * Immutable transaction metadata.
43
+ */
44
+ readonly metadata: TransactionMetadata;
45
+ /**
46
+ * Authority responsible for this
47
+ * Business Transaction.
48
+ */
49
+ readonly authority: Authority;
50
+ /**
51
+ * Authorization granted by the Authority.
52
+ */
53
+ readonly authorization: Authorization;
54
+ /**
55
+ * Intended business action.
56
+ */
57
+ readonly intent: Intent;
58
+ /**
59
+ * Exact Policy to execute.
60
+ *
61
+ * The PolicyReference is part of the
62
+ * cryptographically verifiable trust chain.
63
+ */
64
+ readonly policy: PolicyReference;
65
+ /**
66
+ * Runtime signals supplied to the Policy.
67
+ *
68
+ * Signals are opaque runtime facts validated
69
+ * against the Policy's declared Signal Schema.
70
+ *
71
+ * Parmana does not assign business meaning to
72
+ * these values.
73
+ */
74
+ readonly signals: Readonly<Record<string, unknown>>;
75
+ /**
76
+ * Current Business Transaction lifecycle.
77
+ */
78
+ readonly status: BusinessTransactionStatus;
79
+ /**
80
+ * UTC timestamp when the Business Transaction
81
+ * was accepted by Parmana.
82
+ */
83
+ readonly createdAt: Date;
84
+ }
85
+ /**
86
+ * Business Transaction lifecycle.
87
+ */
88
+ export declare enum BusinessTransactionStatus {
89
+ RECEIVED = "RECEIVED",
90
+ POLICY_EVALUATED = "POLICY_EVALUATED",
91
+ APPROVED = "APPROVED",
92
+ REJECTED = "REJECTED",
93
+ OVERRIDDEN = "OVERRIDDEN",
94
+ EXECUTING = "EXECUTING",
95
+ EXECUTED = "EXECUTED",
96
+ FAILED = "FAILED",
97
+ VERIFIED = "VERIFIED"
98
+ }
99
+ //# sourceMappingURL=business-transaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"business-transaction.d.ts","sourceRoot":"","sources":["../../src/domain/business-transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IAEvC;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;IAEvC;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAE9B;;OAEG;IACH,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAEtC;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IAEjC;;;;;;;;OAQG;IACH,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAEpD;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,yBAAyB,CAAC;IAE3C;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;CAC1B;AAED;;GAEG;AACH,oBAAY,yBAAyB;IACnC,QAAQ,aAAa;IAErB,gBAAgB,qBAAqB;IAErC,QAAQ,aAAa;IAErB,QAAQ,aAAa;IAErB,UAAU,eAAe;IAEzB,SAAS,cAAc;IAEvB,QAAQ,aAAa;IAErB,MAAM,WAAW;IAEjB,QAAQ,aAAa;CACtB"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Business Transaction lifecycle.
3
+ */
4
+ export var BusinessTransactionStatus;
5
+ (function (BusinessTransactionStatus) {
6
+ BusinessTransactionStatus["RECEIVED"] = "RECEIVED";
7
+ BusinessTransactionStatus["POLICY_EVALUATED"] = "POLICY_EVALUATED";
8
+ BusinessTransactionStatus["APPROVED"] = "APPROVED";
9
+ BusinessTransactionStatus["REJECTED"] = "REJECTED";
10
+ BusinessTransactionStatus["OVERRIDDEN"] = "OVERRIDDEN";
11
+ BusinessTransactionStatus["EXECUTING"] = "EXECUTING";
12
+ BusinessTransactionStatus["EXECUTED"] = "EXECUTED";
13
+ BusinessTransactionStatus["FAILED"] = "FAILED";
14
+ BusinessTransactionStatus["VERIFIED"] = "VERIFIED";
15
+ })(BusinessTransactionStatus || (BusinessTransactionStatus = {}));
16
+ //# sourceMappingURL=business-transaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"business-transaction.js","sourceRoot":"","sources":["../../src/domain/business-transaction.ts"],"names":[],"mappings":"AA8FA;;GAEG;AACH,MAAM,CAAN,IAAY,yBAkBX;AAlBD,WAAY,yBAAyB;IACnC,kDAAqB,CAAA;IAErB,kEAAqC,CAAA;IAErC,kDAAqB,CAAA;IAErB,kDAAqB,CAAA;IAErB,sDAAyB,CAAA;IAEzB,oDAAuB,CAAA;IAEvB,kDAAqB,CAAA;IAErB,8CAAiB,CAAA;IAEjB,kDAAqB,CAAA;AACvB,CAAC,EAlBW,yBAAyB,KAAzB,yBAAyB,QAkBpC"}
@@ -0,0 +1,177 @@
1
+ import type { JsonValue } from "../types/Json.js";
2
+ /**
3
+ * Business validation (RFC-0023).
4
+ *
5
+ * An agent proposes an action and the facts it rests on. Parmana keeps
6
+ * two questions apart and answers each one itself:
7
+ *
8
+ * - Authority: may this caller perform this kind of action at all?
9
+ * - Business validity: is this exact action valid for this exact
10
+ * business object, according to the system that owns the facts?
11
+ *
12
+ * A fact the agent proposed is never a business fact. For every signal
13
+ * a policy declares a source for, Parmana asks that source and records
14
+ * the answer as a TrustedSignal; the policy is evaluated on the trusted
15
+ * value. Every status here is final for its request: nothing converts
16
+ * AUTHORITY_UNCLEAR into AUTHORIZED, MISSING_DATA into VALID, or
17
+ * INVALID into VALID.
18
+ */
19
+ /**
20
+ * Whether the caller may perform this kind of action. AUTHORIZED says
21
+ * nothing about whether this particular action is valid or was
22
+ * executed.
23
+ */
24
+ export declare enum AuthorityStatus {
25
+ AUTHORIZED = "AUTHORIZED",
26
+ NOT_AUTHORIZED = "NOT_AUTHORIZED",
27
+ AUTHORITY_UNCLEAR = "AUTHORITY_UNCLEAR",
28
+ AUTHORITY_EXPIRED = "AUTHORITY_EXPIRED"
29
+ }
30
+ /**
31
+ * Whether the business facts the policy needs were established by
32
+ * their sources and support this exact action.
33
+ *
34
+ * NOT_EVALUATED means no validation ran: authority was not
35
+ * established, the proposal did not describe the Intent, or the policy
36
+ * declares no sourced facts. It is never VALID.
37
+ */
38
+ export declare enum BusinessValidationStatus {
39
+ VALID = "VALID",
40
+ INVALID = "INVALID",
41
+ MISSING_DATA = "MISSING_DATA",
42
+ CONFLICTING_DATA = "CONFLICTING_DATA",
43
+ SOURCE_UNAVAILABLE = "SOURCE_UNAVAILABLE",
44
+ VALIDATION_EXPIRED = "VALIDATION_EXPIRED",
45
+ NOT_EVALUATED = "NOT_EVALUATED"
46
+ }
47
+ /**
48
+ * What happened to the action. EXECUTION_UNKNOWN is a release whose
49
+ * outcome could not be established (for example a connector timeout
50
+ * after the request was sent); it is never reported as failed.
51
+ */
52
+ export declare enum ExecutionAssessmentStatus {
53
+ EXECUTED = "EXECUTED",
54
+ NOT_EXECUTED = "NOT_EXECUTED",
55
+ EXECUTION_FAILED = "EXECUTION_FAILED",
56
+ EXECUTION_UNKNOWN = "EXECUTION_UNKNOWN"
57
+ }
58
+ /**
59
+ * How a TrustedSignal's content is bound. `digest` is the SHA-256 of
60
+ * the canonical form of the signal without its integrityProof. It is
61
+ * signed by Parmana as part of the record that carries the signal; it
62
+ * proves what Parmana observed. `sourceProof` is the source's own
63
+ * signature over its answer, when the source is registered with a key;
64
+ * `sourceProofVerified` says Parmana checked it.
65
+ */
66
+ export interface TrustedSignalIntegrityProof {
67
+ readonly algorithm: "sha256";
68
+ readonly digest: string;
69
+ readonly sourceProof?: string;
70
+ /**
71
+ * The key the source signed its answer with, as registered (RFC-0023
72
+ * phase 2). Present only with a sourceProof.
73
+ */
74
+ readonly sourceKeyId?: string;
75
+ /**
76
+ * True when Parmana verified sourceProof against the source's
77
+ * registered public key before trusting the answer. A source registered
78
+ * with a key cannot give an answer without one: it is refused as
79
+ * SOURCE_UNAVAILABLE. So a Trusted Signal from such a source proves the
80
+ * source said it, not only that Parmana observed it.
81
+ */
82
+ readonly sourceProofVerified?: boolean;
83
+ }
84
+ /**
85
+ * One business fact established by its source, bound to the exact
86
+ * business object and the exact action it supports.
87
+ */
88
+ export interface TrustedSignal {
89
+ readonly signalId: string;
90
+ /** The policy signal this fact supplies, such as "refundEligible". */
91
+ readonly signalKey: string;
92
+ /** The registered source that answered, such as "orders-system". */
93
+ readonly source: string;
94
+ /** Who answered, as the source reports it (an endpoint, an account). */
95
+ readonly sourceIdentity: string;
96
+ /** What was asked, such as "refund.eligible". */
97
+ readonly claim: string;
98
+ /** The business object the fact is about, read from the Intent. */
99
+ readonly subject: string;
100
+ /** Where in the Intent the subject was read, such as "parameters.orderId". */
101
+ readonly subjectPath: string;
102
+ readonly observedValue: JsonValue;
103
+ readonly observedAt: Date;
104
+ readonly validUntil: Date;
105
+ /** The action and transaction this fact was established for. */
106
+ readonly action: string;
107
+ readonly businessTransactionId: string;
108
+ readonly integrityProof: TrustedSignalIntegrityProof;
109
+ readonly verificationStatus: "VERIFIED";
110
+ }
111
+ /**
112
+ * Why one declared fact could not be established, or contradicted the
113
+ * proposal.
114
+ */
115
+ export interface BusinessValidationFailure {
116
+ readonly signalKey: string;
117
+ readonly status: BusinessValidationStatus;
118
+ readonly reason: string;
119
+ }
120
+ /**
121
+ * A limit an authority grant sets on one place in the Intent (RFC-0023
122
+ * phase 3). `min` and `max` apply to a number there, inclusive; `oneOf`
123
+ * lists the only values allowed there. A request whose value is missing,
124
+ * of another type, or outside the limit is NOT_AUTHORIZED.
125
+ */
126
+ export interface AuthorityGrantLimit {
127
+ readonly min?: number;
128
+ readonly max?: number;
129
+ readonly oneOf?: readonly (string | number)[];
130
+ }
131
+ /**
132
+ * The grant a decision's authority rests on, as it stood when the
133
+ * request was decided: who it was granted to, for which capability,
134
+ * within which limits, and for how long.
135
+ */
136
+ export interface AuthorityGrantReference {
137
+ readonly grantId: string;
138
+ /** The authenticated caller the grant was made to. */
139
+ readonly callerId: string;
140
+ readonly capability: string;
141
+ readonly validFrom: Date;
142
+ readonly validUntil: Date;
143
+ /** By Intent path: "target" or "parameters.<name>". */
144
+ readonly limits?: Readonly<Record<string, AuthorityGrantLimit>>;
145
+ }
146
+ export interface AuthorityAssessment {
147
+ readonly status: AuthorityStatus;
148
+ readonly reason: string;
149
+ /**
150
+ * The grant checked, when the policy requires one (phase 3): the grant
151
+ * that authorized the request, or the one that had expired or whose
152
+ * limit the request exceeded. Absent when no grant was found.
153
+ */
154
+ readonly grant?: AuthorityGrantReference;
155
+ }
156
+ export interface BusinessValidationAssessment {
157
+ readonly status: BusinessValidationStatus;
158
+ readonly reason: string;
159
+ /** Facts established for this request, including any that passed when another failed. */
160
+ readonly signals?: readonly TrustedSignal[];
161
+ readonly failures?: readonly BusinessValidationFailure[];
162
+ }
163
+ export interface ExecutionAssessment {
164
+ readonly status: ExecutionAssessmentStatus;
165
+ readonly reason: string;
166
+ }
167
+ /**
168
+ * The separate answers behind one Decision. `execution` is present on a
169
+ * refused decision (always NOT_EXECUTED). For an approved decision the
170
+ * Execution Trust Record's executions carry what happened.
171
+ */
172
+ export interface DecisionAssessment {
173
+ readonly authority: AuthorityAssessment;
174
+ readonly businessValidation: BusinessValidationAssessment;
175
+ readonly execution?: ExecutionAssessment;
176
+ }
177
+ //# sourceMappingURL=business-validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"business-validation.d.ts","sourceRoot":"","sources":["../../src/domain/business-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;GAIG;AACH,oBAAY,eAAe;IACzB,UAAU,eAAe;IACzB,cAAc,mBAAmB;IACjC,iBAAiB,sBAAsB;IACvC,iBAAiB,sBAAsB;CACxC;AAED;;;;;;;GAOG;AACH,oBAAY,wBAAwB;IAClC,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,YAAY,iBAAiB;IAC7B,gBAAgB,qBAAqB;IACrC,kBAAkB,uBAAuB;IACzC,kBAAkB,uBAAuB;IACzC,aAAa,kBAAkB;CAChC;AAED;;;;GAIG;AACH,oBAAY,yBAAyB;IACnC,QAAQ,aAAa;IACrB,YAAY,iBAAiB;IAC7B,gBAAgB,qBAAqB;IACrC,iBAAiB,sBAAsB;CACxC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE9B;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE9B;;;;;;OAMG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACxC;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B,sEAAsE;IACtE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,oEAAoE;IACpE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,wEAAwE;IACxE,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAEhC,iDAAiD;IACjD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,mEAAmE;IACnE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,8EAA8E;IAC9E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;IAE1B,gEAAgE;IAChE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IAEvC,QAAQ,CAAC,cAAc,EAAE,2BAA2B,CAAC;IACrD,QAAQ,CAAC,kBAAkB,EAAE,UAAU,CAAC;CACzC;AAED;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;CAC/C;AAED;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,sDAAsD;IACtD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;IAC1B,uDAAuD;IACvD,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC;CACjE;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,uBAAuB,CAAC;CAC1C;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,yFAAyF;IACzF,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAC5C,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,yBAAyB,EAAE,CAAC;CAC1D;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,MAAM,EAAE,yBAAyB,CAAC;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;IACxC,QAAQ,CAAC,kBAAkB,EAAE,4BAA4B,CAAC;IAC1D,QAAQ,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC;CAC1C"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Business validation (RFC-0023).
3
+ *
4
+ * An agent proposes an action and the facts it rests on. Parmana keeps
5
+ * two questions apart and answers each one itself:
6
+ *
7
+ * - Authority: may this caller perform this kind of action at all?
8
+ * - Business validity: is this exact action valid for this exact
9
+ * business object, according to the system that owns the facts?
10
+ *
11
+ * A fact the agent proposed is never a business fact. For every signal
12
+ * a policy declares a source for, Parmana asks that source and records
13
+ * the answer as a TrustedSignal; the policy is evaluated on the trusted
14
+ * value. Every status here is final for its request: nothing converts
15
+ * AUTHORITY_UNCLEAR into AUTHORIZED, MISSING_DATA into VALID, or
16
+ * INVALID into VALID.
17
+ */
18
+ /**
19
+ * Whether the caller may perform this kind of action. AUTHORIZED says
20
+ * nothing about whether this particular action is valid or was
21
+ * executed.
22
+ */
23
+ export var AuthorityStatus;
24
+ (function (AuthorityStatus) {
25
+ AuthorityStatus["AUTHORIZED"] = "AUTHORIZED";
26
+ AuthorityStatus["NOT_AUTHORIZED"] = "NOT_AUTHORIZED";
27
+ AuthorityStatus["AUTHORITY_UNCLEAR"] = "AUTHORITY_UNCLEAR";
28
+ AuthorityStatus["AUTHORITY_EXPIRED"] = "AUTHORITY_EXPIRED";
29
+ })(AuthorityStatus || (AuthorityStatus = {}));
30
+ /**
31
+ * Whether the business facts the policy needs were established by
32
+ * their sources and support this exact action.
33
+ *
34
+ * NOT_EVALUATED means no validation ran: authority was not
35
+ * established, the proposal did not describe the Intent, or the policy
36
+ * declares no sourced facts. It is never VALID.
37
+ */
38
+ export var BusinessValidationStatus;
39
+ (function (BusinessValidationStatus) {
40
+ BusinessValidationStatus["VALID"] = "VALID";
41
+ BusinessValidationStatus["INVALID"] = "INVALID";
42
+ BusinessValidationStatus["MISSING_DATA"] = "MISSING_DATA";
43
+ BusinessValidationStatus["CONFLICTING_DATA"] = "CONFLICTING_DATA";
44
+ BusinessValidationStatus["SOURCE_UNAVAILABLE"] = "SOURCE_UNAVAILABLE";
45
+ BusinessValidationStatus["VALIDATION_EXPIRED"] = "VALIDATION_EXPIRED";
46
+ BusinessValidationStatus["NOT_EVALUATED"] = "NOT_EVALUATED";
47
+ })(BusinessValidationStatus || (BusinessValidationStatus = {}));
48
+ /**
49
+ * What happened to the action. EXECUTION_UNKNOWN is a release whose
50
+ * outcome could not be established (for example a connector timeout
51
+ * after the request was sent); it is never reported as failed.
52
+ */
53
+ export var ExecutionAssessmentStatus;
54
+ (function (ExecutionAssessmentStatus) {
55
+ ExecutionAssessmentStatus["EXECUTED"] = "EXECUTED";
56
+ ExecutionAssessmentStatus["NOT_EXECUTED"] = "NOT_EXECUTED";
57
+ ExecutionAssessmentStatus["EXECUTION_FAILED"] = "EXECUTION_FAILED";
58
+ ExecutionAssessmentStatus["EXECUTION_UNKNOWN"] = "EXECUTION_UNKNOWN";
59
+ })(ExecutionAssessmentStatus || (ExecutionAssessmentStatus = {}));
60
+ //# sourceMappingURL=business-validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"business-validation.js","sourceRoot":"","sources":["../../src/domain/business-validation.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;GAIG;AACH,MAAM,CAAN,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,4CAAyB,CAAA;IACzB,oDAAiC,CAAA;IACjC,0DAAuC,CAAA;IACvC,0DAAuC,CAAA;AACzC,CAAC,EALW,eAAe,KAAf,eAAe,QAK1B;AAED;;;;;;;GAOG;AACH,MAAM,CAAN,IAAY,wBAQX;AARD,WAAY,wBAAwB;IAClC,2CAAe,CAAA;IACf,+CAAmB,CAAA;IACnB,yDAA6B,CAAA;IAC7B,iEAAqC,CAAA;IACrC,qEAAyC,CAAA;IACzC,qEAAyC,CAAA;IACzC,2DAA+B,CAAA;AACjC,CAAC,EARW,wBAAwB,KAAxB,wBAAwB,QAQnC;AAED;;;;GAIG;AACH,MAAM,CAAN,IAAY,yBAKX;AALD,WAAY,yBAAyB;IACnC,kDAAqB,CAAA;IACrB,0DAA6B,CAAA;IAC7B,kEAAqC,CAAA;IACrC,oEAAuC,CAAA;AACzC,CAAC,EALW,yBAAyB,KAAzB,yBAAyB,QAKpC"}
@@ -0,0 +1,181 @@
1
+ /**
2
+ * Challenge Record (RFC-0022).
3
+ *
4
+ * A durable, structured trace of one specific challenge to a Parmana
5
+ * claim or assumption: what was challenged, who/how it surfaced, what
6
+ * was actually checked (the investigation method, not only the
7
+ * conclusion), the finding, what changed as a result (if anything),
8
+ * and whether/where it was disclosed.
9
+ *
10
+ * Deliberately NOT signed — see RFC-0022 § Proposal 3. A
11
+ * ChallengeRecord is evidence of an organizational process (a human
12
+ * or agent deciding what to investigate and what it means), not a
13
+ * runtime transaction outcome; the party who could misrepresent it is
14
+ * the same party who writes it, so a signature would prove
15
+ * tamper-evidence of bytes-on-disk while leaving the actual trust
16
+ * question (was the investigation honest) unaddressed. Trustworthy
17
+ * instead through citation discipline (every investigation step and
18
+ * finding should cite something independently checkable) and, where
19
+ * applicable, public disclosure — the same discipline docs/CLAIMS.md
20
+ * and docs/VERIFICATION-GAPS.md already rely on with no cryptography.
21
+ *
22
+ * Append-only, per ADR-0005-Evidence-Is-Append-Only.md, but unlike
23
+ * RefusalRecord (a single terminal event with nothing to append to),
24
+ * a ChallengeRecord is investigated over real time: investigationSteps
25
+ * accumulates, and status moves forward (open -> investigating ->
26
+ * resolved) without ever reopening by mutating a prior entry — a
27
+ * challenge believed resolved that later needs more work becomes a
28
+ * NEW ChallengeRecord linked via `supersedes`, not an edit to this
29
+ * one. See ChallengeRecordRepository.append, which enforces this.
30
+ */
31
+ export interface ChallengeRecord {
32
+ /**
33
+ * Unique Challenge Record identifier.
34
+ */
35
+ readonly challengeRecordId: string;
36
+ /**
37
+ * Lifecycle status. Only ever moves forward (open ->
38
+ * investigating -> resolved); never reopens in place.
39
+ */
40
+ readonly status: ChallengeRecordStatus;
41
+ /**
42
+ * The specific claim or assumption being challenged, stated
43
+ * precisely enough that someone unfamiliar with the conversation
44
+ * that raised it can tell exactly what's being checked. Where
45
+ * possible, cites the exact claim (a CLAIMS.md line, a doc page, a
46
+ * piece of code, a specific public statement) — the same citation
47
+ * discipline docs/CLAIMS.md already applies to its own claims.
48
+ */
49
+ readonly claimChallenged: string;
50
+ /**
51
+ * How the challenge surfaced. Set once, at creation; not part of
52
+ * the append-only lifecycle.
53
+ */
54
+ readonly source: ChallengeRecordSource;
55
+ /**
56
+ * The investigation itself, in order. Append-only: existing entries
57
+ * are never edited or removed, only added to.
58
+ */
59
+ readonly investigationSteps: readonly ChallengeRecordInvestigationStep[];
60
+ /**
61
+ * The finding, in a fixed, precise vocabulary. Absent while the
62
+ * challenge is still open/investigating. Immutable once set — a
63
+ * later correction is a new ChallengeRecord (see `supersedes`),
64
+ * never an edit here.
65
+ */
66
+ readonly finding?: ChallengeRecordFinding;
67
+ /**
68
+ * What changed as a result, including the explicit "nothing
69
+ * changed" case. Immutable once set, same as `finding`.
70
+ */
71
+ readonly outcome?: ChallengeRecordOutcome;
72
+ /**
73
+ * Whether and where this was disclosed publicly. A ChallengeRecord
74
+ * may exist and stay fully internal — disclosure is a separate,
75
+ * explicit fact, never implied by the record's own existence.
76
+ * Immutable once set, same as `finding`.
77
+ */
78
+ readonly disclosure?: ChallengeRecordDisclosure;
79
+ /**
80
+ * The prior ChallengeRecord this one supersedes or follows up on
81
+ * (e.g. a challenge believed resolved that needed reopening).
82
+ * ADR-0005's "corrections are new artifacts, not edits" discipline
83
+ * applied to this artifact type.
84
+ */
85
+ readonly supersedes?: string;
86
+ /**
87
+ * UTC timestamp when this Challenge Record was created.
88
+ */
89
+ readonly createdAt: Date;
90
+ /**
91
+ * UTC timestamp of the most recent append (investigation step,
92
+ * status change, finding, outcome, or disclosure). Equal to
93
+ * createdAt until the first append.
94
+ */
95
+ readonly updatedAt: Date;
96
+ }
97
+ /**
98
+ * Fixed lifecycle vocabulary. Deliberately closed (not free text) so
99
+ * "is this still being worked on" is always a checkable field, never
100
+ * inferred from prose — the same reasoning behind `finding.outcome`
101
+ * below.
102
+ */
103
+ export type ChallengeRecordStatus = "open" | "investigating" | "resolved";
104
+ /**
105
+ * Where a challenge came from. A closed, reviewable set covering
106
+ * every source RFC-0022's own survey of this year's informal
107
+ * challenge-handling found in practice.
108
+ */
109
+ export interface ChallengeRecordSource {
110
+ readonly kind: "public-comment" | "internal-review" | "customer-question" | "adversarial-exercise" | "self-identified";
111
+ /**
112
+ * A URL, a name, or an internal identifier — whatever attribution
113
+ * is actually available and has been explicitly cleared for
114
+ * inclusion. Defaults to withheld: omit this field rather than
115
+ * populate it with a name/identifier that hasn't been explicitly
116
+ * confirmed safe to record (RFC-0022 Open Question 3 resolution —
117
+ * attribution never defaults toward disclosure).
118
+ */
119
+ readonly attribution?: string;
120
+ readonly raisedAt: Date;
121
+ }
122
+ /**
123
+ * One discrete investigative step: what was actually examined, not
124
+ * only what was concluded. Mirrors the "cites a file, a line, or a
125
+ * specific test" discipline docs/VERIFICATION-GAPS.md's own Purpose
126
+ * section already states.
127
+ */
128
+ export interface ChallengeRecordInvestigationStep {
129
+ readonly performedAt: Date;
130
+ /**
131
+ * What was actually examined: a file path, a test name, a command
132
+ * run, a specific log query, a specific data record.
133
+ */
134
+ readonly method: string;
135
+ readonly observation: string;
136
+ }
137
+ /**
138
+ * The finding, in a fixed, precise vocabulary — deliberately narrower
139
+ * than free prose so it cannot be quietly rounded up ("inconclusive"
140
+ * becoming "confirmed there's no issue") or down.
141
+ */
142
+ export interface ChallengeRecordFinding {
143
+ readonly outcome: "confirmed" | "partially-confirmed" | "ruled-out" | "inconclusive";
144
+ /**
145
+ * Precise statement of what, exactly, the outcome means here. A
146
+ * bare enum value with no explanation is exactly the kind of
147
+ * unchecked assertion this record type exists to prevent.
148
+ */
149
+ readonly statement: string;
150
+ }
151
+ /**
152
+ * What changed as a result of the challenge. `changed: false` is a
153
+ * first-class, disclosed outcome, not an implicit absence of this
154
+ * field.
155
+ */
156
+ export interface ChallengeRecordOutcome {
157
+ readonly changed: boolean;
158
+ /**
159
+ * If changed: the design decision, code change, disclosure, or new
160
+ * RFC/gap this produced. If not changed: the reason, stated as
161
+ * precisely as `finding.statement`.
162
+ */
163
+ readonly description: string;
164
+ /**
165
+ * Cross-links to whatever this produced — a commit hash, an RFC
166
+ * number, a VERIFICATION-GAPS.md gap id, a docs/site page path.
167
+ * Deliberately free-form: the set of things a challenge can produce
168
+ * is open-ended.
169
+ */
170
+ readonly references: readonly string[];
171
+ }
172
+ /**
173
+ * Whether and where a Challenge Record was disclosed publicly.
174
+ */
175
+ export interface ChallengeRecordDisclosure {
176
+ readonly disclosedPublicly: boolean;
177
+ /** A docs/site path, a changelog entry, a public repo file. */
178
+ readonly location?: string;
179
+ readonly disclosedAt?: Date;
180
+ }
181
+ //# sourceMappingURL=challenge-record.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"challenge-record.d.ts","sourceRoot":"","sources":["../../src/domain/challenge-record.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IAEnC;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IAEvC;;;;;;;OAOG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAEjC;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IAEvC;;;OAGG;IACH,QAAQ,CAAC,kBAAkB,EAAE,SAAS,gCAAgC,EAAE,CAAC;IAEzE;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,sBAAsB,CAAC;IAE1C;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,sBAAsB,CAAC;IAE1C;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,yBAAyB,CAAC;IAEhD;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IAEzB;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;CAC1B;AAED;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,eAAe,GAAG,UAAU,CAAC;AAE1E;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EACT,gBAAgB,GAChB,iBAAiB,GACjB,mBAAmB,GACnB,sBAAsB,GACtB,iBAAiB,CAAC;IAEtB;;;;;;;OAOG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE9B,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;CACzB;AAED;;;;;GAKG;AACH,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC;IAE3B;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EACd,WAAW,GAAG,qBAAqB,GAAG,WAAW,GAAG,cAAc,CAAC;IAErE;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAE1B;;;;OAIG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IAEpC,+DAA+D;IAC/D,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAE3B,QAAQ,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC;CAC7B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=challenge-record.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"challenge-record.js","sourceRoot":"","sources":["../../src/domain/challenge-record.ts"],"names":[],"mappings":""}