0xkobold 0.5.2 → 0.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 (64) hide show
  1. package/README.md +88 -11
  2. package/dist/package.json +3 -3
  3. package/dist/skills/session-resume-skill.js +121 -0
  4. package/dist/skills/session-resume-skill.js.map +1 -0
  5. package/dist/src/agent/DraconicRunRegistry.js +0 -9
  6. package/dist/src/agent/DraconicRunRegistry.js.map +1 -1
  7. package/dist/src/agent/auth-profiles.js +290 -0
  8. package/dist/src/agent/auth-profiles.js.map +1 -0
  9. package/dist/src/agent/embedded-runner.js +115 -29
  10. package/dist/src/agent/embedded-runner.js.map +1 -1
  11. package/dist/src/agent/index.js +4 -0
  12. package/dist/src/agent/index.js.map +1 -1
  13. package/dist/src/agent/model-fallback.js +173 -0
  14. package/dist/src/agent/model-fallback.js.map +1 -0
  15. package/dist/src/agent/tools/spawn-agent.js.map +1 -1
  16. package/dist/src/cli/commands/gateway.js +4 -8
  17. package/dist/src/cli/commands/gateway.js.map +1 -1
  18. package/dist/src/cron/notifications.js +15 -5
  19. package/dist/src/cron/notifications.js.map +1 -1
  20. package/dist/src/cron/runner.js +15 -6
  21. package/dist/src/cron/runner.js.map +1 -1
  22. package/dist/src/event-bus/index.js.map +1 -1
  23. package/dist/src/extensions/core/gateway-status-extension.js +54 -0
  24. package/dist/src/extensions/core/gateway-status-extension.js.map +1 -0
  25. package/dist/src/gateway/gateway-server.js +383 -0
  26. package/dist/src/gateway/gateway-server.js.map +1 -0
  27. package/dist/src/gateway/index.js +15 -8
  28. package/dist/src/gateway/index.js.map +1 -1
  29. package/dist/src/gateway/methods/agent.js +348 -0
  30. package/dist/src/gateway/methods/agent.js.map +1 -0
  31. package/dist/src/gateway/methods/index.js +30 -0
  32. package/dist/src/gateway/methods/index.js.map +1 -0
  33. package/dist/src/gateway/methods/types.js +7 -0
  34. package/dist/src/gateway/methods/types.js.map +1 -0
  35. package/dist/src/gateway/persistence/AgentStore.js +6 -0
  36. package/dist/src/gateway/persistence/AgentStore.js.map +1 -1
  37. package/dist/src/gateway/protocol/frames.js +43 -0
  38. package/dist/src/gateway/protocol/frames.js.map +1 -0
  39. package/dist/src/gateway/protocol/index.js +5 -0
  40. package/dist/src/gateway/protocol/index.js.map +1 -0
  41. package/dist/src/gateway/quickstart.js +34 -0
  42. package/dist/src/gateway/quickstart.js.map +1 -0
  43. package/dist/src/index.js +33 -0
  44. package/dist/src/index.js.map +1 -1
  45. package/dist/src/memory/memory-integration.js +204 -0
  46. package/dist/src/memory/memory-integration.js.map +1 -0
  47. package/dist/src/memory/session-memory-bridge.js +177 -0
  48. package/dist/src/memory/session-memory-bridge.js.map +1 -0
  49. package/dist/src/memory/session-resume.js +265 -0
  50. package/dist/src/memory/session-resume.js.map +1 -0
  51. package/dist/src/memory/session-store.js +224 -0
  52. package/dist/src/memory/session-store.js.map +1 -0
  53. package/dist/src/skills/framework.js +104 -16
  54. package/dist/src/skills/framework.js.map +1 -1
  55. package/dist/src/tui/components/footer.js +106 -0
  56. package/dist/src/tui/components/footer.js.map +1 -0
  57. package/dist/src/tui/components/status-bar.js +82 -16
  58. package/dist/src/tui/components/status-bar.js.map +1 -1
  59. package/dist/src/tui/gateway-chat-client.js +218 -0
  60. package/dist/src/tui/gateway-chat-client.js.map +1 -0
  61. package/dist/src/tui/index.js +1 -0
  62. package/dist/src/tui/index.js.map +1 -1
  63. package/package.json +3 -3
  64. package/skills/session-resume-skill.ts +150 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,204 @@
