tpmkms_4wp 9.4.2 → 9.4.3-beta.1

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.
@@ -1713,20 +1713,6 @@
1713
1713
  0
1714
1714
  ]
1715
1715
  ],
1716
- [
1717
- [
1718
- "is",
1719
- 0
1720
- ],
1721
- [
1722
- "list",
1723
- 1
1724
- ],
1725
- [
1726
- "unknown",
1727
- 0
1728
- ]
1729
- ],
1730
1716
  [
1731
1717
  [
1732
1718
  "is",
@@ -6914,20 +6900,6 @@
6914
6900
  0
6915
6901
  ]
6916
6902
  ],
6917
- [
6918
- [
6919
- "is",
6920
- 0
6921
- ],
6922
- [
6923
- "list",
6924
- 1
6925
- ],
6926
- [
6927
- "unknown",
6928
- 0
6929
- ]
6930
- ],
6931
6903
  [
6932
6904
  [
6933
6905
  "is",
@@ -10210,20 +10182,6 @@
10210
10182
  0
10211
10183
  ]
10212
10184
  ],
10213
- [
10214
- [
10215
- "is",
10216
- 0
10217
- ],
10218
- [
10219
- "list",
10220
- 1
10221
- ],
10222
- [
10223
- "unknown",
10224
- 0
10225
- ]
10226
- ],
10227
10185
  [
10228
10186
  [
10229
10187
  "is",
@@ -35655,48 +35613,6 @@
35655
35613
  0
35656
35614
  ]
35657
35615
  ],
35658
- [
35659
- [
35660
- "is",
35661
- 0
35662
- ],
35663
- [
35664
- "list",
35665
- 1
35666
- ],
35667
- [
35668
- "unknown",
35669
- 0
35670
- ]
35671
- ],
35672
- [
35673
- [
35674
- "is",
35675
- 0
35676
- ],
35677
- [
35678
- "list",
35679
- 1
35680
- ],
35681
- [
35682
- "unknown",
35683
- 0
35684
- ]
35685
- ],
35686
- [
35687
- [
35688
- "is",
35689
- 0
35690
- ],
35691
- [
35692
- "list",
35693
- 1
35694
- ],
35695
- [
35696
- "unknown",
35697
- 0
35698
- ]
35699
- ],
35700
35616
  [
35701
35617
  [
35702
35618
  "is",
@@ -12,7 +12,8 @@
12
12
  "([remind:withDateBridge] (remindable/*) (!@<= 'dateTimeSelector' && !@<= 'inAddition')* (dateTimeSelector))",
13
13
  "([remind:withDateFirstBridge] (remindable/*) (dateTimeSelector) (!@<= 'dateTimeSelector' && !@<= 'inAddition')*)",
14
14
  "([remind:withDateAndTimeBridge] (remindable/*) (!@<= 'dateTimeSelector' && !@<= 'inAddition')* (dateTimeSelector) (atTime))",
15
- "([remindResponse] (!@<= 'remindResponse' && !@<= 'dateTimeSelector' && !@<= 'inAddition')+ (dateTimeSelector))",
15
+ "([remindResponse] (complete !== true && !@<= 'dateTimeSelector' && !@<= 'inAddition' )+ (dateTimeSelector))",
16
+ "([remindResponseOnly] (context.complete != true && !@<= day_dates && !@<= 'dateTimeSelector' && !@<=remind)+)",
16
17
  "([show] ([reminders]))",
17
18
  "([delete_reminders|delete,cancel] (number/*))",
18
19
  "([add] (remindable/*))",
@@ -32,7 +33,7 @@
32
33
  "isA": [
33
34
  "verb"
34
35
  ],
35
- "bridge": "{ ...next(operator), arg: after[0], operator: operator, interpolate: '${operator} ${arg}' }",
36
+ "bridge": "{ ...next(operator), complete: true, arg: after[0], operator: operator, interpolate: '${operator} ${arg}' }",
36
37
  "semantic": "({api, context}) => {\n api.addUser(api.contextToWho(context.arg))\n }"
37
38
  },
38
39
  {
@@ -44,7 +45,7 @@
44
45
  "isA": [
45
46
  "verb"
46
47
  ],
47
- "bridge": "{ ...next(operator), arg: after[0], operator: operator, interpolate: '${operator} ${arg}' }",
48
+ "bridge": "{ ...next(operator), complete: true, arg: after[0], operator: operator, interpolate: '${operator} ${arg}' }",
48
49
  "semantic": "({api, context}) => {\n api.removeUser(api.contextToWho(context.arg))\n }"
49
50
  },
50
51
  {
@@ -53,7 +54,7 @@
53
54
  "verb"
54
55
  ],
55
56
  "development": true,
56
- "bridge": "{ ...next(operator), flatten: true, arg: after[0], operator: operator, interpolate: '${operator} ${arg}' }",
57
+ "bridge": "{ ...next(operator), complete: true, flatten: true, arg: after[0], operator: operator, interpolate: '${operator} ${arg}' }",
57
58
  "semantic": "async ({api, context}) => {\n const name = context.arg.map( (word) => word.text ).join(' ')\n await api.addRemindable(name)\n }"
58
59
  },
