ekms 8.0.0-beta.77 → 8.0.0-beta.79

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.
@@ -3184,20 +3184,6 @@
3184
3184
  1
3185
3185
  ]
3186
3186
  ],
3187
- [
3188
- [
3189
- "is",
3190
- 0
3191
- ],
3192
- [
3193
- "list",
3194
- 1
3195
- ],
3196
- [
3197
- "unknown",
3198
- 1
3199
- ]
3200
- ],
3201
3187
  [
3202
3188
  [
3203
3189
  "is",
@@ -25482,20 +25468,6 @@
25482
25468
  1
25483
25469
  ]
25484
25470
  ],
25485
- [
25486
- [
25487
- "is",
25488
- 0
25489
- ],
25490
- [
25491
- "list",
25492
- 1
25493
- ],
25494
- [
25495
- "unknown",
25496
- 1
25497
- ]
25498
- ],
25499
25471
  [
25500
25472
  [
25501
25473
  "is",
@@ -0,0 +1,2 @@
1
+ {
2
+ }
@@ -0,0 +1,104 @@
1
+ const { knowledgeModule, where } = require('./runtime').theprogrammablemind
2
+ const gdefaults = require('./gdefaults.js')
3
+ const conjunction_tests = require('./conjunction.test.json')
4
+ const { defaultContextCheck } = require('./helpers')
5
+
6
+ let config = {
7
+ name: 'conjunction',
8
+ operators: [
9
+ "(x [list|and] y)",
10
+ ],
11
+ bridges: [
12
+ // context.instance == variables.instance (unification)
13
+ {
14
+ id: "list",
15
+ level: 0,
16
+ selector: {
17
+ match: "same",
18
+ left: [ { pattern: '($type && context.instance == variables.instance)' } ],
19
+ right: [ { pattern: '($type && context.instance == variables.instance)' } ],
20
+ // left: [ { pattern: '($type)' } ],
21
+ // right: [ { pattern: '($type)' } ],
22
+ passthrough: true
23
+ },
24
+ bridge: "{ ...next(operator), listable: true, isList: true, value: append(before, after) }"
25
+ },
26
+ {
27
+ id: "list",
28
+ level: 1,
29
+ selector: {
30
+ match: "same",
31
+ left: [ { pattern: '($type && context.instance == variables.instance)' } ],
32
+ passthrough: true
33
+ },
34
+ bridge: "{ ...operator, value: append(before, operator.value) }"
35
+ },
36
+ ],
37
+ generators: [
38
+ {
39
+ where: where(),
40
+ notes: 'handle lists with yes no',
41
+ // ({context, hierarchy}) => context.marker == 'list' && context.paraphrase && context.value,
42
+ // ({context, hierarchy}) => context.marker == 'list' && context.value,
43
+ match: ({context, hierarchy}) => context.marker == 'list' && context.paraphrase && context.value && context.value.length > 0 && context.value[0].marker == 'yesno',
44
+ apply: async ({context, g, gs}) => {
45
+ return `${await g(context.value[0])} ${await gs(context.value.slice(1), ', ', ' and ')}`
46
+ }
47
+ },
48
+
49
+ {
50
+ where: where(),
51
+ notes: 'handle lists',
52
+ // ({context, hierarchy}) => context.marker == 'list' && context.paraphrase && context.value,
53
+ // ({context, hierarchy}) => context.marker == 'list' && context.value,
54
+ match: ({context, hierarchy}) => context.marker == 'list' && context.value,
55
+ apply: async ({context, gs}) => {
56
+ if (context.newLinesOnly) {
57
+ return await gs(context.value, '\n')
58
+ } else {
59
+ return await gs(context.value, ', ', ' and ')
60
+ }
61
+ }
62
+ },
63
+ ],
64
+ };
65
+
66
+ const initializer = ({objects, config, isModule}) => {
67
+ config.addArgs(({config, api, isA}) => ({
68
+ isAListable: (context, type) => {
69
+ if (context.marker == 'list' || context.listable) {
70
+ return context.value.every( (element) => isA(element.marker, type) )
71
+ } else {
72
+ return isA(context.marker, type)
73
+ }
74
+ },
75
+ toContext: (v) => {
76
+ if (Array.isArray(v)) {
77
+ return { marker: 'list', level: 1, value: v }
78
+ }
79
+ if (v.marker == 'list') {
80
+ return v
81
+ }
82
+ return v
83
+ },
84
+ }))
85
+ }
86
+
87
+ knowledgeModule( {
88
+ config,
89
+ includes: [gdefaults],
90
+ initializer,
91
+
92
+ module,
93
+ description: 'framework for conjunction',
94
+ newWay: true,
95
+ test: {
96
+ name: './conjunction.test.json',
97
+ contents: conjunction_tests,
98
+ checks: {
99
+ objects: ['idSuffix'],
100
+ context: defaultContextCheck,
101
+ },
102
+
103
+ },
104
+ })
@@ -0,0 +1,322 @@
1
+ [
2
+ {
3
+ "associations": [
4
+ [
5
+ [
6
+ "list",
7
+ 0
8
+ ],
9
+ [
10
+ "unknown",
11
+ 0
12
+ ]
13
+ ],
14
+ [
15
+ [
16
+ "list",
17
+ 0
18
+ ],
19
+ [
20
+ "unknown",
21
+ 0
22
+ ],
23
+ [
24
+ "unknown",
25
+ 1
26
+ ]
27
+ ],
28
+ [
29
+ [
30
+ "list",
31
+ 0
32
+ ],
33
+ [
34
+ "unknown",
35
+ 1
36
+ ]
37
+ ],
38
+ [
39
+ [
40
+ "list",
41
+ 1
42
+ ],
43
+ [
44
+ "unknown",
45
+ 1
46
+ ]
47
+ ]
48
+ ],
49
+ "config": {
50
+ },
51
+ "contexts": [
52
+ {
53
+ "default": true,
54
+ "isList": true,
55
+ "level": 1,
56
+ "listable": true,
57
+ "marker": "list",
58
+ "range": {
59
+ "end": 8,
60
+ "start": 0
61
+ },
62
+ "text": "1 2 and 3",
63
+ "topLevel": true,
64
+ "types": [
65
+ "list",
66
+ "unknown"
67
+ ],
68
+ "value": [
69
+ {
70
+ "dead": true,
71
+ "level": 1,
72
+ "marker": "unknown",
73
+ "range": {
74
+ "end": 0,
75
+ "start": 0
76
+ },
77
+ "text": "1",
78
+ "types": [
79
+ "unknown"
80
+ ],
81
+ "unknown": true,
82
+ "value": "1",
83
+ "word": "1"
84
+ },
85
+ {
86
+ "dead": true,
87
+ "level": 1,
88
+ "marker": "unknown",
89
+ "range": {
90
+ "end": 2,
91
+ "start": 2
92
+ },
93
+ "text": "2",
94
+ "types": [
95
+ "unknown"
96
+ ],
97
+ "unknown": true,
98
+ "value": "2",
99
+ "word": "2"
100
+ },
101
+ {
102
+ "dead": true,
103
+ "level": 1,
104
+ "marker": "unknown",
105
+ "range": {
106
+ "end": 8,
107
+ "start": 8
108
+ },
109
+ "text": "3",
110
+ "types": [
111
+ "unknown"
112
+ ],
113
+ "unknown": true,
114
+ "value": "3",
115
+ "word": "3"
116
+ }
117
+ ],
118
+ "word": "and"
119
+ }
120
+ ],
121
+ "developerTest": false,
122
+ "generatedParenthesized": [
123
+ ""
124
+ ],
125
+ "metadata": {
126
+ "opChoices": [
127
+ {
128
+ "counter": 1,
129
+ "op": [
130
+ "unknown",
131
+ 0
132
+ ],
133
+ "ops": [
134
+ [
135
+ "list",
136
+ 0
137
+ ],
138
+ [
139
+ "unknown",
140
+ 0
141
+ ],
142
+ [
143
+ "unknown",
144
+ 0
145
+ ],
146
+ [
147
+ "unknown",
148
+ 0
149
+ ]
150
+ ]
151
+ },
152
+ {
153
+ "counter": 2,
154
+ "op": [
155
+ "unknown",
156
+ 0
157
+ ],
158
+ "ops": [
159
+ [
160
+ "list",
161
+ 0
162
+ ],
163
+ [
164
+ "unknown",
165
+ 0
166
+ ],
167
+ [
168
+ "unknown",
169
+ 0
170
+ ]
171
+ ]
172
+ },
173
+ {
174
+ "counter": 3,
175
+ "op": [
176
+ "unknown",
177
+ 0
178
+ ],
179
+ "ops": [
180
+ [
181
+ "list",
182
+ 0
183
+ ],
184
+ [
185
+ "unknown",
186
+ 0
187
+ ]
188
+ ]
189
+ },
190
+ {
191
+ "counter": 4,
192
+ "op": [
193
+ "list",
194
+ 0
195
+ ],
196
+ "ops": [
197
+ [
198
+ "list",
199
+ 0
200
+ ]
201
+ ]
202
+ },
203
+ {
204
+ "counter": 5,
205
+ "op": [
206
+ "list",
207
+ 1
208
+ ],
209
+ "ops": [
210
+ [
211
+ "list",
212
+ 1
213
+ ]
214
+ ]
215
+ }
216
+ ]
217
+ },
218
+ "objects": {
219
+ "nameToUUID": {
220
+ "conjunction": "conjunction1",
221
+ "gdefaults": "gdefaults2",
222
+ "tokenize": "tokenize2"
223
+ },
224
+ "namespaced": {
225
+ "conjunction1": {
226
+ },
227
+ "gdefaults2": {
228
+ },
229
+ "tokenize2": {
230
+ }
231
+ },
232
+ "processed": [
233
+ {
234
+ "context": {
235
+ "default": true,
236
+ "isList": true,
237
+ "level": 1,
238
+ "listable": true,
239
+ "marker": "list",
240
+ "range": {
241
+ "end": 8,
242
+ "start": 0
243
+ },
244
+ "text": "1 2 and 3",
245
+ "topLevel": true,
246
+ "types": [
247
+ "list",
248
+ "unknown"
249
+ ],
250
+ "value": [
251
+ {
252
+ "dead": true,
253
+ "level": 1,
254
+ "marker": "unknown",
255
+ "range": {
256
+ "end": 0,
257
+ "start": 0
258
+ },
259
+ "text": "1",
260
+ "types": [
261
+ "unknown"
262
+ ],
263
+ "unknown": true,
264
+ "value": "1",
265
+ "word": "1"
266
+ },
267
+ {
268
+ "dead": true,
269
+ "level": 1,
270
+ "marker": "unknown",
271
+ "range": {
272
+ "end": 2,
273
+ "start": 2
274
+ },
275
+ "text": "2",
276
+ "types": [
277
+ "unknown"
278
+ ],
279
+ "unknown": true,
280
+ "value": "2",
281
+ "word": "2"
282
+ },
283
+ {
284
+ "dead": true,
285
+ "level": 1,
286
+ "marker": "unknown",
287
+ "range": {
288
+ "end": 8,
289
+ "start": 8
290
+ },
291
+ "text": "3",
292
+ "types": [
293
+ "unknown"
294
+ ],
295
+ "unknown": true,
296
+ "value": "3",
297
+ "word": "3"
298
+ }
299
+ ],
300
+ "word": "and"
301
+ },
302
+ "generatedParenthesized": "",
303
+ "paraphrases": "1, 2 and 3",
304
+ "paraphrasesParenthesized": "((1), (2) and (3))",
305
+ "responses": [
306
+ ""
307
+ ]
308
+ }
309
+ ]
310
+ },
311
+ "paraphrases": [
312
+ "1, 2 and 3"
313
+ ],
314
+ "paraphrasesParenthesized": [
315
+ "((1), (2) and (3))"
316
+ ],
317
+ "query": "1 2 and 3",
318
+ "responses": [
319
+ ""
320
+ ]
321
+ }
322
+ ]
@@ -24227,6 +24227,24 @@
24227
24227
  1
24228
24228
  ]
24229
24229
  ],
24230
+ [
24231
+ [
24232
+ "is",
24233
+ 0
24234
+ ],
24235
+ [
24236
+ "propertyOf",
24237
+ 0
24238
+ ],
24239
+ [
24240
+ "the",
24241
+ 0
24242
+ ],
24243
+ [
24244
+ "unknown",
24245
+ 1
24246
+ ]
24247
+ ],
24230
24248
  [
24231
24249
  [
24232
24250
  "is",
@@ -41404,6 +41422,24 @@
41404
41422
  1
41405
41423
  ]
41406
41424
  ],
41425
+ [
41426
+ [
41427
+ "is",
41428
+ 0
41429
+ ],
41430
+ [
41431
+ "propertyOf",
41432
+ 0
41433
+ ],
41434
+ [
41435
+ "the",
41436
+ 0
41437
+ ],
41438
+ [
41439
+ "unknown",
41440
+ 1
41441
+ ]
41442
+ ],
41407
41443
  [
41408
41444
  [
41409
41445
  "is",