gnosys 5.6.0 → 5.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +736 -401
- package/dist/cli.js.map +1 -1
- package/dist/lib/audit.d.ts +13 -0
- package/dist/lib/audit.d.ts.map +1 -1
- package/dist/lib/audit.js +42 -0
- package/dist/lib/audit.js.map +1 -1
- package/dist/lib/chat/llmTurn.d.ts +20 -2
- package/dist/lib/chat/llmTurn.d.ts.map +1 -1
- package/dist/lib/chat/llmTurn.js +58 -16
- package/dist/lib/chat/llmTurn.js.map +1 -1
- package/dist/lib/chat/render.d.ts.map +1 -1
- package/dist/lib/chat/render.js +18 -0
- package/dist/lib/chat/render.js.map +1 -1
- package/dist/lib/chat/toolFence.d.ts +54 -0
- package/dist/lib/chat/toolFence.d.ts.map +1 -0
- package/dist/lib/chat/toolFence.js +90 -0
- package/dist/lib/chat/toolFence.js.map +1 -0
- package/dist/lib/chat/tools.d.ts +48 -0
- package/dist/lib/chat/tools.d.ts.map +1 -0
- package/dist/lib/chat/tools.js +338 -0
- package/dist/lib/chat/tools.js.map +1 -0
- package/dist/lib/db.d.ts +38 -0
- package/dist/lib/db.d.ts.map +1 -1
- package/dist/lib/db.js +118 -26
- package/dist/lib/db.js.map +1 -1
- package/dist/lib/remote.d.ts +23 -0
- package/dist/lib/remote.d.ts.map +1 -1
- package/dist/lib/remote.js +88 -0
- package/dist/lib/remote.js.map +1 -1
- package/dist/lib/remoteWizard.d.ts.map +1 -1
- package/dist/lib/remoteWizard.js +13 -17
- package/dist/lib/remoteWizard.js.map +1 -1
- package/dist/lib/setup/sections/ides.d.ts +20 -0
- package/dist/lib/setup/sections/ides.d.ts.map +1 -0
- package/dist/lib/setup/sections/ides.js +124 -0
- package/dist/lib/setup/sections/ides.js.map +1 -0
- package/dist/lib/setup/sections/preferences.d.ts +30 -0
- package/dist/lib/setup/sections/preferences.d.ts.map +1 -0
- package/dist/lib/setup/sections/preferences.js +128 -0
- package/dist/lib/setup/sections/preferences.js.map +1 -0
- package/dist/lib/setup/sections/routing.d.ts +21 -0
- package/dist/lib/setup/sections/routing.d.ts.map +1 -0
- package/dist/lib/setup/sections/routing.js +160 -0
- package/dist/lib/setup/sections/routing.js.map +1 -0
- package/dist/lib/setup/summary.d.ts +42 -0
- package/dist/lib/setup/summary.d.ts.map +1 -0
- package/dist/lib/setup/summary.js +206 -0
- package/dist/lib/setup/summary.js.map +1 -0
- package/dist/lib/timeline.d.ts +7 -0
- package/dist/lib/timeline.d.ts.map +1 -1
- package/dist/lib/timeline.js +19 -5
- package/dist/lib/timeline.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routing.js","sourceRoot":"","sources":["../../../../src/lib/setup/sections/routing.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Setup summary-first wizard (v5.7.0).
|
|
3
|
+
*
|
|
4
|
+
* When the user runs `gnosys setup` and a config already exists, the first
|
|
5
|
+
* screen is the current settings summary. The user picks a numbered option
|
|
6
|
+
* to edit just that piece, returns to the summary with `✓ updated` next to
|
|
7
|
+
* the changed line, and exits with `[D]one` (apply) or `[E]xit` (revert).
|
|
8
|
+
*
|
|
9
|
+
* Each section is a thin wrapper around the existing per-section function
|
|
10
|
+
* in `setup.ts` (or a new section module). This file is the orchestrator
|
|
11
|
+
* + summary screen — it does not duplicate section logic.
|
|
12
|
+
*/
|
|
13
|
+
import { Interface as ReadlineInterface } from "readline/promises";
|
|
14
|
+
import { type GnosysConfig } from "../config.js";
|
|
15
|
+
/** Each summary line is a section the user can navigate into. */
|
|
16
|
+
export interface SummarySection {
|
|
17
|
+
/** Number key shown in the menu. */
|
|
18
|
+
key: string;
|
|
19
|
+
/** Label shown on the summary line (left side). */
|
|
20
|
+
label: string;
|
|
21
|
+
/** Current value — printed on the right side, dim. */
|
|
22
|
+
describe: (cfg: GnosysConfig) => string | Promise<string>;
|
|
23
|
+
/** Run when user picks this line. Returns true if a change was committed. */
|
|
24
|
+
edit: (rl: ReadlineInterface, cfg: GnosysConfig, projectDir: string) => Promise<boolean>;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Build the section list. Each `edit` calls into existing wizards via
|
|
28
|
+
* dynamic import — keeps this file decoupled from the legacy setup.ts.
|
|
29
|
+
*/
|
|
30
|
+
export declare function buildSections(): SummarySection[];
|
|
31
|
+
export interface SummaryOptions {
|
|
32
|
+
/** Project directory the wizard operates on (default: cwd). */
|
|
33
|
+
directory?: string;
|
|
34
|
+
/** Optional pre-existing readline; useful when caller is already prompting. */
|
|
35
|
+
rl?: ReadlineInterface;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Run the summary-first wizard. Loops until the user picks Done or Exit.
|
|
39
|
+
* Returns `true` if any section was edited and committed.
|
|
40
|
+
*/
|
|
41
|
+
export declare function runSummaryWizard(opts?: SummaryOptions): Promise<boolean>;
|
|
42
|
+
//# sourceMappingURL=summary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"summary.d.ts","sourceRoot":"","sources":["../../../src/lib/setup/summary.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAmB,SAAS,IAAI,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEpF,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,cAAc,CAAC;AAYtB,iEAAiE;AACjE,MAAM,WAAW,cAAc;IAC7B,oCAAoC;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,QAAQ,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1D,6EAA6E;IAC7E,IAAI,EAAE,CAAC,EAAE,EAAE,iBAAiB,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1F;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,cAAc,EAAE,CAmGhD;AAqBD,MAAM,WAAW,cAAc;IAC7B,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+EAA+E;IAC/E,EAAE,CAAC,EAAE,iBAAiB,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CA4DlF"}
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Setup summary-first wizard (v5.7.0).
|
|
3
|
+
*
|
|
4
|
+
* When the user runs `gnosys setup` and a config already exists, the first
|
|
5
|
+
* screen is the current settings summary. The user picks a numbered option
|
|
6
|
+
* to edit just that piece, returns to the summary with `✓ updated` next to
|
|
7
|
+
* the changed line, and exits with `[D]one` (apply) or `[E]xit` (revert).
|
|
8
|
+
*
|
|
9
|
+
* Each section is a thin wrapper around the existing per-section function
|
|
10
|
+
* in `setup.ts` (or a new section module). This file is the orchestrator
|
|
11
|
+
* + summary screen — it does not duplicate section logic.
|
|
12
|
+
*/
|
|
13
|
+
import { createInterface } from "readline/promises";
|
|
14
|
+
import { stdin, stdout } from "process";
|
|
15
|
+
import { loadConfig, resolveTaskModel, } from "../config.js";
|
|
16
|
+
import { GnosysDB } from "../db.js";
|
|
17
|
+
// ─── ANSI ───────────────────────────────────────────────────────────────────
|
|
18
|
+
const BOLD = "\x1b[1m";
|
|
19
|
+
const DIM = "\x1b[2m";
|
|
20
|
+
const GREEN = "\x1b[32m";
|
|
21
|
+
const RESET = "\x1b[0m";
|
|
22
|
+
const CHECK = `${GREEN}✓${RESET}`;
|
|
23
|
+
/**
|
|
24
|
+
* Build the section list. Each `edit` calls into existing wizards via
|
|
25
|
+
* dynamic import — keeps this file decoupled from the legacy setup.ts.
|
|
26
|
+
*/
|
|
27
|
+
export function buildSections() {
|
|
28
|
+
return [
|
|
29
|
+
{
|
|
30
|
+
key: "1",
|
|
31
|
+
label: "Provider",
|
|
32
|
+
describe: (cfg) => cfg.llm.defaultProvider,
|
|
33
|
+
edit: async (_rl, _cfg, projectDir) => {
|
|
34
|
+
const { runModelsSetup } = await import("../setup.js");
|
|
35
|
+
await runModelsSetup({ directory: projectDir });
|
|
36
|
+
return true;
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
key: "2",
|
|
41
|
+
label: "Models",
|
|
42
|
+
describe: async (cfg) => {
|
|
43
|
+
const synth = resolveTaskModel(cfg, "synthesis");
|
|
44
|
+
return `${synth.provider} / ${synth.model}`;
|
|
45
|
+
},
|
|
46
|
+
edit: async (_rl, _cfg, projectDir) => {
|
|
47
|
+
const { runModelsSetup } = await import("../setup.js");
|
|
48
|
+
await runModelsSetup({ directory: projectDir });
|
|
49
|
+
return true;
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
key: "3",
|
|
54
|
+
label: "Task Routing",
|
|
55
|
+
describe: async (cfg) => {
|
|
56
|
+
const provs = new Set([
|
|
57
|
+
resolveTaskModel(cfg, "structuring").provider,
|
|
58
|
+
resolveTaskModel(cfg, "synthesis").provider,
|
|
59
|
+
]);
|
|
60
|
+
return provs.size === 1 ? `all ${[...provs][0]}` : `mixed (${[...provs].join(", ")})`;
|
|
61
|
+
},
|
|
62
|
+
edit: async (rl, _cfg, projectDir) => editRouting(rl, projectDir),
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
key: "4",
|
|
66
|
+
label: "IDE Integrations",
|
|
67
|
+
describe: async (_cfg) => {
|
|
68
|
+
const { detectIDEs } = await import("../setup.js");
|
|
69
|
+
const ides = await detectIDEs(process.cwd());
|
|
70
|
+
return ides.length === 0 ? "none" : `${ides.length} configured`;
|
|
71
|
+
},
|
|
72
|
+
edit: async (rl, _cfg, projectDir) => editIDEs(rl, projectDir),
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
key: "5",
|
|
76
|
+
label: "Multi-machine Sync",
|
|
77
|
+
describe: () => {
|
|
78
|
+
try {
|
|
79
|
+
const db = GnosysDB.openLocal();
|
|
80
|
+
const remotePath = db.getMeta("remote_path");
|
|
81
|
+
db.close();
|
|
82
|
+
return remotePath ?? "not configured";
|
|
83
|
+
}
|
|
84
|
+
catch {
|
|
85
|
+
return "not configured";
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
edit: async (rl) => {
|
|
89
|
+
const { runConfigureWizard } = await import("../remoteWizard.js");
|
|
90
|
+
const centralDb = GnosysDB.openLocal();
|
|
91
|
+
try {
|
|
92
|
+
return await runConfigureWizard(centralDb, rl);
|
|
93
|
+
}
|
|
94
|
+
finally {
|
|
95
|
+
centralDb.close();
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
key: "6",
|
|
101
|
+
label: "Dream Mode",
|
|
102
|
+
describe: (cfg) => {
|
|
103
|
+
if (!cfg.dream?.enabled)
|
|
104
|
+
return "disabled";
|
|
105
|
+
const provider = cfg.dream.provider ?? "ollama";
|
|
106
|
+
const model = cfg.dream.model ?? "default";
|
|
107
|
+
return `${provider} / ${model}`;
|
|
108
|
+
},
|
|
109
|
+
edit: async (_rl, _cfg, projectDir) => {
|
|
110
|
+
const { runDreamSetup } = await import("../setup.js");
|
|
111
|
+
await runDreamSetup({ directory: projectDir });
|
|
112
|
+
return true;
|
|
113
|
+
},
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
key: "7",
|
|
117
|
+
label: "User Preferences",
|
|
118
|
+
describe: async () => {
|
|
119
|
+
const { listUserPreferences } = await import("./sections/preferences.js");
|
|
120
|
+
const prefs = await listUserPreferences();
|
|
121
|
+
return `${prefs.length} stored`;
|
|
122
|
+
},
|
|
123
|
+
edit: async (rl) => {
|
|
124
|
+
const { runPreferencesReview } = await import("./sections/preferences.js");
|
|
125
|
+
return runPreferencesReview(rl);
|
|
126
|
+
},
|
|
127
|
+
},
|
|
128
|
+
];
|
|
129
|
+
}
|
|
130
|
+
// ─── Section editors that don't yet have standalone wizards ────────────────
|
|
131
|
+
/**
|
|
132
|
+
* Per-task routing editor. The legacy `runSetup` walks all 5 tasks in step 4
|
|
133
|
+
* — this lets the user revisit the choice without redoing provider/models.
|
|
134
|
+
*/
|
|
135
|
+
async function editRouting(rl, projectDir) {
|
|
136
|
+
const { runRoutingSetup } = await import("./sections/routing.js");
|
|
137
|
+
return runRoutingSetup({ rl, directory: projectDir });
|
|
138
|
+
}
|
|
139
|
+
/** IDE selection editor — same prompt as step 5 in the linear wizard. */
|
|
140
|
+
async function editIDEs(rl, projectDir) {
|
|
141
|
+
const { runIdesSetup } = await import("./sections/ides.js");
|
|
142
|
+
return runIdesSetup({ rl, directory: projectDir });
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Run the summary-first wizard. Loops until the user picks Done or Exit.
|
|
146
|
+
* Returns `true` if any section was edited and committed.
|
|
147
|
+
*/
|
|
148
|
+
export async function runSummaryWizard(opts = {}) {
|
|
149
|
+
const projectDir = opts.directory ?? process.cwd();
|
|
150
|
+
const ownsRl = !opts.rl;
|
|
151
|
+
const rl = opts.rl ?? createInterface({ input: stdin, output: stdout });
|
|
152
|
+
const sections = buildSections();
|
|
153
|
+
const updated = new Set();
|
|
154
|
+
let anyChange = false;
|
|
155
|
+
try {
|
|
156
|
+
while (true) {
|
|
157
|
+
// Reload config each iteration so the displayed values reflect any
|
|
158
|
+
// section edit that just happened.
|
|
159
|
+
const cfg = await loadConfig(projectDir);
|
|
160
|
+
console.log("");
|
|
161
|
+
console.log(`${BOLD}┌─────────────────────────────────────────────┐${RESET}`);
|
|
162
|
+
console.log(`${BOLD}│ Gnosys Settings │${RESET}`);
|
|
163
|
+
console.log(`${BOLD}├─────────────────────────────────────────────┤${RESET}`);
|
|
164
|
+
for (const s of sections) {
|
|
165
|
+
const value = await s.describe(cfg);
|
|
166
|
+
const marker = updated.has(s.key) ? ` ${CHECK}` : " ";
|
|
167
|
+
const line = ` ${s.key}. ${s.label.padEnd(18)} ${DIM}${value}${RESET}${marker}`;
|
|
168
|
+
console.log(line);
|
|
169
|
+
}
|
|
170
|
+
console.log(`${BOLD}└─────────────────────────────────────────────┘${RESET}`);
|
|
171
|
+
console.log("");
|
|
172
|
+
console.log(` Pick a number to edit · ${BOLD}D${RESET}one · ${BOLD}E${RESET}xit`);
|
|
173
|
+
const answer = (await rl.question("> ")).trim().toLowerCase();
|
|
174
|
+
if (!answer || answer === "d" || answer === "done") {
|
|
175
|
+
return anyChange;
|
|
176
|
+
}
|
|
177
|
+
if (answer === "e" || answer === "exit") {
|
|
178
|
+
if (anyChange) {
|
|
179
|
+
console.log(`${DIM}(any changes already committed during section edits stay applied)${RESET}`);
|
|
180
|
+
}
|
|
181
|
+
return anyChange;
|
|
182
|
+
}
|
|
183
|
+
const section = sections.find((s) => s.key === answer);
|
|
184
|
+
if (!section) {
|
|
185
|
+
console.log(`${DIM}Unknown choice: ${answer}${RESET}`);
|
|
186
|
+
continue;
|
|
187
|
+
}
|
|
188
|
+
const cfgForEdit = await loadConfig(projectDir);
|
|
189
|
+
try {
|
|
190
|
+
const changed = await section.edit(rl, cfgForEdit, projectDir);
|
|
191
|
+
if (changed) {
|
|
192
|
+
updated.add(section.key);
|
|
193
|
+
anyChange = true;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
catch (err) {
|
|
197
|
+
console.log(`${DIM}Section editor failed: ${err instanceof Error ? err.message : String(err)}${RESET}`);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
finally {
|
|
202
|
+
if (ownsRl)
|
|
203
|
+
rl.close();
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
//# sourceMappingURL=summary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"summary.js","sourceRoot":"","sources":["../../../src/lib/setup/summary.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,eAAe,EAAkC,MAAM,mBAAmB,CAAC;AACpF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EACL,UAAU,EACV,gBAAgB,GAEjB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,+EAA+E;AAC/E,MAAM,IAAI,GAAG,SAAS,CAAC;AACvB,MAAM,GAAG,GAAG,SAAS,CAAC;AACtB,MAAM,KAAK,GAAG,UAAU,CAAC;AACzB,MAAM,KAAK,GAAG,SAAS,CAAC;AACxB,MAAM,KAAK,GAAG,GAAG,KAAK,IAAI,KAAK,EAAE,CAAC;AAgBlC;;;GAGG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO;QACL;YACE,GAAG,EAAE,GAAG;YACR,KAAK,EAAE,UAAU;YACjB,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe;YAC1C,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE;gBACpC,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;gBACvD,MAAM,cAAc,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;gBAChD,OAAO,IAAI,CAAC;YACd,CAAC;SACF;QACD;YACE,GAAG,EAAE,GAAG;YACR,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;gBACtB,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;gBACjD,OAAO,GAAG,KAAK,CAAC,QAAQ,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;YAC9C,CAAC;YACD,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE;gBACpC,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;gBACvD,MAAM,cAAc,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;gBAChD,OAAO,IAAI,CAAC;YACd,CAAC;SACF;QACD;YACE,GAAG,EAAE,GAAG;YACR,KAAK,EAAE,cAAc;YACrB,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;gBACtB,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC;oBACpB,gBAAgB,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,QAAQ;oBAC7C,gBAAgB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,QAAQ;iBAC5C,CAAC,CAAC;gBACH,OAAO,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACxF,CAAC;YACD,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,UAAU,CAAC;SAClE;QACD;YACE,GAAG,EAAE,GAAG;YACR,KAAK,EAAE,kBAAkB;YACzB,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACvB,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;gBACnD,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC7C,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,aAAa,CAAC;YAClE,CAAC;YACD,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAC;SAC/D;QACD;YACE,GAAG,EAAE,GAAG;YACR,KAAK,EAAE,oBAAoB;YAC3B,QAAQ,EAAE,GAAG,EAAE;gBACb,IAAI,CAAC;oBACH,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;oBAChC,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;oBAC7C,EAAE,CAAC,KAAK,EAAE,CAAC;oBACX,OAAO,UAAU,IAAI,gBAAgB,CAAC;gBACxC,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,gBAAgB,CAAC;gBAC1B,CAAC;YACH,CAAC;YACD,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;gBACjB,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;gBAClE,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;gBACvC,IAAI,CAAC;oBACH,OAAO,MAAM,kBAAkB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;gBACjD,CAAC;wBAAS,CAAC;oBACT,SAAS,CAAC,KAAK,EAAE,CAAC;gBACpB,CAAC;YACH,CAAC;SACF;QACD;YACE,GAAG,EAAE,GAAG;YACR,KAAK,EAAE,YAAY;YACnB,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;gBAChB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO;oBAAE,OAAO,UAAU,CAAC;gBAC3C,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,IAAI,QAAQ,CAAC;gBAChD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,SAAS,CAAC;gBAC3C,OAAO,GAAG,QAAQ,MAAM,KAAK,EAAE,CAAC;YAClC,CAAC;YACD,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE;gBACpC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;gBACtD,MAAM,aAAa,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;gBAC/C,OAAO,IAAI,CAAC;YACd,CAAC;SACF;QACD;YACE,GAAG,EAAE,GAAG;YACR,KAAK,EAAE,kBAAkB;YACzB,QAAQ,EAAE,KAAK,IAAI,EAAE;gBACnB,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;gBAC1E,MAAM,KAAK,GAAG,MAAM,mBAAmB,EAAE,CAAC;gBAC1C,OAAO,GAAG,KAAK,CAAC,MAAM,SAAS,CAAC;YAClC,CAAC;YACD,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;gBACjB,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;gBAC3E,OAAO,oBAAoB,CAAC,EAAE,CAAC,CAAC;YAClC,CAAC;SACF;KACF,CAAC;AACJ,CAAC;AAED,8EAA8E;AAE9E;;;GAGG;AACH,KAAK,UAAU,WAAW,CAAC,EAAqB,EAAE,UAAkB;IAClE,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;IAClE,OAAO,eAAe,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;AACxD,CAAC;AAED,yEAAyE;AACzE,KAAK,UAAU,QAAQ,CAAC,EAAqB,EAAE,UAAkB;IAC/D,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAC5D,OAAO,YAAY,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;AACrD,CAAC;AAWD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAAuB,EAAE;IAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACnD,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;IACxB,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAExE,MAAM,QAAQ,GAAG,aAAa,EAAE,CAAC;IACjC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,IAAI,CAAC;QACH,OAAO,IAAI,EAAE,CAAC;YACZ,mEAAmE;YACnE,mCAAmC;YACnC,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC;YAEzC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,kDAAkD,KAAK,EAAE,CAAC,CAAC;YAC9E,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,kDAAkD,KAAK,EAAE,CAAC,CAAC;YAC9E,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,kDAAkD,KAAK,EAAE,CAAC,CAAC;YAC9E,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACzB,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACpC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;gBAC1D,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,GAAG,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,EAAE,CAAC;gBACjF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,kDAAkD,KAAK,EAAE,CAAC,CAAC;YAC9E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,KAAK,CAAC,CAAC;YAEnF,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC9D,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACnD,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACxC,IAAI,SAAS,EAAE,CAAC;oBACd,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,oEAAoE,KAAK,EAAE,CAAC,CAAC;gBACjG,CAAC;gBACD,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC;YACvD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,mBAAmB,MAAM,GAAG,KAAK,EAAE,CAAC,CAAC;gBACvD,SAAS;YACX,CAAC;YAED,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC;YAChD,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;gBAC/D,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBACzB,SAAS,GAAG,IAAI,CAAC;gBACnB,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,0BAA0B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC;YAC1G,CAAC;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,IAAI,MAAM;YAAE,EAAE,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;AACH,CAAC"}
|
package/dist/lib/timeline.d.ts
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* Compute summary statistics across the store.
|
|
6
6
|
*/
|
|
7
7
|
import { Memory } from "./store.js";
|
|
8
|
+
import { DbMemory } from "./db.js";
|
|
8
9
|
export type TimePeriod = "day" | "week" | "month" | "year";
|
|
9
10
|
export interface TimelineEntry {
|
|
10
11
|
period: string;
|
|
@@ -27,6 +28,12 @@ export interface MemoryStats {
|
|
|
27
28
|
* Group memories by time period based on their created/modified dates.
|
|
28
29
|
*/
|
|
29
30
|
export declare function groupByPeriod(memories: Memory[], period: TimePeriod): TimelineEntry[];
|
|
31
|
+
/**
|
|
32
|
+
* v5.7.0: same logic, runs against DbMemory rows from the central DB.
|
|
33
|
+
* The legacy file-based path (above) reads from `Memory` objects which
|
|
34
|
+
* are mostly empty post-DB-only — most callers should use this variant.
|
|
35
|
+
*/
|
|
36
|
+
export declare function groupDbByPeriod(memories: DbMemory[], period: TimePeriod): TimelineEntry[];
|
|
30
37
|
/**
|
|
31
38
|
* Compute summary statistics across all memories.
|
|
32
39
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeline.d.ts","sourceRoot":"","sources":["../../src/lib/timeline.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"timeline.d.ts","sourceRoot":"","sources":["../../src/lib/timeline.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAE3D,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,UAAU,GAAG,aAAa,EAAE,CASrF;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,UAAU,GAAG,aAAa,EAAE,CAKzF;AA2CD;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,WAAW,CAmC5D"}
|
package/dist/lib/timeline.js
CHANGED
|
@@ -8,22 +8,36 @@
|
|
|
8
8
|
* Group memories by time period based on their created/modified dates.
|
|
9
9
|
*/
|
|
10
10
|
export function groupByPeriod(memories, period) {
|
|
11
|
+
return groupRowsByPeriod(memories.map((m) => ({
|
|
12
|
+
title: m.frontmatter.title,
|
|
13
|
+
created: m.frontmatter.created,
|
|
14
|
+
modified: m.frontmatter.modified,
|
|
15
|
+
})), period);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* v5.7.0: same logic, runs against DbMemory rows from the central DB.
|
|
19
|
+
* The legacy file-based path (above) reads from `Memory` objects which
|
|
20
|
+
* are mostly empty post-DB-only — most callers should use this variant.
|
|
21
|
+
*/
|
|
22
|
+
export function groupDbByPeriod(memories, period) {
|
|
23
|
+
return groupRowsByPeriod(memories.map((m) => ({ title: m.title, created: m.created, modified: m.modified })), period);
|
|
24
|
+
}
|
|
25
|
+
function groupRowsByPeriod(rows, period) {
|
|
11
26
|
const createdMap = new Map();
|
|
12
27
|
const modifiedMap = new Map();
|
|
13
|
-
for (const m of
|
|
14
|
-
const createdKey = toPeriodKey(m.
|
|
28
|
+
for (const m of rows) {
|
|
29
|
+
const createdKey = toPeriodKey(m.created, period);
|
|
15
30
|
if (createdKey) {
|
|
16
31
|
const entry = createdMap.get(createdKey) || { count: 0, titles: [] };
|
|
17
32
|
entry.count++;
|
|
18
|
-
entry.titles.push(m.
|
|
33
|
+
entry.titles.push(m.title);
|
|
19
34
|
createdMap.set(createdKey, entry);
|
|
20
35
|
}
|
|
21
|
-
const modifiedKey = toPeriodKey(m.
|
|
36
|
+
const modifiedKey = toPeriodKey(m.modified, period);
|
|
22
37
|
if (modifiedKey && modifiedKey !== createdKey) {
|
|
23
38
|
modifiedMap.set(modifiedKey, (modifiedMap.get(modifiedKey) || 0) + 1);
|
|
24
39
|
}
|
|
25
40
|
}
|
|
26
|
-
// Merge all period keys
|
|
27
41
|
const allKeys = new Set([...createdMap.keys(), ...modifiedMap.keys()]);
|
|
28
42
|
const entries = [];
|
|
29
43
|
for (const key of allKeys) {
|
package/dist/lib/timeline.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeline.js","sourceRoot":"","sources":["../../src/lib/timeline.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"timeline.js","sourceRoot":"","sources":["../../src/lib/timeline.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gnosys",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.7.0",
|
|
4
4
|
"description": "Gnosys — Persistent Memory for AI Agents. Sandbox-first runtime, central SQLite brain, federated search, Dream Mode, Web Knowledge Base, Obsidian export.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|