59
60
  {
@@ -62,14 +63,30 @@
62
63
  "listable"
63
64
  ]
64
65
  },
66
+ {
67
+ "id": "remindResponseOnly",
68
+ "isA": [
69
+ "verb"
70
+ ],
71
+ "convolution": true,
72
+ "disabled": true,
73
+ "bridge": "{ ...next(operator), complete: true, operator: operator, reminder: after[0], interpolate: '${reminder}' }",
74
+ "semantic": "async ({context, api, gp, gsp}) => {\n debugger\n const text = await gsp(context.reminder.slice(0));\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 }"
75
+ },
65
76
  {
66
77
  "id": "remindResponse",
78
+ "before": [
79
+ "remindResponseOnly"
80
+ ],
67
81
  "isA": [
68
82
  "verb"
69
83
  ],
70
84
  "convolution": true,
71
85
  "disabled": true,
72
- "bridge": "{ ...next(operator), operator: operator, reminder: after[0], date: after[1], interpolate: '${reminder} ${date}' }",
86
+ "optional": {
87
+ "2": {}
88
+ },
89
+ "bridge": "{ ...next(operator), complete: true, operator: operator, reminder: after[0], date: after[1], interpolate: '${reminder} ${date}' }",
73
90
  "semantic": "async ({context, api, gp, gsp}) => {\n const text = await gsp(context.reminder.slice(0));\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 }"
74
91
  },
75
92
  {
@@ -83,11 +100,11 @@
83
100
  "remindable"
84
101
  ]
85
102
  ],
86
- "bridge": "{ ...next(operator), operator: operator, who: after[0], reminder: after[1], interpolate: '${operator} ${who} ${reminder}' }",
87
- "justWhoBridge": "{ ...next(operator), bridge: 'justWhoBridge', operator: operator, who: after[0], interpolate: '${operator} ${who}' }",
88
- "withDateBridge": "{ ...next(operator), operator: operator, who: after[0], reminder: after[1], date: after[2], interpolate: '${operator} ${who} ${reminder} ${date}' }",
89
- "withDateFirstBridge": "{ ...next(operator), operator: operator, who: after[0], reminder: after[2], date: after[1], interpolate: '${operator} ${who} ${date} ${reminder}' }",
90
- "withDateAndTimeBridge": "{ ...next(operator), operator: operator, who: after[0], reminder: after[1], date: after[2], time: after[3], interpolate: '${operator} ${who} ${reminder} ${date} ${time}' }",
103
+ "bridge": "{ ...next(operator), complete: true, operator: operator, who: after[0], reminder: after[1], interpolate: '${operator} ${who} ${reminder}' }",
104
+ "justWhoBridge": "{ ...next(operator), complete: true, bridge: 'justWhoBridge', operator: operator, who: after[0], interpolate: '${operator} ${who}' }",
105
+ "withDateBridge": "{ ...next(operator), complete: true, operator: operator, who: after[0], reminder: after[1], date: after[2], interpolate: '${operator} ${who} ${reminder} ${date}' }",
106
+ "withDateFirstBridge": "{ ...next(operator), complete: true, operator: operator, who: after[0], reminder: after[2], date: after[1], interpolate: '${operator} ${who} ${date} ${reminder}' }",
107
+ "withDateAndTimeBridge": "{ ...next(operator), complete: true, operator: operator, who: after[0], reminder: after[1], date: after[2], time: after[3], interpolate: '${operator} ${who} ${reminder} ${date} ${time}' }",
91
108
  "semantics": "[object Object]",
