negotium 0.1.20 → 0.1.21
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-helpers.js +119 -9
- package/dist/agent-helpers.js.map +10 -8
- package/dist/cron.js +108 -35
- package/dist/cron.js.map +16 -15
- package/dist/hosted-agent.js +2 -2
- package/dist/hosted-agent.js.map +2 -2
- package/dist/main.js +116 -38
- package/dist/main.js.map +16 -15
- package/dist/prompts.js +98 -9
- package/dist/prompts.js.map +6 -5
- package/dist/runtime/scripts/browser-passkey-policy.mjs +36 -0
- package/dist/runtime/scripts/mcp-patchright-http.mjs +14 -4
- package/dist/runtime/src/agents/archiver.ts +0 -14
- package/dist/runtime/src/agents/idle-archiver.ts +21 -0
- package/dist/runtime/src/agents/mcp-tools/self-config.ts +1 -1
- package/dist/runtime/src/agents/mcp-tools/spawn-subagent.ts +6 -1
- package/dist/runtime/src/agents/memory-archive-policy.ts +34 -0
- package/dist/runtime/src/agents/model-catalog.ts +84 -18
- package/dist/runtime/src/platform/playwright/manager.ts +4 -2
- package/dist/runtime/src/prompts/builders.ts +36 -7
- package/dist/runtime/src/runtime/turn-runner.ts +2 -0
- package/dist/runtime/src/storage/topic-archive.ts +5 -2
- package/dist/runtime/src/topics/lifecycle.ts +2 -1
- package/dist/runtime/src/topics/session.ts +2 -0
- package/dist/runtime/src/version.ts +1 -1
- package/dist/storage.js +23 -3
- package/dist/storage.js.map +5 -4
- package/dist/types/packages/core/src/agents/idle-archiver.d.ts +2 -0
- package/dist/types/packages/core/src/agents/memory-archive-policy.d.ts +14 -0
- package/dist/types/packages/core/src/agents/model-catalog.d.ts +77 -0
- package/dist/types/packages/core/src/prompts/builders.d.ts +5 -1
- package/dist/types/packages/core/src/storage/topic-archive.d.ts +1 -0
- package/dist/types/packages/core/src/version.d.ts +1 -1
- package/package.json +2 -2
package/dist/storage.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../../packages/core/src/storage/activity-log.ts", "../../../packages/core/src/platform/jsonl.ts", "../../../packages/core/src/platform/file-utils.ts", "../../../packages/core/src/platform/logger.ts", "../../../packages/core/src/security/sanitize.ts", "../../../packages/core/src/storage/storage-host.ts", "../../../packages/core/src/storage/sqlite.ts", "../../../packages/core/src/storage/forum-db.ts", "../../../packages/core/src/storage/api-messages.ts", "../../../packages/core/src/storage/api-topic-brief.ts", "../../../packages/core/src/storage/api-topic-config.ts", "../../../packages/core/src/platform/constants.ts", "../../../packages/core/src/storage/api-topics.ts", "../../../packages/core/src/storage/app-settings.ts", "../../../packages/core/src/storage/conversations.ts", "../../../packages/core/src/types.ts", "../../../packages/core/src/platform/error.ts", "../../../packages/core/src/storage/forum/schema.ts", "../../../packages/core/src/storage/forum/agent-settings.ts", "../../../packages/core/src/storage/forum/repository.ts", "../../../packages/core/src/storage/session-asks.ts", "../../../packages/core/src/storage/storage-public-host.ts", "../../../packages/core/src/storage/tasks.ts", "../../../packages/core/src/storage/token-stats.ts", "../../../packages/core/src/storage/topic-archive.ts", "../../../packages/core/src/storage/topic-transcript.ts", "../../../packages/core/src/storage/wiki.ts", "../../../packages/core/src/storage/topic-archive-state.ts", "../../../packages/core/src/storage/topic-settings.ts", "../../../packages/core/src/storage/wiki-summary-names.ts"],
|
|
3
|
+
"sources": ["../../../packages/core/src/storage/activity-log.ts", "../../../packages/core/src/platform/jsonl.ts", "../../../packages/core/src/platform/file-utils.ts", "../../../packages/core/src/platform/logger.ts", "../../../packages/core/src/security/sanitize.ts", "../../../packages/core/src/storage/storage-host.ts", "../../../packages/core/src/storage/sqlite.ts", "../../../packages/core/src/storage/forum-db.ts", "../../../packages/core/src/storage/api-messages.ts", "../../../packages/core/src/storage/api-topic-brief.ts", "../../../packages/core/src/storage/api-topic-config.ts", "../../../packages/core/src/platform/constants.ts", "../../../packages/core/src/storage/api-topics.ts", "../../../packages/core/src/storage/app-settings.ts", "../../../packages/core/src/storage/conversations.ts", "../../../packages/core/src/types.ts", "../../../packages/core/src/platform/error.ts", "../../../packages/core/src/storage/forum/schema.ts", "../../../packages/core/src/storage/forum/agent-settings.ts", "../../../packages/core/src/storage/forum/repository.ts", "../../../packages/core/src/storage/session-asks.ts", "../../../packages/core/src/storage/storage-public-host.ts", "../../../packages/core/src/storage/tasks.ts", "../../../packages/core/src/storage/token-stats.ts", "../../../packages/core/src/storage/topic-archive.ts", "../../../packages/core/src/agents/memory-archive-policy.ts", "../../../packages/core/src/storage/topic-transcript.ts", "../../../packages/core/src/storage/wiki.ts", "../../../packages/core/src/storage/topic-archive-state.ts", "../../../packages/core/src/storage/topic-settings.ts", "../../../packages/core/src/storage/wiki-summary-names.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"import {\n existsSync,\n mkdirSync,\n readdirSync,\n renameSync,\n statSync,\n unlinkSync,\n writeFileSync,\n} from \"node:fs\";\nimport { basename, join } from \"node:path\";\nimport { appendJsonlEntry, readJsonlLines } from \"#platform/jsonl\";\nimport { logger } from \"#platform/logger\";\nimport { sanitizeTopicName } from \"#security/sanitize\";\nimport { resolveStorageLogDir, resolveStorageUsersLogDir } from \"#storage/storage-host\";\nimport type { TokenUsage } from \"#types\";\n\n// --- Log rotation config ---\nconst MAX_FILE_SIZE = 5 * 1024 * 1024; // 5MB per log file\nconst MAX_TOTAL_SIZE = 200 * 1024 * 1024; // 200MB total log budget\nconst ROTATION_CHECK_INTERVAL = 60 * 60 * 1000; // check every hour\nlet rotationTimer: ReturnType<typeof setInterval> | null = null;\n\nfunction startLogRotation(): void {\n if (rotationTimer) return;\n rotateOldLogs();\n rotationTimer = setInterval(rotateOldLogs, ROTATION_CHECK_INTERVAL);\n rotationTimer.unref?.();\n}\n\nexport interface LogEntry {\n timestamp: string;\n userId: number;\n sessionId: string | null;\n session: string;\n prompt: string;\n response: string;\n usage?: TokenUsage;\n}\n\nexport function writeLog(entry: LogEntry) {\n startLogRotation();\n const logDir = resolveStorageLogDir();\n mkdirSync(logDir, { recursive: true });\n const safeSession = sanitizeTopicName(entry.session);\n const sidShort = entry.sessionId ? entry.sessionId.slice(0, 8) : \"new\";\n const file = join(logDir, `${entry.userId}_${safeSession}_${sidShort}.jsonl`);\n\n // Rotate if file is too large\n try {\n const stat = statSync(file);\n if (stat.size >= MAX_FILE_SIZE) {\n const rotated = file.replace(/\\.jsonl$/, `.${Date.now()}.jsonl`);\n renameSync(file, rotated);\n }\n } catch {\n // File doesn't exist yet, fine\n }\n\n appendJsonlEntry(file, entry);\n}\n\n/** Remove oldest log files when total size exceeds budget */\nexport function rotateOldLogs() {\n const logDir = resolveStorageLogDir();\n mkdirSync(logDir, { recursive: true });\n try {\n const files = readdirSync(logDir)\n .filter((f) => f.endsWith(\".jsonl\"))\n .map((f) => {\n try {\n const stat = statSync(join(logDir, f));\n return { name: f, size: stat.size, mtimeMs: stat.mtimeMs };\n } catch {\n return null;\n }\n })\n .filter((f): f is NonNullable<typeof f> => f !== null);\n\n const totalSize = files.reduce((sum, f) => sum + f.size, 0);\n if (totalSize <= MAX_TOTAL_SIZE) return;\n\n // Delete oldest files first until under budget\n files.sort((a, b) => a.mtimeMs - b.mtimeMs);\n let freed = 0;\n const toFree = totalSize - MAX_TOTAL_SIZE;\n for (const file of files) {\n if (freed >= toFree) break;\n try {\n unlinkSync(join(logDir, file.name));\n freed += file.size;\n logger.info(\n { file: file.name, sizeKB: (file.size / 1024).toFixed(0) },\n \"Rotated out old log\",\n );\n } catch (e) {\n logger.warn({ err: e, file: file.name }, \"Log rotation: failed to delete old log file\");\n }\n }\n } catch (e) {\n logger.warn({ err: e }, \"Log rotation failed\");\n }\n}\n\nexport interface SentFileEntry {\n timestamp: string;\n userId: number;\n topicName: string;\n sessionId: string | null;\n filePath: string;\n fileName: string;\n}\n\nexport function writeSentFileLog(entry: Omit<SentFileEntry, \"fileName\">) {\n const dir = join(resolveStorageUsersLogDir(), String(entry.userId));\n mkdirSync(dir, { recursive: true });\n const file = join(dir, \"sent-files.jsonl\");\n try {\n appendJsonlEntry(file, { ...entry, fileName: basename(entry.filePath) });\n } catch (e) {\n logger.warn({ err: e, entry }, \"Failed to write sent-file log\");\n }\n}\n\nfunction entryMatchesTopic(e: SentFileEntry, topicName: string): boolean {\n return e.topicName === topicName;\n}\n\nexport function readSentFilesForTopic(userId: number, topicName: string): SentFileEntry[] {\n const file = join(resolveStorageUsersLogDir(), String(userId), \"sent-files.jsonl\");\n if (!existsSync(file)) return [];\n try {\n return readJsonlLines(file)\n .map((line) => JSON.parse(line) as SentFileEntry)\n .filter((e) => entryMatchesTopic(e, topicName));\n } catch (e) {\n logger.warn({ err: e, userId, topicName }, \"Failed to read sent-files log\");\n return [];\n }\n}\n\n/** 토픽 삭제 후 JSONL에서 해당 토픽 항목 제거 */\nexport function removeSentFilesForTopic(userId: number, topicName: string): void {\n const file = join(resolveStorageUsersLogDir(), String(userId), \"sent-files.jsonl\");\n if (!existsSync(file)) return;\n try {\n const remaining = readJsonlLines(file).filter((line) => {\n try {\n return !entryMatchesTopic(JSON.parse(line) as SentFileEntry, topicName);\n } catch {\n return true;\n }\n });\n if (remaining.length > 0) {\n writeFileSync(file, `${remaining.join(\"\\n\")}\\n`);\n } else {\n unlinkSync(file);\n }\n } catch (e) {\n logger.warn({ err: e, userId, topicName }, \"Failed to remove sent-files for topic\");\n }\n}\n",
|
|
6
6
|
"import {\n appendFileSync,\n closeSync,\n fsyncSync,\n mkdirSync,\n openSync,\n readFileSync,\n renameSync,\n statSync,\n unlinkSync,\n writeFileSync,\n} from \"node:fs\";\nimport { dirname } from \"node:path\";\nimport { safeUnlink } from \"#platform/file-utils\";\n\nexport function readJsonlLines(filePath: string): string[] {\n return readFileSync(filePath, \"utf-8\").trim().split(\"\\n\").filter(Boolean);\n}\n\n/**\n * Parse a JSONL string (one JSON value per line) into an array of `T`.\n * Throws on malformed lines — use when a corrupt fixture/log should fail\n * loudly rather than silently drop entries (paired with `readJsonlLines`'\n * resilient counterpart for live data streams).\n */\nexport function parseJsonlText<T = unknown>(raw: string): T[] {\n return raw\n .trim()\n .split(\"\\n\")\n .filter(Boolean)\n .map((line) => JSON.parse(line) as T);\n}\n\n/**\n * Read and JSON-parse a file. Returns null if the file is missing or contains\n * invalid JSON. Use when a missing/corrupt file should fall through to a\n * default rather than throw.\n */\nexport function readJsonFile<T = unknown>(filePath: string): T | null {\n try {\n return JSON.parse(readFileSync(filePath, \"utf-8\")) as T;\n } catch {\n return null;\n }\n}\n\n/** Atomically replace a JSON file and fsync the new contents before rename. */\nexport function writeJsonFileAtomic(filePath: string, value: unknown): void {\n const dir = dirname(filePath);\n mkdirSync(dir, { recursive: true });\n const tmpPath = `${filePath}.tmp-${process.pid}-${Date.now()}-${Math.random()\n .toString(16)\n .slice(2)}`;\n let fd: number | null = null;\n try {\n fd = openSync(tmpPath, \"wx\", 0o600);\n writeFileSync(fd, JSON.stringify(value, null, 2));\n fsyncSync(fd);\n closeSync(fd);\n fd = null;\n renameSync(tmpPath, filePath);\n fsyncDirectoryBestEffort(dir);\n } catch (err) {\n if (fd !== null) {\n try {\n closeSync(fd);\n } catch {}\n }\n safeUnlink(tmpPath);\n throw err;\n }\n}\n\n// --- Cross-process append lock ---\n// POSIX `O_APPEND` is only atomic when the write payload fits in PIPE_BUF\n// (Linux 4096, macOS 512). MCP servers and the bot run as separate\n// processes that all `appendFileSync` to shared inbox/outbox files; a long\n// `tell_session` prompt or large `ask_session` reply is comfortably above\n// PIPE_BUF, and a concurrent append from another process can interleave at\n// the byte level — the result fails JSON parse and the entire entry is\n// silently dropped by `parseOutboxLine`.\n//\n// Mitigation: a sidecar `<filePath>.lock` created with `O_EXCL` serializes\n// every append at the OS level. Lock is held for the duration of one\n// `appendFileSync`, so the contention window is microseconds. Stale locks\n// (process crashed mid-write) are detected via mtime and forcibly removed\n// after `LOCK_STALE_MS`. As a last resort, after `LOCK_TIMEOUT_MS` of\n// retries, the lock is bypassed — the entry survives but may interleave;\n// preferable to dropping it entirely.\nconst LOCK_SUFFIX = \".lock\";\nconst LOCK_RETRY_MS = 5;\nconst LOCK_TIMEOUT_MS = 1500;\nconst LOCK_STALE_MS = 5000;\nconst LOCK_SLEEP = new Int32Array(new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT));\n\n/** Synchronous, non-spinning sleep supported by both Bun and Node MCP workers. */\nfunction sleepForAppendLock(ms: number): void {\n Atomics.wait(LOCK_SLEEP, 0, 0, ms);\n}\n\nfunction tryAcquireAppendLock(lockPath: string): boolean {\n try {\n closeSync(openSync(lockPath, \"wx\")); // O_CREAT | O_EXCL — atomic\n return true;\n } catch (e) {\n if ((e as NodeJS.ErrnoException).code !== \"EEXIST\") throw e;\n return false;\n }\n}\n\nfunction isStaleLock(lockPath: string): boolean {\n try {\n return Date.now() - statSync(lockPath).mtimeMs > LOCK_STALE_MS;\n } catch {\n return false;\n }\n}\n\n/**\n * Append a JSON-encoded entry + newline to a JSONL file. Ensures the parent\n * directory exists and serializes concurrent multi-process appends through a\n * sidecar lock so payloads larger than PIPE_BUF do not interleave.\n *\n * The drainer side (`outbox/file-ops.ts`) claims the file via atomic rename\n * and handles recovery of leftover `.processing` files from crashes.\n */\nexport function appendJsonlEntry(filePath: string, entry: unknown): void {\n appendJsonlLine(filePath, `${JSON.stringify(entry)}\\n`);\n}\n\n/**\n * Append an already-serialized JSONL line (must end with \"\\n\") under the\n * same cross-process append lock as `appendJsonlEntry`. Use when you\n * want to write back a raw line **exactly** — e.g. flusher tail-writeback\n * preserving lines that current parser can't decode, so a future parser\n * release still sees them.\n */\nexport function appendJsonlLine(filePath: string, line: string): void {\n mkdirSync(dirname(filePath), { recursive: true });\n const lockPath = `${filePath}${LOCK_SUFFIX}`;\n const payload = line.endsWith(\"\\n\") ? line : `${line}\\n`;\n\n let acquired = tryAcquireAppendLock(lockPath);\n // Pre-check: if the existing lock is already stale (writer crashed before\n // unlinking), reclaim it before sleeping. Saves the entire retry budget\n // for the common stale-leftover case.\n if (!acquired && isStaleLock(lockPath)) {\n safeUnlink(lockPath);\n acquired = tryAcquireAppendLock(lockPath);\n }\n if (!acquired) {\n const start = Date.now();\n while (!acquired && Date.now() - start < LOCK_TIMEOUT_MS) {\n // Codex launches built-in stdio MCPs under Node+tsx while the runtime\n // itself uses Bun. Atomics.wait gives both processes a blocking sleep\n // without a CPU-spinning fallback or a Bun-only global.\n sleepForAppendLock(LOCK_RETRY_MS);\n acquired = tryAcquireAppendLock(lockPath);\n // Recheck staleness inside the loop so a writer that crashes mid-wait\n // doesn't leave us spinning the whole timeout.\n if (!acquired && isStaleLock(lockPath)) {\n safeUnlink(lockPath);\n acquired = tryAcquireAppendLock(lockPath);\n }\n }\n }\n\n if (!acquired) {\n // Best-effort fallback: append unlocked. Worst case the line interleaves\n // with another writer and one of them is dropped at parse time — still\n // better than dropping the entry on the floor here.\n appendFileSync(filePath, payload);\n return;\n }\n\n try {\n appendFileSync(filePath, payload);\n } finally {\n safeUnlink(lockPath);\n }\n}\n\n/** Overwrite a JSONL file with the given entries. Trailing newline included. */\nexport function writeJsonlFile(filePath: string, entries: readonly unknown[]): void {\n const dir = dirname(filePath);\n mkdirSync(dir, { recursive: true });\n const tmpPath = `${filePath}.tmp-${process.pid}-${Date.now()}-${Math.random()\n .toString(16)\n .slice(2)}`;\n const payload = `${entries.map((e) => JSON.stringify(e)).join(\"\\n\")}\\n`;\n let fd: number | null = null;\n try {\n fd = openSync(tmpPath, \"w\");\n writeFileSync(fd, payload);\n fsyncSync(fd);\n closeSync(fd);\n fd = null;\n renameSync(tmpPath, filePath);\n fsyncDirectoryBestEffort(dir);\n } catch (err) {\n if (fd !== null) {\n try {\n closeSync(fd);\n } catch {}\n }\n try {\n unlinkSync(tmpPath);\n } catch {}\n throw err;\n }\n}\n\nfunction fsyncDirectoryBestEffort(dir: string): void {\n let fd: number | null = null;\n try {\n fd = openSync(dir, \"r\");\n fsyncSync(fd);\n } catch {\n // Directory fsync is not portable across every runtime/filesystem. The\n // file fsync + rename above is the important integrity boundary; this is\n // best-effort durability for the directory entry.\n } finally {\n if (fd !== null) {\n try {\n closeSync(fd);\n } catch {}\n }\n }\n}\n",
|
|
@@ -26,14 +26,15 @@
|
|
|
26
26
|
"import type { StorageDatabase, StorageHostConfig } from \"#storage/storage-contract\";\nimport {\n configureStorageHost as configureInternalStorageHost,\n resetStorageHost as resetInternalStorageHost,\n storageDatabase,\n} from \"#storage/storage-host\";\n\n/** Configure the lazy process-local storage boundary and return an idempotent disposer. */\nexport const configureStorageHost: (options: StorageHostConfig) => () => void =\n configureInternalStorageHost;\n\n/** Remove every configured host layer and restore standalone fallbacks. */\nexport const resetStorageHost: () => void = resetInternalStorageHost;\n\n/** Stable structurally typed proxy over the currently active database. */\nexport const db: StorageDatabase = storageDatabase;\n",
|
|
27
27
|
"import { existsSync, mkdirSync, readFileSync, renameSync, statSync, writeFileSync } from \"node:fs\";\nimport { dirname, join } from \"node:path\";\nimport { logger } from \"#platform/logger\";\nimport { sanitizeFileName } from \"#security/sanitize\";\nimport { resolveStorageDataDir } from \"#storage/storage-host\";\nimport type { TaskSnapshot } from \"#types\";\n\n/**\n * Otium-owned task store, shared by every agent backend.\n *\n * Provider-native task/todo stores are not authoritative because they live\n * inside one SDK session. This store is keyed by Otium topic context so task\n * state survives agent switches and feeds the same live task panel for\n * claude/codex/maestro.\n */\nexport type StoredTask = TaskSnapshot;\n\nexport const TASK_STATUS_VALUES = [\"pending\", \"in_progress\", \"completed\"] as const;\n\ninterface TaskFileShape {\n version: 1;\n tasks: StoredTask[];\n}\n\nfunction safeUserIdComponent(userId: number | string): string {\n const str = String(userId);\n if (!str || /[/\\\\]|\\.\\./.test(str)) {\n throw new Error(`tasks: refusing unsafe userId path component: ${str}`);\n }\n return str;\n}\n\nfunction safeTaskScopeKey(scopeKey: string): string {\n const safe = sanitizeFileName(scopeKey);\n if (!safe || safe === \".\" || safe === \"..\") {\n throw new Error(`tasks: refusing unsafe scope key: ${scopeKey}`);\n }\n return safe;\n}\n\nexport function taskScopeKey(opts: { topicId?: string; session: string }): string {\n return opts.topicId?.trim() || opts.session || \"default\";\n}\n\nexport function getTaskFilePath(userId: number | string, scopeKey: string): string {\n return join(\n resolveStorageDataDir(),\n \"tasks\",\n safeUserIdComponent(userId),\n `${safeTaskScopeKey(scopeKey)}.json`,\n );\n}\n\nexport function readTasks(userId: number | string, scopeKey: string): StoredTask[] {\n const path = getTaskFilePath(userId, scopeKey);\n if (!existsSync(path)) return [];\n try {\n const parsed = JSON.parse(readFileSync(path, \"utf-8\")) as TaskFileShape;\n return Array.isArray(parsed?.tasks) ? parsed.tasks : [];\n } catch (e) {\n logger.warn({ err: e, path }, \"tasks: failed to read task store\");\n return [];\n }\n}\n\nexport function writeTasks(userId: number | string, scopeKey: string, tasks: StoredTask[]): void {\n const path = getTaskFilePath(userId, scopeKey);\n mkdirSync(dirname(path), { recursive: true });\n const payload: TaskFileShape = { version: 1, tasks };\n const tmp = `${path}.${process.pid}.tmp`;\n writeFileSync(tmp, JSON.stringify(payload, null, 2), \"utf-8\");\n renameSync(tmp, path);\n}\n\nexport function taskFileMtimeNs(userId: number | string, scopeKey: string): bigint | null {\n try {\n return statSync(getTaskFilePath(userId, scopeKey), { bigint: true }).mtimeNs;\n } catch {\n return null;\n }\n}\n\nexport interface TaskCreateInput {\n subject: string;\n activeForm?: string;\n blockedBy?: string[];\n owner?: string;\n}\n\nexport interface TaskUpdateInput {\n id: string;\n status?: StoredTask[\"status\"];\n subject?: string;\n activeForm?: string;\n blockedBy?: string[];\n owner?: string;\n}\n\nfunction nextTaskId(tasks: StoredTask[]): number {\n let max = 0;\n for (const task of tasks) {\n const n = Number(task.id);\n if (Number.isInteger(n) && n > max) max = n;\n }\n return max + 1;\n}\n\nexport function createTasks(\n tasks: StoredTask[],\n inputs: TaskCreateInput[],\n): { tasks: StoredTask[]; created: StoredTask[] } {\n const out = [...tasks];\n const created: StoredTask[] = [];\n let id = nextTaskId(out);\n for (const input of inputs) {\n const task: StoredTask = {\n id: String(id++),\n subject: input.subject,\n status: \"pending\",\n ...(input.blockedBy && input.blockedBy.length > 0 ? { blockedBy: input.blockedBy } : {}),\n ...(input.activeForm ? { activeForm: input.activeForm } : {}),\n ...(input.owner ? { owner: input.owner } : {}),\n };\n out.push(task);\n created.push(task);\n }\n return { tasks: out, created };\n}\n\nexport function updateTasks(\n tasks: StoredTask[],\n updates: TaskUpdateInput[],\n): { tasks: StoredTask[]; missing: string[] } {\n const out = tasks.map((task) => ({ ...task }));\n const byId = new Map(out.map((task) => [task.id, task]));\n const missing: string[] = [];\n for (const update of updates) {\n const task = byId.get(update.id);\n if (!task) {\n missing.push(update.id);\n continue;\n }\n if (update.status !== undefined) task.status = update.status;\n if (update.subject !== undefined) task.subject = update.subject;\n if (update.activeForm !== undefined) {\n if (update.activeForm) task.activeForm = update.activeForm;\n else delete task.activeForm;\n }\n if (update.owner !== undefined) {\n if (update.owner) task.owner = update.owner;\n else delete task.owner;\n }\n if (update.blockedBy !== undefined) {\n if (update.blockedBy.length > 0) task.blockedBy = update.blockedBy;\n else delete task.blockedBy;\n }\n }\n return { tasks: out, missing };\n}\n\nexport function deleteTasks(\n tasks: StoredTask[],\n opts: { ids?: string[]; all?: boolean },\n): { tasks: StoredTask[]; removed: number } {\n if (opts.all) return { tasks: [], removed: tasks.length };\n const ids = new Set(opts.ids ?? []);\n const kept = tasks.filter((task) => !ids.has(task.id));\n return { tasks: kept, removed: tasks.length - kept.length };\n}\n\nexport function renderTaskList(tasks: StoredTask[]): string {\n if (tasks.length === 0) return \"작업 목록이 비어 있습니다.\";\n const mark = { pending: \"[ ]\", in_progress: \"[->]\", completed: \"[x]\" } as const;\n const lines = tasks.map((task) => {\n const deps =\n task.blockedBy && task.blockedBy.length > 0\n ? ` (blocked by #${task.blockedBy.join(\", #\")})`\n : \"\";\n const owner = task.owner ? ` @${task.owner}` : \"\";\n return `${mark[task.status]} #${task.id} ${task.subject}${deps}${owner}`;\n });\n const done = tasks.filter((task) => task.status === \"completed\").length;\n return [`Tasks (${done}/${tasks.length} 완료)`, ...lines].join(\"\\n\");\n}\n",
|
|
28
28
|
"import { createHash } from \"node:crypto\";\nimport { mkdirSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { appendJsonlEntry, readJsonlLines } from \"#platform/jsonl\";\nimport { logger } from \"#platform/logger\";\nimport { resolveStorageLogDir } from \"#storage/storage-host\";\n\nexport interface QueryRecord {\n timestamp: string; // ISO 8601 UTC\n session: string; // topic name\n inputTokens: number;\n outputTokens: number;\n cacheCreationInputTokens: number;\n cacheReadInputTokens: number;\n}\n\nexport interface Bucket {\n inputTokens: number;\n outputTokens: number;\n cacheCreationInputTokens: number;\n cacheReadInputTokens: number;\n queries: number;\n}\n\nfunction emptyBucket(): Bucket {\n return {\n inputTokens: 0,\n outputTokens: 0,\n cacheCreationInputTokens: 0,\n cacheReadInputTokens: 0,\n queries: 0,\n };\n}\n\nexport function tokenStatsFileId(userId: number | string): string {\n const rawUserId = String(userId);\n // Preserve existing filenames for ordinary IDs, but never let an external\n // identity introduce path separators or unbounded filename length.\n return /^[A-Za-z0-9][A-Za-z0-9_.@-]{0,255}$/.test(rawUserId) && !rawUserId.includes(\"..\")\n ? rawUserId\n : `sha256-${createHash(\"sha256\").update(rawUserId).digest(\"hex\")}`;\n}\n\nfunction queriesPath(userId: number | string): string {\n const fileId = tokenStatsFileId(userId);\n const logDir = resolveStorageLogDir();\n mkdirSync(logDir, { recursive: true });\n return join(logDir, `token-queries-${fileId}.jsonl`);\n}\n\nfunction loadRecords(userId: number | string): QueryRecord[] {\n try {\n return readJsonlLines(queriesPath(userId)).flatMap((line) => {\n try {\n return [JSON.parse(line) as QueryRecord];\n } catch {\n return [];\n }\n });\n } catch {\n return [];\n }\n}\n\nexport function calcCost(\n b: Pick<\n Bucket,\n \"inputTokens\" | \"outputTokens\" | \"cacheCreationInputTokens\" | \"cacheReadInputTokens\"\n >,\n): number {\n return (\n (b.inputTokens / 1_000_000) * 3.0 +\n (b.outputTokens / 1_000_000) * 15.0 +\n (b.cacheCreationInputTokens / 1_000_000) * 3.75 +\n (b.cacheReadInputTokens / 1_000_000) * 0.3\n );\n}\n\n/** 쿼리 완료 시 호출 — JSONL에 한 줄 추가 */\nexport function recordUsage(\n userId: number | string,\n session: string,\n usage: {\n inputTokens: number;\n outputTokens: number;\n cacheCreationInputTokens?: number;\n cacheReadInputTokens?: number;\n },\n) {\n const record: QueryRecord = {\n timestamp: new Date().toISOString(),\n session,\n inputTokens: usage.inputTokens,\n outputTokens: usage.outputTokens,\n cacheCreationInputTokens: usage.cacheCreationInputTokens ?? 0,\n cacheReadInputTokens: usage.cacheReadInputTokens ?? 0,\n };\n try {\n appendJsonlEntry(queriesPath(userId), record);\n } catch (e) {\n logger.warn({ err: e, userId }, \"token-stats: Failed to record\");\n }\n}\n\nexport function getStats(\n userId: number | string,\n from?: string,\n to?: string,\n): {\n total: Bucket;\n byHour: Record<string, Bucket>;\n bySession: Record<string, Bucket>;\n estimatedCostUsd: number;\n} {\n const records = loadRecords(userId);\n\n const fromTs = from ? new Date(from).getTime() : 0;\n const toTs = to ? new Date(to).getTime() : Infinity;\n\n if ((from && Number.isNaN(fromTs)) || (to && Number.isNaN(toTs))) {\n logger.warn({ from, to }, \"token-stats: Invalid date range, returning empty\");\n return { total: emptyBucket(), byHour: {}, bySession: {}, estimatedCostUsd: 0 };\n }\n\n const total = emptyBucket();\n const byHour: Record<string, Bucket> = {};\n const bySession: Record<string, Bucket> = {};\n\n for (const r of records) {\n const ts = new Date(r.timestamp).getTime();\n if (ts < fromTs || ts > toTs) continue;\n\n const hourKey = r.timestamp.slice(0, 13); // \"2026-03-28T14\"\n\n if (!byHour[hourKey]) byHour[hourKey] = emptyBucket();\n if (!bySession[r.session]) bySession[r.session] = emptyBucket();\n\n for (const bucket of [total, byHour[hourKey], bySession[r.session]]) {\n bucket.inputTokens += r.inputTokens;\n bucket.outputTokens += r.outputTokens;\n bucket.cacheCreationInputTokens += r.cacheCreationInputTokens;\n bucket.cacheReadInputTokens += r.cacheReadInputTokens;\n bucket.queries += 1;\n }\n }\n\n return { total, byHour, bySession, estimatedCostUsd: calcCost(total) };\n}\n",
|
|
29
|
-
"import { mkdirSync, writeFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { logger } from \"#platform/logger\";\nimport { sanitizeTopicName } from \"#security/sanitize\";\nimport { getAllMessagesForTopic, getMessagesForTopicAfterRowid } from \"#storage/api-messages\";\nimport { formatTopicArchiveTranscriptRecord } from \"#storage/topic-transcript\";\nimport { getSharedWikiDir } from \"#storage/wiki\";\n\nexport interface TopicArchiveResult {\n path: string;\n messageCount: number;\n lastRowid: number;\n}\n\nexport interface TopicArchiveOptions {\n afterRowid?: number;\n reason?: \"delete\" | \"idle\" | \"reset\";\n}\n\n/**\n * Forensic-archive a topic's SQLite-backed messages into the shared\n * `wiki/archive/` as JSONL transcript records.\n *\n * Otium keeps conversations in the `api_messages` table (SQLite), not in the\n * `PROJECT_ROOT/logs` activity-log files that Otium's `archiveSessionLogs`\n * scans — so this is Otium's native equivalent. Each JSONL record keeps the raw\n * DB message under `message`, plus a human-readable `line`/`role`/`speaker` for\n * the background wiki-archiver turn.\n *\n * Output lands in the **shared** wiki root (see `getSharedWikiDir`) because\n * that is the root the wiki MCP serves in topic-id mode; writing it elsewhere\n * would make the archive invisible to later `wiki_query` calls.\n *\n * Returns `null` when the selected range has no messages.\n */\nexport function archiveTopicMessages(\n topicId: string,\n topicTitle: string,\n options: TopicArchiveOptions = {},\n): TopicArchiveResult | null {\n const rows =\n options.afterRowid !== undefined\n ? getMessagesForTopicAfterRowid(topicId, options.afterRowid)\n : getAllMessagesForTopic(topicId);\n if (rows.length === 0) return null;\n\n const safeTopic = sanitizeTopicName(topicTitle, true);\n const archiveDir = join(getSharedWikiDir(), \"archive\");\n mkdirSync(archiveDir, { recursive: true });\n\n // Collision-proof file name: a topic deleted twice on the same day (e.g.\n // recreated then deleted again) must not clobber the earlier archive.\n const date = new Date().toISOString().slice(0, 10);\n const reasonSuffix = options.reason && options.reason !== \"delete\" ? `_${options.reason}` : \"\";\n let filename: string;\n let counter = 1;\n const lastRowid = rows.reduce((max, row) => Math.max(max, row.rowid ?? 0), 0);\n const body = `${rows\n .map((r, index) => JSON.stringify(formatTopicArchiveTranscriptRecord(r, topicTitle, index + 1)))\n .join(\"\\n\")}\\n`;\n let path: string;\n while (true) {\n filename = `${safeTopic}_${date}${reasonSuffix}${counter === 1 ? \"\" : `_${counter}`}.jsonl`;\n path = join(archiveDir, filename);\n try {\n writeFileSync(path, body, { flag: \"wx\" });\n break;\n } catch (err) {\n if ((err as NodeJS.ErrnoException).code !== \"EEXIST\") throw err;\n counter++;\n }\n }\n\n logger.info(\n { topicId, topicTitle, archive: path, messageCount: rows.length, lastRowid },\n \"archiveTopicMessages: archived topic messages\",\n );\n return { path, messageCount: rows.length, lastRowid };\n}\n",
|
|
29
|
+
"import { mkdirSync, writeFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { countMemoryArchiveExchanges } from \"#agents/memory-archive-policy\";\nimport { logger } from \"#platform/logger\";\nimport { sanitizeTopicName } from \"#security/sanitize\";\nimport { getAllMessagesForTopic, getMessagesForTopicAfterRowid } from \"#storage/api-messages\";\nimport { formatTopicArchiveTranscriptRecord } from \"#storage/topic-transcript\";\nimport { getSharedWikiDir } from \"#storage/wiki\";\n\nexport interface TopicArchiveResult {\n path: string;\n messageCount: number;\n exchangeCount: number;\n lastRowid: number;\n}\n\nexport interface TopicArchiveOptions {\n afterRowid?: number;\n reason?: \"delete\" | \"idle\" | \"reset\";\n}\n\n/**\n * Forensic-archive a topic's SQLite-backed messages into the shared\n * `wiki/archive/` as JSONL transcript records.\n *\n * Otium keeps conversations in the `api_messages` table (SQLite), not in the\n * `PROJECT_ROOT/logs` activity-log files that Otium's `archiveSessionLogs`\n * scans — so this is Otium's native equivalent. Each JSONL record keeps the raw\n * DB message under `message`, plus a human-readable `line`/`role`/`speaker` for\n * the background wiki-archiver turn.\n *\n * Output lands in the **shared** wiki root (see `getSharedWikiDir`) because\n * that is the root the wiki MCP serves in topic-id mode; writing it elsewhere\n * would make the archive invisible to later `wiki_query` calls.\n *\n * Returns `null` when the selected range has no messages.\n */\nexport function archiveTopicMessages(\n topicId: string,\n topicTitle: string,\n options: TopicArchiveOptions = {},\n): TopicArchiveResult | null {\n const rows =\n options.afterRowid !== undefined\n ? getMessagesForTopicAfterRowid(topicId, options.afterRowid)\n : getAllMessagesForTopic(topicId);\n if (rows.length === 0) return null;\n\n const safeTopic = sanitizeTopicName(topicTitle, true);\n const archiveDir = join(getSharedWikiDir(), \"archive\");\n mkdirSync(archiveDir, { recursive: true });\n\n // Collision-proof file name: a topic deleted twice on the same day (e.g.\n // recreated then deleted again) must not clobber the earlier archive.\n const date = new Date().toISOString().slice(0, 10);\n const reasonSuffix = options.reason && options.reason !== \"delete\" ? `_${options.reason}` : \"\";\n let filename: string;\n let counter = 1;\n const lastRowid = rows.reduce((max, row) => Math.max(max, row.rowid ?? 0), 0);\n const body = `${rows\n .map((r, index) => JSON.stringify(formatTopicArchiveTranscriptRecord(r, topicTitle, index + 1)))\n .join(\"\\n\")}\\n`;\n let path: string;\n while (true) {\n filename = `${safeTopic}_${date}${reasonSuffix}${counter === 1 ? \"\" : `_${counter}`}.jsonl`;\n path = join(archiveDir, filename);\n try {\n writeFileSync(path, body, { flag: \"wx\" });\n break;\n } catch (err) {\n if ((err as NodeJS.ErrnoException).code !== \"EEXIST\") throw err;\n counter++;\n }\n }\n\n const exchangeCount = countMemoryArchiveExchanges(rows);\n logger.info(\n { topicId, topicTitle, archive: path, messageCount: rows.length, exchangeCount, lastRowid },\n \"archiveTopicMessages: archived topic messages\",\n );\n return { path, messageCount: rows.length, exchangeCount, lastRowid };\n}\n",
|
|
30
|
+
"export interface MemoryArchiveMessage {\n author_id: string;\n agent_type?: string | null;\n kind?: string | null;\n}\n\n/**\n * Shared lifecycle gate for reset/delete memory distillation. Keep the raw\n * forensic archive even below this threshold, but do not spend an agent turn\n * on a session with five or fewer completed user/assistant exchanges. This\n * mirrors Clawgram's lifecycle-level MIN_EXCHANGE_COUNT policy.\n */\nexport const MIN_MEMORY_ARCHIVE_EXCHANGES = 6;\n\n/** Count completed conversational exchanges while ignoring system/tool/card noise. */\nexport function countMemoryArchiveExchanges(rows: readonly MemoryArchiveMessage[]): number {\n let waitingForAssistant = false;\n let completed = 0;\n\n for (const row of rows) {\n const assistant = row.author_id === \"ai\" || Boolean(row.agent_type);\n const conversational = row.kind == null || row.kind === \"message\";\n if (!assistant && row.author_id !== \"system\" && conversational) {\n waitingForAssistant = true;\n continue;\n }\n if (assistant && conversational && waitingForAssistant) {\n completed++;\n waitingForAssistant = false;\n }\n }\n\n return completed;\n}\n",
|
|
30
31
|
"export interface TopicArchiveMessageRow {\n id: string;\n topic_id: string;\n parent_id: string | null;\n author_id: string;\n text: string;\n query_id: string | null;\n agent_type: string | null;\n model: string | null;\n attachments: string | null;\n usage: string | null;\n deleted: number;\n created_at: string;\n rowid?: number;\n}\n\nexport type TopicArchiveRole = \"user\" | \"assistant\" | \"system\";\n\nexport interface TopicArchiveTranscriptRecord {\n type: \"message\";\n index: number;\n topicId: string;\n topicTitle: string;\n id: string;\n createdAt: string;\n rowid?: number;\n role: TopicArchiveRole;\n speaker: string;\n line: string;\n text: string;\n authorId: string;\n parentId?: string;\n queryId?: string;\n agentType?: string;\n model?: string;\n attachments?: unknown;\n usage?: unknown;\n message: TopicArchiveMessageRow;\n}\n\nfunction parseJsonField(value: string | null): unknown | undefined {\n if (!value) return undefined;\n try {\n return JSON.parse(value);\n } catch {\n return value;\n }\n}\n\nfunction transcriptRole(row: TopicArchiveMessageRow): TopicArchiveRole {\n if (row.author_id === \"system\") return \"system\";\n if (row.author_id === \"ai\" || row.agent_type) return \"assistant\";\n return \"user\";\n}\n\nfunction transcriptSpeaker(row: TopicArchiveMessageRow, role: TopicArchiveRole): string {\n if (role === \"assistant\") return row.agent_type ? `assistant:${row.agent_type}` : \"assistant\";\n if (role === \"system\") return \"system\";\n return `user:${row.author_id}`;\n}\n\nfunction oneLine(text: string): string {\n const compact = text.replace(/\\s+/g, \" \").trim();\n return compact.length > 2000 ? `${compact.slice(0, 2000)}...` : compact;\n}\n\nexport function formatTopicArchiveTranscriptRecord(\n row: TopicArchiveMessageRow,\n topicTitle: string,\n index: number,\n): TopicArchiveTranscriptRecord {\n const role = transcriptRole(row);\n const speaker = transcriptSpeaker(row, role);\n const attachments = parseJsonField(row.attachments);\n const usage = parseJsonField(row.usage);\n\n return {\n type: \"message\",\n index,\n topicId: row.topic_id,\n topicTitle,\n id: row.id,\n createdAt: row.created_at,\n ...(row.rowid !== undefined ? { rowid: row.rowid } : {}),\n role,\n speaker,\n line: `[${row.created_at}] ${speaker}: ${oneLine(row.text)}`,\n text: row.text,\n authorId: row.author_id,\n ...(row.parent_id ? { parentId: row.parent_id } : {}),\n ...(row.query_id ? { queryId: row.query_id } : {}),\n ...(row.agent_type ? { agentType: row.agent_type } : {}),\n ...(row.model ? { model: row.model } : {}),\n ...(attachments !== undefined ? { attachments } : {}),\n ...(usage !== undefined ? { usage } : {}),\n message: row,\n };\n}\n",
|
|
31
32
|
"import { existsSync, readdirSync } from \"node:fs\";\nimport { basename, dirname, join } from \"node:path\";\nimport { sanitizeTopicName } from \"#security/sanitize\";\nimport { resolveStorageSharedWikiDir, resolveStorageWorkspaceDir } from \"#storage/storage-host\";\n\nexport function getWikiDir(_userId: number, workspaceDir = resolveStorageWorkspaceDir()): string {\n return join(workspaceDir, \"wiki\");\n}\n\n/**\n * Shared wiki root. Otium keeps one workspace wiki for every topic and member;\n * filesystem wiki state is not partitioned by user.\n */\nexport function getSharedWikiDir(workspaceDir = resolveStorageWorkspaceDir()): string {\n return workspaceDir === resolveStorageWorkspaceDir()\n ? resolveStorageSharedWikiDir()\n : join(workspaceDir, \"wiki\");\n}\n\n/** Find the most recent wiki/summaries/ file for a given topic. */\nfunction findLatestSummaryFile(wikiDir: string, safeTopic: string): string | null {\n const summariesDir = join(wikiDir, \"summaries\");\n if (!existsSync(summariesDir)) return null;\n const files = readdirSync(summariesDir)\n .filter(\n (f) =>\n f.endsWith(\".md\") &&\n f.match(new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}-${safeTopic}(\\\\.md|-\\\\d+\\\\.md)$`)) &&\n !f.endsWith(\"-sent-files.md\"),\n )\n .sort()\n .reverse();\n return files.length > 0 ? join(summariesDir, files[0]) : null;\n}\n\n/** Return wiki/topic/<name>.md brief path and latest summary file for system prompt injection.\n * Falls back to forkOrigin's brief when the topic's own brief doesn't exist yet.\n * Returns empty memoryFiles if neither brief exists. */\nexport function getTopicMemoryFilePaths(\n _userId: number,\n topicName: string,\n forkOrigin?: string,\n workspaceDir = resolveStorageWorkspaceDir(),\n): {\n memoryDir: string;\n memoryFiles: string[];\n latestSummaryFile?: string;\n hasArchive?: boolean;\n} {\n const wikiDir = getSharedWikiDir(workspaceDir);\n\n const resolveBrief = (name: string) => {\n const safe = sanitizeTopicName(name, true);\n const brief = join(wikiDir, \"topic\", `${safe}.md`);\n const latestSummary = findLatestSummaryFile(wikiDir, safe);\n return { brief, latestSummary };\n };\n\n const archiveDir = join(wikiDir, \"archive\");\n const archiveExistsFor = (name: string) => {\n const safe = sanitizeTopicName(name);\n return (\n existsSync(archiveDir) &&\n readdirSync(archiveDir).some((f) => f.endsWith(\".jsonl\") && f.startsWith(`${safe}_`))\n );\n };\n\n const sourceTopic = forkOrigin ?? topicName;\n const hasArchive =\n archiveExistsFor(sourceTopic) || (forkOrigin ? archiveExistsFor(topicName) : false);\n const target = resolveBrief(sourceTopic);\n if (existsSync(target.brief)) {\n return {\n memoryDir: dirname(target.brief),\n memoryFiles: [basename(target.brief)],\n ...(target.latestSummary ? { latestSummaryFile: target.latestSummary } : {}),\n ...(hasArchive ? { hasArchive: true } : {}),\n };\n }\n\n return {\n memoryDir: join(wikiDir, \"topic\"),\n memoryFiles: [],\n ...(target.latestSummary ? { latestSummaryFile: target.latestSummary } : {}),\n ...(hasArchive ? { hasArchive: true } : {}),\n };\n}\n",
|
|
32
33
|
"import { rmSync } from \"node:fs\";\nimport { db } from \"#storage/forum-db\";\nimport { registerStorageSchemaInitializer } from \"#storage/storage-host\";\n\nregisterStorageSchemaInitializer((database) => {\n database.exec(`\n CREATE TABLE IF NOT EXISTS api_topic_archive_state (\n topic_id TEXT PRIMARY KEY,\n last_archived_rowid INTEGER NOT NULL DEFAULT 0,\n last_archive_path TEXT,\n updated_at TEXT NOT NULL\n );\n CREATE TABLE IF NOT EXISTS api_topic_archive_jobs (\n topic_id TEXT PRIMARY KEY,\n after_rowid INTEGER NOT NULL,\n last_rowid INTEGER NOT NULL,\n archive_path TEXT NOT NULL,\n message_count INTEGER NOT NULL,\n status TEXT NOT NULL CHECK (status IN ('running', 'pending')),\n updated_at TEXT NOT NULL\n );\n `);\n}, 30);\n\nconst ARCHIVE_JOB_STALE_MS = 30 * 60 * 1000;\n\nexport interface TopicArchiveState {\n topicId: string;\n lastArchivedRowid: number;\n lastArchivePath?: string;\n updatedAt: string;\n}\n\nexport interface TopicArchiveJob {\n topicId: string;\n afterRowid: number;\n lastRowid: number;\n archivePath: string;\n messageCount: number;\n status: \"running\" | \"pending\";\n updatedAt: string;\n}\n\nexport interface TopicArchiveJobCandidate {\n lastRowid: number;\n archivePath: string;\n messageCount: number;\n}\n\ninterface TopicArchiveStateRow {\n topic_id: string;\n last_archived_rowid: number;\n last_archive_path: string | null;\n updated_at: string;\n}\n\ninterface TopicArchiveJobRow {\n topic_id: string;\n after_rowid: number;\n last_rowid: number;\n archive_path: string;\n message_count: number;\n status: \"running\" | \"pending\";\n updated_at: string;\n}\n\nfunction rowToJob(row: TopicArchiveJobRow): TopicArchiveJob {\n return {\n topicId: row.topic_id,\n afterRowid: row.after_rowid,\n lastRowid: row.last_rowid,\n archivePath: row.archive_path,\n messageCount: row.message_count,\n status: row.status,\n updatedAt: row.updated_at,\n };\n}\n\nexport function getTopicArchiveState(topicId: string): TopicArchiveState | null {\n const row = db.query(\"SELECT * FROM api_topic_archive_state WHERE topic_id = ?\").get(topicId) as\n | TopicArchiveStateRow\n | undefined;\n if (!row) return null;\n return {\n topicId: row.topic_id,\n lastArchivedRowid: row.last_archived_rowid,\n lastArchivePath: row.last_archive_path ?? undefined,\n updatedAt: row.updated_at,\n };\n}\n\nexport function setTopicArchiveState(\n topicId: string,\n lastArchivedRowid: number,\n lastArchivePath?: string,\n): void {\n db.query(\n `INSERT INTO api_topic_archive_state (topic_id, last_archived_rowid, last_archive_path, updated_at)\n VALUES (?, ?, ?, ?)\n ON CONFLICT(topic_id) DO UPDATE SET\n last_archived_rowid = excluded.last_archived_rowid,\n last_archive_path = excluded.last_archive_path,\n updated_at = excluded.updated_at`,\n ).run(topicId, lastArchivedRowid, lastArchivePath ?? null, new Date().toISOString());\n}\n\n/** Atomically reserve one active-topic archive job across runtime processes. */\nexport function claimTopicArchiveJob(\n topicId: string,\n create: (afterRowid: number) => TopicArchiveJobCandidate | null,\n now = Date.now(),\n): { kind: \"claimed\"; job: TopicArchiveJob } | { kind: \"busy\" } | null {\n const claimExisting = () =>\n db.transaction(() => {\n const existing = db\n .query<TopicArchiveJobRow, [string]>(\n \"SELECT * FROM api_topic_archive_jobs WHERE topic_id = ?\",\n )\n .get(topicId);\n if (!existing) return null;\n const updatedAt = Date.parse(existing.updated_at);\n if (\n existing.status === \"running\" &&\n Number.isFinite(updatedAt) &&\n now - updatedAt < ARCHIVE_JOB_STALE_MS\n ) {\n return { kind: \"busy\" } as const;\n }\n const timestamp = new Date(now).toISOString();\n db.query(\n \"UPDATE api_topic_archive_jobs SET status = 'running', updated_at = ? WHERE topic_id = ?\",\n ).run(timestamp, topicId);\n return {\n kind: \"claimed\",\n job: rowToJob({ ...existing, status: \"running\", updated_at: timestamp }),\n } as const;\n })();\n\n const existingClaim = claimExisting();\n if (existingClaim) return existingClaim;\n\n // File serialization stays outside the SQLite write transaction. Only the\n // short compare-and-insert below is serialized across runtime processes.\n for (let attempt = 0; attempt < 2; attempt++) {\n const afterRowid = getTopicArchiveState(topicId)?.lastArchivedRowid ?? 0;\n const candidate = create(afterRowid);\n if (!candidate) return null;\n const result = db.transaction(() => {\n const existing = db\n .query<TopicArchiveJobRow, [string]>(\n \"SELECT * FROM api_topic_archive_jobs WHERE topic_id = ?\",\n )\n .get(topicId);\n if (existing) return { kind: \"busy\" } as const;\n const currentRowid = getTopicArchiveState(topicId)?.lastArchivedRowid ?? 0;\n if (currentRowid !== afterRowid) return { kind: \"stale\" } as const;\n const timestamp = new Date(now).toISOString();\n db.query(\n `INSERT INTO api_topic_archive_jobs\n (topic_id, after_rowid, last_rowid, archive_path, message_count, status, updated_at)\n VALUES (?, ?, ?, ?, ?, 'running', ?)`,\n ).run(\n topicId,\n afterRowid,\n candidate.lastRowid,\n candidate.archivePath,\n candidate.messageCount,\n timestamp,\n );\n return {\n kind: \"claimed\",\n job: {\n topicId,\n afterRowid,\n lastRowid: candidate.lastRowid,\n archivePath: candidate.archivePath,\n messageCount: candidate.messageCount,\n status: \"running\",\n updatedAt: timestamp,\n },\n } as const;\n })();\n if (result.kind === \"claimed\") return result;\n rmSync(candidate.archivePath, { force: true });\n if (result.kind === \"busy\") return result;\n }\n return claimExisting() ?? { kind: \"busy\" };\n}\n\n/** Advance the durable cursor only after the memory turn completes. */\nexport function settleTopicArchiveJob(\n topicId: string,\n archivePath: string,\n success: boolean,\n): void {\n db.transaction(() => {\n const job = db\n .query<TopicArchiveJobRow, [string, string]>(\n \"SELECT * FROM api_topic_archive_jobs WHERE topic_id = ? AND archive_path = ?\",\n )\n .get(topicId, archivePath);\n if (!job) return;\n if (!success) {\n db.query(\n \"UPDATE api_topic_archive_jobs SET status = 'pending', updated_at = ? WHERE topic_id = ? AND archive_path = ?\",\n ).run(new Date().toISOString(), topicId, archivePath);\n return;\n }\n const current = getTopicArchiveState(topicId)?.lastArchivedRowid ?? 0;\n setTopicArchiveState(topicId, Math.max(current, job.last_rowid), job.archive_path);\n db.query(\"DELETE FROM api_topic_archive_jobs WHERE topic_id = ? AND archive_path = ?\").run(\n topicId,\n archivePath,\n );\n })();\n}\n\n/** Remove the idle-archive cursor for a topic that no longer exists. */\nexport function deleteTopicArchiveState(topicId: string): boolean {\n return db.transaction(() => {\n db.query(\"DELETE FROM api_topic_archive_jobs WHERE topic_id = ?\").run(topicId);\n return (\n db.query(\"DELETE FROM api_topic_archive_state WHERE topic_id = ?\").run(topicId).changes > 0\n );\n })();\n}\n",
|
|
33
34
|
"import { db } from \"#storage/forum-db\";\nimport { type AgentKind, isAgentKind } from \"#types\";\n\nexport interface TopicAgentSwitchState {\n name: string;\n agent: AgentKind;\n}\n\nfunction toTopicAgentSwitchState(row: {\n name: string;\n agent: string | null;\n}): TopicAgentSwitchState {\n if (!isAgentKind(row.agent)) throw new Error(`Invalid agent in DB: ${row.agent}`);\n return {\n name: row.name,\n agent: row.agent,\n };\n}\n\nexport function getTopicAgentSwitchState(\n userId: number,\n topicName: string,\n): TopicAgentSwitchState | null {\n const row = db\n .query<{ name: string; agent: string | null }, [string, string]>(\n \"SELECT name, agent FROM topics WHERE user_id = ? AND name = ?\",\n )\n .get(String(userId), topicName);\n return row ? toTopicAgentSwitchState(row) : null;\n}\n\nexport interface SetTopicAgentAndSessionOptions {\n userId: number;\n topicName: string;\n agent: AgentKind;\n sessionId: string;\n}\n\nexport function setTopicAgentAndSession(opts: SetTopicAgentAndSessionOptions): void {\n const { userId, topicName, agent, sessionId } = opts;\n db.transaction(() => {\n const r = db\n .query(\"UPDATE topics SET agent = ?, session_id = ? WHERE user_id = ? AND name = ?\")\n .run(agent, sessionId, String(userId), topicName);\n if (r.changes === 0) {\n throw new Error(`setTopicAgentAndSession: row missing for ${userId}/${topicName}`);\n }\n })();\n}\n\nexport interface SetTopicAgentAndClearSessionOptions {\n userId: number;\n topicName: string;\n agent: AgentKind;\n}\n\nexport function setTopicAgentAndClearSession(opts: SetTopicAgentAndClearSessionOptions): boolean {\n const { userId, topicName, agent } = opts;\n let changed = false;\n db.transaction(() => {\n const r = db\n .query(\"UPDATE topics SET agent = ?, session_id = NULL WHERE user_id = ? AND name = ?\")\n .run(agent, String(userId), topicName);\n changed = r.changes > 0;\n })();\n return changed;\n}\n",
|
|
34
35
|
"const WIKI_SUMMARY_DATE_PREFIX = /^\\d{4}-\\d{2}-\\d{2}-/;\n\nexport function wikiSummarySlug(value: string): string {\n return value.replaceAll(/[^a-zA-Z0-9가-힣_-]+/g, \"-\").slice(0, 120) || \"_\";\n}\n\nexport function isEphemeralWikiTopicId(topicId: string | undefined): boolean {\n return topicId?.startsWith(\"__\") ?? false;\n}\n\nexport function wikiSummaryStorageSlug(rawTopic: string, topicId?: string): string {\n return topicId && !isEphemeralWikiTopicId(topicId)\n ? wikiSummarySlug(topicId)\n : wikiSummarySlug(rawTopic);\n}\n\nexport function wikiBriefStorageKey(rawTopic: string, topicId?: string): string {\n return topicId && !isEphemeralWikiTopicId(topicId) ? topicId : rawTopic;\n}\n\nexport function wikiSummaryFilename(date: string, rawTopic: string, topicId?: string): string {\n return `${date}-${wikiSummaryStorageSlug(rawTopic, topicId)}.md`;\n}\n\nexport function isTopicSummaryFile(\n filename: string,\n topicId: string,\n legacyTopicTitle?: string,\n): boolean {\n if (!WIKI_SUMMARY_DATE_PREFIX.test(filename)) return false;\n if (filename.endsWith(`-${wikiSummarySlug(topicId)}.md`)) return true;\n return legacyTopicTitle ? filename.endsWith(`-${wikiSummarySlug(legacyTopicTitle)}.md`) : false;\n}\n"
|
|
35
36
|
],
|
|
36
|
-
"mappings": "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",
|
|
37
|
-
"debugId": "
|
|
37
|
+
"mappings": "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",
|
|
38
|
+
"debugId": "957BDB73C3C8AF8A64756E2164756E21",
|
|
38
39
|
"names": []
|
|
39
40
|
}
|
|
@@ -4,6 +4,8 @@ type IdleArchiveStatus = "scheduled" | "disabled" | "busy" | "topic-not-found" |
|
|
|
4
4
|
export interface ActiveTopicArchiveOptions {
|
|
5
5
|
reason: "idle" | "reset";
|
|
6
6
|
minMessages: number;
|
|
7
|
+
/** Preserve the raw snapshot but skip the memory agent below this exchange count. */
|
|
8
|
+
minExchanges?: number;
|
|
7
9
|
allowMentionOnly?: boolean;
|
|
8
10
|
skipBusyCheck?: boolean;
|
|
9
11
|
enabled?: boolean;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface MemoryArchiveMessage {
|
|
2
|
+
author_id: string;
|
|
3
|
+
agent_type?: string | null;
|
|
4
|
+
kind?: string | null;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Shared lifecycle gate for reset/delete memory distillation. Keep the raw
|
|
8
|
+
* forensic archive even below this threshold, but do not spend an agent turn
|
|
9
|
+
* on a session with five or fewer completed user/assistant exchanges. This
|
|
10
|
+
* mirrors Clawgram's lifecycle-level MIN_EXCHANGE_COUNT policy.
|
|
11
|
+
*/
|
|
12
|
+
export declare const MIN_MEMORY_ARCHIVE_EXCHANGES = 6;
|
|
13
|
+
/** Count completed conversational exchanges while ignoring system/tool/card noise. */
|
|
14
|
+
export declare function countMemoryArchiveExchanges(rows: readonly MemoryArchiveMessage[]): number;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import type { AgentKind } from "../types";
|
|
2
|
+
/**
|
|
3
|
+
* Models/prefixes that belong exclusively to one agent backend. When the
|
|
4
|
+
* resolved agent differs from a model's owner, the model is cross-agent stale
|
|
5
|
+
* and must be dropped in favor of the new agent's default — otherwise the value
|
|
6
|
+
* is passed straight into a provider that can't run it and crashes the turn
|
|
7
|
+
* (bug B: `/codex` leaves the topic's "sonnet" behind → Codex 400
|
|
8
|
+
* "The 'sonnet' model is not supported when using Codex").
|
|
9
|
+
*
|
|
10
|
+
* Codex's own `validateModel` accepts ANY non-empty string (OpenAI ships new
|
|
11
|
+
* IDs frequently), so it can't reject "sonnet" on its own — this ownership
|
|
12
|
+
* owner check is the cross-agent guard the per-registry validator can't provide.
|
|
13
|
+
* Unknown/new model IDs are intentionally absent here so they still pass
|
|
14
|
+
* through to whichever agent is active.
|
|
15
|
+
*/
|
|
16
|
+
export declare const MODEL_OWNER: Record<string, AgentKind>;
|
|
17
|
+
export interface SelectableModel {
|
|
18
|
+
/** Canonical token accepted by user-facing `/model` commands. */
|
|
19
|
+
model: string;
|
|
20
|
+
/** Runtime owner kept internal so channel UIs only need to show `model`. */
|
|
21
|
+
agent: AgentKind;
|
|
22
|
+
/** Short comparison copy shown alongside the model in picker UIs. */
|
|
23
|
+
description: string;
|
|
24
|
+
/** User-defined relative intelligence band used for routing across providers. */
|
|
25
|
+
intelligenceTier: "sonnet" | "opus" | "fable";
|
|
26
|
+
/** Compact capability/cost hint safe to inject into every turn and tool schema. */
|
|
27
|
+
routingSummary: string;
|
|
28
|
+
/** Subscription or API basis used when comparing operating cost. */
|
|
29
|
+
accessCost: string;
|
|
30
|
+
/** Marginal per-token rate after included subscription usage, or the API rate. */
|
|
31
|
+
marginalTokenCost: string;
|
|
32
|
+
/** Best available quota estimate; never presented as a provider-guaranteed token cap. */
|
|
33
|
+
estimatedUsage: string;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Pricing and quota observations were checked on 2026-07-19.
|
|
37
|
+
* Official references:
|
|
38
|
+
* - https://learn.chatgpt.com/docs/pricing
|
|
39
|
+
* - https://help.openai.com/en/articles/20001106
|
|
40
|
+
* - https://support.claude.com/en/articles/11049741-what-is-the-max-plan
|
|
41
|
+
* - https://api-docs.deepseek.com/quick_start/pricing
|
|
42
|
+
* Community token counts are deliberately labelled estimates because providers
|
|
43
|
+
* meter cached input, fresh input, output, reasoning, speed, and model choice
|
|
44
|
+
* differently and may change server-side weights without publishing a token cap.
|
|
45
|
+
*/
|
|
46
|
+
export declare const MODEL_COST_RESEARCHED_AT = "2026-07-19";
|
|
47
|
+
export declare const MODEL_COST_ROUTING_SUMMARY = "Cost basis (2026-07-19): Codex Pro 20x and Claude Max 20x are each $200/month; DeepSeek Pro is pay-per-token. Relative marginal token cost: DeepSeek Pro << Codex < Claude.";
|
|
48
|
+
/**
|
|
49
|
+
* Canonical model picker shared by every channel. Keep this deliberately
|
|
50
|
+
* finite even though the Codex backend accepts arbitrary future model ids:
|
|
51
|
+
* user-facing completion should only promise models we intentionally support.
|
|
52
|
+
*/
|
|
53
|
+
export declare const SELECTABLE_MODELS: readonly SelectableModel[];
|
|
54
|
+
export declare function formatSelectableModel(candidate: SelectableModel): string;
|
|
55
|
+
export declare function selectableModel(value: string): SelectableModel | undefined;
|
|
56
|
+
export declare function modelOwner(model: string): AgentKind | undefined;
|
|
57
|
+
/**
|
|
58
|
+
* Resolve the model to run for `agent`, given the requested value from the
|
|
59
|
+
* priority chain (per-message slash > topic-config override > topic default).
|
|
60
|
+
* Drops a model owned by a different agent, then falls back to the agent's
|
|
61
|
+
* registry default if the value is empty/invalid for this agent.
|
|
62
|
+
*/
|
|
63
|
+
export declare function resolveModelForAgent(agent: AgentKind, requested: string | undefined, registry: {
|
|
64
|
+
validateModel(s: string): boolean;
|
|
65
|
+
defaultModel: string;
|
|
66
|
+
}): string;
|
|
67
|
+
/**
|
|
68
|
+
* Circular fallback order per agent. Each entry lists candidates to try in
|
|
69
|
+
* priority order when the current agent errors out. The actual switch is
|
|
70
|
+
* guarded by `checkAgentAuth` — only candidates whose backend is reachable
|
|
71
|
+
* (API key present / auth file exists) will be selected.
|
|
72
|
+
*/
|
|
73
|
+
export declare const FALLBACK_ORDER: Record<AgentKind, {
|
|
74
|
+
agent: AgentKind;
|
|
75
|
+
model: string;
|
|
76
|
+
}[]>;
|
|
77
|
+
export declare const AGENT_DISPLAY_NAME: Record<AgentKind, string>;
|