Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@contractkit/core

Package Overview
Dependencies
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@contractkit/core - npm Package Compare versions

Comparing version
0.16.0
to
0.17.0
+7
-7
.turbo/turbo-build$colon$ci.log
> @contractkit/core@0.16.0 build:ci /home/runner/work/ContractKit/ContractKit/packages/contractkit
> @contractkit/core@0.17.0 build:ci /home/runner/work/ContractKit/ContractKit/packages/contractkit
> eslint --max-warnings=0 && pnpm run build
> @contractkit/core@0.16.0 build /home/runner/work/ContractKit/ContractKit/packages/contractkit
> @contractkit/core@0.17.0 build /home/runner/work/ContractKit/ContractKit/packages/contractkit
> tsup src/index.ts --format esm --sourcemap --dts && tsc --emitDeclarationOnly --declaration && cp src/contractkit.ohm dist/

@@ -14,7 +14,7 @@

ESM Build start
ESM dist/index.js 88.95 KB
ESM dist/index.js.map 211.52 KB
ESM ⚡️ Build success in 80ms
ESM dist/index.js 88.81 KB
ESM dist/index.js.map 211.10 KB
ESM ⚡️ Build success in 75ms
DTS Build start
DTS ⚡️ Build success in 1235ms
DTS dist/index.d.ts 32.62 KB
DTS ⚡️ Build success in 1271ms
DTS dist/index.d.ts 32.56 KB
> @contractkit/core@0.16.0 test:ci /home/runner/work/ContractKit/ContractKit/packages/contractkit
> @contractkit/core@0.17.0 test:ci /home/runner/work/ContractKit/ContractKit/packages/contractkit
> vitest run --coverage

@@ -9,14 +9,14 @@

✓ tests/incremental.test.ts (18 tests) 22ms
✓ tests/apply-options-defaults.test.ts (12 tests) 104ms
✓ tests/validate-inheritance.test.ts (16 tests) 59ms
✓ tests/incremental.test.ts (18 tests) 21ms
✓ tests/apply-options-defaults.test.ts (12 tests) 85ms
✓ tests/validate-inheritance.test.ts (16 tests) 61ms
✓ tests/parser-ck.test.ts (170 tests) 523ms
✓ tests/diagnostics.test.ts (10 tests) 15ms
✓ tests/parser-ck.test.ts (170 tests) 595ms
✓ tests/apply-variable-substitution.test.ts (10 tests) 38ms
✓ tests/validate-discriminated.test.ts (5 tests) 28ms
✓ tests/apply-variable-substitution.test.ts (10 tests) 40ms
✓ tests/validate-discriminated.test.ts (5 tests) 24ms
 Test Files  7 passed (7)
 Tests  241 passed (241)
 Start at  11:38:13
 Duration  2.08s (transform 564ms, setup 0ms, import 2.78s, tests 859ms, environment 1ms)
 Start at  13:02:49
 Duration  1.92s (transform 450ms, setup 0ms, import 2.55s, tests 769ms, environment 2ms)

@@ -27,3 +27,3 @@  % Coverage report from v8

-------------------|---------|----------|---------|---------|-------------------
All files | 84.68 | 73.3 | 88.88 | 87.07 |
All files | 84.71 | 73.3 | 89.34 | 87.13 |
...ns-defaults.ts | 98 | 95.34 | 100 | 100 | 67,93

@@ -37,3 +37,3 @@ ...ubstitution.ts | 97.56 | 94.87 | 100 | 100 | 26,55

parser.ts | 100 | 66.66 | 100 | 100 | 25-26
semantics.ts | 92.55 | 79.37 | 92.52 | 95.5 | ...1200,1220-1224
semantics.ts | 92.66 | 79.37 | 93.39 | 95.65 | ...1193,1213-1217
type-builders.ts | 87.38 | 68.21 | 100 | 87.91 | ...40,144-147,197

@@ -40,0 +40,0 @@ ...inheritance.ts | 68.45 | 58.51 | 71.42 | 70.68 | ...,88-90,180-227

