opencode-universal-memory 0.3.2 → 0.6.0-beta.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/index.d.ts.map +1 -1
- package/dist/index.js +6 -25
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AA6KpC,wBAA8B,qBAAqB,CAAC,GAAG,EAAE,SAAS;uBAkBrC,SAAS;GAsDrC"}
|
package/dist/index.js
CHANGED
|
@@ -96,12 +96,16 @@ async function recordViaUniversalMemory(payload, cwd) {
|
|
|
96
96
|
};
|
|
97
97
|
}
|
|
98
98
|
async function fetchLastExchange(client, sessionId) {
|
|
99
|
+
process.stderr.write(`[UniversalMemory] Fetching messages for session: ${sessionId}\n`);
|
|
99
100
|
const response = await client.session.messages({ path: { id: sessionId } });
|
|
101
|
+
process.stderr.write(`[UniversalMemory] Response type: ${typeof response}\n`);
|
|
102
|
+
process.stderr.write(`[UniversalMemory] Response keys: ${Object.keys(response || {})}\n`);
|
|
100
103
|
const items = Array.isArray(response?.data)
|
|
101
104
|
? response.data
|
|
102
105
|
: Array.isArray(response)
|
|
103
106
|
? response
|
|
104
107
|
: [];
|
|
108
|
+
process.stderr.write(`[UniversalMemory] Items count: ${items.length}\n`);
|
|
105
109
|
const normalized = items
|
|
106
110
|
.map((item) => {
|
|
107
111
|
const info = item?.info ?? item?.message ?? item?.data?.info ?? item?.data?.message;
|
|
@@ -111,6 +115,7 @@ async function fetchLastExchange(client, sessionId) {
|
|
|
111
115
|
return { role: roleNorm(role), text: String(text).trim() };
|
|
112
116
|
})
|
|
113
117
|
.filter((m) => m.role && isNonEmptyString(m.text));
|
|
118
|
+
process.stderr.write(`[UniversalMemory] Normalized messages: ${normalized.length}\n`);
|
|
114
119
|
const lastUserIdx = (() => {
|
|
115
120
|
for (let i = normalized.length - 1; i >= 0; i--) {
|
|
116
121
|
if (normalized[i].role === 'user')
|
|
@@ -140,6 +145,7 @@ async function fetchLastExchange(client, sessionId) {
|
|
|
140
145
|
: lastAssistantIdx !== -1
|
|
141
146
|
? normalized[lastAssistantIdx].text
|
|
142
147
|
: '';
|
|
148
|
+
process.stderr.write(`[UniversalMemory] User text length: ${userText.length}, AI text length: ${aiText.length}\n`);
|
|
143
149
|
return { userText, aiText };
|
|
144
150
|
}
|
|
145
151
|
export default async function UniversalMemoryPlugin(ctx) {
|
|
@@ -147,8 +153,6 @@ export default async function UniversalMemoryPlugin(ctx) {
|
|
|
147
153
|
const lastRecorded = new Map();
|
|
148
154
|
const projectName = (project && (project.name || project.slug || project.id)) ||
|
|
149
155
|
path.basename(worktree || directory || process.cwd());
|
|
150
|
-
console.log('[UniversalMemory] Plugin loaded', { projectName, directory });
|
|
151
|
-
// Handle multiple session-related events
|
|
152
156
|
const sessionEvents = [
|
|
153
157
|
'session.idle',
|
|
154
158
|
'session.updated',
|
|
@@ -160,38 +164,23 @@ export default async function UniversalMemoryPlugin(ctx) {
|
|
|
160
164
|
return {
|
|
161
165
|
event: async ({ event }) => {
|
|
162
166
|
try {
|
|
163
|
-
console.log('[UniversalMemory] Event received:', event?.type);
|
|
164
|
-
console.log('[UniversalMemory] Full event object:', JSON.stringify(event));
|
|
165
167
|
if (!event) {
|
|
166
|
-
console.log('[UniversalMemory] No event object, skipping');
|
|
167
168
|
return;
|
|
168
169
|
}
|
|
169
|
-
// Check if this is a session-related event
|
|
170
170
|
if (sessionEvents.includes(event.type)) {
|
|
171
|
-
console.log(`[UniversalMemory] Handling session event: ${event.type}`);
|
|
172
171
|
const sessionId = event.session_id || event.sessionID || event.sessionId;
|
|
173
172
|
if (event.type === 'session.idle') {
|
|
174
|
-
console.log('[UniversalMemory] Processing session.idle event');
|
|
175
|
-
console.log('[UniversalMemory] Session ID:', sessionId);
|
|
176
173
|
if (!isNonEmptyString(sessionId)) {
|
|
177
|
-
console.log('[UniversalMemory] No session ID, skipping');
|
|
178
174
|
return;
|
|
179
175
|
}
|
|
180
176
|
const { userText, aiText } = await fetchLastExchange(client, sessionId);
|
|
181
|
-
console.log('[UniversalMemory] Fetched messages:', {
|
|
182
|
-
userLen: userText.length,
|
|
183
|
-
aiLen: aiText.length,
|
|
184
|
-
});
|
|
185
177
|
if (!isNonEmptyString(userText) || !isNonEmptyString(aiText)) {
|
|
186
|
-
console.log('[UniversalMemory] No messages to record, skipping');
|
|
187
178
|
return;
|
|
188
179
|
}
|
|
189
180
|
const userMessage = truncate(userText, 8000);
|
|
190
181
|
const aiResponse = truncate(aiText, 20000);
|
|
191
182
|
const exchangeHash = hashExchange(userMessage, aiResponse);
|
|
192
|
-
console.log('[UniversalMemory] Exchange hash:', exchangeHash);
|
|
193
183
|
if (lastRecorded.get(sessionId) === exchangeHash) {
|
|
194
|
-
console.log('[UniversalMemory] Already recorded, skipping');
|
|
195
184
|
return;
|
|
196
185
|
}
|
|
197
186
|
lastRecorded.set(sessionId, exchangeHash);
|
|
@@ -203,23 +192,15 @@ export default async function UniversalMemoryPlugin(ctx) {
|
|
|
203
192
|
session_id: sessionId,
|
|
204
193
|
working_directory: directory || process.cwd(),
|
|
205
194
|
};
|
|
206
|
-
console.log('[UniversalMemory] Recording conversation...', payload);
|
|
207
195
|
const res = await recordViaUniversalMemory(payload, directory || process.cwd());
|
|
208
196
|
if (!res.ok) {
|
|
209
197
|
process.stderr.write(`opencode-universal-memory warning: ${res.error}\n`);
|
|
210
198
|
}
|
|
211
|
-
else {
|
|
212
|
-
console.log('[UniversalMemory] Recording successful, ID:', res.id);
|
|
213
|
-
}
|
|
214
199
|
}
|
|
215
200
|
else if (event.type === 'session.updated' || event.type === 'session.diff') {
|
|
216
201
|
// Track when session is updated or diffed to avoid duplicate recording
|
|
217
|
-
console.log(`[UniversalMemory] Session ${event.type}, skipping to avoid duplicate recording`);
|
|
218
202
|
}
|
|
219
203
|
}
|
|
220
|
-
else {
|
|
221
|
-
console.log(`[UniversalMemory] Ignoring event type: ${event.type}`);
|
|
222
|
-
}
|
|
223
204
|
}
|
|
224
205
|
catch (error) {
|
|
225
206
|
const message = error instanceof Error ? error.message : String(error);
|
package/dist/index.js.map
CHANGED
|
@@ -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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"}
|