mister-wolf 1.1.0 → 2.0.1

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 (107) hide show
  1. package/dist/adapters/cli/cli-entry.d.ts +6 -0
  2. package/dist/adapters/cli/cli-entry.d.ts.map +1 -1
  3. package/dist/adapters/cli/cli-entry.js +16 -1
  4. package/dist/adapters/cli/cli-entry.js.map +1 -1
  5. package/dist/adapters/cli/commands/memory-complain.d.ts.map +1 -1
  6. package/dist/adapters/cli/commands/memory-complain.js +41 -17
  7. package/dist/adapters/cli/commands/memory-complain.js.map +1 -1
  8. package/dist/adapters/cli/commands/memory-init.d.ts +21 -0
  9. package/dist/adapters/cli/commands/memory-init.d.ts.map +1 -1
  10. package/dist/adapters/cli/commands/memory-init.js +165 -19
  11. package/dist/adapters/cli/commands/memory-init.js.map +1 -1
  12. package/dist/adapters/cli/commands/memory-search.d.ts.map +1 -1
  13. package/dist/adapters/cli/commands/memory-search.js +8 -0
  14. package/dist/adapters/cli/commands/memory-search.js.map +1 -1
  15. package/dist/adapters/cli/commands/memory-sync.d.ts.map +1 -1
  16. package/dist/adapters/cli/commands/memory-sync.js +9 -1
  17. package/dist/adapters/cli/commands/memory-sync.js.map +1 -1
  18. package/dist/adapters/cli/commands/memory-update.d.ts +3 -0
  19. package/dist/adapters/cli/commands/memory-update.d.ts.map +1 -0
  20. package/dist/adapters/cli/commands/memory-update.js +105 -0
  21. package/dist/adapters/cli/commands/memory-update.js.map +1 -0
  22. package/dist/adapters/mcp/mcp-schemas.d.ts +1 -1
  23. package/dist/adapters/mcp/mcp-schemas.d.ts.map +1 -1
  24. package/dist/adapters/mcp/mcp-schemas.js +8 -2
  25. package/dist/adapters/mcp/mcp-schemas.js.map +1 -1
  26. package/dist/adapters/mcp/mcp-tools.d.ts.map +1 -1
  27. package/dist/adapters/mcp/mcp-tools.js +10 -8
  28. package/dist/adapters/mcp/mcp-tools.js.map +1 -1
  29. package/dist/adapters/platforms/claude-adapter.d.ts +2 -2
  30. package/dist/adapters/platforms/claude-adapter.d.ts.map +1 -1
  31. package/dist/adapters/platforms/claude-adapter.js +2 -2
  32. package/dist/adapters/platforms/claude-adapter.js.map +1 -1
  33. package/dist/adapters/platforms/opencode-adapter.d.ts +6 -2
  34. package/dist/adapters/platforms/opencode-adapter.d.ts.map +1 -1
  35. package/dist/adapters/platforms/opencode-adapter.js +25 -4
  36. package/dist/adapters/platforms/opencode-adapter.js.map +1 -1
  37. package/dist/adapters/render/manifest.d.ts +2 -1
  38. package/dist/adapters/render/manifest.d.ts.map +1 -1
  39. package/dist/adapters/render/manifest.js +13 -2
  40. package/dist/adapters/render/manifest.js.map +1 -1
  41. package/dist/adapters/render/opencode/opencode-renderer.d.ts +10 -3
  42. package/dist/adapters/render/opencode/opencode-renderer.d.ts.map +1 -1
  43. package/dist/adapters/render/opencode/opencode-renderer.js +88 -15
  44. package/dist/adapters/render/opencode/opencode-renderer.js.map +1 -1
  45. package/dist/adapters/sqlite/sqlite-search-index.d.ts +10 -1
  46. package/dist/adapters/sqlite/sqlite-search-index.d.ts.map +1 -1
  47. package/dist/adapters/sqlite/sqlite-search-index.js +48 -10
  48. package/dist/adapters/sqlite/sqlite-search-index.js.map +1 -1
  49. package/dist/app/use-cases/bootstrap-project.d.ts +4 -2
  50. package/dist/app/use-cases/bootstrap-project.d.ts.map +1 -1
  51. package/dist/app/use-cases/bootstrap-project.js +29 -8
  52. package/dist/app/use-cases/bootstrap-project.js.map +1 -1
  53. package/dist/app/use-cases/generate-recap.d.ts +8 -0
  54. package/dist/app/use-cases/generate-recap.d.ts.map +1 -1
  55. package/dist/app/use-cases/generate-recap.js +34 -1
  56. package/dist/app/use-cases/generate-recap.js.map +1 -1
  57. package/dist/app/use-cases/get-call-injections.d.ts.map +1 -1
  58. package/dist/app/use-cases/get-call-injections.js +7 -3
  59. package/dist/app/use-cases/get-call-injections.js.map +1 -1
  60. package/dist/app/use-cases/init-project.d.ts +47 -11
  61. package/dist/app/use-cases/init-project.d.ts.map +1 -1
  62. package/dist/app/use-cases/init-project.js +128 -33
  63. package/dist/app/use-cases/init-project.js.map +1 -1
  64. package/dist/app/use-cases/model-routing.d.ts +30 -0
  65. package/dist/app/use-cases/model-routing.d.ts.map +1 -0
  66. package/dist/app/use-cases/model-routing.js +39 -0
  67. package/dist/app/use-cases/model-routing.js.map +1 -0
  68. package/dist/app/use-cases/sync-base-set.d.ts +3 -2
  69. package/dist/app/use-cases/sync-base-set.d.ts.map +1 -1
  70. package/dist/app/use-cases/sync-base-set.js +3 -2
  71. package/dist/app/use-cases/sync-base-set.js.map +1 -1
  72. package/dist/domain/governance.d.ts.map +1 -1
  73. package/dist/domain/governance.js +4 -2
  74. package/dist/domain/governance.js.map +1 -1
  75. package/dist/domain/memory-types.d.ts +45 -1
  76. package/dist/domain/memory-types.d.ts.map +1 -1
  77. package/dist/domain/memory-types.js +20 -0
  78. package/dist/domain/memory-types.js.map +1 -1
  79. package/dist/domain/schemas/article-schema.d.ts +1 -1
  80. package/dist/domain/schemas/blocker-schema.d.ts +1 -1
  81. package/dist/domain/schemas/decision-schema.d.ts +1 -1
  82. package/dist/domain/schemas/info-request-schema.d.ts +1 -1
  83. package/dist/domain/schemas/rule-schema.d.ts +1 -1
  84. package/dist/domain/schemas/session-checkpoint-schema.d.ts +1 -1
  85. package/dist/domain/schemas/thread-schema.d.ts +1 -1
  86. package/dist/domain/type-schema-builder.d.ts +11 -2
  87. package/dist/domain/type-schema-builder.d.ts.map +1 -1
  88. package/dist/domain/type-schema-builder.js +41 -0
  89. package/dist/domain/type-schema-builder.js.map +1 -1
  90. package/dist/ports/base-set-renderer.port.d.ts +18 -4
  91. package/dist/ports/base-set-renderer.port.d.ts.map +1 -1
  92. package/dist/ports/platform-adapter.port.d.ts +7 -1
  93. package/dist/ports/platform-adapter.port.d.ts.map +1 -1
  94. package/package.json +1 -6
  95. package/templates/base/AGENTS.md +28 -0
  96. package/templates/base/agents/executor-lead.md +24 -7
  97. package/templates/base/agents/mr-wolf.md +20 -7
  98. package/templates/base/agents/steward.md +5 -1
  99. package/templates/base/agents/worker-implementer.md +7 -6
  100. package/templates/base/agents/worker-researcher.md +7 -6
  101. package/templates/base/agents/worker-reviewer.md +7 -6
  102. package/templates/base/commands/complain.md +6 -6
  103. package/templates/base/playbooks/complaint-protocol.md +97 -24
  104. package/templates/base/playbooks/steward-nastavnik.md +5 -3
  105. package/templates/base/playbooks/worker-implementer-playbook.md +16 -8
  106. package/templates/base/playbooks/worker-researcher-playbook.md +15 -7
  107. package/templates/base/playbooks/worker-reviewer-playbook.md +14 -7
