@ldclabs/kip-lang 0.2.2 → 0.3.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/README.md CHANGED
@@ -4,12 +4,13 @@ TypeScript toolkit for **KIP** (Knowledge Interaction Protocol) — a structured
4
4
 
5
5
  Provides a full-featured **lexer → parser → AST → formatter / diagnostics** pipeline for `.kip` files.
6
6
 
7
- The parser targets the KIP v1.0-RC7 command-text syntax, including `:parameter`
7
+ The parser targets the KIP v1.0-RC9 command-text syntax, including `:parameter`
8
8
  placeholders in full value positions, JSON-compatible object literals with
9
- unquoted identifier keys, `SEARCH`, `DESCRIBE`, and batch-friendly multi-command
10
- source text. The `execute_kip` request envelope (`command`, `commands`,
11
- `parameters`, `dry_run`) is JSON outside the `.kip` language and should be
12
- validated by the caller.
9
+ unquoted identifier keys, predicate variables, multi-key `ORDER BY`, `SEARCH`
10
+ retrieval modes and thresholds, `EXPECT VERSION`, `UPDATE`, `MERGE`, `EXPORT`,
11
+ and batch-friendly multi-command source text. The `execute_kip` request envelope
12
+ (`command`, `commands`, `parameters`, `dry_run`) is JSON outside the `.kip`
13
+ language and should be validated by the caller.
13
14
 
14
15
  ## Installation
15
16
 
@@ -105,14 +106,15 @@ Diagnostics cover:
105
106
 
106
107
  All AST types are exported for downstream consumption:
107
108
 
108
- - **Statements**: `FindStatement`, `UpsertStatement`, `DeleteStatement`, `DescribeStatement`, `SearchStatement`
109
- - **Blocks**: `ConceptBlock`, `PropositionBlock`, `SetAttributes`, `SetPropositions`, `WithMetadata`
109
+ - **Statements**: `FindStatement`, `UpsertStatement`, `UpdateStatement`, `MergeStatement`, `DeleteStatement`, `DescribeStatement`, `SearchStatement`, `ExportStatement`
110
+ - **Blocks**: `ConceptBlock`, `PropositionBlock`, `SetAttributes`, `SetMetadata`, `SetPropositions`, `WithMetadata`, `ExpectVersion`
110
111
  - **Patterns**: `ConceptPattern`, `PropositionPattern`, `FilterClause`, `NotClause`, `OptionalClause`, `UnionClause`
111
112
  - **Expressions**: `ObjectLiteral`, `ArrayLiteral`, `ObjectEntry`, `Expression`
112
113
 
113
114
  String-or-parameter statement fields such as `SearchStatement.termValue`,
114
- `SearchStatement.withTypeValue`, and `DescribeStatement.typeNameValue` preserve
115
- whether the original source used a quoted string or a `:parameter` placeholder.
115
+ `SearchStatement.withTypeValue`, `SearchStatement.modeValue`, and
116
+ `DescribeStatement.typeNameValue` preserve whether the original source used a
117
+ quoted string or a `:parameter` placeholder.
116
118
 
117
119
  ## KIP Language
118
120
 
package/dist/ast.d.ts CHANGED
@@ -9,7 +9,7 @@ export interface Program extends BaseNode {
9
9
  kind: 'Program';
10
10
  statements: Statement[];
11
11
  }
