@intentius/chant-lexicon-cedar 0.44.8

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 (265) hide show
  1. package/README.md +190 -0
  2. package/dist/avp/ambient.d.ts +54 -0
  3. package/dist/avp/ambient.d.ts.map +1 -0
  4. package/dist/avp/client.d.ts +127 -0
  5. package/dist/avp/client.d.ts.map +1 -0
  6. package/dist/avp/describe-resources.d.ts +42 -0
  7. package/dist/avp/describe-resources.d.ts.map +1 -0
  8. package/dist/avp/embed.d.ts +120 -0
  9. package/dist/avp/embed.d.ts.map +1 -0
  10. package/dist/avp/live-export.d.ts +94 -0
  11. package/dist/avp/live-export.d.ts.map +1 -0
  12. package/dist/avp/ownership.d.ts +97 -0
  13. package/dist/avp/ownership.d.ts.map +1 -0
  14. package/dist/avp/statement.d.ts +22 -0
  15. package/dist/avp/statement.d.ts.map +1 -0
  16. package/dist/avp/store.d.ts +82 -0
  17. package/dist/avp/store.d.ts.map +1 -0
  18. package/dist/avp/testdata/mock-transport.d.ts +55 -0
  19. package/dist/avp/testdata/mock-transport.d.ts.map +1 -0
  20. package/dist/codegen/docs-cli.d.ts +3 -0
  21. package/dist/codegen/docs-cli.d.ts.map +1 -0
  22. package/dist/codegen/docs.d.ts +26 -0
  23. package/dist/codegen/docs.d.ts.map +1 -0
  24. package/dist/codegen/emit.d.ts +85 -0
  25. package/dist/codegen/emit.d.ts.map +1 -0
  26. package/dist/codegen/generate-cli.d.ts +3 -0
  27. package/dist/codegen/generate-cli.d.ts.map +1 -0
  28. package/dist/codegen/generate.d.ts +37 -0
  29. package/dist/codegen/generate.d.ts.map +1 -0
  30. package/dist/codegen/naming.d.ts +48 -0
  31. package/dist/codegen/naming.d.ts.map +1 -0
  32. package/dist/codegen/package.d.ts +10 -0
  33. package/dist/codegen/package.d.ts.map +1 -0
  34. package/dist/composites/deny-by-default-set.d.ts +58 -0
  35. package/dist/composites/deny-by-default-set.d.ts.map +1 -0
  36. package/dist/composites/index.d.ts +12 -0
  37. package/dist/composites/index.d.ts.map +1 -0
  38. package/dist/composites/owner-can-manage.d.ts +48 -0
  39. package/dist/composites/owner-can-manage.d.ts.map +1 -0
  40. package/dist/config.d.ts +102 -0
  41. package/dist/config.d.ts.map +1 -0
  42. package/dist/coverage.d.ts +59 -0
  43. package/dist/coverage.d.ts.map +1 -0
  44. package/dist/detect.d.ts +18 -0
  45. package/dist/detect.d.ts.map +1 -0
  46. package/dist/generated/index.d.ts +251 -0
  47. package/dist/generated/index.d.ts.map +1 -0
  48. package/dist/generated/runtime.d.ts +2 -0
  49. package/dist/generated/runtime.d.ts.map +1 -0
  50. package/dist/import/adapter.d.ts +21 -0
  51. package/dist/import/adapter.d.ts.map +1 -0
  52. package/dist/import/clause-text.d.ts +38 -0
  53. package/dist/import/clause-text.d.ts.map +1 -0
  54. package/dist/import/generator.d.ts +53 -0
  55. package/dist/import/generator.d.ts.map +1 -0
  56. package/dist/import/parser.d.ts +57 -0
  57. package/dist/import/parser.d.ts.map +1 -0
  58. package/dist/index.d.ts +34 -0
  59. package/dist/index.d.ts.map +1 -0
  60. package/dist/init-templates.d.ts +32 -0
  61. package/dist/init-templates.d.ts.map +1 -0
  62. package/dist/integrity.json +22 -0
  63. package/dist/lint/audit-catalog.d.ts +29 -0
  64. package/dist/lint/audit-catalog.d.ts.map +1 -0
  65. package/dist/lint/post-synth/cedar-helpers.d.ts +97 -0
  66. package/dist/lint/post-synth/cedar-helpers.d.ts.map +1 -0
  67. package/dist/lint/post-synth/cedc010.d.ts +17 -0
  68. package/dist/lint/post-synth/cedc010.d.ts.map +1 -0
  69. package/dist/lint/post-synth/cedc011.d.ts +17 -0
  70. package/dist/lint/post-synth/cedc011.d.ts.map +1 -0
  71. package/dist/lint/post-synth/cedc012.d.ts +21 -0
  72. package/dist/lint/post-synth/cedc012.d.ts.map +1 -0
  73. package/dist/lint/post-synth/cedc013.d.ts +20 -0
  74. package/dist/lint/post-synth/cedc013.d.ts.map +1 -0
  75. package/dist/lint/post-synth/cedc014.d.ts +19 -0
  76. package/dist/lint/post-synth/cedc014.d.ts.map +1 -0
  77. package/dist/lint/post-synth/cede010.d.ts +34 -0
  78. package/dist/lint/post-synth/cede010.d.ts.map +1 -0
  79. package/dist/lint/post-synth/cede011.d.ts +22 -0
  80. package/dist/lint/post-synth/cede011.d.ts.map +1 -0
  81. package/dist/lint/post-synth/ceds010.d.ts +24 -0
  82. package/dist/lint/post-synth/ceds010.d.ts.map +1 -0
  83. package/dist/lint/post-synth/ceds011.d.ts +19 -0
  84. package/dist/lint/post-synth/ceds011.d.ts.map +1 -0
  85. package/dist/lint/post-synth/ceds012.d.ts +17 -0
  86. package/dist/lint/post-synth/ceds012.d.ts.map +1 -0
  87. package/dist/lint/post-synth/index.d.ts +3 -0
  88. package/dist/lint/post-synth/index.d.ts.map +1 -0
  89. package/dist/lint/post-synth/wasm-helpers.d.ts +108 -0
  90. package/dist/lint/post-synth/wasm-helpers.d.ts.map +1 -0
  91. package/dist/lint/rules/index.d.ts +10 -0
  92. package/dist/lint/rules/index.d.ts.map +1 -0
  93. package/dist/lint/rules/policy-shape.d.ts +31 -0
  94. package/dist/lint/rules/policy-shape.d.ts.map +1 -0
  95. package/dist/lsp/completions.d.ts +24 -0
  96. package/dist/lsp/completions.d.ts.map +1 -0
  97. package/dist/lsp/hover.d.ts +11 -0
  98. package/dist/lsp/hover.d.ts.map +1 -0
  99. package/dist/lsp/registry.d.ts +45 -0
  100. package/dist/lsp/registry.d.ts.map +1 -0
  101. package/dist/manifest.json +8 -0
  102. package/dist/mcp/index.d.ts +34 -0
  103. package/dist/mcp/index.d.ts.map +1 -0
  104. package/dist/mcp/policy-coverage.d.ts +81 -0
  105. package/dist/mcp/policy-coverage.d.ts.map +1 -0
  106. package/dist/meta.json +699 -0
  107. package/dist/okf/index.md +37 -0
  108. package/dist/okf/rules/CEDC001.md +11 -0
  109. package/dist/okf/rules/CEDC010.md +11 -0
  110. package/dist/okf/rules/CEDC011.md +15 -0
  111. package/dist/okf/rules/CEDC012.md +11 -0
  112. package/dist/okf/rules/CEDC013.md +15 -0
  113. package/dist/okf/rules/CEDC014.md +15 -0
  114. package/dist/okf/rules/CEDE010.md +15 -0
  115. package/dist/okf/rules/CEDE011.md +15 -0
  116. package/dist/okf/rules/CEDS010.md +15 -0
  117. package/dist/okf/rules/CEDS011.md +11 -0
  118. package/dist/okf/rules/CEDS012.md +15 -0
  119. package/dist/okf/types/AdminAction.md +14 -0
  120. package/dist/okf/types/Application.md +14 -0
  121. package/dist/okf/types/ApproveAction.md +13 -0
  122. package/dist/okf/types/CommentAction.md +14 -0
  123. package/dist/okf/types/CreateAction.md +14 -0
  124. package/dist/okf/types/DeleteAction.md +14 -0
  125. package/dist/okf/types/Document.md +18 -0
  126. package/dist/okf/types/Folder.md +15 -0
  127. package/dist/okf/types/Group.md +14 -0
  128. package/dist/okf/types/ListAction.md +14 -0
  129. package/dist/okf/types/Policy.md +29 -0
  130. package/dist/okf/types/ReadAction.md +14 -0
  131. package/dist/okf/types/ServiceAccount.md +15 -0
  132. package/dist/okf/types/ShareAction.md +14 -0
  133. package/dist/okf/types/Team.md +14 -0
  134. package/dist/okf/types/User.md +18 -0
  135. package/dist/okf/types/WriteAction.md +14 -0
  136. package/dist/package-cli.d.ts +3 -0
  137. package/dist/package-cli.d.ts.map +1 -0
  138. package/dist/plugin.d.ts +8 -0
  139. package/dist/plugin.d.ts.map +1 -0
  140. package/dist/rules/cedar-helpers.ts +209 -0
  141. package/dist/rules/cedc010.ts +80 -0
  142. package/dist/rules/cedc011.ts +47 -0
  143. package/dist/rules/cedc012.ts +64 -0
  144. package/dist/rules/cedc013.ts +68 -0
  145. package/dist/rules/cedc014.ts +73 -0
  146. package/dist/rules/cede010.ts +89 -0
  147. package/dist/rules/cede011.ts +58 -0
  148. package/dist/rules/ceds010.ts +57 -0
  149. package/dist/rules/ceds011.ts +42 -0
  150. package/dist/rules/ceds012.ts +50 -0
  151. package/dist/rules/policy-shape.ts +148 -0
  152. package/dist/rules/wasm-helpers.ts +315 -0
  153. package/dist/serializer.d.ts +138 -0
  154. package/dist/serializer.d.ts.map +1 -0
  155. package/dist/spec/fetch.d.ts +71 -0
  156. package/dist/spec/fetch.d.ts.map +1 -0
  157. package/dist/spec/parse.d.ts +113 -0
  158. package/dist/spec/parse.d.ts.map +1 -0
  159. package/dist/spec/pin.d.ts +116 -0
  160. package/dist/spec/pin.d.ts.map +1 -0
  161. package/dist/spec/pinned-names.json +18 -0
  162. package/dist/spec/wasm.d.ts +143 -0
  163. package/dist/spec/wasm.d.ts.map +1 -0
  164. package/dist/types/index.d.ts +219 -0
  165. package/dist/validate-cli.d.ts +3 -0
  166. package/dist/validate-cli.d.ts.map +1 -0
  167. package/dist/validate.d.ts +25 -0
  168. package/dist/validate.d.ts.map +1 -0
  169. package/package.json +75 -0
  170. package/src/avp/OWNERSHIP.md +125 -0
  171. package/src/avp/ambient.test.ts +113 -0
  172. package/src/avp/ambient.ts +124 -0
  173. package/src/avp/client.ts +310 -0
  174. package/src/avp/describe-resources.test.ts +316 -0
  175. package/src/avp/describe-resources.ts +215 -0
  176. package/src/avp/embed.test.ts +114 -0
  177. package/src/avp/embed.ts +190 -0
  178. package/src/avp/live-export.test.ts +232 -0
  179. package/src/avp/live-export.ts +185 -0
  180. package/src/avp/ownership.test.ts +101 -0
  181. package/src/avp/ownership.ts +170 -0
  182. package/src/avp/statement.ts +50 -0
  183. package/src/avp/store.ts +152 -0
  184. package/src/avp/testdata/mock-transport.ts +147 -0
  185. package/src/codegen/docs-cli.ts +7 -0
  186. package/src/codegen/docs.ts +873 -0
  187. package/src/codegen/emit.ts +496 -0
  188. package/src/codegen/generate-cli.ts +18 -0
  189. package/src/codegen/generate.test.ts +128 -0
  190. package/src/codegen/generate.ts +123 -0
  191. package/src/codegen/naming.ts +101 -0
  192. package/src/codegen/package.ts +52 -0
  193. package/src/composites/composites.test.ts +206 -0
  194. package/src/composites/deny-by-default-set.ts +98 -0
  195. package/src/composites/index.ts +13 -0
  196. package/src/composites/owner-can-manage.ts +80 -0
  197. package/src/config-namespace.test.ts +44 -0
  198. package/src/config.test.ts +82 -0
  199. package/src/config.ts +119 -0
  200. package/src/coverage.test.ts +61 -0
  201. package/src/coverage.ts +166 -0
  202. package/src/detect.test.ts +64 -0
  203. package/src/detect.ts +59 -0
  204. package/src/generated/index.d.ts +219 -0
  205. package/src/generated/index.ts +279 -0
  206. package/src/generated/lexicon-cedar.json +699 -0
  207. package/src/generated/runtime.ts +2 -0
  208. package/src/import/adapter.ts +63 -0
  209. package/src/import/clause-text.ts +178 -0
  210. package/src/import/generator.test.ts +133 -0
  211. package/src/import/generator.ts +219 -0
  212. package/src/import/parser.test.ts +265 -0
  213. package/src/import/parser.ts +352 -0
  214. package/src/import/roundtrip.test.ts +127 -0
  215. package/src/import/testdata/full.cedar +36 -0
  216. package/src/import/testdata/full.cedar.json +238 -0
  217. package/src/import/testdata/realistic.cedar +35 -0
  218. package/src/import/testdata/simple.cedar +6 -0
  219. package/src/index.ts +94 -0
  220. package/src/init-templates.test.ts +158 -0
  221. package/src/init-templates.ts +358 -0
  222. package/src/lint/audit-catalog.ts +130 -0
  223. package/src/lint/post-synth/cedar-helpers.ts +209 -0
  224. package/src/lint/post-synth/cedc010.ts +80 -0
  225. package/src/lint/post-synth/cedc011.ts +47 -0
  226. package/src/lint/post-synth/cedc012.ts +64 -0
  227. package/src/lint/post-synth/cedc013.ts +68 -0
  228. package/src/lint/post-synth/cedc014.ts +73 -0
  229. package/src/lint/post-synth/cede010.ts +89 -0
  230. package/src/lint/post-synth/cede011.ts +58 -0
  231. package/src/lint/post-synth/ceds010.ts +57 -0
  232. package/src/lint/post-synth/ceds011.ts +42 -0
  233. package/src/lint/post-synth/ceds012.ts +50 -0
  234. package/src/lint/post-synth/index.ts +25 -0
  235. package/src/lint/post-synth/post-synth.test.ts +474 -0
  236. package/src/lint/post-synth/wasm-helpers.ts +315 -0
  237. package/src/lint/rules/index.ts +12 -0
  238. package/src/lint/rules/policy-shape.test.ts +90 -0
  239. package/src/lint/rules/policy-shape.ts +148 -0
  240. package/src/lsp/completions.test.ts +111 -0
  241. package/src/lsp/completions.ts +55 -0
  242. package/src/lsp/hover.test.ts +82 -0
  243. package/src/lsp/hover.ts +75 -0
  244. package/src/lsp/registry.ts +74 -0
  245. package/src/mcp/index.ts +103 -0
  246. package/src/mcp/policy-coverage.test.ts +176 -0
  247. package/src/mcp/policy-coverage.ts +205 -0
  248. package/src/package-cli.ts +22 -0
  249. package/src/plugin.test.ts +115 -0
  250. package/src/plugin.ts +312 -0
  251. package/src/serializer.test.ts +502 -0
  252. package/src/serializer.ts +335 -0
  253. package/src/skills/chant-cedar-authoring.md +180 -0
  254. package/src/skills/chant-cedar-avp-embedding.md +125 -0
  255. package/src/skills/chant-cedar-meta-policy.md +119 -0
  256. package/src/spec/default-schema.cedarschema +108 -0
  257. package/src/spec/fetch.ts +107 -0
  258. package/src/spec/parse.test.ts +123 -0
  259. package/src/spec/parse.ts +253 -0
  260. package/src/spec/pin.test.ts +88 -0
  261. package/src/spec/pin.ts +243 -0
  262. package/src/spec/pinned-names.json +18 -0
  263. package/src/spec/wasm.ts +283 -0
  264. package/src/validate-cli.ts +8 -0
  265. package/src/validate.ts +85 -0