# @contractkit/core
## 0.17.0
### Minor Changes
- 79af33b: **Breaking:** Replace the `roles` field in `security: { ... }` blocks with `requireMfa: boolean`.
The `security` declaration on operations, routes, and the file-level `options { security: { ... } }` block no longer accepts a `roles:` line. The new field is `requireMfa: true | false`. Existing `.ck` files that use `roles:` will fail to parse.
```ck
# Before
security: {
roles: admin editor
}
# After
security: {
requireMfa: true
}
```
**`@contractkit/core`** — `SecurityFields` interface drops `roles` / `rolesDescription` and adds `requireMfa` / `requireMfaDescription`. The grammar's `SecurityRolesLine` is replaced by `SecurityRequireMfaLine` (`requireMfaKw ":" booleanLit`). `security: none` continues to work.
**`@contractkit/plugin-typescript`** — Generated Koa routers now emit `requireSecurity({ requireMfa: <bool> })` when `requireMfa` is set, and bare `requireSecurity()` for unannotated routes (previously `requireSecurity({ roles: [...] })` / `requireSecurity({ })`). The generated code matches the updated serverkit `SecurityOptions = { requireMfa: boolean }` signature; consumers must upgrade serverkit alongside.
**`@contractkit/prettier-plugin`** — Formats `requireMfa: true|false` lines inside security blocks. Files containing `roles:` will no longer round-trip and will surface as parse errors.
**`@contractkit/plugin-markdown`** — The "Security: authenticated" admonition now shows `requireMfa: <bool>` instead of `roles: <list>`.
**`@contractkit/openapi-to-ck`** — `convertSecurity` no longer extracts OpenAPI scopes into a `roles` list (those don't map onto MFA semantics). Any non-empty OpenAPI `security` requirement now collapses to `security: {}` (authenticated, no MFA flag).
## 0.16.0

@@ -4,0 +34,0 @@

@@ -358,3 +358,3 @@

<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
at 2026-05-07T11:38:15.239Z
at 2026-05-08T13:02:51.644Z
</div>

@@ -361,0 +361,0 @@ <script src="prettify.js"></script>

@@ -316,3 +316,3 @@

<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
at 2026-05-07T11:38:15.239Z
at 2026-05-08T13:02:51.644Z
</div>

@@ -319,0 +319,0 @@ <script src="prettify.js"></script>

@@ -937,8 +937,8 @@

&nbsp;
/** Constrained security declaration — roles-only auth fields. */
/** Constrained security declaration. */
export interface SecurityFields {
/** Allowlisted role names required for this endpoint (e.g. `["admin", "moderator"]`). */
roles?: string[];
/** Inline comment attached to the `roles:` line. */
rolesDescription?: string;
/** Whether this endpoint requires MFA. */
requireMfa?: boolean;
/** Inline comment attached to the `requireMfa:` line. */
requireMfaDescription?: string;
loc: SourceLocation;

@@ -1115,3 +1115,3 @@ }

<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
at 2026-05-07T11:38:15.239Z
at 2026-05-08T13:02:51.644Z
</div>

@@ -1118,0 +1118,0 @@ <script src="prettify.js"></script>

<?xml version="1.0" encoding="UTF-8"?>
<coverage generated="1778153895258" clover="3.2.0">
<project timestamp="1778153895258" name="All files">
<metrics statements="1060" coveredstatements="923" conditionals="723" coveredconditionals="530" methods="198" coveredmethods="176" elements="1981" coveredelements="1629" complexity="0" loc="1060" ncloc="1060" packages="1" files="12" classes="12"/>
<coverage generated="1778245371659" clover="3.2.0">
<project timestamp="1778245371659" name="All files">
<metrics statements="1057" coveredstatements="921" conditionals="723" coveredconditionals="530" methods="197" coveredmethods="176" elements="1977" coveredelements="1627" complexity="0" loc="1057" ncloc="1057" packages="1" files="12" classes="12"/>
<file name="apply-options-defaults.ts" path="/home/runner/work/ContractKit/ContractKit/packages/contractkit/src/apply-options-defaults.ts">

@@ -196,3 +196,3 @@ <metrics statements="38" coveredstatements="38" conditionals="43" coveredconditionals="41" methods="9" coveredmethods="9"/>

<file name="semantics.ts" path="/home/runner/work/ContractKit/ContractKit/packages/contractkit/src/semantics.ts">
<metrics statements="579" coveredstatements="553" conditionals="286" coveredconditionals="227" methods="107" coveredmethods="99"/>
<metrics statements="576" coveredstatements="551" conditionals="286" coveredconditionals="227" methods="106" coveredmethods="99"/>
<line num="36" count="49" type="stmt"/>

@@ -202,3 +202,3 @@ <line num="43" count="662" type="stmt"/>

<line num="45" count="662" type="stmt"/>
<line num="46" count="218871" type="cond" truecount="2" falsecount="0"/>
<line num="46" count="218891" type="cond" truecount="2" falsecount="0"/>
<line num="48" count="662" type="stmt"/>

@@ -716,64 +716,61 @@ <line num="61" count="11" type="stmt"/>

<line num="1095" count="10" type="stmt"/>
<line num="1096" count="10" type="stmt"/>
<line num="1097" count="13" type="stmt"/>
<line num="1100" count="10" type="cond" truecount="2" falsecount="0"/>
<line num="1101" count="1" type="stmt"/>
<line num="1103" count="10" type="stmt"/>
<line num="1107" count="0" type="stmt"/>
<line num="1111" count="1" type="stmt"/>
<line num="1112" count="1" type="cond" truecount="2" falsecount="2"/>
<line num="1113" count="1" type="stmt"/>
<line num="1119" count="13" type="stmt"/>
<line num="1120" count="13" type="stmt"/>
<line num="1097" count="10" type="cond" truecount="2" falsecount="0"/>
<line num="1098" count="1" type="stmt"/>
<line num="1100" count="10" type="stmt"/>
<line num="1104" count="1" type="stmt"/>
<line num="1105" count="1" type="cond" truecount="2" falsecount="2"/>
<line num="1106" count="1" type="stmt"/>
<line num="1112" count="13" type="stmt"/>
<line num="1113" count="13" type="stmt"/>
<line num="1114" count="13" type="stmt"/>
<line num="1115" count="13" type="stmt"/>
<line num="1116" count="17" type="stmt"/>
<line num="1117" count="17" type="cond" truecount="1" falsecount="1"/>
<line num="1118" count="17" type="stmt"/>
<line num="1119" count="17" type="stmt"/>
<line num="1121" count="13" type="stmt"/>
<line num="1122" count="13" type="stmt"/>
<line num="1123" count="17" type="stmt"/>
<line num="1124" count="17" type="cond" truecount="1" falsecount="1"/>
<line num="1125" count="17" type="stmt"/>
<line num="1126" count="17" type="stmt"/>
<line num="1128" count="13" type="stmt"/>
<line num="1132" count="17" type="stmt"/>
<line num="1133" count="17" type="stmt"/>
<line num="1134" count="17" type="stmt"/>
<line num="1138" count="15" type="stmt"/>
<line num="1142" count="2" type="stmt"/>
<line num="1146" count="1" type="stmt"/>
<line num="1150" count="1" type="stmt"/>
<line num="1154" count="6" type="stmt"/>
<line num="1155" count="6" type="stmt"/>
<line num="1127" count="17" type="stmt"/>
<line num="1131" count="15" type="stmt"/>
<line num="1135" count="2" type="stmt"/>
<line num="1139" count="1" type="stmt"/>
<line num="1143" count="1" type="stmt"/>
<line num="1147" count="6" type="stmt"/>
<line num="1148" count="6" type="stmt"/>
<line num="1149" count="6" type="stmt"/>
<line num="1150" count="6" type="stmt"/>
<line num="1151" count="7" type="stmt"/>
<line num="1152" count="7" type="cond" truecount="1" falsecount="1"/>
<line num="1153" count="7" type="stmt"/>
<line num="1154" count="7" type="stmt"/>
<line num="1156" count="6" type="stmt"/>
<line num="1157" count="6" type="stmt"/>
<line num="1158" count="7" type="stmt"/>
<line num="1159" count="7" type="cond" truecount="1" falsecount="1"/>
<line num="1160" count="7" type="stmt"/>
<line num="1161" count="7" type="stmt"/>
<line num="1163" count="6" type="stmt"/>
<line num="1167" count="1" type="stmt"/>
<line num="1160" count="1" type="stmt"/>
<line num="1161" count="1" type="stmt"/>
<line num="1162" count="1" type="stmt"/>
<line num="1163" count="1" type="stmt"/>
<line num="1164" count="2" type="stmt"/>
<line num="1165" count="2" type="cond" truecount="1" falsecount="1"/>
<line num="1166" count="2" type="stmt"/>
<line num="1168" count="1" type="stmt"/>
<line num="1169" count="1" type="stmt"/>
<line num="1170" count="1" type="stmt"/>
<line num="1171" count="2" type="stmt"/>
<line num="1172" count="2" type="cond" truecount="1" falsecount="1"/>
<line num="1173" count="2" type="stmt"/>
<line num="1175" count="1" type="stmt"/>
<line num="1179" count="7" type="stmt"/>
<line num="1180" count="7" type="stmt"/>
<line num="1181" count="7" type="stmt"/>
<line num="1182" count="7" type="cond" truecount="3" falsecount="1"/>
<line num="1183" count="7" type="stmt"/>
<line num="1184" count="7" type="stmt"/>
<line num="1190" count="50" type="stmt"/>
<line num="1191" count="50" type="stmt"/>
<line num="1192" count="50" type="stmt"/>
<line num="1193" count="50" type="stmt"/>
<line num="1194" count="32" type="stmt"/>
<line num="1196" count="50" type="stmt"/>
<line num="1200" count="0" type="stmt"/>
<line num="1204" count="18" type="stmt"/>
<line num="1208" count="7" type="stmt"/>
<line num="1212" count="4" type="stmt"/>
<line num="1216" count="3" type="stmt"/>
<line num="1220" count="0" type="stmt"/>
<line num="1224" count="0" type="stmt"/>
<line num="1228" count="5" type="stmt"/>
<line num="1172" count="7" type="stmt"/>
<line num="1173" count="7" type="stmt"/>
<line num="1174" count="7" type="stmt"/>
<line num="1175" count="7" type="cond" truecount="3" falsecount="1"/>
<line num="1176" count="7" type="stmt"/>
<line num="1177" count="7" type="stmt"/>
<line num="1183" count="50" type="stmt"/>
<line num="1184" count="50" type="stmt"/>
<line num="1185" count="50" type="stmt"/>
<line num="1186" count="50" type="stmt"/>
<line num="1187" count="32" type="stmt"/>
<line num="1189" count="50" type="stmt"/>
<line num="1193" count="0" type="stmt"/>
<line num="1197" count="18" type="stmt"/>
<line num="1201" count="7" type="stmt"/>
<line num="1205" count="4" type="stmt"/>
<line num="1209" count="3" type="stmt"/>
<line num="1213" count="0" type="stmt"/>
<line num="1217" count="0" type="stmt"/>
<line num="1221" count="5" type="stmt"/>
</file>

@@ -780,0 +777,0 @@ <file name="type-builders.ts" path="/home/runner/work/ContractKit/ContractKit/packages/contractkit/src/type-builders.ts">

@@ -145,3 +145,3 @@

<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
at 2026-05-07T11:38:15.239Z
at 2026-05-08T13:02:51.644Z
</div>

@@ -148,0 +148,0 @@ <script src="prettify.js"></script>

@@ -187,3 +187,3 @@

<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
at 2026-05-07T11:38:15.239Z
at 2026-05-08T13:02:51.644Z
</div>

@@ -190,0 +190,0 @@ <script src="prettify.js"></script>

@@ -154,3 +154,3 @@

<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
at 2026-05-07T11:38:15.239Z
at 2026-05-08T13:02:51.644Z
</div>

@@ -157,0 +157,0 @@ <script src="prettify.js"></script>

@@ -670,3 +670,3 @@

<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
at 2026-05-07T11:38:15.239Z
at 2026-05-08T13:02:51.644Z
</div>

@@ -673,0 +673,0 @@ <script src="prettify.js"></script>

@@ -26,5 +26,5 @@

<div class='fl pad1y space-right2'>
<span class="strong">84.68% </span>
<span class="strong">84.71% </span>
<span class="quiet">Statements</span>
<span class='fraction'>1056/1247</span>
<span class='fraction'>1053/1243</span>
</div>

@@ -41,5 +41,5 @@

<div class='fl pad1y space-right2'>
<span class="strong">88.88% </span>
<span class="strong">89.34% </span>
<span class="quiet">Functions</span>
<span class='fraction'>176/198</span>
<span class='fraction'>176/197</span>
</div>

@@ -49,5 +49,5 @@

<div class='fl pad1y space-right2'>
<span class="strong">87.07% </span>
<span class="strong">87.13% </span>
<span class="quiet">Lines</span>
<span class='fraction'>923/1060</span>
<span class='fraction'>921/1057</span>
</div>

@@ -206,13 +206,13 @@

<td class="file high" data-value="semantics.ts"><a href="semantics.ts.html">semantics.ts</a></td>
<td data-value="92.55" class="pic high">
<td data-value="92.66" class="pic high">
<div class="chart"><div class="cover-fill" style="width: 92%"></div><div class="cover-empty" style="width: 8%"></div></div>
</td>
<td data-value="92.55" class="pct high">92.55%</td>
<td data-value="658" class="abs high">609/658</td>
<td data-value="92.66" class="pct high">92.66%</td>
<td data-value="654" class="abs high">606/654</td>
<td data-value="79.37" class="pct medium">79.37%</td>
<td data-value="286" class="abs medium">227/286</td>
<td data-value="92.52" class="pct high">92.52%</td>
<td data-value="107" class="abs high">99/107</td>
<td data-value="95.5" class="pct high">95.5%</td>
<td data-value="579" class="abs high">553/579</td>
<td data-value="93.39" class="pct high">93.39%</td>
<td data-value="106" class="abs high">99/106</td>
<td data-value="95.65" class="pct high">95.65%</td>
<td data-value="576" class="abs high">551/576</td>
</tr>

@@ -273,3 +273,3 @@

<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
at 2026-05-07T11:38:15.239Z
at 2026-05-08T13:02:51.644Z
</div>

@@ -276,0 +276,0 @@ <script src="prettify.js"></script>

@@ -169,3 +169,3 @@

<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
at 2026-05-07T11:38:15.239Z
at 2026-05-08T13:02:51.644Z
</div>

@@ -172,0 +172,0 @@ <script src="prettify.js"></script>

@@ -667,3 +667,3 @@

<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
at 2026-05-07T11:38:15.239Z
at 2026-05-08T13:02:51.644Z
</div>

@@ -670,0 +670,0 @@ <script src="prettify.js"></script>

@@ -763,3 +763,3 @@

<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
at 2026-05-07T11:38:15.239Z
at 2026-05-08T13:02:51.644Z
</div>

@@ -766,0 +766,0 @@ <script src="prettify.js"></script>

@@ -718,3 +718,3 @@

<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
at 2026-05-07T11:38:15.239Z
at 2026-05-08T13:02:51.644Z
</div>

@@ -721,0 +721,0 @@ <script src="prettify.js"></script>

@@ -108,8 +108,8 @@ export interface SourceLocation {

}
/** Constrained security declaration — roles-only auth fields. */
/** Constrained security declaration. */
export interface SecurityFields {
/** Allowlisted role names required for this endpoint (e.g. `["admin", "moderator"]`). */
roles?: string[];
/** Inline comment attached to the `roles:` line. */
rolesDescription?: string;
/** Whether this endpoint requires MFA. */
requireMfa?: boolean;
/** Inline comment attached to the `requireMfa:` line. */
requireMfaDescription?: string;
loc: SourceLocation;

@@ -116,0 +116,0 @@ }

@@ -1,1 +0,1 @@

{"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../src/ast.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,YAAY,EAAE,WAAW,CAAC,MAAM,CAmB3C,CAAC;AAIH,MAAM,MAAM,gBAAgB,GACtB,cAAc,GACd,aAAa,GACb,aAAa,GACb,cAAc,GACd,YAAY,GACZ,eAAe,GACf,aAAa,GACb,0BAA0B,GAC1B,oBAAoB,GACpB,gBAAgB,GAChB,oBAAoB,GACpB,YAAY,CAAC;AAEnB,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EACE,QAAQ,GACR,QAAQ,GACR,KAAK,GACL,QAAQ,GACR,SAAS,GACT,MAAM,GACN,MAAM,GACN,UAAU,GACV,UAAU,GACV,UAAU,GACV,OAAO,GACP,KAAK,GACL,MAAM,GACN,SAAS,GACT,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAC/B,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,gBAAgB,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,gBAAgB,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,gBAAgB,CAAC;IACtB,KAAK,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CACpC;AAED,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,0BAA0B;IACvC,IAAI,EAAE,oBAAoB,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,KAAK,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,cAAc,CAAC;IACrB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,UAAU,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,UAAU,GAAG,WAAW,GAAG,QAAQ,CAAC;IAChD,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACpC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;qFACiF;IACjF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,cAAc,CAAC;CACvB;AAED,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb;+GAC2G;IAC3G,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;IACzC,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC1C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,cAAc,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,cAAc,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC1D;AAID,iEAAiE;AACjE,MAAM,WAAW,cAAc;IAC3B,yFAAyF;IACzF,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,oDAAoD;IACpD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,GAAG,EAAE,cAAc,CAAC;CACvB;AAED,yEAAyE;AACzE,eAAO,MAAM,aAAa,EAAG,MAAe,CAAC;AAC7C,MAAM,MAAM,YAAY,GAAG,OAAO,aAAa,CAAC;AAEhD,kFAAkF;AAClF,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,cAAc,CAAC;AAEzD,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;AAErE,iEAAiE;AACjE,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;AAEtD;4EAC4E;AAC5E,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,YAAY,GAAG,QAAQ,CAAC;AAEjE,sHAAsH;AACtH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,WAAW,EAAE,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAA;CAAE,CAAC;AAE5G,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,cAAc,CAAC;CACvB;AAED,6FAA6F;AAC7F,MAAM,MAAM,WAAW,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,WAAW,EAAE,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC;AAE9I;;;;GAIG;AACH,MAAM,MAAM,uBAAuB,GAAG,kBAAkB,GAAG,qBAAqB,GAAG,mCAAmC,CAAC;AAEvH,MAAM,WAAW,iBAAiB;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,gBAAgB,CAAC;CAC9B;AAED,MAAM,WAAW,aAAa;IAC1B,MAAM,EAAE,iBAAiB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,oBAAoB;IACjC,8GAA8G;IAC9G,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,gBAAgB,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,iFAAiF;IACjF,OAAO,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACjC,6HAA6H;IAC7H,aAAa,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC5B,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB,mHAAmH;IACnH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,kFAAkF;IAClF,SAAS,CAAC,EAAE,aAAa,EAAE,CAAC;IAC5B,sGAAsG;IACtG,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACtC,oNAAoN;IACpN,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,cAAc,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,2EAA2E;IAC3E,SAAS,CAAC,EAAE,aAAa,EAAE,CAAC;IAC5B,wGAAwG;IACxG,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,cAAc,CAAC;CACvB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,eAAe,GAAG,aAAa,EAAE,CAGzF;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,YAAY,GAAG,SAAS,CAIpH;AAED,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,yFAAyF;IACzF,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,kIAAkI;IAClI,cAAc,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACxC,uIAAuI;IACvI,eAAe,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACzC,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,cAAc,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC1D;AAID,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,yFAAyF;IACzF,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,kIAAkI;IAClI,cAAc,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACxC,uIAAuI;IACvI,eAAe,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACzC,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;CAChB"}
{"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../src/ast.ts"],"names":[],"mappings":"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"}

