@tenphi/akno-core 0.4.0 → 0.6.0
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/dist/index/derive.d.ts.map +1 -1
- package/dist/index/derive.js +1 -10
- package/dist/index/derive.js.map +1 -1
- package/dist/index/indexer.d.ts +3 -0
- package/dist/index/indexer.d.ts.map +1 -1
- package/dist/index/indexer.js +33 -3
- package/dist/index/indexer.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/kb/managed-lines.d.ts +7 -0
- package/dist/kb/managed-lines.d.ts.map +1 -0
- package/dist/kb/managed-lines.js +52 -0
- package/dist/kb/managed-lines.js.map +1 -0
- package/dist/maintenance/conflicts.d.ts +1 -1
- package/dist/ops/answer.d.ts.map +1 -1
- package/dist/ops/answer.js +49 -4
- package/dist/ops/answer.js.map +1 -1
- package/dist/ops/context.d.ts.map +1 -1
- package/dist/ops/context.js +49 -19
- package/dist/ops/context.js.map +1 -1
- package/dist/ops/read.d.ts.map +1 -1
- package/dist/ops/read.js +2 -1
- package/dist/ops/read.js.map +1 -1
- package/dist/ops/remember.d.ts +57 -0
- package/dist/ops/remember.d.ts.map +1 -1
- package/dist/ops/remember.js +40 -38
- package/dist/ops/remember.js.map +1 -1
- package/dist/ops/retain.d.ts.map +1 -1
- package/dist/ops/retain.js +281 -31
- package/dist/ops/retain.js.map +1 -1
- package/dist/ops/timeline.d.ts +2 -5
- package/dist/ops/timeline.d.ts.map +1 -1
- package/dist/ops/timeline.js +334 -82
- package/dist/ops/timeline.js.map +1 -1
- package/dist/recall/assemble.d.ts.map +1 -1
- package/dist/recall/assemble.js +4 -2
- package/dist/recall/assemble.js.map +1 -1
- package/dist/store/db.d.ts.map +1 -1
- package/dist/store/db.js +11 -1
- package/dist/store/db.js.map +1 -1
- package/dist/store/migrations.d.ts +3 -1
- package/dist/store/migrations.d.ts.map +1 -1
- package/dist/store/migrations.js +103 -1
- package/dist/store/migrations.js.map +1 -1
- package/dist/timeline/clock.d.ts +25 -0
- package/dist/timeline/clock.d.ts.map +1 -0
- package/dist/timeline/clock.js +257 -0
- package/dist/timeline/clock.js.map +1 -0
- package/dist/timeline/documents.d.ts +2 -0
- package/dist/timeline/documents.d.ts.map +1 -1
- package/dist/timeline/documents.js +28 -0
- package/dist/timeline/documents.js.map +1 -1
- package/dist/timeline/eligibility.d.ts +16 -0
- package/dist/timeline/eligibility.d.ts.map +1 -0
- package/dist/timeline/eligibility.js +31 -0
- package/dist/timeline/eligibility.js.map +1 -0
- package/dist/timeline/projection.d.ts +11 -0
- package/dist/timeline/projection.d.ts.map +1 -0
- package/dist/timeline/projection.js +77 -0
- package/dist/timeline/projection.js.map +1 -0
- package/dist/timeline/recurrence.d.ts +14 -0
- package/dist/timeline/recurrence.d.ts.map +1 -0
- package/dist/timeline/recurrence.js +238 -0
- package/dist/timeline/recurrence.js.map +1 -0
- package/dist/write/managed-memory.d.ts +8 -0
- package/dist/write/managed-memory.d.ts.map +1 -1
- package/dist/write/managed-memory.js +20 -0
- package/dist/write/managed-memory.js.map +1 -1
- package/dist/write/placement.d.ts +3 -1
- package/dist/write/placement.d.ts.map +1 -1
- package/dist/write/placement.js +4 -1
- package/dist/write/placement.js.map +1 -1
- package/dist/write/retain.d.ts +158 -30
- package/dist/write/retain.d.ts.map +1 -1
- package/dist/write/retain.js +723 -180
- package/dist/write/retain.js.map +1 -1
- package/package.json +2 -2
package/dist/write/retain.d.ts
CHANGED
|
@@ -1,67 +1,195 @@
|
|
|
1
|
+
import { type ProvidedRetainCandidate, type RetainHoldReason, type RetainModelCallReceipt, type RetainSourceItem } from '@tenphi/akno-protocol';
|
|
1
2
|
import { z } from 'zod';
|
|
2
|
-
import { type ModelClient } from '../models/client.ts';
|
|
3
|
+
import { type ModelClient, type ModelOutcome } from '../models/client.ts';
|
|
3
4
|
import type { FolderCatalogEntry } from '../kb/folders.ts';
|
|
4
|
-
/**
|
|
5
|
-
* `page` is nullable rather than optional, and the prompt above says "null" rather than "omit"
|
|
6
|
-
* for the same reason: OpenAI's strict mode rejects an optional property outright, and a schema
|
|
7
|
-
* it rejects takes this call site off constrained decoding silently — the fallback to a plain
|
|
8
|
-
* JSON request looks exactly like success. Nullable says the same thing and stays enforceable.
|
|
9
|
-
*
|
|
10
|
-
* The guards this cannot express stay downstream regardless: `cleanCandidates` drops
|
|
11
|
-
* speculation, fragments, and any page whose folder is not one that actually exists.
|
|
12
|
-
*/
|
|
5
|
+
/** All fields are required or nullable so constrained-decoding endpoints can keep strict mode. */
|
|
13
6
|
export declare const RETAIN_SCHEMA: z.ZodObject<{
|
|
14
7
|
candidates: z.ZodArray<z.ZodObject<{
|
|
15
8
|
text: z.ZodString;
|
|
16
9
|
subject: z.ZodString;
|
|
17
10
|
page: z.ZodNullable<z.ZodString>;
|
|
18
|
-
origin: z.ZodEnum<{
|
|
19
|
-
user: "user";
|
|
20
|
-
assistant: "assistant";
|
|
21
|
-
}>;
|
|
22
|
-
evidence: z.ZodNullable<z.ZodString>;
|
|
23
|
-
frame: z.ZodNullable<z.ZodString>;
|
|
24
11
|
kind: z.ZodEnum<{
|
|
12
|
+
question: "question";
|
|
25
13
|
claim: "claim";
|
|
26
14
|
decision: "decision";
|
|
27
15
|
preference: "preference";
|
|
16
|
+
plan: "plan";
|
|
17
|
+
event: "event";
|
|
18
|
+
}>;
|
|
19
|
+
attribution: z.ZodObject<{
|
|
20
|
+
source_role: z.ZodEnum<{
|
|
21
|
+
unknown: "unknown";
|
|
22
|
+
external: "external";
|
|
23
|
+
user: "user";
|
|
24
|
+
assistant: "assistant";
|
|
25
|
+
}>;
|
|
26
|
+
source_speaker: z.ZodNullable<z.ZodString>;
|
|
27
|
+
chain: z.ZodArray<z.ZodObject<{
|
|
28
|
+
speaker: z.ZodString;
|
|
29
|
+
role: z.ZodNullable<z.ZodEnum<{
|
|
30
|
+
unknown: "unknown";
|
|
31
|
+
external: "external";
|
|
32
|
+
user: "user";
|
|
33
|
+
assistant: "assistant";
|
|
34
|
+
}>>;
|
|
35
|
+
}, z.core.$strip>>;
|
|
36
|
+
}, z.core.$strip>;
|
|
37
|
+
discourse: z.ZodObject<{
|
|
38
|
+
commitment: z.ZodEnum<{
|
|
39
|
+
none: "none";
|
|
40
|
+
tentative: "tentative";
|
|
41
|
+
asserted: "asserted";
|
|
42
|
+
hypothetical: "hypothetical";
|
|
43
|
+
counterfactual: "counterfactual";
|
|
44
|
+
}>;
|
|
45
|
+
disposition: z.ZodEnum<{
|
|
46
|
+
active: "active";
|
|
47
|
+
proposed: "proposed";
|
|
48
|
+
accepted: "accepted";
|
|
49
|
+
rejected: "rejected";
|
|
50
|
+
resolved: "resolved";
|
|
51
|
+
cancelled: "cancelled";
|
|
52
|
+
completed: "completed";
|
|
53
|
+
superseded: "superseded";
|
|
54
|
+
}>;
|
|
55
|
+
}, z.core.$strip>;
|
|
56
|
+
epistemic: z.ZodObject<{
|
|
57
|
+
basis: z.ZodEnum<{
|
|
58
|
+
self_attested: "self_attested";
|
|
59
|
+
source_report: "source_report";
|
|
60
|
+
}>;
|
|
61
|
+
}, z.core.$strip>;
|
|
62
|
+
polarity: z.ZodEnum<{
|
|
63
|
+
affirmed: "affirmed";
|
|
64
|
+
negated: "negated";
|
|
28
65
|
}>;
|
|
66
|
+
support: z.ZodArray<z.ZodObject<{
|
|
67
|
+
quote: z.ZodString;
|
|
68
|
+
item_id: z.ZodNullable<z.ZodString>;
|
|
69
|
+
}, z.core.$strip>>;
|
|
70
|
+
discourse_frame: z.ZodArray<z.ZodObject<{
|
|
71
|
+
quote: z.ZodString;
|
|
72
|
+
item_id: z.ZodNullable<z.ZodString>;
|
|
73
|
+
}, z.core.$strip>>;
|
|
74
|
+
relations: z.ZodArray<z.ZodObject<{
|
|
75
|
+
type: z.ZodEnum<{
|
|
76
|
+
corrects: "corrects";
|
|
77
|
+
supersedes: "supersedes";
|
|
78
|
+
contradicts: "contradicts";
|
|
79
|
+
fulfills: "fulfills";
|
|
80
|
+
answers: "answers";
|
|
81
|
+
caused_by: "caused_by";
|
|
82
|
+
}>;
|
|
83
|
+
target_candidate: z.ZodNumber;
|
|
84
|
+
support: z.ZodArray<z.ZodObject<{
|
|
85
|
+
quote: z.ZodString;
|
|
86
|
+
item_id: z.ZodNullable<z.ZodString>;
|
|
87
|
+
}, z.core.$strip>>;
|
|
88
|
+
}, z.core.$strip>>;
|
|
89
|
+
time: z.ZodNullable<z.ZodObject<{
|
|
90
|
+
start: z.ZodNullable<z.ZodString>;
|
|
91
|
+
until: z.ZodNullable<z.ZodString>;
|
|
92
|
+
precision: z.ZodEnum<{
|
|
93
|
+
unknown: "unknown";
|
|
94
|
+
instant: "instant";
|
|
95
|
+
day: "day";
|
|
96
|
+
month: "month";
|
|
97
|
+
year: "year";
|
|
98
|
+
}>;
|
|
99
|
+
relation: z.ZodEnum<{
|
|
100
|
+
occurred: "occurred";
|
|
101
|
+
valid: "valid";
|
|
102
|
+
scheduled: "scheduled";
|
|
103
|
+
due: "due";
|
|
104
|
+
}>;
|
|
105
|
+
status: z.ZodEnum<{
|
|
106
|
+
scheduled: "scheduled";
|
|
107
|
+
actual: "actual";
|
|
108
|
+
planned: "planned";
|
|
109
|
+
tentative: "tentative";
|
|
110
|
+
}>;
|
|
111
|
+
timezone: z.ZodNullable<z.ZodString>;
|
|
112
|
+
mentioned_at: z.ZodNullable<z.ZodString>;
|
|
113
|
+
recurrence: z.ZodNullable<z.ZodObject<{
|
|
114
|
+
frequency: z.ZodEnum<{
|
|
115
|
+
daily: "daily";
|
|
116
|
+
weekly: "weekly";
|
|
117
|
+
monthly: "monthly";
|
|
118
|
+
yearly: "yearly";
|
|
119
|
+
}>;
|
|
120
|
+
interval: z.ZodNullable<z.ZodNumber>;
|
|
121
|
+
weekdays: z.ZodArray<z.ZodEnum<{
|
|
122
|
+
mo: "mo";
|
|
123
|
+
tu: "tu";
|
|
124
|
+
we: "we";
|
|
125
|
+
th: "th";
|
|
126
|
+
fr: "fr";
|
|
127
|
+
sa: "sa";
|
|
128
|
+
su: "su";
|
|
129
|
+
}>>;
|
|
130
|
+
until: z.ZodNullable<z.ZodString>;
|
|
131
|
+
}, z.core.$strip>>;
|
|
132
|
+
}, z.core.$strip>>;
|
|
29
133
|
}, z.core.$strip>>;
|
|
30
134
|
events: z.ZodArray<z.ZodObject<{
|
|
31
135
|
date: z.ZodString;
|
|
32
136
|
summary: z.ZodString;
|
|
33
137
|
}, z.core.$strip>>;
|
|
34
138
|
}, z.core.$strip>;
|
|
35
|
-
export
|
|
36
|
-
|
|
37
|
-
subject: string;
|
|
38
|
-
kind: string;
|
|
39
|
-
/**
|
|
40
|
-
* Where this would go if no page holds it yet. A suggestion, used only when routing finds
|
|
41
|
-
* nothing — which is the case `remember` used to have no answer for at all.
|
|
42
|
-
*/
|
|
139
|
+
export type RetainCandidate = ProvidedRetainCandidate & {
|
|
140
|
+
/** Taxonomy suggestion used only after ordinary routing finds no admitted existing page. */
|
|
43
141
|
page?: string;
|
|
142
|
+
/** Compatibility fields consumed by the existing remember result and evidence archive. */
|
|
44
143
|
origin?: 'user' | 'assistant';
|
|
45
|
-
/** Exact bounded input bytes retained privately so the managed sentence can be re-verified. */
|
|
46
144
|
evidence?: string;
|
|
145
|
+
};
|
|
146
|
+
export interface RetainHeldCandidate {
|
|
147
|
+
candidate_id: string;
|
|
148
|
+
reason_code: RetainHoldReason;
|
|
149
|
+
reason: string;
|
|
47
150
|
}
|
|
48
151
|
export interface RetainResult {
|
|
49
152
|
candidates: RetainCandidate[];
|
|
153
|
+
held: RetainHeldCandidate[];
|
|
50
154
|
events: {
|
|
51
155
|
date: string;
|
|
52
156
|
summary: string;
|
|
53
157
|
}[];
|
|
54
158
|
error: string | null;
|
|
159
|
+
sourceHold: {
|
|
160
|
+
reason_code: RetainHoldReason;
|
|
161
|
+
reason: string;
|
|
162
|
+
} | null;
|
|
163
|
+
degradedReason: 'no_derive_model' | 'derive_failed' | 'retain_verification_failed' | null;
|
|
164
|
+
modelUsage: {
|
|
165
|
+
extraction: RetainModelCallReceipt | null;
|
|
166
|
+
verification: RetainModelCallReceipt | null;
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
export interface CandidateCleaningOptions {
|
|
170
|
+
folders?: readonly string[];
|
|
171
|
+
pages?: readonly string[];
|
|
172
|
+
sourceText?: string;
|
|
173
|
+
sourceItems?: readonly RetainSourceItem[];
|
|
174
|
+
sourceId?: string;
|
|
175
|
+
revision?: string;
|
|
176
|
+
mentionedAt?: string;
|
|
177
|
+
timezone?: string;
|
|
55
178
|
}
|
|
56
179
|
export declare function runRetain(text: string, model: ModelClient, options?: {
|
|
57
180
|
mission?: string;
|
|
58
181
|
mentionedAt?: string;
|
|
59
182
|
timezone?: string;
|
|
60
183
|
folders?: FolderCatalogEntry[];
|
|
184
|
+
sourceItems?: readonly RetainSourceItem[];
|
|
185
|
+
sourceId?: string;
|
|
186
|
+
revision?: string;
|
|
61
187
|
}): Promise<RetainResult>;
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
188
|
+
/** Kept public for the deterministic extraction guard tests. */
|
|
189
|
+
export declare function cleanCandidates(value: unknown, options?: CandidateCleaningOptions): RetainCandidate[];
|
|
190
|
+
export declare function cleanCandidateBatch(value: unknown, options: CandidateCleaningOptions): {
|
|
191
|
+
candidates: RetainCandidate[];
|
|
192
|
+
held: RetainHeldCandidate[];
|
|
193
|
+
};
|
|
194
|
+
export declare function modelCallReceipt(model: ModelClient, outcome: ModelOutcome<unknown>): RetainModelCallReceipt;
|
|
67
195
|
//# sourceMappingURL=retain.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retain.d.ts","sourceRoot":"","sources":["../../src/write/retain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAkB,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"retain.d.ts","sourceRoot":"","sources":["../../src/write/retain.ts"],"names":[],"mappings":"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"}
|