@chozzz/vargos 2.0.5 → 2.0.7
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 +5 -1
- package/dist/cli.js.map +1 -1
- package/dist/edge/mcp/index.d.ts +33 -0
- package/dist/edge/mcp/index.d.ts.map +1 -0
- package/dist/edge/mcp/index.js +217 -0
- package/dist/edge/mcp/index.js.map +1 -0
- package/dist/edge/webhooks/index.d.ts +33 -0
- package/dist/edge/webhooks/index.d.ts.map +1 -0
- package/dist/edge/webhooks/index.js +231 -0
- package/dist/edge/webhooks/index.js.map +1 -0
- package/dist/edge/webhooks/transform.d.ts +8 -0
- package/dist/edge/webhooks/transform.d.ts.map +1 -0
- package/dist/edge/webhooks/transform.js +29 -0
- package/dist/edge/webhooks/transform.js.map +1 -0
- package/dist/gateway/bus.d.ts +48 -0
- package/dist/gateway/bus.d.ts.map +1 -0
- package/dist/gateway/bus.js +2 -0
- package/dist/gateway/bus.js.map +1 -0
- package/dist/gateway/decorators.d.ts +40 -0
- package/dist/gateway/decorators.d.ts.map +1 -0
- package/dist/gateway/decorators.js +43 -0
- package/dist/gateway/decorators.js.map +1 -0
- package/dist/gateway/emitter.d.ts +42 -0
- package/dist/gateway/emitter.d.ts.map +1 -0
- package/dist/gateway/emitter.js +259 -0
- package/dist/gateway/emitter.js.map +1 -0
- package/dist/gateway/events.d.ts +343 -0
- package/dist/gateway/events.d.ts.map +1 -0
- package/dist/gateway/events.js +7 -0
- package/dist/gateway/events.js.map +1 -0
- package/dist/gateway/tcp-server.d.ts +7 -0
- package/dist/gateway/tcp-server.d.ts.map +1 -0
- package/dist/gateway/tcp-server.js +115 -0
- package/dist/gateway/tcp-server.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +74 -0
- package/dist/index.js.map +1 -0
- package/dist/scripts/migrate-cron-sessions.d.ts +10 -0
- package/dist/scripts/migrate-cron-sessions.d.ts.map +1 -0
- package/dist/scripts/migrate-cron-sessions.js +139 -0
- package/dist/scripts/migrate-cron-sessions.js.map +1 -0
- package/dist/scripts/seed.d.ts +2 -0
- package/dist/scripts/seed.d.ts.map +1 -0
- package/dist/scripts/seed.js +4 -0
- package/dist/scripts/seed.js.map +1 -0
- package/dist/services/agent/directives.d.ts +14 -0
- package/dist/services/agent/directives.d.ts.map +1 -0
- package/dist/services/agent/directives.js +32 -0
- package/dist/services/agent/directives.js.map +1 -0
- package/dist/services/agent/index.d.ts +104 -0
- package/dist/services/agent/index.d.ts.map +1 -0
- package/dist/services/agent/index.js +534 -0
- package/dist/services/agent/index.js.map +1 -0
- package/dist/services/agent/persona.d.ts +15 -0
- package/dist/services/agent/persona.d.ts.map +1 -0
- package/dist/services/agent/persona.js +63 -0
- package/dist/services/agent/persona.js.map +1 -0
- package/dist/services/agent/prompt-interpolate.d.ts +41 -0
- package/dist/services/agent/prompt-interpolate.d.ts.map +1 -0
- package/dist/services/agent/prompt-interpolate.js +102 -0
- package/dist/services/agent/prompt-interpolate.js.map +1 -0
- package/dist/services/agent/schema.d.ts +10 -0
- package/dist/services/agent/schema.d.ts.map +1 -0
- package/dist/services/agent/schema.js +5 -0
- package/dist/services/agent/schema.js.map +1 -0
- package/dist/services/agent/tools.d.ts +26 -0
- package/dist/services/agent/tools.d.ts.map +1 -0
- package/dist/services/agent/tools.js +85 -0
- package/dist/services/agent/tools.js.map +1 -0
- package/dist/services/channels/base-adapter.d.ts +61 -0
- package/dist/services/channels/base-adapter.d.ts.map +1 -0
- package/dist/services/channels/base-adapter.js +181 -0
- package/dist/services/channels/base-adapter.js.map +1 -0
- package/dist/services/channels/contracts.d.ts +75 -0
- package/dist/services/channels/contracts.d.ts.map +1 -0
- package/dist/services/channels/contracts.js +6 -0
- package/dist/services/channels/contracts.js.map +1 -0
- package/dist/services/channels/debounce.d.ts +22 -0
- package/dist/services/channels/debounce.d.ts.map +1 -0
- package/dist/services/channels/debounce.js +53 -0
- package/dist/services/channels/debounce.js.map +1 -0
- package/dist/services/channels/dedupe.d.ts +19 -0
- package/dist/services/channels/dedupe.d.ts.map +1 -0
- package/dist/services/channels/dedupe.js +52 -0
- package/dist/services/channels/dedupe.js.map +1 -0
- package/dist/services/channels/delivery.d.ts +12 -0
- package/dist/services/channels/delivery.d.ts.map +1 -0
- package/dist/services/channels/delivery.js +53 -0
- package/dist/services/channels/delivery.js.map +1 -0
- package/dist/services/channels/index.d.ts +53 -0
- package/dist/services/channels/index.d.ts.map +1 -0
- package/dist/services/channels/index.js +405 -0
- package/dist/services/channels/index.js.map +1 -0
- package/dist/services/channels/link-expand.d.ts +8 -0
- package/dist/services/channels/link-expand.d.ts.map +1 -0
- package/dist/services/channels/link-expand.js +28 -0
- package/dist/services/channels/link-expand.js.map +1 -0
- package/dist/services/channels/media-extract.d.ts +7 -0
- package/dist/services/channels/media-extract.d.ts.map +1 -0
- package/dist/services/channels/media-extract.js +31 -0
- package/dist/services/channels/media-extract.js.map +1 -0
- package/dist/services/channels/pipeline.d.ts +29 -0
- package/dist/services/channels/pipeline.d.ts.map +1 -0
- package/dist/services/channels/pipeline.js +120 -0
- package/dist/services/channels/pipeline.js.map +1 -0
- package/dist/services/channels/provider-loader.d.ts +7 -0
- package/dist/services/channels/provider-loader.d.ts.map +1 -0
- package/dist/services/channels/provider-loader.js +13 -0
- package/dist/services/channels/provider-loader.js.map +1 -0
- package/dist/services/channels/providers/telegram/adapter.d.ts +34 -0
- package/dist/services/channels/providers/telegram/adapter.d.ts.map +1 -0
- package/dist/services/channels/providers/telegram/adapter.js +278 -0
- package/dist/services/channels/providers/telegram/adapter.js.map +1 -0
- package/dist/services/channels/providers/telegram/index.d.ts +11 -0
- package/dist/services/channels/providers/telegram/index.d.ts.map +1 -0
- package/dist/services/channels/providers/telegram/index.js +11 -0
- package/dist/services/channels/providers/telegram/index.js.map +1 -0
- package/dist/services/channels/providers/telegram/normalizer.d.ts +12 -0
- package/dist/services/channels/providers/telegram/normalizer.d.ts.map +1 -0
- package/dist/services/channels/providers/telegram/normalizer.js +50 -0
- package/dist/services/channels/providers/telegram/normalizer.js.map +1 -0
- package/dist/services/channels/providers/telegram/types.d.ts +72 -0
- package/dist/services/channels/providers/telegram/types.d.ts.map +1 -0
- package/dist/services/channels/providers/telegram/types.js +3 -0
- package/dist/services/channels/providers/telegram/types.js.map +1 -0
- package/dist/services/channels/providers/whatsapp/adapter.d.ts +36 -0
- package/dist/services/channels/providers/whatsapp/adapter.d.ts.map +1 -0
- package/dist/services/channels/providers/whatsapp/adapter.js +261 -0
- package/dist/services/channels/providers/whatsapp/adapter.js.map +1 -0
- package/dist/services/channels/providers/whatsapp/index.d.ts +11 -0
- package/dist/services/channels/providers/whatsapp/index.d.ts.map +1 -0
- package/dist/services/channels/providers/whatsapp/index.js +11 -0
- package/dist/services/channels/providers/whatsapp/index.js.map +1 -0
- package/dist/services/channels/providers/whatsapp/normalizer.d.ts +11 -0
- package/dist/services/channels/providers/whatsapp/normalizer.d.ts.map +1 -0
- package/dist/services/channels/providers/whatsapp/normalizer.js +47 -0
- package/dist/services/channels/providers/whatsapp/normalizer.js.map +1 -0
- package/dist/services/channels/providers/whatsapp/session.d.ts +9 -0
- package/dist/services/channels/providers/whatsapp/session.d.ts.map +1 -0
- package/dist/services/channels/providers/whatsapp/session.js +118 -0
- package/dist/services/channels/providers/whatsapp/session.js.map +1 -0
- package/dist/services/channels/providers/whatsapp/types.d.ts +23 -0
- package/dist/services/channels/providers/whatsapp/types.d.ts.map +1 -0
- package/dist/services/channels/providers/whatsapp/types.js +3 -0
- package/dist/services/channels/providers/whatsapp/types.js.map +1 -0
- package/dist/services/channels/reconnect.d.ts +23 -0
- package/dist/services/channels/reconnect.d.ts.map +1 -0
- package/dist/services/channels/reconnect.js +32 -0
- package/dist/services/channels/reconnect.js.map +1 -0
- package/dist/services/channels/status-reactions.d.ts +27 -0
- package/dist/services/channels/status-reactions.d.ts.map +1 -0
- package/dist/services/channels/status-reactions.js +63 -0
- package/dist/services/channels/status-reactions.js.map +1 -0
- package/dist/services/channels/types.d.ts +16 -0
- package/dist/services/channels/types.d.ts.map +1 -0
- package/dist/services/channels/types.js +2 -0
- package/dist/services/channels/types.js.map +1 -0
- package/dist/services/channels/typing-state.d.ts +22 -0
- package/dist/services/channels/typing-state.d.ts.map +1 -0
- package/dist/services/channels/typing-state.js +88 -0
- package/dist/services/channels/typing-state.js.map +1 -0
- package/dist/services/config/index.d.ts +2426 -0
- package/dist/services/config/index.d.ts.map +1 -0
- package/dist/services/config/index.js +232 -0
- package/dist/services/config/index.js.map +1 -0
- package/dist/services/config/schemas/agent.d.ts +720 -0
- package/dist/services/config/schemas/agent.d.ts.map +1 -0
- package/dist/services/config/schemas/agent.js +86 -0
- package/dist/services/config/schemas/agent.js.map +1 -0
- package/dist/services/config/schemas/auth.d.ts +60 -0
- package/dist/services/config/schemas/auth.d.ts.map +1 -0
- package/dist/services/config/schemas/auth.js +18 -0
- package/dist/services/config/schemas/auth.js.map +1 -0
- package/dist/services/config/schemas/channels.d.ts +117 -0
- package/dist/services/config/schemas/channels.d.ts.map +1 -0
- package/dist/services/config/schemas/channels.js +22 -0
- package/dist/services/config/schemas/channels.js.map +1 -0
- package/dist/services/config/schemas/cron.d.ts +97 -0
- package/dist/services/config/schemas/cron.d.ts.map +1 -0
- package/dist/services/config/schemas/cron.js +18 -0
- package/dist/services/config/schemas/cron.js.map +1 -0
- package/dist/services/config/schemas/features.d.ts +43 -0
- package/dist/services/config/schemas/features.d.ts.map +1 -0
- package/dist/services/config/schemas/features.js +20 -0
- package/dist/services/config/schemas/features.js.map +1 -0
- package/dist/services/config/schemas/index.d.ts +24 -0
- package/dist/services/config/schemas/index.d.ts.map +1 -0
- package/dist/services/config/schemas/index.js +24 -0
- package/dist/services/config/schemas/index.js.map +1 -0
- package/dist/services/config/schemas/mcp.d.ts +31 -0
- package/dist/services/config/schemas/mcp.d.ts.map +1 -0
- package/dist/services/config/schemas/mcp.js +39 -0
- package/dist/services/config/schemas/mcp.js.map +1 -0
- package/dist/services/config/schemas/primitives.d.ts +13 -0
- package/dist/services/config/schemas/primitives.d.ts.map +1 -0
- package/dist/services/config/schemas/primitives.js +17 -0
- package/dist/services/config/schemas/primitives.js.map +1 -0
- package/dist/services/config/schemas/providers.d.ts +335 -0
- package/dist/services/config/schemas/providers.d.ts.map +1 -0
- package/dist/services/config/schemas/providers.js +27 -0
- package/dist/services/config/schemas/providers.js.map +1 -0
- package/dist/services/config/schemas/storage.d.ts +16 -0
- package/dist/services/config/schemas/storage.d.ts.map +1 -0
- package/dist/services/config/schemas/storage.js +9 -0
- package/dist/services/config/schemas/storage.js.map +1 -0
- package/dist/services/config/schemas/webhooks.d.ts +25 -0
- package/dist/services/config/schemas/webhooks.d.ts.map +1 -0
- package/dist/services/config/schemas/webhooks.js +12 -0
- package/dist/services/config/schemas/webhooks.js.map +1 -0
- package/dist/services/cron/index.d.ts +50 -0
- package/dist/services/cron/index.d.ts.map +1 -0
- package/dist/services/cron/index.js +460 -0
- package/dist/services/cron/index.js.map +1 -0
- package/dist/services/log/index.d.ts +14 -0
- package/dist/services/log/index.d.ts.map +1 -0
- package/dist/services/log/index.js +137 -0
- package/dist/services/log/index.js.map +1 -0
- package/dist/services/mcp-client/index.d.ts +37 -0
- package/dist/services/mcp-client/index.d.ts.map +1 -0
- package/dist/services/mcp-client/index.js +258 -0
- package/dist/services/mcp-client/index.js.map +1 -0
- package/dist/services/media/extract-document.d.ts +8 -0
- package/dist/services/media/extract-document.d.ts.map +1 -0
- package/dist/services/media/extract-document.js +85 -0
- package/dist/services/media/extract-document.js.map +1 -0
- package/dist/services/media/index.d.ts +21 -0
- package/dist/services/media/index.d.ts.map +1 -0
- package/dist/services/media/index.js +116 -0
- package/dist/services/media/index.js.map +1 -0
- package/dist/services/media/providers/anthropic.d.ts +6 -0
- package/dist/services/media/providers/anthropic.d.ts.map +1 -0
- package/dist/services/media/providers/anthropic.js +38 -0
- package/dist/services/media/providers/anthropic.js.map +1 -0
- package/dist/services/media/providers/index.d.ts +6 -0
- package/dist/services/media/providers/index.d.ts.map +1 -0
- package/dist/services/media/providers/index.js +15 -0
- package/dist/services/media/providers/index.js.map +1 -0
- package/dist/services/media/providers/openai.d.ts +6 -0
- package/dist/services/media/providers/openai.d.ts.map +1 -0
- package/dist/services/media/providers/openai.js +48 -0
- package/dist/services/media/providers/openai.js.map +1 -0
- package/dist/services/media/providers/provider.d.ts +5 -0
- package/dist/services/media/providers/provider.d.ts.map +1 -0
- package/dist/services/media/providers/provider.js +2 -0
- package/dist/services/media/providers/provider.js.map +1 -0
- package/dist/services/memory/chunker.d.ts +7 -0
- package/dist/services/memory/chunker.d.ts.map +1 -0
- package/dist/services/memory/chunker.js +46 -0
- package/dist/services/memory/chunker.js.map +1 -0
- package/dist/services/memory/context.d.ts +68 -0
- package/dist/services/memory/context.d.ts.map +1 -0
- package/dist/services/memory/context.js +223 -0
- package/dist/services/memory/context.js.map +1 -0
- package/dist/services/memory/embedding.d.ts +9 -0
- package/dist/services/memory/embedding.d.ts.map +1 -0
- package/dist/services/memory/embedding.js +49 -0
- package/dist/services/memory/embedding.js.map +1 -0
- package/dist/services/memory/index.d.ts +24 -0
- package/dist/services/memory/index.d.ts.map +1 -0
- package/dist/services/memory/index.js +140 -0
- package/dist/services/memory/index.js.map +1 -0
- package/dist/services/memory/session-indexer.d.ts +5 -0
- package/dist/services/memory/session-indexer.d.ts.map +1 -0
- package/dist/services/memory/session-indexer.js +62 -0
- package/dist/services/memory/session-indexer.js.map +1 -0
- package/dist/services/memory/sqlite-storage.d.ts +23 -0
- package/dist/services/memory/sqlite-storage.d.ts.map +1 -0
- package/dist/services/memory/sqlite-storage.js +75 -0
- package/dist/services/memory/sqlite-storage.js.map +1 -0
- package/dist/services/memory/types.d.ts +31 -0
- package/dist/services/memory/types.d.ts.map +1 -0
- package/dist/services/memory/types.js +2 -0
- package/dist/services/memory/types.js.map +1 -0
- package/dist/services/web/index.d.ts +9 -0
- package/dist/services/web/index.d.ts.map +1 -0
- package/dist/services/web/index.js +101 -0
- package/dist/services/web/index.js.map +1 -0
- package/dist/vitest.config.d.ts +3 -0
- package/dist/vitest.config.d.ts.map +1 -0
- package/dist/vitest.config.js +9 -0
- package/dist/vitest.config.js.map +1 -0
- package/package.json +2 -8
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One-time migration: merge old timestamped cron sessions into persistent ones.
|
|
3
|
+
*
|
|
4
|
+
* Old format: cron:<taskId>:<timestamp> → sessions/cron-<taskId>-<timestamp>/cron-<taskId>-<timestamp>.jsonl
|
|
5
|
+
* New format: cron:<taskId> → sessions/cron-<taskId>/cron-<taskId>.jsonl
|
|
6
|
+
*
|
|
7
|
+
* Usage: npx tsx scripts/migrate-cron-sessions.ts [--dry-run]
|
|
8
|
+
*/
|
|
9
|
+
import { promises as fs } from 'node:fs';
|
|
10
|
+
import path from 'node:path';
|
|
11
|
+
import os from 'node:os';
|
|
12
|
+
const DATA_DIR = process.env.VARGOS_DATA_DIR || path.join(os.homedir(), '.vargos');
|
|
13
|
+
const SESSIONS_DIR = path.join(DATA_DIR, 'sessions');
|
|
14
|
+
const DRY_RUN = process.argv.includes('--dry-run');
|
|
15
|
+
// Match old cron session dirs: cron-<taskId>-<timestamp>
|
|
16
|
+
// Task IDs look like: cron-1708300000-a1b2c
|
|
17
|
+
// So full dir name: cron-cron-1708300000-a1b2c-1708300000000
|
|
18
|
+
const CRON_TIMESTAMPED_RE = /^(cron-.+)-(\d{13,})$/;
|
|
19
|
+
async function main() {
|
|
20
|
+
console.log(`Sessions dir: ${SESSIONS_DIR}`);
|
|
21
|
+
console.log(`Mode: ${DRY_RUN ? 'DRY RUN' : 'LIVE'}\n`);
|
|
22
|
+
let entries;
|
|
23
|
+
try {
|
|
24
|
+
entries = await fs.readdir(SESSIONS_DIR);
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
console.log('No sessions directory found. Nothing to migrate.');
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
// Group old cron dirs by task ID
|
|
31
|
+
const groups = new Map(); // taskId → [full dir names]
|
|
32
|
+
for (const entry of entries) {
|
|
33
|
+
const match = entry.match(CRON_TIMESTAMPED_RE);
|
|
34
|
+
if (!match)
|
|
35
|
+
continue;
|
|
36
|
+
// Verify it's actually a cron session by checking the file inside
|
|
37
|
+
const jsonlPath = path.join(SESSIONS_DIR, entry, `${entry}.jsonl`);
|
|
38
|
+
try {
|
|
39
|
+
const content = await fs.readFile(jsonlPath, 'utf-8');
|
|
40
|
+
const firstLine = content.split('\n')[0];
|
|
41
|
+
if (!firstLine)
|
|
42
|
+
continue;
|
|
43
|
+
const meta = JSON.parse(firstLine);
|
|
44
|
+
if (!meta.sessionKey?.startsWith('cron:'))
|
|
45
|
+
continue;
|
|
46
|
+
}
|
|
47
|
+
catch {
|
|
48
|
+
continue;
|
|
49
|
+
}
|
|
50
|
+
const baseDir = match[1]; // e.g. "cron-cron-abc123-x7k"
|
|
51
|
+
if (!groups.has(baseDir))
|
|
52
|
+
groups.set(baseDir, []);
|
|
53
|
+
groups.get(baseDir).push(entry);
|
|
54
|
+
}
|
|
55
|
+
if (groups.size === 0) {
|
|
56
|
+
console.log('No old cron sessions found. Nothing to migrate.');
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
console.log(`Found ${groups.size} cron task(s) with old timestamped sessions:\n`);
|
|
60
|
+
let totalMerged = 0;
|
|
61
|
+
let totalDeleted = 0;
|
|
62
|
+
for (const [baseDir, dirs] of groups) {
|
|
63
|
+
// Sort by timestamp (oldest first) for chronological merge
|
|
64
|
+
dirs.sort((a, b) => {
|
|
65
|
+
const tsA = parseInt(a.match(CRON_TIMESTAMPED_RE)[2]);
|
|
66
|
+
const tsB = parseInt(b.match(CRON_TIMESTAMPED_RE)[2]);
|
|
67
|
+
return tsA - tsB;
|
|
68
|
+
});
|
|
69
|
+
console.log(`Task: ${baseDir} (${dirs.length} old session(s))`);
|
|
70
|
+
// Collect all messages from old sessions
|
|
71
|
+
const allMessages = [];
|
|
72
|
+
let earliestCreated = '';
|
|
73
|
+
let latestUpdated = '';
|
|
74
|
+
for (const dir of dirs) {
|
|
75
|
+
const jsonlPath = path.join(SESSIONS_DIR, dir, `${dir}.jsonl`);
|
|
76
|
+
const content = await fs.readFile(jsonlPath, 'utf-8');
|
|
77
|
+
const lines = content.trim().split('\n').filter(Boolean);
|
|
78
|
+
if (lines.length === 0)
|
|
79
|
+
continue;
|
|
80
|
+
const meta = JSON.parse(lines[0]);
|
|
81
|
+
if (!earliestCreated || meta.createdAt < earliestCreated)
|
|
82
|
+
earliestCreated = meta.createdAt;
|
|
83
|
+
if (!latestUpdated || meta.updatedAt > latestUpdated)
|
|
84
|
+
latestUpdated = meta.updatedAt;
|
|
85
|
+
// Collect message lines (skip header)
|
|
86
|
+
for (let i = 1; i < lines.length; i++) {
|
|
87
|
+
allMessages.push(lines[i]);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
// Build the new persistent session key from the old one
|
|
91
|
+
// Old sessionKey: "cron:<taskId>:<timestamp>" → extract taskId
|
|
92
|
+
const samplePath = path.join(SESSIONS_DIR, dirs[0], `${dirs[0]}.jsonl`);
|
|
93
|
+
const sampleContent = await fs.readFile(samplePath, 'utf-8');
|
|
94
|
+
const sampleMeta = JSON.parse(sampleContent.split('\n')[0]);
|
|
95
|
+
const parts = sampleMeta.sessionKey.split(':');
|
|
96
|
+
// cron:<taskId>:<timestamp> → taskId is parts[1]
|
|
97
|
+
const taskId = parts[1];
|
|
98
|
+
const newSessionKey = `cron:${taskId}`;
|
|
99
|
+
// Build new session file
|
|
100
|
+
const newMeta = {
|
|
101
|
+
sessionKey: newSessionKey,
|
|
102
|
+
kind: 'cron',
|
|
103
|
+
createdAt: earliestCreated,
|
|
104
|
+
updatedAt: latestUpdated,
|
|
105
|
+
metadata: sampleMeta.metadata ?? { taskId },
|
|
106
|
+
};
|
|
107
|
+
const newContent = [JSON.stringify(newMeta), ...allMessages].join('\n') + '\n';
|
|
108
|
+
const newDir = path.join(SESSIONS_DIR, baseDir);
|
|
109
|
+
const newFile = path.join(newDir, `${baseDir}.jsonl`);
|
|
110
|
+
console.log(` → Merging ${allMessages.length} messages into ${newSessionKey}`);
|
|
111
|
+
if (!DRY_RUN) {
|
|
112
|
+
// Check if target already exists (from a previous partial migration)
|
|
113
|
+
const targetExists = await fs.stat(newFile).then(() => true).catch(() => false);
|
|
114
|
+
if (targetExists) {
|
|
115
|
+
// Append messages to existing
|
|
116
|
+
const existing = await fs.readFile(newFile, 'utf-8');
|
|
117
|
+
const existingLines = existing.trim().split('\n').filter(Boolean);
|
|
118
|
+
const mergedContent = [existingLines[0], ...existingLines.slice(1), ...allMessages].join('\n') + '\n';
|
|
119
|
+
await fs.writeFile(newFile, mergedContent, 'utf-8');
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
await fs.mkdir(newDir, { recursive: true });
|
|
123
|
+
await fs.writeFile(newFile, newContent, 'utf-8');
|
|
124
|
+
}
|
|
125
|
+
// Delete old dirs
|
|
126
|
+
for (const dir of dirs) {
|
|
127
|
+
await fs.rm(path.join(SESSIONS_DIR, dir), { recursive: true, force: true });
|
|
128
|
+
}
|
|
129
|
+
totalDeleted += dirs.length;
|
|
130
|
+
}
|
|
131
|
+
totalMerged++;
|
|
132
|
+
}
|
|
133
|
+
console.log(`\n${DRY_RUN ? 'Would merge' : 'Merged'}: ${totalMerged} task(s), deleted ${totalDeleted} old session dir(s)`);
|
|
134
|
+
}
|
|
135
|
+
main().catch(err => {
|
|
136
|
+
console.error('Migration failed:', err);
|
|
137
|
+
process.exit(1);
|
|
138
|
+
});
|
|
139
|
+
//# sourceMappingURL=migrate-cron-sessions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate-cron-sessions.js","sourceRoot":"","sources":["../../scripts/migrate-cron-sessions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seed.d.ts","sourceRoot":"","sources":["../../scripts/seed.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seed.js","sourceRoot":"","sources":["../../scripts/seed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,MAAM,WAAW,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chat directives parser — extracts /think and /verbose prefixes from user messages.
|
|
3
|
+
*
|
|
4
|
+
* Directives must appear at the start of the message or after whitespace,
|
|
5
|
+
* not inside URLs or as partial word matches.
|
|
6
|
+
*/
|
|
7
|
+
import type { ThinkingLevel } from '@mariozechner/pi-agent-core';
|
|
8
|
+
export interface ParsedDirectives {
|
|
9
|
+
/** Message with all recognized directives stripped */
|
|
10
|
+
cleaned: string;
|
|
11
|
+
thinkingLevel?: ThinkingLevel;
|
|
12
|
+
}
|
|
13
|
+
export declare function parseDirectives(text: string): ParsedDirectives;
|
|
14
|
+
//# sourceMappingURL=directives.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"directives.d.ts","sourceRoot":"","sources":["../../../services/agent/directives.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEjE,MAAM,WAAW,gBAAgB;IAC/B,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AASD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAwB9D"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chat directives parser — extracts /think and /verbose prefixes from user messages.
|
|
3
|
+
*
|
|
4
|
+
* Directives must appear at the start of the message or after whitespace,
|
|
5
|
+
* not inside URLs or as partial word matches.
|
|
6
|
+
*/
|
|
7
|
+
// Mirrors ThinkingLevelSchema.options from services/config/schemas/primitives.ts.
|
|
8
|
+
// Kept local to avoid lib/ → services/ import boundary violation.
|
|
9
|
+
const THINK_LEVELS = new Set(['off', 'minimal', 'low', 'medium', 'high', 'xhigh']);
|
|
10
|
+
// Matches /think or /t with optional colon, then a level word
|
|
11
|
+
const THINK_RE = /(?<![:/\w])\/(?:think|t)[:=\s]+(\w+)/gi;
|
|
12
|
+
export function parseDirectives(text) {
|
|
13
|
+
let cleaned = text;
|
|
14
|
+
let thinkingLevel;
|
|
15
|
+
// Process /think directives — last match wins
|
|
16
|
+
let match;
|
|
17
|
+
THINK_RE.lastIndex = 0;
|
|
18
|
+
while ((match = THINK_RE.exec(text)) !== null) {
|
|
19
|
+
const level = match[1].toLowerCase();
|
|
20
|
+
if (THINK_LEVELS.has(level)) {
|
|
21
|
+
thinkingLevel = level;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
// Strip matched directives from the cleaned string
|
|
25
|
+
if (thinkingLevel !== undefined) {
|
|
26
|
+
THINK_RE.lastIndex = 0;
|
|
27
|
+
cleaned = cleaned.replace(THINK_RE, '');
|
|
28
|
+
}
|
|
29
|
+
cleaned = cleaned.trim();
|
|
30
|
+
return { cleaned, thinkingLevel };
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=directives.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"directives.js","sourceRoot":"","sources":["../../../services/agent/directives.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,kFAAkF;AAClF,kEAAkE;AAClE,MAAM,YAAY,GAAG,IAAI,GAAG,CAAS,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAE3F,8DAA8D;AAC9D,MAAM,QAAQ,GAAG,wCAAwC,CAAC;AAE1D,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,IAAI,aAAwC,CAAC;IAE7C,8CAA8C;IAC9C,IAAI,KAA6B,CAAC;IAElC,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC;IACvB,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACrC,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,aAAa,GAAG,KAAsB,CAAC;QACzC,CAAC;IACH,CAAC;IAED,mDAAmD;IACnD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC;QACvB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAEzB,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;AACpC,CAAC"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent — PiAgent-powered runtime
|
|
3
|
+
*
|
|
4
|
+
* Features:
|
|
5
|
+
* - PiAgent session persistence
|
|
6
|
+
* - PiAgent ResourceLoader for skills/prompts
|
|
7
|
+
* - Debug mode for inspecting tools, prompts, history
|
|
8
|
+
* - Streaming events passthrough to bus (agent.onDelta, agent.onTool, agent.onCompleted)
|
|
9
|
+
*/
|
|
10
|
+
import type { Bus } from '../../gateway/bus.js';
|
|
11
|
+
import type { EventMap } from '../../gateway/events.js';
|
|
12
|
+
import type { AppConfig } from '../../services/config/index.js';
|
|
13
|
+
import type { AgentDeps } from './schema.js';
|
|
14
|
+
import { SettingsManager, AuthStorage, ModelRegistry, DefaultResourceLoader, type AgentSession, type ToolDefinition } from '@mariozechner/pi-coding-agent';
|
|
15
|
+
export declare class AgentService {
|
|
16
|
+
protected bus: Bus;
|
|
17
|
+
protected config: AppConfig;
|
|
18
|
+
protected sessions: Map<string, AgentSession>;
|
|
19
|
+
private activeRuns;
|
|
20
|
+
protected agentDir: string;
|
|
21
|
+
protected authStorage: AuthStorage;
|
|
22
|
+
protected modelRegistry: ModelRegistry;
|
|
23
|
+
protected settings: SettingsManager;
|
|
24
|
+
constructor(deps: AgentDeps);
|
|
25
|
+
/**
|
|
26
|
+
* Persist retry settings to disk during boot
|
|
27
|
+
*/
|
|
28
|
+
start(): Promise<void>;
|
|
29
|
+
/**
|
|
30
|
+
* agent.execute — Run a task
|
|
31
|
+
*
|
|
32
|
+
* Note: sessionKey is declared optional here because it's auto-injected by
|
|
33
|
+
* wrapEventAsToolDefinition() when the agent calls this as a tool. Direct callers
|
|
34
|
+
* (channels, cron, webhooks, TCP) still provide sessionKey via EventMap.
|
|
35
|
+
*
|
|
36
|
+
* Schema for bus event is different than runtime types AgentExecuteParams.
|
|
37
|
+
* e.g. metadata is not injected here on purpose.
|
|
38
|
+
*/
|
|
39
|
+
execute(params: EventMap['agent.execute']['params']): Promise<EventMap['agent.execute']['result']>;
|
|
40
|
+
/**
|
|
41
|
+
* agent.appendMessage — Append message to session JSONL without executing agent.
|
|
42
|
+
* Used for non-whitelisted messages (skipAgent=true) to record in history silently.
|
|
43
|
+
* Internal only — not exposed as an agent tool.
|
|
44
|
+
*/
|
|
45
|
+
appendMessage(params: EventMap['agent.appendMessage']['params']): Promise<void>;
|
|
46
|
+
/**
|
|
47
|
+
* agent.status — Return currently active agent session keys.
|
|
48
|
+
*/
|
|
49
|
+
status(_params: EventMap['agent.status']['params']): Promise<EventMap['agent.status']['result']>;
|
|
50
|
+
/**
|
|
51
|
+
* Get or create AgentSession for sessionKey.
|
|
52
|
+
*/
|
|
53
|
+
protected getOrCreateSession(sessionKey: string, metadata?: EventMap['agent.execute']['params']['metadata']): Promise<AgentSession>;
|
|
54
|
+
/**
|
|
55
|
+
* Subscribe to PiAgent sessionsubscription - emit to bus for streaming + debug logging.
|
|
56
|
+
*/
|
|
57
|
+
protected subscribeToSessionEvents(session: AgentSession, sessionKey: string, _metadata?: EventMap['agent.execute']['params']['metadata']): void;
|
|
58
|
+
/**
|
|
59
|
+
* Create ResourceLoader. PiAgent's DefaultResourceLoader handles skills, themes, and
|
|
60
|
+
* prompt templates. We override systemPrompt with our Vargos bootstrap files.
|
|
61
|
+
*/
|
|
62
|
+
protected createResourceLoader(systemPromptOverride?: string, cwd?: string): Promise<DefaultResourceLoader>;
|
|
63
|
+
/**
|
|
64
|
+
* Load persona for the given sessionKey if it maps to a configured channel. Subagent
|
|
65
|
+
* sessionKeys naturally inherit because parseSessionKey strips the `:subagent:` suffix.
|
|
66
|
+
* Cron / CLI / other types return null (no persona override applied).
|
|
67
|
+
*/
|
|
68
|
+
private loadPersonaIfChannel;
|
|
69
|
+
/**
|
|
70
|
+
* Build system prompt by merging bootstrap files from workspace and optional cwd, then
|
|
71
|
+
* appending the channel persona body if provided.
|
|
72
|
+
*/
|
|
73
|
+
private getSystemPrompt;
|
|
74
|
+
/**
|
|
75
|
+
* Load custom tools from bus callable events. When `allowedPatterns` is provided
|
|
76
|
+
* (from a channel persona), filter the tool list down to names matching at least
|
|
77
|
+
* one glob pattern. Empty/undefined patterns = all tools allowed.
|
|
78
|
+
*/
|
|
79
|
+
protected getCustomTools(sessionKey: string, allowedPatterns?: string[]): Promise<ToolDefinition[]>;
|
|
80
|
+
/**
|
|
81
|
+
* Validate model override if provided.
|
|
82
|
+
*/
|
|
83
|
+
private validateModel;
|
|
84
|
+
/**
|
|
85
|
+
* Build context variables for prompt interpolation from sessionKey and metadata.
|
|
86
|
+
*/
|
|
87
|
+
private buildPromptContext;
|
|
88
|
+
/**
|
|
89
|
+
* Collect directory paths in order: workspace first, then cwd if different.
|
|
90
|
+
*/
|
|
91
|
+
private collectBootstrapDirs;
|
|
92
|
+
/**
|
|
93
|
+
* Extract the final assistant message: text content + error (when stopReason === 'error').
|
|
94
|
+
* Pi SDK records inference failures (e.g. missing API key) as assistant messages with
|
|
95
|
+
* empty content and `errorMessage` populated, instead of throwing — without inspecting
|
|
96
|
+
* `stopReason`/`errorMessage` here, those would surface as silent empty completions.
|
|
97
|
+
*/
|
|
98
|
+
private extractFinalAssistant;
|
|
99
|
+
stop(): void;
|
|
100
|
+
}
|
|
101
|
+
export declare function boot(bus: Bus): Promise<{
|
|
102
|
+
stop(): void;
|
|
103
|
+
}>;
|
|
104
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../services/agent/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAQ,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAMhE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAM7C,OAAO,EAGL,eAAe,EACf,WAAW,EACX,aAAa,EACb,qBAAqB,EACrB,KAAK,YAAY,EACjB,KAAK,cAAc,EACpB,MAAM,+BAA+B,CAAC;AAiBvC,qBAAa,YAAY;IACvB,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IACnB,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC;IAC5B,SAAS,CAAC,QAAQ,4BAAmC;IACrD,OAAO,CAAC,UAAU,CAAqB;IAEvC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC;IACnC,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IACvC,SAAS,CAAC,QAAQ,EAAE,eAAe,CAAC;gBAExB,IAAI,EAAE,SAAS;IAuC3B;;OAEG;IACG,KAAK;IAyBX;;;;;;;;;OASG;IAkBG,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC;IA8CxG;;;;OAIG;IAEG,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBrF;;OAEG;IAKG,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC;IAItG;;OAEG;cACa,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;IAiDzI;;OAEG;IACH,SAAS,CAAC,wBAAwB,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI;IAoEhJ;;;OAGG;cACa,oBAAoB,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAsBjH;;;;OAIG;YACW,oBAAoB;IAOlC;;;OAGG;YACW,eAAe;IAiD7B;;;;OAIG;cACa,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAMzG;;OAEG;IACH,OAAO,CAAC,aAAa;IAQrB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAmB1B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAe5B;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IA+B7B,IAAI,IAAI,IAAI;CAMb;AAID,wBAAsB,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC;IAAE,IAAI,IAAI,IAAI,CAAA;CAAE,CAAC,CAM9D"}
|