tpmkms_4wp 9.3.0-beta.4 → 9.3.0-beta.41

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 (54) hide show
  1. package/common/animals.instance.json +0 -65
  2. package/common/asking.js +16 -2
  3. package/common/colors.instance.json +28 -70
  4. package/common/comparable.instance.json +0 -15
  5. package/common/concept.test.json +279 -193
  6. package/common/crew.instance.json +0 -202
  7. package/common/dateTimeSelectors.instance.json +67 -0
  8. package/common/dateTimeSelectors.js +85 -0
  9. package/common/dateTimeSelectors.test.json +4529 -0
  10. package/common/dates.instance.json +136 -27
  11. package/common/dates.js +13 -0
  12. package/common/dates.test.json +1787 -0
  13. package/common/dialogues.js +5 -43
  14. package/common/dimension.instance.json +0 -5
  15. package/common/edible.instance.json +56 -160
  16. package/common/emotions.instance.json +0 -5
  17. package/common/evaluate.js +1 -1
  18. package/common/events.js +1 -1
  19. package/common/fastfood.instance.json +180 -879
  20. package/common/fastfood.test.json +16291 -6597
  21. package/common/formulas.instance.json +0 -5
  22. package/common/helpers/dateTimeSelectors.js +92 -0
  23. package/common/helpers/dialogues.js +3 -7
  24. package/common/helpers.js +24 -7
  25. package/common/kirk.instance.json +0 -5
  26. package/common/length.instance.json +0 -75
  27. package/common/math.instance.json +0 -5
  28. package/common/menus.instance.json +0 -35
  29. package/common/numbers.js +1 -1
  30. package/common/numbers.test.json +89 -23
  31. package/common/ordering.instance.json +0 -10
  32. package/common/people.instance.json +0 -40
  33. package/common/percentages.js +1 -1
  34. package/common/pipboy.instance.json +56 -85
  35. package/common/pipboy.test.json +4377 -3386
  36. package/common/pokemon.instance.json +0 -65
  37. package/common/pressure.instance.json +0 -20
  38. package/common/properties.instance.json +0 -5
  39. package/common/reminders.instance.json +196 -10
  40. package/common/reminders.js +270 -78
  41. package/common/reminders.test.json +55544 -23
  42. package/common/reports.instance.json +2 -12
  43. package/common/scorekeeper.test.json +3565 -7550
  44. package/common/spock.instance.json +0 -5
  45. package/common/temperature.instance.json +0 -20
  46. package/common/time.js +63 -30
  47. package/common/time.test.json +4124 -124
  48. package/common/ui.instance.json +0 -5
  49. package/common/ui.js +3 -1
  50. package/common/weight.instance.json +0 -60
  51. package/common/wp.instance.json +56 -70
  52. package/common/wp.test.json +8057 -3867
  53. package/main.js +2 -0
  54. package/package.json +8 -4
@@ -72,11 +72,6 @@
72
72
  "article",
73
73
  false
74
74
  ],
75
- [
76
- "evaluate",
77
- "verb",
78
- false
79
- ],
80
75
  [
81
76
  "every",
82
77
  "article",
@@ -619,11 +614,6 @@
619
614
  "article",
620
615
  false
621
616
  ],
622
- [
623
- "evaluate",
624
- "verb",
625
- false
626
- ],
627
617
  [
628
618
  "every",
629
619
  "article",
@@ -1495,11 +1485,6 @@
1495
1485
  "article",
1496
1486
  false
1497
1487
  ],
1498
- [
1499
- "evaluate",
1500
- "verb",
1501
- false
1502
- ],
1503
1488
  [
1504
1489
  "every",
1505
1490
  "article",
@@ -2991,11 +2976,6 @@
2991
2976
  "article",
2992
2977
  false
2993
2978
  ],
2994
- [
2995
- "evaluate",
2996
- "verb",
2997
- false
2998
- ],
2999
2979
  [
3000
2980
  "every",
3001
2981
  "article",
@@ -3838,11 +3818,6 @@
3838
3818
  "article",
3839
3819
  false
3840
3820
  ],
3841
- [
3842
- "evaluate",
3843
- "verb",
3844
- false
3845
- ],
3846
3821
  [
3847
3822
  "every",
3848
3823
  "article",
@@ -4775,11 +4750,6 @@
4775
4750
  "article",
4776
4751
  false
4777
4752
  ],
