@sharpee/parser-en-us 0.9.66-beta → 0.9.67-beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/direction-mappings.d.ts +24 -0
  2. package/direction-mappings.d.ts.map +1 -0
  3. package/direction-mappings.js +82 -0
  4. package/direction-mappings.js.map +1 -0
  5. package/english-grammar-engine.d.ts +85 -0
  6. package/english-grammar-engine.d.ts.map +1 -0
  7. package/english-grammar-engine.js +562 -0
  8. package/english-grammar-engine.js.map +1 -0
  9. package/english-parser.d.ts +184 -0
  10. package/english-parser.d.ts.map +1 -0
  11. package/english-parser.js +1268 -0
  12. package/english-parser.js.map +1 -0
  13. package/english-pattern-compiler.d.ts +29 -0
  14. package/english-pattern-compiler.d.ts.map +1 -0
  15. package/english-pattern-compiler.js +211 -0
  16. package/english-pattern-compiler.js.map +1 -0
  17. package/grammar.d.ts +19 -0
  18. package/grammar.d.ts.map +1 -0
  19. package/grammar.js +636 -0
  20. package/grammar.js.map +1 -0
  21. package/index.d.ts +24 -0
  22. package/index.d.ts.map +1 -0
  23. package/index.js +44 -0
  24. package/index.js.map +1 -0
  25. package/package.json +1 -13
  26. package/parse-failure.d.ts +59 -0
  27. package/parse-failure.d.ts.map +1 -0
  28. package/parse-failure.js +132 -0
  29. package/parse-failure.js.map +1 -0
  30. package/parser-types.d.ts +185 -0
  31. package/parser-types.d.ts.map +1 -0
  32. package/parser-types.js +134 -0
  33. package/parser-types.js.map +1 -0
  34. package/pronoun-context.d.ts +119 -0
  35. package/pronoun-context.d.ts.map +1 -0
  36. package/pronoun-context.js +249 -0
  37. package/pronoun-context.js.map +1 -0
  38. package/scope-evaluator.d.ts +58 -0
  39. package/scope-evaluator.d.ts.map +1 -0
  40. package/scope-evaluator.js +205 -0
  41. package/scope-evaluator.js.map +1 -0
  42. package/slot-consumers/entity-slot-consumer.d.ts +36 -0
  43. package/slot-consumers/entity-slot-consumer.d.ts.map +1 -0
  44. package/slot-consumers/entity-slot-consumer.js +413 -0
  45. package/slot-consumers/entity-slot-consumer.js.map +1 -0
  46. package/slot-consumers/index.d.ts +43 -0
  47. package/slot-consumers/index.d.ts.map +1 -0
  48. package/slot-consumers/index.js +78 -0
  49. package/slot-consumers/index.js.map +1 -0
  50. package/slot-consumers/slot-consumer.d.ts +61 -0
  51. package/slot-consumers/slot-consumer.d.ts.map +1 -0
  52. package/slot-consumers/slot-consumer.js +31 -0
  53. package/slot-consumers/slot-consumer.js.map +1 -0
  54. package/slot-consumers/text-slot-consumer.d.ts +33 -0
  55. package/slot-consumers/text-slot-consumer.d.ts.map +1 -0
  56. package/slot-consumers/text-slot-consumer.js +157 -0
  57. package/slot-consumers/text-slot-consumer.js.map +1 -0
  58. package/slot-consumers/typed-slot-consumer.d.ts +35 -0
  59. package/slot-consumers/typed-slot-consumer.d.ts.map +1 -0
  60. package/slot-consumers/typed-slot-consumer.js +151 -0
  61. package/slot-consumers/typed-slot-consumer.js.map +1 -0
  62. package/slot-consumers/vocabulary-slot-consumer.d.ts +42 -0
  63. package/slot-consumers/vocabulary-slot-consumer.d.ts.map +1 -0
  64. package/slot-consumers/vocabulary-slot-consumer.js +186 -0
  65. package/slot-consumers/vocabulary-slot-consumer.js.map +1 -0