1
+ /**
2
+ * Memory Integration (Phase 5)
3
+ *
4
+ * Bridges Session Memory Bridge ↔ Perennial Memory ↔ Generative Agents
5
+ *
6
+ * - Saves thread summaries to perennial
7
+ * - Loads relevant perennial memories into thread context
8
+ * - Triggers generative reflections on big sessions
9
+ * - Auto-recap before new session messages
10
+ */
11
+ import { eventBus } from "../event-bus";
12
+ import { getSessionMemoryBridge } from "./session-memory-bridge";
13
+ const DEFAULT_CONFIG = {
14
+ autoSaveThreshold: 10,
15
+ contextMemoryLimit: 5,
16
+ observationReflectionThreshold: 20,
17
+ };
18
+ class MemoryIntegration {
19
+ config = DEFAULT_CONFIG;
20
+ // Track observation counts per session (generative agents uses this for reflections)
21
+ observationCounts = new Map();
22
+ constructor() {
23
+ console.log("[MemoryIntegration] Initializing...");
24
+ this.setupEventListeners();
25
+ }
26
+ setupEventListeners() {
27
+ // When session connects via gateway
28
+ eventBus.on("gateway.session_connected", async (event) => {
29
+ const { sessionKey } = event.payload;
30
+ await this.enrichSessionWithPerennial(sessionKey);
31
+ });
32
+ // When agent completes a run in gateway session
33
+ eventBus.on("session.run.completed", async (event) => {
34
+ const { sessionKey, runId, result } = event.payload;
35
+ await this.processRunCompletion(sessionKey, runId, result);
36
+ });
37
+ // When generative agent observes
38
+ eventBus.on("generative.observation", async (event) => {
39
+ const { agentId, content, sessionId } = event.payload;
40
+ if (sessionId) {
41
+ await this.trackObservation(sessionId, agentId, content);
42
+ }
43
+ });
44
+ // When generative recap triggers
45
+ eventBus.on("generative.recap", async (event) => {
46
+ const { agentId, summary, memories } = event.payload;
47
+ await this.processGenerativeRecap(agentId, summary, memories);
48
+ });
49
+ }
50
+ /**
51
+ * 1. ENRICH: Load relevant perennial memories into session context
52
+ */
53
+ async enrichSessionWithPerennial(sessionKey) {
54
+ console.log(`[MemoryIntegration] Enriching session ${sessionKey.slice(0, 8)}...`);
55
+ try {
56
+ // Get session context
57
+ const bridge = getSessionMemoryBridge();
58
+ const session = await bridge.getEnrichedSession(sessionKey);
59
+ if (!session)
60
+ return;
61
+ // Try to search perennial for relevant memories
62
+ // This would need perennial memory API - let's emit an event
63
+ const query = session.conversationSummary || "current work context";
64
+ // Event for perennial to pick up
65
+ eventBus.emit("perennial.query_for_session", {
66
+ sessionKey,
67
+ query,
68
+ limit: this.config.contextMemoryLimit,
69
+ });
70
+ }
71
+ catch (err) {
72
+ console.warn("[MemoryIntegration] Failed to enrich session:", err);
73
+ }
74
+ }
75
+ /**
76
+ * 2. SAVE: When session accumulates messages, save to perennial
77
+ */
78
+ async processRunCompletion(sessionKey, _runId, result) {
79
+ try {
80
+ const bridge = getSessionMemoryBridge();
81
+ const session = await bridge.getEnrichedSession(sessionKey);
82
+ if (!session)
83
+ return;
84
+ // Check if we should auto-save
85
+ if (session.messageCount >= this.config.autoSaveThreshold) {
86
+ // Emit event for perennial to save this thread
87
+ eventBus.emit("perennial.save_session", {
88
+ sessionKey,
89
+ memoryThreadId: session.memoryThreadId,
90
+ summary: session.conversationSummary,
91
+ category: "context",
92
+ tags: ["gateway-session", `thread-${session.memoryThreadId}`],
93
+ importance: 0.7,
94
+ });
95
+ }
96
+ // Also add generative observation
97
+ if (result) {
98
+ eventBus.emit("generative.observe_session", {
99
+ sessionKey,
100
+ content: `Session completed with ${result.slice(0, 100)}...
101
+ `, type: "action",
102
+ });
103
+ }
104
+ }
105
+ catch (err) {
106
+ console.warn("[MemoryIntegration] Failed to process run completion:", err);
107
+ }
108
+ }
109
+ /**
110
+ * 3. TRACK: Count observations for reflection triggering
111
+ */
112
+ async trackObservation(sessionId, agentId, content) {
113
+ const currentCount = this.observationCounts.get(sessionId) || 0;
114
+ const newCount = currentCount + 1;
115
+ this.observationCounts.set(sessionId, newCount);
116
+ // Check if we should trigger reflection
117
+ if (newCount >= this.config.observationReflectionThreshold && newCount % 20 === 0) {
118
+ console.log(`[MemoryIntegration] Triggering reflection for ${sessionId.slice(0, 8)}...`);
119
+ eventBus.emit("generative.trigger_reflection", {
120
+ agentId,
121
+ sessionId,
122
+ observationCount: newCount,
123
+ });
124
+ }
125
+ }
126
+ /**
127
+ * 4. RECAP: When generative agents generate insights, save to perennial
128
+ */
129
+ async processGenerativeRecap(agentId, summary, memories) {
130
+ console.log(`[MemoryIntegration] Processing recap from ${agentId.slice(0, 8)}...`);
131
+ // Save the reflection summary to perennial
132
+ eventBus.emit("perennial.save", {
133
+ content: `Reflection from ${agentId}: ${summary}`,
134
+ category: "learning",
135
+ tags: ["generative-reflection", `agent-${agentId}`],
136
+ importance: 0.8,
137
+ });
138
+ // Also extract key observations and save
139
+ const keyMemories = memories
140
+ .filter(m => m.type === "observation" || m.type === "thought")
141
+ .slice(0, 5);
142
+ for (const mem of keyMemories) {
143
+ eventBus.emit("perennial.save", {
144
+ content: mem.content,
145
+ category: "context",
146
+ tags: ["generative-memory", `agent-${agentId}`, `type-${mem.type}`],
147
+ importance: 0.6,
148
+ });
149
+ }
150
+ }
151
+ /**
152
+ * 5. AUTO-RECAP: Get conversation summary before new messages
153
+ */
154
+ async getSessionRecap(sessionKey) {
155
+ try {
156
+ const bridge = getSessionMemoryBridge();
157
+ const context = await bridge.getMemoryContext(sessionKey);
158
+ if (!context)
159
+ return undefined;
160
+ // Try to get from generative agents
161
+ const memories = await this.queryGenerativeMemories(context.memoryThreadId);
162
+ if (memories.length > 0) {
163
+ return `Previous conversation (${memories.length} memories):
164
+ ${memories.map(m => `- ${m.content.slice(0, 80)}...`).join("\n")}`;
165
+ }
166
+ // Fall back to stored summary
167
+ if (context.conversationSummary) {
168
+ return `Summary: ${context.conversationSummary}`;
169
+ }
170
+ return undefined;
171
+ }
172
+ catch (err) {
173
+ console.warn("[MemoryIntegration] Failed to get recap:", err);
174
+ return undefined;
175
+ }
176
+ }
177
+ /**
178
+ * Query generative memory stream for this thread
179
+ */
180
+ async queryGenerativeMemories(threadId) {
181
+ // This would query the generative agents database
182
+ // For now, return empty and rely on event emission
183
+ eventBus.emit("generative.query_thread", { threadId });
184
+ return [];
185
+ }
186
+ /**
187
+ * Get total observation count for a session
188
+ */
189
+ getObservationCount(sessionId) {
190
+ return this.observationCounts.get(sessionId) || 0;
191
+ }
192
+ /**
193
+ * Reset observation count (e.g., when reflection completes)
194
+ */
195
+ resetObservationCount(sessionId) {
196
+ this.observationCounts.delete(sessionId);
197
+ }
198
+ }
199
+ // Singleton
200
+ const integration = new MemoryIntegration();
201
+ export function getMemoryIntegration() {
202
+ return integration;
203
+ }
204
+ //# sourceMappingURL=memory-integration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-integration.js","sourceRoot":"","sources":["../../../src/memory/memory-integration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,sBAAsB,EAAwB,MAAM,yBAAyB,CAAC;AAevF,MAAM,cAAc,GAA4B;IAC9C,iBAAiB,EAAE,EAAE;IACrB,kBAAkB,EAAE,CAAC;IACrB,8BAA8B,EAAE,EAAE;CACnC,CAAC;AAEF,MAAM,iBAAiB;IACb,MAAM,GAAG,cAAc,CAAC;IAChC,qFAAqF;IAC7E,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEtD;QACE,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACnD,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAEO,mBAAmB;QACzB,oCAAoC;QACpC,QAAQ,CAAC,EAAE,CAAC,2BAA2B,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACvD,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC,OAAiC,CAAC;YAC/D,MAAM,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,gDAAgD;QAChD,QAAQ,CAAC,EAAE,CAAC,uBAAuB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACnD,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,OAAgE,CAAC;YAC7G,MAAM,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,iCAAiC;QACjC,QAAQ,CAAC,EAAE,CAAC,wBAAwB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACpD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,OAAmE,CAAC;YAClH,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,iCAAiC;QACjC,QAAQ,CAAC,EAAE,CAAC,kBAAkB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAC9C,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,OAAmG,CAAC;YACjJ,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,0BAA0B,CAAC,UAAkB;QACjD,OAAO,CAAC,GAAG,CAAC,yCAAyC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAElF,IAAI,CAAC;YACH,sBAAsB;YACtB,MAAM,MAAM,GAAG,sBAAsB,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;YAE5D,IAAI,CAAC,OAAO;gBAAE,OAAO;YAErB,gDAAgD;YAChD,6DAA6D;YAC7D,MAAM,KAAK,GAAG,OAAO,CAAC,mBAAmB,IAAI,sBAAsB,CAAC;YAEpE,iCAAiC;YACjC,QAAQ,CAAC,IAAI,CAAC,6BAA6B,EAAE;gBAC3C,UAAU;gBACV,KAAK;gBACL,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB;aACtC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,+CAA+C,EAAE,GAAG,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,oBAAoB,CACxB,UAAkB,EAClB,MAAc,EACd,MAAe;QAEf,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,sBAAsB,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;YAE5D,IAAI,CAAC,OAAO;gBAAE,OAAO;YAErB,+BAA+B;YAC/B,IAAI,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBAC1D,+CAA+C;gBAC/C,QAAQ,CAAC,IAAI,CAAC,wBAAwB,EAAE;oBACtC,UAAU;oBACV,cAAc,EAAE,OAAO,CAAC,cAAc;oBACtC,OAAO,EAAE,OAAO,CAAC,mBAAmB;oBACpC,QAAQ,EAAE,SAAS;oBACnB,IAAI,EAAE,CAAC,iBAAiB,EAAE,UAAU,OAAO,CAAC,cAAc,EAAE,CAAC;oBAC7D,UAAU,EAAE,GAAG;iBAChB,CAAC,CAAC;YACL,CAAC;YAED,kCAAkC;YAClC,IAAI,MAAM,EAAE,CAAC;gBACX,QAAQ,CAAC,IAAI,CAAC,4BAA4B,EAAE;oBAC1C,UAAU;oBACV,OAAO,EAAE,0BAA0B,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;CAChE,EAAW,IAAI,EAAE,QAAQ;iBACjB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,uDAAuD,EAAE,GAAG,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CACpB,SAAiB,EACjB,OAAe,EACf,OAAe;QAEf,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,YAAY,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAEhD,wCAAwC;QACxC,IAAI,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,8BAA8B,IAAI,QAAQ,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;YAClF,OAAO,CAAC,GAAG,CAAC,iDAAiD,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;YAEzF,QAAQ,CAAC,IAAI,CAAC,+BAA+B,EAAE;gBAC7C,OAAO;gBACP,SAAS;gBACT,gBAAgB,EAAE,QAAQ;aAC3B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,sBAAsB,CAC1B,OAAe,EACf,OAAe,EACf,QAAkD;QAElD,OAAO,CAAC,GAAG,CAAC,6CAA6C,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAEnF,2CAA2C;QAC3C,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAC9B,OAAO,EAAE,mBAAmB,OAAO,KAAK,OAAO,EAAE;YACjD,QAAQ,EAAE,UAAU;YACpB,IAAI,EAAE,CAAC,uBAAuB,EAAE,SAAS,OAAO,EAAE,CAAC;YACnD,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;QAEH,yCAAyC;QACzC,MAAM,WAAW,GAAG,QAAQ;aACzB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC;aAC7D,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAEf,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC9B,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE;gBAC9B,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,QAAQ,EAAE,SAAS;gBACnB,IAAI,EAAE,CAAC,mBAAmB,EAAE,SAAS,OAAO,EAAE,EAAE,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;gBACnE,UAAU,EAAE,GAAG;aAChB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,UAAkB;QACtC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,sBAAsB,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;YAE1D,IAAI,CAAC,OAAO;gBAAE,OAAO,SAAS,CAAC;YAE/B,oCAAoC;YACpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAE5E,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,OAAO,0BAA0B,QAAQ,CAAC,MAAM;EACtD,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7D,CAAC;YAED,8BAA8B;YAC9B,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;gBAChC,OAAO,YAAY,OAAO,CAAC,mBAAmB,EAAE,CAAC;YACnD,CAAC;YAED,OAAO,SAAS,CAAC;QACnB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,0CAA0C,EAAE,GAAG,CAAC,CAAC;YAC9D,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,uBAAuB,CAAC,QAAgB;QACpD,kDAAkD;QAClD,mDAAmD;QACnD,QAAQ,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QACvD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACH,mBAAmB,CAAC,SAAiB;QACnC,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,qBAAqB,CAAC,SAAiB;QACrC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;CACF;AAED,YAAY;AACZ,MAAM,WAAW,GAAG,IAAI,iBAAiB,EAAE,CAAC;AAE5C,MAAM,UAAU,oBAAoB;IAClC,OAAO,WAAW,CAAC;AACrB,CAAC"}
@@ -0,0 +1,177 @@
1
+ /**
2
+ * Session Memory Bridge (Phase 5)
3
+ *
4
+ * Links gateway sessions to memory systems:
5
+ * - Generative Agents (memory stream)
6
+ * - Perennial Memory (embeddings)
7
+ * - User Profile (learning/preferences)
8
+ */
9
+ import { eventBus } from "../event-bus";
10
+ import { getSessionStore } from "./session-store";
11
+ class SessionMemoryBridge {
12
+ store = getSessionStore();
13
+ /**
14
+ * Get or create a memory context for a session
15
+ */
16
+ async getMemoryContext(sessionKey) {
17
+ let session = this.store.get(sessionKey);
18
+ // Create new session if doesn't exist
19
+ if (!session) {
20
+ session = this.createSession(sessionKey);
21
+ }
22
+ // Ensure memory thread exists
23
+ if (!session.memoryThreadId) {
24
+ session.memoryThreadId = this.generateMemoryThreadId();
25
+ this.store.set(sessionKey, session);
26
+ }
27
+ // Get previous runs from this session
28
+ const previousRuns = await this.getPreviousRuns(session);
29
+ return {
30
+ sessionKey,
31
+ memoryThreadId: session.memoryThreadId,
32
+ userProfileId: session.userProfileId,
33
+ previousRuns,
34
+ conversationSummary: session.conversationSummary,
35
+ };
36
+ }
37
+ /**
38
+ * Link a gateway session to an agent run
39
+ */
40
+ async linkRunToSession(sessionKey, runId) {
41
+ const session = this.store.get(sessionKey);
42
+ if (!session)
43
+ return;
44
+ session.lastRunId = runId;
45
+ session.updatedAt = Date.now();
46
+ session.messageCount++;
47
+ this.store.set(sessionKey, session);
48
+ // Emit event for memory systems to track
49
+ eventBus.emit("session.run.linked", {
50
+ sessionKey,
51
+ runId,
52
+ memoryThreadId: session.memoryThreadId,
53
+ });
54
+ }
55
+ /**
56
+ * Get memory-enriched context for an agent
57
+ */
58
+ async getEnrichedSession(sessionKey) {
59
+ const session = this.store.get(sessionKey);
60
+ if (!session)
61
+ return undefined;
62
+ // Load recent memories from generative agents
63
+ const recentMemories = await this.loadRecentMemories(session.memoryThreadId);
64
+ // Load user preferences
65
+ const userPreferences = await this.loadUserPreferences(session.userProfileId);
66
+ // Generate relevant context
67
+ const relevantContext = await this.generateContext(session, recentMemories);
68
+ return {
69
+ ...session,
70
+ recentMemories,
71
+ userPreferences,
72
+ relevantContext,
73
+ };
74
+ }
75
+ /**
76
+ * Update conversation summary (compaction)
77
+ */
78
+ async updateSummary(sessionKey, summary) {
79
+ const session = this.store.get(sessionKey);
80
+ if (!session)
81
+ return;
82
+ session.conversationSummary = summary;
83
+ session.updatedAt = Date.now();
84
+ this.store.set(sessionKey, session);
85
+ }
86
+ /**
87
+ * Associate user profile with session
88
+ */
89
+ async setUserProfile(sessionKey, userProfileId) {
90
+ const session = this.store.get(sessionKey);
91
+ if (!session)
92
+ return;
93
+ session.userProfileId = userProfileId;
94
+ session.updatedAt = Date.now();
95
+ this.store.set(sessionKey, session);
96
+ }
97
+ /**
98
+ * Get all active sessions with memory context
99
+ */
100
+ async getActiveMemorySessions() {
101
+ const sessions = this.store.getActiveSessions();
102
+ return Promise.all(sessions.map(async (session) => ({
103
+ sessionKey: session.sessionKey,
104
+ memoryThreadId: session.memoryThreadId || this.generateMemoryThreadId(),
105
+ userProfileId: session.userProfileId,
106
+ previousRuns: await this.getPreviousRuns(session),
107
+ conversationSummary: session.conversationSummary,
108
+ })));
109
+ }
110
+ /**
111
+ * Resume a session from a memory thread ID
112
+ */
113
+ async resumeFromMemoryThread(threadId) {
114
+ const session = this.store.getByMemoryThread(threadId);
115
+ if (!session)
116
+ return undefined;
117
+ return {
118
+ sessionKey: session.sessionKey,
119
+ memoryThreadId: threadId,
120
+ userProfileId: session.userProfileId,
121
+ previousRuns: await this.getPreviousRuns(session),
122
+ conversationSummary: session.conversationSummary,
123
+ };
124
+ }
125
+ // Private helpers
126
+ createSession(sessionKey) {
127
+ const now = Date.now();
128
+ const session = {
129
+ sessionId: `sess_${now}_${Math.random().toString(36).slice(2, 6)}`,
130
+ sessionKey,
131
+ createdAt: now,
132
+ updatedAt: now,
133
+ memoryThreadId: this.generateMemoryThreadId(),
134
+ messageCount: 0,
135
+ };
136
+ this.store.set(sessionKey, session);
137
+ return session;
138
+ }
139
+ generateMemoryThreadId() {
140
+ return `thread_${Date.now()}_${Math.random().toString(36).slice(2, 8)}`;
141
+ }
142
+ async getPreviousRuns(session) {
143
+ // This would query the agent registry for runs associated with this session
144
+ // For now, return empty or last run
145
+ return session.lastRunId ? [session.lastRunId] : [];
146
+ }
147
+ async loadRecentMemories(threadId) {
148
+ if (!threadId)
149
+ return [];
150
+ // TODO: Query generative agents memory_stream table
151
+ // For now, return empty
152
+ return [];
153
+ }
154
+ async loadUserPreferences(userProfileId) {
155
+ if (!userProfileId)
156
+ return {};
157
+ // TODO: Load from user-profile.ts
158
+ return {};
159
+ }
160
+ async generateContext(session, memories) {
161
+ const parts = [];
162
+ if (session.conversationSummary) {
163
+ parts.push(`Previous context: ${session.conversationSummary}`);
164
+ }
165
+ if (memories.length > 0) {
166
+ const recent = memories.slice(-5).map((m) => m.content).join("\n");
167
+ parts.push(`Recent activity:\n${recent}`);
168
+ }
169
+ return parts.join("\n\n");
170
+ }
171
+ }
172
+ // Singleton
173
+ const bridge = new SessionMemoryBridge();
174
+ export function getSessionMemoryBridge() {
175
+ return bridge;
176
+ }
177
+ //# sourceMappingURL=session-memory-bridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-memory-bridge.js","sourceRoot":"","sources":["../../../src/memory/session-memory-bridge.ts"],"names":[],"mappings":"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"}