92
109
  "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 }"
93
110
  },
@@ -102,7 +119,7 @@
102
119
  "isA": [
103
120
  "verb"
104
121
  ],
105
- "bridge": "{ ...next(operator), operator: operator, reminders: after[0], interpolate: '${operator} ${reminders}' }",
122
+ "bridge": "{ ...next(operator), operator: operator, complete: true, reminders: after[0], interpolate: '${operator} ${reminders}' }",
106
123
  "semantic": "({context, api, verbatim}) => {\n verbatim(api.show())\n }"
107
124
  },
108
125
  {
@@ -110,7 +127,7 @@
110
127
  "isA": [
111
128
  "verb"
112
129
  ],
113
- "bridge": "{ ...next(operator), operator: operator, reminders: after[0], interpolate: '${operator} ${reminders}' }",
130
+ "bridge": "{ ...next(operator), operator: operator, complete: true, reminders: after[0], interpolate: '${operator} ${reminders}' }",
114
131
  "semantic": "({context, api, verbatim}) => {\n const s = api.delete_reminder(context.reminders.value)\n if (s) {\n verbatim(s)\n }\n }"
115
132
  }
116
133
  ]
@@ -130,7 +147,8 @@
130
147
  "([remind:withDateBridge] (remindable/*) (!@<= 'dateTimeSelector' && !@<= 'inAddition')* (dateTimeSelector))",
131
148
  "([remind:withDateFirstBridge] (remindable/*) (dateTimeSelector) (!@<= 'dateTimeSelector' && !@<= 'inAddition')*)",
132
149
  "([remind:withDateAndTimeBridge] (remindable/*) (!@<= 'dateTimeSelector' && !@<= 'inAddition')* (dateTimeSelector) (atTime))",
133
- "([remindResponse] (!@<= 'remindResponse' && !@<= 'dateTimeSelector' && !@<= 'inAddition')+ (dateTimeSelector))",
150
+ "([remindResponse] (complete !== true && !@<= 'dateTimeSelector' && !@<= 'inAddition' )+ (dateTimeSelector))",
151
+ "([remindResponseOnly] (context.complete != true && !@<= day_dates && !@<= 'dateTimeSelector' && !@<=remind)+)",
134
152
  "([show] ([reminders]))",
135
153
  "([delete_reminders|delete,cancel] (number/*))",
136
154
  "([add] (remindable/*))",
@@ -150,7 +168,7 @@
150
168
  "isA": [
151
169
  "verb"
152
170
  ],
153
- "bridge": "{ ...next(operator), arg: after[0], operator: operator, interpolate: '${operator} ${arg}' }"
171
+ "bridge": "{ ...next(operator), complete: true, arg: after[0], operator: operator, interpolate: '${operator} ${arg}' }"
154
172
  },
155
173
  {
156
174
  "id": "remove",
@@ -161,7 +179,7 @@
161
179
  "isA": [
162
180
  "verb"
163
181
  ],
164
- "bridge": "{ ...next(operator), arg: after[0], operator: operator, interpolate: '${operator} ${arg}' }"
182
+ "bridge": "{ ...next(operator), complete: true, arg: after[0], operator: operator, interpolate: '${operator} ${arg}' }"
165
183
  },
