@tenphi/akno-core 0.12.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.
- package/config/default.jsonc +12 -2
- package/dist/bench/graph.d.ts +2 -0
- package/dist/bench/graph.d.ts.map +1 -1
- package/dist/bench/graph.js +4 -0
- package/dist/bench/graph.js.map +1 -1
- package/dist/bench/language-corpus-v10.d.ts +4 -0
- package/dist/bench/language-corpus-v10.d.ts.map +1 -0
- package/dist/bench/language-corpus-v10.js +569 -0
- package/dist/bench/language-corpus-v10.js.map +1 -0
- package/dist/bench/language-corpus-v11.d.ts +4 -0
- package/dist/bench/language-corpus-v11.d.ts.map +1 -0
- package/dist/bench/language-corpus-v11.js +594 -0
- package/dist/bench/language-corpus-v11.js.map +1 -0
- package/dist/bench/language-corpus-v12.d.ts +4 -0
- package/dist/bench/language-corpus-v12.d.ts.map +1 -0
- package/dist/bench/language-corpus-v12.js +584 -0
- package/dist/bench/language-corpus-v12.js.map +1 -0
- package/dist/bench/language-corpus-v13.d.ts +4 -0
- package/dist/bench/language-corpus-v13.d.ts.map +1 -0
- package/dist/bench/language-corpus-v13.js +584 -0
- package/dist/bench/language-corpus-v13.js.map +1 -0
- package/dist/bench/language-corpus-v14.d.ts +4 -0
- package/dist/bench/language-corpus-v14.d.ts.map +1 -0
- package/dist/bench/language-corpus-v14.js +584 -0
- package/dist/bench/language-corpus-v14.js.map +1 -0
- package/dist/bench/language-corpus-v15.d.ts +4 -0
- package/dist/bench/language-corpus-v15.d.ts.map +1 -0
- package/dist/bench/language-corpus-v15.js +305 -0
- package/dist/bench/language-corpus-v15.js.map +1 -0
- package/dist/bench/language-corpus-v16.d.ts +4 -0
- package/dist/bench/language-corpus-v16.d.ts.map +1 -0
- package/dist/bench/language-corpus-v16.js +305 -0
- package/dist/bench/language-corpus-v16.js.map +1 -0
- package/dist/bench/language-corpus-v17.d.ts +4 -0
- package/dist/bench/language-corpus-v17.d.ts.map +1 -0
- package/dist/bench/language-corpus-v17.js +305 -0
- package/dist/bench/language-corpus-v17.js.map +1 -0
- package/dist/bench/language-corpus-v18.d.ts +4 -0
- package/dist/bench/language-corpus-v18.d.ts.map +1 -0
- package/dist/bench/language-corpus-v18.js +305 -0
- package/dist/bench/language-corpus-v18.js.map +1 -0
- package/dist/bench/language-corpus-v19.d.ts +4 -0
- package/dist/bench/language-corpus-v19.d.ts.map +1 -0
- package/dist/bench/language-corpus-v19.js +310 -0
- package/dist/bench/language-corpus-v19.js.map +1 -0
- package/dist/bench/language-corpus-v2.d.ts +12 -0
- package/dist/bench/language-corpus-v2.d.ts.map +1 -0
- package/dist/bench/language-corpus-v2.js +146 -0
- package/dist/bench/language-corpus-v2.js.map +1 -0
- package/dist/bench/language-corpus-v20.d.ts +4 -0
- package/dist/bench/language-corpus-v20.d.ts.map +1 -0
- package/dist/bench/language-corpus-v20.js +310 -0
- package/dist/bench/language-corpus-v20.js.map +1 -0
- package/dist/bench/language-corpus-v21.d.ts +4 -0
- package/dist/bench/language-corpus-v21.d.ts.map +1 -0
- package/dist/bench/language-corpus-v21.js +310 -0
- package/dist/bench/language-corpus-v21.js.map +1 -0
- package/dist/bench/language-corpus-v22.d.ts +4 -0
- package/dist/bench/language-corpus-v22.d.ts.map +1 -0
- package/dist/bench/language-corpus-v22.js +330 -0
- package/dist/bench/language-corpus-v22.js.map +1 -0
- package/dist/bench/language-corpus-v23.d.ts +4 -0
- package/dist/bench/language-corpus-v23.d.ts.map +1 -0
- package/dist/bench/language-corpus-v23.js +203 -0
- package/dist/bench/language-corpus-v23.js.map +1 -0
- package/dist/bench/language-corpus-v3.d.ts +4 -0
- package/dist/bench/language-corpus-v3.d.ts.map +1 -0
- package/dist/bench/language-corpus-v3.js +184 -0
- package/dist/bench/language-corpus-v3.js.map +1 -0
- package/dist/bench/language-corpus-v4.d.ts +4 -0
- package/dist/bench/language-corpus-v4.d.ts.map +1 -0
- package/dist/bench/language-corpus-v4.js +111 -0
- package/dist/bench/language-corpus-v4.js.map +1 -0
- package/dist/bench/language-corpus-v5.d.ts +4 -0
- package/dist/bench/language-corpus-v5.d.ts.map +1 -0
- package/dist/bench/language-corpus-v5.js +111 -0
- package/dist/bench/language-corpus-v5.js.map +1 -0
- package/dist/bench/language-corpus-v6.d.ts +4 -0
- package/dist/bench/language-corpus-v6.d.ts.map +1 -0
- package/dist/bench/language-corpus-v6.js +111 -0
- package/dist/bench/language-corpus-v6.js.map +1 -0
- package/dist/bench/language-corpus-v7.d.ts +4 -0
- package/dist/bench/language-corpus-v7.d.ts.map +1 -0
- package/dist/bench/language-corpus-v7.js +150 -0
- package/dist/bench/language-corpus-v7.js.map +1 -0
- package/dist/bench/language-corpus-v8.d.ts +4 -0
- package/dist/bench/language-corpus-v8.d.ts.map +1 -0
- package/dist/bench/language-corpus-v8.js +150 -0
- package/dist/bench/language-corpus-v8.js.map +1 -0
- package/dist/bench/language-corpus-v9.d.ts +4 -0
- package/dist/bench/language-corpus-v9.d.ts.map +1 -0
- package/dist/bench/language-corpus-v9.js +150 -0
- package/dist/bench/language-corpus-v9.js.map +1 -0
- package/dist/bench/language-corpus.d.ts +20 -0
- package/dist/bench/language-corpus.d.ts.map +1 -0
- package/dist/bench/language-corpus.js +205 -0
- package/dist/bench/language-corpus.js.map +1 -0
- package/dist/bench/language-review.d.ts +286 -0
- package/dist/bench/language-review.d.ts.map +1 -0
- package/dist/bench/language-review.js +605 -0
- package/dist/bench/language-review.js.map +1 -0
- package/dist/bench/language.d.ts +1221 -0
- package/dist/bench/language.d.ts.map +1 -0
- package/dist/bench/language.js +571 -0
- package/dist/bench/language.js.map +1 -0
- package/dist/config/load.js +5 -0
- package/dist/config/load.js.map +1 -1
- package/dist/config/schema.d.ts +3 -0
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +1 -0
- package/dist/config/schema.js.map +1 -1
- package/dist/index/derive.d.ts.map +1 -1
- package/dist/index/derive.js +14 -5
- package/dist/index/derive.js.map +1 -1
- package/dist/index/graph.d.ts.map +1 -1
- package/dist/index/graph.js +3 -0
- package/dist/index/graph.js.map +1 -1
- package/dist/index/indexer.d.ts.map +1 -1
- package/dist/index/indexer.js +6 -1
- package/dist/index/indexer.js.map +1 -1
- package/dist/ingest/extract.d.ts.map +1 -1
- package/dist/ingest/extract.js +3 -1
- package/dist/ingest/extract.js.map +1 -1
- package/dist/kb/line-facts.d.ts.map +1 -1
- package/dist/kb/line-facts.js +2 -0
- package/dist/kb/line-facts.js.map +1 -1
- package/dist/kb/managed-lines.d.ts.map +1 -1
- package/dist/kb/managed-lines.js +3 -2
- package/dist/kb/managed-lines.js.map +1 -1
- package/dist/kb/prose.d.ts +12 -0
- package/dist/kb/prose.d.ts.map +1 -0
- package/dist/kb/prose.js +323 -0
- package/dist/kb/prose.js.map +1 -0
- package/dist/maintenance/conflicts.d.ts +1 -1
- package/dist/maintenance/curate.d.ts +1 -0
- package/dist/maintenance/curate.d.ts.map +1 -1
- package/dist/maintenance/curate.js +28 -1
- package/dist/maintenance/curate.js.map +1 -1
- package/dist/maintenance/dream.d.ts.map +1 -1
- package/dist/maintenance/dream.js +6 -1
- package/dist/maintenance/dream.js.map +1 -1
- package/dist/maintenance/plans.d.ts.map +1 -1
- package/dist/maintenance/plans.js +2 -0
- package/dist/maintenance/plans.js.map +1 -1
- package/dist/maintenance/revision-language.d.ts +4 -0
- package/dist/maintenance/revision-language.d.ts.map +1 -0
- package/dist/maintenance/revision-language.js +50 -0
- package/dist/maintenance/revision-language.js.map +1 -0
- package/dist/memory/action-agency.d.ts +5 -0
- package/dist/memory/action-agency.d.ts.map +1 -0
- package/dist/memory/action-agency.js +76 -0
- package/dist/memory/action-agency.js.map +1 -0
- package/dist/memory/clause-ending.d.ts +4 -0
- package/dist/memory/clause-ending.d.ts.map +1 -0
- package/dist/memory/clause-ending.js +6 -0
- package/dist/memory/clause-ending.js.map +1 -0
- package/dist/memory/counterfactual-wording.d.ts +4 -0
- package/dist/memory/counterfactual-wording.d.ts.map +1 -0
- package/dist/memory/counterfactual-wording.js +101 -0
- package/dist/memory/counterfactual-wording.js.map +1 -0
- package/dist/memory/coverage-roles.d.ts +3 -0
- package/dist/memory/coverage-roles.d.ts.map +1 -0
- package/dist/memory/coverage-roles.js +28 -0
- package/dist/memory/coverage-roles.js.map +1 -0
- package/dist/memory/intent.d.ts +1 -0
- package/dist/memory/intent.d.ts.map +1 -1
- package/dist/memory/intent.js +88 -5
- package/dist/memory/intent.js.map +1 -1
- package/dist/memory/named-actor.d.ts +2 -0
- package/dist/memory/named-actor.d.ts.map +1 -0
- package/dist/memory/named-actor.js +9 -0
- package/dist/memory/named-actor.js.map +1 -0
- package/dist/memory/personal-negative-actions.d.ts +3 -0
- package/dist/memory/personal-negative-actions.d.ts.map +1 -0
- package/dist/memory/personal-negative-actions.js +67 -0
- package/dist/memory/personal-negative-actions.js.map +1 -0
- package/dist/memory/projection.d.ts.map +1 -1
- package/dist/memory/projection.js +10 -2
- package/dist/memory/projection.js.map +1 -1
- package/dist/memory/prose-projection.d.ts +6 -0
- package/dist/memory/prose-projection.d.ts.map +1 -0
- package/dist/memory/prose-projection.js +34 -0
- package/dist/memory/prose-projection.js.map +1 -0
- package/dist/memory/report-uncertainty.d.ts +3 -0
- package/dist/memory/report-uncertainty.d.ts.map +1 -0
- package/dist/memory/report-uncertainty.js +67 -0
- package/dist/memory/report-uncertainty.js.map +1 -0
- package/dist/memory/reporting-roles.d.ts +3 -0
- package/dist/memory/reporting-roles.d.ts.map +1 -0
- package/dist/memory/reporting-roles.js +39 -0
- package/dist/memory/reporting-roles.js.map +1 -0
- package/dist/memory/retention-source-frame.d.ts +8 -0
- package/dist/memory/retention-source-frame.d.ts.map +1 -0
- package/dist/memory/retention-source-frame.js +72 -0
- package/dist/memory/retention-source-frame.js.map +1 -0
- package/dist/models/client.d.ts +12 -3
- package/dist/models/client.d.ts.map +1 -1
- package/dist/models/client.js +142 -6
- package/dist/models/client.js.map +1 -1
- package/dist/models/language-audit.d.ts +78 -0
- package/dist/models/language-audit.d.ts.map +1 -0
- package/dist/models/language-audit.js +139 -0
- package/dist/models/language-audit.js.map +1 -0
- package/dist/models/language.d.ts +12 -0
- package/dist/models/language.d.ts.map +1 -0
- package/dist/models/language.js +106 -0
- package/dist/models/language.js.map +1 -0
- package/dist/models/semantic-verdict.d.ts +53 -0
- package/dist/models/semantic-verdict.d.ts.map +1 -0
- package/dist/models/semantic-verdict.js +190 -0
- package/dist/models/semantic-verdict.js.map +1 -0
- package/dist/ops/answer-record-rendering.d.ts +73 -0
- package/dist/ops/answer-record-rendering.d.ts.map +1 -0
- package/dist/ops/answer-record-rendering.js +149 -0
- package/dist/ops/answer-record-rendering.js.map +1 -0
- package/dist/ops/answer-source-audit.d.ts +354 -0
- package/dist/ops/answer-source-audit.d.ts.map +1 -0
- package/dist/ops/answer-source-audit.js +328 -0
- package/dist/ops/answer-source-audit.js.map +1 -0
- package/dist/ops/answer.d.ts +2 -2
- package/dist/ops/answer.d.ts.map +1 -1
- package/dist/ops/answer.js +1032 -114
- package/dist/ops/answer.js.map +1 -1
- package/dist/ops/context.d.ts.map +1 -1
- package/dist/ops/context.js +7 -0
- package/dist/ops/context.js.map +1 -1
- package/dist/ops/graph.d.ts.map +1 -1
- package/dist/ops/graph.js +35 -4
- package/dist/ops/graph.js.map +1 -1
- package/dist/ops/read.d.ts.map +1 -1
- package/dist/ops/read.js +5 -2
- package/dist/ops/read.js.map +1 -1
- package/dist/ops/recall.d.ts.map +1 -1
- package/dist/ops/recall.js +10 -0
- package/dist/ops/recall.js.map +1 -1
- package/dist/ops/remember.d.ts +2 -1
- package/dist/ops/remember.d.ts.map +1 -1
- package/dist/ops/remember.js +48 -33
- package/dist/ops/remember.js.map +1 -1
- package/dist/ops/retain.d.ts +3 -1
- package/dist/ops/retain.d.ts.map +1 -1
- package/dist/ops/retain.js +56 -44
- package/dist/ops/retain.js.map +1 -1
- package/dist/recall/assemble.d.ts +1 -0
- package/dist/recall/assemble.d.ts.map +1 -1
- package/dist/recall/assemble.js +19 -2
- package/dist/recall/assemble.js.map +1 -1
- package/dist/store/db.d.ts.map +1 -1
- package/dist/store/db.js +3 -1
- package/dist/store/db.js.map +1 -1
- package/dist/store/migrations.d.ts +2 -1
- package/dist/store/migrations.d.ts.map +1 -1
- package/dist/store/migrations.js +11 -1
- package/dist/store/migrations.js.map +1 -1
- package/dist/timeline/clock.d.ts.map +1 -1
- package/dist/timeline/clock.js +2 -0
- package/dist/timeline/clock.js.map +1 -1
- package/dist/timeline/eligibility.js +4 -4
- package/dist/timeline/eligibility.js.map +1 -1
- package/dist/timeline/source-clock.d.ts +5 -0
- package/dist/timeline/source-clock.d.ts.map +1 -0
- package/dist/timeline/source-clock.js +179 -0
- package/dist/timeline/source-clock.js.map +1 -0
- package/dist/write/fictional-case-identity.d.ts +10 -0
- package/dist/write/fictional-case-identity.d.ts.map +1 -0
- package/dist/write/fictional-case-identity.js +84 -0
- package/dist/write/fictional-case-identity.js.map +1 -0
- package/dist/write/managed-memory.js +1 -1
- package/dist/write/managed-memory.js.map +1 -1
- package/dist/write/retain-clock-repair.d.ts +48 -0
- package/dist/write/retain-clock-repair.d.ts.map +1 -0
- package/dist/write/retain-clock-repair.js +175 -0
- package/dist/write/retain-clock-repair.js.map +1 -0
- package/dist/write/retain.d.ts +21 -10
- package/dist/write/retain.d.ts.map +1 -1
- package/dist/write/retain.js +1220 -70
- package/dist/write/retain.js.map +1 -1
- package/dist/write/retained-relations.d.ts +7 -0
- package/dist/write/retained-relations.d.ts.map +1 -0
- package/dist/write/retained-relations.js +38 -0
- package/dist/write/retained-relations.js.map +1 -0
- package/dist/write/retained-spans.d.ts +5 -0
- package/dist/write/retained-spans.d.ts.map +1 -0
- package/dist/write/retained-spans.js +30 -0
- package/dist/write/retained-spans.js.map +1 -0
- package/dist/write/retained-time.d.ts +4 -0
- package/dist/write/retained-time.d.ts.map +1 -0
- package/dist/write/retained-time.js +10 -0
- package/dist/write/retained-time.js.map +1 -0
- package/dist/write/retention-frame-audit.d.ts +25 -0
- package/dist/write/retention-frame-audit.d.ts.map +1 -0
- package/dist/write/retention-frame-audit.js +43 -0
- package/dist/write/retention-frame-audit.js.map +1 -0
- package/dist/write/retention-negative-evidence.d.ts +222 -0
- package/dist/write/retention-negative-evidence.d.ts.map +1 -0
- package/dist/write/retention-negative-evidence.js +122 -0
- package/dist/write/retention-negative-evidence.js.map +1 -0
- package/dist/write/retention-report-limits.d.ts +65 -0
- package/dist/write/retention-report-limits.d.ts.map +1 -0
- package/dist/write/retention-report-limits.js +71 -0
- package/dist/write/retention-report-limits.js.map +1 -0
- package/package.json +3 -2
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { hasUnretractedClauseEnd } from "../memory/clause-ending.js";
|
|
3
|
+
// Each branch fits the existing 400-unit sentence cap without truncation or borrowed allowance.
|
|
4
|
+
// eslint-disable-next-line no-control-regex -- Keep CR/LF/NUL visible to validation.
|
|
5
|
+
const completeSentence = /^[^\r\n\u0000]*[.!]$/u;
|
|
6
|
+
// Keep Unicode content mandatory locally; the provider rejects property escapes and lookaround.
|
|
7
|
+
const sentence = (max) => z
|
|
8
|
+
.string()
|
|
9
|
+
.min(1)
|
|
10
|
+
.max(max)
|
|
11
|
+
.regex(completeSentence)
|
|
12
|
+
.refine((value) => /[\p{L}\p{N}]/u.test(value));
|
|
13
|
+
export const clockRepairFields = {
|
|
14
|
+
proposition_and_nontemporal_scope: sentence(220),
|
|
15
|
+
source_clock_anchor_and_unknown_date: sentence(110),
|
|
16
|
+
unresolved_calendar_period: sentence(68),
|
|
17
|
+
};
|
|
18
|
+
export const excludedClockRepairFields = {
|
|
19
|
+
proposition_and_nontemporal_scope: sentence(195),
|
|
20
|
+
source_clock_anchor_and_unknown_date: sentence(90),
|
|
21
|
+
excluded_reference_clocks: sentence(60),
|
|
22
|
+
unresolved_calendar_period: sentence(52),
|
|
23
|
+
};
|
|
24
|
+
const fields = Object.keys(excludedClockRepairFields);
|
|
25
|
+
export function clockRepairText(value) {
|
|
26
|
+
return fields.flatMap((key) => (value[key] === undefined ? [] : [value[key]])).join(' ');
|
|
27
|
+
}
|
|
28
|
+
export function normalizeClockRepairTransaction(value) {
|
|
29
|
+
if (!value || typeof value !== 'object' || !('repairs' in value) || !Array.isArray(value.repairs))
|
|
30
|
+
return value;
|
|
31
|
+
return {
|
|
32
|
+
...value,
|
|
33
|
+
repairs: value.repairs.map((entry) => {
|
|
34
|
+
if (!entry || typeof entry !== 'object')
|
|
35
|
+
return entry;
|
|
36
|
+
const record = { ...entry };
|
|
37
|
+
for (const key of fields)
|
|
38
|
+
if (typeof record[key] === 'string')
|
|
39
|
+
record[key] = record[key].replace(/^[ \t]+|[ \t]+$/gu, '').replace(/[ \t]+/gu, ' ');
|
|
40
|
+
return record;
|
|
41
|
+
}),
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
export function clockRepairLanguageProse(value) {
|
|
45
|
+
value = normalizeClockRepairTransaction(value);
|
|
46
|
+
if (!value || typeof value !== 'object' || !('repairs' in value) || !Array.isArray(value.repairs))
|
|
47
|
+
return [];
|
|
48
|
+
return value.repairs.flatMap((entry) => {
|
|
49
|
+
if (!entry || typeof entry !== 'object')
|
|
50
|
+
return [];
|
|
51
|
+
const record = entry;
|
|
52
|
+
return Object.keys(clockRepairFields).every((key) => typeof record[key] === 'string') &&
|
|
53
|
+
(record.excluded_reference_clocks === undefined || typeof record.excluded_reference_clocks === 'string')
|
|
54
|
+
? [clockRepairText(record)]
|
|
55
|
+
: [];
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
/** Only a complete same-span source definition activates the narrow text repair. A draft, sibling
|
|
59
|
+
* or interpretation cannot supply one missing clock dimension. Unfamiliar syntax uses full repair. */
|
|
60
|
+
export function sourceClockRepairWitness(frame) {
|
|
61
|
+
const definitions = [];
|
|
62
|
+
for (const period of ['day', 'week', 'month', 'year'])
|
|
63
|
+
for (const [deictic, direction] of [
|
|
64
|
+
['next', 'after'],
|
|
65
|
+
['last', 'before'],
|
|
66
|
+
]) {
|
|
67
|
+
const label = `${deictic}[ \\t]+${period}`;
|
|
68
|
+
definitions.push({
|
|
69
|
+
pattern: new RegExp(String.raw `^[ \t]*(?<unknown>(?:The[ \t]+)?original[ \t]+record['’]s[ \t]+date[ \t]+is[ \t]+unknown)\.[ \t]+(?<anchor>(?:“${label}”|"${label}"|${label})[ \t]+means[ \t]+the[ \t]+${period}[ \t]+${direction}[ \t]+this[ \t]+record)(?<excluded>,[ \t]+not[ \t]+${direction}[ \t]+processing)?\.[ \t]+(?<unresolved>The[ \t]+calendar[ \t]+${period}[ \t]+cannot[ \t]+be[ \t]+established)`, 'dgiu'),
|
|
70
|
+
clock: { deictic, period, direction },
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
for (const period of ['месяц', 'год'])
|
|
74
|
+
for (const [deictic, direction] of [
|
|
75
|
+
['следующий', 'после'],
|
|
76
|
+
['прошлый', 'до'],
|
|
77
|
+
]) {
|
|
78
|
+
const label = `${deictic}[ \\t]+${period}`;
|
|
79
|
+
definitions.push({
|
|
80
|
+
pattern: new RegExp(String.raw `^[ \t]*(?<unknown>Дата[ \t]+первоначальной[ \t]+записи[ \t]+неизвестна)\.[ \t]+(?<anchor>(?:«${label}»|“${label}”|"${label}"|${label})[ \t]+означает[ \t]+${period}[ \t]+${direction}[ \t]+этой[ \t]+записи)(?<excluded>,[ \t]+а[ \t]+не[ \t]+${direction}[ \t]+обработки)?\.[ \t]+(?<unresolved>Какой[ \t]+это[ \t]+календарный[ \t]+${period},[ \t]+установить[ \t]+невозможно)`, 'dgiu'),
|
|
81
|
+
clock: {
|
|
82
|
+
deictic: deictic === 'следующий' ? 'next' : 'last',
|
|
83
|
+
period: period === 'месяц' ? 'month' : 'year',
|
|
84
|
+
direction: direction === 'после' ? 'after' : 'before',
|
|
85
|
+
},
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
const witnesses = frame.flatMap((span, frame_index) => definitions.flatMap(({ pattern, clock }) => [...span.quote.matchAll(pattern)].flatMap((match) => {
|
|
89
|
+
if (!hasUnretractedClauseEnd(span.quote, match.index + match[0].length))
|
|
90
|
+
return [];
|
|
91
|
+
// These coordinates certify a complete source definition, not a safe-looking substring.
|
|
92
|
+
// Unmatched framing, retraction or another clock would change which dimensions are owed.
|
|
93
|
+
if (match.index !== 0 || !/^[ \t]*[.!]?[ \t]*$/u.test(span.quote.slice(match[0].length)))
|
|
94
|
+
return [];
|
|
95
|
+
const dimensions = Object.entries(match.indices.groups).flatMap(([dimension, range]) => range
|
|
96
|
+
? [{ dimension, start: range[0], end: range[1], exact_excerpt: span.quote.slice(...range) }]
|
|
97
|
+
: []);
|
|
98
|
+
return [
|
|
99
|
+
{
|
|
100
|
+
frame_index,
|
|
101
|
+
clock,
|
|
102
|
+
item_id: span.item_id ?? null,
|
|
103
|
+
with_exclusion: Boolean(match.groups.excluded),
|
|
104
|
+
dimensions,
|
|
105
|
+
},
|
|
106
|
+
];
|
|
107
|
+
})));
|
|
108
|
+
// Duplicate proof spans may carry the same definition; distinct definitions are ambiguous.
|
|
109
|
+
const distinct = new Map(witnesses.map((witness) => [
|
|
110
|
+
JSON.stringify([
|
|
111
|
+
witness.item_id,
|
|
112
|
+
witness.dimensions.map(({ dimension, exact_excerpt }) => [dimension, exact_excerpt]),
|
|
113
|
+
]),
|
|
114
|
+
witness,
|
|
115
|
+
]));
|
|
116
|
+
return distinct.size === 1 ? [...distinct.values()][0] : null;
|
|
117
|
+
}
|
|
118
|
+
/** The same source-defined period must explicitly exclude processing as its reference.
|
|
119
|
+
* This is a readability floor; the original source verifier still owns temporal entailment. */
|
|
120
|
+
export function hasReadableProcessingClockExclusion(text, witness) {
|
|
121
|
+
if (!witness.with_exclusion)
|
|
122
|
+
return false;
|
|
123
|
+
const { deictic, period, direction } = witness.clock;
|
|
124
|
+
const englishLabel = String.raw `${deictic}[ \t]+${period}`;
|
|
125
|
+
const russianPeriod = {
|
|
126
|
+
day: { nominative: 'день', genitive: 'дня' },
|
|
127
|
+
week: { nominative: 'неделя', genitive: 'недели' },
|
|
128
|
+
month: { nominative: 'месяц', genitive: 'месяца' },
|
|
129
|
+
year: { nominative: 'год', genitive: 'года' },
|
|
130
|
+
}[period];
|
|
131
|
+
const russianAdjective = period === 'week'
|
|
132
|
+
? {
|
|
133
|
+
nominative: deictic === 'next' ? 'следующая' : 'прошлая',
|
|
134
|
+
genitive: deictic === 'next' ? 'следующей' : 'прошлой',
|
|
135
|
+
}
|
|
136
|
+
: {
|
|
137
|
+
nominative: deictic === 'next' ? 'следующий' : 'прошлый',
|
|
138
|
+
genitive: deictic === 'next' ? 'следующего' : 'прошлого',
|
|
139
|
+
};
|
|
140
|
+
const russianLabel = String.raw `${russianAdjective.nominative}[ \t]+${russianPeriod.nominative}`;
|
|
141
|
+
const russianGenitive = String.raw `${russianAdjective.genitive}[ \t]+${russianPeriod.genitive}`;
|
|
142
|
+
const isolatedLabel = new RegExp(String.raw `^(?:${englishLabel}|${russianLabel}|${russianGenitive})$`, 'iu');
|
|
143
|
+
const unquoted = text.replace(/`[^`]*`|«[^»]*»|“[^”]*”|"[^"\n]*"|‘[^’]*’|(?<![\p{L}\p{N}])'[^'\n]*'(?![\p{L}\p{N}])/gu, (quote) => (isolatedLabel.test(quote.slice(1, -1)) ? quote.slice(1, -1) : '⟦quotation⟧'));
|
|
144
|
+
const sourceRecord = String.raw `(?:the[ \t]+)?(?:(?:original|undated|source)[ \t]+){0,2}(?:record|note)`;
|
|
145
|
+
const processing = String.raw `(?:the[ \t]+)?(?:time[ \t]+of[ \t]+processing|processing(?:[ \t]+time)?)`;
|
|
146
|
+
const patterns = [
|
|
147
|
+
String.raw `processing[ \t]+time[ \t]+is[ \t]+not[ \t]+the[ \t]+(?:reference|origin|reference[ \t]+point)[ \t]+for[ \t]+${englishLabel}`,
|
|
148
|
+
String.raw `${englishLabel}[ \t]+is[ \t]+not[ \t]+(?:counted|measured|reckoned)[ \t]+from[ \t]+${processing}`,
|
|
149
|
+
String.raw `${englishLabel}[ \t]+means[ \t]+the[ \t]+${period}[ \t]+${direction}[ \t]+${sourceRecord},[ \t]+not[ \t]+(?:${direction}[ \t]+)?${processing}`,
|
|
150
|
+
String.raw `${englishLabel}[ \t]+(?:refers[ \t]+to|is[ \t]+(?:counted|measured|reckoned)[ \t]+from)[ \t]+${sourceRecord},[ \t]+not[ \t]+${processing}`,
|
|
151
|
+
String.raw `${russianLabel}[ \t]+не[ \t]+отсчитывается[ \t]+от[ \t]+(?:времени[ \t]+)?обработки`,
|
|
152
|
+
String.raw `время[ \t]+обработки[ \t]+не[ \t]+зада[её]т[ \t]+отсч[её]т[ \t]+для[ \t]+${russianGenitive}`,
|
|
153
|
+
String.raw `${russianLabel}[ \t]+отсчитывается[ \t]+от[ \t]+(?:времени[ \t]+)?(?:(?:исходной|первоначальной|недатированной)[ \t]+){0,2}записи,[ \t]+а[ \t]+не[ \t]+от[ \t]+(?:времени[ \t]+)?обработки`,
|
|
154
|
+
];
|
|
155
|
+
return patterns.some((body) => {
|
|
156
|
+
const pattern = new RegExp(String.raw `(?:^|[.;!])[ \t]*${body}`, 'giu');
|
|
157
|
+
return [...unquoted.matchAll(pattern)].some((match) => hasUnretractedClauseEnd(unquoted, match.index + match[0].length));
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
export const CLOCK_TEXT_REPAIR_CONTRACT = `For repair_contract.mode clock_text_only or clock_text_only_with_exclusion,
|
|
161
|
+
return only candidate_index and its required complete final-prose sentences. Preserve the actual proposition,
|
|
162
|
+
all named actors and separate nontemporal limits in proposition_and_nontemporal_scope. Explicitly state the
|
|
163
|
+
source-relative period/direction and unknown original source date in source_clock_anchor_and_unknown_date.
|
|
164
|
+
State that the calendar period cannot be established in unresolved_calendar_period. Only the exclusion arm
|
|
165
|
+
has excluded_reference_clocks: preserve the exact source-witnessed excluded processing clock; invent none.
|
|
166
|
+
Name clock_witness.clock's same deictic period in a closed reference exclusion, for example
|
|
167
|
+
"Processing time is not the reference for next month." A bare processing mention or chronology is not
|
|
168
|
+
a clock reference. Do not use an unresolved "the clock" pronoun in this field.
|
|
169
|
+
clock_witness lists exact candidate-owned source coordinates, not generated interpretation. Use the complete
|
|
170
|
+
original source too. Maximum UTF-16 lengths with exclusion are 195/90/60/52, with three joining spaces;
|
|
171
|
+
without exclusion they are 220/110/68, with two spaces. Every sentence must end in its own period or
|
|
172
|
+
exclamation mark, with no CR/LF/NUL, headings, examples or fragments. The model supplies every semantic byte;
|
|
173
|
+
all nontext fields are cloned unchanged. Omit the repair if these bounds cannot preserve the source. Full
|
|
174
|
+
local cleaning, language checking, original repair obligations and semantic verification still follow.`;
|
|
175
|
+
//# sourceMappingURL=retain-clock-repair.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retain-clock-repair.js","sourceRoot":"","sources":["../../src/write/retain-clock-repair.ts"],"names":[],"mappings":"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"}
|
package/dist/write/retain.d.ts
CHANGED
|
@@ -1,19 +1,23 @@
|
|
|
1
|
-
import { type ProvidedRetainCandidate, type RetainHoldReason, type RetainModelCallReceipt, type RetainSourceItem } from '@tenphi/akno-protocol';
|
|
1
|
+
import { type ProvidedRetainCandidate, type RetainHoldReason, type RetainModelCallReceipt, type RetainSourceItem, type DegradedReason } from '@tenphi/akno-protocol';
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
import { type ModelClient, type ModelOutcome } from '../models/client.ts';
|
|
4
4
|
import type { FolderCatalogEntry } from '../kb/folders.ts';
|
|
5
|
+
/**
|
|
6
|
+
* Retention extracts a complete semantic representation, not a flat fact. The same result is
|
|
7
|
+
* consumed by keyed `retain` and unkeyed `remember`; keeping the interpretation here prevents
|
|
8
|
+
* the two public operations from gradually learning different meanings for the same source.
|
|
9
|
+
*/
|
|
10
|
+
export declare const RETAIN_PROMPT_VERSION = "retain-extraction-language-v57";
|
|
11
|
+
export declare const RETAIN_VERIFIER_VERSION = "retain-verifier-language-v41";
|
|
5
12
|
/** All fields are required or nullable so constrained-decoding endpoints can keep strict mode. */
|
|
6
13
|
export declare const RETAIN_SCHEMA: z.ZodObject<{
|
|
7
14
|
candidates: z.ZodArray<z.ZodObject<{
|
|
8
|
-
text: z.ZodString;
|
|
9
|
-
subject: z.ZodString;
|
|
10
|
-
page: z.ZodNullable<z.ZodString>;
|
|
11
15
|
kind: z.ZodEnum<{
|
|
12
|
-
question: "question";
|
|
13
16
|
claim: "claim";
|
|
17
|
+
question: "question";
|
|
18
|
+
plan: "plan";
|
|
14
19
|
decision: "decision";
|
|
15
20
|
preference: "preference";
|
|
16
|
-
plan: "plan";
|
|
17
21
|
event: "event";
|
|
18
22
|
}>;
|
|
19
23
|
attribution: z.ZodObject<{
|
|
@@ -43,13 +47,13 @@ export declare const RETAIN_SCHEMA: z.ZodObject<{
|
|
|
43
47
|
counterfactual: "counterfactual";
|
|
44
48
|
}>;
|
|
45
49
|
disposition: z.ZodEnum<{
|
|
50
|
+
completed: "completed";
|
|
51
|
+
rejected: "rejected";
|
|
46
52
|
active: "active";
|
|
47
53
|
proposed: "proposed";
|
|
48
54
|
accepted: "accepted";
|
|
49
|
-
rejected: "rejected";
|
|
50
55
|
resolved: "resolved";
|
|
51
56
|
cancelled: "cancelled";
|
|
52
|
-
completed: "completed";
|
|
53
57
|
superseded: "superseded";
|
|
54
58
|
}>;
|
|
55
59
|
}, z.core.$strip>;
|
|
@@ -103,10 +107,10 @@ export declare const RETAIN_SCHEMA: z.ZodObject<{
|
|
|
103
107
|
due: "due";
|
|
104
108
|
}>;
|
|
105
109
|
status: z.ZodEnum<{
|
|
110
|
+
tentative: "tentative";
|
|
106
111
|
scheduled: "scheduled";
|
|
107
112
|
actual: "actual";
|
|
108
113
|
planned: "planned";
|
|
109
|
-
tentative: "tentative";
|
|
110
114
|
}>;
|
|
111
115
|
timezone: z.ZodNullable<z.ZodString>;
|
|
112
116
|
mentioned_at: z.ZodNullable<z.ZodString>;
|
|
@@ -130,6 +134,9 @@ export declare const RETAIN_SCHEMA: z.ZodObject<{
|
|
|
130
134
|
until: z.ZodNullable<z.ZodString>;
|
|
131
135
|
}, z.core.$strip>>;
|
|
132
136
|
}, z.core.$strip>>;
|
|
137
|
+
text: z.ZodString;
|
|
138
|
+
subject: z.ZodString;
|
|
139
|
+
page: z.ZodNullable<z.ZodString>;
|
|
133
140
|
}, z.core.$strip>>;
|
|
134
141
|
events: z.ZodArray<z.ZodObject<{
|
|
135
142
|
date: z.ZodString;
|
|
@@ -144,6 +151,7 @@ export type RetainCandidate = ProvidedRetainCandidate & {
|
|
|
144
151
|
evidence?: string;
|
|
145
152
|
};
|
|
146
153
|
export interface RetainHeldCandidate {
|
|
154
|
+
hold_stage?: 'validation' | 'verification';
|
|
147
155
|
candidate_id: string;
|
|
148
156
|
reason_code: RetainHoldReason;
|
|
149
157
|
reason: string;
|
|
@@ -160,9 +168,10 @@ export interface RetainResult {
|
|
|
160
168
|
reason_code: RetainHoldReason;
|
|
161
169
|
reason: string;
|
|
162
170
|
} | null;
|
|
163
|
-
degradedReason:
|
|
171
|
+
degradedReason: DegradedReason | null;
|
|
164
172
|
modelUsage: {
|
|
165
173
|
extraction: RetainModelCallReceipt | null;
|
|
174
|
+
repair?: RetainModelCallReceipt;
|
|
166
175
|
verification: RetainModelCallReceipt | null;
|
|
167
176
|
};
|
|
168
177
|
}
|
|
@@ -175,6 +184,8 @@ export interface CandidateCleaningOptions {
|
|
|
175
184
|
revision?: string;
|
|
176
185
|
mentionedAt?: string;
|
|
177
186
|
timezone?: string;
|
|
187
|
+
/** Internal automatic-extraction checks do not reinterpret exact caller-provided text. */
|
|
188
|
+
generated?: true;
|
|
178
189
|
}
|
|
179
190
|
export declare function runRetain(text: string, model: ModelClient, options?: {
|
|
180
191
|
mission?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retain.d.ts","sourceRoot":"","sources":["../../src/write/retain.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"retain.d.ts","sourceRoot":"","sources":["../../src/write/retain.ts"],"names":[],"mappings":"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"}
|