@tenphi/akno-core 0.3.0 → 0.5.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.
Files changed (77) hide show
  1. package/README.md +4 -2
  2. package/config/default.jsonc +16 -10
  3. package/dist/config/load.d.ts +5 -2
  4. package/dist/config/load.d.ts.map +1 -1
  5. package/dist/config/load.js +26 -12
  6. package/dist/config/load.js.map +1 -1
  7. package/dist/config/schema.d.ts +2 -2
  8. package/dist/config/schema.js +2 -2
  9. package/dist/config/schema.js.map +1 -1
  10. package/dist/config/write-setup.d.ts +2 -0
  11. package/dist/config/write-setup.d.ts.map +1 -1
  12. package/dist/config/write-setup.js +7 -3
  13. package/dist/config/write-setup.js.map +1 -1
  14. package/dist/doctor.d.ts +2 -5
  15. package/dist/doctor.d.ts.map +1 -1
  16. package/dist/doctor.js.map +1 -1
  17. package/dist/index/derive.d.ts.map +1 -1
  18. package/dist/index/derive.js +2 -11
  19. package/dist/index/derive.js.map +1 -1
  20. package/dist/ingest/extract.d.ts +14 -4
  21. package/dist/ingest/extract.d.ts.map +1 -1
  22. package/dist/ingest/extract.js +142 -26
  23. package/dist/ingest/extract.js.map +1 -1
  24. package/dist/ingest/extractor-contract.d.ts +63 -0
  25. package/dist/ingest/extractor-contract.d.ts.map +1 -0
  26. package/dist/ingest/extractor-contract.js +26 -0
  27. package/dist/ingest/extractor-contract.js.map +1 -0
  28. package/dist/ingest/linux-extractor.d.ts +32 -0
  29. package/dist/ingest/linux-extractor.d.ts.map +1 -0
  30. package/dist/ingest/linux-extractor.js +344 -0
  31. package/dist/ingest/linux-extractor.js.map +1 -0
  32. package/dist/kb/managed-lines.d.ts +4 -0
  33. package/dist/kb/managed-lines.d.ts.map +1 -0
  34. package/dist/kb/managed-lines.js +37 -0
  35. package/dist/kb/managed-lines.js.map +1 -0
  36. package/dist/maintenance/conflicts.d.ts +1 -1
  37. package/dist/open.d.ts +1 -1
  38. package/dist/open.d.ts.map +1 -1
  39. package/dist/ops/answer.d.ts.map +1 -1
  40. package/dist/ops/answer.js +14 -2
  41. package/dist/ops/answer.js.map +1 -1
  42. package/dist/ops/read.d.ts.map +1 -1
  43. package/dist/ops/read.js +2 -1
  44. package/dist/ops/read.js.map +1 -1
  45. package/dist/ops/remember.d.ts +57 -0
  46. package/dist/ops/remember.d.ts.map +1 -1
  47. package/dist/ops/remember.js +40 -38
  48. package/dist/ops/remember.js.map +1 -1
  49. package/dist/ops/retain.d.ts.map +1 -1
  50. package/dist/ops/retain.js +262 -31
  51. package/dist/ops/retain.js.map +1 -1
  52. package/dist/recall/assemble.d.ts.map +1 -1
  53. package/dist/recall/assemble.js +4 -2
  54. package/dist/recall/assemble.js.map +1 -1
  55. package/dist/store/db.d.ts.map +1 -1
  56. package/dist/store/db.js +8 -1
  57. package/dist/store/db.js.map +1 -1
  58. package/dist/store/migrations.d.ts +2 -1
  59. package/dist/store/migrations.d.ts.map +1 -1
  60. package/dist/store/migrations.js +56 -1
  61. package/dist/store/migrations.js.map +1 -1
  62. package/dist/watch/watcher.d.ts +3 -3
  63. package/dist/watch/watcher.js +5 -5
  64. package/dist/watch/watcher.js.map +1 -1
  65. package/dist/write/managed-memory.d.ts +6 -0
  66. package/dist/write/managed-memory.d.ts.map +1 -1
  67. package/dist/write/managed-memory.js +16 -0
  68. package/dist/write/managed-memory.js.map +1 -1
  69. package/dist/write/placement.d.ts +3 -1
  70. package/dist/write/placement.d.ts.map +1 -1
  71. package/dist/write/placement.js +4 -1
  72. package/dist/write/placement.js.map +1 -1
  73. package/dist/write/retain.d.ts +158 -30
  74. package/dist/write/retain.d.ts.map +1 -1
  75. package/dist/write/retain.js +722 -180
  76. package/dist/write/retain.js.map +1 -1
  77. package/package.json +4 -3
