@sharpee/parser-en-us 0.9.60-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 (67) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +123 -0
  3. package/dist/direction-mappings.d.ts +24 -0
  4. package/dist/direction-mappings.d.ts.map +1 -0
  5. package/dist/direction-mappings.js +82 -0
  6. package/dist/direction-mappings.js.map +1 -0
  7. package/dist/english-grammar-engine.d.ts +85 -0
  8. package/dist/english-grammar-engine.d.ts.map +1 -0
  9. package/dist/english-grammar-engine.js +562 -0
  10. package/dist/english-grammar-engine.js.map +1 -0
  11. package/dist/english-parser.d.ts +184 -0
  12. package/dist/english-parser.d.ts.map +1 -0
  13. package/dist/english-parser.js +1268 -0
  14. package/dist/english-parser.js.map +1 -0
  15. package/dist/english-pattern-compiler.d.ts +29 -0
  16. package/dist/english-pattern-compiler.d.ts.map +1 -0
  17. package/dist/english-pattern-compiler.js +211 -0
  18. package/dist/english-pattern-compiler.js.map +1 -0
  19. package/dist/grammar.d.ts +19 -0
  20. package/dist/grammar.d.ts.map +1 -0
  21. package/dist/grammar.js +620 -0
  22. package/dist/grammar.js.map +1 -0
  23. package/dist/index.d.ts +24 -0
  24. package/dist/index.d.ts.map +1 -0
  25. package/dist/index.js +44 -0
  26. package/dist/index.js.map +1 -0
  27. package/dist/parse-failure.d.ts +59 -0
  28. package/dist/parse-failure.d.ts.map +1 -0
  29. package/dist/parse-failure.js +132 -0
  30. package/dist/parse-failure.js.map +1 -0
  31. package/dist/parser-types.d.ts +185 -0
  32. package/dist/parser-types.d.ts.map +1 -0
  33. package/dist/parser-types.js +134 -0
  34. package/dist/parser-types.js.map +1 -0
  35. package/dist/pronoun-context.d.ts +119 -0
  36. package/dist/pronoun-context.d.ts.map +1 -0
  37. package/dist/pronoun-context.js +249 -0
  38. package/dist/pronoun-context.js.map +1 -0
  39. package/dist/scope-evaluator.d.ts +58 -0
  40. package/dist/scope-evaluator.d.ts.map +1 -0
  41. package/dist/scope-evaluator.js +205 -0
  42. package/dist/scope-evaluator.js.map +1 -0
  43. package/dist/slot-consumers/entity-slot-consumer.d.ts +36 -0
  44. package/dist/slot-consumers/entity-slot-consumer.d.ts.map +1 -0
  45. package/dist/slot-consumers/entity-slot-consumer.js +413 -0
  46. package/dist/slot-consumers/entity-slot-consumer.js.map +1 -0
  47. package/dist/slot-consumers/index.d.ts +43 -0
  48. package/dist/slot-consumers/index.d.ts.map +1 -0
  49. package/dist/slot-consumers/index.js +78 -0
  50. package/dist/slot-consumers/index.js.map +1 -0
  51. package/dist/slot-consumers/slot-consumer.d.ts +61 -0
  52. package/dist/slot-consumers/slot-consumer.d.ts.map +1 -0
  53. package/dist/slot-consumers/slot-consumer.js +31 -0
  54. package/dist/slot-consumers/slot-consumer.js.map +1 -0
  55. package/dist/slot-consumers/text-slot-consumer.d.ts +33 -0
  56. package/dist/slot-consumers/text-slot-consumer.d.ts.map +1 -0
  57. package/dist/slot-consumers/text-slot-consumer.js +157 -0
  58. package/dist/slot-consumers/text-slot-consumer.js.map +1 -0
  59. package/dist/slot-consumers/typed-slot-consumer.d.ts +35 -0
  60. package/dist/slot-consumers/typed-slot-consumer.d.ts.map +1 -0
  61. package/dist/slot-consumers/typed-slot-consumer.js +151 -0
  62. package/dist/slot-consumers/typed-slot-consumer.js.map +1 -0
  63. package/dist/slot-consumers/vocabulary-slot-consumer.d.ts +42 -0
  64. package/dist/slot-consumers/vocabulary-slot-consumer.d.ts.map +1 -0
  65. package/dist/slot-consumers/vocabulary-slot-consumer.js +186 -0
  66. package/dist/slot-consumers/vocabulary-slot-consumer.js.map +1 -0
  67. package/package.json +65 -0
