@ldclabs/kip-lang 2.0.1 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/semantics.js CHANGED
@@ -36,6 +36,7 @@ const ASSERTION_STATES = new Set([
36
36
  'expired'
37
37
  ]);
38
38
  const ACTIVITY_TERMINAL = new Set(['completed', 'failed', 'cancelled']);
39
+ const EVIDENCE_ROLES = new Set(['support', 'challenge', 'context']);
39
40
  /** Signals the Profile fixes to `[0,1]`; none of them is truth. */
40
41
  const UNIT_INTERVAL_FIELDS = new Set([
41
42
  'confidence',
@@ -72,12 +73,12 @@ function analyzeMutationClause(stmt, diags) {
72
73
  checkAssert(stmt, diags);
73
74
  break;
74
75
  case 'CreateConceptStatement':
75
- for (const facet of stmt.setFacets)
76
- checkFacet(facet, diags);
77
- break;
78
76
  case 'UpsertConceptStatement':
77
+ case 'CreateEvidenceStatement':
78
+ case 'CreateActivityStatement':
79
79
  for (const facet of stmt.setFacets)
80
80
  checkFacet(facet, diags);
81
+ checkStructural(stmt.setStructural, diags);
81
82
  break;
82
83
  case 'CreateAssertionStatement':
83
84
  if (stmt.setFields) {
@@ -85,29 +86,60 @@ function analyzeMutationClause(stmt, diags) {
85
86
  }
86
87
  for (const facet of stmt.setFacets)
87
88
  checkFacet(facet, diags);
88
- break;
89
- case 'CreateEvidenceStatement':
90
- case 'CreateActivityStatement':
91
- for (const facet of stmt.setFacets)
92
- checkFacet(facet, diags);
89
+ checkStructural(stmt.setStructural, diags);
93
90
  break;
94
91
  case 'UpdateStatement':
95
92
  for (const action of stmt.actions) {
96
93
  if (action.kind === 'SetFacetClause')
97
94
  checkFacet(action, diags);
95
+ // Core fields are Core-typed wherever they are written, so an UPDATE
96
+ // that sets one gets the same check `CREATE ASSERTION` already gets.
97
+ else if (action.kind === 'SetFieldsClause') {
98
+ checkAssignmentValues(action.assignments, diags);
99
+ }
100
+ else if (action.kind === 'SetStructuralClause') {
101
+ checkStructural(action, diags);
102
+ }
98
103
  }
99
104
  if (stmt.where)
100
105
  checkWhere(stmt.where, !!stmt.limit, diags);
101
106
  break;
107
+ // `EXPECT STATE` is checkable only where the target's kind is fixed by the
108
+ // statement itself. RETRACT and SUPERSEDE always name an Assertion, so the
109
+ // Assertion lifecycle registry applies. ARCHIVE and TOMBSTONE take any
110
+ // element — a Concept is not `retracted` and may well be `archived` — and
111
+ // Core registers no element-lifecycle vocabulary, so checking them here
112
+ // rejected commands the Specification admits.
102
113
  case 'RetractAssertionStatement':
103
- case 'ArchiveStatement':
104
- case 'TombstoneStatement':
105
114
  if (stmt.expectState) {
106
115
  checkEnum(stmt.expectState.value, ASSERTION_STATES, 'EXPECT STATE', diags);
107
116
  }
117
+ if (stmt.where)
118
+ checkWhere(stmt.where, !!stmt.limit, diags);
119
+ break;
120
+ case 'SupersedeAssertionStatement':
121
+ if (stmt.expectState) {
122
+ checkEnum(stmt.expectState.value, ASSERTION_STATES, 'EXPECT STATE', diags);
123
+ }
124
+ break;
125
+ case 'ArchiveStatement':
126
+ case 'TombstoneStatement':
127
+ if (stmt.where)
128
+ checkWhere(stmt.where, !!stmt.limit, diags);
108
129
  break;
109
130
  case 'TransitionActivityStatement':
110
131
  checkEnum(stmt.to, ACTIVITY_TERMINAL, 'TRANSITION ACTIVITY TO', diags);
132
+ checkStructural(stmt.finalize.find((c) => c.kind === 'SetStructuralClause'), diags);
133
+ break;
134
+ // Spec §52.7 names seven statements whose WHERE can select an unbounded
135
+ // set and which SHOULD therefore carry a LIMIT. Warning on the read and on
136
+ // UPDATE while staying silent on the removal ladder had it backwards: an
137
+ // over-broad PURGE is the one that cannot be undone.
138
+ case 'PurgeStatement':
139
+ case 'PurgePayloadStatement':
140
+ case 'SetRetentionStatement':
141
+ if (stmt.where)
142
+ checkWhere(stmt.where, !!stmt.limit, diags);
111
143
  break;
112
144
  }
113
145
  }
@@ -147,6 +179,24 @@ function checkAssert(stmt, diags) {
147
179
  function checkFacet(clause, diags) {
148
180
  checkAssignmentValues(clause.assignments, diags);
149
181
  }
182
+ /**
183
+ * `role` on an `("evidence", ...)` citation comes from the Core registry
184
+ * (Spec §20.13, §56.2), so a misspelling is as checkable here as a bad
185
+ * `stance`. Other structural fields carry engine- or package-defined options,
186
+ * which only the Schema Environment can judge.
187
+ */
188
+ function checkStructural(clause, diags) {
189
+ if (!clause)
190
+ return;
191
+ for (const edge of clause.assignments) {
192
+ if (edge.field.kind === 'ParameterRef' || edge.field.parsed !== 'evidence') {
193
+ continue;
194
+ }
195
+ const role = edge.options?.entries.find((e) => e.key === 'role');
196
+ if (role)
197
+ checkEnum(role.value, EVIDENCE_ROLES, 'Evidence role', diags);
198
+ }
199
+ }
150
200
  function checkAssignmentValues(object, diags) {
151
201
  for (const entry of object.entries) {
152
202
  if (UNIT_INTERVAL_FIELDS.has(entry.key) &&
@@ -1 +1 @@
1
- {"version":3,"file":"semantics.js","sourceRoot":"","sources":["../src/semantics.ts"],"names":[],"mappings":"AAiBA;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,MAAM,KAAK,GAAiB,EAAE,CAAA;IAC9B,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACtC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IAC/B,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,4EAA4E;AAC5E,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAA;AAC3D,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC;IACpB,UAAU;IACV,QAAQ;IACR,UAAU;IACV,WAAW;IACX,cAAc;IACd,UAAU;CACX,CAAC,CAAA;AACF,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAA;AAC/D,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IAC/B,QAAQ;IACR,WAAW;IACX,YAAY;IACZ,SAAS;CACV,CAAC,CAAA;AACF,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAA;AAEvE,mEAAmE;AACnE,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC;IACnC,YAAY;IACZ,iBAAiB;IACjB,UAAU;IACV,SAAS;IACT,WAAW;CACZ,CAAC,CAAA;AAEF,SAAS,gBAAgB,CAAC,IAAe,EAAE,KAAmB;IAC5D,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,eAAe;YAClB,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;YAC3C,MAAK;QAEP,KAAK,iBAAiB;YACpB,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;YACxB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO;gBAAE,qBAAqB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;YACvE,MAAK;QAEP,KAAK,iBAAiB;YACpB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,aAAa,EAAE,KAAK,CAAC,CAAA;YAC1D,CAAC;YACD,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;gBAC9D,iBAAiB,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;YACnF,CAAC;YACD,MAAK;QAEP;YACE,qBAAqB,CAAC,IAAsB,EAAE,KAAK,CAAC,CAAA;IACxD,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAe,EAAE,KAAmB;IACjE,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,iBAAiB;YACpB,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;YACxB,MAAK;QAEP,KAAK,wBAAwB;YAC3B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS;gBAAE,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;YAC5D,MAAK;QAEP,KAAK,wBAAwB;YAC3B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS;gBAAE,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;YAC5D,MAAK;QAEP,KAAK,0BAA0B;YAC7B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;YAC1D,CAAC;YACD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS;gBAAE,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;YAC5D,MAAK;QAEP,KAAK,yBAAyB,CAAC;QAC/B,KAAK,yBAAyB;YAC5B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS;gBAAE,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;YAC5D,MAAK;QAEP,KAAK,iBAAiB;YACpB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClC,IAAI,MAAM,CAAC,IAAI,KAAK,gBAAgB;oBAAE,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;YACjE,CAAC;YACD,IAAI,IAAI,CAAC,KAAK;gBAAE,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;YAC3D,MAAK;QAEP,KAAK,2BAA2B,CAAC;QACjC,KAAK,kBAAkB,CAAC;QACxB,KAAK,oBAAoB;YACvB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,KAAK,CAAC,CAAA;YAC5E,CAAC;YACD,MAAK;QAEP,KAAK,6BAA6B;YAChC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,KAAK,CAAC,CAAA;YACtE,MAAK;IACT,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAC,IAAqB,EAAE,KAAmB;IAC7D,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QAC7C,IAAI,KAAK,CAAC,GAAG,KAAK,MAAM,EAAE,CAAC;YACzB,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,CAAC,CAAA;QACrD,CAAC;aAAM,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YAClC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,CAAC,CAAA;QACzD,CAAC;aAAM,IAAI,KAAK,CAAC,GAAG,KAAK,YAAY,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YAC9E,iBAAiB,CAAC,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAC9E,CAAC;IACH,CAAC;IAED,2EAA2E;IAC3E,6DAA6D;IAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC,CAAA;IACnE,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,UAAU,CAAC,CAAA;IAC9E,IACE,IAAI;QACJ,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,eAAe;QACnC,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,UAAU;QAChC,CAAC,WAAW,EACZ,CAAC;QACD,KAAK,CAAC,IAAI,CAAC;YACT,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK;YAC7B,QAAQ,EAAE,MAAM;YAChB,OAAO,EACL,oGAAoG;YACtG,IAAI,EAAE,UAAU;SACjB,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,MAAsB,EAAE,KAAmB;IAC7D,qBAAqB,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;AAClD,CAAC;AAED,SAAS,qBAAqB,CAC5B,MAAqB,EACrB,KAAmB;IAEnB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnC,IACE,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;YACnC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,eAAe,EACpC,CAAC;YACD,iBAAiB,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAC3E,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ;YAAE,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;QAC5E,IAAI,KAAK,CAAC,GAAG,KAAK,MAAM;YAAE,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;IACxE,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAChB,KAA+B,EAC/B,OAAoB,EACpB,KAAa,EACb,KAAmB;IAEnB,+EAA+E;IAC/E,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe;QAAE,OAAM;IAC1C,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;QAAE,OAAM;IACrC,KAAK,CAAC,IAAI,CAAC;QACT,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,GAAG,KAAK,mBAAmB,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,MAAM,GAAG;QACpF,IAAI,EAAE,UAAU;KACjB,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,KAAa,EACb,KAAa,EACb,KAAY,EACZ,KAAmB;IAEnB,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC;QAAE,OAAM;IACpC,KAAK,CAAC,IAAI,CAAC;QACT,KAAK;QACL,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,GAAG,KAAK,+BAA+B,KAAK,EAAE;QACvD,IAAI,EAAE,UAAU;KACjB,CAAC,CAAA;AACJ,CAAC;AAED,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E;;;;GAIG;AACH,SAAS,WAAW,CAAC,IAAqB,EAAE,KAAmB;IAC7D,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAA;IAC/B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;QACnC,IAAI,MAAM;YAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC/B,CAAC;IAED,MAAM,UAAU,GAAqC,EAAE,CAAA;IACvD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO;QAAE,iBAAiB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IAExE,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,KAAK,CAAC,IAAI,CAAC;gBACT,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,IAAI,GAAG,CAAC,IAAI,kDAAkD;gBACvE,IAAI,EAAE,UAAU;aACjB,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,MAAsB;IAC1C,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,wBAAwB,CAAC;QAC9B,KAAK,wBAAwB,CAAC;QAC9B,KAAK,yBAAyB,CAAC;QAC/B,KAAK,0BAA0B,CAAC;QAChC,KAAK,yBAAyB;YAC5B,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QACpC,KAAK,4BAA4B,CAAC;QAClC,KAAK,iBAAiB;YACpB,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAC3D;YACE,OAAO,IAAI,CAAA;IACf,CAAC;AACH,CAAC;AAED,2EAA2E;AAC3E,SAAS,iBAAiB,CACxB,MAAsB,EACtB,GAAqC;IAErC,MAAM,UAAU,GAAG,CAAC,MAAiC,EAAE,EAAE;QACvD,IAAI,CAAC,MAAM;YAAE,OAAM;QACnB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,OAAO;YAAE,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACjE,CAAC,CAAA;IACD,MAAM,cAAc,GAAG,CAAC,IAAgB,EAAE,EAAE;QAC1C,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YAChC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;QAC3D,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACxC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ;gBAAE,cAAc,CAAC,OAAO,CAAC,CAAA;QAC9D,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YACzC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO;gBAAE,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAC/D,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;YAC5C,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI;gBAAE,cAAc,CAAC,GAAG,CAAC,CAAA;QAClD,CAAC;IACH,CAAC,CAAA;IAED,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,wBAAwB,CAAC;QAC9B,KAAK,wBAAwB;YAC3B,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;YACzC,UAAU,CAAC,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC,CAAA;YAC7C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,SAAS;gBAAE,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;YACnE,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,aAAa,EAAE,WAAW,IAAI,EAAE,EAAE,CAAC;gBAC3D,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC5B,CAAC;YACD,MAAK;QAEP,KAAK,yBAAyB,CAAC;QAC/B,KAAK,0BAA0B,CAAC;QAChC,KAAK,yBAAyB;YAC5B,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;YACzC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,SAAS;gBAAE,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;YACnE,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,aAAa,EAAE,WAAW,IAAI,EAAE,EAAE,CAAC;gBAC3D,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC5B,CAAC;YACD,MAAK;QAEP,KAAK,iBAAiB;YACpB,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;YAC9B,IAAI,MAAM,CAAC,WAAW,EAAE,IAAI,KAAK,aAAa,EAAE,CAAC;gBAC/C,GAAG,CAAC,IAAI,CAAC;oBACP,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;oBACtC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK;iBAChC,CAAC,CAAA;YACJ,CAAC;YACD,MAAK;QAEP,KAAK,6BAA6B,CAAC;QACnC,KAAK,0BAA0B;YAC7B,KAAK,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC7C,IAAI,GAAG,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;oBAC/B,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAA;gBACzD,CAAC;YACH,CAAC;YACD,MAAK;IACT,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,SAAS,UAAU,CACjB,KAAkB,EAClB,QAAiB,EACjB,KAAmB;IAEnB,IAAI,QAAQ;QAAE,OAAM;IACpB,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAM;IAEvC,yEAAyE;IACzE,4DAA4D;IAC5D,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC;YACT,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,QAAQ,EAAE,SAAS;YACnB,OAAO,EACL,2GAA2G;YAC7G,IAAI,EAAE,UAAU;SACjB,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,OAAqB;IAC5C,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,gBAAgB;YACnB,OAAO,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACxC,KAAK,kBAAkB,CAAC;QACxB,KAAK,iBAAiB,CAAC;QACvB,KAAK,iBAAiB;YACpB,OAAO,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACxC,KAAK,oBAAoB;YACvB,wDAAwD;YACxD,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE;gBAAE,OAAO,KAAK,CAAA;YAClC,OAAO,CACL,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO;gBACvB,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM;gBACtB,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;gBACjC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CACjC,CAAA;QACH;YACE,OAAO,KAAK,CAAA;IAChB,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,OAAsB;IAC5C,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAA;AACrC,CAAC;AAED,SAAS,UAAU,CAAC,IAAgC;IAClD,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa;QAAE,OAAO,IAAI,CAAA;IAC5C,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAA;IACnE,OAAO,KAAK,CAAA;AACd,CAAC"}
1
+ {"version":3,"file":"semantics.js","sourceRoot":"","sources":["../src/semantics.ts"],"names":[],"mappings":"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"}
package/dist/token.d.ts CHANGED
@@ -54,6 +54,7 @@ export declare enum TokenType {
54
54
  Archive = "ARCHIVE",
55
55
  Tombstone = "TOMBSTONE",
56
56
  Purge = "PURGE",
57
+ Payload = "PAYLOAD",
57
58
  Confirm = "CONFIRM",
58
59
  Reference = "REFERENCE",
59
60
  Policy = "POLICY",
@@ -100,6 +101,8 @@ export declare enum TokenType {
100
101
  Facets = "FACETS",
101
102
  Types = "TYPES",
102
103
  Policies = "POLICIES",
104
+ Dependents = "DEPENDENTS",
105
+ Depth = "DEPTH",
103
106
  Compatibility = "COMPATIBILITY",
104
107
  From = "FROM",
105
108
  Error = "ERROR",
@@ -1 +1 @@
1
- {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../src/token.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../src/token.ts"],"names":[],"mappings":"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"}
package/dist/token.js CHANGED
@@ -61,6 +61,7 @@ export var TokenType;
61
61
  TokenType["Archive"] = "ARCHIVE";
62
62
  TokenType["Tombstone"] = "TOMBSTONE";
63
63
  TokenType["Purge"] = "PURGE";
64
+ TokenType["Payload"] = "PAYLOAD";
64
65
  TokenType["Confirm"] = "CONFIRM";
65
66
  TokenType["Reference"] = "REFERENCE";
66
67
  TokenType["Policy"] = "POLICY";
@@ -108,6 +109,8 @@ export var TokenType;
108
109
  TokenType["Facets"] = "FACETS";
109
110
  TokenType["Types"] = "TYPES";
110
111
  TokenType["Policies"] = "POLICIES";
112
+ TokenType["Dependents"] = "DEPENDENTS";
113
+ TokenType["Depth"] = "DEPTH";
111
114
  TokenType["Compatibility"] = "COMPATIBILITY";
112
115
  TokenType["From"] = "FROM";
113
116
  TokenType["Error"] = "ERROR";
@@ -213,6 +216,7 @@ export const KEYWORDS = new Map([
213
216
  ['ARCHIVE', TokenType.Archive],
214
217
  ['TOMBSTONE', TokenType.Tombstone],
215
218
  ['PURGE', TokenType.Purge],
219
+ ['PAYLOAD', TokenType.Payload],
216
220
  ['CONFIRM', TokenType.Confirm],
217
221
  ['REFERENCE', TokenType.Reference],
218
222
  ['POLICY', TokenType.Policy],
@@ -260,6 +264,8 @@ export const KEYWORDS = new Map([
260
264
  ['FACETS', TokenType.Facets],
261
265
  ['TYPES', TokenType.Types],
262
266
  ['POLICIES', TokenType.Policies],
267
+ ['DEPENDENTS', TokenType.Dependents],
268
+ ['DEPTH', TokenType.Depth],
263
269
  ['COMPATIBILITY', TokenType.Compatibility],
264
270
  ['FROM', TokenType.From],
265
271
  ['ERROR', TokenType.Error],
package/dist/token.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"token.js","sourceRoot":"","sources":["../src/token.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token.js","sourceRoot":"","sources":["../src/token.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -7,7 +7,7 @@
7
7
  * has to load in runtimes with no filesystem; `test/lower.test.mjs` asserts the
8
8
  * two stay in step.
9
9
  */
10
- export declare const PARSER_VERSION = "2.0.1";
10
+ export declare const PARSER_VERSION = "2.1.0";
11
11
  /** The KIP specification revision this grammar targets. */
12
12
  export declare const KIP_SPEC_REVISION = "2.0-draft";
13
13
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -7,7 +7,7 @@
7
7
  * has to load in runtimes with no filesystem; `test/lower.test.mjs` asserts the
8
8
  * two stay in step.
9
9
  */
10
- export const PARSER_VERSION = '2.0.1';
10
+ export const PARSER_VERSION = '2.1.0';
11
11
  /** The KIP specification revision this grammar targets. */
12
12
  export const KIP_SPEC_REVISION = '2.0-draft';
13
13
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ldclabs/kip-lang",
3
- "version": "2.0.1",
3
+ "version": "2.1.0",
4
4
  "description": "Language toolkit for KIP 2.0 (Knowledge Interaction Protocol): lexer, parser, formatter, diagnostics, and lowering of KQL/KML/META to the executable AST",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
package/src/ast.ts CHANGED
@@ -47,6 +47,7 @@ export type MutationClause =
47
47
  | ArchiveStatement
48
48
  | TombstoneStatement
49
49
  | PurgeStatement
50
+ | PurgePayloadStatement
50
51
  | MergeConceptStatement
51
52
 
52
53
  /** META — introspection, grounding, verification, history, export. */
@@ -617,6 +618,19 @@ export interface PurgeStatement extends BaseNode {
617
618
  confirm: StringLiteral
618
619
  }
619
620
 
621
+ /**
622
+ * Erases Evidence payload bytes while the element survives (Spec §60.6).
623
+ * The element survives, so there is no REFERENCE POLICY clause; the
624
+ * confirmation literal is the same `CONFIRM "PURGE"` as element purge.
625
+ */
626
+ export interface PurgePayloadStatement extends BaseNode {
627
+ kind: 'PurgePayloadStatement'
628
+ target: TargetRef
629
+ where?: WhereClause
630
+ limit?: LimitClause
631
+ confirm: StringLiteral
632
+ }
633
+
620
634
  /** Non-destructive: the source stays addressable as merged history. */
621
635
  export interface MergeConceptStatement extends BaseNode {
622
636
  kind: 'MergeConceptStatement'
@@ -677,12 +691,17 @@ export type ListTargetKind =
677
691
  | 'FACETS'
678
692
  | 'STRUCTURAL_FIELDS'
679
693
  | 'EPISTEMIC_POLICIES'
694
+ | 'DEPENDENTS'
680
695
 
681
696
  export interface ListStatement extends BaseNode {
682
697
  kind: 'ListStatement'
683
698
  target: ListTargetKind
684
699
  /** `LIST SCHEMA PACKAGES STATUS ...` */
685
700
  status?: ScalarValue
701
+ /** `LIST DEPENDENTS :id` — the element whose derived cognition is listed. */
702
+ element?: ScalarValue
703
+ /** `LIST DEPENDENTS ... DEPTH :n` — traversal bound (Spec §63.5). */
704
+ depth?: ScalarValue
686
705
  limit?: LimitClause
687
706
  cursor?: CursorClause
688
707
  }
package/src/budget.ts CHANGED
@@ -22,11 +22,12 @@ export const MAX_KIP_BATCH_COMMANDS = 256
22
22
  /**
23
23
  * Rejects source that exceeds a parser budget.
24
24
  *
25
- * The bracket scan must skip line comments exactly the way the lexer does.
26
- * Counting a `"` inside a comment would latch the scanner into string mode
27
- * for the rest of the input, after which every bracket goes uncounted and the
28
- * depth ceiling silently stops existing the failure mode is a guard that
29
- * looks present and defends nothing.
25
+ * The scan must treat comments and strings exactly the way the lexer does,
26
+ * or the guard stops guarding. Counting a `"` inside a comment would latch the
27
+ * scanner into string mode for the rest of the input; so would running past
28
+ * the end of an unterminated string, which the lexer closes at the newline.
29
+ * Either way every later bracket goes uncounted and the depth ceiling silently
30
+ * stops existing — a guard that looks present and defends nothing.
30
31
  *
31
32
  * @throws {KipSyntaxError} `KIP_4002` when a budget is exceeded.
32
33
  */
@@ -58,8 +59,11 @@ export function checkBudget(source: string): void {
58
59
  escaped = false
59
60
  continue
60
61
  }
62
+ // A closing quote ends the string; so does a raw newline, because the
63
+ // lexer refuses to carry a string across one. An *escaped* newline is
64
+ // consumed above and does not reach here, matching `scanString`.
61
65
  if (ch === '\\') escaped = true
62
- else if (ch === '"') inString = false
66
+ else if (ch === '"' || ch === '\n') inString = false
63
67
  continue
64
68
  }
65
69
 
package/src/exec-ast.ts CHANGED
@@ -314,6 +314,7 @@ export type MutationClause =
314
314
  | { Archive: RemovalStatement }
315
315
  | { Tombstone: RemovalStatement }
316
316
  | { Purge: PurgeStatement }
317
+ | { PurgePayload: PurgePayloadStatement }
317
318
  | { MergeConcept: MergeConcept }
318
319
 
319
320
  export interface ConceptCreate {
@@ -475,6 +476,18 @@ export interface PurgeStatement {
475
476
  confirm: string
476
477
  }
477
478
 
479
+ /**
480
+ * Payload-only purge (Spec §60.6): Evidence bytes are destroyed, the element
481
+ * survives, so no reference policy exists.
482
+ */
483
+ export interface PurgePayloadStatement {
484
+ target: ElementRef
485
+ where_clauses: WhereClause[] | null
486
+ limit: Scalar | null
487
+ /** Always the literal `PURGE`; the grammar freezes the spelling. */
488
+ confirm: string
489
+ }
490
+
478
491
  export interface MergeConcept {
479
492
  source: ElementRef
480
493
  into: ElementRef
@@ -525,6 +538,10 @@ export interface ListCommand {
525
538
  target: ListTarget
526
539
  /** `LIST SCHEMA PACKAGES STATUS ...` only. */
527
540
  status: Scalar | null
541
+ /** `LIST DEPENDENTS :id` only — the traversal root. */
542
+ element: Scalar | null
543
+ /** `LIST DEPENDENTS ... DEPTH :n` only. */
544
+ depth: Scalar | null
528
545
  limit: Scalar | null
529
546
  cursor: Scalar | null
530
547
  }
@@ -537,6 +554,7 @@ export type ListTarget =
537
554
  | 'Facets'
538
555
  | 'StructuralFields'
539
556
  | 'EpistemicPolicies'
557
+ | 'Dependents'
540
558
 
541
559
  export interface SearchCommand {
542
560
  target: SearchTarget
package/src/formatter.ts CHANGED
@@ -42,6 +42,7 @@ import type {
42
42
  ArchiveStatement,
43
43
  TombstoneStatement,
44
44
  PurgeStatement,
45
+ PurgePayloadStatement,
45
46
  MergeConceptStatement,
46
47
  DescribeStatement,
47
48
  ListStatement,
@@ -258,6 +259,9 @@ class Formatter {
258
259
  case 'PurgeStatement':
259
260
  this.formatPurge(stmt)
260
261
  break
262
+ case 'PurgePayloadStatement':
263
+ this.formatPurgePayload(stmt)
264
+ break
261
265
  case 'MergeConceptStatement':
262
266
  this.formatMerge(stmt)
263
267
  break
@@ -899,6 +903,19 @@ class Formatter {
899
903
  this.indentLevel--
900
904
  }
901
905
 
906
+ private formatPurgePayload(stmt: PurgePayloadStatement): void {
907
+ this.writeIndent()
908
+ this.write(`PURGE PAYLOAD ${this.targetRef(stmt.target)}`)
909
+ this.newline()
910
+ if (stmt.where) this.formatWhere(stmt.where, 'WHERE')
911
+ if (stmt.limit) this.formatLimit(stmt.limit)
912
+ this.indentLevel++
913
+ this.writeIndent()
914
+ this.write(`CONFIRM ${stmt.confirm.value}`)
915
+ this.newline()
916
+ this.indentLevel--
917
+ }
918
+
902
919
  private formatMerge(stmt: MergeConceptStatement): void {
903
920
  this.writeIndent()
904
921
  this.write(
@@ -1043,9 +1060,12 @@ class Formatter {
1043
1060
  PREDICATES: 'PREDICATES',
1044
1061
  FACETS: 'FACETS',
1045
1062
  STRUCTURAL_FIELDS: 'STRUCTURAL FIELDS',
1046
- EPISTEMIC_POLICIES: 'EPISTEMIC POLICIES'
1063
+ EPISTEMIC_POLICIES: 'EPISTEMIC POLICIES',
1064
+ DEPENDENTS: 'DEPENDENTS'
1047
1065
  }
1048
1066
  this.write(`LIST ${words[stmt.target]}`)
1067
+ if (stmt.element) this.write(` ${this.scalar(stmt.element)}`)
1068
+ if (stmt.depth) this.write(` DEPTH ${this.scalar(stmt.depth)}`)
1049
1069
  if (stmt.status) this.write(` STATUS ${this.scalar(stmt.status)}`)
1050
1070
  if (stmt.limit) this.write(` LIMIT ${this.scalar(stmt.limit.value)}`)
1051
1071
  if (stmt.cursor) this.write(` CURSOR ${this.scalar(stmt.cursor.value)}`)
@@ -1270,7 +1290,20 @@ class Formatter {
1270
1290
  return this.expr(ref)
1271
1291
  }
1272
1292
 
1273
- private expr(expr: Expression): string {
1293
+ /**
1294
+ * Renders an expression, restoring the grouping the AST does not carry.
1295
+ *
1296
+ * `parsePrimaryExpression` unwraps `( ... )` and returns the inner node, so
1297
+ * by the time the formatter sees `A && (B || C)` it is indistinguishable
1298
+ * from `A && B || C` — except by shape. Printing operators flat therefore
1299
+ * reparses as `(A && B) || C`: a different predicate, silently, on a file
1300
+ * that formats without an error. `minPrec` is the tightest binding the
1301
+ * surrounding context accepts unparenthesized; anything looser gets its
1302
+ * parentheses back, and nothing else does.
1303
+ */
1304
+ private expr(expr: Expression, minPrec: number = 0): string {
1305
+ const prec = expressionPrecedence(expr)
1306
+ if (prec < minPrec) return `(${this.expr(expr)})`
1274
1307
  switch (expr.kind) {
1275
1308
  case 'StringLiteral':
1276
1309
  return expr.value
@@ -1297,10 +1330,17 @@ class Formatter {
1297
1330
  return `${expr.name.toUpperCase()}(${expr.args.map((a) => this.expr(a)).join(', ')})`
1298
1331
  case 'AggregateExpr':
1299
1332
  return `${expr.name}(${expr.distinct ? 'DISTINCT ' : ''}${this.expr(expr.argument)})`
1300
- case 'BinaryExpression':
1301
- return `${this.expr(expr.left)} ${expr.operator} ${this.expr(expr.right)}`
1333
+ case 'BinaryExpression': {
1334
+ // Relational is the one non-associative level: `parseRelational`
1335
+ // takes a unary on both sides, so `A < B < C` is a grammar error and
1336
+ // a relational operand must never be re-emitted bare.
1337
+ const left = prec === REL_PREC ? UNARY_PREC : prec
1338
+ const right = prec === REL_PREC ? UNARY_PREC : prec + 1
1339
+ return `${this.expr(expr.left, left)} ${expr.operator} ${this.expr(expr.right, right)}`
1340
+ }
1302
1341
  case 'UnaryExpression':
1303
- return `${expr.operator}${this.expr(expr.operand)}`
1342
+ // `parseUnary` reads a *primary*, so anything looser needs brackets.
1343
+ return `${expr.operator}${this.expr(expr.operand, PRIMARY_PREC)}`
1304
1344
  case 'ArrayLiteral':
1305
1345
  return `[${expr.elements.map((e) => this.expr(e)).join(', ')}]`
1306
1346
  case 'ObjectLiteral':
@@ -1337,3 +1377,37 @@ class Formatter {
1337
1377
  this.output += '\n'
1338
1378
  }
1339
1379
  }
1380
+
1381
+ /**
1382
+ * Binding strength, loosest first, mirroring the parser's descent:
1383
+ * `parseOr` → `parseAnd` → `parseEquality` → `parseRelational` → `parseUnary`
1384
+ * → `parsePrimary`. A change here without the matching change there prints
1385
+ * parentheses that mean something else.
1386
+ */
1387
+ const OR_PREC = 1
1388
+ const AND_PREC = 2
1389
+ const EQ_PREC = 3
1390
+ const REL_PREC = 4
1391
+ const UNARY_PREC = 5
1392
+ const PRIMARY_PREC = 6
1393
+
1394
+ function expressionPrecedence(expr: Expression): number {
1395
+ switch (expr.kind) {
1396
+ case 'BinaryExpression':
1397
+ switch (expr.operator) {
1398
+ case '||':
1399
+ return OR_PREC
1400
+ case '&&':
1401
+ return AND_PREC
1402
+ case '==':
1403
+ case '!=':
1404
+ return EQ_PREC
1405
+ default:
1406
+ return REL_PREC
1407
+ }
1408
+ case 'UnaryExpression':
1409
+ return UNARY_PREC
1410
+ default:
1411
+ return PRIMARY_PREC
1412
+ }
1413
+ }
package/src/index.ts CHANGED
@@ -99,6 +99,7 @@ export type {
99
99
  ArchiveStatement,
100
100
  TombstoneStatement,
101
101
  PurgeStatement,
102
+ PurgePayloadStatement,
102
103
  MergeConceptStatement,
103
104
  // META
104
105
  DescribeStatement,
@@ -206,6 +207,7 @@ export type {
206
207
  SetRetention,
207
208
  RemovalStatement,
208
209
  PurgeStatement as ExecPurgeStatement,
210
+ PurgePayloadStatement as ExecPurgePayloadStatement,
209
211
  MergeConcept,
210
212
  // META
211
213
  MetaCommand,
package/src/lower.ts CHANGED
@@ -40,6 +40,7 @@ import type {
40
40
  ArchiveStatement,
41
41
  TombstoneStatement,
42
42
  PurgeStatement,
43
+ PurgePayloadStatement,
43
44
  MergeConceptStatement,
44
45
  DescribeStatement,
45
46
  ListStatement,
@@ -253,6 +254,7 @@ export function lowerStatement(stmt: Statement): Command {
253
254
  case 'ArchiveStatement':
254
255
  case 'TombstoneStatement':
255
256
  case 'PurgeStatement':
257
+ case 'PurgePayloadStatement':
256
258
  case 'MergeConceptStatement':
257
259
  const clauses = lowerMutationClause(stmt, 0)
258
260
  assertUniqueHandles(clauses, stmt.range)
@@ -921,6 +923,8 @@ function lowerMutationClause(
921
923
  return [{ Tombstone: lowerRemoval(stmt) }]
922
924
  case 'PurgeStatement':
923
925
  return [{ Purge: lowerPurge(stmt) }]
926
+ case 'PurgePayloadStatement':
927
+ return [{ PurgePayload: lowerPurgePayload(stmt) }]
924
928
  case 'MergeConceptStatement':
925
929
  return [
926
930
  {
@@ -1252,6 +1256,21 @@ function lowerPurge(stmt: PurgeStatement) {
1252
1256
  }
1253
1257
  }
1254
1258
 
1259
+ function lowerPurgePayload(stmt: PurgePayloadStatement) {
1260
+ if (stmt.confirm.parsed !== 'PURGE') {
1261
+ throw invalidSyntax(
1262
+ 'PURGE PAYLOAD must be confirmed with the exact literal "PURGE"',
1263
+ stmt.confirm.range
1264
+ )
1265
+ }
1266
+ return {
1267
+ target: lowerElementRef(stmt.target),
1268
+ where_clauses: stmt.where ? lowerWhere(stmt.where) : null,
1269
+ limit: stmt.limit ? lowerScalar(stmt.limit.value) : null,
1270
+ confirm: 'PURGE'
1271
+ }
1272
+ }
1273
+
1255
1274
  // ---------------------------------------------------------------------------
1256
1275
  // UPDATE
1257
1276
  // ---------------------------------------------------------------------------
@@ -1769,7 +1788,8 @@ const LIST_TARGETS: Record<ListStatement['target'], ListTarget> = {
1769
1788
  PREDICATES: 'Predicates',
1770
1789
  FACETS: 'Facets',
1771
1790
  STRUCTURAL_FIELDS: 'StructuralFields',
1772
- EPISTEMIC_POLICIES: 'EpistemicPolicies'
1791
+ EPISTEMIC_POLICIES: 'EpistemicPolicies',
1792
+ DEPENDENTS: 'Dependents'
1773
1793
  }
1774
1794
 
1775
1795
  const SEARCH_TARGETS: Record<SearchStatement['searchKind'], SearchTarget> = {
@@ -1853,9 +1873,14 @@ function lowerDescribe(stmt: DescribeStatement): DescribeTarget {
1853
1873
  }
1854
1874
 
1855
1875
  function lowerList(stmt: ListStatement) {
1876
+ if (stmt.target === 'DEPENDENTS' && !stmt.element) {
1877
+ throw invalidSyntax('LIST DEPENDENTS requires an element operand', stmt.range)
1878
+ }
1856
1879
  return {
1857
1880
  target: LIST_TARGETS[stmt.target],
1858
1881
  status: stmt.status ? lowerScalar(stmt.status) : null,
1882
+ element: stmt.element ? lowerScalar(stmt.element) : null,
1883
+ depth: stmt.depth ? lowerScalar(stmt.depth) : null,
1859
1884
  limit: stmt.limit ? lowerScalar(stmt.limit.value) : null,
1860
1885
  cursor: stmt.cursor ? lowerScalar(stmt.cursor.value) : null
1861
1886
  }