12
- export type Statement = FindStatement | UpsertStatement | DeleteStatement | DescribeStatement | SearchStatement;
12
+ export type Statement = FindStatement | UpsertStatement | UpdateStatement | MergeStatement | DeleteStatement | DescribeStatement | SearchStatement | ExportStatement;
13
13
  export interface FindStatement extends BaseNode {
14
14
  kind: 'FindStatement';
15
15
  projections: Expression[];
@@ -20,6 +20,14 @@ export interface FindStatement extends BaseNode {
20
20
  }
21
21
  export interface OrderByClause extends BaseNode {
22
22
  kind: 'OrderByClause';
23
+ keys: OrderByKey[];
24
+ /** First sort key, preserved for compatibility with pre-RC9 consumers. */
25
+ expression: Expression;
26
+ /** First sort direction, preserved for compatibility with pre-RC9 consumers. */
27
+ direction: 'ASC' | 'DESC';
28
+ }
29
+ export interface OrderByKey extends BaseNode {
30
+ kind: 'OrderByKey';
23
31
  expression: Expression;
24
32
  direction: 'ASC' | 'DESC';
25
33
  }
@@ -55,7 +63,11 @@ export interface PropositionPattern extends BaseNode {
55
63
  object?: PropositionEndpoint;
56
64
  }
57
65
  export type PropositionEndpoint = VariableRef | ConceptPattern | PropositionPattern;
58
- export type PredicateExpr = PredicateLiteral | PredicateAlternation;
66
+ export type PredicateExpr = PredicateLiteral | PredicateVariable | PredicateAlternation;
67
+ export interface PredicateVariable extends BaseNode {
68
+ kind: 'PredicateVariable';
69
+ name: string;
70
+ }
59
71
  export interface PredicateLiteral extends BaseNode {
60
72
  kind: 'PredicateLiteral';
61
73
  value: string;
@@ -96,6 +108,7 @@ export interface ConceptBlock extends BaseNode {
96
108
  kind: 'ConceptBlock';
97
109
  handle: string;
98
110
  matcher: ConceptMatcher;
111
+ expectVersion?: ExpectVersion;
99
112
  setAttributes?: SetAttributes;
100
113
  setPropositions?: SetPropositions;
101
114
  metadata?: WithMetadata;
@@ -108,9 +121,14 @@ export interface PropositionBlock extends BaseNode {
108
121
  subject?: PropositionEndpoint;
109
122
  predicate?: PredicateExpr;
110
123
  object?: PropositionEndpoint;
124
+ expectVersion?: ExpectVersion;
111
125
  setAttributes?: SetAttributes;
112
126
  metadata?: WithMetadata;
113
127
  }
128
+ export interface ExpectVersion extends BaseNode {
129
+ kind: 'ExpectVersion';
130
+ value: NumberLiteral | ParameterRef;
131
+ }
114
132
  export interface SetAttributes extends BaseNode {
115
133
  kind: 'SetAttributes';
116
134
  entries: ObjectEntry[];
@@ -129,6 +147,24 @@ export interface WithMetadata extends BaseNode {
129
147
  kind: 'WithMetadata';
130
148
  entries: ObjectEntry[];
131
149
  }
150
+ export interface SetMetadata extends BaseNode {
151
+ kind: 'SetMetadata';
152
+ entries: ObjectEntry[];
153
+ }
154
+ export interface UpdateStatement extends BaseNode {
155
+ kind: 'UpdateStatement';
156
+ target: string;
157
+ setAttributes?: SetAttributes;
158
+ setMetadata?: SetMetadata;
159
+ where: WhereClause;
160
+ limit?: LimitClause;
161
+ }
162
+ export interface MergeStatement extends BaseNode {
163
+ kind: 'MergeStatement';
164
+ source: string;
165
+ target: string;
166
+ where: WhereClause;
167
+ }
132
168
  export interface DeleteStatement extends BaseNode {
133
169
  kind: 'DeleteStatement';
134
170
  deleteType: 'ATTRIBUTES' | 'METADATA' | 'PROPOSITIONS' | 'CONCEPT';
@@ -159,6 +195,20 @@ export interface SearchStatement extends BaseNode {
159
195
  withType?: string;
160
196
  /** Raw WITH TYPE value, preserving either quoted string or :parameter syntax. */
161
197
  withTypeValue?: StringLiteral | ParameterRef;
198
+ mode?: string;
199
+ /** Raw MODE value, preserving either quoted string or :parameter syntax. */
200
+ modeValue?: StringLiteral | ParameterRef;
201
+ threshold?: ThresholdClause;
202
+ limit?: LimitClause;
203
+ }
204
+ export interface ThresholdClause extends BaseNode {
205
+ kind: 'ThresholdClause';
206
+ value: NumberLiteral | ParameterRef;
207
+ }
208
+ export interface ExportStatement extends BaseNode {
209
+ kind: 'ExportStatement';
210
+ target: string;
211
+ where: WhereClause;
162
212
  limit?: LimitClause;
163
213
  }
164
214
  export type Expression = BinaryExpression | UnaryExpression | FunctionCallExpr | DotExpression | VariableRef | ParameterRef | StringLiteral | NumberLiteral | BooleanLiteral | NullLiteral | ArrayLiteral | ObjectLiteral;
package/dist/ast.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../src/ast.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../src/ast.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../src/formatter.ts"],"names":[],"mappings":"AAsCA,MAAM,WAAW,aAAa;IAC5B,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,sDAAsD;IACtD,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,MAAM,CAgBtE;AAwwBD;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,aAAa,GACtB,MAAM,CA0CR"}
1
+ {"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../src/formatter.ts"],"names":[],"mappings":"AA8CA,MAAM,WAAW,aAAa;IAC5B,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,sDAAsD;IACtD,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,MAAM,CAgBtE;AAu4BD;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,aAAa,GACtB,MAAM,CA0CR"}
package/dist/formatter.js CHANGED
@@ -71,12 +71,18 @@ class Formatter {
71
71
  return this.formatFind(stmt);
72
72
  case 'UpsertStatement':
73
73
  return this.formatUpsert(stmt);
74
+ case 'UpdateStatement':
75
+ return this.formatUpdate(stmt);
76
+ case 'MergeStatement':
77
+ return this.formatMerge(stmt);
74
78
  case 'DeleteStatement':
75
79
  return this.formatDelete(stmt);
76
80
  case 'DescribeStatement':
77
81
  return this.formatDescribe(stmt);
78
82
  case 'SearchStatement':
79
83
  return this.formatSearch(stmt);
84
+ case 'ExportStatement':
85
+ return this.formatExport(stmt);
80
86
  }
81
87
  }
82
88
  // ── FIND ───────────────────────────────────────────────────────────
@@ -160,6 +166,9 @@ class Formatter {
160
166
  .join(', '));
161
167
  this.write('}');
162
168
  this.newline();
169
+ if (block.expectVersion) {
170
+ this.formatExpectVersion(block.expectVersion);
171
+ }
163
172
  if (block.setAttributes) {
164
173
  this.formatSetAttributes(block.setAttributes);
165
174
  }
@@ -185,6 +194,9 @@ class Formatter {
185
194
  this.writeIndent();
186
195
  this.write(this.propositionBlockPatternToString(block));
187
196
  this.newline();
197
+ if (block.expectVersion) {
198
+ this.formatExpectVersion(block.expectVersion);
199
+ }
188
200
  if (block.setAttributes) {
189
201
  this.formatSetAttributes(block.setAttributes);
190
202
  }
@@ -233,6 +245,43 @@ class Formatter {
233
245
  this.write('}');
234
246
  this.newline();
235
247
  }
248
+ formatSetMetadata(sm) {
249
+ this.writeIndent();
250
+ this.write('SET METADATA {');
251
+ if (sm.entries.length === 0) {
252
+ this.write('}');
253
+ this.newline();
254
+ return;
255
+ }
256
+ const allSimple = sm.entries.every((e) => this.isSimpleValue(e.value));
257
+ if (allSimple && sm.entries.length <= 3) {
258
+ this.write(' ');
259
+ this.write(sm.entries
260
+ .map((e) => `${this.keyToString(e)}: ${this.exprToString(e.value, 0)}`)
261
+ .join(', '));
262
+ this.write(' }');
263
+ this.newline();
264
+ return;
265
+ }
266
+ this.newline();
267
+ this.indentLevel++;
268
+ for (let i = 0; i < sm.entries.length; i++) {
269
+ this.formatObjectEntry(sm.entries[i]);
270
+ if (i < sm.entries.length - 1) {
271
+ this.write(',');
272
+ }
273
+ this.newline();
274
+ }
275
+ this.indentLevel--;
276
+ this.writeIndent();
277
+ this.write('}');
278
+ this.newline();
279
+ }
280
+ formatExpectVersion(ev) {
281
+ this.writeIndent();
282
+ this.write(`EXPECT VERSION ${this.numberOrParameterValueToString(ev.value)}`);
283
+ this.newline();
284
+ }
236
285
  formatSetPropositions(sp) {
237
286
  this.writeIndent();
238
287
  this.write('SET PROPOSITIONS {');
@@ -300,6 +349,29 @@ class Formatter {
300
349
  this.write('}');
301
350
  this.newline();
302
351
  }
352
+ // ── UPDATE ─────────────────────────────────────────────────────────
353
+ formatUpdate(stmt) {
354
+ this.writeIndent();
355
+ this.write(`UPDATE ${stmt.target}`);
356
+ this.newline();
357
+ if (stmt.setAttributes) {
358
+ this.formatSetAttributes(stmt.setAttributes);
359
+ }
360
+ if (stmt.setMetadata) {
361
+ this.formatSetMetadata(stmt.setMetadata);
362
+ }
363
+ this.formatWhere(stmt.where);
364
+ if (stmt.limit) {
365
+ this.formatLimit(stmt.limit);
366
+ }
367
+ }
368
+ // ── MERGE ──────────────────────────────────────────────────────────
369
+ formatMerge(stmt) {
370
+ this.writeIndent();
371
+ this.write(`MERGE CONCEPT ${stmt.source} INTO ${stmt.target}`);
372
+ this.newline();
373
+ this.formatWhere(stmt.where);
374
+ }
303
375
  // ── DELETE ─────────────────────────────────────────────────────────
304
376
  formatDelete(stmt) {
305
377
  this.writeIndent();
@@ -356,10 +428,26 @@ class Formatter {
356
428
  if (stmt.withTypeValue || stmt.withType !== undefined) {
357
429
  this.write(` WITH TYPE ${this.quotedOrParameterValueToString(stmt.withTypeValue, stmt.withType ?? '')}`);
358
430
  }
431
+ if (stmt.modeValue || stmt.mode !== undefined) {
432
+ this.write(` MODE ${this.quotedOrParameterValueToString(stmt.modeValue, stmt.mode ?? '')}`);
433
+ }
434
+ if (stmt.threshold) {
435
+ this.write(` THRESHOLD ${this.thresholdValueToString(stmt.threshold)}`);
436
+ }
359
437
  if (stmt.limit) {
360
438
  this.write(` LIMIT ${this.limitValueToString(stmt.limit)}`);
361
439
  }
362
440
  }
441
+ // ── EXPORT ─────────────────────────────────────────────────────────
442
+ formatExport(stmt) {
443
+ this.writeIndent();
444
+ this.write(`EXPORT ${stmt.target}`);
445
+ this.newline();
446
+ this.formatWhere(stmt.where);
447
+ if (stmt.limit) {
448
+ this.formatLimit(stmt.limit);
449
+ }
450
+ }
363
451
  // ── WHERE ──────────────────────────────────────────────────────────
364
452
  formatWhere(where) {
365
453
  this.writeIndent();
@@ -456,7 +544,12 @@ class Formatter {
456
544
  }
457
545
  formatOrderBy(ob) {
458
546
  this.writeIndent();
459
- this.write(`ORDER BY ${this.exprToString(ob.expression, 0)} ${ob.direction}`);
547
+ const keys = ob.keys && ob.keys.length > 0
548
+ ? ob.keys
549
+ : [{ expression: ob.expression, direction: ob.direction }];
550
+ this.write(`ORDER BY ${keys
551
+ .map((key) => `${this.exprToString(key.expression, 0)} ${key.direction}`)
552
+ .join(', ')}`);
460
553
  this.newline();
461
554
  }
462
555
  formatLimit(lim) {
@@ -580,6 +673,9 @@ class Formatter {
580
673
  return id.name;
581
674
  }
582
675
  predicateToString(pred) {
676
+ if (pred.kind === 'PredicateVariable') {
677
+ return pred.name;
678
+ }
583
679
  if (pred.kind === 'PredicateLiteral') {
584
680
  let s = `"${this.escapeString(pred.value)}"`;
585
681
  if (pred.hopRange) {
@@ -599,9 +695,15 @@ class Formatter {
599
695
  return pred.predicates.map((p) => this.predicateToString(p)).join(' | ');
600
696
  }
601
697
  limitValueToString(lim) {
602
- if (lim.value.kind === 'NumberLiteral')
603
- return lim.value.raw;
604
- return lim.value.name;
698
+ return this.numberOrParameterValueToString(lim.value);
699
+ }
700
+ thresholdValueToString(threshold) {
701
+ return this.numberOrParameterValueToString(threshold.value);
702
+ }
703
+ numberOrParameterValueToString(value) {
704
+ if (value.kind === 'NumberLiteral')
705
+ return value.raw;
706
+ return value.name;
605
707
  }
606
708
  cursorValueToString(cur) {
607
709
  if (cur.value.kind === 'StringLiteral')
@@ -1 +1 @@
1
- {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../src/formatter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../src/formatter.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -7,5 +7,5 @@ export { diagnose } from './diagnostics.js';
7
7
  export type { Diagnostic } from './diagnostics.js';
8
8
  export { TokenType, KEYWORDS, FUNCTIONS, isKeyword, isFunction, isLiteral, isTrivia } from './token.js';
9
9
  export type { Token, Position, Range } from './token.js';
10
- export type { Program, Statement, FindStatement, UpsertStatement, DeleteStatement, DescribeStatement, SearchStatement, WhereClause, WherePattern, OrderByClause, LimitClause, CursorClause, ConceptPattern, ConceptMatcher, PropositionPattern, PropositionEndpoint, PredicateExpr, PredicateLiteral, PredicateAlternation, HopRange, FilterClause, NotClause, OptionalClause, UnionClause, ConceptBlock, PropositionBlock, SetAttributes, SetPropositions, PropositionItem, WithMetadata, Expression, BinaryExpression, UnaryExpression, FunctionCallExpr, DotExpression, VariableRef, ParameterRef, StringLiteral, NumberLiteral, BooleanLiteral, NullLiteral, ObjectEntry, ObjectLiteral, ArrayLiteral } from './ast.js';
10
+ export type { Program, Statement, FindStatement, UpsertStatement, UpdateStatement, MergeStatement, DeleteStatement, DescribeStatement, SearchStatement, ExportStatement, WhereClause, WherePattern, OrderByClause, OrderByKey, LimitClause, CursorClause, ThresholdClause, ConceptPattern, ConceptMatcher, PropositionPattern, PropositionEndpoint, PredicateExpr, PredicateLiteral, PredicateVariable, PredicateAlternation, HopRange, FilterClause, NotClause, OptionalClause, UnionClause, ConceptBlock, PropositionBlock, ExpectVersion, SetAttributes, SetMetadata, SetPropositions, PropositionItem, WithMetadata, Expression, BinaryExpression, UnaryExpression, FunctionCallExpr, DotExpression, VariableRef, ParameterRef, StringLiteral, NumberLiteral, BooleanLiteral, NullLiteral, ObjectEntry, ObjectLiteral, ArrayLiteral } from './ast.js';
11
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AACjE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAElD,OAAO,EACL,SAAS,EACT,QAAQ,EACR,SAAS,EACT,SAAS,EACT,UAAU,EACV,SAAS,EACT,QAAQ,EACT,MAAM,YAAY,CAAA;AACnB,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAExD,YAAY,EACV,OAAO,EACP,SAAS,EACT,aAAa,EACb,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,YAAY,EACZ,aAAa,EACb,WAAW,EACX,YAAY,EACZ,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,oBAAoB,EACpB,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,cAAc,EACd,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,eAAe,EACf,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,YAAY,EACZ,aAAa,EACb,aAAa,EACb,cAAc,EACd,WAAW,EACX,WAAW,EACX,aAAa,EACb,YAAY,EACb,MAAM,UAAU,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AACjE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAElD,OAAO,EACL,SAAS,EACT,QAAQ,EACR,SAAS,EACT,SAAS,EACT,UAAU,EACV,SAAS,EACT,QAAQ,EACT,MAAM,YAAY,CAAA;AACnB,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAExD,YAAY,EACV,OAAO,EACP,SAAS,EACT,aAAa,EACb,eAAe,EACf,eAAe,EACf,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,WAAW,EACX,YAAY,EACZ,aAAa,EACb,UAAU,EACV,WAAW,EACX,YAAY,EACZ,eAAe,EACf,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,cAAc,EACd,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,WAAW,EACX,eAAe,EACf,eAAe,EACf,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,YAAY,EACZ,aAAa,EACb,aAAa,EACb,cAAc,EACd,WAAW,EACX,WAAW,EACX,aAAa,EACb,YAAY,EACb,MAAM,UAAU,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,OAAO,EA4CR,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAElD,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,OAAO,CAAA;IACZ,WAAW,EAAE,UAAU,EAAE,CAAA;CAC1B;AAED,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAIjD"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,OAAO,EAoDR,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAElD,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,OAAO,CAAA;IACZ,WAAW,EAAE,UAAU,EAAE,CAAA;CAC1B;AAED,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAIjD"}