gnosys 5.4.3 → 5.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/README.md +52 -8
  2. package/dist/cli.js +246 -27
  3. package/dist/cli.js.map +1 -1
  4. package/dist/lib/audioExtract.d.ts +1 -1
  5. package/dist/lib/audioExtract.js +6 -6
  6. package/dist/lib/audioExtract.js.map +1 -1
  7. package/dist/lib/chat/choose.d.ts +75 -0
  8. package/dist/lib/chat/choose.d.ts.map +1 -0
  9. package/dist/lib/chat/choose.js +146 -0
  10. package/dist/lib/chat/choose.js.map +1 -0
  11. package/dist/lib/chat/commands.d.ts +96 -0
  12. package/dist/lib/chat/commands.d.ts.map +1 -0
  13. package/dist/lib/chat/commands.js +367 -0
  14. package/dist/lib/chat/commands.js.map +1 -0
  15. package/dist/lib/chat/focus.d.ts +70 -0
  16. package/dist/lib/chat/focus.d.ts.map +1 -0
  17. package/dist/lib/chat/focus.js +120 -0
  18. package/dist/lib/chat/focus.js.map +1 -0
  19. package/dist/lib/chat/index.d.ts +32 -0
  20. package/dist/lib/chat/index.d.ts.map +1 -0
  21. package/dist/lib/chat/index.js +151 -0
  22. package/dist/lib/chat/index.js.map +1 -0
  23. package/dist/lib/chat/intent.d.ts +100 -0
  24. package/dist/lib/chat/intent.d.ts.map +1 -0
  25. package/dist/lib/chat/intent.js +192 -0
  26. package/dist/lib/chat/intent.js.map +1 -0
  27. package/dist/lib/chat/llmTurn.d.ts +37 -0
  28. package/dist/lib/chat/llmTurn.d.ts.map +1 -0
  29. package/dist/lib/chat/llmTurn.js +61 -0
  30. package/dist/lib/chat/llmTurn.js.map +1 -0
  31. package/dist/lib/chat/recall.d.ts +58 -0
  32. package/dist/lib/chat/recall.d.ts.map +1 -0
  33. package/dist/lib/chat/recall.js +109 -0
  34. package/dist/lib/chat/recall.js.map +1 -0
  35. package/dist/lib/chat/render.d.ts +30 -0
  36. package/dist/lib/chat/render.d.ts.map +1 -0
  37. package/dist/lib/chat/render.js +737 -0
  38. package/dist/lib/chat/render.js.map +1 -0
  39. package/dist/lib/chat/session.d.ts +121 -0
  40. package/dist/lib/chat/session.d.ts.map +1 -0
  41. package/dist/lib/chat/session.js +148 -0
  42. package/dist/lib/chat/session.js.map +1 -0
  43. package/dist/lib/chat/types.d.ts +42 -0
  44. package/dist/lib/chat/types.d.ts.map +1 -0
  45. package/dist/lib/chat/types.js +6 -0
  46. package/dist/lib/chat/types.js.map +1 -0
  47. package/dist/lib/chat/write.d.ts +66 -0
  48. package/dist/lib/chat/write.d.ts.map +1 -0
  49. package/dist/lib/chat/write.js +203 -0
  50. package/dist/lib/chat/write.js.map +1 -0
  51. package/dist/lib/config.d.ts.map +1 -1
  52. package/dist/lib/config.js +6 -2
  53. package/dist/lib/config.js.map +1 -1
  54. package/dist/lib/db.d.ts +3 -1
  55. package/dist/lib/db.d.ts.map +1 -1
  56. package/dist/lib/db.js +18 -2
  57. package/dist/lib/db.js.map +1 -1
  58. package/dist/lib/embeddings.d.ts +1 -1
  59. package/dist/lib/embeddings.d.ts.map +1 -1
  60. package/dist/lib/embeddings.js +9 -4
  61. package/dist/lib/embeddings.js.map +1 -1
  62. package/dist/lib/exportProject.d.ts +51 -0
  63. package/dist/lib/exportProject.d.ts.map +1 -0
  64. package/dist/lib/exportProject.js +72 -0
  65. package/dist/lib/exportProject.js.map +1 -0
  66. package/dist/lib/importProject.d.ts +35 -0
  67. package/dist/lib/importProject.d.ts.map +1 -0
  68. package/dist/lib/importProject.js +135 -0
  69. package/dist/lib/importProject.js.map +1 -0
  70. package/package.json +8 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/lib/chat/render.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,121 @@