@@ -1,1 +0,1 @@

{"version":3,"file":"semantics.d.ts","sourceRoot":"","sources":["../src/semantics.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,OAAO,EAAiB,MAAM,QAAQ,CAAC;AAqErD,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,8BAooC/C"}
{"version":3,"file":"semantics.d.ts","sourceRoot":"","sources":["../src/semantics.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,OAAO,EAAiB,MAAM,QAAQ,CAAC;AAqErD,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,8BA6nC/C"}
{
"name": "@contractkit/core",
"version": "0.16.0",
"version": "0.17.0",
"description": "Core DSL compiler library: grammar-driven parser, codegen, and validation",

@@ -5,0 +5,0 @@ "author": {

@@ -178,8 +178,8 @@ // ─── Shared ────────────────────────────────────────────────────────────────

/** Constrained security declaration — roles-only auth fields. */
/** Constrained security declaration. */
export interface SecurityFields {
/** Allowlisted role names required for this endpoint (e.g. `["admin", "moderator"]`). */
roles?: string[];
/** Inline comment attached to the `roles:` line. */
rolesDescription?: string;
/** Whether this endpoint requires MFA. */
requireMfa?: boolean;
/** Inline comment attached to the `requireMfa:` line. */
requireMfaDescription?: string;
loc: SourceLocation;

@@ -186,0 +186,0 @@ }

@@ -1081,5 +1081,5 @@ /**

const result = child.toAst(file, this.args.diag);
if (result._type === 'roles') {
fields.roles = result.roles;
if (result.description) fields.rolesDescription = result.description;
if (result._type === 'requireMfa') {
fields.requireMfa = result.value;
if (result.description) fields.requireMfaDescription = result.description;
}

@@ -1095,7 +1095,4 @@ }

SecurityRolesLine(_rolesKw, _colon, roleNodes, commentOpt) {
const roles: string[] = [];
for (let i = 0; i < roleNodes.numChildren; i++) {
roles.push(roleNodes.child(i).sourceString.trim());
}
SecurityRequireMfaLine(_kw, _colon, valueNode, commentOpt) {
const value = valueNode.sourceString === 'true';
let description: string | undefined;

@@ -1105,9 +1102,5 @@ if ((commentOpt as IterationNode).numChildren > 0) {

}
return { _type: 'roles', roles, description };
return { _type: 'requireMfa', value, description };
},
RoleName(identNode) {
return identNode.sourceString;
},
SecuritySignatureLine(_signatureKw, _colon, valueNode, _commentOpt) {

@@ -1114,0 +1107,0 @@ const raw = valueNode.sourceString;

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display