@@ -1,5 +1,11 @@
1
1
  import { Command } from 'commander';
2
2
  export declare function createCli(): Command;
3
+ /**
4
+ * process.cwd() с защитой от удалённого каталога (F13): если cwd удалён
5
+ * (например, это был wolf worktree), Node кидает сырой ENOENT uv_cwd —
6
+ * переводим его в UserFacingError (одна строка `Error: …`, exit 1, без стека).
7
+ */
8
+ export declare function safeCwd(): string;
3
9
  /** Единая точка запуска: UserFacingError → одна строка Error:, иначе стек (W4). */
4
10
  export declare function runCli(argv: string[]): Promise<void>;
5
11
  //# sourceMappingURL=cli-entry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli-entry.d.ts","sourceRoot":"","sources":["../../../src/adapters/cli/cli-entry.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkDpC,wBAAgB,SAAS,IAAI,OAAO,CA4CnC;AAED,mFAAmF;AACnF,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAmB1D"}
1
+ {"version":3,"file":"cli-entry.d.ts","sourceRoot":"","sources":["../../../src/adapters/cli/cli-entry.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmDpC,wBAAgB,SAAS,IAAI,OAAO,CA6CnC;AAED;;;;GAIG;AACH,wBAAgB,OAAO,IAAI,MAAM,CAQhC;AAED,mFAAmF;AACnF,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAmB1D"}
@@ -36,6 +36,7 @@ import { memoryThinkCommand as thinkCommand } from './commands/memory-think.js';
36
36
  import { memoryScaffoldCommand as scaffoldCommand } from './commands/memory-scaffold.js';
37
37
  import { memoryToolCommand as toolCommand } from './commands/memory-tool.js';
38
38
  import { memoryComplainCommand as complainCommand } from './commands/memory-complain.js';
39
+ import { memoryUpdateCommand as updateCommand } from './commands/memory-update.js';
39
40
  import { memoryLearnCommand as learnCommand } from './commands/memory-learn.js';
40
41
  import { memoryEffectivenessCommand as effectivenessCommand } from './commands/memory-effectiveness.js';
41
42
  import { memoryRunCommand as runCommand } from './commands/memory-run.js';
@@ -82,6 +83,7 @@ export function createCli() {
82
83
  program.addCommand(scaffoldCommand());
83
84
  program.addCommand(toolCommand());
84
85
  program.addCommand(complainCommand());
86
+ program.addCommand(updateCommand());
85
87
  program.addCommand(learnCommand());
86
88
  program.addCommand(effectivenessCommand());
87
89
  program.addCommand(runCommand());
@@ -89,6 +91,19 @@ export function createCli() {
89
91
  program.addCommand(doctorCommand());
90
92
  return program;
91
93
  }
94
+ /**
95
+ * process.cwd() с защитой от удалённого каталога (F13): если cwd удалён
96
+ * (например, это был wolf worktree), Node кидает сырой ENOENT uv_cwd —
97
+ * переводим его в UserFacingError (одна строка `Error: …`, exit 1, без стека).
98
+ */
99
+ export function safeCwd() {
100
+ try {
101
+ return process.cwd();
102
+ }
103
+ catch {
104
+ throw new UserFacingError('текущий каталог не существует (вероятно, удалён) — перейдите (cd) в существующий каталог и повторите команду');
105
+ }
106
+ }
92
107
  /** Единая точка запуска: UserFacingError → одна строка Error:, иначе стек (W4). */
93
108
  export async function runCli(argv) {
94
109
  try {
@@ -99,7 +114,7 @@ export async function runCli(argv) {
99
114
  // `--recreate` проверяется точным токеном массива.
100
115
  const isRecoveryInit = argv[2] === 'init' && argv.includes('--recreate');
101
116
  if (!isRecoveryInit) {
102
- await ensureCurrentSchema(process.cwd());
117
+ await ensureCurrentSchema(safeCwd());
103
118
  }
104
119
  await createCli().parseAsync(argv);
105
120
  }
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"memory-complain.d.ts","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/memory-complain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAapC,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,MAAsB,GAAG,OAAO,CAuC9E"}
1
+ {"version":3,"file":"memory-complain.d.ts","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/memory-complain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyBpC,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,MAAsB,GAAG,OAAO,CAuD9E"}
@@ -4,42 +4,66 @@ import { recordRelation } from '../../../app/use-cases/record-relation.js';
4
4
  import { createCliContainer } from '../../../bootstrap/container.js';
5
5
  import { resolveCreatedBy } from '../../../domain/actor.js';
6
6
  import { appendComplaintSignal } from '../../../adapters/fs/session-metrics-log.js';
7
- // Тип объекта — observation, не lesson: жалоба фиксирует факт поведения
8
- // агента/методики (наблюдение «что случилось»), а не извлечённую рекомендацию
9
- // («как надо» — это lesson с trigger_keywords, продукт расследования Стюарда).
10
- // Жалоба — вход в цикл наставничества, урок — его выход.
7
+ import { UserFacingError } from '../../../domain/errors.js';
8
+ // Жалобный контур v2 (спека 2026-09-01 §4.2, Q1/Q2): жалоба — структурированный
9
+ // объект типа complaint (required: about/rule/evidence/proposal), статус open;
10
+ // триаж — диспетчер (executor-lead), Стюарда воркер не вызывает. Прежний
11
+ // носитель observation сохранён для семантических наблюдений; продюсеров
12
+ // observation кроме этой команды в src/ нет (проверено спекой §3.1).
13
+ // Источник известных agent-id — 6 базовых агентов набора (base-sets §5.1).
14
+ const BASE_AGENT_IDS = [
15
+ 'executor-lead',
16
+ 'mr-wolf',
17
+ 'steward',
18
+ 'worker-implementer',
19
+ 'worker-researcher',
20
+ 'worker-reviewer',
21
+ ];
11
22
  // baseDir инъектится для тестов (прецедент: runValidate в memory-validate.ts);
12
23
  // при обычной регистрации в cli-entry используется process.cwd().
13
24
  export function memoryComplainCommand(baseDir = process.cwd()) {
14
25
  return new Command('complain')
15
- .description('Record a complaint about agent/methodology behavior (hot-signal for the Steward)')
16
- .requiredOption('--about <about>', 'Complaint target: playbook id, agent id or skill name (e.g. skill:apprentice)')
17
- .requiredOption('--text <text>', 'Complaint text')
26
+ .description('File a complaint about a rule/playbook/agent as a memory object (type complaint, status open)')
27
+ .requiredOption('--about <about>', 'Complaint target: agent id, skill:<name> or existing mem-id')
28
+ .requiredOption('--rule <rule>', 'Which rule is bad (pointer + what it requires)')
29
+ .option('--evidence <evidence>', 'Proof: verbatim quote + what happened (file/test/numbers)')
30
+ .option('--text <text>', 'Deprecated alias for --evidence')
31
+ .requiredOption('--proposal <proposal>', 'Proposed change to the rule')
18
32
  .option('--created-by <actor>', 'Creator actor (default: env WOLF_ACTOR, else user:cli)')
19
33
  .action(async (options) => {
34
+ const evidence = options.evidence ?? options.text;
35
+ if (!evidence) {
36
+ throw new UserFacingError('--evidence is required (deprecated alias: --text)');
37
+ }
20
38
  const { store, log, clock, idGen, index, relations, lock, declarations } = createCliContainer(baseDir);
39
+ const aboutKnown = BASE_AGENT_IDS.includes(options.about) ||
40
+ options.about.startsWith('skill:') ||
41
+ (await store.get(options.about)) !== null;
42
+ if (!aboutKnown) {
43
+ throw new UserFacingError(`Unknown --about target "${options.about}": expected base agent id, skill:<name> or existing mem-id`);
44
+ }
21
45
  const now = clock.now();
22
- const short = options.text.length > 60 ? `${options.text.slice(0, 60)}…` : options.text;
46
+ const shortRule = options.rule.length > 60 ? `${options.rule.slice(0, 60)}…` : options.rule;
23
47
  const result = await addMemoryObject({ store, log, clock, idGen, index, lock, declarations }, {
24
- type: 'observation',
25
- title: `Complaint about ${options.about}: ${short}`,
26
- body: options.text,
48
+ type: 'complaint',
49
+ title: `Complaint about ${options.about}: ${shortRule}`,
50
+ body: evidence,
27
51
  createdBy: resolveCreatedBy(options.createdBy),
28
52
  tags: ['complaint'],
29
53
  extra: {
30
54
  about: options.about,
31
- complaint: options.text,
32
- semantic: 'жалоба на поведение агента/методики',
33
- trigger: true,
55
+ rule: options.rule,
56
+ evidence,
57
+ proposal: options.proposal,
34
58
  },
35
59
  });
36
60
  const id = result.object.id;
37
- // Адресат — mem-id или внешняя строка (skill:apprentice); обе допустимы как object.
61
+ // Адресат — agent-id, skill:<имя> или mem-id; обе формы допустимы как object.
38
62
  await recordRelation({ relations, idGen, lock }, now, id, 'complain', options.about, 'manual');
39
- // Ф20 (б): сигнал жалобы в сигнальный лог (hot-signal Стюарда)
63
+ // Ф20 (б): hot-signal Стюарду; текст сигнала — evidence (спека §4.2)
40
64
  appendComplaintSignal(baseDir, {
41
65
  about: options.about,
42
- text: options.text,
66
+ text: evidence,
43
67
  actor: resolveCreatedBy(options.createdBy),
44
68
  objectId: id,
45
69
  });
@@ -1 +1 @@
1
- {"version":3,"file":"memory-complain.js","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/memory-complain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AAEpF,wEAAwE;AACxE,8EAA8E;AAC9E,+EAA+E;AAC/E,yDAAyD;AACzD,+EAA+E;AAC/E,kEAAkE;AAClE,MAAM,UAAU,qBAAqB,CAAC,UAAkB,OAAO,CAAC,GAAG,EAAE;IACnE,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC;SAC3B,WAAW,CAAC,kFAAkF,CAAC;SAC/F,cAAc,CAAC,iBAAiB,EAAE,+EAA+E,CAAC;SAClH,cAAc,CAAC,eAAe,EAAE,gBAAgB,CAAC;SACjD,MAAM,CAAC,sBAAsB,EAAE,wDAAwD,CAAC;SACxF,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACvG,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;QACxF,MAAM,MAAM,GAAG,MAAM,eAAe,CAClC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,EACvD;YACE,IAAI,EAAE,aAAa;YACnB,KAAK,EAAE,mBAAmB,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE;YACnD,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,SAAS,EAAE,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC;YAC9C,IAAI,EAAE,CAAC,WAAW,CAAC;YACnB,KAAK,EAAE;gBACL,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,SAAS,EAAE,OAAO,CAAC,IAAI;gBACvB,QAAQ,EAAE,qCAAqC;gBAC/C,OAAO,EAAE,IAAI;aACd;SACF,CACF,CAAC;QACF,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5B,oFAAoF;QACpF,MAAM,cAAc,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC/F,+DAA+D;QAC/D,qBAAqB,CAAC,OAAO,EAAE;YAC7B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC;YAC1C,QAAQ,EAAE,EAAE;SACb,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,gBAAgB,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"memory-complain.js","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/memory-complain.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,24 @@
1
1
  import { Command } from 'commander';
2
+ /** ENV-ключ известных провайдеров → предлагаемая модель. */
3
+ export declare const PROVIDER_ENV_MODELS: readonly (readonly [string, string])[];
4
+ /** Список предложений: глобальный конфиг opencode первым, затем найденные ENV-ключи. */
5
+ export declare function modelSuggestions(env: NodeJS.ProcessEnv, globalModel: string | null): string[];
6
+ declare function readFileSyncOrNull(path: string): string | null;
7
+ /** Модель из глобального конфига opencode (~/.config/opencode/opencode.json[c]); только чтение. */
8
+ export declare function readGlobalOpencodeModel(read?: typeof readFileSyncOrNull): string | null;
9
+ interface Rl {
10
+ question(q: string): Promise<string>;
11
+ }
12
+ /** Платформы (§4.4 п.2): opencode всегда дефолт, найденные по маркерам — добавляются к предложению. */
13
+ export declare function askPlatformChoice(rl: Rl, baseDir: string): Promise<string[]>;
14
+ /** Модель (§4.5): один вопрос, Enter — первое предложение, свободный ввод, пропустить нельзя (Q11). */
15
+ export declare function askModel(rl: Rl, suggestions: string[]): Promise<string>;
16
+ /** Финальный блок «Дальше»: restart — только если MCP реально записан в этом прогоне. */
17
+ export declare function renderNextSteps(opts: {
18
+ npx: boolean;
19
+ mcpWritten: boolean;
20
+ claudeConnected: boolean;
21
+ }): string[];
2
22
  export declare function memoryInitCommand(): Command;
23
+ export {};
3
24
  //# sourceMappingURL=memory-init.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory-init.d.ts","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/memory-init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiBpC,wBAAgB,iBAAiB,IAAI,OAAO,CA0G3C"}
1
+ {"version":3,"file":"memory-init.d.ts","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/memory-init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsBpC,4DAA4D;AAC5D,eAAO,MAAM,mBAAmB,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAKrE,CAAC;AAEF,wFAAwF;AACxF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,EAAE,CAO7F;AAED,iBAAS,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMvD;AAED,mGAAmG;AACnG,wBAAgB,uBAAuB,CAAC,IAAI,4BAAqB,GAAG,MAAM,GAAG,IAAI,CAchF;AAID,UAAU,EAAE;IACV,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACtC;AAED,uGAAuG;AACvG,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAqBlF;AAED,uGAAuG;AACvG,wBAAsB,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAmB7E;AAID,yFAAyF;AACzF,wBAAgB,eAAe,CAAC,IAAI,EAAE;IAAE,GAAG,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,eAAe,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,EAAE,CAc/G;AAID,wBAAgB,iBAAiB,IAAI,OAAO,CAiJ3C"}
@@ -1,23 +1,134 @@
1
1
  import { Command } from 'commander';
2
2
  import { join } from 'path';
3
3
  import { readFileSync, readdirSync, existsSync } from 'fs';
4
+ import { createInterface } from 'node:readline/promises';
4
5
  import { createCliContainer } from '../../../bootstrap/container.js';
5
6
  import { ProjectsRegistry } from '../../../adapters/fs/projects-registry.js';
6
7
  import { wolfUserConfigDir } from '../../../adapters/fs/user-config.js';
7
8
  import { PLATFORM_ADAPTERS, CANONICAL_MCP_COMMAND } from '../../../adapters/platforms/index.js';
9
+ import { parseJsonc } from '../../../adapters/platforms/jsonc.js';
8
10
  import { writeSchemaVersionIfAbsent } from '../../../adapters/fs/schema-version.js';
9
11
  import { ensureCurrentSchema } from '../../../adapters/fs/schema-guard.js';
10
12
  import { initProject, recreateConfig } from '../../../app/use-cases/init-project.js';
11
13
  import { OpencodeBaseSetRenderer } from '../../../adapters/render/opencode/opencode-renderer.js';
12
- import { templatesRoot, harnessTemplatesRoot } from '../../../adapters/render/templates-root.js';
14
+ import { templatesRoot, harnessTemplatesRoot, wolfVersion } from '../../../adapters/render/templates-root.js';
13
15
  import { seedBasePlaybooks } from '../../../app/use-cases/seed-base-playbooks.js';
14
16
  import { addMemoryObject } from '../../../app/use-cases/add-memory-object.js';
15
17
  import { isNpxRun } from '../../../domain/npx.js';
16
18
  import { UserFacingError } from '../../../domain/errors.js';
19
+ /* ---------- предложения модели «по возможности» (§4.5, только чтение) ---------- */
20
+ /** ENV-ключ известных провайдеров → предлагаемая модель. */
21
+ export const PROVIDER_ENV_MODELS = [
22
+ ['ZAI_API_KEY', 'zai-coding-plan/glm-5.3'],
23
+ ['ANTHROPIC_API_KEY', 'anthropic/claude-sonnet-4-5'],
24
+ ['OPENAI_API_KEY', 'openai/gpt-5'],
25
+ ['GEMINI_API_KEY', 'google/gemini-2.5-pro'],
26
+ ];
27
+ /** Список предложений: глобальный конфиг opencode первым, затем найденные ENV-ключи. */
28
+ export function modelSuggestions(env, globalModel) {
29
+ const out = [];
30
+ if (globalModel)
31
+ out.push(globalModel);
32
+ for (const [key, model] of PROVIDER_ENV_MODELS) {
33
+ if (env[key])
34
+ out.push(model);
35
+ }
36
+ return [...new Set(out)];
37
+ }
38
+ function readFileSyncOrNull(path) {
39
+ try {
40
+ return readFileSync(path, 'utf-8');
41
+ }
42
+ catch {
43
+ return null;
44
+ }
45
+ }
46
+ /** Модель из глобального конфига opencode (~/.config/opencode/opencode.json[c]); только чтение. */
47
+ export function readGlobalOpencodeModel(read = readFileSyncOrNull) {
48
+ const home = process.env.HOME;
49
+ if (!home)
50
+ return null;
51
+ for (const name of ['opencode.json', 'opencode.jsonc']) {
52
+ const raw = read(join(home, '.config', 'opencode', name));
53
+ if (raw === null)
54
+ continue;
55
+ try {
56
+ const cfg = parseJsonc(raw);
57
+ if (typeof cfg.model === 'string' && cfg.model.includes('/'))
58
+ return cfg.model;
59
+ }
60
+ catch {
61
+ // нечитаемый конфиг — пропускаем (детект «по возможности», §4.5)
62
+ }
63
+ }
64
+ return null;
65
+ }
66
+ /** Платформы (§4.4 п.2): opencode всегда дефолт, найденные по маркерам — добавляются к предложению. */
67
+ export async function askPlatformChoice(rl, baseDir) {
68
+ const detected = PLATFORM_ADAPTERS.filter((a) => a.id !== 'opencode' && a.detect(baseDir)).map((a) => a.id);
69
+ const offer = ['opencode', ...detected];
70
+ const hint = detected.length > 0 ? `; найдены по маркерам: ${detected.join(', ')} — добавьте id через запятую` : '';
71
+ const known = new Set(PLATFORM_ADAPTERS.map((a) => a.id));
72
+ for (;;) {
73
+ const ans = (await rl.question(`Wolf MCP: платформы [${offer.join(', ')}] (через запятую, Enter = opencode${hint}): `)).trim();
74
+ if (ans === '')
75
+ return ['opencode'];
76
+ const ids = ans
77
+ .split(',')
78
+ .map((s) => s.trim())
79
+ .filter((s) => s !== '');
80
+ const unknown = ids.filter((id) => !known.has(id));
81
+ if (unknown.length > 0) {
82
+ console.log(`Unknown platform(s): ${unknown.join(', ')} (known: ${[...known].join(', ')})`);
83
+ continue;
84
+ }
85
+ if (ids.length > 0)
86
+ return ids;
87
+ }
88
+ }
89
+ /** Модель (§4.5): один вопрос, Enter — первое предложение, свободный ввод, пропустить нельзя (Q11). */
90
+ export async function askModel(rl, suggestions) {
91
+ if (suggestions.length > 0) {
92
+ const list = suggestions.map((m, i) => ` ${i + 1}. ${m}`).join('\n');
93
+ for (;;) {
94
+ const ans = (await rl.question(`Модель Mr.Wolf и его агентов <providerID>/<modelID>:\n${list}\nНомер или свой id, Enter = 1: `)).trim();
95
+ if (ans === '')
96
+ return suggestions[0];
97
+ const n = Number(ans);
98
+ if (/^\d+$/.test(ans) && n >= 1 && n <= suggestions.length)
99
+ return suggestions[n - 1];
100
+ return ans;
101
+ }
102
+ }
103
+ for (;;) {
104
+ const ans = (await rl.question('Модель Mr.Wolf и его агентов <providerID>/<modelID>: ')).trim();
105
+ if (ans !== '')
106
+ return ans;
107
+ }
108
+ }
109
+ /* ---------- вывод v2 (F5/F6/F7) ---------- */
110
+ /** Финальный блок «Дальше»: restart — только если MCP реально записан в этом прогоне. */
111
+ export function renderNextSteps(opts) {
112
+ if (opts.npx) {
113
+ return [
114
+ ' → this was an npx try-out; to connect your platform: npm install -g mister-wolf, then re-run: wolf init',
115
+ ];
116
+ }
117
+ const lines = ['Дальше:', ' 1. wolf bootstrap — первичный образ памяти проекта'];
118
+ if (opts.mcpWritten) {
119
+ lines.push(' 2. перезапустите opencode — подхватить MCP-сервер и дефолтного агента Mr.Wolf');
120
+ if (opts.claudeConnected) {
121
+ lines.push(' Claude Code: approve the project-scoped MCP server on first start.');
122
+ }
123
+ }
124
+ return lines;
125
+ }
126
+ /* ---------- команда ---------- */
17
127
  export function memoryInitCommand() {
18
128
  return new Command('init')
19
- .description('Initialize Mr. Wolf memory for this project (idempotent, non-interactive)')
129
+ .description('Initialize Mr. Wolf memory for this project (interactive in TTY; non-interactive requires --model)')
20
130
  .option('--platform <ids>', 'explicit platform list (comma-separated: opencode,claude); replaces the current set')
131
+ .option('--model <id>', 'model for Mr.Wolf and its agents (<providerID>/<modelID>); required when non-interactive')
21
132
  .option('--recreate', 'backup a corrupted .wolf/config.yaml and re-create it from defaults', false)
22
133
  .action(async (options) => {
23
134
  const baseDir = process.cwd();
@@ -29,19 +140,44 @@ export function memoryInitCommand() {
29
140
  // схема из будущего — честный отказ «обнови wolf» (спека §3), а не даунгрейд 99→2
30
141
  await ensureCurrentSchema(baseDir);
31
142
  }
32
- let platformIds;
143
+ let platformChoice;
144
+ let platformSource;
33
145
  if (options.platform !== undefined) {
34
- platformIds = options.platform
146
+ platformChoice = options.platform
35
147
  .split(',')
36
148
  .map((s) => s.trim())
37
149
  .filter((s) => s !== '');
38
150
  const known = new Set(PLATFORM_ADAPTERS.map((a) => a.id));
39
- const unknown = platformIds.filter((id) => !known.has(id));
151
+ const unknown = platformChoice.filter((id) => !known.has(id));
40
152
  if (unknown.length > 0) {
41
153
  throw new UserFacingError(`Unknown platform(s): ${unknown.join(', ')} (known: ${[...known].join(', ')})`);
42
154
  }
155
+ platformSource = 'flag';
156
+ }
157
+ // Двухрежимность (D12/Q11): TTY — вопросы; не-TTY — --model обязателен, жёсткая ошибка
158
+ const isTty = Boolean(process.stdout.isTTY);
159
+ let model = options.model;
160
+ let modelSource = options.model !== undefined ? 'flag' : undefined;
161
+ if (!isTty && options.model === undefined) {
162
+ throw new UserFacingError('non-interactive init requires a model; re-run: wolf init --model <providerID/modelID> [--platform <ids>]');
163
+ }
164
+ // npx try-out: пайплайн молчит (§4 п.6) — вопросы не задаём, ответы всё равно выброшены
165
+ if (isTty && options.model === undefined && !isNpxRun()) {
166
+ const rl = createInterface({ input: process.stdin, output: process.stdout });
167
+ try {
168
+ if (platformChoice === undefined) {
169
+ platformChoice = await askPlatformChoice(rl, baseDir);
170
+ platformSource = 'tty';
171
+ }
172
+ model = await askModel(rl, modelSuggestions(process.env, readGlobalOpencodeModel()));
173
+ modelSource = 'tty';
174
+ }
175
+ finally {
176
+ rl.close();
177
+ }
43
178
  }
44
- const { initializer, store, log, clock, idGen, scanner, index, lock, declarations } = createCliContainer(baseDir);
179
+ const models = { primary: model ?? '', worker: model ?? '' }; // worker = primary (Q7); npx — не используется
180
+ const { initializer, store, log, clock, idGen, index, lock, declarations } = createCliContainer(baseDir);
45
181
  const registry = new ProjectsRegistry(wolfUserConfigDir());
46
182
  const tplPlaybooks = join(templatesRoot(), 'playbooks');
47
183
  const playbookFiles = new Map();
@@ -61,12 +197,19 @@ export function memoryInitCommand() {
61
197
  adapters: PLATFORM_ADAPTERS,
62
198
  mcpCommand: CANONICAL_MCP_COMMAND,
63
199
  npx: isNpxRun(),
64
- scanDeps: { store, log, clock, idGen, scanner, index, lock },
65
200
  markSchemaCurrent: (dir) => writeSchemaVersionIfAbsent(dir),
201
+ store,
202
+ log,
203
+ clock,
204
+ idGen,
205
+ index,
206
+ lock,
207
+ declarations,
208
+ wolfVersion: wolfVersion(),
66
209
  baseSet: {
67
- render: (dir) => new OpencodeBaseSetRenderer(templatesRoot(), {
210
+ render: (dir, opts) => new OpencodeBaseSetRenderer(templatesRoot(), {
68
211
  harnessTemplatesRoot: harnessTemplatesRoot('opencode'),
69
- }).renderBaseSet(dir),
212
+ }).renderBaseSet(dir, opts),
70
213
  seed: () => seedBasePlaybooks({
71
214
  files: playbookFiles,
72
215
  add: async (i) => {
@@ -76,10 +219,9 @@ export function memoryInitCommand() {
76
219
  isSeeded: async (owner) => seededOwners.has(owner),
77
220
  }),
78
221
  },
79
- }, baseDir, { platformIds });
222
+ }, baseDir, { platformChoice, platformSource, models, modelSource });
80
223
  console.log('# wolf init');
81
224
  console.log(`- memory skeleton: ensured (${join(baseDir, '.wolf')})`);
82
- console.log(`- scan: ${result.documentCount} document(s) registered`);
83
225
  for (const o of result.baseSetOutcomes)
84
226
  console.log(`- base set: ${o.file} ${o.action}${o.reason ? ` — ${o.reason}` : ''}`);
85
227
  for (const outcome of result.platformOutcomes) {
@@ -88,19 +230,23 @@ export function memoryInitCommand() {
88
230
  : `platform ${outcome.platform}`;
89
231
  console.log(`- ${label}: ${outcome.action}${outcome.reason ? ` — ${outcome.reason}` : ''}`);
90
232
  }
91
- if (result.npx) {
92
- console.log(' → this was an npx try-out; to connect your platform: npm install -g mister-wolf, then re-run: wolf init');
233
+ if (result.routing.action !== 'skipped') {
234
+ console.log(`- routing: модели агентов — ${result.routing.action} (primary ${models.primary})`);
93
235
  }
94
- else {
95
- console.log('Restart your agent platform to pick up the MCP server.');
96
- if (result.platformOutcomes.some((o) => o.platform === 'claude' && o.action !== 'removed')) {
97
- console.log('Claude Code: approve the project-scoped MCP server on first start.');
98
- }
236
+ console.log(result.initReport.action === 'created'
237
+ ? `- init-report: created (${result.initReport.id})`
238
+ : '- init-report: already exists — не дублирую');
239
+ for (const line of renderNextSteps({
240
+ npx: result.npx,
241
+ mcpWritten: result.platformOutcomes.some((o) => o.action === 'written' || o.action === 'replaced'),
242
+ claudeConnected: result.platformOutcomes.some((o) => o.platform === 'claude' && o.action !== 'removed'),
243
+ })) {
244
+ console.log(line);
99
245
  }
100
246
  console.log(`Project registered: ${join(wolfUserConfigDir(), 'projects.yaml')}`);
101
247
  // §3: ненулевой exit — только если при явном --platform не записано ни одного конфига
102
248
  const wroteSomething = result.platformOutcomes.some((o) => ['written', 'replaced', 'unchanged'].includes(o.action));
103
- if (platformIds !== undefined && !wroteSomething)
249
+ if (platformChoice !== undefined && !wroteSomething)
104
250
  process.exitCode = 1;
105
251
  });
106
252
  }
@@ -1 +1 @@
1
- {"version":3,"file":"memory-init.js","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/memory-init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-init.js","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/memory-init.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"memory-search.d.ts","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/memory-search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,mBAAmB,IAAI,OAAO,CAwC7C"}
1
+ {"version":3,"file":"memory-search.d.ts","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/memory-search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,mBAAmB,IAAI,OAAO,CAiD7C"}
@@ -1,6 +1,7 @@
1
1
  import { Command } from 'commander';
2
2
  import { searchMemory } from '../../../app/use-cases/search-memory.js';
3
3
  import { createCliContainer } from '../../../bootstrap/container.js';
4
+ import { FTS_COLUMNS } from '../../sqlite/sqlite-search-index.js';
4
5
  export function memorySearchCommand() {
5
6
  return new Command('search')
6
7
  .description('Search memory objects')
@@ -37,6 +38,13 @@ export function memorySearchCommand() {
37
38
  const mark = result.object.status === 'superseded' ? ' [superseded]' : '';
38
39
  console.log(`${result.object.id} [${result.object.type}] ${result.object.title}${mark}`);
39
40
  }
41
+ // Анти-тихий-ноль (вариант D): пустота не отдаётся молча.
42
+ if (results.length === 0) {
43
+ const columns = [...FTS_COLUMNS].join(', ');
44
+ console.error(query.trim()
45
+ ? `0 results for "${query}"; hint: supported syntax — words, prefix, AND/OR, field:value for columns: ${columns}`
46
+ : `empty query; hint: supported syntax — words, prefix, AND/OR, field:value for columns: ${columns}`);
47
+ }
40
48
  });
41
49
  }
42
50
  function collect(value, previous) {
@@ -1 +1 @@
1
- {"version":3,"file":"memory-search.js","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/memory-search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAErE,MAAM,UAAU,mBAAmB;IACjC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC;SACzB,WAAW,CAAC,uBAAuB,CAAC;SACpC,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;SACnC,MAAM,CAAC,eAAe,EAAE,gBAAgB,CAAC;SACzC,MAAM,CAAC,mBAAmB,EAAE,kBAAkB,CAAC;SAC/C,MAAM,CAAC,aAAa,EAAE,4BAA4B,EAAE,OAAO,EAAE,EAAE,CAAC;SAChE,MAAM,CAAC,2BAA2B,EAAE,wCAAwC,CAAC;SAC7E,MAAM,CAAC,sBAAsB,EAAE,oBAAoB,EAAE,UAAU,CAAC;SAChE,MAAM,CAAC,sBAAsB,EAAE,oBAAoB,EAAE,UAAU,CAAC;SAChE,MAAM,CAAC,uBAAuB,EAAE,0BAA0B,CAAC;SAC3D,MAAM,CAAC,wBAAwB,EAAE,2BAA2B,CAAC;SAC7D,MAAM,CAAC,aAAa,EAAE,iBAAiB,EAAE,QAAQ,CAAC;SAClD,MAAM,CAAC,oBAAoB,EAAE,oCAAoC,CAAC;SAClE,MAAM,CAAC,mBAAmB,EAAE,oEAAoE,EAAE,KAAK,CAAC;SACxG,MAAM,CAAC,sBAAsB,EAAE,2DAA2D,EAAE,KAAK,CAAC;SAClG,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC/B,MAAM,EAAE,KAAK,EAAE,GAAG,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,MAAM,YAAY,CAChC,EAAE,KAAK,EAAE,EACT;YACE,KAAK;YACL,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;YACtD,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,SAAS,EAAE,OAAO,CAAC,QAAQ;YAC3B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,iBAAiB,EAAE,CAAC,OAAO,CAAC,cAAc;SAC3C,CACF,CAAC;QACF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1E,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,EAAE,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,OAAO,CAAC,KAAa,EAAE,QAAkB;IAChD,OAAO,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"memory-search.js","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/memory-search.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"memory-sync.d.ts","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/memory-sync.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,iBAAiB,IAAI,OAAO,CAiB3C"}
1
+ {"version":3,"file":"memory-sync.d.ts","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/memory-sync.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,wBAAgB,iBAAiB,IAAI,OAAO,CAyB3C"}
@@ -3,6 +3,8 @@ import { Command } from 'commander';
3
3
  import { OpencodeBaseSetRenderer } from '../../../adapters/render/opencode/opencode-renderer.js';
4
4
  import { templatesRoot, harnessTemplatesRoot } from '../../../adapters/render/templates-root.js';
5
5
  import { syncBaseSet } from '../../../app/use-cases/sync-base-set.js';
6
+ import { findModelRouting, parseModelRouting } from '../../../app/use-cases/model-routing.js';
7
+ import { MarkdownMemoryStore } from '../../../adapters/fs/markdown-memory-store.js';
6
8
  import { isNpxRun } from '../../../domain/npx.js';
7
9
  import { UserFacingError } from '../../../domain/errors.js';
8
10
  export function memorySyncCommand() {
@@ -16,8 +18,14 @@ export function memorySyncCommand() {
16
18
  const renderer = new OpencodeBaseSetRenderer(templatesRoot(), {
17
19
  harnessTemplatesRoot: harnessTemplatesRoot('opencode'),
18
20
  });
19
- const { outcomes, orphaned } = await syncBaseSet(renderer, baseDir);
21
+ // §4.5: sync подставляет модели из routing-объекта; легаси без него — omit
22
+ const routingObj = await findModelRouting(new MarkdownMemoryStore(baseDir));
23
+ const routing = routingObj ? parseModelRouting(routingObj) : null;
24
+ const { outcomes, orphaned } = await syncBaseSet(renderer, baseDir, routing ?? 'omit');
20
25
  console.log('# wolf sync');
26
+ console.log(routing
27
+ ? `- models: primary=${routing.primary} worker=${routing.worker} (routing-объект ${routingObj?.id})`
28
+ : '- models: omit — routing-объект не найден (легаси), model:-строки опущены (§4.5)');
21
29
  for (const o of outcomes)
22
30
  console.log(`- ${o.file}: ${o.action}${o.reason ? ` — ${o.reason}` : ''}`);
23
31
  for (const f of orphaned)
@@ -1 +1 @@
1
- {"version":3,"file":"memory-sync.js","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/memory-sync.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,uBAAuB,EAAE,MAAM,wDAAwD,CAAC;AACjG,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AACjG,OAAO,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,MAAM,UAAU,iBAAiB;IAC/B,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;SACvB,WAAW,CAAC,oEAAoE,CAAC;SACjF,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,IAAI,QAAQ,EAAE,EAAE,CAAC;YACf,MAAM,IAAI,eAAe,CAAC,wEAAwE,CAAC,CAAC;QACtG,CAAC;QACD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,IAAI,uBAAuB,CAAC,aAAa,EAAE,EAAE;YAC5D,oBAAoB,EAAE,oBAAoB,CAAC,UAAU,CAAC;SACvD,CAAC,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC3B,KAAK,MAAM,CAAC,IAAI,QAAQ;YAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACrG,KAAK,MAAM,CAAC,IAAI,QAAQ;YAAE,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,EAAE,CAAC,CAAC;QAC1F,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"memory-sync.js","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/memory-sync.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,uBAAuB,EAAE,MAAM,wDAAwD,CAAC;AACjG,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AACjG,OAAO,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC9F,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,MAAM,UAAU,iBAAiB;IAC/B,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;SACvB,WAAW,CAAC,oEAAoE,CAAC;SACjF,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,IAAI,QAAQ,EAAE,EAAE,CAAC;YACf,MAAM,IAAI,eAAe,CAAC,wEAAwE,CAAC,CAAC;QACtG,CAAC;QACD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,IAAI,uBAAuB,CAAC,aAAa,EAAE,EAAE;YAC5D,oBAAoB,EAAE,oBAAoB,CAAC,UAAU,CAAC;SACvD,CAAC,CAAC;QACH,2EAA2E;QAC3E,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,IAAI,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5E,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAClE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,IAAI,MAAM,CAAC,CAAC;QACvF,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC3B,OAAO,CAAC,GAAG,CACT,OAAO;YACL,CAAC,CAAC,qBAAqB,OAAO,CAAC,OAAO,WAAW,OAAO,CAAC,MAAM,oBAAoB,UAAU,EAAE,EAAE,GAAG;YACpG,CAAC,CAAC,kFAAkF,CACvF,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,QAAQ;YAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACrG,KAAK,MAAM,CAAC,IAAI,QAAQ;YAAE,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,EAAE,CAAC,CAAC;QAC1F,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function memoryUpdateCommand(baseDir?: string): Command;
3
+ //# sourceMappingURL=memory-update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-update.d.ts","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/memory-update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqBpC,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,MAAsB,GAAG,OAAO,CAsG5E"}