166
184
  {
167
185
  "id": "addRemindable",
@@ -169,7 +187,7 @@
169
187
  "verb"
170
188
  ],
171
189
  "development": true,
172
- "bridge": "{ ...next(operator), flatten: true, arg: after[0], operator: operator, interpolate: '${operator} ${arg}' }"
190
+ "bridge": "{ ...next(operator), complete: true, flatten: true, arg: after[0], operator: operator, interpolate: '${operator} ${arg}' }"
173
191
  },
174
192
  {
175
193
  "id": "remindable",
@@ -177,14 +195,29 @@
177
195
  "listable"
178
196
  ]
179
197
  },
198
+ {
199
+ "id": "remindResponseOnly",
200
+ "isA": [
201
+ "verb"
202
+ ],
203
+ "convolution": true,
204
+ "disabled": true,
205
+ "bridge": "{ ...next(operator), complete: true, operator: operator, reminder: after[0], interpolate: '${reminder}' }"
206
+ },
180
207
  {
181
208
  "id": "remindResponse",
209
+ "before": [
210
+ "remindResponseOnly"
211
+ ],
182
212
  "isA": [
183
213
  "verb"
184
214
  ],
185
215
  "convolution": true,
186
216
  "disabled": true,
187
- "bridge": "{ ...next(operator), operator: operator, reminder: after[0], date: after[1], interpolate: '${reminder} ${date}' }"
217
+ "optional": {
218
+ "2": {}
219
+ },
220
+ "bridge": "{ ...next(operator), complete: true, operator: operator, reminder: after[0], date: after[1], interpolate: '${reminder} ${date}' }"
188
221
  },
189
222
  {
190
223
  "id": "remind",
@@ -197,11 +230,11 @@
197
230
  "remindable"
198
231
  ]
199
232
  ],
200
- "bridge": "{ ...next(operator), operator: operator, who: after[0], reminder: after[1], interpolate: '${operator} ${who} ${reminder}' }",
201
- "justWhoBridge": "{ ...next(operator), bridge: 'justWhoBridge', operator: operator, who: after[0], interpolate: '${operator} ${who}' }",
202
- "withDateBridge": "{ ...next(operator), operator: operator, who: after[0], reminder: after[1], date: after[2], interpolate: '${operator} ${who} ${reminder} ${date}' }",
203
- "withDateFirstBridge": "{ ...next(operator), operator: operator, who: after[0], reminder: after[2], date: after[1], interpolate: '${operator} ${who} ${date} ${reminder}' }",
204
- "withDateAndTimeBridge": "{ ...next(operator), operator: operator, who: after[0], reminder: after[1], date: after[2], time: after[3], interpolate: '${operator} ${who} ${reminder} ${date} ${time}' }",
233
+ "bridge": "{ ...next(operator), complete: true, operator: operator, who: after[0], reminder: after[1], interpolate: '${operator} ${who} ${reminder}' }",
234
+ "justWhoBridge": "{ ...next(operator), complete: true, bridge: 'justWhoBridge', operator: operator, who: after[0], interpolate: '${operator} ${who}' }",
235
+ "withDateBridge": "{ ...next(operator), complete: true, operator: operator, who: after[0], reminder: after[1], date: after[2], interpolate: '${operator} ${who} ${reminder} ${date}' }",
236
+ "withDateFirstBridge": "{ ...next(operator), complete: true, operator: operator, who: after[0], reminder: after[2], date: after[1], interpolate: '${operator} ${who} ${date} ${reminder}' }",
237
+ "withDateAndTimeBridge": "{ ...next(operator), complete: true, operator: operator, who: after[0], reminder: after[1], date: after[2], time: after[3], interpolate: '${operator} ${who} ${reminder} ${date} ${time}' }",
205
238
  "semantics": [
206
239
  {}
207
240
  ]
@@ -217,14 +250,14 @@
217
250
  "isA": [
218
251
  "verb"
219
252
  ],
