@emilia-protocol/gate 0.10.0 → 0.13.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 (419) hide show
  1. package/CHANGELOG.md +91 -0
  2. package/README.md +272 -0
  3. package/action-control-manifest.js +3 -268
  4. package/action-escrow-custodian.js +4 -0
  5. package/action-escrow-evidence.js +4 -0
  6. package/action-escrow-package.js +4 -0
  7. package/action-escrow-postgres.js +4 -0
  8. package/action-escrow-state.js +4 -0
  9. package/action-escrow-verifiers.js +4 -0
  10. package/action-escrow.js +4 -0
  11. package/action-packs.js +3 -140
  12. package/adapters/_kit.js +3 -104
  13. package/adapters/aws.js +3 -108
  14. package/adapters/cloudflare.js +3 -54
  15. package/adapters/gcp.js +3 -70
  16. package/adapters/github.js +3 -109
  17. package/adapters/jira.js +3 -55
  18. package/adapters/k8s.js +3 -70
  19. package/adapters/linear.js +3 -55
  20. package/adapters/salesforce.js +3 -55
  21. package/adapters/stripe.js +3 -81
  22. package/adapters/supabase.js +3 -121
  23. package/adapters/terraform.js +3 -59
  24. package/adapters/vercel.js +3 -84
  25. package/aec-execution.js +3 -312
  26. package/breakglass.js +3 -582
  27. package/capability-receipt.js +4 -0
  28. package/cf1-conformance.js +3 -106
  29. package/challenge-store.js +3 -69
  30. package/control-plane.js +3 -340
  31. package/coverage.js +3 -721
  32. package/demo.mjs +1 -1
  33. package/deployment-attestation.js +3 -247
  34. package/dist/action-control-manifest.d.ts +82 -0
  35. package/dist/action-control-manifest.d.ts.map +1 -0
  36. package/dist/action-control-manifest.js +422 -0
  37. package/dist/action-control-manifest.js.map +1 -0
  38. package/dist/action-escrow-custodian.d.ts +74 -0
  39. package/dist/action-escrow-custodian.d.ts.map +1 -0
  40. package/dist/action-escrow-custodian.js +363 -0
  41. package/dist/action-escrow-custodian.js.map +1 -0
  42. package/dist/action-escrow-evidence.d.ts +130 -0
  43. package/dist/action-escrow-evidence.d.ts.map +1 -0
  44. package/dist/action-escrow-evidence.js +1012 -0
  45. package/dist/action-escrow-evidence.js.map +1 -0
  46. package/dist/action-escrow-package.d.ts +10 -0
  47. package/dist/action-escrow-package.d.ts.map +1 -0
  48. package/dist/action-escrow-package.js +1583 -0
  49. package/dist/action-escrow-package.js.map +1 -0
  50. package/dist/action-escrow-postgres.d.ts +62 -0
  51. package/dist/action-escrow-postgres.d.ts.map +1 -0
  52. package/dist/action-escrow-postgres.js +339 -0
  53. package/dist/action-escrow-postgres.js.map +1 -0
  54. package/dist/action-escrow-state.d.ts +141 -0
  55. package/dist/action-escrow-state.d.ts.map +1 -0
  56. package/dist/action-escrow-state.js +413 -0
  57. package/dist/action-escrow-state.js.map +1 -0
  58. package/dist/action-escrow-verifiers.d.ts +65 -0
  59. package/dist/action-escrow-verifiers.d.ts.map +1 -0
  60. package/dist/action-escrow-verifiers.js +421 -0
  61. package/dist/action-escrow-verifiers.js.map +1 -0
  62. package/dist/action-escrow.d.ts +112 -0
  63. package/dist/action-escrow.d.ts.map +1 -0
  64. package/dist/action-escrow.js +2661 -0
  65. package/dist/action-escrow.js.map +1 -0
  66. package/dist/action-packs.d.ts +54 -0
  67. package/dist/action-packs.d.ts.map +1 -0
  68. package/dist/action-packs.js +143 -0
  69. package/dist/action-packs.js.map +1 -0
  70. package/dist/adapters/_kit.d.ts +50 -0
  71. package/dist/adapters/_kit.d.ts.map +1 -0
  72. package/dist/adapters/_kit.js +98 -0
  73. package/dist/adapters/_kit.js.map +1 -0
  74. package/dist/adapters/aws.d.ts +158 -0
  75. package/dist/adapters/aws.d.ts.map +1 -0
  76. package/dist/adapters/aws.js +136 -0
  77. package/dist/adapters/aws.js.map +1 -0
  78. package/dist/adapters/cloudflare.d.ts +116 -0
  79. package/dist/adapters/cloudflare.d.ts.map +1 -0
  80. package/dist/adapters/cloudflare.js +75 -0
  81. package/dist/adapters/cloudflare.js.map +1 -0
  82. package/dist/adapters/gcp.d.ts +139 -0
  83. package/dist/adapters/gcp.d.ts.map +1 -0
  84. package/dist/adapters/gcp.js +69 -0
  85. package/dist/adapters/gcp.js.map +1 -0
  86. package/dist/adapters/github.d.ts +123 -0
  87. package/dist/adapters/github.d.ts.map +1 -0
  88. package/dist/adapters/github.js +105 -0
  89. package/dist/adapters/github.js.map +1 -0
  90. package/dist/adapters/jira.d.ts +109 -0
  91. package/dist/adapters/jira.d.ts.map +1 -0
  92. package/dist/adapters/jira.js +54 -0
  93. package/dist/adapters/jira.js.map +1 -0
  94. package/dist/adapters/k8s.d.ts +139 -0
  95. package/dist/adapters/k8s.d.ts.map +1 -0
  96. package/dist/adapters/k8s.js +69 -0
  97. package/dist/adapters/k8s.js.map +1 -0
  98. package/dist/adapters/linear.d.ts +109 -0
  99. package/dist/adapters/linear.d.ts.map +1 -0
  100. package/dist/adapters/linear.js +54 -0
  101. package/dist/adapters/linear.js.map +1 -0
  102. package/dist/adapters/salesforce.d.ts +109 -0
  103. package/dist/adapters/salesforce.d.ts.map +1 -0
  104. package/dist/adapters/salesforce.js +54 -0
  105. package/dist/adapters/salesforce.js.map +1 -0
  106. package/dist/adapters/stripe.d.ts +116 -0
  107. package/dist/adapters/stripe.d.ts.map +1 -0
  108. package/dist/adapters/stripe.js +77 -0
  109. package/dist/adapters/stripe.js.map +1 -0
  110. package/dist/adapters/supabase.d.ts +127 -0
  111. package/dist/adapters/supabase.d.ts.map +1 -0
  112. package/dist/adapters/supabase.js +112 -0
  113. package/dist/adapters/supabase.js.map +1 -0
  114. package/dist/adapters/terraform.d.ts +109 -0
  115. package/dist/adapters/terraform.d.ts.map +1 -0
  116. package/dist/adapters/terraform.js +58 -0
  117. package/dist/adapters/terraform.js.map +1 -0
  118. package/dist/adapters/vercel.d.ts +114 -0
  119. package/dist/adapters/vercel.d.ts.map +1 -0
  120. package/dist/adapters/vercel.js +81 -0
  121. package/dist/adapters/vercel.js.map +1 -0
  122. package/dist/aec-execution.d.ts +107 -0
  123. package/dist/aec-execution.d.ts.map +1 -0
  124. package/dist/aec-execution.js +334 -0
  125. package/dist/aec-execution.js.map +1 -0
  126. package/dist/breakglass.d.ts +205 -0
  127. package/dist/breakglass.d.ts.map +1 -0
  128. package/dist/breakglass.js +627 -0
  129. package/dist/breakglass.js.map +1 -0
  130. package/dist/capability-receipt.d.ts +601 -0
  131. package/dist/capability-receipt.d.ts.map +1 -0
  132. package/dist/capability-receipt.js +1177 -0
  133. package/dist/capability-receipt.js.map +1 -0
  134. package/dist/cf1-conformance.d.ts +83 -0
  135. package/dist/cf1-conformance.d.ts.map +1 -0
  136. package/dist/cf1-conformance.js +94 -0
  137. package/dist/cf1-conformance.js.map +1 -0
  138. package/dist/challenge-store.d.ts +20 -0
  139. package/dist/challenge-store.d.ts.map +1 -0
  140. package/dist/challenge-store.js +62 -0
  141. package/dist/challenge-store.js.map +1 -0
  142. package/dist/control-plane.d.ts +136 -0
  143. package/dist/control-plane.d.ts.map +1 -0
  144. package/dist/control-plane.js +349 -0
  145. package/dist/control-plane.js.map +1 -0
  146. package/dist/coverage.d.ts +156 -0
  147. package/dist/coverage.d.ts.map +1 -0
  148. package/dist/coverage.js +768 -0
  149. package/dist/coverage.js.map +1 -0
  150. package/dist/deployment-attestation.d.ts +93 -0
  151. package/dist/deployment-attestation.d.ts.map +1 -0
  152. package/dist/deployment-attestation.js +262 -0
  153. package/dist/deployment-attestation.js.map +1 -0
  154. package/dist/eg1-conformance.d.ts +286 -0
  155. package/dist/eg1-conformance.d.ts.map +1 -0
  156. package/dist/eg1-conformance.js +379 -0
  157. package/dist/eg1-conformance.js.map +1 -0
  158. package/dist/enterprise.d.ts +88 -0
  159. package/dist/enterprise.d.ts.map +1 -0
  160. package/dist/enterprise.js +194 -0
  161. package/dist/enterprise.js.map +1 -0
  162. package/dist/evidence-postgres.d.ts +123 -0
  163. package/dist/evidence-postgres.d.ts.map +1 -0
  164. package/dist/evidence-postgres.js +343 -0
  165. package/dist/evidence-postgres.js.map +1 -0
  166. package/dist/evidence.d.ts +113 -0
  167. package/dist/evidence.d.ts.map +1 -0
  168. package/dist/evidence.js +369 -0
  169. package/dist/evidence.js.map +1 -0
  170. package/dist/execution-binding.d.ts +49 -0
  171. package/dist/execution-binding.d.ts.map +1 -0
  172. package/dist/execution-binding.js +243 -0
  173. package/dist/execution-binding.js.map +1 -0
  174. package/dist/formal-runtime-map.d.ts +42 -0
  175. package/dist/formal-runtime-map.d.ts.map +1 -0
  176. package/dist/formal-runtime-map.js +23 -0
  177. package/dist/formal-runtime-map.js.map +1 -0
  178. package/dist/index.d.ts +1002 -0
  179. package/dist/index.d.ts.map +1 -0
  180. package/dist/index.js +1736 -0
  181. package/dist/index.js.map +1 -0
  182. package/dist/key-registry.d.ts +60 -0
  183. package/dist/key-registry.d.ts.map +1 -0
  184. package/dist/key-registry.js +144 -0
  185. package/dist/key-registry.js.map +1 -0
  186. package/dist/mcp.d.ts +53 -0
  187. package/dist/mcp.d.ts.map +1 -0
  188. package/dist/mcp.js +112 -0
  189. package/dist/mcp.js.map +1 -0
  190. package/dist/metering.d.ts +80 -0
  191. package/dist/metering.d.ts.map +1 -0
  192. package/dist/metering.js +227 -0
  193. package/dist/metering.js.map +1 -0
  194. package/dist/metrics.d.ts +68 -0
  195. package/dist/metrics.d.ts.map +1 -0
  196. package/dist/metrics.js +242 -0
  197. package/dist/metrics.js.map +1 -0
  198. package/dist/network-witness.d.ts +167 -0
  199. package/dist/network-witness.d.ts.map +1 -0
  200. package/dist/network-witness.js +520 -0
  201. package/dist/network-witness.js.map +1 -0
  202. package/dist/protocol-state.d.ts +141 -0
  203. package/dist/protocol-state.d.ts.map +1 -0
  204. package/dist/protocol-state.js +106 -0
  205. package/dist/protocol-state.js.map +1 -0
  206. package/dist/receipt-program.d.ts +59 -0
  207. package/dist/receipt-program.d.ts.map +1 -0
  208. package/dist/receipt-program.js +1053 -0
  209. package/dist/receipt-program.js.map +1 -0
  210. package/dist/reliance-kernel.d.ts +66 -0
  211. package/dist/reliance-kernel.d.ts.map +1 -0
  212. package/dist/reliance-kernel.js +103 -0
  213. package/dist/reliance-kernel.js.map +1 -0
  214. package/dist/reliance-packet.d.ts +67 -0
  215. package/dist/reliance-packet.d.ts.map +1 -0
  216. package/dist/reliance-packet.js +176 -0
  217. package/dist/reliance-packet.js.map +1 -0
  218. package/dist/remedy-program-postgres.d.ts +37 -0
  219. package/dist/remedy-program-postgres.d.ts.map +1 -0
  220. package/dist/remedy-program-postgres.js +291 -0
  221. package/dist/remedy-program-postgres.js.map +1 -0
  222. package/dist/remedy-program-receipt.d.ts +97 -0
  223. package/dist/remedy-program-receipt.d.ts.map +1 -0
  224. package/dist/remedy-program-receipt.js +817 -0
  225. package/dist/remedy-program-receipt.js.map +1 -0
  226. package/dist/remedy-program.d.ts +76 -0
  227. package/dist/remedy-program.d.ts.map +1 -0
  228. package/dist/remedy-program.js +1346 -0
  229. package/dist/remedy-program.js.map +1 -0
  230. package/dist/reports/art14.d.ts +101 -0
  231. package/dist/reports/art14.d.ts.map +1 -0
  232. package/dist/reports/art14.js +340 -0
  233. package/dist/reports/art14.js.map +1 -0
  234. package/dist/reports/assurance-package.d.ts +197 -0
  235. package/dist/reports/assurance-package.d.ts.map +1 -0
  236. package/dist/reports/assurance-package.js +313 -0
  237. package/dist/reports/assurance-package.js.map +1 -0
  238. package/dist/reports/auditor-workpaper.d.ts +194 -0
  239. package/dist/reports/auditor-workpaper.d.ts.map +1 -0
  240. package/dist/reports/auditor-workpaper.js +545 -0
  241. package/dist/reports/auditor-workpaper.js.map +1 -0
  242. package/dist/reports/external-verification.d.ts +76 -0
  243. package/dist/reports/external-verification.d.ts.map +1 -0
  244. package/dist/reports/external-verification.js +209 -0
  245. package/dist/reports/external-verification.js.map +1 -0
  246. package/dist/reports/reperform.d.ts +122 -0
  247. package/dist/reports/reperform.d.ts.map +1 -0
  248. package/dist/reports/reperform.js +432 -0
  249. package/dist/reports/reperform.js.map +1 -0
  250. package/dist/reports/underwriter.d.ts +127 -0
  251. package/dist/reports/underwriter.d.ts.map +1 -0
  252. package/dist/reports/underwriter.js +348 -0
  253. package/dist/reports/underwriter.js.map +1 -0
  254. package/dist/retention.d.ts +88 -0
  255. package/dist/retention.d.ts.map +1 -0
  256. package/dist/retention.js +90 -0
  257. package/dist/retention.js.map +1 -0
  258. package/dist/roster.d.ts +113 -0
  259. package/dist/roster.d.ts.map +1 -0
  260. package/dist/roster.js +261 -0
  261. package/dist/roster.js.map +1 -0
  262. package/dist/runtime-monitor.d.ts +132 -0
  263. package/dist/runtime-monitor.d.ts.map +1 -0
  264. package/dist/runtime-monitor.js +197 -0
  265. package/dist/runtime-monitor.js.map +1 -0
  266. package/dist/settlement.d.ts +68 -0
  267. package/dist/settlement.d.ts.map +1 -0
  268. package/dist/settlement.js +306 -0
  269. package/dist/settlement.js.map +1 -0
  270. package/dist/siem.d.ts +261 -0
  271. package/dist/siem.d.ts.map +1 -0
  272. package/dist/siem.js +247 -0
  273. package/dist/siem.js.map +1 -0
  274. package/dist/store-postgres.d.ts +107 -0
  275. package/dist/store-postgres.d.ts.map +1 -0
  276. package/dist/store-postgres.js +152 -0
  277. package/dist/store-postgres.js.map +1 -0
  278. package/dist/store.d.ts +95 -0
  279. package/dist/store.d.ts.map +1 -0
  280. package/dist/store.js +202 -0
  281. package/dist/store.js.map +1 -0
  282. package/dist/strict-json.d.ts +14 -0
  283. package/dist/strict-json.d.ts.map +1 -0
  284. package/dist/strict-json.js +132 -0
  285. package/dist/strict-json.js.map +1 -0
  286. package/dist/trust-program-adapters.d.ts +122 -0
  287. package/dist/trust-program-adapters.d.ts.map +1 -0
  288. package/dist/trust-program-adapters.js +802 -0
  289. package/dist/trust-program-adapters.js.map +1 -0
  290. package/dist/trust-program-postgres.d.ts +41 -0
  291. package/dist/trust-program-postgres.d.ts.map +1 -0
  292. package/dist/trust-program-postgres.js +346 -0
  293. package/dist/trust-program-postgres.js.map +1 -0
  294. package/dist/trust-program-revocation.d.ts +206 -0
  295. package/dist/trust-program-revocation.d.ts.map +1 -0
  296. package/dist/trust-program-revocation.js +600 -0
  297. package/dist/trust-program-revocation.js.map +1 -0
  298. package/dist/trust-program.d.ts +197 -0
  299. package/dist/trust-program.d.ts.map +1 -0
  300. package/dist/trust-program.js +1351 -0
  301. package/dist/trust-program.js.map +1 -0
  302. package/dist/witness-postgres.d.ts +43 -0
  303. package/dist/witness-postgres.d.ts.map +1 -0
  304. package/dist/witness-postgres.js +92 -0
  305. package/dist/witness-postgres.js.map +1 -0
  306. package/dist/zk-range-proof.d.ts +78 -0
  307. package/dist/zk-range-proof.d.ts.map +1 -0
  308. package/dist/zk-range-proof.js +228 -0
  309. package/dist/zk-range-proof.js.map +1 -0
  310. package/eg1-conformance.js +3 -404
  311. package/enterprise.js +3 -180
  312. package/ep-assure.mjs +1 -0
  313. package/evidence-postgres.js +3 -356
  314. package/evidence.js +4 -360
  315. package/execution-binding.js +3 -212
  316. package/formal-runtime-map.js +4 -0
  317. package/index.js +4 -1249
  318. package/key-registry.js +3 -134
  319. package/mcp.js +3 -109
  320. package/metering.js +3 -226
  321. package/metrics.js +3 -231
  322. package/network-witness.js +3 -499
  323. package/package.json +47 -4
  324. package/receipt-program.js +4 -0
  325. package/reliance-kernel.js +3 -112
  326. package/reliance-packet.js +3 -175
  327. package/remedy-program-postgres.js +4 -0
  328. package/remedy-program-receipt.js +4 -0
  329. package/remedy-program.js +4 -0
  330. package/reports/art14.js +0 -0
  331. package/reports/assurance-package.js +2 -312
  332. package/reports/auditor-workpaper.js +3 -537
  333. package/reports/external-verification.js +3 -222
  334. package/reports/reperform.js +3 -424
  335. package/reports/underwriter.js +3 -339
  336. package/retention.js +3 -84
  337. package/roster.js +3 -264
  338. package/runtime-monitor.js +4 -0
  339. package/settlement.js +3 -299
  340. package/siem.js +3 -235
  341. package/src/action-control-manifest.ts +424 -0
  342. package/src/action-escrow-custodian.ts +427 -0
  343. package/src/action-escrow-evidence.ts +1178 -0
  344. package/src/action-escrow-package.ts +1821 -0
  345. package/src/action-escrow-postgres.ts +366 -0
  346. package/src/action-escrow-state.ts +498 -0
  347. package/src/action-escrow-verifiers.ts +484 -0
  348. package/src/action-escrow.ts +3039 -0
  349. package/src/action-packs.ts +170 -0
  350. package/src/adapters/_kit.ts +117 -0
  351. package/src/adapters/aws.ts +142 -0
  352. package/src/adapters/cloudflare.ts +78 -0
  353. package/src/adapters/gcp.ts +71 -0
  354. package/src/adapters/github.ts +110 -0
  355. package/src/adapters/jira.ts +56 -0
  356. package/src/adapters/k8s.ts +71 -0
  357. package/src/adapters/linear.ts +56 -0
  358. package/src/adapters/salesforce.ts +56 -0
  359. package/src/adapters/stripe.ts +82 -0
  360. package/src/adapters/supabase.ts +122 -0
  361. package/src/adapters/terraform.ts +60 -0
  362. package/src/adapters/vercel.ts +85 -0
  363. package/src/aec-execution.ts +354 -0
  364. package/src/breakglass.ts +647 -0
  365. package/src/capability-receipt.ts +1258 -0
  366. package/src/cf1-conformance.ts +120 -0
  367. package/src/challenge-store.ts +70 -0
  368. package/src/control-plane.ts +374 -0
  369. package/src/coverage.ts +832 -0
  370. package/src/deployment-attestation.ts +259 -0
  371. package/src/eg1-conformance.ts +471 -0
  372. package/src/enterprise.ts +195 -0
  373. package/src/evidence-postgres.ts +374 -0
  374. package/src/evidence.ts +367 -0
  375. package/src/execution-binding.ts +236 -0
  376. package/src/formal-runtime-map.ts +24 -0
  377. package/src/index.ts +2122 -0
  378. package/src/key-registry.ts +150 -0
  379. package/src/mcp.ts +120 -0
  380. package/src/metering.ts +237 -0
  381. package/src/metrics.ts +232 -0
  382. package/src/network-witness.ts +585 -0
  383. package/src/protocol-state.ts +143 -0
  384. package/src/protocol-state.typecheck.ts +94 -0
  385. package/src/receipt-program.ts +1105 -0
  386. package/src/reliance-kernel.ts +119 -0
  387. package/src/reliance-packet.ts +206 -0
  388. package/src/remedy-program-postgres.ts +367 -0
  389. package/src/remedy-program-receipt.ts +891 -0
  390. package/src/remedy-program.ts +1388 -0
  391. package/src/reports/art14.ts +361 -0
  392. package/src/reports/assurance-package.ts +330 -0
  393. package/src/reports/auditor-workpaper.ts +558 -0
  394. package/src/reports/external-verification.ts +232 -0
  395. package/src/reports/reperform.ts +441 -0
  396. package/src/reports/underwriter.ts +356 -0
  397. package/src/retention.ts +100 -0
  398. package/src/roster.ts +273 -0
  399. package/src/runtime-monitor.ts +217 -0
  400. package/src/settlement.ts +313 -0
  401. package/src/siem.ts +247 -0
  402. package/src/store-postgres.ts +167 -0
  403. package/src/store.ts +214 -0
  404. package/src/strict-json.ts +115 -0
  405. package/src/trust-program-adapters.ts +847 -0
  406. package/src/trust-program-postgres.ts +429 -0
  407. package/src/trust-program-revocation.ts +751 -0
  408. package/src/trust-program.ts +1460 -0
  409. package/src/witness-postgres.ts +106 -0
  410. package/src/zk-range-proof.ts +250 -0
  411. package/store-postgres.js +3 -161
  412. package/store.js +4 -198
  413. package/strict-json.js +3 -85
  414. package/trust-program-adapters.js +4 -0
  415. package/trust-program-postgres.js +4 -0
  416. package/trust-program-revocation.js +4 -0
  417. package/trust-program.js +4 -0
  418. package/witness-postgres.js +3 -96
  419. package/zk-range-proof.js +4 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capability-receipt.js","sourceRoot":"","sources":["../src/capability-receipt.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * CF-1 Consequence Firewall Conformance — the category badge above EG-1.
