memkin 0.4.1 → 0.4.3

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 (135) hide show
  1. package/dist/apply/candidate-selection.d.ts +60 -0
  2. package/dist/apply/candidate-selection.d.ts.map +1 -0
  3. package/dist/apply/candidate-selection.js +159 -0
  4. package/dist/apply/candidate-selection.js.map +1 -0
  5. package/dist/apply/cutover.d.ts +45 -0
  6. package/dist/apply/cutover.d.ts.map +1 -0
  7. package/dist/apply/cutover.js +85 -0
  8. package/dist/apply/cutover.js.map +1 -0
  9. package/dist/apply/engine.d.ts +34 -0
  10. package/dist/apply/engine.d.ts.map +1 -0
  11. package/dist/apply/engine.js +255 -0
  12. package/dist/apply/engine.js.map +1 -0
  13. package/dist/apply/ids.d.ts +9 -0
  14. package/dist/apply/ids.d.ts.map +1 -0
  15. package/dist/apply/ids.js +0 -0
  16. package/dist/apply/ids.js.map +1 -0
  17. package/dist/apply/page-content.d.ts +14 -0
  18. package/dist/apply/page-content.d.ts.map +1 -0
  19. package/dist/apply/page-content.js +0 -0
  20. package/dist/apply/page-content.js.map +1 -0
  21. package/dist/apply/rematerialize.d.ts +13 -0
  22. package/dist/apply/rematerialize.d.ts.map +1 -0
  23. package/dist/apply/rematerialize.js +150 -0
  24. package/dist/apply/rematerialize.js.map +1 -0
  25. package/dist/apply/rollback.d.ts +20 -0
  26. package/dist/apply/rollback.d.ts.map +1 -0
  27. package/dist/apply/rollback.js +117 -0
  28. package/dist/apply/rollback.js.map +1 -0
  29. package/dist/apply/shadow-runner.d.ts +47 -0
  30. package/dist/apply/shadow-runner.d.ts.map +1 -0
  31. package/dist/apply/shadow-runner.js +84 -0
  32. package/dist/apply/shadow-runner.js.map +1 -0
  33. package/dist/apply/types.d.ts +51 -0
  34. package/dist/apply/types.d.ts.map +1 -0
  35. package/dist/apply/types.js +13 -0
  36. package/dist/apply/types.js.map +1 -0
  37. package/dist/cli.js +5 -0
  38. package/dist/cli.js.map +1 -1
  39. package/dist/consolidator/consolidator.d.ts +21 -2
  40. package/dist/consolidator/consolidator.d.ts.map +1 -1
  41. package/dist/consolidator/consolidator.js +16 -1
  42. package/dist/consolidator/consolidator.js.map +1 -1
  43. package/dist/core/config.d.ts +42 -0
  44. package/dist/core/config.d.ts.map +1 -1
  45. package/dist/core/config.js +25 -0
  46. package/dist/core/config.js.map +1 -1
  47. package/dist/core/pipeline.d.ts +26 -1
  48. package/dist/core/pipeline.d.ts.map +1 -1
  49. package/dist/core/pipeline.js +26 -0
  50. package/dist/core/pipeline.js.map +1 -1
  51. package/dist/core/schemas.d.ts +16 -16
  52. package/dist/daemon/serve-runtime.d.ts +1 -1
  53. package/dist/daemon/serve-runtime.d.ts.map +1 -1
  54. package/dist/daemon/serve-runtime.js +26 -1
  55. package/dist/daemon/serve-runtime.js.map +1 -1
  56. package/dist/distiller/authority-matrix.d.ts +22 -0
  57. package/dist/distiller/authority-matrix.d.ts.map +1 -0
  58. package/dist/distiller/authority-matrix.js +29 -0
  59. package/dist/distiller/authority-matrix.js.map +1 -0
  60. package/dist/distiller/contract.d.ts +1427 -0
  61. package/dist/distiller/contract.d.ts.map +1 -0
  62. package/dist/distiller/contract.js +166 -0
  63. package/dist/distiller/contract.js.map +1 -0
  64. package/dist/distiller/index.d.ts +83 -0
  65. package/dist/distiller/index.d.ts.map +1 -0
  66. package/dist/distiller/index.js +226 -0
  67. package/dist/distiller/index.js.map +1 -0
  68. package/dist/distiller/map-reduce.d.ts +81 -0
  69. package/dist/distiller/map-reduce.d.ts.map +1 -0
  70. package/dist/distiller/map-reduce.js +92 -0
  71. package/dist/distiller/map-reduce.js.map +1 -0
  72. package/dist/distiller/msg-id.d.ts +55 -0
  73. package/dist/distiller/msg-id.d.ts.map +1 -0
  74. package/dist/distiller/msg-id.js +91 -0
  75. package/dist/distiller/msg-id.js.map +1 -0
  76. package/dist/distiller/payload-privacy.d.ts +18 -0
  77. package/dist/distiller/payload-privacy.d.ts.map +1 -0
  78. package/dist/distiller/payload-privacy.js +51 -0
  79. package/dist/distiller/payload-privacy.js.map +1 -0
  80. package/dist/distiller/prompt.d.ts +28 -0
  81. package/dist/distiller/prompt.d.ts.map +1 -0
  82. package/dist/distiller/prompt.js +69 -0
  83. package/dist/distiller/prompt.js.map +1 -0
  84. package/dist/distiller/raw-privacy.d.ts +55 -0
  85. package/dist/distiller/raw-privacy.d.ts.map +1 -0
  86. package/dist/distiller/raw-privacy.js +123 -0
  87. package/dist/distiller/raw-privacy.js.map +1 -0
  88. package/dist/distiller/segmenter.d.ts +40 -0
  89. package/dist/distiller/segmenter.d.ts.map +1 -0
  90. package/dist/distiller/segmenter.js +75 -0
  91. package/dist/distiller/segmenter.js.map +1 -0
  92. package/dist/embedded-assets.generated.d.ts.map +1 -1
  93. package/dist/embedded-assets.generated.js +5 -4
  94. package/dist/embedded-assets.generated.js.map +1 -1
  95. package/dist/eval/golden.d.ts +12 -12
  96. package/dist/server/api.d.ts.map +1 -1
  97. package/dist/server/api.js +6 -1
  98. package/dist/server/api.js.map +1 -1
  99. package/dist/setup/generate-config.d.ts.map +1 -1
  100. package/dist/setup/generate-config.js +3 -0
  101. package/dist/setup/generate-config.js.map +1 -1
  102. package/dist/setup/validate-config.d.ts +2 -1
  103. package/dist/setup/validate-config.d.ts.map +1 -1
  104. package/dist/setup/validate-config.js.map +1 -1
  105. package/dist/store/agent-sessions.d.ts.map +1 -1
  106. package/dist/store/agent-sessions.js +3 -1
  107. package/dist/store/agent-sessions.js.map +1 -1
  108. package/dist/store/distilled-payload.d.ts +50 -0
  109. package/dist/store/distilled-payload.d.ts.map +1 -0
  110. package/dist/store/distilled-payload.js +117 -0
  111. package/dist/store/distilled-payload.js.map +1 -0
  112. package/dist/store/engine-factory.d.ts.map +1 -1
  113. package/dist/store/engine-factory.js +8 -1
  114. package/dist/store/engine-factory.js.map +1 -1
  115. package/dist/store/migrations/index.d.ts.map +1 -1
  116. package/dist/store/migrations/index.js +139 -0
  117. package/dist/store/migrations/index.js.map +1 -1
  118. package/dist/store/search.d.ts.map +1 -1
  119. package/dist/store/search.js +15 -8
  120. package/dist/store/search.js.map +1 -1
  121. package/dist/store/source-filter.d.ts +19 -0
  122. package/dist/store/source-filter.d.ts.map +1 -0
  123. package/dist/store/source-filter.js +44 -0
  124. package/dist/store/source-filter.js.map +1 -0
  125. package/dist/store/timeline.d.ts.map +1 -1
  126. package/dist/store/timeline.js +15 -8
  127. package/dist/store/timeline.js.map +1 -1
  128. package/dist/synth/scope.d.ts.map +1 -1
  129. package/dist/synth/scope.js +10 -4
  130. package/dist/synth/scope.js.map +1 -1
  131. package/package.json +3 -2
  132. package/web/dist/assets/index-Cie2dVF3.js +5167 -0
  133. package/web/dist/assets/index-diZtO98v.css +2 -0
  134. package/web/dist/assets/newsreader-T5L87s1n.woff2 +0 -0
  135. package/web/dist/index.html +19 -0
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Long-session segmentation (spec §5.1).
3
+ *
4
+ * Splits a transcript into segments by a token budget on MESSAGE boundaries
5
+ * (never by line count — a single JSONL line can be huge). A message that alone
6
+ * exceeds the segment budget is sub-split by characters into `msg-N.k`
7
+ * sub-segments, each carrying a continuation marker and its parent id so
8
+ * reduce-time regrouping (map-reduce.ts) can stitch them back by parent.
9
+ *
10
+ * Token estimation is a coarse chars/4 heuristic — good enough for budgeting;
11
+ * the real tokenizer is the model's own, and we only need to avoid overrunning.
12
+ */
13
+ import type { MessageRole, ParsedMessage } from "./msg-id.js";
14
+ /** A message inside a segment; may be a sub-segment of an oversized message. */
15
+ export interface SegmentMessage {
16
+ msgId: string;
17
+ role: MessageRole;
18
+ content: string;
19
+ /** Present on sub-segments: the id of the message this was split from. */
20
+ parentMsgId?: string;
21
+ /** True on non-first sub-segments — signals continuation of a split message. */
22
+ continued?: boolean;
23
+ }
24
+ export interface Segment {
25
+ segNo: number;
26
+ messages: SegmentMessage[];
27
+ }
28
+ export interface SegmentOpts {
29
+ /** Max estimated tokens per segment. */
30
+ maxSegmentTokens: number;
31
+ }
32
+ /** Coarse token estimate (chars/4). */
33
+ export declare function estimateTokens(text: string): number;
34
+ /**
35
+ * Segment messages under a token budget. Oversized single messages are
36
+ * sub-split; each sub-segment lands in its own segment (it already fills the
37
+ * budget). Ordinary messages are packed greedily up to the budget.
38
+ */
39
+ export declare function segmentMessages(parsed: ParsedMessage[], opts: SegmentOpts): Segment[];
40
+ //# sourceMappingURL=segmenter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"segmenter.d.ts","sourceRoot":"","sources":["../../src/distiller/segmenter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE9D,gFAAgF;AAChF,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,0EAA0E;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gFAAgF;IAChF,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,wCAAwC;IACxC,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAID,uCAAuC;AACvC,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAuBD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,EAAE,CAoCrF"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Long-session segmentation (spec §5.1).
3
+ *
4
+ * Splits a transcript into segments by a token budget on MESSAGE boundaries
5
+ * (never by line count — a single JSONL line can be huge). A message that alone
6
+ * exceeds the segment budget is sub-split by characters into `msg-N.k`
7
+ * sub-segments, each carrying a continuation marker and its parent id so
8
+ * reduce-time regrouping (map-reduce.ts) can stitch them back by parent.
9
+ *
10
+ * Token estimation is a coarse chars/4 heuristic — good enough for budgeting;
11
+ * the real tokenizer is the model's own, and we only need to avoid overrunning.
12
+ */
13
+ const CHARS_PER_TOKEN = 4;
14
+ /** Coarse token estimate (chars/4). */
15
+ export function estimateTokens(text) {
16
+ return Math.ceil(text.length / CHARS_PER_TOKEN);
17
+ }
18
+ /** Split an oversized message's content into chunks each under the char budget. */
19
+ function splitOversized(msg, maxSegmentTokens) {
20
+ const maxChars = Math.max(1, maxSegmentTokens * CHARS_PER_TOKEN);
21
+ const out = [];
22
+ let offset = 0;
23
+ let sub = 1;
24
+ while (offset < msg.content.length) {
25
+ const slice = msg.content.slice(offset, offset + maxChars);
26
+ out.push({
27
+ msgId: `${msg.msgId}.${sub}`,
28
+ role: msg.role,
29
+ content: slice,
30
+ parentMsgId: msg.msgId,
31
+ continued: sub > 1,
32
+ });
33
+ offset += maxChars;
34
+ sub += 1;
35
+ }
36
+ return out;
37
+ }
38
+ /**
39
+ * Segment messages under a token budget. Oversized single messages are
40
+ * sub-split; each sub-segment lands in its own segment (it already fills the
41
+ * budget). Ordinary messages are packed greedily up to the budget.
42
+ */
43
+ export function segmentMessages(parsed, opts) {
44
+ const segments = [];
45
+ let current = [];
46
+ let currentTokens = 0;
47
+ let segNo = 1;
48
+ const flush = () => {
49
+ if (current.length > 0) {
50
+ segments.push({ segNo: segNo++, messages: current });
51
+ current = [];
52
+ currentTokens = 0;
53
+ }
54
+ };
55
+ for (const msg of parsed) {
56
+ const tokens = estimateTokens(msg.content);
57
+ if (tokens > opts.maxSegmentTokens) {
58
+ // Oversized: flush whatever is buffered, then emit each sub-segment as its
59
+ // own segment.
60
+ flush();
61
+ for (const sub of splitOversized(msg, opts.maxSegmentTokens)) {
62
+ segments.push({ segNo: segNo++, messages: [sub] });
63
+ }
64
+ continue;
65
+ }
66
+ if (currentTokens + tokens > opts.maxSegmentTokens && current.length > 0) {
67
+ flush();
68
+ }
69
+ current.push({ msgId: msg.msgId, role: msg.role, content: msg.content });
70
+ currentTokens += tokens;
71
+ }
72
+ flush();
73
+ return segments;
74
+ }
75
+ //# sourceMappingURL=segmenter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"segmenter.js","sourceRoot":"","sources":["../../src/distiller/segmenter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAyBH,MAAM,eAAe,GAAG,CAAC,CAAC;AAE1B,uCAAuC;AACvC,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,CAAC;AAClD,CAAC;AAED,mFAAmF;AACnF,SAAS,cAAc,CAAC,GAAkB,EAAE,gBAAwB;IAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,gBAAgB,GAAG,eAAe,CAAC,CAAC;IACjE,MAAM,GAAG,GAAqB,EAAE,CAAC;IACjC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,OAAO,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC;QAC3D,GAAG,CAAC,IAAI,CAAC;YACP,KAAK,EAAE,GAAG,GAAG,CAAC,KAAK,IAAI,GAAG,EAAE;YAC5B,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,GAAG,CAAC,KAAK;YACtB,SAAS,EAAE,GAAG,GAAG,CAAC;SACnB,CAAC,CAAC;QACH,MAAM,IAAI,QAAQ,CAAC;QACnB,GAAG,IAAI,CAAC,CAAC;IACX,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,MAAuB,EAAE,IAAiB;IACxE,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,IAAI,OAAO,GAAqB,EAAE,CAAC;IACnC,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YACrD,OAAO,GAAG,EAAE,CAAC;YACb,aAAa,GAAG,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAE3C,IAAI,MAAM,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACnC,2EAA2E;YAC3E,eAAe;YACf,KAAK,EAAE,CAAC;YACR,KAAK,MAAM,GAAG,IAAI,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC7D,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACrD,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,aAAa,GAAG,MAAM,GAAG,IAAI,CAAC,gBAAgB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzE,KAAK,EAAE,CAAC;QACV,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACzE,aAAa,IAAI,MAAM,CAAC;IAC1B,CAAC;IACD,KAAK,EAAE,CAAC;IAER,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"embedded-assets.generated.d.ts","sourceRoot":"","sources":["../src/embedded-assets.generated.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,OAAO,EAAE,MAAgB,CAAC;AAEvC,eAAO,MAAM,UAAU,EAAE,MAAusL,CAAC;AAEjuL,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAK1C,CAAC"}
1
+ {"version":3,"file":"embedded-assets.generated.d.ts","sourceRoot":"","sources":["../src/embedded-assets.generated.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,OAAO,EAAE,MAAgB,CAAC;AAEvC,eAAO,MAAM,UAAU,EAAE,MAAusL,CAAC;AAEjuL,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAM1C,CAAC"}
@@ -1,12 +1,13 @@
1
1
  // AUTO-GENERATED by scripts/gen-embedded-assets.mjs — do not edit by hand.
2
2
  // Source: src/store/schema.sql + src/extractors/prompts/**/*.md
3
3
  // Regenerate with `bun run gen:assets`.
4
- export const VERSION = "0.4.1";
4
+ export const VERSION = "0.4.3";
5
5
  export const SCHEMA_SQL = "CREATE EXTENSION IF NOT EXISTS vector;\nCREATE EXTENSION IF NOT EXISTS pg_trgm;\n\nCREATE TABLE IF NOT EXISTS pages (\n id SERIAL PRIMARY KEY,\n slug TEXT UNIQUE NOT NULL,\n type TEXT NOT NULL,\n title TEXT NOT NULL,\n compiled_truth TEXT NOT NULL DEFAULT '',\n frontmatter JSONB NOT NULL DEFAULT '{}',\n content_hash TEXT,\n halflife_days INTEGER,\n tier TEXT NOT NULL DEFAULT 'hot',\n expires_at TIMESTAMPTZ,\n consolidated_into INTEGER REFERENCES pages(id),\n created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),\n updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()\n);\n\nCREATE INDEX IF NOT EXISTS idx_pages_title_trgm ON pages USING gin (title gin_trgm_ops);\nCREATE INDEX IF NOT EXISTS idx_pages_compiled_truth_trgm ON pages USING gin (compiled_truth gin_trgm_ops);\n-- idx_pages_tier and idx_pages_expires_at are created by M003 lifecycle_tier migration,\n-- which is the only place that guarantees the tier/expires_at columns exist on upgrade.\n\nCREATE TABLE IF NOT EXISTS content_chunks (\n id SERIAL PRIMARY KEY,\n page_id INTEGER NOT NULL REFERENCES pages(id) ON DELETE CASCADE,\n chunk_index INTEGER NOT NULL,\n UNIQUE(page_id, chunk_index),\n chunk_text TEXT NOT NULL,\n chunk_source TEXT NOT NULL DEFAULT 'compiled_truth',\n token_count INTEGER,\n embedding vector(__EMBEDDING_DIM__),\n model TEXT NOT NULL DEFAULT 'text-embedding-3-large',\n embedded_at TIMESTAMPTZ,\n created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()\n);\n\nCREATE INDEX IF NOT EXISTS idx_chunks_embedding ON content_chunks\n USING hnsw (embedding vector_cosine_ops);\nCREATE INDEX IF NOT EXISTS idx_chunks_chunk_text_trgm ON content_chunks USING gin (chunk_text gin_trgm_ops);\n\nCREATE TABLE IF NOT EXISTS links (\n id SERIAL PRIMARY KEY,\n from_page_id INTEGER NOT NULL REFERENCES pages(id) ON DELETE CASCADE,\n to_page_id INTEGER NOT NULL REFERENCES pages(id) ON DELETE CASCADE,\n link_type TEXT NOT NULL DEFAULT '',\n context TEXT NOT NULL DEFAULT '',\n provenance JSONB,\n source_hash TEXT,\n created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),\n UNIQUE(from_page_id, to_page_id, link_type)\n);\n\nCREATE INDEX IF NOT EXISTS idx_links_from ON links (from_page_id);\nCREATE INDEX IF NOT EXISTS idx_links_to ON links (to_page_id);\n\nCREATE TABLE IF NOT EXISTS tags (\n id SERIAL PRIMARY KEY,\n page_id INTEGER NOT NULL REFERENCES pages(id) ON DELETE CASCADE,\n tag TEXT NOT NULL,\n UNIQUE(page_id, tag)\n);\n\nCREATE INDEX IF NOT EXISTS idx_tags_tag ON tags (tag);\n\nCREATE TABLE IF NOT EXISTS timeline_entries (\n id SERIAL PRIMARY KEY,\n page_id INTEGER NOT NULL REFERENCES pages(id) ON DELETE CASCADE,\n date TEXT NOT NULL,\n summary TEXT NOT NULL,\n detail TEXT NOT NULL DEFAULT '',\n source TEXT NOT NULL DEFAULT '',\n provenance JSONB,\n tier TEXT NOT NULL DEFAULT 'hot',\n expires_at TIMESTAMPTZ,\n created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),\n UNIQUE(page_id, date, summary)\n);\n\n-- Identity cache for person slug canonicalization\n-- identity_cache doubles as the person slug canonicalization store via\n-- platform = 'canonical':\n-- external_id = model-produced slug or display name\n-- display_name = canonical person slug (e.g. 'person/wang-jiandu')\n-- slug_hint = original entity.name (used for collision detection)\nCREATE TABLE IF NOT EXISTS identity_cache (\n platform TEXT NOT NULL,\n external_id TEXT NOT NULL,\n display_name TEXT,\n slug_hint TEXT,\n resolved_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),\n PRIMARY KEY (platform, external_id)\n);\n\nDO $$ BEGIN\n IF NOT EXISTS (\n SELECT 1 FROM information_schema.columns\n WHERE table_name = 'identity_cache' AND column_name = 'slug_hint'\n ) THEN\n ALTER TABLE identity_cache ADD COLUMN slug_hint TEXT;\n END IF;\nEND $$;\n\n-- person_handles: the typed alias layer (Layer 1 of person identity).\n-- Maps any \"handle\" by which a person is known to the canonical person page\n-- slug. A handle is (kind, value); the pair is unique, so one handle resolves\n-- to exactly one person. Merging/aliasing is explicit (see core/person-identity).\n-- kind = 'feishu_open_id' | 'email' | 'name' | 'nickname' | 'slug'\n-- value = canonicalized handle value (lowercased / whitespace-collapsed)\n-- strength = 'strong' (auto-resolvable: open_id/email/name/slug)\n-- | 'weak' (nickname/花名 — only created via explicit link)\n--\n-- M008 generalizes this table into `entity_handles` (rename + entity_type/scope\n-- columns) and leaves `person_handles` behind as a compat VIEW. schema.sql is\n-- re-applied on every boot BEFORE migrations, so this legacy block must be\n-- conditional: once entity_handles exists, creating the table would shadow the\n-- view (and CREATE INDEX ... ON a view errors regardless of IF NOT EXISTS).\nDO $$ BEGIN\n IF NOT EXISTS (\n SELECT 1 FROM pg_class WHERE relname = 'entity_handles' AND relkind = 'r'\n ) THEN\n CREATE TABLE IF NOT EXISTS person_handles (\n kind TEXT NOT NULL,\n value TEXT NOT NULL,\n canonical_slug TEXT NOT NULL,\n strength TEXT NOT NULL DEFAULT 'strong',\n created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),\n PRIMARY KEY (kind, value)\n );\n CREATE INDEX IF NOT EXISTS idx_person_handles_slug ON person_handles (canonical_slug);\n END IF;\nEND $$;\n\n-- Engine/embedding metadata (key-value). Used for embedding fingerprint consistency.\nCREATE TABLE IF NOT EXISTS memkin_meta (\n key TEXT PRIMARY KEY,\n value TEXT NOT NULL\n);\n";
6
6
  export const PROMPTS = {
7
+ "distill.md": "# Session Distillation Criteria\n\nYou are distilling an ENTIRE agent work session into the few signals worth\nremembering. Write for the retriever 30 days from now: a colleague (or the same\nuser) who needs to reconstruct what was decided, what remains open, and why —\nwithout rereading the transcript.\n\n## The core question\n\nFor every candidate signal ask: \"If someone searches for this in 30 days, does\nfinding it change what they do?\" If the answer is no, do not record it.\n\n## Authority — who actually said it (be strict)\n\nLabel every signal with exactly one authority level:\n\n- `user_confirmed` — the USER decided, approved, or explicitly agreed.\n \"yes, do that\", \"we'll go with Bun\", \"approved\". A user instruction counts.\n- `assistant_proposed` — the assistant suggested it and the user did NOT\n clearly confirm. Proposals are not decisions. When in doubt between\n confirmed and proposed, choose proposed.\n- `assistant_claimed` — the assistant asserts a fact or outcome from its own\n work (\"tests pass\", \"the bug was in X\"). This is self-reported and NOT\n verified by any tool result — never upgrade it to user_confirmed.\n\n## What to record\n\n- **decision** — a resolved choice with lasting effect (architecture, tooling,\n convention, scope). Include the WHY. If it replaces an earlier decision, set\n `supersedes_topic`.\n- **task** — a concrete commitment someone must act on later, with `status`\n (`open` / `in_progress` / `done` / `cancelled`). Unresolved questions that\n block future work are open tasks.\n- **reference** — a URL that was actually shared in the conversation and will\n be needed again. The `url` MUST appear verbatim in the messages you cite as\n evidence — never invent or normalize a URL.\n- **preference** — a durable user preference (tooling, workflow, communication,\n coding style), not a one-off request.\n- **knowledge** — a fact about the world or the codebase that stays true beyond\n this session (\"the API rate limit is 100/min\", \"module X owns retries\").\n- **discovery** — a non-obvious insight, pattern, risk, or procedure learned\n the hard way (root causes, gotchas, edge cases).\n\n## What NOT to record\n\n- Transient debugging back-and-forth: failed attempts, intermediate states,\n \"let me try again\" loops. Only the final outcome and its root cause matter.\n- Anything overturned later in the session. If segment 5 abandons what\n segment 2 proposed, the proposal must NOT appear as a signal.\n- Routine mechanics: file reads, obvious commands, formatting runs, progress\n narration (\"now I'll edit the file\").\n- Restatements of what already exists in code or docs.\n- Pleasantries, meta-chatter about the conversation itself.\n\n## Writing the fields\n\n- `topic`: short, searchable, stable — the retriever's query, not a sentence.\n- `what`: one or two sentences, self-contained (no \"it/this\" referring to\n transcript context the reader cannot see).\n- `why`: the motivation or constraint that produced it, when stated.\n- `entities`: natural-language names of people / projects / tools involved.\n Names only — never invent identifiers or slugs.\n- `evidence`: cite the exact `msg_id` ranges (only ids you were given) that\n support the signal. Every signal needs at least one range.\n- `persistence_reason`: one line — why this deserves to outlive the session.\n\nPrefer FEWER, denser signals. An empty result is acceptable for a session that\nwas pure mechanics; a noisy result is not.\n",
7
8
  "examples/agent-session.md": "# Example: Agent Session Extraction\n\n## Input Conversation\n\n```\n[2024-01-15T10:00:00Z] → Alice: We need to migrate from sessions to JWT for the auth system\n[2024-01-15T10:01:30Z] ← Bob: Makes sense for scaling. I can start this week.\n[2024-01-15T10:02:15Z] → Alice: Perfect. Let's use the HS256 algorithm initially.\n[2024-01-15T10:03:00Z] ← Bob: Got it. Should we add refresh tokens too?\n[2024-01-15T10:03:45Z] → Alice: Yes, 7-day access tokens and 30-day refresh tokens.\n[2024-01-15T10:04:30Z] ← Bob: I'll document the decision in the wiki before implementing.\n```\n\n## Output JSON\n\n```json\n{\n \"source\": {\n \"platform\": \"slack\",\n \"channel\": \"#engineering\",\n \"timestamp\": \"2024-01-15T10:00:00Z\",\n \"thread_id\": \"thread-auth-migration\",\n \"raw_hash\": \"abc123def456\",\n \"quote\": \"We need to migrate from sessions to JWT for the auth system\"\n },\n \"entities\": [\n {\n \"slug\": \"person/alice\",\n \"name\": \"Alice\",\n \"type\": \"person\",\n \"context\": \"Engineering lead discussing auth migration\",\n \"confidence\": \"direct\"\n },\n {\n \"slug\": \"person/bob\",\n \"name\": \"Bob\",\n \"type\": \"person\",\n \"context\": \"Developer implementing JWT auth system\",\n \"confidence\": \"direct\"\n },\n {\n \"slug\": \"project/auth-system\",\n \"name\": \"Auth System\",\n \"type\": \"project\",\n \"context\": \"Authentication system being migrated to JWT\",\n \"confidence\": \"direct\"\n },\n {\n \"slug\": \"tool/jwt\",\n \"name\": \"JWT (JSON Web Tokens)\",\n \"type\": \"tool\",\n \"context\": \"Token-based authentication mechanism replacing sessions\",\n \"confidence\": \"direct\"\n },\n {\n \"slug\": \"concept/refresh-tokens\",\n \"name\": \"Refresh Tokens\",\n \"type\": \"concept\",\n \"context\": \"30-day tokens for obtaining new access tokens\",\n \"confidence\": \"direct\"\n }\n ],\n \"timeline\": [\n {\n \"date\": \"2024-01-15\",\n \"summary\": \"Decision to migrate from sessions to JWT authentication\",\n \"entities\": [\"person/alice\", \"person/bob\", \"project/auth-system\", \"tool/jwt\"],\n \"source\": {\n \"platform\": \"slack\",\n \"channel\": \"#engineering\",\n \"timestamp\": \"2024-01-15T10:00:00Z\",\n \"thread_id\": \"thread-auth-migration\",\n \"raw_hash\": \"abc123def456\",\n \"quote\": \"We need to migrate from sessions to JWT for the auth system\"\n },\n \"confidence\": \"direct\"\n },\n {\n \"date\": \"2024-01-15\",\n \"summary\": \"Bob commits to starting JWT migration this week\",\n \"entities\": [\"person/bob\", \"project/auth-system\"],\n \"source\": {\n \"platform\": \"slack\",\n \"channel\": \"#engineering\",\n \"timestamp\": \"2024-01-15T10:01:30Z\",\n \"thread_id\": \"thread-auth-migration\",\n \"raw_hash\": \"abc123def456\",\n \"quote\": \"Makes sense for scaling. I can start this week.\"\n },\n \"confidence\": \"direct\"\n }\n ],\n \"links\": [\n {\n \"from\": \"person/bob\",\n \"to\": \"project/auth-system\",\n \"type\": \"works_on\",\n \"context\": \"Bob is implementing the JWT migration for auth system\",\n \"confidence\": \"direct\"\n },\n {\n \"from\": \"project/auth-system\",\n \"to\": \"tool/jwt\",\n \"type\": \"depends_on\",\n \"context\": \"Auth system will use JWT for token-based authentication\",\n \"confidence\": \"direct\"\n },\n {\n \"from\": \"person/alice\",\n \"to\": \"project/auth-system\",\n \"type\": \"works_on\",\n \"context\": \"Alice is leading the auth system migration decision\",\n \"confidence\": \"paraphrased\"\n }\n ],\n \"decisions\": [\n {\n \"summary\": \"Migrate authentication from sessions to JWT\",\n \"reasoning\": \"Better for scaling across multiple instances\",\n \"alternatives\": [\"Keep session-based auth\", \"Use OAuth2\"],\n \"entities\": [\"project/auth-system\", \"tool/jwt\"],\n \"date\": \"2024-01-15\",\n \"confidence\": \"direct\",\n \"source\": {\n \"platform\": \"slack\",\n \"channel\": \"#engineering\",\n \"timestamp\": \"2024-01-15T10:00:00Z\",\n \"thread_id\": \"thread-auth-migration\",\n \"raw_hash\": \"abc123def456\",\n \"quote\": \"We need to migrate from sessions to JWT for the auth system\"\n }\n },\n {\n \"summary\": \"Use HS256 algorithm for JWT signing\",\n \"entities\": [\"tool/jwt\"],\n \"date\": \"2024-01-15\",\n \"confidence\": \"direct\",\n \"source\": {\n \"platform\": \"slack\",\n \"channel\": \"#engineering\",\n \"timestamp\": \"2024-01-15T10:02:15Z\",\n \"thread_id\": \"thread-auth-migration\",\n \"raw_hash\": \"abc123def456\",\n \"quote\": \"Let's use the HS256 algorithm initially.\"\n }\n },\n {\n \"summary\": \"Token expiration: 7-day access tokens, 30-day refresh tokens\",\n \"entities\": [\"tool/jwt\", \"concept/refresh-tokens\"],\n \"date\": \"2024-01-15\",\n \"confidence\": \"direct\",\n \"source\": {\n \"platform\": \"slack\",\n \"channel\": \"#engineering\",\n \"timestamp\": \"2024-01-15T10:03:45Z\",\n \"thread_id\": \"thread-auth-migration\",\n \"raw_hash\": \"abc123def456\",\n \"quote\": \"Yes, 7-day access tokens and 30-day refresh tokens.\"\n }\n }\n ],\n \"tasks\": [\n {\n \"title\": \"Implement JWT-based authentication\",\n \"status\": \"open\",\n \"owner\": \"person/bob\",\n \"project\": \"project/auth-system\",\n \"valid_at\": \"2024-01-15T10:01:30Z\",\n \"source\": {\n \"platform\": \"slack\",\n \"channel\": \"#engineering\",\n \"timestamp\": \"2024-01-15T10:01:30Z\",\n \"thread_id\": \"thread-auth-migration\",\n \"raw_hash\": \"abc123def456\",\n \"quote\": \"I can start this week.\"\n },\n \"confidence\": \"direct\"\n },\n {\n \"title\": \"Document JWT migration decision in wiki\",\n \"status\": \"open\",\n \"owner\": \"person/bob\",\n \"project\": \"project/auth-system\",\n \"valid_at\": \"2024-01-15T10:04:30Z\",\n \"source\": {\n \"platform\": \"slack\",\n \"channel\": \"#engineering\",\n \"timestamp\": \"2024-01-15T10:04:30Z\",\n \"thread_id\": \"thread-auth-migration\",\n \"raw_hash\": \"abc123def456\",\n \"quote\": \"I'll document the decision in the wiki before implementing.\"\n },\n \"confidence\": \"direct\"\n }\n ],\n \"discoveries\": [\n {\n \"summary\": \"Session-based auth doesn't scale well across multiple instances\",\n \"type\": \"insight\",\n \"entities\": [\"project/auth-system\"],\n \"source\": {\n \"platform\": \"slack\",\n \"channel\": \"#engineering\",\n \"timestamp\": \"2024-01-15T10:01:30Z\",\n \"thread_id\": \"thread-auth-migration\",\n \"raw_hash\": \"abc123def456\",\n \"quote\": \"Makes sense for scaling.\"\n },\n \"confidence\": \"paraphrased\"\n },\n {\n \"summary\": \"Document architectural decisions before implementation\",\n \"type\": \"procedure\",\n \"entities\": [\"person/bob\"],\n \"source\": {\n \"platform\": \"slack\",\n \"channel\": \"#engineering\",\n \"timestamp\": \"2024-01-15T10:04:30Z\",\n \"thread_id\": \"thread-auth-migration\",\n \"raw_hash\": \"abc123def456\",\n \"quote\": \"I'll document the decision in the wiki before implementing.\"\n },\n \"confidence\": \"direct\"\n }\n ],\n \"knowledge\": [\n {\n \"topic\": \"jwt-token-expiration\",\n \"content\": \"Access tokens should be short-lived (minutes to hours) while refresh tokens can be longer-lived (days to weeks) to balance security with user experience\",\n \"source_type\": \"teaching\",\n \"related_entities\": [\"tool/jwt\", \"concept/refresh-tokens\"],\n \"source\": {\n \"platform\": \"slack\",\n \"channel\": \"#engineering\",\n \"timestamp\": \"2024-01-15T10:03:45Z\",\n \"thread_id\": \"thread-auth-migration\",\n \"raw_hash\": \"abc123def456\",\n \"quote\": \"Yes, 7-day access tokens and 30-day refresh tokens.\"\n },\n \"confidence\": \"paraphrased\"\n }\n ],\n \"preferences\": [],\n \"references\": []\n}\n```\n\n## Key Takeaways from This Example\n\n1. **Entity consistency**: Same person/project mentioned multiple times uses the same slug\n2. **Confidence levels**: Most are \"direct\" (explicit), some \"paraphrased\" (clear implication)\n3. **Rich context**: Each signal includes enough context to understand it standalone\n4. **Quotes**: All under 300 chars, capturing the key statement\n5. **Links**: Connect entities with specific relationship types\n6. **Timeline**: Events ordered chronologically with clear summaries\n7. **Decisions**: Capture not just what was decided, but why and what alternatives existed\n8. **Tasks**: Include owner, status, and timing information\n9. **Discoveries**: Extract both insights (learnings) and procedures (how-to)\n10. **Knowledge**: Extract reusable facts that stand alone without the original conversation context\n11. **Preferences and references**: Always include both arrays even when empty — this conversation has no shared links and no explicit standing-preference statements (the wiki-documentation comment is a one-off recommendation, correctly classified as `discovery.type=procedure`, not duplicated as a preference)\n",
8
- "signal-extract.md": "# Signal Extraction Task\n\nExtract structured signals from the provided conversation block following the schema below.\n\n## Output Schema\n\n```typescript\ninterface ExtractionResult {\n source: SourceRef;\n entities: Entity[];\n timeline: TimelineEntry[];\n links: Link[];\n decisions: Decision[];\n tasks: TaskSignal[];\n discoveries: Discovery[];\n knowledge: Knowledge[];\n preferences: Preference[];\n references: Reference[];\n}\n\ninterface SourceRef {\n platform: string; // e.g., \"slack\", \"claude-code\"\n channel: string; // e.g., \"#general\", \"session-123\"\n timestamp: string; // ISO 8601\n message_id?: string;\n thread_id?: string;\n file_path?: string;\n line_range?: { start: number; end: number };\n attachment_id?: string;\n url?: string;\n raw_hash: string; // generated by system\n quote: string; // ≤ 300 chars, most relevant excerpt\n}\n\ninterface Entity {\n slug: string; // Format: {type}/{kebab-name}\n name: string; // Display name\n type: 'person' | 'project' | 'organization' | 'tool' | 'concept';\n context: string; // Brief description\n confidence: 'direct' | 'paraphrased' | 'inferred' | 'speculative';\n}\n\ninterface TimelineEntry {\n date: string; // ISO 8601 or partial (YYYY-MM, YYYY)\n summary: string; // Event description\n entities: string[]; // Slugs of involved entities\n source: SourceRef;\n confidence: 'direct' | 'paraphrased' | 'inferred' | 'speculative';\n}\n\ninterface Link {\n from: string; // Entity slug\n to: string; // Entity slug\n type: 'works_on' | 'works_at' | 'reports_to' | 'collaborates' | 'depends_on' | 'mentions' | 'custom';\n context: string; // Description of relationship\n confidence: 'direct' | 'paraphrased' | 'inferred' | 'speculative';\n source: SourceRef;\n}\n\ninterface Decision {\n summary: string; // What was decided\n reasoning?: string; // Why (if mentioned)\n alternatives?: string[]; // Other options considered\n entities: string[]; // Slugs of entities involved\n date: string; // ISO 8601\n valid_at?: string; // When decision takes effect\n invalid_at?: string; // When decision expires/superseded\n confidence: 'direct' | 'paraphrased' | 'inferred' | 'speculative';\n source: SourceRef;\n}\n\ninterface TaskSignal {\n title: string; // Task description\n status: 'open' | 'in_progress' | 'done' | 'cancelled';\n owner?: string; // Entity slug\n project?: string; // Entity slug\n due_date?: string; // ISO 8601\n valid_at?: string; // When task was created\n invalid_at?: string; // When task was closed\n source: SourceRef;\n confidence: 'direct' | 'paraphrased' | 'inferred' | 'speculative';\n}\n\ninterface Discovery {\n summary: string; // Brief insight\n detail?: string; // Extended explanation\n type: 'procedure' | 'pattern' | 'insight' | 'risk';\n entities: string[]; // Slugs of related entities\n source: SourceRef;\n confidence: 'direct' | 'paraphrased' | 'inferred' | 'speculative';\n}\ninterface Knowledge {\n topic: string; // kebab-case topic tag: \"react-hooks\", \"feishu-api\"\n content: string; // Decontextualized knowledge statement\n source_type: 'conversation' | 'document' | 'teaching';\n related_entities: string[]; // Entity slugs (may reference entities not in this block)\n valid_at?: string; // ISO 8601, when knowledge becomes valid\n invalid_at?: string; // ISO 8601, when knowledge expires\n source: SourceRef;\n confidence: 'direct' | 'paraphrased' | 'inferred' | 'speculative';\n}\n\ninterface Preference {\n summary: string; // \"Prefers async communication over meetings\"\n detail?: string; // Extended explanation\n category: 'communication' | 'tooling' | 'scheduling' | 'workflow' | 'other';\n entities: string[]; // Slugs, usually a person\n source: SourceRef;\n confidence: 'direct' | 'paraphrased' | 'inferred' | 'speculative';\n}\n\ninterface Reference {\n title: string; // Document/resource title\n url: string; // The resource URL — must appear in source text\n summary: string; // ≤100 chars: what the resource is about\n trigger?: string; // When this would be useful to recall later\n entities: string[]; // Slugs of related entities\n source: SourceRef;\n confidence: 'direct' | 'paraphrased' | 'inferred' | 'speculative';\n}\n```\n\n## Extraction Rules\n\n### Entity Slugs\n- Format: `{type}/{kebab-case-name}`\n- Examples: `person/alice-smith`, `project/auth-system`, `tool/github-actions`\n- Be consistent: same entity = same slug across all signals\n- For people: use recognizable name (first name + last initial if ambiguous)\n- For projects/tools: use official name or widely-used abbreviation\n\n### Quotes\n- Maximum 300 characters\n- Select the most informative excerpt\n- Don't fabricate - copy exact text (can trim with \"...\")\n- Should stand alone and convey key context\n\n### Confidence Levels\n- **direct**: Explicitly stated (\"Alice will lead the auth project\")\n- **paraphrased**: Clear implication with different wording (\"Alice is taking charge of authentication\")\n- **inferred**: Reasonable deduction (\"Alice keeps talking about auth, likely leading it\")\n- **speculative**: Uncertain but possible (\"Alice might be involved based on previous mentions\")\n\n### Dates\n- Prefer ISO 8601: `2024-01-15T10:30:00Z`\n- Partial dates OK: `2024-01` (month), `2024` (year)\n- Relative dates: resolve to absolute if possible (\"last Tuesday\" → `2024-01-09`)\n- Uncertain dates: use best estimate with lower confidence\n\n### Empty Results\n- If no signals found, return empty arrays for all categories\n- Still include valid `source` with platform, channel, timestamp, and quote\n\n### Knowledge vs Discovery\n\nKnowledge (知识): Decontextualized, reusable facts or concepts\n ✓ \"React useEffect runs twice in StrictMode during development\"\n ✓ \"Feishu API global rate limit is 50 QPS\"\n ✓ \"TCP three-way handshake prevents stale connection requests\"\n\nDiscovery (发现): Scene-bound, time-bound findings\n ✓ \"Today's integration test found 5s latency on this endpoint\"\n ✓ \"Root cause of this bug is a race condition\"\n ✓ \"Local Docker DNS resolution is broken\"\n\nRules:\n 1. Remove time/scene info — is the statement still valid and valuable? Yes → Knowledge\n 2. Could this be a FAQ or documentation entry as-is? Yes → Knowledge\n 3. If uncertain, prefer Discovery (conservative)\n\n### Knowledge vs Decision\n\nKnowledge: Norms, facts, concepts — objective, verifiable\n ✓ \"Feishu API global rate limit is 50 QPS\"\n ✓ \"Go goroutine initial stack size is 2KB\"\n\nDecision: Team/project choices, commitments — subjective, has an owner\n ✓ \"All services will use OpenTelemetry going forward\"\n ✓ \"We decided to replace MySQL with PostgreSQL\"\n\nRules:\n 1. Has an explicit decision-maker or team commitment? → Decision\n 2. Would this statement hold true for a different team/project? → Knowledge\n 3. If uncertain, look for verbs like \"decided\", \"chose\", \"switched to\" → Decision\n\n### Preference vs Discovery\n\nPreference (偏好): An explicit personal/team statement about how someone likes to work\n ✓ \"I prefer async communication over meetings\"\n ✓ \"We always write tests before implementation\" (framed as standing practice)\n ✓ \"I don't like being pinged after 6pm\"\n\nDiscovery-procedure (发现-流程): A how-to insight observed or recommended in the moment,\nnot framed as someone's standing preference\n ✓ \"Document architectural decisions before implementation\" (a recommendation, not \"I always do X\")\n\nRules:\n 1. Explicitly framed as \"I/we prefer/like/always do X\" with a clear subject? → Preference\n 2. A one-off recommendation or observed practice without standing-preference framing? → Discovery\n 3. If uncertain, prefer Discovery (conservative — Preference requires explicit personal framing)\n\n### Preference category\n\n- `communication`: sync/async style, channels, tone, responsiveness expectations\n- `tooling`: preferred editors, libraries, tools, tool-related workflows\n- `scheduling`: time-of-day habits, meeting patterns, availability\n- `workflow`: process/practice preferences not covered above (review style, docs habits)\n- `other`: doesn't fit the above\n\n### References\n\nA reference is a bookmark **with context** — a shared resource plus enough information\nfor an Agent to know when it would be useful to recall later.\n\nExtract a Reference when:\n ✓ A message shares a URL/doc/named resource AND gives enough context to fill in `summary`\n ✓ \"Check this out: https://example.com/jwt-guide — covers token rotation\" → Reference\n\nDo NOT extract a Reference when:\n ✗ A bare URL with no surrounding context (nothing to put in `summary`/`trigger`)\n ✗ The shared content IS the substance of the conversation — extract that as\n Knowledge/Decision/Discovery instead; References are for bookmarks, not the discussion itself\n\nReference field rules:\n - `url`: must appear verbatim in the source text — never fabricate or guess a URL\n - `summary`: ≤100 chars, what the resource covers\n - `trigger`: when recalling this would help (e.g., \"当排查 JWT 过期问题时\")\n\n### Knowledge source_type\n\n- `conversation`: Extracted from group/private chat messages\n- `document`: Extracted from cloud document content\n- `teaching`: Someone actively explaining/teaching (systematic explanation of principles, steps, processes)\n\n### Knowledge topic\n\n- Output kebab-case ASCII when possible: \"react-hooks\", \"feishu-api\"\n- For Chinese topics, translate to English: \"飞书API\" → \"feishu-api\"\n- The system normalizes non-conforming topics automatically\n\n### Knowledge confidence\n\n- Knowledge should rarely be `speculative`. The system may skip speculative Knowledge entries.\n- Prefer `direct` or `paraphrased` for factual statements.\n\n### Language Policy\n\n- Structural fields (slug, topic, type, status) → English ASCII, kebab-case\n- Natural language fields (name, summary, content, context, detail,\n reasoning, quote) → **SAME LANGUAGE as the source material**\n- If the conversation is in Chinese, write summaries in Chinese\n- If the conversation mixes languages, use the dominant language\n- quote field MUST be verbatim from the original text, never translated\n- slug for Chinese person names: use pinyin\n (e.g., \"李应龙\" → \"person/li-yinglong\")\n\n## Example\n\nSee `examples/agent-session.md` for a complete example with diverse signal types.\n\n## Your Task\n\nProcess the conversation block provided below and output ONLY valid JSON matching ExtractionResult schema.\n",
9
- "significance.md": "You are evaluating whether a conversation block contains information worth extracting and preserving as personal memory.\n\n## Conversation Block\n\n{CONVERSATION_BLOCK}\n\n## Evaluation Criteria\n\nA conversation is **worth processing** if it contains ANY of:\n- Decisions made (technical, business, personal)\n- Action items or task assignments\n- Important knowledge shared (architecture, processes, domain expertise)\n- Relationship or organizational context\n- Plans, deadlines, or commitments\n- Problems identified and solutions discussed\n- Opinions or preferences that reveal character or values\n\nA conversation is **NOT worth processing** if it is purely:\n- Social pleasantries with no substance (\"好的\", \"收到\", \"谢谢\")\n- Forwarded content with no discussion\n- Automated notifications restated by a person\n- Logistics with no decision component (\"几点开会?\" → \"3点\")\n\n## Response Format\n\nRespond with a JSON object:\n```json\n{\n \"worth_processing\": true/false,\n \"confidence\": 0.0-1.0,\n \"reason\": \"brief explanation\",\n \"topics\": [\"topic1\", \"topic2\"]\n}\n```\n",
10
- "system.md": "# System Prompt: Signal Extraction\n\nYou are a signal extraction system designed to identify and structure meaningful information from conversations and text. Always respond with valid JSON.\n\n## Your Role\n\nExtract structured signals from conversation blocks, including:\n- **Entities**: People, projects, organizations, tools, concepts\n- **Timeline entries**: Events, milestones, decisions with dates\n- **Links**: Relationships between entities\n- **Decisions**: Choices made with reasoning\n- **Tasks**: Action items and their status\n- **Discoveries**: Insights, patterns, procedures, preferences\n- **Knowledge**: Decontextualized, reusable facts or concepts that stand on their own without needing the original context\n\n## Core Principles\n\n1. **Accuracy over completeness**: Only extract what you can confidently identify\n2. **Context preservation**: Include sufficient context to understand the signal standalone\n3. **Confidence levels**: Mark confidence appropriately (direct/paraphrased/inferred/speculative)\n4. **Quote discipline**: Keep quotes under 300 characters, select the most relevant excerpt\n5. **Slug format**: Use `{type}/{kebab-case-name}` (e.g., `person/alice-smith`, `project/auth-system`)\n6. **Language matching**: Always generate titles, details, reasoning, and context\n in the same language as the source conversation. If the conversation is in Chinese,\n output Chinese. If in English, output English. Never translate the source language\n — preserve it. Slugs remain in English kebab-case regardless of language.\n\n## Confidence Levels\n\n- **direct**: Explicitly stated in the text (\"Alice will work on the auth system\")\n- **paraphrased**: Clearly implied, just different words (\"Alice is taking the auth project\")\n- **inferred**: Reasonable deduction from context (\"Alice mentioned auth again, likely working on it\")\n- **speculative**: Possible but uncertain (\"Alice might be involved in auth based on previous context\")\n\n## Output Format\n\nAlways output valid JSON matching the ExtractionResultSchema. Include all required fields.\nEmpty arrays are valid (no signals found is acceptable).\n\n## Quality Standards\n\n- Entities must have clear, searchable slugs\n- Timeline entries must have valid ISO 8601 dates or partial dates (YYYY-MM, YYYY)\n- Links must connect existing entity slugs\n- Decisions must capture reasoning, not just conclusions\n- Tasks must have realistic status (open/in_progress/done/cancelled)\n- Discoveries must be actionable insights, not obvious facts\n\nYou will be provided with conversation context and expected to return structured JSON.\n"
9
+ "signal-extract.md": "# Signal Extraction Task\n\nExtract structured signals from the provided conversation block following the schema below.\n\n## What Is Worth Recording — Read This First\n\nThese blocks come from FRAGMENT sources — Feishu/Lark group chats, DMs, and\nemail. Most of what flows through them is logistics, presence, and\nacknowledgement, NOT memory. Your job is to extract the FEW durable signals and\nleave the noise behind. **Over-extraction is the primary failure mode here** —\nemitting transient chatter as signals pollutes the memory and is worse than\nmissing a borderline one.\n\nThe test for every candidate signal:\n\n> \"If someone retrieves this 30 days from now, does it still tell them something\n> true and useful — without the surrounding chat to explain it?\"\n\nIf not, do not emit it. When in doubt, leave it out: a smaller, denser result\nbeats a noisy one. **Empty arrays are a valid and correct answer** for a block\nthat is pure chatter.\n\nRecord a signal ONLY when it clears the bar:\n\n- **decision** — a settled choice with lasting effect (tooling, architecture,\n ownership, scope, policy). Not \"let's discuss\", not a proposal nobody accepted.\n- **task** — a concrete commitment with an owner, a deliverable, or a deadline.\n Not a vague \"we should sometime\".\n- **knowledge** — a fact that stays true beyond today (API limits, how a system\n behaves, a domain/account fact). Decontextualized enough to fit in a doc.\n- **preference** — a durable, explicitly-stated way a person/team works. Not a\n one-off request.\n- **reference** — a URL actually shared, with enough context to know when it will\n matter again. `url` must appear verbatim in the text.\n- **discovery** — a non-obvious insight / root cause / gotcha / risk with lasting\n value.\n- **entity / link / timeline** — only for people, projects, orgs, or tools that\n genuinely matter to the user's world and are identifiable, plus relationships\n and dated events that carry forward.\n\nDo NOT record these — they are noise in fragment sources:\n\n- Acknowledgements & pleasantries: \"好的\"、\"收到\"、\"谢谢\"、\"辛苦了\"、\"哈哈\"、\n emoji-only reactions.\n- Presence / one-off status: \"我到了\"、\"在开会\"、\"先吃饭\"、\"马上到\"、\"信号不好\" —\n true today, useless later.\n- Momentary work narration & debugging: \"我看下日志\"、\"重启试试\"、\"稍等我查查\"、\n \"这个我改一下\" — the in-progress action is NOT a signal; only a durable OUTCOME\n or root cause is (record that as discovery/knowledge, never the attempt).\n- Pure logistics with no standing arrangement: \"几点开会?\" → \"3点\" for a one-off.\n (A real recurring arrangement or a fixed deadline IS a task — keep that.)\n- Bare or forwarded links with no discussion of why they matter.\n- Restatements of things already in code/docs; automated notifications restated\n by a person.\n- Repetitive trivia: routine \"收到\" standups, re-pings of the same reminder, small\n talk.\n\nConcrete calls (Feishu):\n\n- ✓ \"定了,后端统一用 PostgreSQL,下周开始迁移\" → decision (+ a task for the migration).\n- ✓ \"飞书自建应用消息接口全局限流 50 QPS\" → knowledge.\n- ✓ \"@张伟 周五前出一版埋点方案\" → task (owner + due date).\n- ✗ \"收到,谢谢!\" → nothing.\n- ✗ \"我重启一下服务看看\" → nothing (momentary action).\n- ✗ \"我先去开会了\" → nothing (presence).\n- ✗ \"几点?\" → \"三点半\" → nothing (one-off logistics).\n\nThe per-type disambiguation rules further down (Knowledge vs Discovery, etc.)\napply ONLY after a candidate has already cleared this salience bar.\n\n## Output Schema\n\n```typescript\ninterface ExtractionResult {\n source: SourceRef;\n entities: Entity[];\n timeline: TimelineEntry[];\n links: Link[];\n decisions: Decision[];\n tasks: TaskSignal[];\n discoveries: Discovery[];\n knowledge: Knowledge[];\n preferences: Preference[];\n references: Reference[];\n}\n\ninterface SourceRef {\n platform: string; // e.g., \"slack\", \"claude-code\"\n channel: string; // e.g., \"#general\", \"session-123\"\n timestamp: string; // ISO 8601\n message_id?: string;\n thread_id?: string;\n file_path?: string;\n line_range?: { start: number; end: number };\n attachment_id?: string;\n url?: string;\n raw_hash: string; // generated by system\n quote: string; // ≤ 300 chars, most relevant excerpt\n}\n\ninterface Entity {\n slug: string; // Format: {type}/{kebab-name}\n name: string; // Display name\n type: 'person' | 'project' | 'organization' | 'tool' | 'concept';\n context: string; // Brief description\n confidence: 'direct' | 'paraphrased' | 'inferred' | 'speculative';\n}\n\ninterface TimelineEntry {\n date: string; // ISO 8601 or partial (YYYY-MM, YYYY)\n summary: string; // Event description\n entities: string[]; // Slugs of involved entities\n source: SourceRef;\n confidence: 'direct' | 'paraphrased' | 'inferred' | 'speculative';\n}\n\ninterface Link {\n from: string; // Entity slug\n to: string; // Entity slug\n type: 'works_on' | 'works_at' | 'reports_to' | 'collaborates' | 'depends_on' | 'mentions' | 'custom';\n context: string; // Description of relationship\n confidence: 'direct' | 'paraphrased' | 'inferred' | 'speculative';\n source: SourceRef;\n}\n\ninterface Decision {\n summary: string; // What was decided\n reasoning?: string; // Why (if mentioned)\n alternatives?: string[]; // Other options considered\n entities: string[]; // Slugs of entities involved\n date: string; // ISO 8601\n valid_at?: string; // When decision takes effect\n invalid_at?: string; // When decision expires/superseded\n confidence: 'direct' | 'paraphrased' | 'inferred' | 'speculative';\n source: SourceRef;\n}\n\ninterface TaskSignal {\n title: string; // Task description\n status: 'open' | 'in_progress' | 'done' | 'cancelled';\n owner?: string; // Entity slug\n project?: string; // Entity slug\n due_date?: string; // ISO 8601\n valid_at?: string; // When task was created\n invalid_at?: string; // When task was closed\n source: SourceRef;\n confidence: 'direct' | 'paraphrased' | 'inferred' | 'speculative';\n}\n\ninterface Discovery {\n summary: string; // Brief insight\n detail?: string; // Extended explanation\n type: 'procedure' | 'pattern' | 'insight' | 'risk';\n entities: string[]; // Slugs of related entities\n source: SourceRef;\n confidence: 'direct' | 'paraphrased' | 'inferred' | 'speculative';\n}\ninterface Knowledge {\n topic: string; // kebab-case topic tag: \"react-hooks\", \"feishu-api\"\n content: string; // Decontextualized knowledge statement\n source_type: 'conversation' | 'document' | 'teaching';\n related_entities: string[]; // Entity slugs (may reference entities not in this block)\n valid_at?: string; // ISO 8601, when knowledge becomes valid\n invalid_at?: string; // ISO 8601, when knowledge expires\n source: SourceRef;\n confidence: 'direct' | 'paraphrased' | 'inferred' | 'speculative';\n}\n\ninterface Preference {\n summary: string; // \"Prefers async communication over meetings\"\n detail?: string; // Extended explanation\n category: 'communication' | 'tooling' | 'scheduling' | 'workflow' | 'other';\n entities: string[]; // Slugs, usually a person\n source: SourceRef;\n confidence: 'direct' | 'paraphrased' | 'inferred' | 'speculative';\n}\n\ninterface Reference {\n title: string; // Document/resource title\n url: string; // The resource URL — must appear in source text\n summary: string; // ≤100 chars: what the resource is about\n trigger?: string; // When this would be useful to recall later\n entities: string[]; // Slugs of related entities\n source: SourceRef;\n confidence: 'direct' | 'paraphrased' | 'inferred' | 'speculative';\n}\n```\n\n## Extraction Rules\n\n### Entity Slugs\n- Format: `{type}/{kebab-case-name}`\n- Examples: `person/alice-smith`, `project/auth-system`, `tool/github-actions`\n- Be consistent: same entity = same slug across all signals\n- For people: use recognizable name (first name + last initial if ambiguous)\n- For projects/tools: use official name or widely-used abbreviation\n\n### Quotes\n- Maximum 300 characters\n- Select the most informative excerpt\n- Don't fabricate - copy exact text (can trim with \"...\")\n- Should stand alone and convey key context\n\n### Confidence Levels\n- **direct**: Explicitly stated (\"Alice will lead the auth project\")\n- **paraphrased**: Clear implication with different wording (\"Alice is taking charge of authentication\")\n- **inferred**: Reasonable deduction (\"Alice keeps talking about auth, likely leading it\")\n- **speculative**: Uncertain but possible (\"Alice might be involved based on previous mentions\")\n\n### Dates\n- Prefer ISO 8601: `2024-01-15T10:30:00Z`\n- Partial dates OK: `2024-01` (month), `2024` (year)\n- Relative dates: resolve to absolute if possible (\"last Tuesday\" → `2024-01-09`)\n- Uncertain dates: use best estimate with lower confidence\n\n### Empty Results\n- If no signals found, return empty arrays for all categories\n- Still include valid `source` with platform, channel, timestamp, and quote\n\n### Knowledge vs Discovery\n\nKnowledge (知识): Decontextualized, reusable facts or concepts\n ✓ \"React useEffect runs twice in StrictMode during development\"\n ✓ \"Feishu API global rate limit is 50 QPS\"\n ✓ \"TCP three-way handshake prevents stale connection requests\"\n\nDiscovery (发现): Scene-bound, time-bound findings\n ✓ \"Today's integration test found 5s latency on this endpoint\"\n ✓ \"Root cause of this bug is a race condition\"\n ✓ \"Local Docker DNS resolution is broken\"\n\nRules:\n 1. Remove time/scene info — is the statement still valid and valuable? Yes → Knowledge\n 2. Could this be a FAQ or documentation entry as-is? Yes → Knowledge\n 3. If uncertain, prefer Discovery (conservative)\n\n### Knowledge vs Decision\n\nKnowledge: Norms, facts, concepts — objective, verifiable\n ✓ \"Feishu API global rate limit is 50 QPS\"\n ✓ \"Go goroutine initial stack size is 2KB\"\n\nDecision: Team/project choices, commitments — subjective, has an owner\n ✓ \"All services will use OpenTelemetry going forward\"\n ✓ \"We decided to replace MySQL with PostgreSQL\"\n\nRules:\n 1. Has an explicit decision-maker or team commitment? → Decision\n 2. Would this statement hold true for a different team/project? → Knowledge\n 3. If uncertain, look for verbs like \"decided\", \"chose\", \"switched to\" → Decision\n\n### Preference vs Discovery\n\nPreference (偏好): An explicit personal/team statement about how someone likes to work\n ✓ \"I prefer async communication over meetings\"\n ✓ \"We always write tests before implementation\" (framed as standing practice)\n ✓ \"I don't like being pinged after 6pm\"\n\nDiscovery-procedure (发现-流程): A how-to insight observed or recommended in the moment,\nnot framed as someone's standing preference\n ✓ \"Document architectural decisions before implementation\" (a recommendation, not \"I always do X\")\n\nRules:\n 1. Explicitly framed as \"I/we prefer/like/always do X\" with a clear subject? → Preference\n 2. A one-off recommendation or observed practice without standing-preference framing? → Discovery\n 3. If uncertain, prefer Discovery (conservative — Preference requires explicit personal framing)\n\n### Preference category\n\n- `communication`: sync/async style, channels, tone, responsiveness expectations\n- `tooling`: preferred editors, libraries, tools, tool-related workflows\n- `scheduling`: time-of-day habits, meeting patterns, availability\n- `workflow`: process/practice preferences not covered above (review style, docs habits)\n- `other`: doesn't fit the above\n\n### References\n\nA reference is a bookmark **with context** — a shared resource plus enough information\nfor an Agent to know when it would be useful to recall later.\n\nExtract a Reference when:\n ✓ A message shares a URL/doc/named resource AND gives enough context to fill in `summary`\n ✓ \"Check this out: https://example.com/jwt-guide — covers token rotation\" → Reference\n\nDo NOT extract a Reference when:\n ✗ A bare URL with no surrounding context (nothing to put in `summary`/`trigger`)\n ✗ The shared content IS the substance of the conversation — extract that as\n Knowledge/Decision/Discovery instead; References are for bookmarks, not the discussion itself\n\nReference field rules:\n - `url`: must appear verbatim in the source text — never fabricate or guess a URL\n - `summary`: ≤100 chars, what the resource covers\n - `trigger`: when recalling this would help (e.g., \"当排查 JWT 过期问题时\")\n\n### Knowledge source_type\n\n- `conversation`: Extracted from group/private chat messages\n- `document`: Extracted from cloud document content\n- `teaching`: Someone actively explaining/teaching (systematic explanation of principles, steps, processes)\n\n### Knowledge topic\n\n- Output kebab-case ASCII when possible: \"react-hooks\", \"feishu-api\"\n- For Chinese topics, translate to English: \"飞书API\" → \"feishu-api\"\n- The system normalizes non-conforming topics automatically\n\n### Knowledge confidence\n\n- Knowledge should rarely be `speculative`. The system may skip speculative Knowledge entries.\n- Prefer `direct` or `paraphrased` for factual statements.\n\n### Language Policy\n\n- Structural fields (slug, topic, type, status) → English ASCII, kebab-case\n- Natural language fields (name, summary, content, context, detail,\n reasoning, quote) → **SAME LANGUAGE as the source material**\n- If the conversation is in Chinese, write summaries in Chinese\n- If the conversation mixes languages, use the dominant language\n- quote field MUST be verbatim from the original text, never translated\n- slug for Chinese person names: use pinyin\n (e.g., \"李应龙\" → \"person/li-yinglong\")\n\n## Example\n\nSee `examples/agent-session.md` for a complete example with diverse signal types.\n\n## Your Task\n\nProcess the conversation block provided below and output ONLY valid JSON matching ExtractionResult schema.\n",
10
+ "significance.md": "You are the admission gate for a personal memory system. Each block below is a\nFRAGMENT — a slice of a Feishu/Lark group chat, a DM, or an email — NOT a whole\nwork session. Decide whether it contains anything worth preserving as long-term\nmemory.\n\n## Conversation Block\n\n{CONVERSATION_BLOCK}\n\n## The one question that decides it\n\n> \"If someone searches this memory 30 days from now, would something in this\n> block still tell them something true and useful — with the surrounding chat\n> gone?\"\n\nIf nothing clears that bar, the block is **not** worth processing. Fragment\nsources are mostly logistics, presence, and acknowledgement, so the DEFAULT\nanswer is NO. Admit only when a durable signal is actually present.\n\n## Worth processing — admit if the block contains ANY of:\n\n- A **decision** that settles a choice with lasting effect (tooling,\n architecture, ownership, scope, policy) — not \"let's discuss later\", not a\n proposal nobody accepted.\n- A concrete **task / commitment** someone must act on, with an owner, a\n deliverable, or a deadline.\n- Durable **knowledge**: a fact that stays true beyond today — an API limit, how\n a system behaves, a domain rule, a stable account/contact fact.\n- A durable, explicitly-stated **preference** about how a person or team works.\n- A **reference**: a shared URL / doc / resource with enough context to know why\n it will matter later.\n- **Relationship / org context** that identifies who owns what, who reports to\n whom, or how a team is structured.\n\n## NOT worth processing skip if the block is only:\n\n- Acknowledgements / pleasantries: \"好的\"、\"收到\"、\"谢谢\"、\"辛苦了\"、\"哈哈\"、👍.\n- Presence or one-off status: \"我到了\"、\"在开会\"、\"先去吃饭\"、\"马上到\"、\"信号不好\".\n True today, worthless in 30 days.\n- Momentary work narration or debugging: \"我看下日志\"、\"我重启试试\"、\"稍等我查查\"、\n \"这个我改一下\". The action-in-progress is not a signal only a durable OUTCOME\n or root cause would be.\n- Pure logistics with no standing arrangement: \"几点开会?\" \"3点\" for a one-off\n meeting. (If it fixes a real deadline or a recurring arrangement, that IS a\n task — admit.)\n- Forwarded content or a bare link with no discussion of why it matters.\n- Automated notifications restated by a person; system messages.\n- Repetitive trivia already known: routine \"收到\" standups, re-pings of the same\n reminder, small talk.\n\n## Calibration examples (Feishu fragments)\n\nWORTH — admit:\n- \"定了,后端统一用 PostgreSQL,MySQL 下周开始迁移\" → decision + task.\n- \"飞书自建应用消息接口全局限流是 50 QPS,别超\" → durable knowledge.\n- \"@张伟 你负责周五前出一版埋点方案\" → task with owner + deadline.\n- \"JWT 轮转文档给你 https://... ,排查 token 过期时看\" → reference.\n\nNOT WORTH — skip:\n- \"收到,谢谢!\" / \"好的好的\" / \"在吗\" → acknowledgement / presence.\n- \"我先去开个会,回头聊\" → one-off status.\n- \"我重启一下服务看看还报不报错\" → momentary debugging action, no outcome.\n- \"几点了?\" \"三点半\" → one-off logistics.\n- \"哈哈哈这个表情包绝了\" → chatter.\n\n## How to weigh mixed and uncertain blocks\n\n- If a block mixes signal and noise, judge on the SIGNAL: admit, and let\n extraction pick out the worthwhile parts.\n- If a block is ALL noise, skip.\n- If you are uncertain but there is at least one plausible durable signal, lean\n admit — extraction applies its own salience gate downstream.\n- If you are uncertain and everything looks transient (status, chatter,\n in-progress actions), skip.\n\n## Response Format\n\nRespond with a JSON object:\n```json\n{\n \"worth_processing\": true/false,\n \"confidence\": 0.0-1.0,\n \"reason\": \"brief explanation grounded in the criteria above\",\n \"topics\": [\"topic1\", \"topic2\"]\n}\n```\n",
11
+ "system.md": "# System Prompt: Signal Extraction\n\nYou are a signal extraction system designed to identify and structure meaningful information from conversations and text. Always respond with valid JSON.\n\n## Your Role\n\nExtract structured signals from conversation blocks, including:\n- **Entities**: People, projects, organizations, tools, concepts\n- **Timeline entries**: Events, milestones, decisions with dates\n- **Links**: Relationships between entities\n- **Decisions**: Choices made with reasoning\n- **Tasks**: Action items and their status\n- **Discoveries**: Insights, patterns, procedures, preferences\n- **Knowledge**: Decontextualized, reusable facts or concepts that stand on their own without needing the original context\n\n## Core Principles\n\n1. **Salience over recall**: Most fragment-source traffic (IM, email) is\n logistics, presence, and acknowledgement — not memory. Extract only signals\n that stay true and useful 30 days from now. Over-extracting transient chatter\n is the primary failure mode; an empty result is correct for a noise-only\n block.\n2. **Accuracy over completeness**: Only extract what you can confidently identify\n3. **Context preservation**: Include sufficient context to understand the signal standalone\n3. **Confidence levels**: Mark confidence appropriately (direct/paraphrased/inferred/speculative)\n4. **Quote discipline**: Keep quotes under 300 characters, select the most relevant excerpt\n5. **Slug format**: Use `{type}/{kebab-case-name}` (e.g., `person/alice-smith`, `project/auth-system`)\n6. **Language matching**: Always generate titles, details, reasoning, and context\n in the same language as the source conversation. If the conversation is in Chinese,\n output Chinese. If in English, output English. Never translate the source language\n — preserve it. Slugs remain in English kebab-case regardless of language.\n\n## Confidence Levels\n\n- **direct**: Explicitly stated in the text (\"Alice will work on the auth system\")\n- **paraphrased**: Clearly implied, just different words (\"Alice is taking the auth project\")\n- **inferred**: Reasonable deduction from context (\"Alice mentioned auth again, likely working on it\")\n- **speculative**: Possible but uncertain (\"Alice might be involved in auth based on previous context\")\n\n## Output Format\n\nAlways output valid JSON matching the ExtractionResultSchema. Include all required fields.\nEmpty arrays are valid (no signals found is acceptable).\n\n## Quality Standards\n\n- Entities must have clear, searchable slugs\n- Timeline entries must have valid ISO 8601 dates or partial dates (YYYY-MM, YYYY)\n- Links must connect existing entity slugs\n- Decisions must capture reasoning, not just conclusions\n- Tasks must have realistic status (open/in_progress/done/cancelled)\n- Discoveries must be actionable insights, not obvious facts\n\nYou will be provided with conversation context and expected to return structured JSON.\n"
11
12
  };
12
13
  //# sourceMappingURL=embedded-assets.generated.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"embedded-assets.generated.js","sourceRoot":"","sources":["../src/embedded-assets.generated.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,gEAAgE;AAChE,wCAAwC;AAExC,MAAM,CAAC,MAAM,OAAO,GAAW,OAAO,CAAC;AAEvC,MAAM,CAAC,MAAM,UAAU,GAAW,8rLAA8rL,CAAC;AAEjuL,MAAM,CAAC,MAAM,OAAO,GAA2B;IAC7C,2BAA2B,EAAE,ipTAAipT;IAC9qT,mBAAmB,EAAE,2sVAA2sV;IAChuV,iBAAiB,EAAE,8kCAA8kC;IACjmC,WAAW,EAAE,+kFAA+kF;CAC7lF,CAAC"}
1
+ {"version":3,"file":"embedded-assets.generated.js","sourceRoot":"","sources":["../src/embedded-assets.generated.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,gEAAgE;AAChE,wCAAwC;AAExC,MAAM,CAAC,MAAM,OAAO,GAAW,OAAO,CAAC;AAEvC,MAAM,CAAC,MAAM,UAAU,GAAW,8rLAA8rL,CAAC;AAEjuL,MAAM,CAAC,MAAM,OAAO,GAA2B;IAC7C,YAAY,EAAE,27GAA27G;IACz8G,2BAA2B,EAAE,ipTAAipT;IAC9qT,mBAAmB,EAAE,o6bAAo6b;IACz7b,iBAAiB,EAAE,gjHAAgjH;IACnkH,WAAW,EAAE,m5FAAm5F;CACj6F,CAAC"}
@@ -22,15 +22,15 @@ export declare const GoldenSignalSchema: z.ZodObject<{
22
22
  topic: z.ZodString;
23
23
  what: z.ZodString;
24
24
  }, "strip", z.ZodTypeAny, {
25
- type: "task" | "reference" | "decision" | "knowledge" | "discovery" | "preference";
25
+ type: "task" | "decision" | "reference" | "preference" | "knowledge" | "discovery";
26
26
  what: string;
27
27
  topic: string;
28
- authority: "user_confirmed" | "assistant_proposed" | "assistant_claimed";
28
+ authority: "user_confirmed" | "assistant_claimed" | "assistant_proposed";
29
29
  }, {
30
- type: "task" | "reference" | "decision" | "knowledge" | "discovery" | "preference";
30
+ type: "task" | "decision" | "reference" | "preference" | "knowledge" | "discovery";
31
31
  what: string;
32
32
  topic: string;
33
- authority: "user_confirmed" | "assistant_proposed" | "assistant_claimed";
33
+ authority: "user_confirmed" | "assistant_claimed" | "assistant_proposed";
34
34
  }>;
35
35
  export type GoldenSignal = z.infer<typeof GoldenSignalSchema>;
36
36
  export declare const NegativeExampleSchema: z.ZodObject<{
@@ -52,15 +52,15 @@ export declare const GoldenAnnotationSchema: z.ZodObject<{
52
52
  topic: z.ZodString;
53
53
  what: z.ZodString;
54
54
  }, "strip", z.ZodTypeAny, {
55
- type: "task" | "reference" | "decision" | "knowledge" | "discovery" | "preference";
55
+ type: "task" | "decision" | "reference" | "preference" | "knowledge" | "discovery";
56
56
  what: string;
57
57
  topic: string;
58
- authority: "user_confirmed" | "assistant_proposed" | "assistant_claimed";
58
+ authority: "user_confirmed" | "assistant_claimed" | "assistant_proposed";
59
59
  }, {
60
- type: "task" | "reference" | "decision" | "knowledge" | "discovery" | "preference";
60
+ type: "task" | "decision" | "reference" | "preference" | "knowledge" | "discovery";
61
61
  what: string;
62
62
  topic: string;
63
- authority: "user_confirmed" | "assistant_proposed" | "assistant_claimed";
63
+ authority: "user_confirmed" | "assistant_claimed" | "assistant_proposed";
64
64
  }>, "many">;
65
65
  should_not_record: z.ZodArray<z.ZodObject<{
66
66
  what: z.ZodString;
@@ -75,10 +75,10 @@ export declare const GoldenAnnotationSchema: z.ZodObject<{
75
75
  }, "strip", z.ZodTypeAny, {
76
76
  session_ref: string;
77
77
  should_record: {
78
- type: "task" | "reference" | "decision" | "knowledge" | "discovery" | "preference";
78
+ type: "task" | "decision" | "reference" | "preference" | "knowledge" | "discovery";
79
79
  what: string;
80
80
  topic: string;
81
- authority: "user_confirmed" | "assistant_proposed" | "assistant_claimed";
81
+ authority: "user_confirmed" | "assistant_claimed" | "assistant_proposed";
82
82
  }[];
83
83
  should_not_record: {
84
84
  what: string;
@@ -87,10 +87,10 @@ export declare const GoldenAnnotationSchema: z.ZodObject<{
87
87
  }, {
88
88
  session_ref: string;
89
89
  should_record: {
90
- type: "task" | "reference" | "decision" | "knowledge" | "discovery" | "preference";
90
+ type: "task" | "decision" | "reference" | "preference" | "knowledge" | "discovery";
91
91
  what: string;
92
92
  topic: string;
93
- authority: "user_confirmed" | "assistant_proposed" | "assistant_claimed";
93
+ authority: "user_confirmed" | "assistant_claimed" | "assistant_proposed";
94
94
  }[];
95
95
  should_not_record: {
96
96
  what: string;
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/server/api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGrE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,QAAQ,CAAC;IACb,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,YAAY,CAAC;IACrB,KAAK,EAAE,UAAU,CAAC;IAClB,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,aAAa,CAAC;IACxB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,YAAY,GAAG,SAAS,CAAC;IACjD,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChG,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CACzC;AAMD,MAAM,WAAW,UAAU;IACzB,qFAAqF;IACrF,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,GAAE,UAAe,GAAG,IAAI,CA4mBjF"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/server/api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGrE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,QAAQ,CAAC;IACb,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,YAAY,CAAC;IACrB,KAAK,EAAE,UAAU,CAAC;IAClB,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,aAAa,CAAC;IACxB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,YAAY,GAAG,SAAS,CAAC;IACjD,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChG,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CACzC;AAMD,MAAM,WAAW,UAAU;IACzB,qFAAqF;IACrF,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,GAAE,UAAe,GAAG,IAAI,CAinBjF"}
@@ -240,7 +240,12 @@ export function createApiApp(stores, apiOpts = {}) {
240
240
  const to = cursor ?? toParam ?? new Date().toISOString().slice(0, 10);
241
241
  const params = [to];
242
242
  const conditions = [
243
- `COALESCE(frontmatter->'source'->>'timestamp', frontmatter->'first_seen'->>'timestamp', created_at::text)::timestamptz <= ($1::date + interval '1 day')::timestamptz`,
243
+ // Upper bound on the calendar day, compared as a UTC date-string prefix so
244
+ // the filter matches how days are grouped (`LEFT(signal_time, 10)`) and how
245
+ // the cursor is emitted. Casting `$1::date + interval` to timestamptz would
246
+ // resolve midnight in the *session* timezone (PGlite inherits the process
247
+ // TZ), silently dropping "today"'s signals for any east-of-UTC deployment.
248
+ `LEFT(COALESCE(frontmatter->'source'->>'timestamp', frontmatter->'first_seen'->>'timestamp', created_at::text), 10) <= $1`,
244
249
  ];
245
250
  if (fromParam) {
246
251
  params.push(fromParam);
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/server/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/server/api.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"generate-config.d.ts","sourceRoot":"","sources":["../../src/setup/generate-config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAwB,MAAM,sBAAsB,CAAC;AA8FhF,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;CACzC;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,MAAM,CA+EvF;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,MAAM,CAGxF"}
1
+ {"version":3,"file":"generate-config.d.ts","sourceRoot":"","sources":["../../src/setup/generate-config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAwB,MAAM,sBAAsB,CAAC;AA8FhF,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;CACzC;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,MAAM,CAkFvF;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,MAAM,CAGxF"}
@@ -154,6 +154,9 @@ export function buildConfigObject(config, opts) {
154
154
  pool_by_page: config.search?.pool_by_page ?? true,
155
155
  llm_rewrite: config.search?.llm_rewrite ?? false,
156
156
  },
157
+ distiller: {
158
+ payload_ttl_days: config.distiller?.payload_ttl_days ?? 90,
159
+ },
157
160
  };
158
161
  }
159
162
  export function generateConfigYaml(config, opts) {
@@ -1 +1 @@
1
- {"version":3,"file":"generate-config.js","sourceRoot":"","sources":["../../src/setup/generate-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-config.js","sourceRoot":"","sources":["../../src/setup/generate-config.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { EmbeddingConfig, FeishuSourceConfig, LLMConfig, McpConfig, PrivacyConfig, ProfileConfig, SchedulerConfig, SearchConfig, ServerConfig, SourceConfig, StoreConfig } from "../core/config.js";
1
+ import type { DistillerConfig, EmbeddingConfig, FeishuSourceConfig, LLMConfig, McpConfig, PrivacyConfig, ProfileConfig, SchedulerConfig, SearchConfig, ServerConfig, SourceConfig, StoreConfig } from "../core/config.js";
2
2
  export interface PartialSourcesConfig {
3
3
  "claude-code"?: Partial<SourceConfig>;
4
4
  codex?: Partial<SourceConfig>;
@@ -21,6 +21,7 @@ export interface PartialConfig {
21
21
  scheduler?: SchedulerConfig;
22
22
  profile?: Partial<ProfileConfig>;
23
23
  search?: Partial<SearchConfig>;
24
+ distiller?: Partial<DistillerConfig>;
24
25
  }
25
26
  export interface ValidationResult {
26
27
  valid: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"validate-config.d.ts","sourceRoot":"","sources":["../../src/setup/validate-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,SAAS,EACT,SAAS,EACT,aAAa,EACb,aAAa,EACb,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,oBAAoB;IACnC,aAAa,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IACtC,KAAK,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACzB,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IACrC,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/B,GAAG,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACzB,aAAa,CAAC,EAAE;QACd,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC7B,CAAC;IACF,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAQD,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,gBAAgB,CA6CtE"}
1
+ {"version":3,"file":"validate-config.d.ts","sourceRoot":"","sources":["../../src/setup/validate-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,SAAS,EACT,SAAS,EACT,aAAa,EACb,aAAa,EACb,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,oBAAoB;IACnC,aAAa,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IACtC,KAAK,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACzB,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IACrC,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/B,GAAG,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACzB,aAAa,CAAC,EAAE;QACd,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC7B,CAAC;IACF,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAQD,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,gBAAgB,CA6CtE"}
@@ -1 +1 @@
1
- {"version":3,"file":"validate-config.js","sourceRoot":"","sources":["../../src/setup/validate-config.ts"],"names":[],"mappings":"AA4CA,SAAS,gBAAgB,CAAC,IAAwB;IAChD,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC7C,OAAO,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAqB;IAClD,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAC/D,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,SAAS,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,CACzF,CAAC;IACF,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC;IACtC,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC;IACjC,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrE,MAAM,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;QACnF,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjE,MAAM,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YACnE,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QAC1B,MAAM;KACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"validate-config.js","sourceRoot":"","sources":["../../src/setup/validate-config.ts"],"names":[],"mappings":"AA8CA,SAAS,gBAAgB,CAAC,IAAwB;IAChD,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC7C,OAAO,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAqB;IAClD,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAC/D,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,SAAS,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,CACzF,CAAC;IACF,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC;IACtC,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC;IACjC,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrE,MAAM,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;QACnF,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjE,MAAM,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YACnE,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QAC1B,MAAM;KACP,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"agent-sessions.d.ts","sourceRoot":"","sources":["../../src/store/agent-sessions.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,MAAM,YAAY,GACpB,YAAY,GACZ,WAAW,GACX,UAAU,GACV,MAAM,GACN,UAAU,GACV,aAAa,CAAC;AAElB,MAAM,WAAW,mBAAmB;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,YAAY,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,oBAAoB,GAC5B;IAAE,MAAM,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,eAAe,CAAA;CAAE,GAC5C;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,eAAe,CAAA;CAAE,GAChD;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,eAAe,CAAA;CAAE,CAAC;AA8CvD,qBAAa,iBAAiB;IAChB,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,OAAO;IAExC;;;;;OAKG;IACG,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAgCzE,iBAAiB,CACrB,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAW5B,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAOxD,YAAY,CAAC,IAAI,CAAC,EAAE;QACxB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,KAAK,CAAC,EAAE,YAAY,CAAC;KACtB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAmB9B;;;OAGG;IACG,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC;IAc9E,4FAA4F;IACtF,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CASlD"}
1
+ {"version":3,"file":"agent-sessions.d.ts","sourceRoot":"","sources":["../../src/store/agent-sessions.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,MAAM,YAAY,GACpB,YAAY,GACZ,WAAW,GACX,UAAU,GACV,MAAM,GACN,UAAU,GACV,aAAa,CAAC;AAElB,MAAM,WAAW,mBAAmB;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,YAAY,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,oBAAoB,GAC5B;IAAE,MAAM,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,eAAe,CAAA;CAAE,GAC5C;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,eAAe,CAAA;CAAE,GAChD;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,eAAe,CAAA;CAAE,CAAC;AAgDvD,qBAAa,iBAAiB;IAChB,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,OAAO;IAExC;;;;;OAKG;IACG,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAgCzE,iBAAiB,CACrB,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAW5B,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAOxD,YAAY,CAAC,IAAI,CAAC,EAAE;QACxB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,KAAK,CAAC,EAAE,YAAY,CAAC;KACtB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAmB9B;;;OAGG;IACG,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC;IAc9E,4FAA4F;IACtF,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CASlD"}