@ldclabs/kip-lang 2.0.2 → 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/CHANGELOG.md +17 -0
- package/dist/ast.d.ts +18 -2
- package/dist/ast.d.ts.map +1 -1
- package/dist/exec-ast.d.ts +18 -1
- package/dist/exec-ast.d.ts.map +1 -1
- package/dist/formatter.d.ts.map +1 -1
- package/dist/formatter.js +23 -1
- package/dist/formatter.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lower.d.ts.map +1 -1
- package/dist/lower.js +21 -1
- package/dist/lower.js.map +1 -1
- package/dist/parser.d.ts.map +1 -1
- package/dist/parser.js +48 -1
- package/dist/parser.js.map +1 -1
- package/dist/semantics.js +3 -2
- package/dist/semantics.js.map +1 -1
- package/dist/token.d.ts +3 -0
- package/dist/token.d.ts.map +1 -1
- package/dist/token.js +6 -0
- package/dist/token.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/src/ast.ts +19 -0
- package/src/exec-ast.ts +18 -0
- package/src/formatter.ts +21 -1
- package/src/index.ts +2 -0
- package/src/lower.ts +26 -1
- package/src/parser.ts +61 -2
- package/src/semantics.ts +3 -2
- package/src/token.ts +6 -0
- package/src/version.ts +1 -1
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":"AAAA,MAAM,CAAN,IAAY,
|
|
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
|
|
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
|
|
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
|
|
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/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)}`)
|
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
|
}
|
package/src/parser.ts
CHANGED
|
@@ -74,6 +74,7 @@ import type {
|
|
|
74
74
|
ArchiveStatement,
|
|
75
75
|
TombstoneStatement,
|
|
76
76
|
PurgeStatement,
|
|
77
|
+
PurgePayloadStatement,
|
|
77
78
|
MergeConceptStatement,
|
|
78
79
|
DescribeStatement,
|
|
79
80
|
DescribeTargetKind,
|
|
@@ -1907,10 +1908,13 @@ class Parser {
|
|
|
1907
1908
|
}
|
|
1908
1909
|
}
|
|
1909
1910
|
|
|
1910
|
-
private parsePurgeStatement(): PurgeStatement {
|
|
1911
|
+
private parsePurgeStatement(): PurgeStatement | PurgePayloadStatement {
|
|
1911
1912
|
const leadingComments = this.collectLeadingComments()
|
|
1912
1913
|
const start = this.currentPos()
|
|
1913
|
-
this.expectKeywordWithSpace(TokenType.Purge)
|
|
1914
|
+
const purge = this.expectKeywordWithSpace(TokenType.Purge)
|
|
1915
|
+
if (this.check(TokenType.Payload)) {
|
|
1916
|
+
return this.parsePurgePayloadTail(start, purge, leadingComments)
|
|
1917
|
+
}
|
|
1914
1918
|
const target = this.parseTargetRef()
|
|
1915
1919
|
|
|
1916
1920
|
let where: WhereClause | undefined
|
|
@@ -1954,6 +1958,49 @@ class Parser {
|
|
|
1954
1958
|
}
|
|
1955
1959
|
}
|
|
1956
1960
|
|
|
1961
|
+
/**
|
|
1962
|
+
* `PURGE PAYLOAD` erases Evidence bytes while the element survives
|
|
1963
|
+
* (Spec §60.6), so there is no REFERENCE POLICY clause; the confirmation
|
|
1964
|
+
* literal is the same as element purge.
|
|
1965
|
+
*/
|
|
1966
|
+
private parsePurgePayloadTail(
|
|
1967
|
+
start: Position,
|
|
1968
|
+
purge: Token,
|
|
1969
|
+
leadingComments: string[]
|
|
1970
|
+
): PurgePayloadStatement {
|
|
1971
|
+
this.expectSecondWord(TokenType.Payload, purge)
|
|
1972
|
+
const target = this.parseTargetRef()
|
|
1973
|
+
|
|
1974
|
+
let where: WhereClause | undefined
|
|
1975
|
+
if (this.check(TokenType.Where)) {
|
|
1976
|
+
this.expectKeywordWithSpace(TokenType.Where)
|
|
1977
|
+
this.dialect = 'raw'
|
|
1978
|
+
where = this.parseWhereClause()
|
|
1979
|
+
}
|
|
1980
|
+
|
|
1981
|
+
const limit = this.check(TokenType.Limit) ? this.parseLimitClause() : undefined
|
|
1982
|
+
|
|
1983
|
+
this.expect(TokenType.Confirm)
|
|
1984
|
+
const confirmTok = this.current()
|
|
1985
|
+
const confirm = this.parseStringLiteral()
|
|
1986
|
+
if (confirm.parsed !== 'PURGE') {
|
|
1987
|
+
this.error(
|
|
1988
|
+
`PURGE PAYLOAD must be confirmed with the exact literal "PURGE", got ${confirmTok.value}`,
|
|
1989
|
+
confirmTok
|
|
1990
|
+
)
|
|
1991
|
+
}
|
|
1992
|
+
|
|
1993
|
+
return {
|
|
1994
|
+
kind: 'PurgePayloadStatement',
|
|
1995
|
+
target,
|
|
1996
|
+
where,
|
|
1997
|
+
limit,
|
|
1998
|
+
confirm,
|
|
1999
|
+
range: { start, end: this.endPos() },
|
|
2000
|
+
leadingComments: leadingComments.length ? leadingComments : undefined
|
|
2001
|
+
}
|
|
2002
|
+
}
|
|
2003
|
+
|
|
1957
2004
|
private parseMergeConcept(): MergeConceptStatement {
|
|
1958
2005
|
const leadingComments = this.collectLeadingComments()
|
|
1959
2006
|
const start = this.currentPos()
|
|
@@ -2123,6 +2170,8 @@ class Parser {
|
|
|
2123
2170
|
|
|
2124
2171
|
let target: ListTargetKind
|
|
2125
2172
|
let status: ScalarValue | undefined
|
|
2173
|
+
let element: ScalarValue | undefined
|
|
2174
|
+
let depth: ScalarValue | undefined
|
|
2126
2175
|
|
|
2127
2176
|
switch (tok.type) {
|
|
2128
2177
|
case TokenType.Spaces:
|
|
@@ -2160,6 +2209,14 @@ class Parser {
|
|
|
2160
2209
|
target = 'EPISTEMIC_POLICIES'
|
|
2161
2210
|
break
|
|
2162
2211
|
}
|
|
2212
|
+
case TokenType.Dependents:
|
|
2213
|
+
// Bounded reverse provenance closure (Spec §63.5): the operand is
|
|
2214
|
+
// required, the DEPTH bound is optional and defaults engine-side to 1.
|
|
2215
|
+
this.expectSecondWord(TokenType.Dependents, list)
|
|
2216
|
+
target = 'DEPENDENTS'
|
|
2217
|
+
element = this.parseScalarValue()
|
|
2218
|
+
if (this.match(TokenType.Depth)) depth = this.parseScalarValue()
|
|
2219
|
+
break
|
|
2163
2220
|
default:
|
|
2164
2221
|
this.error(`Unknown LIST target '${tok.value}'`, tok)
|
|
2165
2222
|
throw new ParseAbort()
|
|
@@ -2174,6 +2231,8 @@ class Parser {
|
|
|
2174
2231
|
kind: 'ListStatement',
|
|
2175
2232
|
target,
|
|
2176
2233
|
status,
|
|
2234
|
+
element,
|
|
2235
|
+
depth,
|
|
2177
2236
|
limit,
|
|
2178
2237
|
cursor,
|
|
2179
2238
|
range: { start, end: this.endPos() },
|
package/src/semantics.ts
CHANGED
|
@@ -158,11 +158,12 @@ function analyzeMutationClause(stmt: Statement, diags: Diagnostic[]): void {
|
|
|
158
158
|
), diags)
|
|
159
159
|
break
|
|
160
160
|
|
|
161
|
-
// Spec §52.7 names
|
|
162
|
-
// and which SHOULD therefore carry a LIMIT. Warning on the read and on
|
|
161
|
+
// Spec §52.7 names seven statements whose WHERE can select an unbounded
|
|
162
|
+
// set and which SHOULD therefore carry a LIMIT. Warning on the read and on
|
|
163
163
|
// UPDATE while staying silent on the removal ladder had it backwards: an
|
|
164
164
|
// over-broad PURGE is the one that cannot be undone.
|
|
165
165
|
case 'PurgeStatement':
|
|
166
|
+
case 'PurgePayloadStatement':
|
|
166
167
|
case 'SetRetentionStatement':
|
|
167
168
|
if (stmt.where) checkWhere(stmt.where, !!stmt.limit, diags)
|
|
168
169
|
break
|
package/src/token.ts
CHANGED
|
@@ -65,6 +65,7 @@ export enum TokenType {
|
|
|
65
65
|
Archive = 'ARCHIVE',
|
|
66
66
|
Tombstone = 'TOMBSTONE',
|
|
67
67
|
Purge = 'PURGE',
|
|
68
|
+
Payload = 'PAYLOAD',
|
|
68
69
|
Confirm = 'CONFIRM',
|
|
69
70
|
Reference = 'REFERENCE',
|
|
70
71
|
Policy = 'POLICY',
|
|
@@ -113,6 +114,8 @@ export enum TokenType {
|
|
|
113
114
|
Facets = 'FACETS',
|
|
114
115
|
Types = 'TYPES',
|
|
115
116
|
Policies = 'POLICIES',
|
|
117
|
+
Dependents = 'DEPENDENTS',
|
|
118
|
+
Depth = 'DEPTH',
|
|
116
119
|
Compatibility = 'COMPATIBILITY',
|
|
117
120
|
From = 'FROM',
|
|
118
121
|
Error = 'ERROR',
|
|
@@ -245,6 +248,7 @@ export const KEYWORDS: ReadonlyMap<string, TokenType> = new Map([
|
|
|
245
248
|
['ARCHIVE', TokenType.Archive],
|
|
246
249
|
['TOMBSTONE', TokenType.Tombstone],
|
|
247
250
|
['PURGE', TokenType.Purge],
|
|
251
|
+
['PAYLOAD', TokenType.Payload],
|
|
248
252
|
['CONFIRM', TokenType.Confirm],
|
|
249
253
|
['REFERENCE', TokenType.Reference],
|
|
250
254
|
['POLICY', TokenType.Policy],
|
|
@@ -293,6 +297,8 @@ export const KEYWORDS: ReadonlyMap<string, TokenType> = new Map([
|
|
|
293
297
|
['FACETS', TokenType.Facets],
|
|
294
298
|
['TYPES', TokenType.Types],
|
|
295
299
|
['POLICIES', TokenType.Policies],
|
|
300
|
+
['DEPENDENTS', TokenType.Dependents],
|
|
301
|
+
['DEPTH', TokenType.Depth],
|
|
296
302
|
['COMPATIBILITY', TokenType.Compatibility],
|
|
297
303
|
['FROM', TokenType.From],
|
|
298
304
|
['ERROR', TokenType.Error],
|
package/src/version.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 const PARSER_VERSION = '2.0
|
|
10
|
+
export const PARSER_VERSION = '2.1.0'
|
|
11
11
|
|
|
12
12
|
/** The KIP specification revision this grammar targets. */
|
|
13
13
|
export const KIP_SPEC_REVISION = '2.0-draft'
|