4778
- [
4779
- "evaluate",
4780
- "verb",
4781
- false
4782
- ],
4783
4753
  [
4784
4754
  "every",
4785
4755
  "article",
@@ -5892,11 +5862,6 @@
5892
5862
  "type",
5893
5863
  false
5894
5864
  ],
5895
- [
5896
- "evaluate",
5897
- "verb",
5898
- false
5899
- ],
5900
5865
  [
5901
5866
  "every",
5902
5867
  "article",
@@ -7099,11 +7064,6 @@
7099
7064
  "type",
7100
7065
  false
7101
7066
  ],
7102
- [
7103
- "evaluate",
7104
- "verb",
7105
- false
7106
- ],
7107
7067
  [
7108
7068
  "every",
7109
7069
  "article",
@@ -8620,11 +8580,6 @@
8620
8580
  "type",
8621
8581
  false
8622
8582
  ],
8623
- [
8624
- "evaluate",
8625
- "verb",
8626
- false
8627
- ],
8628
8583
  [
8629
8584
  "every",
8630
8585
  "article",
@@ -10146,11 +10101,6 @@
10146
10101
  "type",
10147
10102
  false
10148
10103
  ],
10149
- [
10150
- "evaluate",
10151
- "verb",
10152
- false
10153
- ],
10154
10104
  [
10155
10105
  "every",
10156
10106
  "article",
@@ -11682,11 +11632,6 @@
11682
11632
  "type",
11683
11633
  false
11684
11634
  ],
11685
- [
11686
- "evaluate",
11687
- "verb",
11688
- false
11689
- ],
11690
11635
  [
11691
11636
  "every",
11692
11637
  "article",
@@ -13223,11 +13168,6 @@
13223
13168
  "type",
13224
13169
  false
13225
13170
  ],
13226
- [
13227
- "evaluate",
13228
- "verb",
13229
- false
13230
- ],
13231
13171
  [
13232
13172
  "every",
13233
13173
  "article",
@@ -14729,11 +14669,6 @@
14729
14669
  "type",
14730
14670
  false
14731
14671
  ],
14732
- [
14733
- "evaluate",
14734
- "verb",
14735
- false
14736
- ],
14737
14672
  [
14738
14673
  "every",
14739
14674
  "article",
@@ -243,11 +243,6 @@
243
243
  "article",
244
244
  false
245
245
  ],
246
- [
247
- "evaluate",
248
- "verb",
249
- false
250
- ],
251
246
  [
252
247
  "every",
253
248
  "article",
@@ -1675,11 +1670,6 @@
1675
1670
  "article",
1676
1671
  false
1677
1672
  ],
1678
- [
1679
- "evaluate",
1680
- "verb",
1681
- false
1682
- ],
1683
1673
  [
1684
1674
  "every",
1685
1675
  "article",
@@ -3635,11 +3625,6 @@
3635
3625
  "article",
3636
3626
  false
3637
3627
  ],
3638
- [
3639
- "evaluate",
3640
- "verb",
3641
- false
3642
- ],
3643
3628
  [
3644
3629
  "every",
3645
3630
  "article",
@@ -5311,11 +5296,6 @@
5311
5296
  "article",
5312
5297
  false
5313
5298
  ],
5314
- [
5315
- "evaluate",
5316
- "verb",
5317
- false
5318
- ],
5319
5299
  [
5320
5300
  "every",
5321
5301
  "article",
@@ -59,11 +59,6 @@
59
59
  "article",
60
60
  false
61
61
  ],