3
+ *
4
+ * EG-1 answers "does this integration ENFORCE the gate?" (eight runtime checks).
5
+ * CF-1 answers the category question "is this a Consequence Firewall?" — EG-1's
6
+ * eight checks PLUS the three that make the category claim honest:
7
+ *
8
+ * - consequential_action_declared: the action is declared high-risk /
9
+ * receipt-required by policy or manifest, not gated only by default-deny.
10
+ * - wrong_authority_refused: a gate pinned to the WRONG issuer key cannot be
11
+ * talked into authorizing — trust is pinned by the relying party, never
12
+ * taken from the receipt-carried signer.
13
+ * - evidence_verifies_offline: an allowed run emits a reliance packet a third
14
+ * party can verify offline (verdict "rely" + the execution proof binds the
15
+ * authorization decision, recomputable without trusting the operator).
16
+ *
17
+ * Pure module: composes eg1-conformance.js only (no import of index.js, so no
18
+ * cycle). `runCf1` is param-driven (an `invoke` for the gate under test, a
19
+ * `wrongInvoke` for a sibling gate pinned to the wrong key, the harness, and the
20
+ * resolved manifest requirement). `cf1Conformance` / `cf1ConformanceSelfTest`
21
+ * in index.js wire real gates to it.
22
+ */
23
+ import { runEg1 } from './eg1-conformance.js';
24
+ type Obj = Record<string, any>;
25
+ export declare const CF1_VERSION = "CF-1";
26
+ export declare const CF1_CHECKS: readonly {
27
+ id: string;
28
+ title: string;
29
+ }[];
30
+ /**
31
+ * Drive a subject through the CF-1 checks and return a JSON report.
32
+ * @param {object} [o]
33
+ * @param {(scenario:object)=>Promise<object>} [o.invoke] the gate under test
34
+ * @param {(scenario:object)=>Promise<object>} [o.wrongInvoke] a sibling gate pinned to a DIFFERENT (wrong) issuer key
35
+ * @param {object} [o.harness] from createEg1Harness()
36
+ * @param {object} [o.action] the high-risk action (defaults to the harness action)
37
+ * @param {object} [o.requirement] the manifest requirement resolved for this action (findActionRequirement)
38
+ */
39
+ type Eg1Invoke = NonNullable<Parameters<typeof runEg1>[0]>['invoke'];
40
+ type Eg1Harness = NonNullable<Parameters<typeof runEg1>[0]>['harness'];
41
+ export declare function runCf1({ invoke, wrongInvoke, harness, action, requirement, }?: {
42
+ invoke?: Eg1Invoke;
43
+ wrongInvoke?: Eg1Invoke;
44
+ harness?: Eg1Harness;
45
+ action?: Obj;
46
+ requirement?: {
47
+ receipt_required?: boolean;
48
+ assurance_class?: any;
49
+ action_type?: any;
50
+ };
51
+ }): Promise<{
52
+ standard: string;
53
+ passed: boolean;
54
+ badge: string;
55
+ summary: {
56
+ passed: number;
57
+ total: number;
58
+ };
59
+ eg1: {
60
+ passed: boolean;
61
+ summary: {
62
+ passed: number;
63
+ total: number;
64
+ };
65
+ };
66
+ checks: {
67
+ pass: boolean;
68
+ observed: Obj;
69
+ id: string;
70
+ title: string;
71
+ }[];
72
+ generated_at: string;
73
+ }>;
74
+ declare const _default: {
75
+ CF1_VERSION: string;
76
+ CF1_CHECKS: readonly {
77
+ id: string;
78
+ title: string;
79
+ }[];
80
+ runCf1: typeof runCf1;
81
+ };
82
+ export default _default;
83
+ //# sourceMappingURL=cf1-conformance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cf1-conformance.d.ts","sourceRoot":"","sources":["../src/cf1-conformance.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAc,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE1D,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAE/B,eAAO,MAAM,WAAW,SAAS,CAAC;AAIlC,eAAO,MAAM,UAAU;;;GAKrB,CAAC;AAEH;;;;;;;;GAQG;AACH,KAAK,SAAS,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;AACrE,KAAK,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAEvE,wBAAsB,MAAM,CAAC,EAC3B,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,GAClD,GAAE;IACD,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,WAAW,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAAC,eAAe,CAAC,EAAE,GAAG,CAAC;QAAC,WAAW,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;CACnF;;;;;;;;;;;;;;;;cAQkC,OAAO;kBAAY,GAAG;;;;;GAmD7D;;;;;;;;;AAED,wBAAmD"}
@@ -0,0 +1,94 @@
1
+ // @ts-nocheck
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ /**
4
+ * CF-1 Consequence Firewall Conformance — the category badge above EG-1.
5
+ *
6
+ * EG-1 answers "does this integration ENFORCE the gate?" (eight runtime checks).
7
+ * CF-1 answers the category question "is this a Consequence Firewall?" — EG-1's
8
+ * eight checks PLUS the three that make the category claim honest:
9
+ *
10
+ * - consequential_action_declared: the action is declared high-risk /
11
+ * receipt-required by policy or manifest, not gated only by default-deny.
12
+ * - wrong_authority_refused: a gate pinned to the WRONG issuer key cannot be
13
+ * talked into authorizing — trust is pinned by the relying party, never
14
+ * taken from the receipt-carried signer.
15
+ * - evidence_verifies_offline: an allowed run emits a reliance packet a third
16
+ * party can verify offline (verdict "rely" + the execution proof binds the
17
+ * authorization decision, recomputable without trusting the operator).
18
+ *
19
+ * Pure module: composes eg1-conformance.js only (no import of index.js, so no
20
+ * cycle). `runCf1` is param-driven (an `invoke` for the gate under test, a
21
+ * `wrongInvoke` for a sibling gate pinned to the wrong key, the harness, and the
22
+ * resolved manifest requirement). `cf1Conformance` / `cf1ConformanceSelfTest`
23
+ * in index.js wire real gates to it.
24
+ */
25
+ import { EG1_CHECKS, runEg1 } from './eg1-conformance.js';
26
+ export const CF1_VERSION = 'CF-1';
27
+ // The nine CF-1 checks: the declaration bookend, the eight EG-1 runtime checks,
28
+ // then the two that distinguish a firewall from an enforced gate.
29
+ export const CF1_CHECKS = Object.freeze([
30
+ { id: 'consequential_action_declared', title: 'action declared consequential (receipt required by policy/manifest)' },
31
+ ...EG1_CHECKS.map((c) => ({ id: c.id, title: c.title })),
32
+ { id: 'wrong_authority_refused', title: 'gate pinned to the wrong authority cannot authorize' },
33
+ { id: 'evidence_verifies_offline', title: 'allowed run emits reliance evidence verifiable offline' },
34
+ ]);
35
+ export async function runCf1({ invoke, wrongInvoke, harness, action, requirement, } = {}) {
36
+ if (typeof invoke !== 'function')
37
+ throw new Error('runCf1 requires an invoke(scenario) function');
38
+ if (!harness || typeof harness.mint !== 'function')
39
+ throw new Error('runCf1 requires a harness from createEg1Harness()');
40
+ const act = action || harness.action;
41
+ // The eight EG-1 runtime checks (missing / weak-assurance / execution-drift /
42
+ // valid-runs / replay / tamper / execution-proof / reliance-packet).
43
+ const eg1 = await runEg1({ invoke, harness, action: act });
44
+ const results = {};
45
+ for (const c of eg1.checks)
46
+ results[c.id] = { pass: c.pass, observed: c.observed };
47
+ // consequential_action_declared — policy/manifest classifies the action as
48
+ // requiring a receipt (not merely caught by a default-deny fallback).
49
+ results.consequential_action_declared = {
50
+ pass: requirement ? requirement.receipt_required === true : false,
51
+ observed: {
52
+ receipt_required: requirement?.receipt_required ?? null,
53
+ assurance_class: requirement?.assurance_class ?? null,
54
+ action_type: requirement?.action_type ?? null,
55
+ },
56
+ };
57
+ // wrong_authority_refused — a gate pinned to a different key rejects a valid
58
+ // receipt. Proves trust is pinned by the relying party, not receipt-carried.
59
+ let wrongPass = false;
60
+ let wrongObserved = { skipped: true };
61
+ if (typeof wrongInvoke === 'function') {
62
+ const rr = await wrongInvoke({ receipt: harness.mint({ outcome: 'allow_with_signoff' }), observedAction: act });
63
+ wrongPass = rr.allowed === false;
64
+ wrongObserved = { allowed: !!rr.allowed, status: rr.status ?? null, reason: rr.reason ?? null };
65
+ }
66
+ results.wrong_authority_refused = { pass: wrongPass, observed: wrongObserved };
67
+ // evidence_verifies_offline — a fresh valid run yields a "rely" reliance
68
+ // packet whose execution proof binds the authorization decision. A third
69
+ // party recomputes that binding offline; no operator trust required.
70
+ const vr = await invoke({ receipt: harness.mint({ outcome: 'allow_with_signoff' }), observedAction: act });
71
+ const binds = !!vr.execution?.authorizes_decision && !!vr.decisionHash
72
+ && vr.execution.authorizes_decision === vr.decisionHash;
73
+ const offlineOk = vr.allowed === true
74
+ && String(vr.packet?.verdict || '').toLowerCase() === 'rely'
75
+ && binds;
76
+ results.evidence_verifies_offline = {
77
+ pass: offlineOk,
78
+ observed: { allowed: !!vr.allowed, verdict: vr.packet?.verdict ?? null, binds },
79
+ };
80
+ const checks = CF1_CHECKS.map((c) => ({ id: c.id, title: c.title, ...results[c.id] }));
81
+ const passedCount = checks.filter((c) => c.pass).length;
82
+ const passed = passedCount === checks.length;
83
+ return {
84
+ standard: CF1_VERSION,
85
+ passed,
86
+ badge: passed ? 'CF-1 Enforced' : 'CF-1 not earned',
87
+ summary: { passed: passedCount, total: checks.length },
88
+ eg1: { passed: eg1.passed, summary: eg1.summary },
89
+ checks,
90
+ generated_at: new Date(harness.now ? harness.now() : Date.now()).toISOString(),
91
+ };
92
+ }
93
+ export default { CF1_VERSION, CF1_CHECKS, runCf1 };
94
+ //# sourceMappingURL=cf1-conformance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cf1-conformance.js","sourceRoot":"","sources":["../src/cf1-conformance.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ export declare const DURABLE_CHALLENGE_STORE_VERSION = "EP-DURABLE-CHALLENGE-STORE-v1";
2
+ export declare function challengeStorageKey(challenge: any): string;
3
+ export declare function challengeBodyDigest(challenge: any): string;
4
+ export declare function createDurableChallengeStore(backend: any): {
5
+ durable: boolean;
6
+ atomicRegistration: boolean;
7
+ bodyBound: boolean;
8
+ permanentConsumption: boolean;
9
+ register(challenge: any): Promise<boolean>;
10
+ consume(challenge: any): Promise<boolean>;
11
+ has(challenge: any): Promise<boolean>;
12
+ };
13
+ declare const _default: {
14
+ createDurableChallengeStore: typeof createDurableChallengeStore;
15
+ challengeStorageKey: typeof challengeStorageKey;
16
+ challengeBodyDigest: typeof challengeBodyDigest;
17
+ DURABLE_CHALLENGE_STORE_VERSION: string;
18
+ };
19
+ export default _default;
20
+ //# sourceMappingURL=challenge-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"challenge-store.d.ts","sourceRoot":"","sources":["../src/challenge-store.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,+BAA+B,kCAAkC,CAAC;AAa/E,wBAAgB,mBAAmB,CAAC,SAAS,KAAA,UAG5C;AAED,wBAAgB,mBAAmB,CAAC,SAAS,KAAA,UAG5C;AAED,wBAAgB,2BAA2B,CAAC,OAAO,KAAA;;;;;;;;EAgClD;;;;;;;AAED,wBAA0H"}
@@ -0,0 +1,62 @@
1
+ // @ts-nocheck
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ /**
4
+ * Durable, body-bound lifecycle store for AE-CHALLENGE-v1.
5
+ *
6
+ * Registration is atomic insert-if-absent. Consumption is an atomic transition
7
+ * from the digest of the exact registered body to a consumed state carrying
8
+ * that same digest. A presenter that changes action, profile, expiry, or any
9
+ * other challenge member cannot consume the original registration even when it
10
+ * reuses the challenge id and nonce.
11
+ */
12
+ import { hashCanonical } from './execution-binding.js';
13
+ export const DURABLE_CHALLENGE_STORE_VERSION = 'EP-DURABLE-CHALLENGE-STORE-v1';
14
+ const OPEN_PREFIX = 'challenge-open:v1:';
15
+ const CONSUMED_PREFIX = 'challenge-consumed:v1:';
16
+ function assertChallenge(challenge) {
17
+ if (!challenge || typeof challenge !== 'object' || Array.isArray(challenge)) {
18
+ throw new Error('challenge must be an object');
19
+ }
20
+ if (challenge['@version'] !== 'AE-CHALLENGE-v1')
21
+ throw new Error('unsupported challenge version');
22
+ if (typeof challenge.challenge_id !== 'string' || !challenge.challenge_id.trim())
23
+ throw new Error('challenge_id is required');
24
+ if (typeof challenge.nonce !== 'string' || !challenge.nonce.trim())
25
+ throw new Error('challenge nonce is required');
26
+ }
27
+ export function challengeStorageKey(challenge) {
28
+ assertChallenge(challenge);
29
+ return `ae-challenge:${hashCanonical({ challenge_id: challenge.challenge_id, nonce: challenge.nonce })}`;
30
+ }
31
+ export function challengeBodyDigest(challenge) {
32
+ assertChallenge(challenge);
33
+ return hashCanonical(challenge);
34
+ }
35
+ export function createDurableChallengeStore(backend) {
36
+ for (const method of ['addIfAbsent', 'compareAndSet', 'has']) {
37
+ if (typeof backend?.[method] !== 'function') {
38
+ throw new Error(`createDurableChallengeStore: backend must implement atomic async ${method}()`);
39
+ }
40
+ }
41
+ return {
42
+ durable: backend.durable === true,
43
+ atomicRegistration: true,
44
+ bodyBound: true,
45
+ permanentConsumption: true,
46
+ async register(challenge) {
47
+ const key = challengeStorageKey(challenge);
48
+ const digest = challengeBodyDigest(challenge);
49
+ return (await backend.addIfAbsent(key, `${OPEN_PREFIX}${digest}`)) === true;
50
+ },
51
+ async consume(challenge) {
52
+ const key = challengeStorageKey(challenge);
53
+ const digest = challengeBodyDigest(challenge);
54
+ return (await backend.compareAndSet(key, `${OPEN_PREFIX}${digest}`, `${CONSUMED_PREFIX}${digest}`)) === true;
55
+ },
56
+ async has(challenge) {
57
+ return (await backend.has(challengeStorageKey(challenge))) === true;
58
+ },
59
+ };
60
+ }
61
+ export default { createDurableChallengeStore, challengeStorageKey, challengeBodyDigest, DURABLE_CHALLENGE_STORE_VERSION };
62
+ //# sourceMappingURL=challenge-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"challenge-store.js","sourceRoot":"","sources":["../src/challenge-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,136 @@
1
+ export declare const CONTROL_PLANE_REPORT_VERSION = "EP-GATE-CONTROL-PLANE-REPORT-v1";
2
+ export declare const CONTROL_PLANE_MAX_SETTLEMENTS = 10000;
3
+ /**
4
+ * Produce one reproducible control-plane view. The signed/verified subartifacts
5
+ * remain independently portable; this report joins only their digests and
6
+ * closed verdicts.
7
+ */
8
+ export declare function evaluateGateControlPlane(input?: {
9
+ settlements?: any[];
10
+ coverage?: Record<string, any>;
11
+ usage?: any;
12
+ }, options?: {
13
+ now?: number;
14
+ coverageInventory?: any;
15
+ settlementProfile?: any;
16
+ pinnedProbes?: any;
17
+ pinnedWitnesses?: any;
18
+ expectedProbeNonces?: any;
19
+ probeMaxAgeSec?: number;
20
+ witnessMaxAgeSec?: number;
21
+ maxFutureSkewSec?: number;
22
+ allowEphemeralWitnessStore?: boolean;
23
+ trustedWitnessAcceptances?: any[];
24
+ attestationVerifiers?: any;
25
+ witnessSequenceStore?: any;
26
+ verifyAuthorization?: any;
27
+ verifyExecution?: any;
28
+ verifyOutcome?: any;
29
+ }): Promise<Readonly<{
30
+ control_plane_digest: string;
31
+ artifacts: Readonly<{
32
+ coverage: {
33
+ '@version': string;
34
+ complete: boolean;
35
+ reason: string;
36
+ inventory_hash: string | null;
37
+ surfaces: {
38
+ surface_id: any;
39
+ action_family: any;
40
+ required: any;
41
+ state: string;
42
+ reason: string;
43
+ deployment_attested: boolean;
44
+ refusal_probe_verified: boolean;
45
+ bypass_probe_verified: boolean;
46
+ probe_nonce_verified: boolean;
47
+ witness_required: boolean;
48
+ witness_verified: boolean;
49
+ witness_acceptance_reason: any;
50
+ complete: boolean;
51
+ }[];
52
+ counts: Record<string, number>;
53
+ report_hash?: undefined;
54
+ generated_at?: undefined;
55
+ inventory_id?: undefined;
56
+ declared_required_surfaces?: undefined;
57
+ complete_required_surfaces?: undefined;
58
+ declared_coverage_bps?: undefined;
59
+ limitations?: undefined;
60
+ } | {
61
+ '@version': string;
62
+ generated_at: string;
63
+ inventory_id: any;
64
+ inventory_hash: string;
65
+ complete: boolean;
66
+ declared_required_surfaces: number;
67
+ complete_required_surfaces: number;
68
+ declared_coverage_bps: number;
69
+ counts: Record<string, number>;
70
+ surfaces: {
71
+ surface_id: any;
72
+ action_family: any;
73
+ required: any;
74
+ state: string;
75
+ reason: string;
76
+ deployment_attested: boolean;
77
+ refusal_probe_verified: boolean;
78
+ bypass_probe_verified: boolean;
79
+ probe_nonce_verified: boolean;
80
+ witness_required: boolean;
81
+ witness_verified: boolean;
82
+ witness_acceptance_reason: any;
83
+ complete: boolean;
84
+ }[];
85
+ limitations: string[];
86
+ report_hash: string;
87
+ reason?: undefined;
88
+ };
89
+ settlements: any[];
90
+ usage: {
91
+ content_hash: string;
92
+ '@version': string;
93
+ kind: string;
94
+ org: string;
95
+ period: {
96
+ start: any;
97
+ end: any;
98
+ bounds: string;
99
+ };
100
+ protected_actions: any;
101
+ allows: any;
102
+ denies: any;
103
+ replays_blocked: any;
104
+ by_action_type: {};
105
+ by_tier: {};
106
+ receipt_years: any;
107
+ retention_years_default: any;
108
+ integrity_warning_count: any;
109
+ complete: boolean;
110
+ } | null;
111
+ }>;
112
+ limitations: string[];
113
+ usage_error?: string | undefined;
114
+ settlement_error?: string | undefined;
115
+ configuration_error?: string | undefined;
116
+ '@version': string;
117
+ generated_at: string;
118
+ coverage_report_hash: string | null;
119
+ coverage_complete: boolean;
120
+ settlement_input_complete: boolean;
121
+ settlement_results: {
122
+ action_digest: any;
123
+ verdict: any;
124
+ eligible: boolean;
125
+ result_hash: any;
126
+ }[];
127
+ usage_statement_hash: string | null;
128
+ usage_complete: boolean;
129
+ }>>;
130
+ declare const _default: {
131
+ CONTROL_PLANE_REPORT_VERSION: string;
132
+ CONTROL_PLANE_MAX_SETTLEMENTS: number;
133
+ evaluateGateControlPlane: typeof evaluateGateControlPlane;
134
+ };
135
+ export default _default;
136
+ //# sourceMappingURL=control-plane.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"control-plane.d.ts","sourceRoot":"","sources":["../src/control-plane.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,4BAA4B,oCAAoC,CAAC;AAC9E,eAAO,MAAM,6BAA6B,QAAS,CAAC;AA0DpD;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,KAAK,GAAE;IAAE,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,GAAG,CAAA;CAAO,EAChF,OAAO,GAAE;IACP,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,iBAAiB,CAAC,EAAE,GAAG,CAAC;IACxB,iBAAiB,CAAC,EAAE,GAAG,CAAC;IACxB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,mBAAmB,CAAC,EAAE,GAAG,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,yBAAyB,CAAC,EAAE,GAAG,EAAE,CAAC;IAClC,oBAAoB,CAAC,EAAE,GAAG,CAAC;IAC3B,oBAAoB,CAAC,EAAE,GAAG,CAAC;IAC3B,mBAAmB,CAAC,EAAE,GAAG,CAAC;IAC1B,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,aAAa,CAAC,EAAE,GAAG,CAAC;CAChB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgRP;;;;;;AAED,wBAIE"}