tpmkms_4wp 9.3.0-beta.4 → 9.3.0-beta.40
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/common/animals.instance.json +0 -65
- package/common/asking.js +16 -2
- package/common/colors.instance.json +28 -70
- package/common/comparable.instance.json +0 -15
- package/common/concept.test.json +279 -193
- package/common/crew.instance.json +0 -202
- package/common/dateTimeSelectors.instance.json +67 -0
- package/common/dateTimeSelectors.js +85 -0
- package/common/dateTimeSelectors.test.json +4529 -0
- package/common/dates.instance.json +136 -27
- package/common/dates.js +13 -0
- package/common/dates.test.json +1787 -0
- package/common/dialogues.js +5 -43
- package/common/dimension.instance.json +0 -5
- package/common/edible.instance.json +56 -160
- package/common/emotions.instance.json +0 -5
- package/common/evaluate.js +1 -1
- package/common/events.js +1 -1
- package/common/fastfood.instance.json +180 -879
- package/common/fastfood.test.json +16291 -6597
- package/common/formulas.instance.json +0 -5
- package/common/helpers/dateTimeSelectors.js +92 -0
- package/common/helpers/dialogues.js +3 -7
- package/common/helpers.js +24 -7
- package/common/kirk.instance.json +0 -5
- package/common/length.instance.json +0 -75
- package/common/math.instance.json +0 -5
- package/common/menus.instance.json +0 -35
- package/common/numbers.js +1 -1
- package/common/numbers.test.json +89 -23
- package/common/ordering.instance.json +0 -10
- package/common/people.instance.json +0 -40
- package/common/percentages.js +1 -1
- package/common/pipboy.instance.json +56 -85
- package/common/pipboy.test.json +4377 -3386
- package/common/pokemon.instance.json +0 -65
- package/common/pressure.instance.json +0 -20
- package/common/properties.instance.json +0 -5
- package/common/reminders.instance.json +196 -10
- package/common/reminders.js +270 -78
- package/common/reminders.test.json +55544 -23
- package/common/reports.instance.json +2 -12
- package/common/scorekeeper.test.json +3565 -7550
- package/common/spock.instance.json +0 -5
- package/common/temperature.instance.json +0 -20
- package/common/time.js +63 -30
- package/common/time.test.json +4124 -124
- package/common/ui.instance.json +0 -5
- package/common/ui.js +3 -1
- package/common/weight.instance.json +0 -60
- package/common/wp.instance.json +56 -70
- package/common/wp.test.json +8057 -3867
- package/main.js +2 -0
- 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",
|
@@ -2,41 +2,227 @@
|
|
2
2
|
"configs": [
|
3
3
|
{
|
4
4
|
"operators": [
|
5
|
-
"([
|
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
|
-
"
|
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
|
-
"([
|
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
|
-
"
|
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": [],
|