1
+ /**
2
+ * Chat session log — append-only JSONL writer + reader.
3
+ *
4
+ * Every turn (user, assistant, recall, command, choice, focus shift, etc.) is
5
+ * appended as one JSON line. fsync'd before the next prompt so no turn is lost
6
+ * on crash. The log is the source of truth for `--resume`.
7
+ */
8
+ /** Resolved on each call so test environments and runtime overrides take effect. */
9
+ export declare function getSessionLogDir(): string;
10
+ /** Session log entry types. */
11
+ export type SessionEvent = {
12
+ type: "session_start";
13
+ ts: string;
14
+ project_id?: string;
15
+ provider?: string;
16
+ model?: string;
17
+ } | {
18
+ type: "user";
19
+ ts: string;
20
+ text: string;
21
+ } | {
22
+ type: "assistant";
23
+ ts: string;
24
+ text: string;
25
+ provider?: string;
26
+ model?: string;
27
+ tokens_in?: number;
28
+ tokens_out?: number;
29
+ cited_memory_ids?: string[];
30
+ } | {
31
+ type: "recall";
32
+ ts: string;
33
+ query: string;
34
+ memory_ids: string[];
35
+ scope: string;
36
+ } | {
37
+ type: "command";
38
+ ts: string;
39
+ name: string;
40
+ args: string[];
41
+ result?: string;
42
+ } | {
43
+ type: "intent_inferred";
44
+ ts: string;
45
+ pattern: string;
46
+ intent: string;
47
+ accepted: boolean;
48
+ } | {
49
+ type: "choice_offered";
50
+ ts: string;
51
+ prompt: string;
52
+ option_ids: string[];
53
+ } | {
54
+ type: "choice_made";
55
+ ts: string;
56
+ option_id: string;
57
+ label: string;
58
+ } | {
59
+ type: "focus";
60
+ ts: string;
61
+ topic: string;
62
+ previous_topic?: string;
63
+ } | {
64
+ type: "branch";
65
+ ts: string;
66
+ from_session: string;
67
+ new_session: string;
68
+ } | {
69
+ type: "pin";
70
+ ts: string;
71
+ memory_id: string;
72
+ } | {
73
+ type: "unpin";
74
+ ts: string;
75
+ memory_id: string;
76
+ } | {
77
+ type: "memory_promoted";
78
+ ts: string;
79
+ memory_id: string;
80
+ source: "remember" | "save-turn" | "auto" | "attach";
81
+ } | {
82
+ type: "session_end";
83
+ ts: string;
84
+ reason: "quit" | "timeout" | "error";
85
+ } | {
86
+ type: "error";
87
+ ts: string;
88
+ message: string;
89
+ };
90
+ export interface SessionMetadata {
91
+ id: string;
92
+ path: string;
93
+ created: string;
94
+ last_active: string;
95
+ project_id?: string;
96
+ turns: number;
97
+ size_bytes: number;
98
+ }
99
+ /** Generate a new session ID (ULID for time-sortability). */
100
+ export declare function newSessionId(): string;
101
+ /** Resolve the file path for a session ID. */
102
+ export declare function sessionPath(sessionId: string): string;
103
+ /** Append a single event to the session log. fsync ensures durability. */
104
+ export declare function appendEvent(sessionId: string, event: SessionEvent): void;
105
+ /** Open or create a session and write the start event. Returns the session ID. */
106
+ export declare function startSession(opts: {
107
+ id?: string;
108
+ project_id?: string;
109
+ provider?: string;
110
+ model?: string;
111
+ }): string;
112
+ /** Read every event from a session log, in order. */
113
+ export declare function readSession(sessionId: string): SessionEvent[];
114
+ /** List all session metadata, newest first. Cheap — only stats files + reads first event. */
115
+ export declare function listSessions(): SessionMetadata[];
116
+ /** Full-text search across all session logs. Returns sessionId + matching event lines. */
117
+ export declare function searchSessions(query: string, limit?: number): Array<{
118
+ sessionId: string;
119
+ event: SessionEvent;
120
+ }>;
121
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/lib/chat/session.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,oFAAoF;AACpF,wBAAgB,gBAAgB,IAAI,MAAM,CAKzC;AAED,+BAA+B;AAC/B,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7F;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GACxJ;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAClF;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9E;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,GAC3F;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,GAC5E;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACrE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,GACrE;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GACzE;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,UAAU,GAAG,WAAW,GAAG,MAAM,GAAG,QAAQ,CAAA;CAAE,GAChH;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAA;CAAE,GACzE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnD,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAQD,6DAA6D;AAC7D,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,8CAA8C;AAC9C,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,0EAA0E;AAC1E,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI,CAOxE;AAED,kFAAkF;AAClF,wBAAgB,YAAY,CAAC,IAAI,EAAE;IAAE,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAUlH;AAED,qDAAqD;AACrD,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,EAAE,CAc7D;AAED,6FAA6F;AAC7F,wBAAgB,YAAY,IAAI,eAAe,EAAE,CA4ChD;AAED,0FAA0F;AAC1F,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,KAAK,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,YAAY,CAAA;CAAE,CAAC,CAgC3G"}
@@ -0,0 +1,148 @@
1
+ /**
2
+ * Chat session log — append-only JSONL writer + reader.
3
+ *
4
+ * Every turn (user, assistant, recall, command, choice, focus shift, etc.) is
5
+ * appended as one JSON line. fsync'd before the next prompt so no turn is lost
6
+ * on crash. The log is the source of truth for `--resume`.
7
+ */
8
+ import { existsSync, mkdirSync, appendFileSync, readFileSync, readdirSync, statSync } from "fs";
9
+ import { join } from "path";
10
+ import { homedir } from "os";
11
+ import { ulid } from "ulidx";
12
+ /** Resolved on each call so test environments and runtime overrides take effect. */
13
+ export function getSessionLogDir() {
14
+ return (process.env.GNOSYS_CHAT_SESSIONS_DIR ||
15
+ join(process.env.GNOSYS_HOME || join(homedir(), ".gnosys"), "chat-sessions"));
16
+ }
17
+ function ensureDir() {
18
+ if (!existsSync(getSessionLogDir())) {
19
+ mkdirSync(getSessionLogDir(), { recursive: true });
20
+ }
21
+ }
22
+ /** Generate a new session ID (ULID for time-sortability). */
23
+ export function newSessionId() {
24
+ return ulid();
25
+ }
26
+ /** Resolve the file path for a session ID. */
27
+ export function sessionPath(sessionId) {
28
+ return join(getSessionLogDir(), `${sessionId}.jsonl`);
29
+ }
30
+ /** Append a single event to the session log. fsync ensures durability. */
31
+ export function appendEvent(sessionId, event) {
32
+ ensureDir();
33
+ const line = JSON.stringify(event) + "\n";
34
+ // appendFileSync defaults to {flag: 'a'} which O_APPEND-opens, writes, closes.
35
+ // On macOS/Linux this is durable enough for a chat log; we don't need fsync()
36
+ // on every line — the cost outweighs the benefit for an interactive REPL.
37
+ appendFileSync(sessionPath(sessionId), line, { encoding: "utf-8" });
38
+ }
39
+ /** Open or create a session and write the start event. Returns the session ID. */
40
+ export function startSession(opts) {
41
+ const id = opts.id ?? newSessionId();
42
+ appendEvent(id, {
43
+ type: "session_start",
44
+ ts: new Date().toISOString(),
45
+ project_id: opts.project_id,
46
+ provider: opts.provider,
47
+ model: opts.model,
48
+ });
49
+ return id;
50
+ }
51
+ /** Read every event from a session log, in order. */
52
+ export function readSession(sessionId) {
53
+ const path = sessionPath(sessionId);
54
+ if (!existsSync(path))
55
+ return [];
56
+ const raw = readFileSync(path, "utf-8");
57
+ const events = [];
58
+ for (const line of raw.split("\n")) {
59
+ if (!line.trim())
60
+ continue;
61
+ try {
62
+ events.push(JSON.parse(line));
63
+ }
64
+ catch {
65
+ // Skip malformed line — log corruption from partial write
66
+ }
67
+ }
68
+ return events;
69
+ }
70
+ /** List all session metadata, newest first. Cheap — only stats files + reads first event. */
71
+ export function listSessions() {
72
+ ensureDir();
73
+ const files = readdirSync(getSessionLogDir()).filter((f) => f.endsWith(".jsonl"));
74
+ const out = [];
75
+ for (const f of files) {
76
+ const id = f.replace(/\.jsonl$/, "");
77
+ const path = join(getSessionLogDir(), f);
78
+ let stat;
79
+ try {
80
+ stat = statSync(path);
81
+ }
82
+ catch {
83
+ continue;
84
+ }
85
+ // Read just the first event for project_id and created
86
+ let created = stat.birthtime.toISOString();
87
+ let project_id;
88
+ try {
89
+ const events = readSession(id);
90
+ if (events.length > 0) {
91
+ const first = events[0];
92
+ if (first.type === "session_start") {
93
+ created = first.ts;
94
+ project_id = first.project_id;
95
+ }
96
+ }
97
+ out.push({
98
+ id,
99
+ path,
100
+ created,
101
+ last_active: stat.mtime.toISOString(),
102
+ project_id,
103
+ turns: events.filter((e) => e.type === "user" || e.type === "assistant").length,
104
+ size_bytes: stat.size,
105
+ });
106
+ }
107
+ catch {
108
+ // Skip unreadable files
109
+ }
110
+ }
111
+ // Newest first
112
+ out.sort((a, b) => b.last_active.localeCompare(a.last_active));
113
+ return out;
114
+ }
115
+ /** Full-text search across all session logs. Returns sessionId + matching event lines. */
116
+ export function searchSessions(query, limit = 50) {
117
+ const needle = query.toLowerCase();
118
+ const sessions = listSessions();
119
+ const matches = [];
120
+ for (const s of sessions) {
121
+ const events = readSession(s.id);
122
+ for (const event of events) {
123
+ // Search across user text, assistant text, command names, focus topics
124
+ const haystack = (() => {
125
+ switch (event.type) {
126
+ case "user":
127
+ case "assistant":
128
+ return event.text;
129
+ case "command":
130
+ return `${event.name} ${event.args.join(" ")} ${event.result ?? ""}`;
131
+ case "focus":
132
+ return event.topic;
133
+ case "recall":
134
+ return event.query;
135
+ default:
136
+ return "";
137
+ }
138
+ })().toLowerCase();
139
+ if (haystack.includes(needle)) {
140
+ matches.push({ sessionId: s.id, event });
141
+ if (matches.length >= limit)
142
+ return matches;
143
+ }
144
+ }
145
+ }
146
+ return matches;
147
+ }
148
+ //# sourceMappingURL=session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/lib/chat/session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Shared types for the chat TUI. Kept separate from session.ts so the
3
+ * React/ink components can import without pulling fs/path dependencies.
4
+ */
5
+ export type Turn = {
6
+ role: "user";
7
+ text: string;
8
+ ts: string;
9
+ } | {
10
+ role: "assistant";
11
+ text: string;
12
+ ts: string;
13
+ provider?: string;
14
+ model?: string;
15
+ tokensIn?: number;
16
+ tokensOut?: number;
17
+ citedMemoryIds?: string[];
18
+ } | {
19
+ role: "system";
20
+ text: string;
21
+ ts: string;
22
+ };
23
+ export type ChatStatus = {
24
+ kind: "idle";
25
+ } | {
26
+ kind: "thinking";
27
+ } | {
28
+ kind: "streaming";
29
+ partial: string;
30
+ } | {
31
+ kind: "error";
32
+ message: string;
33
+ };
34
+ export interface ChatHeaderInfo {
35
+ sessionId: string;
36
+ projectName?: string;
37
+ provider: string;
38
+ model: string;
39
+ tokensIn: number;
40
+ tokensOut: number;
41
+ }
42
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/chat/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,IAAI,GACZ;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GACpJ;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjD,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvC,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Shared types for the chat TUI. Kept separate from session.ts so the
3
+ * React/ink components can import without pulling fs/path dependencies.
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/chat/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Chat-side memory writing — promote chat content to gnosys memories.
3
+ *
4
+ * Handles three triggers:
5
+ * /remember <text> explicit user-marked insight
6
+ * /save-turn distill the last user+assistant exchange
7
+ * /attach <file> ingest a file via the multimodal pipeline
8
+ *
9
+ * All promoted memories carry session provenance:
10
+ * tags.session: [<sessionId>]
11
+ * tags.from-chat: ["true"]
12
+ * tags.source: ["remember" | "save-turn" | "auto" | "attach"]
13
+ */
14
+ import { GnosysDB } from "../db.js";
15
+ import { GnosysConfig } from "../config.js";
16
+ import { Turn } from "./types.js";
17
+ export type PromoteSource = "remember" | "save-turn" | "auto" | "attach";
18
+ export interface PromoteOptions {
19
+ /** Free-form text to save. */
20
+ content: string;
21
+ /** Optional override for category (default depends on source). */
22
+ category?: string;
23
+ /** Optional override for title (default: derived from first line / LLM). */
24
+ title?: string;
25
+ /** Source trigger — recorded as a tag for provenance. */
26
+ source: PromoteSource;
27
+ /** Session ID for provenance. */
28
+ sessionId: string;
29
+ /** Project ID to scope the memory to (null → user scope). */
30
+ projectId: string | null;
31
+ /** Optional structuring config (when LLM is available). Set to null to skip LLM. */
32
+ config?: GnosysConfig | null;
33
+ }
34
+ export interface PromoteResult {
35
+ id: string;
36
+ title: string;
37
+ category: string;
38
+ }
39
+ /**
40
+ * Write a chat-sourced memory to the central DB. Returns the assigned ID.
41
+ *
42
+ * Uses LLM structuring when config is provided and the structuring provider
43
+ * is reachable; falls back to a heuristic title + category otherwise.
44
+ */
45
+ export declare function promoteToMemory(db: GnosysDB, opts: PromoteOptions): Promise<PromoteResult>;
46
+ /** Build the content for /save-turn from the most recent user+assistant exchange. */
47
+ export declare function lastExchange(buffer: Turn[]): {
48
+ user: string;
49
+ assistant: string;
50
+ } | null;
51
+ /** Format a save-turn pair as a markdown exchange suitable for memory content. */
52
+ export declare function formatExchange(pair: {
53
+ user: string;
54
+ assistant: string;
55
+ }): string;
56
+ export interface AutoPromoteHint {
57
+ reason: string;
58
+ match: string;
59
+ }
60
+ /**
61
+ * Scan a user turn for "looks like a decision/insight worth saving" patterns.
62
+ * Returns a hint that the TUI can surface as an inline confirm prompt.
63
+ * Returns null when nothing matches.
64
+ */
65
+ export declare function detectAutoPromote(userText: string): AutoPromoteHint | null;
66
+ //# sourceMappingURL=write.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write.d.ts","sourceRoot":"","sources":["../../../src/lib/chat/write.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,QAAQ,EAAY,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,WAAW,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEzE,MAAM,WAAW,cAAc;IAC7B,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,MAAM,EAAE,aAAa,CAAC;IACtB,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,oFAAoF;IACpF,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAgFD;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,EAAE,EAAE,QAAQ,EACZ,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,aAAa,CAAC,CA8DxB;AAED,qFAAqF;AACrF,wBAAgB,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAsBvF;AAED,kFAAkF;AAClF,wBAAgB,cAAc,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAEhF;AAUD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAQ1E"}