agent-recall-core 3.3.10 → 3.3.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/helpers/alignment-patterns.d.ts +19 -0
- package/dist/helpers/alignment-patterns.d.ts.map +1 -0
- package/dist/helpers/alignment-patterns.js +50 -0
- package/dist/helpers/alignment-patterns.js.map +1 -0
- package/dist/helpers/auto-name.d.ts +42 -0
- package/dist/helpers/auto-name.d.ts.map +1 -0
- package/dist/helpers/auto-name.js +210 -0
- package/dist/helpers/auto-name.js.map +1 -0
- package/dist/helpers/journal-files.d.ts.map +1 -1
- package/dist/helpers/journal-files.js +28 -0
- package/dist/helpers/journal-files.js.map +1 -1
- package/dist/index.d.ts +10 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -1
- package/dist/index.js.map +1 -1
- package/dist/palace/awareness.d.ts +4 -0
- package/dist/palace/awareness.d.ts.map +1 -1
- package/dist/palace/awareness.js +107 -17
- package/dist/palace/awareness.js.map +1 -1
- package/dist/palace/fan-out.d.ts.map +1 -1
- package/dist/palace/fan-out.js +30 -1
- package/dist/palace/fan-out.js.map +1 -1
- package/dist/tools-logic/alignment-check.d.ts.map +1 -1
- package/dist/tools-logic/alignment-check.js +6 -1
- package/dist/tools-logic/alignment-check.js.map +1 -1
- package/dist/tools-logic/check.d.ts +33 -0
- package/dist/tools-logic/check.d.ts.map +1 -0
- package/dist/tools-logic/check.js +135 -0
- package/dist/tools-logic/check.js.map +1 -0
- package/dist/tools-logic/journal-capture.d.ts +1 -0
- package/dist/tools-logic/journal-capture.d.ts.map +1 -1
- package/dist/tools-logic/journal-capture.js +11 -1
- package/dist/tools-logic/journal-capture.js.map +1 -1
- package/dist/tools-logic/journal-search.d.ts.map +1 -1
- package/dist/tools-logic/journal-search.js +29 -7
- package/dist/tools-logic/journal-search.js.map +1 -1
- package/dist/tools-logic/knowledge-write.d.ts.map +1 -1
- package/dist/tools-logic/knowledge-write.js +16 -3
- package/dist/tools-logic/knowledge-write.js.map +1 -1
- package/dist/tools-logic/palace-write.d.ts +2 -0
- package/dist/tools-logic/palace-write.d.ts.map +1 -1
- package/dist/tools-logic/palace-write.js +13 -1
- package/dist/tools-logic/palace-write.js.map +1 -1
- package/dist/tools-logic/session-end.d.ts +26 -0
- package/dist/tools-logic/session-end.d.ts.map +1 -0
- package/dist/tools-logic/session-end.js +68 -0
- package/dist/tools-logic/session-end.js.map +1 -0
- package/dist/tools-logic/session-start.d.ts +38 -0
- package/dist/tools-logic/session-start.d.ts.map +1 -0
- package/dist/tools-logic/session-start.js +112 -0
- package/dist/tools-logic/session-start.js.map +1 -0
- package/dist/tools-logic/smart-recall.d.ts +35 -0
- package/dist/tools-logic/smart-recall.d.ts.map +1 -0
- package/dist/tools-logic/smart-recall.js +199 -0
- package/dist/tools-logic/smart-recall.js.map +1 -0
- package/dist/tools-logic/smart-remember.d.ts +20 -0
- package/dist/tools-logic/smart-remember.d.ts.map +1 -0
- package/dist/tools-logic/smart-remember.js +138 -0
- package/dist/tools-logic/smart-remember.js.map +1 -0
- package/dist/types.d.ts +1 -1
- package/dist/types.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -514,7 +514,7 @@ L5: Insight Index recall_insight "cross-project experience"
|
|
|
514
514
|
|
|
515
515
|
**Fan-out writes** — Write to one room, cross-references auto-update in related rooms via `[[wikilinks]]`. Mechanical, zero LLM cost.
|
|
516
516
|
|
|
517
|
-
**Salience scoring** — Every room has a salience score: `
|
|
517
|
+
**Salience scoring** — Every room has a salience score: `recency(0.30) + access(0.25) + connections(0.20) + urgency(0.15) + importance(0.10)`. High-salience rooms surface first. Below threshold → auto-archive.
|
|
518
518
|
|
|
519
519
|
**Compounding awareness** — `awareness.md` is capped at 200 lines. When new insights are added, similar existing ones merge (strengthen), dissimilar ones compete (lowest-confirmation gets replaced). The constraint creates compression. Compression creates compounding.
|
|
520
520
|
|
|
@@ -995,7 +995,7 @@ L5: 洞察索引 recall_insight 「跨项目的经验」
|
|
|
995
995
|
|
|
996
996
|
**扇出写入** — 写入一个房间,相关房间通过 `[[wikilinks]]` 自动更新交叉引用。零 LLM 成本。
|
|
997
997
|
|
|
998
|
-
**显著性评分** —
|
|
998
|
+
**显著性评分** — `时效性(0.30) + 访问频率(0.25) + 连接数(0.20) + 紧迫性(0.15) + 重要性(0.10)`。高显著性房间优先展示,低于阈值自动归档。
|
|
999
999
|
|
|
1000
1000
|
**复合感知** — `awareness.md` 上限 200 行。新洞察与相似的合并(增强),与不相似的竞争(最低确认次数的被替换)。约束创造压缩,压缩创造复合。
|
|
1001
1001
|
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared alignment pattern detection — used by both check.ts and session-start.ts.
|
|
3
|
+
*/
|
|
4
|
+
export interface AlignmentRecord {
|
|
5
|
+
date: string;
|
|
6
|
+
goal: string;
|
|
7
|
+
confidence: string;
|
|
8
|
+
assumptions: string[];
|
|
9
|
+
corrections?: string[];
|
|
10
|
+
delta?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface WatchForPattern {
|
|
13
|
+
pattern: string;
|
|
14
|
+
frequency: number;
|
|
15
|
+
suggestion: string;
|
|
16
|
+
}
|
|
17
|
+
export declare function readAlignmentLog(project: string): AlignmentRecord[];
|
|
18
|
+
export declare function extractWatchPatterns(records: AlignmentRecord[], limit?: number): WatchForPattern[];
|
|
19
|
+
//# sourceMappingURL=alignment-patterns.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alignment-patterns.d.ts","sourceRoot":"","sources":["../../src/helpers/alignment-patterns.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,EAAE,CAInE;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,eAAe,EAAE,EAAE,KAAK,GAAE,MAAU,GAAG,eAAe,EAAE,CA+BrG"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared alignment pattern detection — used by both check.ts and session-start.ts.
|
|
3
|
+
*/
|
|
4
|
+
import * as fs from "node:fs";
|
|
5
|
+
import * as path from "node:path";
|
|
6
|
+
import { getRoot } from "../types.js";
|
|
7
|
+
import { extractKeywords } from "./auto-name.js";
|
|
8
|
+
export function readAlignmentLog(project) {
|
|
9
|
+
const p = path.join(getRoot(), "projects", project, "alignment-log.json");
|
|
10
|
+
if (!fs.existsSync(p))
|
|
11
|
+
return [];
|
|
12
|
+
try {
|
|
13
|
+
return JSON.parse(fs.readFileSync(p, "utf-8"));
|
|
14
|
+
}
|
|
15
|
+
catch {
|
|
16
|
+
return [];
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
export function extractWatchPatterns(records, limit = 3) {
|
|
20
|
+
const correctionCounts = new Map();
|
|
21
|
+
for (const past of records) {
|
|
22
|
+
const corrections = [...(past.corrections ?? [])];
|
|
23
|
+
if (past.delta)
|
|
24
|
+
corrections.push(past.delta);
|
|
25
|
+
for (const c of corrections) {
|
|
26
|
+
const cKeywords = extractKeywords(c, 2);
|
|
27
|
+
const key = cKeywords.join("-") || "general";
|
|
28
|
+
const entry = correctionCounts.get(key) ?? { count: 0, examples: [] };
|
|
29
|
+
entry.count++;
|
|
30
|
+
if (entry.examples.length < 2)
|
|
31
|
+
entry.examples.push(c.slice(0, 80));
|
|
32
|
+
correctionCounts.set(key, entry);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
const patterns = [];
|
|
36
|
+
for (const [, { count, examples }] of correctionCounts) {
|
|
37
|
+
if (count >= 2) {
|
|
38
|
+
// Use the actual correction text as the pattern, not the keyword key
|
|
39
|
+
// The keyword key is only for grouping — not meaningful to display
|
|
40
|
+
const displayText = examples[0].slice(0, 80);
|
|
41
|
+
patterns.push({
|
|
42
|
+
pattern: displayText,
|
|
43
|
+
frequency: count,
|
|
44
|
+
suggestion: `Corrected ${count} times — review your approach before proceeding`,
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return patterns.sort((a, b) => b.frequency - a.frequency).slice(0, limit);
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=alignment-patterns.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alignment-patterns.js","sourceRoot":"","sources":["../../src/helpers/alignment-patterns.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAiBjD,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,oBAAoB,CAAC,CAAC;IAC1E,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,IAAI,CAAC;QAAC,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAA0B,EAAE,QAAgB,CAAC;IAChF,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAiD,CAAC;IAElF,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC;QAClD,IAAI,IAAI,CAAC,KAAK;YAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7C,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACxC,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC;YAC7C,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;YACtE,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;gBAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACnE,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAsB,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,IAAI,gBAAgB,EAAE,CAAC;QACvD,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACf,qEAAqE;YACrE,mEAAmE;YACnE,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7C,QAAQ,CAAC,IAAI,CAAC;gBACZ,OAAO,EAAE,WAAW;gBACpB,SAAS,EAAE,KAAK;gBAChB,UAAU,EAAE,aAAa,KAAK,iDAAiD;aAChF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5E,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Auto-naming module — pure text analysis for generating semantic slugs.
|
|
3
|
+
*
|
|
4
|
+
* No LLM calls, no external dependencies. Works offline.
|
|
5
|
+
* The agent knows the content best at save-time. This module captures
|
|
6
|
+
* that understanding in a retrievable name.
|
|
7
|
+
*/
|
|
8
|
+
export interface SlugContext {
|
|
9
|
+
room?: string;
|
|
10
|
+
type?: string;
|
|
11
|
+
existingSlugs?: string[];
|
|
12
|
+
}
|
|
13
|
+
export interface SlugResult {
|
|
14
|
+
slug: string;
|
|
15
|
+
contentType: string;
|
|
16
|
+
keywords: string[];
|
|
17
|
+
}
|
|
18
|
+
type ContentType = "decision" | "bug-fix" | "insight" | "architecture" | "tool-config" | "goal" | "blocker" | "lesson" | "general";
|
|
19
|
+
/**
|
|
20
|
+
* Detect the content type from text by counting signal word matches.
|
|
21
|
+
* Returns the type with the most matches; ties broken by declaration order.
|
|
22
|
+
*/
|
|
23
|
+
export declare function detectContentType(content: string): ContentType;
|
|
24
|
+
/**
|
|
25
|
+
* Extract top keywords from content by weighted frequency.
|
|
26
|
+
* Pure text analysis — no LLM, no stemming library.
|
|
27
|
+
*/
|
|
28
|
+
export declare function extractKeywords(content: string, limit?: number): string[];
|
|
29
|
+
/**
|
|
30
|
+
* Generate a semantic slug from content.
|
|
31
|
+
*
|
|
32
|
+
* Format: `{contentType}-{keyword1}-{keyword2}-{keyword3}`
|
|
33
|
+
* Max 60 characters. Unique against existingSlugs (appends -2, -3, etc.).
|
|
34
|
+
*/
|
|
35
|
+
export declare function generateSlug(content: string, context?: SlugContext): SlugResult;
|
|
36
|
+
/**
|
|
37
|
+
* Generate a human-readable topic name from content.
|
|
38
|
+
* Title-case, max 4 words. For display purposes.
|
|
39
|
+
*/
|
|
40
|
+
export declare function generateTopicName(content: string): string;
|
|
41
|
+
export {};
|
|
42
|
+
//# sourceMappingURL=auto-name.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auto-name.d.ts","sourceRoot":"","sources":["../../src/helpers/auto-name.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAMD,KAAK,WAAW,GACZ,UAAU,GACV,SAAS,GACT,SAAS,GACT,cAAc,GACd,aAAa,GACb,MAAM,GACN,SAAS,GACT,QAAQ,GACR,SAAS,CAAC;AAcd;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAiB9D;AA+ED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,MAAM,EAAE,CAuC5E;AAeD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,UAAU,CA8B/E;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAezD"}
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Auto-naming module — pure text analysis for generating semantic slugs.
|
|
3
|
+
*
|
|
4
|
+
* No LLM calls, no external dependencies. Works offline.
|
|
5
|
+
* The agent knows the content best at save-time. This module captures
|
|
6
|
+
* that understanding in a retrievable name.
|
|
7
|
+
*/
|
|
8
|
+
const TYPE_SIGNALS = {
|
|
9
|
+
"bug-fix": [/\bbug\b/i, /\bfix\b/i, /\bregression\b/i, /\bbroke\b/i, /\berror\b/i, /\bcrash\b/i, /\bbroken\b/i],
|
|
10
|
+
lesson: [/\blesson\b/i, /\btakeaway\b/i, /\bnever again\b/i, /\balways remember\b/i, /\blearned that\b/i],
|
|
11
|
+
decision: [/\bdecided\b/i, /\bchose\b/i, /\bwill use\b/i, /\bgoing with\b/i, /\bverdict\b/i, /\bpicked\b/i],
|
|
12
|
+
insight: [/\blearned\b/i, /\brealized\b/i, /\binsight\b/i, /\bpattern\b/i, /\bobservation\b/i, /\bdiscovered\b/i],
|
|
13
|
+
architecture: [/\barchitecture\b/i, /\bdesign\b/i, /\bschema\b/i, /\bapi\b/i, /\bstructure\b/i, /\bsystem design\b/i],
|
|
14
|
+
"tool-config": [/\bconfig\b/i, /\bsetup\b/i, /\binstall\b/i, /\bmcp\b/i, /\bserver\b/i, /\bplugin\b/i, /\bconfigure\b/i],
|
|
15
|
+
goal: [/\bgoal\b/i, /\bmilestone\b/i, /\bobjective\b/i, /\btarget\b/i, /\broadmap\b/i, /\bokr\b/i],
|
|
16
|
+
blocker: [/\bblocker\b/i, /\bblocked\b/i, /\bstuck\b/i, /\bwaiting\b/i, /\bdependency\b/i, /\bblocking\b/i],
|
|
17
|
+
general: [],
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Detect the content type from text by counting signal word matches.
|
|
21
|
+
* Returns the type with the most matches; ties broken by declaration order.
|
|
22
|
+
*/
|
|
23
|
+
export function detectContentType(content) {
|
|
24
|
+
let bestType = "general";
|
|
25
|
+
let bestCount = 0;
|
|
26
|
+
for (const [type, patterns] of Object.entries(TYPE_SIGNALS)) {
|
|
27
|
+
if (type === "general")
|
|
28
|
+
continue;
|
|
29
|
+
let count = 0;
|
|
30
|
+
for (const pattern of patterns) {
|
|
31
|
+
if (pattern.test(content))
|
|
32
|
+
count++;
|
|
33
|
+
}
|
|
34
|
+
if (count > bestCount) {
|
|
35
|
+
bestCount = count;
|
|
36
|
+
bestType = type;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return bestType;
|
|
40
|
+
}
|
|
41
|
+
// ---------------------------------------------------------------------------
|
|
42
|
+
// Stopwords
|
|
43
|
+
// ---------------------------------------------------------------------------
|
|
44
|
+
const STOPWORDS = new Set([
|
|
45
|
+
// Common English
|
|
46
|
+
"the", "and", "is", "in", "to", "for", "of", "a", "an", "at", "by", "on",
|
|
47
|
+
"or", "as", "be", "it", "that", "this", "was", "are", "were", "been",
|
|
48
|
+
"not", "but", "what", "all", "when", "we", "there", "can", "had", "has",
|
|
49
|
+
"have", "will", "each", "about", "how", "up", "out", "them", "then",
|
|
50
|
+
"she", "he", "do", "if", "my", "no", "so", "just", "than", "into",
|
|
51
|
+
"its", "also", "our", "your", "new", "would", "could", "should", "now",
|
|
52
|
+
"these", "some", "other", "only", "very", "more", "over", "such",
|
|
53
|
+
"with", "from", "their", "they", "which", "you", "one", "two", "three",
|
|
54
|
+
"after", "before", "because", "between", "both", "during", "here",
|
|
55
|
+
"most", "same", "where", "while", "who", "why", "may", "still",
|
|
56
|
+
"did", "does", "get", "got", "like", "make", "much", "need", "use",
|
|
57
|
+
"used", "using", "way", "well", "work", "first", "last", "even",
|
|
58
|
+
// Markdown / technical noise
|
|
59
|
+
"http", "https", "www", "com", "org", "json", "true", "false", "null",
|
|
60
|
+
"undefined", "const", "let", "var", "function", "return", "import",
|
|
61
|
+
"export", "from", "type", "interface", "class", "async", "await",
|
|
62
|
+
]);
|
|
63
|
+
// ---------------------------------------------------------------------------
|
|
64
|
+
// Keyword extraction
|
|
65
|
+
// ---------------------------------------------------------------------------
|
|
66
|
+
/** Remove markdown syntax from text. */
|
|
67
|
+
function stripMarkdown(text) {
|
|
68
|
+
return text
|
|
69
|
+
.replace(/```[\s\S]*?```/g, " ") // code blocks
|
|
70
|
+
.replace(/`[^`]+`/g, " ") // inline code
|
|
71
|
+
.replace(/\[([^\]]+)\]\([^)]+\)/g, "$1") // links → text
|
|
72
|
+
.replace(/[#*_~>|`\-\[\]()]/g, " ") // markdown chars
|
|
73
|
+
.replace(/\s+/g, " ")
|
|
74
|
+
.trim();
|
|
75
|
+
}
|
|
76
|
+
/** Extract positional weight multipliers from original content. */
|
|
77
|
+
function getPositionWeights(content) {
|
|
78
|
+
const weights = new Map();
|
|
79
|
+
// Headers get 2x
|
|
80
|
+
const headers = content.match(/^#{1,6}\s+(.+)$/gm) ?? [];
|
|
81
|
+
for (const h of headers) {
|
|
82
|
+
const words = stripMarkdown(h).toLowerCase().split(/\s+/);
|
|
83
|
+
for (const w of words) {
|
|
84
|
+
if (w.length > 2 && !STOPWORDS.has(w)) {
|
|
85
|
+
weights.set(w, (weights.get(w) ?? 1) * 2);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
// Bold text gets 1.5x
|
|
90
|
+
const bolds = content.match(/\*\*([^*]+)\*\*/g) ?? [];
|
|
91
|
+
for (const b of bolds) {
|
|
92
|
+
const words = b.replace(/\*\*/g, "").toLowerCase().split(/\s+/);
|
|
93
|
+
for (const w of words) {
|
|
94
|
+
if (w.length > 2 && !STOPWORDS.has(w)) {
|
|
95
|
+
weights.set(w, (weights.get(w) ?? 1) * 1.5);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
// First sentence gets 1.5x
|
|
100
|
+
const firstLine = stripMarkdown(content).split(/[.!?\n]/)[0] ?? "";
|
|
101
|
+
const firstWords = firstLine.toLowerCase().split(/\s+/);
|
|
102
|
+
for (const w of firstWords) {
|
|
103
|
+
if (w.length > 2 && !STOPWORDS.has(w)) {
|
|
104
|
+
weights.set(w, (weights.get(w) ?? 1) * 1.5);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
return weights;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Extract top keywords from content by weighted frequency.
|
|
111
|
+
* Pure text analysis — no LLM, no stemming library.
|
|
112
|
+
*/
|
|
113
|
+
export function extractKeywords(content, limit = 3) {
|
|
114
|
+
const posWeights = getPositionWeights(content);
|
|
115
|
+
const clean = stripMarkdown(content).toLowerCase();
|
|
116
|
+
const words = clean.split(/\s+/).filter((w) => w.length > 2 && !STOPWORDS.has(w));
|
|
117
|
+
// Count frequency
|
|
118
|
+
const freq = new Map();
|
|
119
|
+
for (const w of words) {
|
|
120
|
+
// Normalize: strip trailing punctuation, possessives
|
|
121
|
+
const normalized = w.replace(/[^a-z0-9]/g, "");
|
|
122
|
+
if (normalized.length < 3 || STOPWORDS.has(normalized))
|
|
123
|
+
continue;
|
|
124
|
+
freq.set(normalized, (freq.get(normalized) ?? 0) + 1);
|
|
125
|
+
}
|
|
126
|
+
// Apply position weights
|
|
127
|
+
const scored = new Map();
|
|
128
|
+
for (const [word, count] of freq) {
|
|
129
|
+
const posWeight = posWeights.get(word) ?? 1;
|
|
130
|
+
scored.set(word, count * posWeight);
|
|
131
|
+
}
|
|
132
|
+
// Sort by score descending, take top N
|
|
133
|
+
const sorted = Array.from(scored.entries()).sort((a, b) => b[1] - a[1]);
|
|
134
|
+
// Naive dedup: if word A starts with word B (or vice versa) and length diff <= 4, keep shorter
|
|
135
|
+
const result = [];
|
|
136
|
+
for (const [word] of sorted) {
|
|
137
|
+
if (result.length >= limit)
|
|
138
|
+
break;
|
|
139
|
+
const isDupe = result.some((existing) => (word.startsWith(existing) || existing.startsWith(word)) &&
|
|
140
|
+
Math.abs(word.length - existing.length) <= 4);
|
|
141
|
+
if (!isDupe) {
|
|
142
|
+
result.push(word);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
return result;
|
|
146
|
+
}
|
|
147
|
+
// ---------------------------------------------------------------------------
|
|
148
|
+
// Slug generation
|
|
149
|
+
// ---------------------------------------------------------------------------
|
|
150
|
+
/** Sanitize a string into a valid slug. */
|
|
151
|
+
function slugify(text) {
|
|
152
|
+
return text
|
|
153
|
+
.toLowerCase()
|
|
154
|
+
.replace(/[^a-z0-9]+/g, "-")
|
|
155
|
+
.replace(/^-+|-+$/g, "")
|
|
156
|
+
.slice(0, 60);
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Generate a semantic slug from content.
|
|
160
|
+
*
|
|
161
|
+
* Format: `{contentType}-{keyword1}-{keyword2}-{keyword3}`
|
|
162
|
+
* Max 60 characters. Unique against existingSlugs (appends -2, -3, etc.).
|
|
163
|
+
*/
|
|
164
|
+
export function generateSlug(content, context) {
|
|
165
|
+
const contentType = context?.type ?? detectContentType(content);
|
|
166
|
+
const keywords = extractKeywords(content, 3);
|
|
167
|
+
// Build slug
|
|
168
|
+
const parts = [contentType, ...keywords];
|
|
169
|
+
let slug = slugify(parts.join("-"));
|
|
170
|
+
// Fallback if slug is empty or just the type
|
|
171
|
+
if (!slug || slug === contentType) {
|
|
172
|
+
// Use first meaningful words from content
|
|
173
|
+
const fallbackWords = stripMarkdown(content)
|
|
174
|
+
.toLowerCase()
|
|
175
|
+
.split(/\s+/)
|
|
176
|
+
.filter((w) => w.length > 2 && !STOPWORDS.has(w))
|
|
177
|
+
.slice(0, 3);
|
|
178
|
+
slug = slugify([contentType, ...fallbackWords].join("-"));
|
|
179
|
+
}
|
|
180
|
+
// Ensure uniqueness
|
|
181
|
+
if (context?.existingSlugs) {
|
|
182
|
+
const existing = new Set(context.existingSlugs);
|
|
183
|
+
if (existing.has(slug)) {
|
|
184
|
+
let counter = 2;
|
|
185
|
+
while (existing.has(`${slug}-${counter}`))
|
|
186
|
+
counter++;
|
|
187
|
+
slug = `${slug}-${counter}`;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
return { slug, contentType, keywords };
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Generate a human-readable topic name from content.
|
|
194
|
+
* Title-case, max 4 words. For display purposes.
|
|
195
|
+
*/
|
|
196
|
+
export function generateTopicName(content) {
|
|
197
|
+
const keywords = extractKeywords(content, 4);
|
|
198
|
+
if (keywords.length === 0) {
|
|
199
|
+
// Fallback to first meaningful words
|
|
200
|
+
const words = stripMarkdown(content)
|
|
201
|
+
.split(/\s+/)
|
|
202
|
+
.filter((w) => w.length > 2)
|
|
203
|
+
.slice(0, 4);
|
|
204
|
+
return words.map((w) => w.charAt(0).toUpperCase() + w.slice(1).toLowerCase()).join(" ") || "Untitled";
|
|
205
|
+
}
|
|
206
|
+
return keywords
|
|
207
|
+
.map((w) => w.charAt(0).toUpperCase() + w.slice(1))
|
|
208
|
+
.join(" ");
|
|
209
|
+
}
|
|
210
|
+
//# sourceMappingURL=auto-name.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auto-name.js","sourceRoot":"","sources":["../../src/helpers/auto-name.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"journal-files.d.ts","sourceRoot":"","sources":["../../src/helpers/journal-files.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,EAAE,CAiChE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAe5E;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGpD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAOvD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAKvD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"journal-files.d.ts","sourceRoot":"","sources":["../../src/helpers/journal-files.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,EAAE,CAiChE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAe5E;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGpD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAOvD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAKvD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CA0BjD"}
|
|
@@ -108,5 +108,33 @@ export function updateIndex(project) {
|
|
|
108
108
|
index += `| ${entry.date} | ${title} | ${momentum} |\n`;
|
|
109
109
|
}
|
|
110
110
|
fs.writeFileSync(indexPath, index, "utf-8");
|
|
111
|
+
// Also write index.jsonl — one JSON object per entry for fast machine scanning
|
|
112
|
+
updateJsonlIndex(project, entries);
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Write index.jsonl alongside index.md.
|
|
116
|
+
* Agents can scan this in ~100 tokens to find the right entry to read,
|
|
117
|
+
* instead of parsing the markdown table.
|
|
118
|
+
*/
|
|
119
|
+
function updateJsonlIndex(project, entries) {
|
|
120
|
+
const dir = journalDir(project);
|
|
121
|
+
const jsonlPath = path.join(dir, "index.jsonl");
|
|
122
|
+
const lines = [];
|
|
123
|
+
for (const entry of entries) {
|
|
124
|
+
const content = fs.readFileSync(path.join(entry.dir, entry.file), "utf-8");
|
|
125
|
+
const title = extractTitle(content);
|
|
126
|
+
const momentum = extractMomentum(content);
|
|
127
|
+
// Extract first non-heading, non-empty line as summary
|
|
128
|
+
let summary = "";
|
|
129
|
+
for (const line of content.split("\n")) {
|
|
130
|
+
const trimmed = line.trim();
|
|
131
|
+
if (trimmed && !trimmed.startsWith("#") && !trimmed.startsWith("---") && !trimmed.startsWith(">")) {
|
|
132
|
+
summary = trimmed.slice(0, 120);
|
|
133
|
+
break;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
lines.push(JSON.stringify({ date: entry.date, title, summary, momentum }));
|
|
137
|
+
}
|
|
138
|
+
fs.writeFileSync(jsonlPath, lines.join("\n") + "\n", "utf-8");
|
|
111
139
|
}
|
|
112
140
|
//# sourceMappingURL=journal-files.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"journal-files.js","sourceRoot":"","sources":["../../src/helpers/journal-files.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"journal-files.js","sourceRoot":"","sources":["../../src/helpers/journal-files.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ export { createRoom, getRoomMeta, updateRoomMeta, listRooms, roomExists, ensureP
|
|
|
10
10
|
export { readGraph, writeGraph, addEdge, removeEdgesFor, getConnectionCount, getConnectedRooms, } from "./palace/graph.js";
|
|
11
11
|
export { fanOut } from "./palace/fan-out.js";
|
|
12
12
|
export type { FanOutResult } from "./palace/fan-out.js";
|
|
13
|
-
export { readAwareness, writeAwareness, readAwarenessState, writeAwarenessState, initAwareness, addInsight, detectCompoundInsights, renderAwareness, } from "./palace/awareness.js";
|
|
13
|
+
export { readAwareness, writeAwareness, readAwarenessState, writeAwarenessState, initAwareness, addInsight, detectCompoundInsights, renderAwareness, readAwarenessArchive, writeAwarenessArchive, resurrectFromArchive, } from "./palace/awareness.js";
|
|
14
14
|
export type { Insight, CompoundInsight, AwarenessState, } from "./palace/awareness.js";
|
|
15
15
|
export { computeSalience, ARCHIVE_THRESHOLD, AUTO_ARCHIVE_THRESHOLD, CATEGORY_DECAY, URGENCY_WEIGHTS, } from "./palace/salience.js";
|
|
16
16
|
export { readInsightsIndex, writeInsightsIndex, addIndexedInsight, recallInsights, } from "./palace/insights-index.js";
|
|
@@ -27,6 +27,10 @@ export { detectProject, resolveProject, listAllProjects } from "./storage/projec
|
|
|
27
27
|
export { listJournalFiles, readJournalFile, extractTitle, extractMomentum, countLogEntries, updateIndex, } from "./helpers/journal-files.js";
|
|
28
28
|
export { extractSection, appendToSection } from "./helpers/sections.js";
|
|
29
29
|
export { isoWeek, weekKey, groupByWeek, synthesizeWeek } from "./helpers/rollup.js";
|
|
30
|
+
export { generateSlug, detectContentType, extractKeywords, generateTopicName } from "./helpers/auto-name.js";
|
|
31
|
+
export type { SlugResult, SlugContext } from "./helpers/auto-name.js";
|
|
32
|
+
export { readAlignmentLog, extractWatchPatterns } from "./helpers/alignment-patterns.js";
|
|
33
|
+
export type { WatchForPattern } from "./helpers/alignment-patterns.js";
|
|
30
34
|
export { journalRead, type JournalReadInput, type JournalReadResult } from "./tools-logic/journal-read.js";
|
|
31
35
|
export { journalWrite, type JournalWriteInput, type JournalWriteResult } from "./tools-logic/journal-write.js";
|
|
32
36
|
export { journalCapture, type JournalCaptureInput, type JournalCaptureResult } from "./tools-logic/journal-capture.js";
|
|
@@ -49,4 +53,9 @@ export { palaceLint, type PalaceLintInput, type PalaceLintResult, type LintIssue
|
|
|
49
53
|
export { palaceSearch, type PalaceSearchInput, type PalaceSearchResult } from "./tools-logic/palace-search.js";
|
|
50
54
|
export { awarenessUpdate, type AwarenessUpdateInput, type AwarenessUpdateResult } from "./tools-logic/awareness-update.js";
|
|
51
55
|
export { recallInsight, type RecallInsightInput, type RecallInsightResult } from "./tools-logic/recall-insight.js";
|
|
56
|
+
export { smartRemember, type SmartRememberInput, type SmartRememberResult } from "./tools-logic/smart-remember.js";
|
|
57
|
+
export { smartRecall, type SmartRecallInput, type SmartRecallResult } from "./tools-logic/smart-recall.js";
|
|
58
|
+
export { sessionStart, type SessionStartInput, type SessionStartResult } from "./tools-logic/session-start.js";
|
|
59
|
+
export { sessionEnd, type SessionEndInput, type SessionEndResult } from "./tools-logic/session-end.js";
|
|
60
|
+
export { check, type CheckInput, type CheckResult, type WatchFor, type PastDelta } from "./tools-logic/check.js";
|
|
52
61
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,OAAO,EACP,eAAe,EACf,oBAAoB,EACpB,OAAO,EACP,SAAS,EACT,OAAO,EACP,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,SAAS,EACT,WAAW,EACX,UAAU,EACV,OAAO,EACP,UAAU,EACV,SAAS,EACT,cAAc,EACd,SAAS,GACV,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,UAAU,EACV,WAAW,EACX,cAAc,EACd,SAAS,EACT,UAAU,EACV,uBAAuB,EACvB,YAAY,GACb,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,SAAS,EACT,UAAU,EACV,OAAO,EACP,cAAc,EACd,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,EACL,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,UAAU,EACV,sBAAsB,EACtB,eAAe,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -13,7 +13,7 @@ export { readGraph, writeGraph, addEdge, removeEdgesFor, getConnectionCount, get
|
|
|
13
13
|
// Palace — fan-out
|
|
14
14
|
export { fanOut } from "./palace/fan-out.js";
|
|
15
15
|
// Palace — awareness
|
|
16
|
-
export { readAwareness, writeAwareness, readAwarenessState, writeAwarenessState, initAwareness, addInsight, detectCompoundInsights, renderAwareness, } from "./palace/awareness.js";
|
|
16
|
+
export { readAwareness, writeAwareness, readAwarenessState, writeAwarenessState, initAwareness, addInsight, detectCompoundInsights, renderAwareness, readAwarenessArchive, writeAwarenessArchive, resurrectFromArchive, } from "./palace/awareness.js";
|
|
17
17
|
// Palace — salience
|
|
18
18
|
export { computeSalience, ARCHIVE_THRESHOLD, AUTO_ARCHIVE_THRESHOLD, CATEGORY_DECAY, URGENCY_WEIGHTS, } from "./palace/salience.js";
|
|
19
19
|
// Palace — insights index
|
|
@@ -37,6 +37,10 @@ export { listJournalFiles, readJournalFile, extractTitle, extractMomentum, count
|
|
|
37
37
|
export { extractSection, appendToSection } from "./helpers/sections.js";
|
|
38
38
|
// Helpers — rollup
|
|
39
39
|
export { isoWeek, weekKey, groupByWeek, synthesizeWeek } from "./helpers/rollup.js";
|
|
40
|
+
// Helpers — auto-naming
|
|
41
|
+
export { generateSlug, detectContentType, extractKeywords, generateTopicName } from "./helpers/auto-name.js";
|
|
42
|
+
// Helpers — alignment patterns
|
|
43
|
+
export { readAlignmentLog, extractWatchPatterns } from "./helpers/alignment-patterns.js";
|
|
40
44
|
// Tool logic functions (extracted from MCP tool handlers)
|
|
41
45
|
export { journalRead } from "./tools-logic/journal-read.js";
|
|
42
46
|
export { journalWrite } from "./tools-logic/journal-write.js";
|
|
@@ -60,4 +64,11 @@ export { palaceLint } from "./tools-logic/palace-lint.js";
|
|
|
60
64
|
export { palaceSearch } from "./tools-logic/palace-search.js";
|
|
61
65
|
export { awarenessUpdate } from "./tools-logic/awareness-update.js";
|
|
62
66
|
export { recallInsight } from "./tools-logic/recall-insight.js";
|
|
67
|
+
// Tool logic — smart routing
|
|
68
|
+
export { smartRemember } from "./tools-logic/smart-remember.js";
|
|
69
|
+
export { smartRecall } from "./tools-logic/smart-recall.js";
|
|
70
|
+
// Tool logic — v3.4 composite tools (5-tool surface)
|
|
71
|
+
export { sessionStart } from "./tools-logic/session-start.js";
|
|
72
|
+
export { sessionEnd } from "./tools-logic/session-end.js";
|
|
73
|
+
export { check } from "./tools-logic/check.js";
|
|
63
74
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,oBAAoB;AACpB,OAAO,EACL,OAAO,EACP,eAAe,EACf,oBAAoB,EACpB,OAAO,EACP,SAAS,EACT,OAAO,EACP,aAAa,GACd,MAAM,YAAY,CAAC;AAiBpB,iBAAiB;AACjB,OAAO,EACL,UAAU,EACV,WAAW,EACX,cAAc,EACd,SAAS,EACT,UAAU,EACV,uBAAuB,EACvB,YAAY,GACb,MAAM,mBAAmB,CAAC;AAE3B,iBAAiB;AACjB,OAAO,EACL,SAAS,EACT,UAAU,EACV,OAAO,EACP,cAAc,EACd,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAE3B,mBAAmB;AACnB,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAG7C,qBAAqB;AACrB,OAAO,EACL,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,UAAU,EACV,sBAAsB,EACtB,eAAe,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,6 +42,10 @@ export interface AwarenessState {
|
|
|
42
42
|
}
|
|
43
43
|
export declare function readAwarenessState(): AwarenessState | null;
|
|
44
44
|
export declare function writeAwarenessState(state: AwarenessState): void;
|
|
45
|
+
export declare function readAwarenessArchive(): Insight[];
|
|
46
|
+
export declare function writeAwarenessArchive(archive: Insight[]): void;
|
|
47
|
+
/** Check archive for a matching insight to resurrect. Returns the insight if found. */
|
|
48
|
+
export declare function resurrectFromArchive(keywords: string[]): Insight | null;
|
|
45
49
|
/**
|
|
46
50
|
* Initialize awareness from scratch.
|
|
47
51
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"awareness.d.ts","sourceRoot":"","sources":["../../src/palace/awareness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;
|
|
1
|
+
{"version":3,"file":"awareness.d.ts","sourceRoot":"","sources":["../../src/palace/awareness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAcH,wBAAgB,aAAa,IAAI,MAAM,CAItC;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAYpD;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,EAAE,CAAC;IACvB,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAMD,wBAAgB,kBAAkB,IAAI,cAAc,GAAG,IAAI,CAQ1D;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAI/D;AAID,wBAAgB,oBAAoB,IAAI,OAAO,EAAE,CAQhD;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAK9D;AA0BD,uFAAuF;AACvF,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,GAAG,IAAI,CAgBvE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAY9D;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,GAAG,eAAe,GAAG,eAAe,CAAC,GAClE;IAAE,MAAM,EAAE,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAoG/D;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,eAAe,EAAE,CAsC1D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAoD3D"}
|