@tenphi/akno-core 0.13.0 → 0.13.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.
@@ -1,30 +1,41 @@
1
- export const MEMORY_VIEW_VERSION = 'memory-view-v7';
1
+ export const MEMORY_VIEW_VERSION = 'memory-view-v12';
2
2
  /**
3
3
  * Resolve only explicit, high-precision language. An ambiguous query gets factual memory rather
4
4
  * than broadening into reports or imagined alternatives merely because those words rank well.
5
5
  */
6
6
  export function inferMemoryView(query, mode = 'lookup') {
7
7
  const russian = russianMemoryView(query);
8
- if (russian)
9
- return russian;
10
- if (ENGLISH_TENTATIVE_ASSISTANT_REPORT.test(query))
8
+ // Apply the same precedence to both languages. Resolving Russian first lets a lower-priority
9
+ // topic cue (such as a plan) hide an explicit English request for a report about that topic.
10
+ if (russian === 'reports' ||
11
+ ENGLISH_TENTATIVE_ASSISTANT_REPORT.test(query) ||
12
+ ENGLISH_ASSISTANT_SPECULATION.test(query))
11
13
  return 'reports';
12
- if (/\b(report|reported|reports|said|says|according to|told|claimed|claims)\b/i.test(query)) {
14
+ // A document title such as "Report 1111" must not override a Russian question request.
15
+ // Across languages, require the English report cue to belong to an explicit request.
16
+ if (/\b(report|reported|reports|said|says|according to|told|claimed|claims)\b/i.test(query) &&
17
+ (!russian || ENGLISH_REPORT_REQUEST.test(query))) {
13
18
  return 'reports';
14
19
  }
15
- if (/\b((?:open|unresolved|unanswered) (?:[a-z-]+ ){0,3}questions?|what remains (?:open|unanswered)|questions? remain)\b/i.test(query)) {
20
+ if (russian === 'questions' ||
21
+ /\b((?:open|unresolved|unanswered) (?:[a-z-]+ ){0,3}questions?|what remains (?:open|unanswered)|questions? remain)\b/i.test(query)) {
16
22
  return 'questions';
17
23
  }
18
- if (ENGLISH_FICTION_CONTENT.test(query) ||
24
+ if (russian === 'discussion' ||
25
+ ENGLISH_FICTION_CONTENT.test(query) ||
26
+ ENGLISH_FICTIONAL_DISCUSSION.test(query) ||
27
+ ENGLISH_UNREALIZED_DISCUSSION.test(query) ||
19
28
  /\b(hypothetical|hypotheses|hypothesis|counterfactual|what if|suppose|scenario|scenarios|alternative|alternatives|competing (?:[a-z-]+ ){0,3}explanations?|ideas? considered|discussed options?|tentative beliefs?|unconfirmed hypotheses)\b/i.test(query)) {
20
29
  return 'discussion';
21
30
  }
22
31
  if (declinedOffer(query))
23
32
  return 'history';
24
- if (/\b(history|historical|previously|formerly|reject(?:s|ed|ing)?|cancel(?:led|ed)?|completed|superseded|resolved|what was decided|decision history)\b/i.test(query)) {
33
+ if (russian === 'history' ||
34
+ /\b(history|historical|previously|formerly|reject(?:s|ed|ing)?|cancel(?:led|ed)?|completed|superseded|resolved|what was decided|decision history)\b/i.test(query)) {
25
35
  return 'history';
26
36
  }
27
- if (/\b(plan|plans|planned|planning|proposal|proposed|schedule|scheduled|upcoming|due|overdue|deadline|next action|next actions)\b/i.test(query)) {
37
+ if (russian === 'planning' ||
38
+ /\b(plan|plans|planned|planning|proposal|proposed|schedule|scheduled|upcoming|due|overdue|deadline|next action|next actions)\b/i.test(query)) {
28
39
  return 'planning';
29
40
  }
30
41
  return mode === 'explore' ? 'all' : 'factual';
@@ -73,29 +84,53 @@ function declinedOffer(query) {
73
84
  // Binding the phrase and predicate by word distance excludes an unrelated predicate in a
74
85
  // following clause. These patterns are precision-oriented cues, not a general discourse parser.
75
86
  const DISCOURSE_WORD = String.raw `(?!(?:and|or|but|while|whereas|because|although|if|when|и|а|но|или|пока|когда|если|что|потому)(?![\p{L}\p{N}-]))[\p{L}\p{N}-]+`;
87
+ const ENGLISH_REPORT_REQUEST = new RegExp(String.raw `^\s*(?:(?:what|which|who|how|show|find|list)(?:[ \t]+${DISCOURSE_WORD}){0,8}[ \t]+(?:report(?:ed|s)?|said|says|told|claimed|claims)\b|according to\b)`, 'iu');
76
88
  const ENGLISH_FICTION_CONTENT = new RegExp(String.raw `\bfictional (?:${DISCOURSE_WORD} ){0,3}(?:examples?|promises?)\b`, 'iu');
77
- function boundedDiscoursePhrase(noun, predicate) {
78
- const gap = String.raw `(?:[ \t]+${DISCOURSE_WORD}){0,8}[ \t]+`;
89
+ function boundedDiscoursePhrase(noun, predicate, word = DISCOURSE_WORD) {
90
+ const gap = String.raw `(?:[ \t]+${word}){0,8}[ \t]+`;
79
91
  return new RegExp(String.raw `(?:^|[^\p{L}\p{N}])(?:${noun}${gap}${predicate}|${predicate}${gap}${noun})(?=$|[^\p{L}\p{N}])`, 'iu');
80
92
  }
81
93
  const RUSSIAN_QUALIFIED_REPORT = boundedDiscoursePhrase(String.raw `(?:неподтвержд[её]нн|непроверенн|предварительн)\p{L}* (?:${DISCOURSE_WORD} ){0,3}сообщени\p{L}*`, String.raw `(?:записал[аи]?|дал[аи]?|передал[аи]?|пересказал[аи]?|пересказыва(?:ет|ют))`);
82
- const RUSSIAN_UNREALIZED_DISCUSSION = boundedDiscoursePhrase(String.raw `(?:нереализованн|несостоявш)\p{L}* (?:${DISCOURSE_WORD} ){0,3}вариант\p{L}*`, String.raw `(?:описал[аи]?|рассмотрел[аи]?|обсудил[аи]?)`);
94
+ const RUSSIAN_UNREALIZED_DISCUSSION = boundedDiscoursePhrase(String.raw `(?:нереализованн|несостоявш)\p{L}* (?:${DISCOURSE_WORD} ){0,3}(?:вариант|льгот|следстви|преимуществ)\p{L}*`, String.raw `(?:описал[аи]?|рассмотрел[аи]?|обсудил[аи]?)`);
95
+ const ENGLISH_UNREALIZED_DISCUSSION = boundedDiscoursePhrase(String.raw `unreali[sz]ed (?:${DISCOURSE_WORD} ){0,3}(?:benefits?|consequences?|outcomes?|options?)`, String.raw `(?:describ(?:e[sd]?|ing)|consider(?:s|ed|ing)?|discuss(?:es|ed|ing)?)`);
96
+ // Narrative predicates bind fiction to the requested material without enumerating story objects.
97
+ const ENGLISH_FICTIONAL_DISCUSSION = boundedDiscoursePhrase('fictional', String.raw `(?:introduc(?:e[sd]?|ing)|describ(?:e[sd]?|ing)|discuss(?:es|ed|ing)?)`);
98
+ const RUSSIAN_FICTIONAL_DISCUSSION = boundedDiscoursePhrase(String.raw `вымышленн\p{L}*`, String.raw `(?:предложил[аи]? обсудить|обсуждал[аи]?|описал[аи]?)`);
99
+ const RUSSIAN_RELAYED_REPORT = boundedDiscoursePhrase(String.raw `сообщени\p{L}*`, String.raw `(?:пересказал[аи]?|пересказыва(?:ет|ют))`);
100
+ const RUSSIAN_TRANSFERRED_MESSAGE = boundedDiscoursePhrase(String.raw `сообщени\p{L}*`, String.raw `(?:передал[аи]?|переда[её]т)`);
101
+ const RUSSIAN_COMPETING_DISCUSSION = boundedDiscoursePhrase(String.raw `конкурирующ\p{L}* (?:${DISCOURSE_WORD} ){0,3}(?:верси|объяснени)\p{L}*`, String.raw `(?:рассматривал[аи]?|рассмотрел[аи]?|обсуждал[аи]?|обсудил[аи]?)`);
83
102
  // Suggesting a possible claim is a report; suggesting an action alone is not. Keep the
84
103
  // tentative phrase, reporting actor and modal predicate within one bounded construction.
85
104
  const ENGLISH_TENTATIVE_ASSISTANT_REPORT = new RegExp(String.raw `\b(?:(?:tentative|preliminary|unverified) (?:${DISCOURSE_WORD} ){0,5}(?:did|does) (?:the )?assistant (?:suggest|indicate|estimate) (?:may|might|could)\b|(?:the )?assistant (?:tentatively|provisionally) (?:suggests?|suggested|indicates?|indicated) that (?:${DISCOURSE_WORD} ){0,5}(?:may|might|could)\b)`, 'iu');
105
+ const ENGLISH_ASSISTANT_SPECULATION = new RegExp(String.raw `^\s*(?:(?:what|which)(?:[ \t]+${DISCOURSE_WORD}){0,8}[ \t]+)?(?:the )?assistant(?: (?:has|had))? (?:speculat(?:e[sd]?|ing)|conjectur(?:e[sd]?|ing))\b`, 'iu');
106
+ const RUSSIAN_ASSISTANT_SPECULATION = boundedDiscoursePhrase(String.raw `(?:предположени|догадк)\p{L}*`, String.raw `(?:(?:высказал[аи]?|предложил[аи]?) ассистент|ассистент (?:высказал[аи]?|предложил[аи]?))`);
86
107
  const RUSSIAN_ASSISTANT_READING = boundedDiscoursePhrase(String.raw `(?:предварительн|неподтвержд[её]нн)\p{L}* (?:верси|предположени|прочтени)\p{L}*`, String.raw `(?:предложил[аи]? ассистент|ассистент предложил[аи]?)`);
87
108
  const RUSSIAN_FICTIONAL_PROMISE = boundedDiscoursePhrase(String.raw `вымышленн\p{L}* (?:${DISCOURSE_WORD} ){0,3}обещани\p{L}*`, String.raw `(?:предложил[аи]? обсудить|обсуждал[аи]?|описал[аи]?)`);
109
+ const RUSSIAN_REJECTED_PROPOSAL = boundedDiscoursePhrase(String.raw `(?:предложени(?:е|я|ю|ем|и|й|ям|ями|ях)|(?:план|вариант)(?:а|у|ом|е|ы|ов|ам|ами|ах)?)`, String.raw `(?<!(?:^|[^\p{L}\p{N}-])(?:не|бы?|если|if)(?:[ \t]+${DISCOURSE_WORD}){0,8}[ \t]+)отверг(?:ла|ло|ли)?(?!(?:[ \t]+${DISCOURSE_WORD}){0,8}[ \t]+бы?(?![\p{L}\p{N}-]))`, String.raw `(?!(?:не|бы?)(?![\p{L}\p{N}-]))${DISCOURSE_WORD}`);
88
110
  function russianMemoryView(query) {
89
- if (RUSSIAN_QUALIFIED_REPORT.test(query) || RUSSIAN_ASSISTANT_READING.test(query))
111
+ if (RUSSIAN_QUALIFIED_REPORT.test(query) ||
112
+ RUSSIAN_RELAYED_REPORT.test(query) ||
113
+ // Transfer can describe machine output; retelling and explicit attribution remain reports.
114
+ (RUSSIAN_TRANSFERRED_MESSAGE.test(query) && !/сообщени\p{L}*[ \t]+об[ \t]+ошибк\p{L}*/iu.test(query)) ||
115
+ RUSSIAN_ASSISTANT_READING.test(query) ||
116
+ RUSSIAN_ASSISTANT_SPECULATION.test(query))
90
117
  return 'reports';
91
118
  if (/(?:^|[^\p{L}])(?:сообщил|сообщила|сообщает|сказал|сказала|по словам|со слов|согласно|утверждает)(?=$|[^\p{L}])/iu.test(query))
92
119
  return 'reports';
93
120
  if (/вопрос\p{L}* (?:остал|открыт|не реш)|нереш[её]нн\p{L}* вопрос|открыт\p{L}* вопрос/iu.test(query))
94
121
  return 'questions';
95
- if (RUSSIAN_UNREALIZED_DISCUSSION.test(query) || RUSSIAN_FICTIONAL_PROMISE.test(query))
122
+ if (RUSSIAN_UNREALIZED_DISCUSSION.test(query) ||
123
+ RUSSIAN_FICTIONAL_PROMISE.test(query) ||
124
+ RUSSIAN_FICTIONAL_DISCUSSION.test(query) ||
125
+ RUSSIAN_COMPETING_DISCUSSION.test(query))
96
126
  return 'discussion';
97
127
  if (/гипотез|гипотетическ|контрфактическ|что если|предположим|сценари|альтернатив|обсуждал/iu.test(query))
98
128
  return 'discussion';
129
+ // Negation and conditional particles can hide eligible proposals behind history.
130
+ // Conservatively skip these cues even when negation modifies an adverb or subject instead.
131
+ // Keep the proposal and rejection within the same bounded clause.
132
+ if (RUSSIAN_REJECTED_PROPOSAL.test(query))
133
+ return 'history';
99
134
  // The noun "replacement" asks about coverage too; only an explicit completed replacement
100
135
  // denotes history. A stem match used to hide factual coverage from Russian questions.
101
136
  if (/истори|раньше|прежде|отклон|отмен|заверш|был[аои]? замен|замен[её]н|было решено/iu.test(query))
@@ -1 +1 @@
1
- {"version":3,"file":"intent.js","sourceRoot":"","sources":["../../src/memory/intent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"intent.js","sourceRoot":"","sources":["../../src/memory/intent.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tenphi/akno-core",
3
- "version": "0.13.0",
3
+ "version": "0.13.1",
4
4
  "description": "Akno — the memory layer itself: index, ops, watcher, models",
5
5
  "license": "PolyForm-Noncommercial-1.0.0",
6
6
  "type": "module",
@@ -19,10 +19,11 @@
19
19
  ],
20
20
  "dependencies": {
21
21
  "better-sqlite3": "^12.4.1",
22
+ "mdast-util-from-markdown": "2.0.3",
22
23
  "sqlite-vec": "^0.1.9",
23
24
  "yaml": "^2.9.0",
24
25
  "zod": "^4.4.3",
25
- "@tenphi/akno-protocol": "0.13.0"
26
+ "@tenphi/akno-protocol": "0.13.1"
26
27
  },
27
28
  "devDependencies": {
28
29
  "@types/better-sqlite3": "^7.6.12"