mister-wolf 2.22.0 → 2.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/README.md +3 -3
  2. package/README.ru.md +1 -1
  3. package/dist/adapters/cli/cli-entry.d.ts.map +1 -1
  4. package/dist/adapters/cli/cli-entry.js +6 -0
  5. package/dist/adapters/cli/cli-entry.js.map +1 -1
  6. package/dist/adapters/cli/commands/usage.d.ts +3 -0
  7. package/dist/adapters/cli/commands/usage.d.ts.map +1 -0
  8. package/dist/adapters/cli/commands/usage.js +103 -0
  9. package/dist/adapters/cli/commands/usage.js.map +1 -0
  10. package/dist/adapters/fs/opencode-usage-db.d.ts +12 -0
  11. package/dist/adapters/fs/opencode-usage-db.d.ts.map +1 -0
  12. package/dist/adapters/fs/opencode-usage-db.js +116 -0
  13. package/dist/adapters/fs/opencode-usage-db.js.map +1 -0
  14. package/dist/app/use-cases/gitignore-block.d.ts +2 -2
  15. package/dist/app/use-cases/gitignore-block.d.ts.map +1 -1
  16. package/dist/app/use-cases/gitignore-block.js +3 -3
  17. package/dist/app/use-cases/gitignore-block.js.map +1 -1
  18. package/dist/app/use-cases/import-usage.d.ts +17 -0
  19. package/dist/app/use-cases/import-usage.d.ts.map +1 -0
  20. package/dist/app/use-cases/import-usage.js +69 -0
  21. package/dist/app/use-cases/import-usage.js.map +1 -0
  22. package/dist/app/use-cases/usage-signal.d.ts +91 -0
  23. package/dist/app/use-cases/usage-signal.d.ts.map +1 -0
  24. package/dist/app/use-cases/usage-signal.js +169 -0
  25. package/dist/app/use-cases/usage-signal.js.map +1 -0
  26. package/package.json +3 -3
  27. package/templates/base/skills/finishing-a-development-branch/SKILL.md +2 -0
  28. package/templates/base/skills/using-git-worktrees/SKILL.md +2 -0
  29. package/templates/base/skills/using-skills/SKILL.md +1 -0
  30. package/templates/base/skills/wolf-git/SKILL.md +54 -0
  31. package/templates/base/skills/wolf-git/reference/git-collaboration-policy-v1.1.md +553 -0
  32. package/templates/base/skills/wolf-handoff/SKILL.md +2 -0
  33. package/templates/base/skills/wolf-release-docs/SKILL.md +107 -0
  34. package/update-map.json +24 -9
  35. package/templates/.wolf/router.log +0 -1
package/README.md CHANGED
@@ -51,7 +51,7 @@ wolf bootstrap
51
51
  ```
52
52
 
53
53
  - **Path A — memory:** `wolf init` connects the project minimally — the `.wolf/` skeleton and `AGENTS.md`; it writes no platform configs and no base set. What a clean run prints: `memory skeleton: ensured`, `base set: AGENTS.md created`, the init-report id.
54
- - **Path B — OpenCode organization:** `wolf init --full --platform opencode` renders the full base set (6 agent frames, 19 skills, 3 commands, 2 plugins, seeded playbook faces) and writes `opencode.json` (`mcp.servers.wolf`, `default_agent=mr-wolf`, `experimental.subagent_depth=2`). **Restart opencode** after it — the MCP server and the default agent connect at startup. Claude Code will ask you to approve the project-scope MCP server on first start — that is expected.
54
+ - **Path B — OpenCode organization:** `wolf init --full --platform opencode` renders the full base set (6 agent frames, 20 skills, 3 commands, 2 plugins, seeded playbook faces) and writes `opencode.json` (`mcp.servers.wolf`, `default_agent=mr-wolf`, `experimental.subagent_depth=2`). **Restart opencode** after it — the MCP server and the default agent connect at startup. Claude Code will ask you to approve the project-scope MCP server on first start — that is expected.
55
55
 
56
56
  - **Try it without installing:** `npx mister-wolf init` — try-out mode: creates the `.wolf/` memory skeleton but never writes MCP configs or the base set. Like it? `npm install -g mister-wolf` and run `wolf init` again.
57
57
  - **Updating:** `wolf upgrade` — one command updates everything: the npm phase (`npm install -g mister-wolf@latest`) is followed by the update pass over all registered projects (stamped base-set files and seeded faces; deletions only with confirmation). `--check` reports CLI + park freshness without installing; `--here` updates only the current project (no npm, no registry); `--yes` skips the confirmation and backs up whatever it overwrites. Dev/linked installs are refused honestly. `wolf sync` is deprecated → `wolf upgrade --here` (the alias still works and re-renders stamped files; its DEPRECATED notice still says `removed in 2.20.0` — stale wording, the command is alive).
@@ -210,12 +210,12 @@ Mutation attribution: every memory object has an author. Priority: the `--create
210
210
 