62
- [
63
- "evaluate",
64
- "verb",
65
- false
66
- ],
67
62
  [
68
63
  "every",
69
64
  "article",
@@ -2,41 +2,227 @@
2
2
  "configs": [
3
3
  {
4
4
  "operators": [
5
- "([remind] (self/*) (*)*)"
5
+ "([remindable])",
6
+ {
7
+ "pattern": "([addRemindable] (word)*)",
8
+ "development": true
9
+ },
10
+ "([remind:justWhoBridge] (remindable/*))",
11
+ "([remind] (remindable/*) (!@<= 'dateTimeSelector' && !@<= 'inAddition')*)",
12
+ "([remind:withDateBridge] (remindable/*) (!@<= 'dateTimeSelector' && !@<= 'inAddition')* (dateTimeSelector))",
13
+ "([remind:withDateAndTimeBridge] (remindable/*) (!@<= 'dateTimeSelector' && !@<= 'inAddition')* (dateTimeSelector) (atTime))",
14
+ "([remindResponse] (!@<= 'remindResponse' && !@<= 'dateTimeSelector' && !@<= 'inAddition')+ (dateTimeSelector))",
15
+ "([show] ([reminders]))",
16
+ "([delete_reminders|delete,cancel] (number/*))",
17
+ "([add] (remindable/*))",
18
+ "([remove|] (remindable/*))",
19
+ "((verb/*) [inAddition|also,too])"
6
20
  ],
7
21
  "bridges": [
22
+ {
23
+ "id": "inAddition",
24
+ "after": [
25
+ "verb"
26
+ ],
27
+ "bridge": "{ ...before[0], inAddition: true, verb: before[0], operator: operator, interpolate: '${verb} ${operator}' }"
28
+ },
29
+ {
30
+ "id": "add",
31
+ "isA": [
32
+ "verb"
33
+ ],
34
+ "bridge": "{ ...next(operator), arg: after[0], operator: operator, interpolate: '${operator} ${arg}' }",
35
+ "semantic": "({api, context}) => {\n api.addUser(api.contextToWho(context.arg))\n }"
36
+ },
37
+ {
38
+ "id": "remove",
39
+ "words": [
40
+ "delete",
41
+ "remove"
42
+ ],
43
+ "isA": [
44
+ "verb"
45
+ ],
46
+ "bridge": "{ ...next(operator), arg: after[0], operator: operator, interpolate: '${operator} ${arg}' }",
47
+ "semantic": "({api, context}) => {\n api.removeUser(api.contextToWho(context.arg))\n }"
48
+ },
49
+ {
50
+ "id": "addRemindable",
51
+ "isA": [
52
+ "verb"
53
+ ],
54
+ "development": true,
55
+ "bridge": "{ ...next(operator), flatten: true, arg: after[0], operator: operator, interpolate: '${operator} ${arg}' }",
56
+ "semantic": "({api, context}) => {\n const name = context.arg.map( (word) => word.text ).join(' ')\n api.addRemindable(name)\n }"
57
+ },
58
+ {
59
+ "id": "remindable",
60
+ "isA": [
61
+ "listable"
62
+ ]
63
+ },
64
+ {
65
+ "id": "remindResponse",
66
+ "isA": [
67
+ "verb"
68
+ ],
69
+ "convolution": true,
70
+ "disabled": true,
71
+ "bridge": "{ ...next(operator), operator: operator, reminder: after[0], date: after[1], interpolate: '${reminder} ${date}' }",
72
+ "semantic": "async ({context, api, gp, gsp}) => {\n const text = await gsp(context.reminder.slice(1));\n const update = { text }\n if (context.date) {\n update.dateTimeSelector = context.date\n update.dateTimeSelectorText = await gp(context.date)\n }\n await api.update(update)\n }"
73
+ },
8
74
  {
9
75
  "id": "remind",
10
76
  "isA": [
11
77
  "verb"
12
78
  ],
79
+ "localHierarchy": [
80
+ [
81
+ "self",
82
+ "remindable"
83
+ ]
84
+ ],
13
85
  "bridge": "{ ...next(operator), operator: operator, who: after[0], reminder: after[1], interpolate: '${operator} ${who} ${reminder}' }",
14
- "semantic": "async ({api, gsp, context}) => {\n const text = await gsp(context.reminder.slice(1));\n api.add({ text });\n }"
86
+ "justWhoBridge": "{ ...next(operator), bridge: 'justWhoBridge', operator: operator, who: after[0], interpolate: '${operator} ${who}' }",
87
+ "withDateBridge": "{ ...next(operator), operator: operator, who: after[0], reminder: after[1], date: after[2], interpolate: '${operator} ${who} ${reminder} ${date}' }",
88
+ "withDateAndTimeBridge": "{ ...next(operator), operator: operator, who: after[0], reminder: after[1], date: after[2], time: after[3], interpolate: '${operator} ${who} ${reminder} ${date} ${time}' }",
89
+ "semantics": "[object Object]",
90
+ "semantic": "async ({ask, api, gsp, gp, context}) => {\n const who = api.contextToWho(context.who)\n let text;\n if (context.reminder) {\n text = await gsp(context.reminder.slice(1));\n }\n const reminder = { text, dateTimeSelector: context.date, who }\n if (context.date) {\n reminder.dateTimeSelector = context.date\n reminder.dateTimeSelectorText = await gp(context.date)\n }\n // await api.instantiate(reminder)\n await api.add(reminder)\n reminder.cleanUp = ask([\n query('missingReminder', reminder.id),\n query('missingDate', reminder.id),\n ])\n }"
91
+ },
92
+ {
93
+ "id": "reminders",
94
+ "isA": [
95
+ "noun"
96
+ ]
97
+ },
98
+ {
99
+ "id": "show",
100
+ "isA": [
101
+ "verb"
102
+ ],
103
+ "bridge": "{ ...next(operator), operator: operator, reminders: after[0], interpolate: '${operator} ${reminders}' }",
104
+ "semantic": "({context, api, verbatim}) => {\n verbatim(api.show())\n }"
105
+ },
106
+ {
107
+ "id": "delete_reminders",
108
+ "isA": [
109
+ "verb"
110
+ ],
111
+ "bridge": "{ ...next(operator), operator: operator, reminders: after[0], interpolate: '${operator} ${reminders}' }",
112
+ "semantic": "({context, api, verbatim}) => {\n const s = api.delete_reminder(context.reminders.value)\n if (s) {\n verbatim(s)\n }\n }"
15
113
  }
16
114
  ]
17
- },
18
- {
19
- "apply": "({ask, api}) => {\n ask([\n {\n where: where(),\n oneShot: false,\n onNevermind: ({verbatim, ...args}) => {\n // this is cross km boundaries from the dialogues km to this one so the api if for dialogs.\n // i need to get the one for fastfood here.\n const api = args.kms.fastfood.api\n const needsDrink = askAbout({ args, api })\n for (const item of needsDrink) {\n api.remove(item)\n }\n },\n\n matchq: (args) => args.api.askAbout(args).length > 0 && args.context.marker == 'controlEnd',\n applyq: (args) => {\n args.context.cascade = false\n const items = askAbout(args)\n const item = items[0]\n debugger;\n debugger\n },\n\n matchr: (args) => {\n if (args.isA(args.context.marker, 'drink') && askAbout(args).length > 0) {\n const needsDrink = askAbout(args)\n if (args.api.isAvailableModification(needsDrink[0].food, { ...args.context , id: args.context.value })) {\n return true\n }\n }\n return false\n },\n applyr: (args) => {\n // TODO check for is available for all modifications\n const needsDrink = askAbout(args)\n const { api, context } = args\n if (isMany(context)) {\n let count = getCount(context) || Number.MAX_SAFE_INTEGER\n for (const item of needsDrink) {\n if (count < 1) {\n break\n }\n count -= 1\n api.addDrink(item.item_id, { id: context.value })\n }\n } else {\n const item_id = needsDrink[0].item_id\n api.addDrink(item_id, { id: context.value })\n }\n }\n },\n ])\n }"
20
115
  }
21
116
  ],
22
117
  "resultss": [
23
118
  {
24
119
  "extraConfig": true,
25
120
  "operators": [
26
- "([remind] (self/*) (*)*)"
121
+ "([remindable])",
122
+ {
123
+ "pattern": "([addRemindable] (word)*)",
124
+ "development": true
125
+ },
126
+ "([remind:justWhoBridge] (remindable/*))",
127
+ "([remind] (remindable/*) (!@<= 'dateTimeSelector' && !@<= 'inAddition')*)",
128
+ "([remind:withDateBridge] (remindable/*) (!@<= 'dateTimeSelector' && !@<= 'inAddition')* (dateTimeSelector))",
129
+ "([remind:withDateAndTimeBridge] (remindable/*) (!@<= 'dateTimeSelector' && !@<= 'inAddition')* (dateTimeSelector) (atTime))",
130
+ "([remindResponse] (!@<= 'remindResponse' && !@<= 'dateTimeSelector' && !@<= 'inAddition')+ (dateTimeSelector))",
131
+ "([show] ([reminders]))",
132
+ "([delete_reminders|delete,cancel] (number/*))",
133
+ "([add] (remindable/*))",
134
+ "([remove|] (remindable/*))",
135
+ "((verb/*) [inAddition|also,too])"
27
136
  ],
28
137
  "bridges": [
138
+ {
139
+ "id": "inAddition",
140
+ "after": [
141
+ "verb"
142
+ ],
143
+ "bridge": "{ ...before[0], inAddition: true, verb: before[0], operator: operator, interpolate: '${verb} ${operator}' }"
144
+ },
145
+ {
146
+ "id": "add",
147
+ "isA": [
148
+ "verb"
149
+ ],
150
+ "bridge": "{ ...next(operator), arg: after[0], operator: operator, interpolate: '${operator} ${arg}' }"
151
+ },
152
+ {
153
+ "id": "remove",
154
+ "words": [
155
+ "delete",
156
+ "remove"
157
+ ],
158
+ "isA": [
159
+ "verb"
160
+ ],
161
+ "bridge": "{ ...next(operator), arg: after[0], operator: operator, interpolate: '${operator} ${arg}' }"
162
+ },
163
+ {
164
+ "id": "addRemindable",
165
+ "isA": [
166
+ "verb"
167
+ ],
168
+ "development": true,
169
+ "bridge": "{ ...next(operator), flatten: true, arg: after[0], operator: operator, interpolate: '${operator} ${arg}' }"
170
+ },
171
+ {
172
+ "id": "remindable",
173
+ "isA": [
174
+ "listable"
175
+ ]
176
+ },
177
+ {
178
+ "id": "remindResponse",
179
+ "isA": [
180
+ "verb"
181
+ ],
182
+ "convolution": true,
183
+ "disabled": true,
184
+ "bridge": "{ ...next(operator), operator: operator, reminder: after[0], date: after[1], interpolate: '${reminder} ${date}' }"
185
+ },
29
186
  {
30
187
  "id": "remind",
31
188
  "isA": [
32
189
  "verb"
33
190
  ],
34
- "bridge": "{ ...next(operator), operator: operator, who: after[0], reminder: after[1], interpolate: '${operator} ${who} ${reminder}' }"
191
+ "localHierarchy": [
192
+ [
193
+ "self",
194
+ "remindable"
195
+ ]
196
+ ],
197
+ "bridge": "{ ...next(operator), operator: operator, who: after[0], reminder: after[1], interpolate: '${operator} ${who} ${reminder}' }",
198
+ "justWhoBridge": "{ ...next(operator), bridge: 'justWhoBridge', operator: operator, who: after[0], interpolate: '${operator} ${who}' }",
199
+ "withDateBridge": "{ ...next(operator), operator: operator, who: after[0], reminder: after[1], date: after[2], interpolate: '${operator} ${who} ${reminder} ${date}' }",
200
+ "withDateAndTimeBridge": "{ ...next(operator), operator: operator, who: after[0], reminder: after[1], date: after[2], time: after[3], interpolate: '${operator} ${who} ${reminder} ${date} ${time}' }",
201
+ "semantics": [
202
+ {}
203
+ ]
204
+ },
205
+ {
206
+ "id": "reminders",
207
+ "isA": [
208
+ "noun"
209
+ ]
210
+ },
211
+ {
212
+ "id": "show",
213
+ "isA": [
214
+ "verb"
215
+ ],
216
+ "bridge": "{ ...next(operator), operator: operator, reminders: after[0], interpolate: '${operator} ${reminders}' }"
217
+ },
218
+ {
219
+ "id": "delete_reminders",
220
+ "isA": [
221
+ "verb"
222
+ ],
223
+ "bridge": "{ ...next(operator), operator: operator, reminders: after[0], interpolate: '${operator} ${reminders}' }"
35
224
  }
36
225
  ]
37
- },
38
- {
39
- "apply": "({ask, api}) => {\n ask([\n {\n where: where(),\n oneShot: false,\n onNevermind: ({verbatim, ...args}) => {\n // this is cross km boundaries from the dialogues km to this one so the api if for dialogs.\n // i need to get the one for fastfood here.\n const api = args.kms.fastfood.api\n const needsDrink = askAbout({ args, api })\n for (const item of needsDrink) {\n api.remove(item)\n }\n },\n\n matchq: (args) => args.api.askAbout(args).length > 0 && args.context.marker == 'controlEnd',\n applyq: (args) => {\n args.context.cascade = false\n const items = askAbout(args)\n const item = items[0]\n debugger;\n debugger\n },\n\n matchr: (args) => {\n if (args.isA(args.context.marker, 'drink') && askAbout(args).length > 0) {\n const needsDrink = askAbout(args)\n if (args.api.isAvailableModification(needsDrink[0].food, { ...args.context , id: args.context.value })) {\n return true\n }\n }\n return false\n },\n applyr: (args) => {\n // TODO check for is available for all modifications\n const needsDrink = askAbout(args)\n const { api, context } = args\n if (isMany(context)) {\n let count = getCount(context) || Number.MAX_SAFE_INTEGER\n for (const item of needsDrink) {\n if (count < 1) {\n break\n }\n count -= 1\n api.addDrink(item.item_id, { id: context.value })\n }\n } else {\n const item_id = needsDrink[0].item_id\n api.addDrink(item_id, { id: context.value })\n }\n }\n },\n ])\n }"
40
226
  }
41
227
  ],
42
228
  "fragments": [],