@@ -0,0 +1,37 @@
1
+ ---
2
+ okf_version: '0.2'
3
+ ---
4
+
5
+ # Resource types
6
+
7
+ * [AdminAction](/types/AdminAction.md) - App::Action::"admin"
8
+ * [Application](/types/Application.md) - App::Application
9
+ * [ApproveAction](/types/ApproveAction.md) - App::Action::"approve"
10
+ * [CommentAction](/types/CommentAction.md) - App::Action::"comment"
11
+ * [CreateAction](/types/CreateAction.md) - App::Action::"create"
12
+ * [DeleteAction](/types/DeleteAction.md) - App::Action::"delete"
13
+ * [Document](/types/Document.md) - App::Document
14
+ * [Folder](/types/Folder.md) - App::Folder
15
+ * [Group](/types/Group.md) - App::Group
16
+ * [ListAction](/types/ListAction.md) - App::Action::"list"
17
+ * [Policy](/types/Policy.md) - Cedar::Policy
18
+ * [ReadAction](/types/ReadAction.md) - App::Action::"read"
19
+ * [ServiceAccount](/types/ServiceAccount.md) - App::ServiceAccount
20
+ * [ShareAction](/types/ShareAction.md) - App::Action::"share"
21
+ * [Team](/types/Team.md) - App::Team
22
+ * [User](/types/User.md) - App::User
23
+ * [WriteAction](/types/WriteAction.md) - App::Action::"write"
24
+
25
+ # Rules
26
+
27
+ * [CEDC001](/rules/CEDC001.md) - a Cedar policy declaration must have a usable effect and no empty guard
28
+ * [CEDC010](/rules/CEDC010.md) - The emitted Cedar policy set must parse as Cedar (checkParsePolicySet)
29
+ * [CEDC011](/rules/CEDC011.md) - Every when/unless condition expression in an emitted policy must parse as a Cedar expression
30
+ * [CEDC012](/rules/CEDC012.md) - No two emitted Cedar policies may claim the same policy id
31
+ * [CEDC013](/rules/CEDC013.md) - An emitted policy's @id annotation must match its policy id, and annotation values must be non-empty strings
32
+ * [CEDC014](/rules/CEDC014.md) - An entity reference in a policy scope must be a well-formed Namespace::Type::\
33
+ * [CEDE010](/rules/CEDE010.md) - Every emitted Cedar policy set validates clean against the project schema (cedar-wasm validate)
34
+ * [CEDE011](/rules/CEDE011.md) - Cedar validation warnings (impossible policies, shadowed conditions) on an emitted policy set
35
+ * [CEDS010](/rules/CEDS010.md) - A bare permit(principal, action, resource) with no scope constraints and no conditions grants everything
36
+ * [CEDS011](/rules/CEDS011.md) - A policy set built entirely from permits carries no forbid to bound them
37
+ * [CEDS012](/rules/CEDS012.md) - A permit that leaves the action scope unconstrained grants every action, including future ones
@@ -0,0 +1,11 @@
1
+ ---
2
+ type: lint-rule
3
+ title: CEDC001
4
+ description: a Cedar policy declaration must have a usable effect and no empty guard
5
+ id: CEDC001
6
+ severity: error
7
+ category: correctness
8
+ lexicon: cedar
9
+ docs: https://intentius.io/chant/lexicons/cedar/rules/
10
+ ---
11
+ a Cedar policy declaration must have a usable effect and no empty guard
@@ -0,0 +1,11 @@
1
+ ---
2
+ type: post-synth-check
3
+ title: CEDC010
4
+ description: The emitted Cedar policy set must parse as Cedar (checkParsePolicySet)
5
+ id: CEDC010
6
+ severity: error
7
+ category: post-synth
8
+ lexicon: cedar
9
+ docs: https://intentius.io/chant/lexicons/cedar/rules/
10
+ ---
11
+ The emitted Cedar policy set must parse as Cedar (checkParsePolicySet)
@@ -0,0 +1,15 @@
1
+ ---
2
+ type: post-synth-check
3
+ title: CEDC011
4
+ description: Every when/unless condition expression in an emitted policy must parse as a Cedar expression
5
+ id: CEDC011
6
+ severity: error
7
+ category: post-synth
8
+ lexicon: cedar
9
+ docs: https://intentius.io/chant/lexicons/cedar/rules/
10
+ ---
11
+ Every when/unless condition expression in an emitted policy must parse as a Cedar expression
12
+
13
+ ## Applies to
14
+
15
+ - [Policy](/types/Policy.md)
@@ -0,0 +1,11 @@
1
+ ---
2
+ type: post-synth-check
3
+ title: CEDC012
4
+ description: No two emitted Cedar policies may claim the same policy id
5
+ id: CEDC012
6
+ severity: error
7
+ category: post-synth
8
+ lexicon: cedar
9
+ docs: https://intentius.io/chant/lexicons/cedar/rules/
10
+ ---
11
+ No two emitted Cedar policies may claim the same policy id
@@ -0,0 +1,15 @@
1
+ ---
2
+ type: post-synth-check
3
+ title: CEDC013
4
+ description: An emitted policy's @id annotation must match its policy id, and annotation values must be non-empty strings
5
+ id: CEDC013
6
+ severity: error
7
+ category: post-synth
8
+ lexicon: cedar
9
+ docs: https://intentius.io/chant/lexicons/cedar/rules/
10
+ ---
11
+ An emitted policy's @id annotation must match its policy id, and annotation values must be non-empty strings
12
+
13
+ ## Applies to
14
+
15
+ - [Policy](/types/Policy.md)
@@ -0,0 +1,15 @@
1
+ ---
2
+ type: post-synth-check
3
+ title: CEDC014
4
+ description: An entity reference in a policy scope must be a well-formed Namespace::Type::\
5
+ id: CEDC014
6
+ severity: error
7
+ category: post-synth
8
+ lexicon: cedar
9
+ docs: https://intentius.io/chant/lexicons/cedar/rules/
10
+ ---
11
+ An entity reference in a policy scope must be a well-formed Namespace::Type::\
12
+
13
+ ## Applies to
14
+
15
+ - [Policy](/types/Policy.md)
@@ -0,0 +1,15 @@
1
+ ---
2
+ type: post-synth-check
3
+ title: CEDE010
4
+ description: Every emitted Cedar policy set validates clean against the project schema (cedar-wasm validate)
5
+ id: CEDE010
6
+ severity: error
7
+ category: post-synth
8
+ lexicon: cedar
9
+ docs: https://intentius.io/chant/lexicons/cedar/rules/
10
+ ---
11
+ Every emitted Cedar policy set validates clean against the project schema (cedar-wasm validate)
12
+
13
+ ## Applies to
14
+
15
+ - [Policy](/types/Policy.md)
@@ -0,0 +1,15 @@
1
+ ---
2
+ type: post-synth-check
3
+ title: CEDE011
4
+ description: Cedar validation warnings (impossible policies, shadowed conditions) on an emitted policy set
5
+ id: CEDE011
6
+ severity: error
7
+ category: post-synth
8
+ lexicon: cedar
9
+ docs: https://intentius.io/chant/lexicons/cedar/rules/
10
+ ---
11
+ Cedar validation warnings (impossible policies, shadowed conditions) on an emitted policy set
12
+
13
+ ## Applies to
14
+
15
+ - [Policy](/types/Policy.md)
@@ -0,0 +1,15 @@
1
+ ---
2
+ type: post-synth-check
3
+ title: CEDS010
4
+ description: A bare permit(principal, action, resource) with no scope constraints and no conditions grants everything
5
+ id: CEDS010
6
+ severity: error
7
+ category: post-synth
8
+ lexicon: cedar
9
+ docs: https://intentius.io/chant/lexicons/cedar/rules/
10
+ ---
11
+ A bare permit(principal, action, resource) with no scope constraints and no conditions grants everything
12
+
13
+ ## Applies to
14
+
15
+ - [Policy](/types/Policy.md)
@@ -0,0 +1,11 @@
1
+ ---
2
+ type: post-synth-check
3
+ title: CEDS011
4
+ description: A policy set built entirely from permits carries no forbid to bound them
5
+ id: CEDS011
6
+ severity: error
7
+ category: post-synth
8
+ lexicon: cedar
9
+ docs: https://intentius.io/chant/lexicons/cedar/rules/
10
+ ---
11
+ A policy set built entirely from permits carries no forbid to bound them
@@ -0,0 +1,15 @@
1
+ ---
2
+ type: post-synth-check
3
+ title: CEDS012
4
+ description: A permit that leaves the action scope unconstrained grants every action, including future ones
5
+ id: CEDS012
6
+ severity: error
7
+ category: post-synth
8
+ lexicon: cedar
9
+ docs: https://intentius.io/chant/lexicons/cedar/rules/
10
+ ---
11
+ A permit that leaves the action scope unconstrained grants every action, including future ones
12
+
13
+ ## Applies to
14
+
15
+ - [Policy](/types/Policy.md)
@@ -0,0 +1,14 @@
1
+ ---
2
+ type: resource-type
3
+ title: AdminAction
4
+ description: cedar resource type App::Action::"admin"
5
+ name: AdminAction
6
+ lexicon: cedar
7
+ resource_type: App::Action::"admin"
8
+ ---
9
+ `App::Action::"admin"`, a resource type of the cedar lexicon.
10
+
11
+ ## Properties
12
+
13
+ - `breakGlass` (`Bool`)
14
+ - `mfa` (`Bool`)
@@ -0,0 +1,14 @@
1
+ ---
2
+ type: resource-type
3
+ title: Application
4
+ description: cedar resource type App::Application
5
+ name: Application
6
+ lexicon: cedar
7
+ resource_type: App::Application
8
+ ---
9
+ `App::Application`, a resource type of the cedar lexicon.
10
+
11
+ ## Properties
12
+
13
+ - `name` (`String`)
14
+ - `owner` (`App::Team`)
@@ -0,0 +1,13 @@
1
+ ---
2
+ type: resource-type
3
+ title: ApproveAction
4
+ description: cedar resource type App::Action::"approve"
5
+ name: ApproveAction
6
+ lexicon: cedar
7
+ resource_type: App::Action::"approve"
8
+ ---
9
+ `App::Action::"approve"`, a resource type of the cedar lexicon.
10
+
11
+ ## Properties
12
+
13
+ - `mfa` (`Bool`)
@@ -0,0 +1,14 @@
1
+ ---
2
+ type: resource-type
3
+ title: CommentAction
4
+ description: cedar resource type App::Action::"comment"
5
+ name: CommentAction
6
+ lexicon: cedar
7
+ resource_type: App::Action::"comment"
8
+ ---
9
+ `App::Action::"comment"`, a resource type of the cedar lexicon.
10
+
11
+ ## Properties
12
+
13
+ - `mfa` (`Bool`)
14
+ - `reason` (`String`)
@@ -0,0 +1,14 @@
1
+ ---
2
+ type: resource-type
3
+ title: CreateAction
4
+ description: cedar resource type App::Action::"create"
5
+ name: CreateAction
6
+ lexicon: cedar
7
+ resource_type: App::Action::"create"
8
+ ---
9
+ `App::Action::"create"`, a resource type of the cedar lexicon.
10
+
11
+ ## Properties
12
+
13
+ - `mfa` (`Bool`)
14
+ - `reason` (`String`)
@@ -0,0 +1,14 @@
1
+ ---
2
+ type: resource-type
3
+ title: DeleteAction
4
+ description: cedar resource type App::Action::"delete"
5
+ name: DeleteAction
6
+ lexicon: cedar
7
+ resource_type: App::Action::"delete"
8
+ ---
9
+ `App::Action::"delete"`, a resource type of the cedar lexicon.
10
+
11
+ ## Properties
12
+
13
+ - `approvedBy` (`App::User`)
14
+ - `mfa` (`Bool`)
@@ -0,0 +1,18 @@
1
+ ---
2
+ type: resource-type
3
+ title: Document
4
+ description: cedar resource type App::Document
5
+ name: Document
6
+ lexicon: cedar
7
+ resource_type: App::Document
8
+ ---
9
+ `App::Document`, a resource type of the cedar lexicon.
10
+
11
+ ## Properties
12
+
13
+ - `classification` (`String`)
14
+ - `folder` (`App::Folder`)
15
+ - `owner` (`App::User`)
16
+ - `public` (`Bool`)
17
+ - `tags` (`Set<String>`)
18
+ - `title` (`String`)
@@ -0,0 +1,15 @@
1
+ ---
2
+ type: resource-type
3
+ title: Folder
4
+ description: cedar resource type App::Folder
5
+ name: Folder
6
+ lexicon: cedar
7
+ resource_type: App::Folder
8
+ ---
9
+ `App::Folder`, a resource type of the cedar lexicon.
10
+
11
+ ## Properties
12
+
13
+ - `name` (`String`)
14
+ - `owner` (`App::User`)
15
+ - `tags` (`Set<String>`)
@@ -0,0 +1,14 @@
1
+ ---
2
+ type: resource-type
3
+ title: Group
4
+ description: cedar resource type App::Group
5
+ name: Group
6
+ lexicon: cedar
7
+ resource_type: App::Group
8
+ ---
9
+ `App::Group`, a resource type of the cedar lexicon.
10
+
11
+ ## Properties
12
+
13
+ - `description` (`String`)
14
+ - `name` (`String`)
@@ -0,0 +1,14 @@
1
+ ---
2
+ type: resource-type
3
+ title: ListAction
4
+ description: cedar resource type App::Action::"list"
5
+ name: ListAction
6
+ lexicon: cedar
7
+ resource_type: App::Action::"list"
8
+ ---
9
+ `App::Action::"list"`, a resource type of the cedar lexicon.
10
+
11
+ ## Properties
12
+
13
+ - `mfa` (`Bool`)
14
+ - `sourceIp` (`String`)
@@ -0,0 +1,29 @@
1
+ ---
2
+ type: resource-type
3
+ title: Policy
4
+ description: A Cedar policy — the unit this lexicon serializes to .cedar text and the JSON policy format.
5
+ name: Policy
6
+ lexicon: cedar
7
+ resource_type: Cedar::Policy
8
+ ---
9
+ A Cedar policy — the unit this lexicon serializes to .cedar text and the JSON policy format.
10
+
11
+ ## Properties
12
+
13
+ - `effect` (`permit | forbid`)
14
+ - `principal` (`scope`)
15
+ - `action` (`scope`)
16
+ - `resource` (`scope`)
17
+ - `when` (`Set<expression>`)
18
+ - `unless` (`Set<expression>`)
19
+ - `annotations` (`Record<String, String>`)
20
+
21
+ ## Governed by
22
+
23
+ - [CEDC011](/rules/CEDC011.md): Every when/unless condition expression in an emitted policy must parse as a Cedar expression
24
+ - [CEDC013](/rules/CEDC013.md): An emitted policy's @id annotation must match its policy id, and annotation values must be non-empty strings
25
+ - [CEDC014](/rules/CEDC014.md): An entity reference in a policy scope must be a well-formed Namespace::Type::\
26
+ - [CEDE010](/rules/CEDE010.md): Every emitted Cedar policy set validates clean against the project schema (cedar-wasm validate)
27
+ - [CEDE011](/rules/CEDE011.md): Cedar validation warnings (impossible policies, shadowed conditions) on an emitted policy set
28
+ - [CEDS010](/rules/CEDS010.md): A bare permit(principal, action, resource) with no scope constraints and no conditions grants everything
29
+ - [CEDS012](/rules/CEDS012.md): A permit that leaves the action scope unconstrained grants every action, including future ones
@@ -0,0 +1,14 @@
1
+ ---
2
+ type: resource-type
3
+ title: ReadAction
4
+ description: cedar resource type App::Action::"read"
5
+ name: ReadAction
6
+ lexicon: cedar
7
+ resource_type: App::Action::"read"
8
+ ---
9
+ `App::Action::"read"`, a resource type of the cedar lexicon.
10
+
11
+ ## Properties
12
+
13
+ - `mfa` (`Bool`)
14
+ - `sourceIp` (`String`)
@@ -0,0 +1,15 @@
1
+ ---
2
+ type: resource-type
3
+ title: ServiceAccount
4
+ description: cedar resource type App::ServiceAccount
5
+ name: ServiceAccount
6
+ lexicon: cedar
7
+ resource_type: App::ServiceAccount
8
+ ---
9
+ `App::ServiceAccount`, a resource type of the cedar lexicon.
10
+
11
+ ## Properties
12
+
13
+ - `name` (`String`)
14
+ - `owner` (`App::User`)
15
+ - `rotatedAt` (`String`)
@@ -0,0 +1,14 @@
1
+ ---
2
+ type: resource-type
3
+ title: ShareAction
4
+ description: cedar resource type App::Action::"share"
5
+ name: ShareAction
6
+ lexicon: cedar
7
+ resource_type: App::Action::"share"
8
+ ---
9
+ `App::Action::"share"`, a resource type of the cedar lexicon.
10
+
11
+ ## Properties
12
+
13
+ - `approvedBy` (`App::User`)
14
+ - `mfa` (`Bool`)
@@ -0,0 +1,14 @@
1
+ ---
2
+ type: resource-type
3
+ title: Team
4
+ description: cedar resource type App::Team
5
+ name: Team
6
+ lexicon: cedar
7
+ resource_type: App::Team
8
+ ---
9
+ `App::Team`, a resource type of the cedar lexicon.
10
+
11
+ ## Properties
12
+
13
+ - `costCenter` (`String`)
14
+ - `name` (`String`)
@@ -0,0 +1,18 @@
1
+ ---
2
+ type: resource-type
3
+ title: User
4
+ description: cedar resource type App::User
5
+ name: User
6
+ lexicon: cedar
7
+ resource_type: App::User
8
+ ---
9
+ `App::User`, a resource type of the cedar lexicon.
10
+
11
+ ## Properties
12
+
13
+ - `department` (`String`)
14
+ - `email` (`String`)
15
+ - `level` (`Long`)
16
+ - `manager` (`App::User`)
17
+ - `mfaEnabled` (`Bool`)
18
+ - `roles` (`Set<String>`)
@@ -0,0 +1,14 @@
1
+ ---
2
+ type: resource-type
3
+ title: WriteAction
4
+ description: cedar resource type App::Action::"write"
5
+ name: WriteAction
6
+ lexicon: cedar
7
+ resource_type: App::Action::"write"
8
+ ---
9
+ `App::Action::"write"`, a resource type of the cedar lexicon.
10
+
11
+ ## Properties
12
+
13
+ - `mfa` (`Bool`)
14
+ - `reason` (`String`)
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env tsx
2
+ export {};
3
+ //# sourceMappingURL=package-cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-cli.d.ts","sourceRoot":"","sources":["../src/package-cli.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import type { LexiconPlugin } from "@intentius/chant/lexicon";
2
+ /**
3
+ * cedar lexicon plugin.
4
+ *
5
+ * Implements all required LexiconPlugin lifecycle methods.
6
+ */
7
+ export declare const cedarPlugin: LexiconPlugin;
8
+ //# sourceMappingURL=plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAkD,MAAM,0BAA0B,CAAC;AAuB9G;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,aA2RzB,CAAC"}