211
211
  - **opencode-first**: multi-platform support is an architectural principle (concept §6.6), but the threads for other platforms come after Levels 1–2 mature.
212
212
  - **What Wolf does not do** (concept §10): code editing as a project function · IDE integration · web UI · distributed work · general-purpose orchestration (only protocols proven by practice).
213
- - Plan: [roadmap-v4 (RU)](docs/dev/roadmap/roadmap-v4.md) — active roadmap; history: [v3](docs/dev/roadmap/roadmap-v3.md), [v2](docs/dev/roadmap/roadmap-v2.md).
213
+ - Plan: [roadmap-v4 (RU)](docs/dev/roadmap/roadmap-v4.md) — active roadmap; revisions history, decisions and assignments: [ledger](docs/dev/roadmap/roadmap-v4-ledger.md); roadmap history: [v3](docs/dev/roadmap/roadmap-v3.md), [v2](docs/dev/roadmap/roadmap-v2.md).
214
214
 
215
215
  ## Documentation
216
216
 
217
217
  - [Concept v3 (RU)](docs/concept/concept.md) — four layers, the activation pipeline, the Steward, USP
218
- - [Roadmap v4 (RU)](docs/dev/roadmap/roadmap-v4.md) — active roadmap; history: [v3](docs/dev/roadmap/roadmap-v3.md), [v2](docs/dev/roadmap/roadmap-v2.md)
218
+ - [Roadmap v4 (RU)](docs/dev/roadmap/roadmap-v4.md) — active roadmap; revisions history, decisions and assignments: [ledger](docs/dev/roadmap/roadmap-v4-ledger.md); roadmap history: [v3](docs/dev/roadmap/roadmap-v3.md), [v2](docs/dev/roadmap/roadmap-v2.md)
219
219
  - [User guide (RU)](docs/guide/user-guide.md) — basic commands and workflow
220
220
  - [CLI reference (RU)](docs/reference/cli.md) — full command reference
221
221
  - [Architecture (RU)](docs/guide/architecture.md) — how the system is built