@@ -0,0 +1,620 @@
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("@sharpee/world-model");
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
+ // Author/debug commands
280
+ // Trace command - enables/disables tracing
281
+ grammar
282
+ .define('trace')
283
+ .mapsTo('author.trace')
284
+ .withPriority(100)
285
+ .build();
286
+ grammar
287
+ .define('trace on')
288
+ .mapsTo('author.trace')
289
+ .withPriority(100)
290
+ .build();
291
+ grammar
292
+ .define('trace off')
293
+ .mapsTo('author.trace')
294
+ .withPriority(100)
295
+ .build();
296
+ grammar
297
+ .define('trace parser on')
298
+ .mapsTo('author.trace')
299
+ .withPriority(100)
300
+ .build();
301
+ grammar
302
+ .define('trace parser off')
303
+ .mapsTo('author.trace')
304
+ .withPriority(100)
305
+ .build();
306
+ grammar
307
+ .define('trace validation on')
308
+ .mapsTo('author.trace')
309
+ .withPriority(100)
310
+ .build();
311
+ grammar
312
+ .define('trace validation off')
313
+ .mapsTo('author.trace')
314
+ .withPriority(100)
315
+ .build();
316
+ grammar
317
+ .define('trace system on')
318
+ .mapsTo('author.trace')
319
+ .withPriority(100)
320
+ .build();
321
+ grammar
322
+ .define('trace system off')
323
+ .mapsTo('author.trace')
324
+ .withPriority(100)
325
+ .build();
326
+ grammar
327
+ .define('trace all on')
328
+ .mapsTo('author.trace')
329
+ .withPriority(100)
330
+ .build();
331
+ grammar
332
+ .define('trace all off')
333
+ .mapsTo('author.trace')
334
+ .withPriority(100)
335
+ .build();
336
+ // VERB_NOUN_NOUN patterns (Phase 2)
337
+ // Scope handled by action validation; traits declare semantic constraints only
338
+ // Giving
339
+ grammar
340
+ .define('give :item to :recipient')
341
+ .hasTrait('recipient', world_model_1.TraitType.ACTOR)
342
+ .mapsTo('if.action.giving')
343
+ .withPriority(100)
344
+ .build();
345
+ grammar
346
+ .define('give :recipient :item')
347
+ .hasTrait('recipient', world_model_1.TraitType.ACTOR)
348
+ .mapsTo('if.action.giving')
349
+ .withPriority(95)
350
+ .build(); // Slightly lower priority than explicit "to"
351
+ grammar
352
+ .define('offer :item to :recipient')
353
+ .hasTrait('recipient', world_model_1.TraitType.ACTOR)
354
+ .mapsTo('if.action.giving')
355
+ .withPriority(100)
356
+ .build();
357
+ // Showing
358
+ grammar
359
+ .define('show :item to :recipient')
360
+ .hasTrait('recipient', world_model_1.TraitType.ACTOR)
361
+ .mapsTo('if.action.showing')
362
+ .withPriority(100)
363
+ .build();
364
+ grammar
365
+ .define('show :recipient :item')
366
+ .hasTrait('recipient', world_model_1.TraitType.ACTOR)
367
+ .mapsTo('if.action.showing')
368
+ .withPriority(95)
369
+ .build();
370
+ // Throwing
371
+ grammar
372
+ .define('throw :item at :target')
373
+ .mapsTo('if.action.throwing')
374
+ .withPriority(100)
375
+ .build();
376
+ grammar
377
+ .define('throw :item to :recipient')
378
+ .mapsTo('if.action.throwing')
379
+ .withPriority(100)
380
+ .build();
381
+ // Multiple preposition patterns (Phase 2.1)
382
+ // Scope handled by action validation; state checks (locked, open) in action validate()
383
+ // Taking from container with tool
384
+ grammar
385
+ .define('take :item from :container with :tool')
386
+ .mapsTo('if.action.taking_with')
387
+ .withPriority(110)
388
+ .build(); // Higher priority than simple take
389
+ // Unlocking with key
390
+ grammar
391
+ .define('unlock :door with :key')
392
+ .mapsTo('if.action.unlocking')
393
+ .withPriority(110)
394
+ .build(); // Higher priority than simple unlock
395
+ // Opening with tool
396
+ grammar
397
+ .define('open :container with :tool')
398
+ .hasTrait('container', world_model_1.TraitType.OPENABLE)
399
+ .mapsTo('if.action.opening_with')
400
+ .withPriority(110)
401
+ .build(); // Higher priority than simple open
402
+ // Cutting with tool
403
+ grammar
404
+ .define('cut :object with :tool')
405
+ .mapsTo('if.action.cutting')
406
+ .withPriority(110)
407
+ .build(); // Higher priority than simple cut
408
+ // Attacking - simple patterns (ADR-087: using forAction)
409
+ grammar
410
+ .forAction('if.action.attacking')
411
+ .verbs(['attack', 'kill', 'fight', 'slay', 'murder', 'hit', 'strike'])
412
+ .pattern(':target')
413
+ .build();
414
+ // Attacking with weapon (higher priority than simple attack)
415
+ grammar
416
+ .define('attack :target with :weapon')
417
+ .mapsTo('if.action.attacking')
418
+ .withPriority(110)
419
+ .build();
420
+ grammar
421
+ .define('kill :target with :weapon')
422
+ .mapsTo('if.action.attacking')
423
+ .withPriority(110)
424
+ .build();
425
+ grammar
426
+ .define('hit :target with :weapon')
427
+ .mapsTo('if.action.attacking')
428
+ .withPriority(110)
429
+ .build();
430
+ grammar
431
+ .define('strike :target with :weapon')
432
+ .mapsTo('if.action.attacking')
433
+ .withPriority(110)
434
+ .build();
435
+ // Digging with tool
436
+ grammar
437
+ .define('dig :location with :tool')
438
+ .mapsTo('if.action.digging')
439
+ .withPriority(110)
440
+ .build(); // Higher priority than simple dig
441
+ // Communication patterns with quoted strings
442
+ // Scope handled by action validation; traits declare semantic constraints only
443
+ grammar
444
+ .define('say :message')
445
+ .mapsTo('if.action.saying')
446
+ .withPriority(100)
447
+ .build();
448
+ grammar
449
+ .define('say :message to :recipient')
450
+ .hasTrait('recipient', world_model_1.TraitType.ACTOR)
451
+ .mapsTo('if.action.saying_to')
452
+ .withPriority(105)
453
+ .build();
454
+ grammar
455
+ .define('write :message')
456
+ .mapsTo('if.action.writing')
457
+ .withPriority(100)
458
+ .build();
459
+ grammar
460
+ .define('write :message on :surface')
461
+ .mapsTo('if.action.writing_on')
462
+ .withPriority(105)
463
+ .build();
464
+ grammar
465
+ .define('shout :message')
466
+ .mapsTo('if.action.shouting')
467
+ .withPriority(100)
468
+ .build();
469
+ grammar
470
+ .define('whisper :message to :recipient')
471
+ .hasTrait('recipient', world_model_1.TraitType.ACTOR)
472
+ .mapsTo('if.action.whispering')
473
+ .withPriority(100)
474
+ .build();
475
+ grammar
476
+ .define('tell :recipient about :topic')
477
+ .hasTrait('recipient', world_model_1.TraitType.ACTOR)
478
+ .mapsTo('if.action.telling')
479
+ .withPriority(100)
480
+ .build();
481
+ grammar
482
+ .define('ask :recipient about :topic')
483
+ .hasTrait('recipient', world_model_1.TraitType.ACTOR)
484
+ .mapsTo('if.action.asking')
485
+ .withPriority(100)
486
+ .build();
487
+ // Touching/sensory actions (ADR-087: using forAction)
488
+ // Scope handled by action validation
489
+ grammar
490
+ .forAction('if.action.touching')
491
+ .verbs(['touch', 'rub', 'feel', 'pat', 'stroke', 'poke', 'prod'])
492
+ .pattern(':target')
493
+ .build();
494
+ // ============================================================================
495
+ // ENTERING AND EXITING
496
+ // Scope handled by action validation; traits declare semantic constraints only
497
+ // ============================================================================
498
+ // Semantic: enter specific enterable thing (priority 100)
499
+ grammar
500
+ .define('enter :portal')
501
+ .hasTrait('portal', world_model_1.TraitType.ENTERABLE)
502
+ .mapsTo('if.action.entering')
503
+ .withPriority(100)
504
+ .build();
505
+ grammar
506
+ .define('get in :portal')
507
+ .hasTrait('portal', world_model_1.TraitType.ENTERABLE)
508
+ .mapsTo('if.action.entering')
509
+ .withPriority(100)
510
+ .build();
511
+ grammar
512
+ .define('get into :portal')
513
+ .hasTrait('portal', world_model_1.TraitType.ENTERABLE)
514
+ .mapsTo('if.action.entering')
515
+ .withPriority(100)
516
+ .build();
517
+ grammar
518
+ .define('climb in :portal')
519
+ .hasTrait('portal', world_model_1.TraitType.ENTERABLE)
520
+ .mapsTo('if.action.entering')
521
+ .withPriority(100)
522
+ .build();
523
+ grammar
524
+ .define('climb into :portal')
525
+ .hasTrait('portal', world_model_1.TraitType.ENTERABLE)
526
+ .mapsTo('if.action.entering')
527
+ .withPriority(100)
528
+ .build();
529
+ grammar
530
+ .define('go in :portal')
531
+ .hasTrait('portal', world_model_1.TraitType.ENTERABLE)
532
+ .mapsTo('if.action.entering')
533
+ .withPriority(100)
534
+ .build();
535
+ grammar
536
+ .define('go into :portal')
537
+ .hasTrait('portal', world_model_1.TraitType.ENTERABLE)
538
+ .mapsTo('if.action.entering')
539
+ .withPriority(100)
540
+ .build();
541
+ // Exiting (bare command, no target - exits current container/location)
542
+ grammar
543
+ .define('exit')
544
+ .mapsTo('if.action.exiting')
545
+ .withPriority(100)
546
+ .build();
547
+ grammar
548
+ .define('get out')
549
+ .mapsTo('if.action.exiting')
550
+ .withPriority(100)
551
+ .build();
552
+ grammar
553
+ .define('leave')
554
+ .mapsTo('if.action.exiting')
555
+ .withPriority(95)
556
+ .build();
557
+ grammar
558
+ .define('climb out')
559
+ .mapsTo('if.action.exiting')
560
+ .withPriority(100)
561
+ .build();
562
+ // Vehicle-specific synonyms (map to entering/exiting actions)
563
+ grammar
564
+ .define('board :vehicle')
565
+ .hasTrait('vehicle', world_model_1.TraitType.ENTERABLE)
566
+ .mapsTo('if.action.entering')
567
+ .withPriority(100)
568
+ .build();
569
+ grammar
570
+ .define('get on :vehicle')
571
+ .hasTrait('vehicle', world_model_1.TraitType.ENTERABLE)
572
+ .mapsTo('if.action.entering')
573
+ .withPriority(100)
574
+ .build();
575
+ // Exiting with a target (exit specific container/vehicle)
576
+ grammar
577
+ .define('exit :container')
578
+ .hasTrait('container', world_model_1.TraitType.ENTERABLE)
579
+ .mapsTo('if.action.exiting')
580
+ .withPriority(100)
581
+ .build();
582
+ grammar
583
+ .define('disembark')
584
+ .mapsTo('if.action.exiting')
585
+ .withPriority(100)
586
+ .build();
587
+ grammar
588
+ .define('disembark :vehicle')
589
+ .hasTrait('vehicle', world_model_1.TraitType.ENTERABLE)
590
+ .mapsTo('if.action.exiting')
591
+ .withPriority(100)
592
+ .build();
593
+ grammar
594
+ .define('get off :vehicle')
595
+ .hasTrait('vehicle', world_model_1.TraitType.ENTERABLE)
596
+ .mapsTo('if.action.exiting')
597
+ .withPriority(100)
598
+ .build();
599
+ grammar
600
+ .define('alight')
601
+ .mapsTo('if.action.exiting')
602
+ .withPriority(95)
603
+ .build();
604
+ // =========================================================================
605
+ // Meta commands - AGAIN (repeat last command)
606
+ // =========================================================================
607
+ // Full word "again"
608
+ grammar
609
+ .define('again')
610
+ .mapsTo('if.action.again')
611
+ .withPriority(100)
612
+ .build();
613
+ // Abbreviation "g"
614
+ grammar
615
+ .define('g')
616
+ .mapsTo('if.action.again')
617
+ .withPriority(90)
618
+ .build();
619
+ }
620
+ //# sourceMappingURL=grammar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grammar.js","sourceRoot":"","sources":["../src/grammar.ts"],"names":[],"mappings":"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"}
@@ -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 '@sharpee/if-domain';
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,IAAI,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG3D,YAAY,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGpE,YAAY,EACV,mBAAmB,EACnB,WAAW,EACX,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAGrD,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC5F,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACf,MAAM,mBAAmB,CAAC;AAE3B;;GAEG;AACH,eAAO,MAAM,QAAQ;;;;;;CAkBpB,CAAC"}