@@ -22,12 +22,13 @@ export const PLACEMENT_SCHEMA = z.object({
22
22
  */
23
23
  export async function placeManagedItems(content, items, model) {
24
24
  if (items.length === 0)
25
- return { content, unsorted: [], error: null };
25
+ return { content, unsorted: [], error: null, modelOutcome: null };
26
26
  const frontmatter = parseFrontmatter(content);
27
27
  const body = content.slice(frontmatter.bodyOffset);
28
28
  const existing = secondLevelHeadings(body);
29
29
  let chosen = new Map();
30
30
  let error = null;
31
+ let modelOutcome = null;
31
32
  if (model.available) {
32
33
  const result = await model.chat([
33
34
  { role: 'system', content: SYSTEM },
@@ -37,6 +38,7 @@ export async function placeManagedItems(content, items, model) {
37
38
  `Items:\n${JSON.stringify(items.map(({ id, text }) => ({ id, text })))}`,
38
39
  },
39
40
  ], { schema: PLACEMENT_SCHEMA, maxTokens: Math.min(1600, 200 + items.length * 100) });
41
+ modelOutcome = result;
40
42
  if (result.ok && result.value) {
41
43
  const parsed = parseJsonLoose(result.value);
42
44
  chosen = cleanPlacements(parsed?.placements, new Set(items.map((item) => item.id)));
@@ -62,6 +64,7 @@ export async function placeManagedItems(content, items, model) {
62
64
  content: content.slice(0, frontmatter.bodyOffset) + nextBody,
63
65
  unsorted,
64
66
  error,
67
+ modelOutcome,
65
68
  };
66
69
  }
67
70
  function cleanPlacements(value, itemIds) {
@@ -1 +1 @@
1
- {"version":3,"file":"placement.js","sourceRoot":"","sources":["../../src/write/placement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAoB,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAA4B,MAAM,qBAAqB,CAAC;AAcnF,MAAM,MAAM,GAAG;;;;;;;;2BAQY,CAAC;AAE5B;yEACyE;AACzE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;CACvE,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAAe,EACf,KAAoB,EACpB,KAAkB;IAElB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAEtE,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACvC,IAAI,KAAK,GAAkB,IAAI,CAAC;IAEhC,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAC7B;YACE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE;YACnC;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EACL,UAAU,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,6BAA6B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM;oBAC1F,WAAW,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;aAC3E;SACF,EACD,EAAE,MAAM,EAAE,gBAAgB,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,GAAG,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE,CAClF,CAAC;QACF,IAAI,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,cAAc,CAA2B,MAAM,CAAC,KAAK,CAAC,CAAC;YACtE,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACpF,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM;gBAAE,KAAK,GAAG,oDAAoD,CAAC;QACjG,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,kBAAkB,CAAC;QAC7C,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,GAAG,KAAK,CAAC,iBAAiB,IAAI,6BAA6B,CAAC;IACnE,CAAC;IAED,IAAI,QAAQ,GAAG,IAAI,CAAC;IACpB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,UAAU,CAAC;QAClD,IAAI,OAAO,KAAK,UAAU;YAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnD,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,GAAG,QAAQ;QAC5D,QAAQ;QACR,KAAK;KACN,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAAc,EAAE,OAAoB;IAC3D,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;IACtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IACtC,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,SAAS;QAClD,MAAM,MAAM,GAAG,KAAgC,CAAC;QAChD,IAAI,OAAO,MAAM,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAAE,SAAS;QAC7F,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;YAAE,SAAS;QACjD,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,OAAO;YAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,YAAY,CAAC,GAAW;IAC/B,MAAM,OAAO,GAAG,GAAG;SAChB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;SAC3B,IAAI,EAAE,CAAC;IACV,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,IAAI,OAAO,CAAC,WAAW,EAAE,KAAK,UAAU;QAAE,OAAO,IAAI,CAAC;IACrG,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,OAAO,IAAI;SACR,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;SACxD,MAAM,CAAC,CAAC,OAAO,EAAqB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,YAAY,CAAC,IAAiB;IACrC,OAAO,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AACpD,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,sBAAsB,CAAC,KAAa;IAClD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,UAAU,CAAC;IACxD,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,KAAK,MAAM,SAAS,IAAI,OAAO,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;QACtC,IAAI,kBAAkB,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,GAAG;YAAE,MAAM;QACtD,OAAO,GAAG,SAAS,CAAC;IACtB,CAAC;IACD,OAAO,OAAO,IAAI,UAAU,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,OAAe,EAAE,KAAa;IAC7E,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,OAAO,GAAG,KAAK;SAClB,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACtE,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,CAAC;IAExE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAClE,OAAO,GAAG,CAAC,GAAG,KAAK,EAAE,GAAG,GAAG,EAAE,MAAM,OAAO,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC;IAC9F,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC;IAChC,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;IACvB,KAAK,IAAI,KAAK,GAAG,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAC1D,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAE,CAAC,EAAE,CAAC;YACrC,GAAG,GAAG,KAAK,CAAC;YACZ,MAAM;QACR,CAAC;IACH,CAAC;IACD,OAAO,GAAG,GAAG,KAAK,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,CAAE,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,GAAG,EAAE,CAAC;IAC/D,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;IAChC,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC;AAC5D,CAAC"}
1
+ {"version":3,"file":"placement.js","sourceRoot":"","sources":["../../src/write/placement.ts"],"names":[],"mappings":"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"}
@@ -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
+ tentative: "tentative";
108
+ planned: "planned";
109
+ actual: "actual";
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 interface RetainCandidate {
36
- text: string;
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
- export declare function cleanCandidates(value: unknown, options?: {
63
- folders?: readonly string[];
64
- pages?: readonly string[];
65
- sourceText?: string;
66
- }): RetainCandidate[];
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;AACvE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAsE3D;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;iBAaxB,CAAC;AAEH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IAC9B,+FAA+F;IAC/F,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC5C,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,wBAAsB,SAAS,CAC7B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE;IACP,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAC3B,GACL,OAAO,CAAC,YAAY,CAAC,CAyCvB;AA0DD,wBAAgB,eAAe,CAC7B,KAAK,EAAE,OAAO,EACd,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GAC5F,eAAe,EAAE,CAkDnB"}
1
+ {"version":3,"file":"retain.d.ts","sourceRoot":"","sources":["../../src/write/retain.ts"],"names":[],"mappings":"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"}