package/README.ru.md CHANGED
@@ -53,7 +53,7 @@ wolf bootstrap
53
53
  ```
54
54
 
55
55
  - **Путь А — память:** `wolf init` подключает проект минимально — скелет `.wolf/` и `AGENTS.md`; платформенные конфиги и базовый сет он не пишет. Что печатает чистый запуск: `memory skeleton: ensured`, `base set: AGENTS.md created`, id init-отчёта.
56
- - **Путь Б — организация OpenCode:** `wolf init --full --platform opencode` отрисовывает полный базовый набор (6 рамок агентов, 19 скиллов, 3 команды, 2 плагина, посев playbook-лиц) и пишет `opencode.json` (`mcp.servers.wolf`, `default_agent=mr-wolf`, `experimental.subagent_depth=2`). После него **перезапусти opencode** — MCP-сервер и агент по умолчанию подключаются при старте. Claude Code при первом старте попросит approve project-scope MCP-сервер — это штатно.
56
+ - **Путь Б — организация OpenCode:** `wolf init --full --platform opencode` отрисовывает полный базовый набор (6 рамок агентов, 20 скиллов, 3 команды, 2 плагина, посев playbook-лиц) и пишет `opencode.json` (`mcp.servers.wolf`, `default_agent=mr-wolf`, `experimental.subagent_depth=2`). После него **перезапусти opencode** — MCP-сервер и агент по умолчанию подключаются при старте. Claude Code при первом старте попросит approve project-scope MCP-сервер — это штатно.
57
57
 
58
58
  - **Попробовать без установки:** `npx mister-wolf init` — try-out-режим: создаёт скелет памяти `.wolf/`, но никогда не пишет ни MCP-конфиги, ни базовый сет. Понравилось — `npm install -g mister-wolf` и повтори `wolf init`.
59
59
  - **Обновление:** `wolf upgrade` — одна команда обновляет всё: npm-фаза
@@ -1 +1 @@
1
- {"version":3,"file":"cli-entry.d.ts","sourceRoot":"","sources":["../../../src/adapters/cli/cli-entry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAkB,MAAM,WAAW,CAAC;AA0BpD;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,wFAAwF;IACxF,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7B,qFAAqF;IACrF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,kGAAkG;IAClG,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,eAAO,MAAM,QAAQ,EAAE,WAAW,EAsVjC,CAAC;AAEF,wBAAgB,SAAS,IAAI,OAAO,CAuFnC;AAED;;;;GAIG;AACH,wBAAgB,OAAO,IAAI,MAAM,CAQhC;AAED,mFAAmF;AACnF,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA+B1D"}
1
+ {"version":3,"file":"cli-entry.d.ts","sourceRoot":"","sources":["../../../src/adapters/cli/cli-entry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAkB,MAAM,WAAW,CAAC;AA0BpD;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,wFAAwF;IACxF,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7B,qFAAqF;IACrF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,kGAAkG;IAClG,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,eAAO,MAAM,QAAQ,EAAE,WAAW,EA4VjC,CAAC;AAEF,wBAAgB,SAAS,IAAI,OAAO,CAuFnC;AAED;;;;GAIG;AACH,wBAAgB,OAAO,IAAI,MAAM,CAQhC;AAED,mFAAmF;AACnF,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA+B1D"}
@@ -316,6 +316,12 @@ export const COMMANDS = [
316
316
  hidden: true,
317
317
  load: () => import('./commands/task-eval.js').then((m) => m.taskEvalCommand()),
318
318
  },
319
+ {
320
+ name: 'usage',
321
+ description: 'Import OpenCode session usage into the signal log',
322
+ usage: 'import [options]',
323
+ load: () => import('./commands/usage.js').then((m) => m.usageCommand()),
324
+ },
319
325
  {
320
326
  name: 'bootstrap',
321
327
  description: 'Scan the project and draft starting memory: proposed rules, document-refs, work thread',
@@ -1 +1 @@
1
- {"version":3,"file":"cli-entry.js","sourceRoot":"","sources":["../../../src/adapters/cli/cli-entry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-entry.js","sourceRoot":"","sources":["../../../src/adapters/cli/cli-entry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function usageCommand(baseDir?: string): Command;
3
+ //# sourceMappingURL=usage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/usage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAsE5C,wBAAgB,YAAY,CAAC,OAAO,GAAE,MAAkB,GAAG,OAAO,CA8BjE"}
@@ -0,0 +1,103 @@
1
+ import { readFileSync } from 'fs';
2
+ import { Command, Option } from 'commander';
3
+ import { safeCwd } from '../cli-entry.js';
4
+ import { importUsage } from '../../../app/use-cases/import-usage.js';
5
+ const DAY_MS = 24 * 60 * 60 * 1000;
6
+ /** YYYY-MM-DD → локальная полночь; ошибка формата → сообщение для пользователя. */
7
+ function parseDay(value, label) {
8
+ const match = /^(\d{4})-(\d{2})-(\d{2})$/.exec(value);
9
+ if (!match)
10
+ throw new Error(`${label} must be YYYY-MM-DD, got '${value}'`);
11
+ const year = Number(match[1]);
12
+ const month = Number(match[2]);
13
+ const day = Number(match[3]);
14
+ const date = new Date(year, month - 1, day);
15
+ if (date.getFullYear() !== year || date.getMonth() !== month - 1 || date.getDate() !== day) {
16
+ throw new Error(`${label} is not a valid date: '${value}'`);
17
+ }
18
+ return date.getTime();
19
+ }
20
+ function readTaskMap(path) {
21
+ let raw;
22
+ try {
23
+ raw = JSON.parse(readFileSync(path, 'utf-8'));
24
+ }
25
+ catch (error) {
26
+ throw new Error(`cannot read --task-map ${path}: ${error.message}`);
27
+ }
28
+ if (typeof raw !== 'object' || raw === null || Array.isArray(raw)) {
29
+ throw new Error(`--task-map ${path} must be a JSON object {session_id: task_id}`);
30
+ }
31
+ const map = {};
32
+ for (const [sessionId, taskId] of Object.entries(raw)) {
33
+ if (typeof taskId === 'string')
34
+ map[sessionId] = taskId;
35
+ }
36
+ return map;
37
+ }
38
+ /** Пустое значение печатается как unknown, не как 0 (нули — настоящие данные). */
39
+ function cell(value) {
40
+ if (value === null || value === undefined || value === '')
41
+ return 'unknown';
42
+ return String(value);
43
+ }
44
+ function printResult(result) {
45
+ console.log(`appended=${result.appended} duplicate=${result.duplicate} skipped incomplete=${result.skippedIncomplete}`);
46
+ if (result.runs.length === 0) {
47
+ console.log('no run events in window: unknown coverage, not zero usage');
48
+ }
49
+ else {
50
+ console.log(['run_id', 'agent', 'model', 'tokens', 'generation_ms', 'task', 'attempt'].join(' | '));
51
+ for (const run of result.runs) {
52
+ const tokens = run.tokens ? `${run.tokens.input}/${run.tokens.output}/${run.tokens.cacheRead}` : null;
53
+ console.log([
54
+ cell(run.runId),
55
+ cell(run.agent),
56
+ cell(run.model),
57
+ cell(tokens),
58
+ cell(run.generationMs),
59
+ cell(run.taskId),
60
+ cell(run.attempts ? run.attempts.join(',') : null),
61
+ ].join(' | '));
62
+ }
63
+ }
64
+ console.log('source limitations:');
65
+ for (const limitation of result.limitations)
66
+ console.log(`- ${limitation}`);
67
+ }
68
+ export function usageCommand(baseDir = safeCwd()) {
69
+ const usage = new Command('usage').description('Import OpenCode session usage into the signal log');
70
+ usage.addCommand(new Command('import')
71
+ .description('Import OpenCode session usage into the signal log')
72
+ // default только в описании: commander печатает значение по умолчанию
73
+ // в --help дословно, и абсолютный домашний путь делал справочник
74
+ // машинно-зависимым (guard падал на CI). Серьёзное значение — в use case.
75
+ .option('--db <path>', 'Path to opencode.db (read-only) (default: ~/.local/share/opencode/opencode.db)')
76
+ .option('--since <date>', 'Start date (YYYY-MM-DD, local midnight)')
77
+ .addOption(new Option('--until <date>', 'End date (YYYY-MM-DD, inclusive local day)'))
78
+ .option('--task-map <path>', 'JSON object {session_id: task_id}')
79
+ .option('--dry-run', 'Read and report without writing the signal log', false)
80
+ .option('--json', 'Print ImportUsageResult as JSON', false)
81
+ .action((options) => {
82
+ try {
83
+ const opts = { dbPath: options.db, dryRun: options.dryRun === true };
84
+ if (options.since !== undefined)
85
+ opts.sinceMs = parseDay(options.since, '--since');
86
+ if (options.until !== undefined)
87
+ opts.untilMs = parseDay(options.until, '--until') + DAY_MS;
88
+ if (options.taskMap !== undefined)
89
+ opts.taskMap = readTaskMap(options.taskMap);
90
+ const result = importUsage(baseDir, opts);
91
+ if (options.json === true)
92
+ console.log(JSON.stringify(result, null, 2));
93
+ else
94
+ printResult(result);
95
+ }
96
+ catch (error) {
97
+ console.error(`usage import failed: ${error.message}`);
98
+ process.exitCode = 1;
99
+ }
100
+ }));
101
+ return usage;
102
+ }
103
+ //# sourceMappingURL=usage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.js","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/usage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { UsageRun, UsageTurn } from '../../app/use-cases/usage-signal.js';
2
+ export declare const DEFAULT_USAGE_DB_PATH: string;
3
+ export interface UsageSourceReading {
4
+ runs: UsageRun[];
5
+ turns: UsageTurn[];
6
+ }
7
+ /** Читает только чтение. Окно по time_created turn'ов; ошибка источника → throw. */
8
+ export declare function readUsageSource(dbPath: string, opts: {
9
+ sinceMs: number;
10
+ untilMs: number;
11
+ }): UsageSourceReading;
12
+ //# sourceMappingURL=opencode-usage-db.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opencode-usage-db.d.ts","sourceRoot":"","sources":["../../../src/adapters/fs/opencode-usage-db.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAE/E,eAAO,MAAM,qBAAqB,QAAgE,CAAC;AAEnG,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,KAAK,EAAE,SAAS,EAAE,CAAC;CACpB;AAyFD,oFAAoF;AACpF,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,kBAAkB,CA8C9G"}
@@ -0,0 +1,116 @@
1
+ /**
2
+ * A1.1: read-only чтение usage-источника OpenCode 2.2.5 (`session_message` /
3
+ * `session_v2`). Только SELECT, никаких DDL/DML; окно ограничено индексом
4
+ * session_message_time_created_idx. Контракт и маппинг:
5
+ * docs/dev/2026-10-31-a1-1-measurements/design.md §«Источник», §«Маппинг».
6
+ */
7
+ import { homedir } from 'os';
8
+ import { join } from 'path';
9
+ import Database from 'better-sqlite3';
10
+ export const DEFAULT_USAGE_DB_PATH = join(homedir(), '.local', 'share', 'opencode', 'opencode.db');
11
+ function num(value) {
12
+ return typeof value === 'number' && Number.isFinite(value) ? value : null;
13
+ }
14
+ function str(value) {
15
+ return typeof value === 'string' && value !== '' ? value : null;
16
+ }
17
+ function record(value) {
18
+ return typeof value === 'object' && value !== null && !Array.isArray(value) ? value : {};
19
+ }
20
+ function parseJson(raw) {
21
+ if (!raw)
22
+ return {};
23
+ try {
24
+ return record(JSON.parse(raw));
25
+ }
26
+ catch {
27
+ return {};
28
+ }
29
+ }
30
+ /** `data` парсится в JS: json_extract по 13 GB-таблице дороже выборки. */
31
+ function mapTurn(row) {
32
+ const data = parseJson(row.data);
33
+ const time = record(data.time);
34
+ const model = record(data.model);
35
+ const tokens = record(data.tokens);
36
+ const cache = record(tokens.cache);
37
+ const retry = record(data.retry);
38
+ const input = num(tokens.input);
39
+ const output = num(tokens.output);
40
+ const cacheRead = num(cache.read);
41
+ const finish = data.finish;
42
+ return {
43
+ messageId: row.id,
44
+ sessionId: row.session_id ?? '',
45
+ seq: row.seq,
46
+ createdMs: num(time.created) ?? row.time_created,
47
+ // design §Маппинг инвариант 5: streamed не считается завершением (RQ-04).
48
+ completedMs: num(time.completed),
49
+ agent: str(data.agent),
50
+ modelId: str(model.id),
51
+ providerId: str(model.providerID),
52
+ tokens: input !== null && output !== null && cacheRead !== null ? { input, output, cacheRead } : null,
53
+ reasoning: num(tokens.reasoning),
54
+ cacheWrite: num(cache.write),
55
+ finish: finish === 'stop' || finish === 'tool-calls' || finish === 'error' ? finish : null,
56
+ attempt: num(retry.attempt),
57
+ };
58
+ }
59
+ function mapRun(row) {
60
+ const model = parseJson(row.model);
61
+ const busy = row.time_busy !== null && row.time_created !== null && row.time_busy >= row.time_created
62
+ ? row.time_busy - row.time_created
63
+ : null;
64
+ return {
65
+ sessionId: row.id,
66
+ parentSessionId: row.parent_id,
67
+ agent: row.agent,
68
+ modelId: str(model.id),
69
+ providerId: str(model.providerID),
70
+ createdMs: row.time_created,
71
+ busyMs: busy,
72
+ };
73
+ }
74
+ /** Читает только чтение. Окно по time_created turn'ов; ошибка источника → throw. */
75
+ export function readUsageSource(dbPath, opts) {
76
+ let db;
77
+ try {
78
+ db = new Database(dbPath, { readonly: true, fileMustExist: true });
79
+ }
80
+ catch (error) {
81
+ throw new Error(`cannot open usage database at ${dbPath}: ${error.message}`);
82
+ }
83
+ try {
84
+ const tables = new Set(db.prepare("SELECT name FROM sqlite_master WHERE type = 'table'").all().map((row) => row.name));
85
+ const missing = ['session_message', 'session_v2'].filter((table) => !tables.has(table));
86
+ if (missing.length > 0) {
87
+ throw new Error(`usage database at ${dbPath} lacks ${missing.join(', ')} (OpenCode 2.2.5 schema expected)`);
88
+ }
89
+ const messages = db
90
+ .prepare(`SELECT id, session_id, seq, time_created, data FROM session_message
91
+ WHERE type = 'assistant' AND time_created >= ? AND time_created < ?
92
+ ORDER BY time_created, id`)
93
+ .all(opts.sinceMs, opts.untilMs);
94
+ const turns = messages.map(mapTurn);
95
+ const sessionIds = [...new Set(turns.map((turn) => turn.sessionId).filter((id) => id !== ''))];
96
+ let runs = [];
97
+ if (sessionIds.length > 0) {
98
+ const placeholders = sessionIds.map(() => '?').join(', ');
99
+ const rows = db
100
+ .prepare(`SELECT id, parent_id, agent, model, time_created, time_busy FROM session_v2 WHERE id IN (${placeholders})`)
101
+ .all(...sessionIds);
102
+ runs = rows.map(mapRun);
103
+ }
104
+ return { runs, turns };
105
+ }
106
+ catch (error) {
107
+ const message = error.message;
108
+ if (message.startsWith('usage database at '))
109
+ throw error;
110
+ throw new Error(`cannot read usage database at ${dbPath}: ${message}`);
111
+ }
112
+ finally {
113
+ db.close();
114
+ }
115
+ }
116
+ //# sourceMappingURL=opencode-usage-db.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opencode-usage-db.js","sourceRoot":"","sources":["../../../src/adapters/fs/opencode-usage-db.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  export declare const GITIGNORE_MARKER = "# wolf-gitignore:v1";
2
- /** WP4 (спека §7): игнорировать машинно-локальное, коммитить память —
3
- * формула переноса 2.14 §8.3 («память коммитится — клонирование переносит»). */
2
+ /** WP4 (спека §7): состояние Wolf машинно-локальное — память (.wolf/memory)
3
+ * не коммитится и на другой машине не восстанавливается. */
4
4
  export declare function buildGitignoreBlock(): string;
5
5
  export type GitignoreOutcome = 'created' | 'appended' | 'kept';
6
6
  export declare function ensureGitignoreBlock(deps: {
@@ -1 +1 @@
1
- {"version":3,"file":"gitignore-block.d.ts","sourceRoot":"","sources":["../../../src/app/use-cases/gitignore-block.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB,wBAAwB,CAAC;AAEtD;gFACgF;AAChF,wBAAgB,mBAAmB,IAAI,MAAM,CAU5C;AAED,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;AAE/D,wBAAsB,oBAAoB,CACxC,IAAI,EAAE;IACJ,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACxC,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAChD,SAAS,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACpD,EACD,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,gBAAgB,CAAC,CAW3B"}
1
+ {"version":3,"file":"gitignore-block.d.ts","sourceRoot":"","sources":["../../../src/app/use-cases/gitignore-block.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB,wBAAwB,CAAC;AAEtD;4DAC4D;AAC5D,wBAAgB,mBAAmB,IAAI,MAAM,CAU5C;AAED,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;AAE/D,wBAAsB,oBAAoB,CACxC,IAAI,EAAE;IACJ,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACxC,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAChD,SAAS,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACpD,EACD,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,gBAAgB,CAAC,CAW3B"}
@@ -1,11 +1,11 @@
1
1
  import { join } from 'path';
2
2
  export const GITIGNORE_MARKER = '# wolf-gitignore:v1';
3
- /** WP4 (спека §7): игнорировать машинно-локальное, коммитить память —
4
- * формула переноса 2.14 §8.3 («память коммитится — клонирование переносит»). */
3
+ /** WP4 (спека §7): состояние Wolf машинно-локальное — память (.wolf/memory)
4
+ * не коммитится и на другой машине не восстанавливается. */
5
5
  export function buildGitignoreBlock() {
6
6
  return [
7
7
  GITIGNORE_MARKER,
8
- '# wolf: machine-local state; .wolf/memory is portable — commit it',
8
+ '# wolf: machine-local state; .wolf/memory is NOT committed and is not restored on another machine',
9
9
  '.wolf/cache/',
10
10
  '.wolf/memory/.lock',
11
11
  '.wolf/backup/',
@@ -1 +1 @@
1
- {"version":3,"file":"gitignore-block.js","sourceRoot":"","sources":["../../../src/app/use-cases/gitignore-block.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,MAAM,CAAC,MAAM,gBAAgB,GAAG,qBAAqB,CAAC;AAEtD;gFACgF;AAChF,MAAM,UAAU,mBAAmB;IACjC,OAAO;QACL,gBAAgB;QAChB,mEAAmE;QACnE,cAAc;QACd,oBAAoB;QACpB,eAAe;QACf,sBAAsB;QACtB,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAID,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,IAIC,EACD,OAAe;IAEf,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACvE,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,mBAAmB,EAAE,IAAI,CAAC,CAAC;QACtD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAAE,OAAO,MAAM,CAAC;IACtD,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;IACnF,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,OAAO,GAAG,GAAG,GAAG,mBAAmB,EAAE,EAAE,CAAC,CAAC;IACpE,OAAO,UAAU,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"gitignore-block.js","sourceRoot":"","sources":["../../../src/app/use-cases/gitignore-block.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,MAAM,CAAC,MAAM,gBAAgB,GAAG,qBAAqB,CAAC;AAEtD;4DAC4D;AAC5D,MAAM,UAAU,mBAAmB;IACjC,OAAO;QACL,gBAAgB;QAChB,mGAAmG;QACnG,cAAc;QACd,oBAAoB;QACpB,eAAe;QACf,sBAAsB;QACtB,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAID,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,IAIC,EACD,OAAe;IAEf,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACvE,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,mBAAmB,EAAE,IAAI,CAAC,CAAC;QACtD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAAE,OAAO,MAAM,CAAC;IACtD,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;IACnF,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,OAAO,GAAG,GAAG,GAAG,mBAAmB,EAAE,EAAE,CAAC,CAAC;IACpE,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { type RunSummary } from './usage-signal.js';
2
+ export interface ImportUsageOptions {
3
+ dbPath?: string;
4
+ sinceMs?: number;
5
+ untilMs?: number;
6
+ taskMap?: Record<string, string>;
7
+ dryRun?: boolean;
8
+ }
9
+ export interface ImportUsageResult {
10
+ appended: number;
11
+ duplicate: number;
12
+ skippedIncomplete: number;
13
+ runs: RunSummary[];
14
+ limitations: readonly string[];
15
+ }
16
+ export declare function importUsage(baseDir: string, opts?: ImportUsageOptions): ImportUsageResult;
17
+ //# sourceMappingURL=import-usage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import-usage.d.ts","sourceRoot":"","sources":["../../../src/app/use-cases/import-usage.ts"],"names":[],"mappings":"AASA,OAAO,EAKL,KAAK,UAAU,EAChB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CAChC;AAWD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,kBAAuB,GAAG,iBAAiB,CAgE7F"}
@@ -0,0 +1,69 @@
1
+ import { appendSignal, readSignalLog } from '../../adapters/fs/session-metrics-log.js';
2
+ import { DEFAULT_USAGE_DB_PATH, readUsageSource } from '../../adapters/fs/opencode-usage-db.js';
3
+ import { USAGE_SOURCE_LIMITATIONS, signalFromTurn, summarizeRuns, usageEventId, } from './usage-signal.js';
4
+ const DAY_MS = 24 * 60 * 60 * 1000;
5
+ /** Дефолтное окно: с начала вчерашнего локального дня до текущего момента. */
6
+ function defaultSince(nowMs) {
7
+ const startOfToday = new Date(nowMs);
8
+ startOfToday.setHours(0, 0, 0, 0);
9
+ return startOfToday.getTime() - DAY_MS;
10
+ }
11
+ export function importUsage(baseDir, opts = {}) {
12
+ const nowMs = Date.now();
13
+ const sinceMs = opts.sinceMs ?? defaultSince(nowMs);
14
+ const untilMs = opts.untilMs ?? nowMs;
15
+ const source = readUsageSource(opts.dbPath ?? DEFAULT_USAGE_DB_PATH, { sinceMs, untilMs });
16
+ const log = readSignalLog(baseDir);
17
+ const existing = new Set();
18
+ for (const event of log.events) {
19
+ if (event.event_id)
20
+ existing.add(event.event_id);
21
+ }
22
+ const runsById = new Map(source.runs.map((run) => [run.sessionId, run]));
23
+ const ordered = [...source.turns].sort((a, b) => {
24
+ const ta = a.createdMs ?? a.completedMs ?? 0;
25
+ const tb = b.createdMs ?? b.completedMs ?? 0;
26
+ return ta === tb ? a.messageId.localeCompare(b.messageId) : ta - tb;
27
+ });
28
+ let appended = 0;
29
+ let duplicate = 0;
30
+ let skippedIncomplete = 0;
31
+ const written = [];
32
+ for (const turn of ordered) {
33
+ const eventId = usageEventId(turn.messageId);
34
+ if (existing.has(eventId)) {
35
+ duplicate += 1;
36
+ continue;
37
+ }
38
+ const run = runsById.get(turn.sessionId);
39
+ const sessionModel = run?.modelId && run.providerId ? { id: run.modelId, providerID: run.providerId } : null;
40
+ const event = signalFromTurn(turn, {
41
+ taskId: opts.taskMap?.[turn.sessionId] ?? null,
42
+ traceId: run?.parentSessionId ?? null,
43
+ sessionModel,
44
+ sessionAgent: run?.agent ?? null,
45
+ });
46
+ if (!event) {
47
+ skippedIncomplete += 1;
48
+ continue;
49
+ }
50
+ if (!opts.dryRun)
51
+ appendSignal(baseDir, event);
52
+ existing.add(eventId);
53
+ written.push(event);
54
+ appended += 1;
55
+ }
56
+ // Run-итог агрегирует весь run, а не события окна: фильтра по ts нет, берём
57
+ // ранее записанные run-события тех же сессий (повтор печатает те же строки).
58
+ const runIds = new Set(source.runs.map((run) => run.sessionId));
59
+ const existingRunEvents = log.events.filter((event) => event.event === 'run' && event.run_id !== undefined && runIds.has(event.run_id));
60
+ const runs = summarizeRuns([...existingRunEvents, ...written], source.runs);
61
+ return {
62
+ appended,
63
+ duplicate,
64
+ skippedIncomplete,
65
+ runs,
66
+ limitations: USAGE_SOURCE_LIMITATIONS,
67
+ };
68
+ }
69
+ //# sourceMappingURL=import-usage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import-usage.js","sourceRoot":"","sources":["../../../src/app/use-cases/import-usage.ts"],"names":[],"mappings":"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"}