220
- "bridge": "{ ...next(operator), operator: operator, reminders: after[0], interpolate: '${operator} ${reminders}' }"
253
+ "bridge": "{ ...next(operator), operator: operator, complete: true, reminders: after[0], interpolate: '${operator} ${reminders}' }"
221
254
  },
222
255
  {
223
256
  "id": "delete_reminders",
224
257
  "isA": [
225
258
  "verb"
226
259
  ],
227
- "bridge": "{ ...next(operator), operator: operator, reminders: after[0], interpolate: '${operator} ${reminders}' }"
260
+ "bridge": "{ ...next(operator), operator: operator, complete: true, reminders: after[0], interpolate: '${operator} ${reminders}' }"
228
261
  }
229
262
  ]
230
263
  }
@@ -41,30 +41,53 @@ const query = (missing, reminder_id) => {
41
41
  who = item.who.text
42
42
  }
43
43
  }
44
- if (item.missingDate) {
45
- return `When should I remind ${who} to ${item.text}`
44
+
45
+ if (item.missingDate && item.missingReminder) {
46
+ enable(['remindResponse', 0])
47
+ enable(['remindResponseOnly', 0])
48
+ } else if (item.missingReminder) {
49
+ enable(['remindResponseOnly', 0])
46
50
  }
47
- if (item.missingReminder) {
51
+
52
+ /*
53
+ if (item.missingDate && item.missingReminder) {
48
54
  enable(['remindResponse', 0])
55
+ }
56
+ */
57
+ if (item.missingDate && missing == 'missingDate') {
58
+ return `When should I remind ${who} to ${item.text}`
59
+ }
60
+ if (item.missingReminder && missing == 'missingReminder') {
61
+ // enable(['remindResponse', 0])
49
62
  return `What should I remind ${who} to do?`
50
63
  }
51
64
  },
52
65
 
53
- matchr: ({ isA, api, context }) => {
66
+ matchr: async ({ isA, api, context }) => {
54
67
  if (context.evaluate || context.isControl || context.isResponse) {
55
68
  return false
56
69
  }
57
70
  const gotADate = ((isA(context.marker, 'onDateValue_dates') || isA(context.marker, 'dateTimeSelector')) && api.missing(missing, reminder_id))
58
71
  if (missing == 'missingDate') {
59
72
  return gotADate
60
- } else {
61
- // return !gotADate && !context.isControl
73
+ } else if (context.marker == 'remindResponseOnly' && missing == 'missingReminder') {
74
+ return true
62
75
  }
63
76
  return false
64
77
  },
65
- applyr: async ({ context, api, gp }) => {
66
- const item = api.missing(missing, reminder_id)
67
- await api.update({ id: item.id, dateTimeSelector: context, dateTimeSelectorText: await gp(context) })
78
+ applyr: async ({ context, api, gp, gsp }) => {
79
+ if (context.marker == 'remindResponseOnly') {
80
+ console.log(JSON.stringify(context, null, 2))
81
+ let text;
82
+ if (context.reminder) {
83
+ text = await gsp(context.reminder.slice(0));
84
+ }
85
+ const item = api.missing(missing, reminder_id)
86
+ await api.update({ id: item.id, text })
87
+ } else {
88
+ const item = api.missing(missing, reminder_id)
89
+ await api.update({ id: item.id, dateTimeSelector: context, dateTimeSelectorText: await gp(context) })
90
+ }
68
91
  }
69
92
  }
70
93
  }
@@ -140,10 +163,10 @@ class API {
140
163
  missing(what, reminder_id) {
141
164
  const reminder = this.reminder(reminder_id)
142
165
  if (what == 'missingReminder' && !reminder.text) {
143
- return { when: true, who: reminder.who, text: reminder.text, id: reminder.id, missingReminder: true }
166
+ return { when: true, who: reminder.who, text: reminder.text, id: reminder.id, missingReminder: true, missingDate: !reminder.dateTimeSelector }
144
167
  }
145
168
  if (what == 'missingDate' && !reminder.dateTimeSelector) {
146
- return { when: true, who: reminder.who, text: reminder.text, id: reminder.id, missingDate: true }
169
+ return { when: true, who: reminder.who, text: reminder.text, id: reminder.id, missingDate: true, missingReminder: !reminder.missingReminder }
147
170
  }
148
171
  }
149
172
 
@@ -224,7 +247,10 @@ const template = {
224
247
  "([remind:withDateBridge] (remindable/*) (!@<= 'dateTimeSelector' && !@<= 'inAddition')* (dateTimeSelector))",
225
248
  "([remind:withDateFirstBridge] (remindable/*) (dateTimeSelector) (!@<= 'dateTimeSelector' && !@<= 'inAddition')*)",
226
249
  "([remind:withDateAndTimeBridge] (remindable/*) (!@<= 'dateTimeSelector' && !@<= 'inAddition')* (dateTimeSelector) (atTime))",
227
- "([remindResponse] (!@<= 'remindResponse' && !@<= 'dateTimeSelector' && !@<= 'inAddition')+ (dateTimeSelector))",
250
+
251
+ "([remindResponse] (complete !== true && !@<= 'dateTimeSelector' && !@<= 'inAddition' )+ (dateTimeSelector))",
252
+ "([remindResponseOnly] (context.complete != true && !@<= day_dates && !@<= 'dateTimeSelector' && !@<=remind)+)",
253
+
228
254
  "([show] ([reminders]))",
229
255
  "([delete_reminders|delete,cancel] (number/*))",
230
256
  "([add] (remindable/*))",
@@ -240,7 +266,7 @@ const template = {
240
266
  {
241
267
  id: 'add',
242
268
  isA: ['verb'],
243
- bridge: "{ ...next(operator), arg: after[0], operator: operator, interpolate: '${operator} ${arg}' }",
269
+ bridge: "{ ...next(operator), complete: true, arg: after[0], operator: operator, interpolate: '${operator} ${arg}' }",
244
270
  semantic: ({api, context}) => {
245
271
  api.addUser(api.contextToWho(context.arg))
246
272
  }
@@ -249,7 +275,7 @@ const template = {
249
275
  id: 'remove',
250
276
  words: ['delete', 'remove'],
251
277
  isA: ['verb'],
252
- bridge: "{ ...next(operator), arg: after[0], operator: operator, interpolate: '${operator} ${arg}' }",
278
+ bridge: "{ ...next(operator), complete: true, arg: after[0], operator: operator, interpolate: '${operator} ${arg}' }",
253
279
  semantic: ({api, context}) => {
254
280
  api.removeUser(api.contextToWho(context.arg))
255
281
  }
@@ -258,7 +284,7 @@ const template = {
258
284
  id: 'addRemindable',
259
285
  isA: ['verb'],
260
286
  development: true,
261
- bridge: "{ ...next(operator), flatten: true, arg: after[0], operator: operator, interpolate: '${operator} ${arg}' }",
287
+ bridge: "{ ...next(operator), complete: true, flatten: true, arg: after[0], operator: operator, interpolate: '${operator} ${arg}' }",
262
288
  semantic: async ({api, context}) => {
263
289
  const name = context.arg.map( (word) => word.text ).join(' ')
264
290
  await api.addRemindable(name)
@@ -268,12 +294,32 @@ const template = {
268
294
  id: 'remindable',
269
295
  isA: ['listable'],
270
296
  },
297
+ {
298
+ id: 'remindResponseOnly',
299
+ isA: ['verb'],
300
+ convolution: true,
301
+ disabled: true,
302
+ bridge: "{ ...next(operator), complete: true, operator: operator, reminder: after[0], interpolate: '${reminder}' }",
303
+ semantic: async ({context, api, gp, gsp}) => {
304
+ const text = await gsp(context.reminder.slice(0));
305
+ const update = { text }
306
+ if (context.date) {
307
+ update.dateTimeSelector = context.date
308
+ update.dateTimeSelectorText = await gp(context.date)
309
+ }
310
+ await api.update(update)
311
+ }
312
+ },
271
313
  {
272
314
  id: 'remindResponse',
315
+ before: ['remindResponseOnly'],
273
316
  isA: ['verb'],
274
317
  convolution: true,
275
318
  disabled: true,
276
- bridge: "{ ...next(operator), operator: operator, reminder: after[0], date: after[1], interpolate: '${reminder} ${date}' }",
319
+ optional: {
320
+ "2": { },
321
+ },
322
+ bridge: "{ ...next(operator), complete: true, operator: operator, reminder: after[0], date: after[1], interpolate: '${reminder} ${date}' }",
277
323
  semantic: async ({context, api, gp, gsp}) => {
278
324
  const text = await gsp(context.reminder.slice(0));
279
325
  const update = { text }
@@ -288,11 +334,11 @@ const template = {
288
334
  id: 'remind',
289
335
  isA: ['verb'],
290
336
  localHierarchy: [['self', 'remindable']],
291
- bridge: "{ ...next(operator), operator: operator, who: after[0], reminder: after[1], interpolate: '${operator} ${who} ${reminder}' }",
292
- justWhoBridge: "{ ...next(operator), bridge: 'justWhoBridge', operator: operator, who: after[0], interpolate: '${operator} ${who}' }",
293
- withDateBridge: "{ ...next(operator), operator: operator, who: after[0], reminder: after[1], date: after[2], interpolate: '${operator} ${who} ${reminder} ${date}' }",
294
- withDateFirstBridge: "{ ...next(operator), operator: operator, who: after[0], reminder: after[2], date: after[1], interpolate: '${operator} ${who} ${date} ${reminder}' }",
295
- withDateAndTimeBridge: "{ ...next(operator), operator: operator, who: after[0], reminder: after[1], date: after[2], time: after[3], interpolate: '${operator} ${who} ${reminder} ${date} ${time}' }",
337
+ bridge: "{ ...next(operator), complete: true, operator: operator, who: after[0], reminder: after[1], interpolate: '${operator} ${who} ${reminder}' }",
338
+ justWhoBridge: "{ ...next(operator), complete: true, bridge: 'justWhoBridge', operator: operator, who: after[0], interpolate: '${operator} ${who}' }",
339
+ withDateBridge: "{ ...next(operator), complete: true, operator: operator, who: after[0], reminder: after[1], date: after[2], interpolate: '${operator} ${who} ${reminder} ${date}' }",
340
+ withDateFirstBridge: "{ ...next(operator), complete: true, operator: operator, who: after[0], reminder: after[2], date: after[1], interpolate: '${operator} ${who} ${date} ${reminder}' }",
341
+ withDateAndTimeBridge: "{ ...next(operator), complete: true, operator: operator, who: after[0], reminder: after[1], date: after[2], time: after[3], interpolate: '${operator} ${who} ${reminder} ${date} ${time}' }",
296
342
  semantics: [
297
343
  {
298
344
  match: ({context}) => context.marker == 'remind' && context.inAddition,
@@ -327,7 +373,7 @@ const template = {
327
373
  {
328
374
  id: 'show',
329
375
  isA: ['verb'],
330
- bridge: "{ ...next(operator), operator: operator, reminders: after[0], interpolate: '${operator} ${reminders}' }",
376
+ bridge: "{ ...next(operator), operator: operator, complete: true, reminders: after[0], interpolate: '${operator} ${reminders}' }",
331
377
  semantic: ({context, api, verbatim}) => {
332
378
  verbatim(api.show())
333
379
  }
@@ -335,7 +381,7 @@ const template = {
335
381
  {
336
382
  id: 'delete_reminders',
337
383
  isA: ['verb'],
338
- bridge: "{ ...next(operator), operator: operator, reminders: after[0], interpolate: '${operator} ${reminders}' }",
384
+ bridge: "{ ...next(operator), operator: operator, complete: true, reminders: after[0], interpolate: '${operator} ${reminders}' }",
339
385
  semantic: ({context, api, verbatim}) => {
340
386
  const s = api.delete_reminder(context.reminders.value)
341
387
  if (s) {