@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.
- package/LICENSE +21 -0
- package/README.md +123 -0
- package/dist/direction-mappings.d.ts +24 -0
- package/dist/direction-mappings.d.ts.map +1 -0
- package/dist/direction-mappings.js +82 -0
- package/dist/direction-mappings.js.map +1 -0
- package/dist/english-grammar-engine.d.ts +85 -0
- package/dist/english-grammar-engine.d.ts.map +1 -0
- package/dist/english-grammar-engine.js +562 -0
- package/dist/english-grammar-engine.js.map +1 -0
- package/dist/english-parser.d.ts +184 -0
- package/dist/english-parser.d.ts.map +1 -0
- package/dist/english-parser.js +1268 -0
- package/dist/english-parser.js.map +1 -0
- package/dist/english-pattern-compiler.d.ts +29 -0
- package/dist/english-pattern-compiler.d.ts.map +1 -0
- package/dist/english-pattern-compiler.js +211 -0
- package/dist/english-pattern-compiler.js.map +1 -0
- package/dist/grammar.d.ts +19 -0
- package/dist/grammar.d.ts.map +1 -0
- package/dist/grammar.js +620 -0
- package/dist/grammar.js.map +1 -0
- package/dist/index.d.ts +24 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +44 -0
- package/dist/index.js.map +1 -0
- package/dist/parse-failure.d.ts +59 -0
- package/dist/parse-failure.d.ts.map +1 -0
- package/dist/parse-failure.js +132 -0
- package/dist/parse-failure.js.map +1 -0
- package/dist/parser-types.d.ts +185 -0
- package/dist/parser-types.d.ts.map +1 -0
- package/dist/parser-types.js +134 -0
- package/dist/parser-types.js.map +1 -0
- package/dist/pronoun-context.d.ts +119 -0
- package/dist/pronoun-context.d.ts.map +1 -0
- package/dist/pronoun-context.js +249 -0
- package/dist/pronoun-context.js.map +1 -0
- package/dist/scope-evaluator.d.ts +58 -0
- package/dist/scope-evaluator.d.ts.map +1 -0
- package/dist/scope-evaluator.js +205 -0
- package/dist/scope-evaluator.js.map +1 -0
- package/dist/slot-consumers/entity-slot-consumer.d.ts +36 -0
- package/dist/slot-consumers/entity-slot-consumer.d.ts.map +1 -0
- package/dist/slot-consumers/entity-slot-consumer.js +413 -0
- package/dist/slot-consumers/entity-slot-consumer.js.map +1 -0
- package/dist/slot-consumers/index.d.ts +43 -0
- package/dist/slot-consumers/index.d.ts.map +1 -0
- package/dist/slot-consumers/index.js +78 -0
- package/dist/slot-consumers/index.js.map +1 -0
- package/dist/slot-consumers/slot-consumer.d.ts +61 -0
- package/dist/slot-consumers/slot-consumer.d.ts.map +1 -0
- package/dist/slot-consumers/slot-consumer.js +31 -0
- package/dist/slot-consumers/slot-consumer.js.map +1 -0
- package/dist/slot-consumers/text-slot-consumer.d.ts +33 -0
- package/dist/slot-consumers/text-slot-consumer.d.ts.map +1 -0
- package/dist/slot-consumers/text-slot-consumer.js +157 -0
- package/dist/slot-consumers/text-slot-consumer.js.map +1 -0
- package/dist/slot-consumers/typed-slot-consumer.d.ts +35 -0
- package/dist/slot-consumers/typed-slot-consumer.d.ts.map +1 -0
- package/dist/slot-consumers/typed-slot-consumer.js +151 -0
- package/dist/slot-consumers/typed-slot-consumer.js.map +1 -0
- package/dist/slot-consumers/vocabulary-slot-consumer.d.ts +42 -0
- package/dist/slot-consumers/vocabulary-slot-consumer.d.ts.map +1 -0
- package/dist/slot-consumers/vocabulary-slot-consumer.js +186 -0
- package/dist/slot-consumers/vocabulary-slot-consumer.js.map +1 -0
- package/package.json +65 -0
package/dist/grammar.js
ADDED
|
@@ -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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"}
|
package/dist/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 '@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"}
|