@kingcrab/pi-imessage 0.0.13 → 0.0.15
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/agent.d.ts +3 -3
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +67 -62
- package/dist/agent.js.map +1 -1
- package/dist/logger.d.ts +2 -2
- package/dist/logger.js +2 -2
- package/dist/logger.js.map +1 -1
- package/dist/main.js +2 -9
- package/dist/main.js.map +1 -1
- package/dist/pipeline.d.ts +11 -10
- package/dist/pipeline.d.ts.map +1 -1
- package/dist/pipeline.js +17 -10
- package/dist/pipeline.js.map +1 -1
- package/dist/store.d.ts +14 -11
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +7 -28
- package/dist/store.js.map +1 -1
- package/dist/tasks.d.ts +11 -10
- package/dist/tasks.d.ts.map +1 -1
- package/dist/tasks.js +100 -89
- package/dist/tasks.js.map +1 -1
- package/dist/types.d.ts +17 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +15 -1
- package/dist/types.js.map +1 -1
- package/dist/web/data.d.ts +2 -2
- package/dist/web/data.d.ts.map +1 -1
- package/dist/web/data.js.map +1 -1
- package/dist/web/render.js +1 -1
- package/dist/web/render.js.map +1 -1
- package/package.json +3 -3
package/dist/agent.d.ts
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* Each chat gets a lazily-created AgentSession with persistent context
|
|
5
5
|
* (context.jsonl per chat directory).
|
|
6
6
|
*
|
|
7
|
-
* Reply delivery: each tool or assistant event
|
|
8
|
-
*
|
|
7
|
+
* Reply delivery: each tool or assistant event is routed through activeMessageHandler
|
|
8
|
+
* serialized via replyChain so iMessages arrive in order.
|
|
9
9
|
*
|
|
10
10
|
* Model: uses ~/.pi/agent/ defaults (via createAgentSession).
|
|
11
11
|
*/
|
|
@@ -14,7 +14,7 @@ export interface AgentManagerConfig {
|
|
|
14
14
|
workingDir: string;
|
|
15
15
|
}
|
|
16
16
|
export declare function createAgentManager(config: AgentManagerConfig): Promise<{
|
|
17
|
-
processMessage: (msg: IncomingMessage,
|
|
17
|
+
processMessage: (msg: IncomingMessage, handler: (reply: AgentReply) => Promise<void>) => Promise<void>;
|
|
18
18
|
newSession: (chatGuid: string) => Promise<void>;
|
|
19
19
|
getSessionStatus: (chatGuid: string) => Promise<string>;
|
|
20
20
|
reload: (chatGuid: string) => Promise<void>;
|
package/dist/agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAcH,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAI9D,MAAM,WAAW,kBAAkB;IAClC,UAAU,EAAE,MAAM,CAAC;CACnB;
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAcH,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAI9D,MAAM,WAAW,kBAAkB;IAClC,UAAU,EAAE,MAAM,CAAC;CACnB;AAkND,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,kBAAkB;0BAyF/B,eAAe,WAAW,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,KAAG,OAAO,CAAC,IAAI,CAAC;2BA0B7E,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;iCAiBhB,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC;uBAuClC,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;GAsBtD;AAWD,MAAM,MAAM,YAAY,GAAG,IAAI,CAC9B,OAAO,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,EAC9C,gBAAgB,GAAG,YAAY,GAAG,kBAAkB,GAAG,QAAQ,CAC/D,CAAC"}
|
package/dist/agent.js
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* Each chat gets a lazily-created AgentSession with persistent context
|
|
5
5
|
* (context.jsonl per chat directory).
|
|
6
6
|
*
|
|
7
|
-
* Reply delivery: each tool or assistant event
|
|
8
|
-
*
|
|
7
|
+
* Reply delivery: each tool or assistant event is routed through activeMessageHandler
|
|
8
|
+
* serialized via replyChain so iMessages arrive in order.
|
|
9
9
|
*
|
|
10
10
|
* Model: uses ~/.pi/agent/ defaults (via createAgentSession).
|
|
11
11
|
*/
|
|
@@ -194,12 +194,8 @@ export async function createAgentManager(config) {
|
|
|
194
194
|
const { workingDir } = config;
|
|
195
195
|
const sessionMap = new Map();
|
|
196
196
|
const { modelRegistry, resourceLoader } = await initSharedResources(workingDir);
|
|
197
|
-
/**
|
|
198
|
-
async function
|
|
199
|
-
const existing = sessionMap.get(chatGuid);
|
|
200
|
-
if (existing)
|
|
201
|
-
return existing;
|
|
202
|
-
// Per-chat session manager — each chat gets its own context.jsonl.
|
|
197
|
+
/** Create a new AgentSession for a chat, persisted to context.jsonl. */
|
|
198
|
+
async function createSession(chatGuid, handler) {
|
|
203
199
|
const chatDir = join(workingDir, sanitizeChatGuid(chatGuid));
|
|
204
200
|
mkdirSync(chatDir, { recursive: true });
|
|
205
201
|
const sessionManager = SessionManager.open(join(chatDir, "context.jsonl"), chatDir);
|
|
@@ -208,64 +204,70 @@ export async function createAgentManager(config) {
|
|
|
208
204
|
sessionManager,
|
|
209
205
|
resourceLoader,
|
|
210
206
|
});
|
|
211
|
-
const
|
|
212
|
-
const modelLabel = model ? `${model.provider}/${model.id}` : "default";
|
|
207
|
+
const modelLabel = session.model ? `${session.model.provider}/${session.model.id}` : "default";
|
|
213
208
|
console.log(`[agent] session created: ${chatGuid} model=${modelLabel}`);
|
|
214
|
-
const entry = {
|
|
209
|
+
const entry = {
|
|
210
|
+
session,
|
|
211
|
+
chatGuid,
|
|
212
|
+
activeMessageHandler: handler,
|
|
213
|
+
replyChain: Promise.resolve(),
|
|
214
|
+
pendingTools: new Map(),
|
|
215
|
+
};
|
|
215
216
|
sessionMap.set(chatGuid, entry);
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
*
|
|
221
|
-
* Events are serialized: each tool_execution_start/end and assistant
|
|
222
|
-
* message_end enqueues an onReply call through replyChain so iMessages
|
|
223
|
-
* arrive in order.
|
|
224
|
-
*/
|
|
225
|
-
async function processMessage(msg, onReply) {
|
|
226
|
-
const entry = await getOrCreateSession(msg.chatGuid);
|
|
227
|
-
// Track pending tool calls for duration logging
|
|
228
|
-
const pendingTools = new Map();
|
|
229
|
-
// Serialize onReply calls — subscribe is sync so we chain promises
|
|
230
|
-
let replyChain = Promise.resolve();
|
|
231
|
-
const unsub = entry.session.subscribe((event) => {
|
|
217
|
+
// Session-level subscriber — lives for the entire session lifetime so
|
|
218
|
+
// steered messages (injected mid-stream) produce events that are never lost.
|
|
219
|
+
// Reads entry.activeMessageHandler which is updated at the start of each processMessage call.
|
|
220
|
+
session.subscribe((event) => {
|
|
232
221
|
if (event.type === "message_end" && event.message.role === "assistant") {
|
|
233
222
|
const assistantMsg = event.message;
|
|
234
223
|
const text = extractMessageText(event.message);
|
|
235
224
|
const stopReason = assistantMsg.stopReason;
|
|
236
225
|
const errorMessage = assistantMsg.errorMessage;
|
|
237
|
-
console.log(`[agent] message end: ${
|
|
226
|
+
console.log(`[agent] message end: ${chatGuid} role=assistant stopReason=${stopReason}` +
|
|
238
227
|
`${errorMessage ? ` error="${errorMessage}"` : ""}` +
|
|
239
228
|
` text="${(text ?? "(empty)").substring(0, 60)}"`);
|
|
240
229
|
if (text) {
|
|
241
|
-
|
|
230
|
+
const callback = entry.activeMessageHandler;
|
|
231
|
+
entry.replyChain = entry.replyChain.then(() => callback({ kind: "assistant", text }));
|
|
242
232
|
}
|
|
243
233
|
}
|
|
244
234
|
else if (event.type === "tool_execution_start") {
|
|
245
235
|
const toolArgs = event.args;
|
|
246
236
|
const label = extractToolLabel(event.toolName, toolArgs);
|
|
247
|
-
pendingTools.set(event.toolCallId, {
|
|
237
|
+
entry.pendingTools.set(event.toolCallId, {
|
|
248
238
|
toolName: event.toolName,
|
|
249
239
|
args: toolArgs,
|
|
250
240
|
startTime: Date.now(),
|
|
251
241
|
});
|
|
252
|
-
console.log(`[agent] tool start: ${
|
|
253
|
-
|
|
242
|
+
console.log(`[agent] tool start: ${chatGuid} → ${label}`);
|
|
243
|
+
const callback = entry.activeMessageHandler;
|
|
244
|
+
entry.replyChain = entry.replyChain.then(() => callback({ kind: "tool_start", label }));
|
|
254
245
|
}
|
|
255
246
|
else if (event.type === "tool_execution_end") {
|
|
256
247
|
const resultText = extractToolResultText(event.result);
|
|
257
|
-
const pending = pendingTools.get(event.toolCallId);
|
|
258
|
-
pendingTools.delete(event.toolCallId);
|
|
248
|
+
const pending = entry.pendingTools.get(event.toolCallId);
|
|
249
|
+
entry.pendingTools.delete(event.toolCallId);
|
|
259
250
|
const durationMs = pending ? Date.now() - pending.startTime : 0;
|
|
260
251
|
const duration = (durationMs / 1000).toFixed(1);
|
|
261
252
|
const symbol = event.isError ? "✗" : "✓";
|
|
262
|
-
console.log(`[agent] tool end: ${
|
|
253
|
+
console.log(`[agent] tool end: ${chatGuid} ${symbol} ${event.toolName} (${duration}s)` +
|
|
263
254
|
` result="${resultText.substring(0, 60)}"`);
|
|
264
|
-
|
|
255
|
+
const callback = entry.activeMessageHandler;
|
|
256
|
+
entry.replyChain = entry.replyChain.then(() => callback({ kind: "tool_end", toolName: event.toolName, symbol, duration, result: resultText }));
|
|
265
257
|
}
|
|
266
258
|
});
|
|
259
|
+
return entry;
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Send a user message through the agent and deliver replies via the active message handler.
|
|
263
|
+
*
|
|
264
|
+
* Sessions are created on first message. The session-level subscriber fires events
|
|
265
|
+
* for each tool call and assistant message, routing them through activeMessageHandler.
|
|
266
|
+
*/
|
|
267
|
+
async function processMessage(msg, handler) {
|
|
268
|
+
const entry = sessionMap.get(msg.chatGuid) ?? (await createSession(msg.chatGuid, handler));
|
|
269
|
+
entry.activeMessageHandler = handler;
|
|
267
270
|
// Build prompt with sender/chat context prefix
|
|
268
|
-
// Format: "[DM from +1234567890] hey" or "[Group 'Family' from alice@example.com] hey"
|
|
269
271
|
const promptText = formatPromptText(msg);
|
|
270
272
|
// Refresh system prompt with current memory before each prompt
|
|
271
273
|
const chatDir = join(workingDir, sanitizeChatGuid(msg.chatGuid));
|
|
@@ -273,18 +275,11 @@ export async function createAgentManager(config) {
|
|
|
273
275
|
const currentModel = entry.session.model;
|
|
274
276
|
const currentModelLabel = currentModel ? `${currentModel.provider}/${currentModel.id}` : "default";
|
|
275
277
|
console.log(`[agent] prompt start (steer): ${entry.chatGuid} model=${currentModelLabel} "${promptText.substring(0, 60)}"`);
|
|
276
|
-
|
|
278
|
+
await (msg.images.length > 0
|
|
277
279
|
? entry.session.prompt(promptText, { images: msg.images, streamingBehavior: "steer" })
|
|
278
|
-
: entry.session.prompt(promptText, { streamingBehavior: "steer" });
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
await Promise.race([promptPromise, timeoutPromise]);
|
|
282
|
-
await replyChain; // wait for all dispatched replies to finish
|
|
283
|
-
console.log(`[agent] prompt end: ${entry.chatGuid}`);
|
|
284
|
-
}
|
|
285
|
-
finally {
|
|
286
|
-
unsub();
|
|
287
|
-
}
|
|
280
|
+
: entry.session.prompt(promptText, { streamingBehavior: "steer" }));
|
|
281
|
+
await entry.replyChain; // wait for all dispatched replies to finish
|
|
282
|
+
console.log(`[agent] prompt end: ${entry.chatGuid}`);
|
|
288
283
|
}
|
|
289
284
|
/** Start a new session for a chat by deleting context and evicting the in-memory session. */
|
|
290
285
|
async function newSession(chatGuid) {
|
|
@@ -297,15 +292,16 @@ export async function createAgentManager(config) {
|
|
|
297
292
|
console.log(`[agent] new session: ${chatGuid}`);
|
|
298
293
|
}
|
|
299
294
|
/**
|
|
300
|
-
* Get a formatted status string for
|
|
301
|
-
* Lazily creates/resumes the session from disk if not already in memory.
|
|
295
|
+
* Get a formatted status string for an active chat session.
|
|
302
296
|
*
|
|
303
297
|
* Format (two lines):
|
|
304
298
|
* 💬 3 msgs - ↑7.2k ↓505 1.1%/128k
|
|
305
299
|
* 🤖 github-copilot/gpt-5-mini • 💭 minimal
|
|
306
300
|
*/
|
|
307
301
|
async function getSessionStatus(chatGuid) {
|
|
308
|
-
const entry =
|
|
302
|
+
const entry = sessionMap.get(chatGuid);
|
|
303
|
+
if (!entry)
|
|
304
|
+
return "no active session";
|
|
309
305
|
const { session } = entry;
|
|
310
306
|
const stats = session.getSessionStats();
|
|
311
307
|
const contextUsage = session.getContextUsage();
|
|
@@ -327,25 +323,34 @@ export async function createAgentManager(config) {
|
|
|
327
323
|
const line2 = `🤖 ${modelLabel} • 💭 ${thinkingLevel ?? "off"}`;
|
|
328
324
|
return `${line1}\n${line2}`;
|
|
329
325
|
}
|
|
330
|
-
/**
|
|
326
|
+
/**
|
|
327
|
+
* Switch the requesting session to the current default model from settings.
|
|
328
|
+
*
|
|
329
|
+
* Mirrors pi TUI's /model command flow:
|
|
330
|
+
* 1. modelRegistry.refresh() — reload models from disk
|
|
331
|
+
* 2. Resolve model from settings (TUI uses manual selection instead)
|
|
332
|
+
* 3. session.setModel() — updates agent + context.jsonl + settings.json
|
|
333
|
+
*
|
|
334
|
+
* Reference: pi-coding-agent/dist/modes/interactive/interactive-mode.js
|
|
335
|
+
* handleModelCommand() → getModelCandidates() → session.setModel()
|
|
336
|
+
*/
|
|
331
337
|
async function reload(chatGuid) {
|
|
332
|
-
await resourceLoader.reload();
|
|
333
338
|
modelRegistry.refresh();
|
|
334
|
-
// Evict then immediately rebuild from context.jsonl (preserves history)
|
|
335
|
-
sessionMap.delete(chatGuid);
|
|
336
|
-
const entry = await getOrCreateSession(chatGuid);
|
|
337
|
-
// Apply new default model to the idle session (safe — no prompt running)
|
|
338
339
|
const settings = SettingsManager.create();
|
|
339
340
|
const provider = settings.getDefaultProvider();
|
|
340
341
|
const modelId = settings.getDefaultModel();
|
|
341
342
|
const newModel = provider && modelId ? modelRegistry.find(provider, modelId) : undefined;
|
|
342
|
-
if (newModel) {
|
|
343
|
-
|
|
344
|
-
|
|
343
|
+
if (!newModel) {
|
|
344
|
+
console.log("[agent] reload: no default model in settings");
|
|
345
|
+
return;
|
|
345
346
|
}
|
|
346
|
-
|
|
347
|
-
|
|
347
|
+
const entry = sessionMap.get(chatGuid);
|
|
348
|
+
if (!entry) {
|
|
349
|
+
console.log(`[agent] reload: no active session for ${chatGuid}`);
|
|
350
|
+
return;
|
|
348
351
|
}
|
|
352
|
+
await entry.session.setModel(newModel);
|
|
353
|
+
console.log(`[agent] reloaded: ${chatGuid} switched to ${provider}/${modelId}`);
|
|
349
354
|
}
|
|
350
355
|
return { processMessage, newSession, getSessionStatus, reload };
|
|
351
356
|
}
|
package/dist/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/logger.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Two log destinations:
|
|
5
5
|
* app.log — receives ALL console output (log / warn / error / info)
|
|
6
|
-
*
|
|
6
|
+
* digest.log — receives only incoming/outgoing digest lines
|
|
7
7
|
*
|
|
8
8
|
* Rotation strategy:
|
|
9
9
|
* - Rotate when the active file reaches MAX_BYTES (default 10 MB)
|
|
@@ -20,7 +20,7 @@ export declare function createAppLogger(workingDir: string, options?: {
|
|
|
20
20
|
}): AppLogger;
|
|
21
21
|
export interface DigestLogger {
|
|
22
22
|
/**
|
|
23
|
-
* Write a digest line to
|
|
23
|
+
* Write a digest line to digest.log and forward to console.log
|
|
24
24
|
* (which in turn lands in app.log via the app logger patch).
|
|
25
25
|
*/
|
|
26
26
|
log(msg: string): void;
|
package/dist/logger.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Two log destinations:
|
|
5
5
|
* app.log — receives ALL console output (log / warn / error / info)
|
|
6
|
-
*
|
|
6
|
+
* digest.log — receives only incoming/outgoing digest lines
|
|
7
7
|
*
|
|
8
8
|
* Rotation strategy:
|
|
9
9
|
* - Rotate when the active file reaches MAX_BYTES (default 10 MB)
|
|
@@ -88,7 +88,7 @@ export function createAppLogger(workingDir, options = {}) {
|
|
|
88
88
|
};
|
|
89
89
|
}
|
|
90
90
|
export function createDigestLogger(workingDir, options = {}) {
|
|
91
|
-
const writer = new RotatingFileWriter(join(workingDir, "
|
|
91
|
+
const writer = new RotatingFileWriter(join(workingDir, "digest.log"), options.maxBytes ?? DEFAULT_MAX_BYTES, options.maxFiles ?? DEFAULT_MAX_FILES);
|
|
92
92
|
return {
|
|
93
93
|
log(msg) {
|
|
94
94
|
writer.write(formatLine([msg]));
|
package/dist/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
|
package/dist/main.js
CHANGED
|
@@ -24,19 +24,12 @@ async function main() {
|
|
|
24
24
|
// Pre-flight: ensure Messages.app is running and iMessage is active.
|
|
25
25
|
await checkEnvironment();
|
|
26
26
|
const sender = createMessageSender();
|
|
27
|
-
|
|
28
|
-
const
|
|
29
|
-
settings = readSettings(workingDir);
|
|
30
|
-
return settings;
|
|
31
|
-
};
|
|
27
|
+
const getSettings = () => readSettings(workingDir);
|
|
28
|
+
const setSettings = (updated) => writeSettings(workingDir, updated);
|
|
32
29
|
const agent = await createAgentManager({ workingDir });
|
|
33
30
|
const store = createChatStore({ workingDir });
|
|
34
31
|
const queue = createAsyncQueue();
|
|
35
32
|
const watcher = createWatcher({ queue });
|
|
36
|
-
const setSettings = (updated) => {
|
|
37
|
-
settings = updated;
|
|
38
|
-
writeSettings(workingDir, updated);
|
|
39
|
-
};
|
|
40
33
|
const bot = createIMessageBot({ queue, agent, sender, store, getSettings, digestLogger });
|
|
41
34
|
const web = webEnabled
|
|
42
35
|
? createWebServer({ workingDir, host: webHost, port: webPort, getSettings, setSettings })
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,KAAK,UAAU,IAAI;IAClB,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,OAAO,CAAC;IACvD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,WAAW,CAAC;IACpD,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;IACpE,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IAEjF,kFAAkF;IAClF,MAAM,SAAS,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;IAC9C,MAAM,YAAY,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAEpD,qEAAqE;IACrE,MAAM,gBAAgB,EAAE,CAAC;IAEzB,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;IACrC,
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
package/dist/pipeline.d.ts
CHANGED
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Message pipeline — lifecycle-based processing for incoming messages.
|
|
3
3
|
*
|
|
4
|
-
* before (× 1) ──► start ──┬──
|
|
5
|
-
* ├──
|
|
4
|
+
* before (× 1) ──► start ──┬── emit reply ──► end (× 1)
|
|
5
|
+
* ├── emit reply ──► end (× 1)
|
|
6
6
|
* └── ...done
|
|
7
7
|
*
|
|
8
8
|
* before : Filter & prepare. Runs once. Sets shouldContinue=false to drop.
|
|
9
|
-
* start : Calls agent. Invokes
|
|
9
|
+
* start : Calls agent. Invokes emit() for each reply produced.
|
|
10
10
|
* Sets shouldContinue=false on outgoing to skip remaining start tasks.
|
|
11
|
-
* end : Runs once per
|
|
11
|
+
* end : Runs once per emitted reply (send, log, store).
|
|
12
|
+
* Receives ChatContext (not IncomingMessage) — only chat-level identity.
|
|
12
13
|
*/
|
|
13
|
-
import type { IncomingMessage, OutgoingMessage } from "./types.js";
|
|
14
|
-
export type BeforeTask = (incoming: IncomingMessage, outgoing: OutgoingMessage) => Promise<OutgoingMessage> | OutgoingMessage;
|
|
15
|
-
/**
|
|
16
|
-
export type
|
|
17
|
-
export type StartTask = (incoming: IncomingMessage, outgoing: OutgoingMessage,
|
|
18
|
-
export type EndTask = (
|
|
14
|
+
import type { ChatContext, IncomingMessage, OutgoingMessage } from "./types.js";
|
|
15
|
+
export type BeforeTask = (chat: ChatContext, incoming: IncomingMessage, outgoing: OutgoingMessage) => Promise<OutgoingMessage> | OutgoingMessage;
|
|
16
|
+
/** emit() queues end-phase processing for one reply. Synchronous — does not block the caller. */
|
|
17
|
+
export type EmitFn = (outgoing: OutgoingMessage) => void;
|
|
18
|
+
export type StartTask = (chat: ChatContext, incoming: IncomingMessage, outgoing: OutgoingMessage, emit: EmitFn) => Promise<void>;
|
|
19
|
+
export type EndTask = (chat: ChatContext, outgoing: OutgoingMessage) => Promise<OutgoingMessage> | OutgoingMessage;
|
|
19
20
|
export interface MessagePipeline {
|
|
20
21
|
before(task: BeforeTask): void;
|
|
21
22
|
start(task: StartTask): void;
|
package/dist/pipeline.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGhF,MAAM,MAAM,UAAU,GAAG,CACxB,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,eAAe,EACzB,QAAQ,EAAE,eAAe,KACrB,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAAC;AAEhD,iGAAiG;AACjG,MAAM,MAAM,MAAM,GAAG,CAAC,QAAQ,EAAE,eAAe,KAAK,IAAI,CAAC;AACzD,MAAM,MAAM,SAAS,GAAG,CACvB,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,eAAe,EACzB,QAAQ,EAAE,eAAe,EACzB,IAAI,EAAE,MAAM,KACR,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB,MAAM,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,KAAK,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAAC;AAEnH,MAAM,WAAW,eAAe;IAC/B,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IAC/B,KAAK,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;IAC7B,GAAG,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,OAAO,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CAC7D;AAED,wBAAgB,qBAAqB,IAAI,eAAe,CA0CvD"}
|
package/dist/pipeline.js
CHANGED
|
@@ -1,41 +1,48 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Message pipeline — lifecycle-based processing for incoming messages.
|
|
3
3
|
*
|
|
4
|
-
* before (× 1) ──► start ──┬──
|
|
5
|
-
* ├──
|
|
4
|
+
* before (× 1) ──► start ──┬── emit reply ──► end (× 1)
|
|
5
|
+
* ├── emit reply ──► end (× 1)
|
|
6
6
|
* └── ...done
|
|
7
7
|
*
|
|
8
8
|
* before : Filter & prepare. Runs once. Sets shouldContinue=false to drop.
|
|
9
|
-
* start : Calls agent. Invokes
|
|
9
|
+
* start : Calls agent. Invokes emit() for each reply produced.
|
|
10
10
|
* Sets shouldContinue=false on outgoing to skip remaining start tasks.
|
|
11
|
-
* end : Runs once per
|
|
11
|
+
* end : Runs once per emitted reply (send, log, store).
|
|
12
|
+
* Receives ChatContext (not IncomingMessage) — only chat-level identity.
|
|
12
13
|
*/
|
|
13
|
-
import { createOutgoingMessage } from "./types.js";
|
|
14
|
+
import { createOutgoingMessage, toChatContext } from "./types.js";
|
|
14
15
|
export function createMessagePipeline() {
|
|
15
16
|
const beforeTasks = [];
|
|
16
17
|
const startTasks = [];
|
|
17
18
|
const endTasks = [];
|
|
18
|
-
async function runEndTasks(
|
|
19
|
+
async function runEndTasks(chat, outgoing) {
|
|
19
20
|
let result = outgoing;
|
|
20
21
|
for (const task of endTasks) {
|
|
21
|
-
result = await task(
|
|
22
|
+
result = await task(chat, result);
|
|
22
23
|
if (!result.shouldContinue)
|
|
23
24
|
return;
|
|
24
25
|
}
|
|
25
26
|
}
|
|
26
27
|
async function process(incoming) {
|
|
28
|
+
const chat = toChatContext(incoming);
|
|
27
29
|
let outgoing = createOutgoingMessage();
|
|
28
30
|
for (const task of beforeTasks) {
|
|
29
|
-
outgoing = await task(incoming, outgoing);
|
|
31
|
+
outgoing = await task(chat, incoming, outgoing);
|
|
30
32
|
if (!outgoing.shouldContinue)
|
|
31
33
|
return outgoing;
|
|
32
34
|
}
|
|
33
|
-
|
|
35
|
+
// emit() is sync — queues end tasks onto endChain for serialized execution
|
|
36
|
+
let endChain = Promise.resolve();
|
|
37
|
+
const emit = (out) => {
|
|
38
|
+
endChain = endChain.then(() => runEndTasks(chat, out));
|
|
39
|
+
};
|
|
34
40
|
for (const task of startTasks) {
|
|
35
|
-
await task(incoming, outgoing,
|
|
41
|
+
await task(chat, incoming, outgoing, emit);
|
|
36
42
|
if (!outgoing.shouldContinue)
|
|
37
43
|
break;
|
|
38
44
|
}
|
|
45
|
+
await endChain;
|
|
39
46
|
return outgoing;
|
|
40
47
|
}
|
|
41
48
|
return {
|
package/dist/pipeline.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA0BlE,MAAM,UAAU,qBAAqB;IACpC,MAAM,WAAW,GAAiB,EAAE,CAAC;IACrC,MAAM,UAAU,GAAgB,EAAE,CAAC;IACnC,MAAM,QAAQ,GAAc,EAAE,CAAC;IAE/B,KAAK,UAAU,WAAW,CAAC,IAAiB,EAAE,QAAyB;QACtE,IAAI,MAAM,GAAG,QAAQ,CAAC;QACtB,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,cAAc;gBAAE,OAAO;QACpC,CAAC;IACF,CAAC;IAED,KAAK,UAAU,OAAO,CAAC,QAAyB;QAC/C,MAAM,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QACrC,IAAI,QAAQ,GAAG,qBAAqB,EAAE,CAAC;QAEvC,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAChC,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAChD,IAAI,CAAC,QAAQ,CAAC,cAAc;gBAAE,OAAO,QAAQ,CAAC;QAC/C,CAAC;QAED,2EAA2E;QAC3E,IAAI,QAAQ,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QACjC,MAAM,IAAI,GAAW,CAAC,GAAG,EAAE,EAAE;YAC5B,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QACxD,CAAC,CAAC;QACF,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC/B,MAAM,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC3C,IAAI,CAAC,QAAQ,CAAC,cAAc;gBAAE,MAAM;QACrC,CAAC;QACD,MAAM,QAAQ,CAAC;QAEf,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED,OAAO;QACN,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;QACxC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;QACtC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAClC,OAAO;KACP,CAAC;AACH,CAAC"}
|
package/dist/store.d.ts
CHANGED
|
@@ -7,35 +7,38 @@
|
|
|
7
7
|
* <chatGuid>/ e.g. "iMessage;-;+16501234567"
|
|
8
8
|
* log.jsonl one JSON line per message, append-only
|
|
9
9
|
*
|
|
10
|
-
* Each line is a
|
|
10
|
+
* Each line is a Message serialised as JSON.
|
|
11
11
|
* The file is never rewritten — only appended to.
|
|
12
12
|
*/
|
|
13
|
-
import type {
|
|
14
|
-
|
|
13
|
+
import type { MessageType } from "./types.js";
|
|
14
|
+
/**
|
|
15
|
+
* A message in a chat — user or bot.
|
|
16
|
+
*
|
|
17
|
+
* Both incoming (fromAgent=false) and outgoing (fromAgent=true) messages share
|
|
18
|
+
* the same shape; the only structural difference is the sender.
|
|
19
|
+
*/
|
|
20
|
+
export interface Message {
|
|
15
21
|
/** ISO 8601 timestamp. */
|
|
16
22
|
date: string;
|
|
17
|
-
/** Sender handle (phone / email) or "bot". */
|
|
23
|
+
/** Sender handle (phone / email), or "bot" for agent replies. */
|
|
18
24
|
sender: string;
|
|
19
25
|
text: string | null;
|
|
20
26
|
/** Local paths of attachments, relative to workingDir. */
|
|
21
27
|
attachments: string[];
|
|
22
|
-
|
|
28
|
+
fromAgent: boolean;
|
|
23
29
|
messageType: MessageType;
|
|
24
30
|
/** Group name, only present when messageType is "group". */
|
|
25
31
|
groupName?: string;
|
|
26
|
-
/** Set when the bot encountered an error and did not send a reply. */
|
|
27
|
-
isError?: boolean;
|
|
28
32
|
}
|
|
29
|
-
/** Sender label for display: "bot" for
|
|
30
|
-
export declare function senderLabel(message:
|
|
33
|
+
/** Sender label for display: "bot" for agent messages, otherwise the raw sender handle. */
|
|
34
|
+
export declare function senderLabel(message: Message): string;
|
|
31
35
|
/** Collapse multiline text to its first line with "..." appended. */
|
|
32
36
|
export declare function firstLinePreview(text: string | null): string;
|
|
33
37
|
export interface ChatStoreConfig {
|
|
34
38
|
workingDir: string;
|
|
35
39
|
}
|
|
36
40
|
export interface ChatStore {
|
|
37
|
-
|
|
38
|
-
logOutgoing(chatGuid: string, text: string, messageType: MessageType, groupName?: string, isError?: boolean): Promise<void>;
|
|
41
|
+
log(chatGuid: string, message: Omit<Message, "date">): Promise<void>;
|
|
39
42
|
}
|
|
40
43
|
export declare function createChatStore(config: ChatStoreConfig): ChatStore;
|
|
41
44
|
//# sourceMappingURL=store.d.ts.map
|
package/dist/store.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAI9C;;;;;GAKG;AACH,MAAM,WAAW,OAAO;IACvB,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,iEAAiE;IACjE,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,0DAA0D;IAC1D,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,WAAW,CAAC;IACzB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAID,2FAA2F;AAC3F,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAEpD;AAED,qEAAqE;AACrE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAI5D;AAID,MAAM,WAAW,eAAe;IAC/B,UAAU,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACzB,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrE;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CA4BlE"}
|
package/dist/store.js
CHANGED
|
@@ -7,16 +7,16 @@
|
|
|
7
7
|
* <chatGuid>/ e.g. "iMessage;-;+16501234567"
|
|
8
8
|
* log.jsonl one JSON line per message, append-only
|
|
9
9
|
*
|
|
10
|
-
* Each line is a
|
|
10
|
+
* Each line is a Message serialised as JSON.
|
|
11
11
|
* The file is never rewritten — only appended to.
|
|
12
12
|
*/
|
|
13
13
|
import { existsSync, mkdirSync } from "node:fs";
|
|
14
14
|
import { appendFile } from "node:fs/promises";
|
|
15
15
|
import { join } from "node:path";
|
|
16
16
|
// ── Display helpers ───────────────────────────────────────────────────────────
|
|
17
|
-
/** Sender label for display: "bot" for
|
|
17
|
+
/** Sender label for display: "bot" for agent messages, otherwise the raw sender handle. */
|
|
18
18
|
export function senderLabel(message) {
|
|
19
|
-
return message.
|
|
19
|
+
return message.fromAgent ? "bot" : message.sender;
|
|
20
20
|
}
|
|
21
21
|
/** Collapse multiline text to its first line with "..." appended. */
|
|
22
22
|
export function firstLinePreview(text) {
|
|
@@ -39,33 +39,12 @@ export function createChatStore(config) {
|
|
|
39
39
|
function logPath(chatGuid) {
|
|
40
40
|
return join(chatDir(chatGuid), "log.jsonl");
|
|
41
41
|
}
|
|
42
|
-
async function append(chatGuid,
|
|
43
|
-
await appendFile(logPath(chatGuid), `${JSON.stringify(
|
|
42
|
+
async function append(chatGuid, message) {
|
|
43
|
+
await appendFile(logPath(chatGuid), `${JSON.stringify(message)}\n`, "utf-8");
|
|
44
44
|
}
|
|
45
45
|
return {
|
|
46
|
-
async
|
|
47
|
-
|
|
48
|
-
await append(message.chatGuid, {
|
|
49
|
-
date: new Date().toISOString(),
|
|
50
|
-
sender: message.sender,
|
|
51
|
-
text: message.text,
|
|
52
|
-
attachments: attachmentPaths,
|
|
53
|
-
isBot: false,
|
|
54
|
-
messageType: message.messageType,
|
|
55
|
-
...(message.messageType === "group" && { groupName: message.groupName }),
|
|
56
|
-
});
|
|
57
|
-
},
|
|
58
|
-
async logOutgoing(chatGuid, text, messageType, groupName, isError) {
|
|
59
|
-
await append(chatGuid, {
|
|
60
|
-
date: new Date().toISOString(),
|
|
61
|
-
sender: "bot",
|
|
62
|
-
text,
|
|
63
|
-
attachments: [],
|
|
64
|
-
isBot: true,
|
|
65
|
-
isError: isError === true ? true : undefined,
|
|
66
|
-
messageType,
|
|
67
|
-
...(messageType === "group" && { groupName }),
|
|
68
|
-
});
|
|
46
|
+
async log(chatGuid, message) {
|
|
47
|
+
await append(chatGuid, { date: new Date().toISOString(), ...message });
|
|
69
48
|
},
|
|
70
49
|
};
|
|
71
50
|
}
|