package/grammar.js ADDED
@@ -0,0 +1,636 @@
1
+ "use strict";
2
+ /**
3
+ * @file English Grammar Rules
4
+ * @description Standard grammar patterns for English interactive fiction
5
+ *
6
+ * Rule Priority Guidelines:
7
+ * - 100+: Semantic rules with trait constraints (e.g., .hasTrait(TraitType.ENTERABLE))
8
+ * - 100: Standard patterns
9
+ * - 95: Synonyms/alternatives
10
+ * - 90: Abbreviations
11
+ *
12
+ * Semantic rules should come first to match before fallback patterns.
13
+ */
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.defineGrammar = defineGrammar;
16
+ const world_model_1 = require("./src/index.js");
17
+ /**
18
+ * Define English grammar rules
19
+ * @param grammar The grammar builder to use
20
+ */
21
+ function defineGrammar(grammar) {
22
+ // Looking (ADR-087: using forAction)
23
+ grammar
24
+ .forAction('if.action.looking')
25
+ .verbs(['look', 'l'])
26
+ .build();
27
+ // Examining (ADR-087: using forAction)
28
+ // Scope handled by action validation - tries see/feel/hear/smell cascade
29
+ grammar
30
+ .forAction('if.action.examining')
31
+ .verbs(['examine', 'x', 'inspect'])
32
+ .pattern(':target')
33
+ .build();
34
+ // "look at" is a phrasal pattern - different structure
35
+ grammar
36
+ .define('look at :target')
37
+ .mapsTo('if.action.examining')
38
+ .withPriority(95)
39
+ .build();
40
+ // Looking with optional adverbs
41
+ grammar
42
+ .define('look [carefully] at :target')
43
+ .mapsTo('if.action.examining_carefully')
44
+ .withPriority(96)
45
+ .build(); // Slightly higher priority, but confidence penalty for skipped optionals
46
+ grammar
47
+ .define('look [around]')
48
+ .mapsTo('if.action.looking')
49
+ .withPriority(101)
50
+ .build();
51
+ grammar
52
+ .define('search [carefully]')
53
+ .mapsTo('if.action.searching')
54
+ .withPriority(100)
55
+ .build();
56
+ // Searching with target
57
+ grammar
58
+ .define('search :target')
59
+ .mapsTo('if.action.searching')
60
+ .withPriority(100)
61
+ .build();
62
+ grammar
63
+ .define('look in|inside :target')
64
+ .mapsTo('if.action.searching')
65
+ .withPriority(100)
66
+ .build();
67
+ grammar
68
+ .define('look through :target')
69
+ .mapsTo('if.action.searching')
70
+ .withPriority(100)
71
+ .build();
72
+ grammar
73
+ .define('rummage in|through :target')
74
+ .mapsTo('if.action.searching')
75
+ .withPriority(95)
76
+ .build();
77
+ // Taking and dropping (ADR-087: using forAction)
78
+ // Scope handled by action validation; SceneryTrait blocks non-portable items
79
+ grammar
80
+ .forAction('if.action.taking')
81
+ .verbs(['take', 'get', 'grab'])
82
+ .pattern(':item')
83
+ .build();
84
+ // "pick up" is a phrasal verb - different pattern structure
85
+ grammar
86
+ .define('pick up :item')
87
+ .mapsTo('if.action.taking')
88
+ .withPriority(100)
89
+ .build();
90
+ // Scope (carried) handled by action validation
91
+ grammar
92
+ .forAction('if.action.dropping')
93
+ .verbs(['drop', 'discard'])
94
+ .pattern(':item')
95
+ .build();
96
+ // "put down" is a phrasal verb - different pattern structure
97
+ grammar
98
+ .define('put down :item')
99
+ .mapsTo('if.action.dropping')
100
+ .withPriority(100)
101
+ .build();
102
+ // ADR-080 Phase 2: Multi-object commands
103
+ // Note: The parser detects "all" and "X and Y" patterns automatically in entity slots.
104
+ // No special grammar patterns needed - existing patterns work because:
105
+ // - "take all" matches "take :item", consumeEntitySlot detects "all" keyword
106
+ // - "take knife and lamp" matches "take :item", parser creates list
107
+ // - "take all but sword" matches "take :item", parser detects exclusion
108
+ // Container operations
109
+ // Scope handled by action validation; traits declare semantic constraints only
110
+ grammar
111
+ .define('put :item in|into|inside :container')
112
+ .hasTrait('container', world_model_1.TraitType.CONTAINER)
113
+ .mapsTo('if.action.inserting')
114
+ .withPriority(100)
115
+ .build();
116
+ grammar
117
+ .define('insert :item in|into :container')
118
+ .hasTrait('container', world_model_1.TraitType.CONTAINER)
119
+ .mapsTo('if.action.inserting')
120
+ .withPriority(100)
121
+ .build();
122
+ // Supporter operations (including hanging!)
123
+ grammar
124
+ .define('put :item on|onto :supporter')
125
+ .hasTrait('supporter', world_model_1.TraitType.SUPPORTER)
126
+ .mapsTo('if.action.putting')
127
+ .withPriority(100)
128
+ .build();
129
+ grammar
130
+ .define('hang :item on :hook')
131
+ .mapsTo('if.action.putting')
132
+ .withPriority(110)
133
+ .build(); // Higher priority than generic put
134
+ // Reading (ADR-087: using forAction)
135
+ grammar
136
+ .forAction('if.action.reading')
137
+ .verbs(['read', 'peruse', 'study'])
138
+ .pattern(':target')
139
+ .build();
140
+ // Inventory (ADR-087: using forAction)
141
+ grammar
142
+ .forAction('if.action.inventory')
143
+ .verbs(['inventory', 'inv', 'i'])
144
+ .build();
145
+ // Movement (ADR-087: using forAction with directions)
146
+ grammar
147
+ .define('go :direction')
148
+ .where('direction', { type: 'direction' })
149
+ .mapsTo('if.action.going')
150
+ .withPriority(100)
151
+ .build();
152
+ // Bare direction commands (ADR-087: consolidated with forAction)
153
+ grammar
154
+ .forAction('if.action.going')
155
+ .directions({
156
+ 'north': ['north', 'n'],
157
+ 'south': ['south', 's'],
158
+ 'east': ['east', 'e'],
159
+ 'west': ['west', 'w'],
160
+ 'northeast': ['northeast', 'ne'],
161
+ 'northwest': ['northwest', 'nw'],
162
+ 'southeast': ['southeast', 'se'],
163
+ 'southwest': ['southwest', 'sw'],
164
+ 'up': ['up', 'u'],
165
+ 'down': ['down', 'd'],
166
+ 'in': ['in'],
167
+ 'out': ['out']
168
+ })
169
+ .build();
170
+ // Opening and closing
171
+ // Scope handled by action validation; traits declare semantic constraints only
172
+ grammar
173
+ .define('open :door')
174
+ .hasTrait('door', world_model_1.TraitType.OPENABLE)
175
+ .mapsTo('if.action.opening')
176
+ .withPriority(100)
177
+ .build();
178
+ grammar
179
+ .define('close :door')
180
+ .hasTrait('door', world_model_1.TraitType.OPENABLE)
181
+ .mapsTo('if.action.closing')
182
+ .withPriority(100)
183
+ .build();
184
+ // Switching on/off (ADR-087: using forAction)
185
+ grammar
186
+ .forAction('if.action.switching_on')
187
+ .verbs(['turn', 'switch', 'flip'])
188
+ .pattern('on :device')
189
+ .hasTrait('device', world_model_1.TraitType.SWITCHABLE)
190
+ .build();
191
+ grammar
192
+ .forAction('if.action.switching_off')
193
+ .verbs(['turn', 'switch', 'flip'])
194
+ .pattern('off :device')
195
+ .hasTrait('device', world_model_1.TraitType.SWITCHABLE)
196
+ .build();
197
+ // Alternative phrasal verb order: "turn lamp on" / "turn lamp off"
198
+ grammar
199
+ .define('turn :device on')
200
+ .hasTrait('device', world_model_1.TraitType.SWITCHABLE)
201
+ .mapsTo('if.action.switching_on')
202
+ .build();
203
+ grammar
204
+ .define('turn :device off')
205
+ .hasTrait('device', world_model_1.TraitType.SWITCHABLE)
206
+ .mapsTo('if.action.switching_off')
207
+ .build();
208
+ // Pushing and pulling (ADR-087: using forAction)
209
+ // Scope handled by action validation
210
+ grammar
211
+ .forAction('if.action.pushing')
212
+ .verbs(['push', 'press', 'shove', 'move'])
213
+ .pattern(':target')
214
+ .build();
215
+ grammar
216
+ .forAction('if.action.pulling')
217
+ .verbs(['pull', 'drag', 'yank'])
218
+ .pattern(':target')
219
+ .build();
220
+ // Lowering and raising (ADR-090: capability dispatch)
221
+ grammar
222
+ .forAction('if.action.lowering')
223
+ .verbs(['lower'])
224
+ .pattern(':target')
225
+ .build();
226
+ grammar
227
+ .forAction('if.action.raising')
228
+ .verbs(['raise', 'lift'])
229
+ .pattern(':target')
230
+ .build();
231
+ // Waiting (ADR-087: using forAction)
232
+ grammar
233
+ .forAction('if.action.waiting')
234
+ .verbs(['wait', 'z'])
235
+ .build();
236
+ // Meta commands
237
+ grammar
238
+ .define('save')
239
+ .mapsTo('if.action.saving')
240
+ .withPriority(100)
241
+ .build();
242
+ grammar
243
+ .define('restore')
244
+ .mapsTo('if.action.restoring')
245
+ .withPriority(100)
246
+ .build();
247
+ grammar
248
+ .define('restart')
249
+ .mapsTo('if.action.restarting')
250
+ .withPriority(100)
251
+ .build();
252
+ // Quitting (ADR-087: using forAction)
253
+ grammar
254
+ .forAction('if.action.quitting')
255
+ .verbs(['quit', 'q'])
256
+ .build();
257
+ grammar
258
+ .define('undo')
259
+ .mapsTo('if.action.undoing')
260
+ .withPriority(100)
261
+ .build();
262
+ // Score and version
263
+ grammar
264
+ .define('score')
265
+ .mapsTo('if.action.scoring')
266
+ .withPriority(100)
267
+ .build();
268
+ grammar
269
+ .define('version')
270
+ .mapsTo('if.action.version')
271
+ .withPriority(100)
272
+ .build();
273
+ // Help
274
+ grammar
275
+ .define('help')
276
+ .mapsTo('if.action.help')
277
+ .withPriority(100)
278
+ .build();
279
+ // About / Info / Credits
280
+ grammar
281
+ .define('about')
282
+ .mapsTo('if.action.about')
283
+ .withPriority(100)
284
+ .build();
285
+ grammar
286
+ .define('info')
287
+ .mapsTo('if.action.about')
288
+ .withPriority(100)
289
+ .build();
290
+ grammar
291
+ .define('credits')
292
+ .mapsTo('if.action.about')
293
+ .withPriority(100)
294
+ .build();
295
+ // Author/debug commands
296
+ // Trace command - enables/disables tracing
297
+ grammar
298
+ .define('trace')
299
+ .mapsTo('author.trace')
300
+ .withPriority(100)
301
+ .build();
302
+ grammar
303
+ .define('trace on')
304
+ .mapsTo('author.trace')
305
+ .withPriority(100)
306
+ .build();
307
+ grammar
308
+ .define('trace off')
309
+ .mapsTo('author.trace')
310
+ .withPriority(100)
311
+ .build();
312
+ grammar
313
+ .define('trace parser on')
314
+ .mapsTo('author.trace')
315
+ .withPriority(100)
316
+ .build();
317
+ grammar
318
+ .define('trace parser off')
319
+ .mapsTo('author.trace')
320
+ .withPriority(100)
321
+ .build();
322
+ grammar
323
+ .define('trace validation on')
324
+ .mapsTo('author.trace')
325
+ .withPriority(100)
326
+ .build();
327
+ grammar
328
+ .define('trace validation off')
329
+ .mapsTo('author.trace')
330
+ .withPriority(100)
331
+ .build();
332
+ grammar
333
+ .define('trace system on')
334
+ .mapsTo('author.trace')
335
+ .withPriority(100)
336
+ .build();
337
+ grammar
338
+ .define('trace system off')
339
+ .mapsTo('author.trace')
340
+ .withPriority(100)
341
+ .build();
342
+ grammar
343
+ .define('trace all on')
344
+ .mapsTo('author.trace')
345
+ .withPriority(100)
346
+ .build();
347
+ grammar
348
+ .define('trace all off')
349
+ .mapsTo('author.trace')
350
+ .withPriority(100)
351
+ .build();
352
+ // VERB_NOUN_NOUN patterns (Phase 2)
353
+ // Scope handled by action validation; traits declare semantic constraints only
354
+ // Giving
355
+ grammar
356
+ .define('give :item to :recipient')
357
+ .hasTrait('recipient', world_model_1.TraitType.ACTOR)
358
+ .mapsTo('if.action.giving')
359
+ .withPriority(100)
360
+ .build();
361
+ grammar
362
+ .define('give :recipient :item')
363
+ .hasTrait('recipient', world_model_1.TraitType.ACTOR)
364
+ .mapsTo('if.action.giving')
365
+ .withPriority(95)
366
+ .build(); // Slightly lower priority than explicit "to"
367
+ grammar
368
+ .define('offer :item to :recipient')
369
+ .hasTrait('recipient', world_model_1.TraitType.ACTOR)
370
+ .mapsTo('if.action.giving')
371
+ .withPriority(100)
372
+ .build();
373
+ // Showing
374
+ grammar
375
+ .define('show :item to :recipient')
376
+ .hasTrait('recipient', world_model_1.TraitType.ACTOR)
377
+ .mapsTo('if.action.showing')
378
+ .withPriority(100)
379
+ .build();
380
+ grammar
381
+ .define('show :recipient :item')
382
+ .hasTrait('recipient', world_model_1.TraitType.ACTOR)
383
+ .mapsTo('if.action.showing')
384
+ .withPriority(95)
385
+ .build();
386
+ // Throwing
387
+ grammar
388
+ .define('throw :item at :target')
389
+ .mapsTo('if.action.throwing')
390
+ .withPriority(100)
391
+ .build();
392
+ grammar
393
+ .define('throw :item to :recipient')
394
+ .mapsTo('if.action.throwing')
395
+ .withPriority(100)
396
+ .build();
397
+ // Multiple preposition patterns (Phase 2.1)
398
+ // Scope handled by action validation; state checks (locked, open) in action validate()
399
+ // Taking from container with tool
400
+ grammar
401
+ .define('take :item from :container with :tool')
402
+ .mapsTo('if.action.taking_with')
403
+ .withPriority(110)
404
+ .build(); // Higher priority than simple take
405
+ // Unlocking with key
406
+ grammar
407
+ .define('unlock :door with :key')
408
+ .mapsTo('if.action.unlocking')
409
+ .withPriority(110)
410
+ .build(); // Higher priority than simple unlock
411
+ // Opening with tool
412
+ grammar
413
+ .define('open :container with :tool')
414
+ .hasTrait('container', world_model_1.TraitType.OPENABLE)
415
+ .mapsTo('if.action.opening_with')
416
+ .withPriority(110)
417
+ .build(); // Higher priority than simple open
418
+ // Cutting with tool
419
+ grammar
420
+ .define('cut :object with :tool')
421
+ .mapsTo('if.action.cutting')
422
+ .withPriority(110)
423
+ .build(); // Higher priority than simple cut
424
+ // Attacking - simple patterns (ADR-087: using forAction)
425
+ grammar
426
+ .forAction('if.action.attacking')
427
+ .verbs(['attack', 'kill', 'fight', 'slay', 'murder', 'hit', 'strike'])
428
+ .pattern(':target')
429
+ .build();
430
+ // Attacking with weapon (higher priority than simple attack)
431
+ grammar
432
+ .define('attack :target with :weapon')
433
+ .mapsTo('if.action.attacking')
434
+ .withPriority(110)
435
+ .build();
436
+ grammar
437
+ .define('kill :target with :weapon')
438
+ .mapsTo('if.action.attacking')
439
+ .withPriority(110)
440
+ .build();
441
+ grammar
442
+ .define('hit :target with :weapon')
443
+ .mapsTo('if.action.attacking')
444
+ .withPriority(110)
445
+ .build();
446
+ grammar
447
+ .define('strike :target with :weapon')
448
+ .mapsTo('if.action.attacking')
449
+ .withPriority(110)
450
+ .build();
451
+ // Digging with tool
452
+ grammar
453
+ .define('dig :location with :tool')
454
+ .mapsTo('if.action.digging')
455
+ .withPriority(110)
456
+ .build(); // Higher priority than simple dig
457
+ // Communication patterns with quoted strings
458
+ // Scope handled by action validation; traits declare semantic constraints only
459
+ grammar
460
+ .define('say :message')
461
+ .mapsTo('if.action.saying')
462
+ .withPriority(100)
463
+ .build();
464
+ grammar
465
+ .define('say :message to :recipient')
466
+ .hasTrait('recipient', world_model_1.TraitType.ACTOR)
467
+ .mapsTo('if.action.saying_to')
468
+ .withPriority(105)
469
+ .build();
470
+ grammar
471
+ .define('write :message')
472
+ .mapsTo('if.action.writing')
473
+ .withPriority(100)
474
+ .build();
475
+ grammar
476
+ .define('write :message on :surface')
477
+ .mapsTo('if.action.writing_on')
478
+ .withPriority(105)
479
+ .build();
480
+ grammar
481
+ .define('shout :message')
482
+ .mapsTo('if.action.shouting')
483
+ .withPriority(100)
484
+ .build();
485
+ grammar
486
+ .define('whisper :message to :recipient')
487
+ .hasTrait('recipient', world_model_1.TraitType.ACTOR)
488
+ .mapsTo('if.action.whispering')
489
+ .withPriority(100)
490
+ .build();
491
+ grammar
492
+ .define('tell :recipient about :topic')
493
+ .hasTrait('recipient', world_model_1.TraitType.ACTOR)
494
+ .mapsTo('if.action.telling')
495
+ .withPriority(100)
496
+ .build();
497
+ grammar
498
+ .define('ask :recipient about :topic')
499
+ .hasTrait('recipient', world_model_1.TraitType.ACTOR)
500
+ .mapsTo('if.action.asking')
501
+ .withPriority(100)
502
+ .build();
503
+ // Touching/sensory actions (ADR-087: using forAction)
504
+ // Scope handled by action validation
505
+ grammar
506
+ .forAction('if.action.touching')
507
+ .verbs(['touch', 'rub', 'feel', 'pat', 'stroke', 'poke', 'prod'])
508
+ .pattern(':target')
509
+ .build();
510
+ // ============================================================================
511
+ // ENTERING AND EXITING
512
+ // Scope handled by action validation; traits declare semantic constraints only
513
+ // ============================================================================
514
+ // Semantic: enter specific enterable thing (priority 100)
515
+ grammar
516
+ .define('enter :portal')
517
+ .hasTrait('portal', world_model_1.TraitType.ENTERABLE)
518
+ .mapsTo('if.action.entering')
519
+ .withPriority(100)
520
+ .build();
521
+ grammar
522
+ .define('get in :portal')
523
+ .hasTrait('portal', world_model_1.TraitType.ENTERABLE)
524
+ .mapsTo('if.action.entering')
525
+ .withPriority(100)
526
+ .build();
527
+ grammar
528
+ .define('get into :portal')
529
+ .hasTrait('portal', world_model_1.TraitType.ENTERABLE)
530
+ .mapsTo('if.action.entering')
531
+ .withPriority(100)
532
+ .build();
533
+ grammar
534
+ .define('climb in :portal')
535
+ .hasTrait('portal', world_model_1.TraitType.ENTERABLE)
536
+ .mapsTo('if.action.entering')
537
+ .withPriority(100)
538
+ .build();
539
+ grammar
540
+ .define('climb into :portal')
541
+ .hasTrait('portal', world_model_1.TraitType.ENTERABLE)
542
+ .mapsTo('if.action.entering')
543
+ .withPriority(100)
544
+ .build();
545
+ grammar
546
+ .define('go in :portal')
547
+ .hasTrait('portal', world_model_1.TraitType.ENTERABLE)
548
+ .mapsTo('if.action.entering')
549
+ .withPriority(100)
550
+ .build();
551
+ grammar
552
+ .define('go into :portal')
553
+ .hasTrait('portal', world_model_1.TraitType.ENTERABLE)
554
+ .mapsTo('if.action.entering')
555
+ .withPriority(100)
556
+ .build();
557
+ // Exiting (bare command, no target - exits current container/location)
558
+ grammar
559
+ .define('exit')
560
+ .mapsTo('if.action.exiting')
561
+ .withPriority(100)
562
+ .build();
563
+ grammar
564
+ .define('get out')
565
+ .mapsTo('if.action.exiting')
566
+ .withPriority(100)
567
+ .build();
568
+ grammar
569
+ .define('leave')
570
+ .mapsTo('if.action.exiting')
571
+ .withPriority(95)
572
+ .build();
573
+ grammar
574
+ .define('climb out')
575
+ .mapsTo('if.action.exiting')
576
+ .withPriority(100)
577
+ .build();
578
+ // Vehicle-specific synonyms (map to entering/exiting actions)
579
+ grammar
580
+ .define('board :vehicle')
581
+ .hasTrait('vehicle', world_model_1.TraitType.ENTERABLE)
582
+ .mapsTo('if.action.entering')
583
+ .withPriority(100)
584
+ .build();
585
+ grammar
586
+ .define('get on :vehicle')
587
+ .hasTrait('vehicle', world_model_1.TraitType.ENTERABLE)
588
+ .mapsTo('if.action.entering')
589
+ .withPriority(100)
590
+ .build();
591
+ // Exiting with a target (exit specific container/vehicle)
592
+ grammar
593
+ .define('exit :container')
594
+ .hasTrait('container', world_model_1.TraitType.ENTERABLE)
595
+ .mapsTo('if.action.exiting')
596
+ .withPriority(100)
597
+ .build();
598
+ grammar
599
+ .define('disembark')
600
+ .mapsTo('if.action.exiting')
601
+ .withPriority(100)
602
+ .build();
603
+ grammar
604
+ .define('disembark :vehicle')
605
+ .hasTrait('vehicle', world_model_1.TraitType.ENTERABLE)
606
+ .mapsTo('if.action.exiting')
607
+ .withPriority(100)
608
+ .build();
609
+ grammar
610
+ .define('get off :vehicle')
611
+ .hasTrait('vehicle', world_model_1.TraitType.ENTERABLE)
612
+ .mapsTo('if.action.exiting')
613
+ .withPriority(100)
614
+ .build();
615
+ grammar
616
+ .define('alight')
617
+ .mapsTo('if.action.exiting')
618
+ .withPriority(95)
619
+ .build();
620
+ // =========================================================================
621
+ // Meta commands - AGAIN (repeat last command)
622
+ // =========================================================================
623
+ // Full word "again"
624
+ grammar
625
+ .define('again')
626
+ .mapsTo('if.action.again')
627
+ .withPriority(100)
628
+ .build();
629
+ // Abbreviation "g"
630
+ grammar
631
+ .define('g')
632
+ .mapsTo('if.action.again')
633
+ .withPriority(90)
634
+ .build();
635
+ }
636
+ //# sourceMappingURL=grammar.js.map
package/grammar.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grammar.js","sourceRoot":"","sources":["../../../../../../../../mnt/c/repotemp/sharpee/packages/parser-en-us/src/grammar.ts"],"names":[],"mappings":"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"}
package/index.d.ts ADDED
@@ -0,0 +1,24 @@
1
+ /**
2
+ * English (US) Parser for Sharpee Interactive Fiction Platform
3
+ *
4
+ * This package provides English-specific parsing functionality
5
+ * for converting natural language commands into structured commands.
6
+ */
7
+ export { EnglishParser } from './english-parser';
8
+ export { EnglishParser as Parser } from './english-parser';
9
+ export type { Parser as ParserInterface } from "./src/index";
10
+ export type { PartialMatchFailure, SlotFailure, MatchFailureReason } from './parse-failure';
11
+ export { analyzeBestFailure } from './parse-failure';
12
+ export type { EntityReference, PronounContext, RecognizedPronoun } from './pronoun-context';
13
+ export { PronounContextManager, isRecognizedPronoun, RECOGNIZED_PRONOUNS, INANIMATE_IT, INANIMATE_THEM } from './pronoun-context';
14
+ /**
15
+ * Package metadata
16
+ */
17
+ export declare const metadata: {
18
+ languageCode: string;
19
+ languageName: string;
20
+ parserVersion: string;
21
+ supportedPatterns: string[];
22
+ features: string[];
23
+ };
24
+ //# sourceMappingURL=index.d.ts.map