mister-wolf 2.2.0 → 2.3.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 (138) hide show
  1. package/dist/adapters/cli/cli-entry.d.ts.map +1 -1
  2. package/dist/adapters/cli/cli-entry.js +5 -1
  3. package/dist/adapters/cli/cli-entry.js.map +1 -1
  4. package/dist/adapters/cli/commands/analytics.d.ts +3 -0
  5. package/dist/adapters/cli/commands/analytics.d.ts.map +1 -0
  6. package/dist/adapters/cli/commands/analytics.js +216 -0
  7. package/dist/adapters/cli/commands/analytics.js.map +1 -0
  8. package/dist/adapters/cli/commands/dashboard.d.ts +9 -0
  9. package/dist/adapters/cli/commands/dashboard.d.ts.map +1 -0
  10. package/dist/adapters/cli/commands/dashboard.js +213 -0
  11. package/dist/adapters/cli/commands/dashboard.js.map +1 -0
  12. package/dist/adapters/cli/commands/memory-effectiveness.d.ts.map +1 -1
  13. package/dist/adapters/cli/commands/memory-effectiveness.js +54 -14
  14. package/dist/adapters/cli/commands/memory-effectiveness.js.map +1 -1
  15. package/dist/adapters/cli/commands/memory-init.js +8 -8
  16. package/dist/adapters/cli/commands/memory-init.js.map +1 -1
  17. package/dist/adapters/cli/commands/memory-insights.d.ts.map +1 -1
  18. package/dist/adapters/cli/commands/memory-insights.js +3 -1
  19. package/dist/adapters/cli/commands/memory-insights.js.map +1 -1
  20. package/dist/adapters/cli/commands/memory-learn.js +42 -42
  21. package/dist/adapters/cli/commands/memory-learn.js.map +1 -1
  22. package/dist/adapters/cli/commands/memory-migrate.js +1 -1
  23. package/dist/adapters/cli/commands/memory-migrate.js.map +1 -1
  24. package/dist/adapters/cli/commands/memory-run.d.ts.map +1 -1
  25. package/dist/adapters/cli/commands/memory-run.js +37 -1
  26. package/dist/adapters/cli/commands/memory-run.js.map +1 -1
  27. package/dist/adapters/cli/commands/memory-scaffold.js +1 -1
  28. package/dist/adapters/cli/commands/memory-scaffold.js.map +1 -1
  29. package/dist/adapters/cli/commands/memory-scan.js +1 -1
  30. package/dist/adapters/cli/commands/memory-scan.js.map +1 -1
  31. package/dist/adapters/cli/commands/memory-sync.d.ts.map +1 -1
  32. package/dist/adapters/cli/commands/memory-sync.js +5 -5
  33. package/dist/adapters/cli/commands/memory-sync.js.map +1 -1
  34. package/dist/adapters/cli/commands/memory-tool.js +6 -6
  35. package/dist/adapters/cli/commands/memory-tool.js.map +1 -1
  36. package/dist/adapters/cli/commands/memory-upgrade.js +7 -7
  37. package/dist/adapters/cli/commands/memory-upgrade.js.map +1 -1
  38. package/dist/adapters/cli/commands/memory-validate.js +3 -3
  39. package/dist/adapters/cli/commands/memory-validate.js.map +1 -1
  40. package/dist/adapters/cli/opencode-run-metrics.d.ts +7 -0
  41. package/dist/adapters/cli/opencode-run-metrics.d.ts.map +1 -1
  42. package/dist/adapters/cli/opencode-run-metrics.js +12 -2
  43. package/dist/adapters/cli/opencode-run-metrics.js.map +1 -1
  44. package/dist/adapters/fs/config-file.d.ts.map +1 -1
  45. package/dist/adapters/fs/config-file.js +33 -1
  46. package/dist/adapters/fs/config-file.js.map +1 -1
  47. package/dist/adapters/fs/doc-id-migration.js +1 -1
  48. package/dist/adapters/fs/doc-id-migration.js.map +1 -1
  49. package/dist/adapters/fs/effectiveness-snapshots.d.ts +12 -0
  50. package/dist/adapters/fs/effectiveness-snapshots.d.ts.map +1 -0
  51. package/dist/adapters/fs/effectiveness-snapshots.js +42 -0
  52. package/dist/adapters/fs/effectiveness-snapshots.js.map +1 -0
  53. package/dist/adapters/fs/session-metrics-log.d.ts +26 -1
  54. package/dist/adapters/fs/session-metrics-log.d.ts.map +1 -1
  55. package/dist/adapters/fs/session-metrics-log.js +12 -1
  56. package/dist/adapters/fs/session-metrics-log.js.map +1 -1
  57. package/dist/adapters/mcp/mcp-schemas.d.ts +28 -0
  58. package/dist/adapters/mcp/mcp-schemas.d.ts.map +1 -1
  59. package/dist/adapters/mcp/mcp-schemas.js +10 -0
  60. package/dist/adapters/mcp/mcp-schemas.js.map +1 -1
  61. package/dist/adapters/mcp/mcp-tools.d.ts.map +1 -1
  62. package/dist/adapters/mcp/mcp-tools.js +45 -1
  63. package/dist/adapters/mcp/mcp-tools.js.map +1 -1
  64. package/dist/adapters/platforms/opencode-adapter.js +2 -2
  65. package/dist/adapters/platforms/opencode-adapter.js.map +1 -1
  66. package/dist/adapters/render/opencode/opencode-renderer.js +5 -5
  67. package/dist/adapters/render/opencode/opencode-renderer.js.map +1 -1
  68. package/dist/app/use-cases/activate-draft.js +8 -8
  69. package/dist/app/use-cases/activate-draft.js.map +1 -1
  70. package/dist/app/use-cases/bootstrap-project.d.ts +1 -1
  71. package/dist/app/use-cases/bootstrap-project.d.ts.map +1 -1
  72. package/dist/app/use-cases/bootstrap-project.js +16 -16
  73. package/dist/app/use-cases/bootstrap-project.js.map +1 -1
  74. package/dist/app/use-cases/build-analytics.d.ts +201 -0
  75. package/dist/app/use-cases/build-analytics.d.ts.map +1 -0
  76. package/dist/app/use-cases/build-analytics.js +595 -0
  77. package/dist/app/use-cases/build-analytics.js.map +1 -0
  78. package/dist/app/use-cases/build-dashboard.d.ts +38 -0
  79. package/dist/app/use-cases/build-dashboard.d.ts.map +1 -0
  80. package/dist/app/use-cases/build-dashboard.js +31 -0
  81. package/dist/app/use-cases/build-dashboard.js.map +1 -0
  82. package/dist/app/use-cases/effectiveness.d.ts +27 -0
  83. package/dist/app/use-cases/effectiveness.d.ts.map +1 -1
  84. package/dist/app/use-cases/effectiveness.js +63 -0
  85. package/dist/app/use-cases/effectiveness.js.map +1 -1
  86. package/dist/app/use-cases/generate-insights.d.ts +15 -0
  87. package/dist/app/use-cases/generate-insights.d.ts.map +1 -1
  88. package/dist/app/use-cases/generate-insights.js +37 -2
  89. package/dist/app/use-cases/generate-insights.js.map +1 -1
  90. package/dist/app/use-cases/generate-recap.js +8 -8
  91. package/dist/app/use-cases/generate-recap.js.map +1 -1
  92. package/dist/app/use-cases/init-project.d.ts.map +1 -1
  93. package/dist/app/use-cases/init-project.js +18 -14
  94. package/dist/app/use-cases/init-project.js.map +1 -1
  95. package/dist/app/use-cases/list-memory-objects.js +3 -3
  96. package/dist/app/use-cases/list-memory-objects.js.map +1 -1
  97. package/dist/app/use-cases/model-routing.js +2 -2
  98. package/dist/app/use-cases/model-routing.js.map +1 -1
  99. package/dist/app/use-cases/propose-draft.js +16 -16
  100. package/dist/app/use-cases/propose-draft.js.map +1 -1
  101. package/dist/app/use-cases/scaffold-agent.js +12 -12
  102. package/dist/app/use-cases/scaffold-agent.js.map +1 -1
  103. package/dist/app/use-cases/seed-base-playbooks.js +1 -1
  104. package/dist/app/use-cases/seed-base-playbooks.js.map +1 -1
  105. package/dist/app/use-cases/snapshot-delta.d.ts +22 -0
  106. package/dist/app/use-cases/snapshot-delta.d.ts.map +1 -0
  107. package/dist/app/use-cases/snapshot-delta.js +72 -0
  108. package/dist/app/use-cases/snapshot-delta.js.map +1 -0
  109. package/dist/app/use-cases/template-evolve.js +7 -7
  110. package/dist/app/use-cases/template-evolve.js.map +1 -1
  111. package/dist/app/use-cases/tool-librarian.d.ts.map +1 -1
  112. package/dist/app/use-cases/tool-librarian.js +13 -13
  113. package/dist/app/use-cases/tool-librarian.js.map +1 -1
  114. package/dist/app/use-cases/tool-stats.js +1 -1
  115. package/dist/app/use-cases/tool-stats.js.map +1 -1
  116. package/dist/app/use-cases/validate-draft.js +7 -7
  117. package/dist/app/use-cases/validate-draft.js.map +1 -1
  118. package/dist/domain/gates/stop-gate.js +6 -6
  119. package/dist/domain/gates/stop-gate.js.map +1 -1
  120. package/dist/domain/mechanical-advice.d.ts.map +1 -1
  121. package/dist/domain/mechanical-advice.js +19 -19
  122. package/dist/domain/mechanical-advice.js.map +1 -1
  123. package/dist/domain/policies/read-only-zones.js +13 -13
  124. package/dist/domain/policies/read-only-zones.js.map +1 -1
  125. package/dist/domain/pricing.d.ts +20 -0
  126. package/dist/domain/pricing.d.ts.map +1 -0
  127. package/dist/domain/pricing.js +12 -0
  128. package/dist/domain/pricing.js.map +1 -0
  129. package/dist/domain/review-depth.js +7 -7
  130. package/dist/domain/review-depth.js.map +1 -1
  131. package/dist/domain/taxonomy.d.ts +10 -0
  132. package/dist/domain/taxonomy.d.ts.map +1 -1
  133. package/dist/domain/taxonomy.js.map +1 -1
  134. package/dist/domain/tool-economy.d.ts +15 -0
  135. package/dist/domain/tool-economy.d.ts.map +1 -1
  136. package/dist/domain/tool-economy.js +1 -1
  137. package/dist/domain/tool-economy.js.map +1 -1
  138. package/package.json +2 -2
@@ -37,14 +37,14 @@ async function resolveToolRef(deps, nameOrId) {
37
37
  if (nameOrId.startsWith('mem_')) {
38
38
  const obj = await deps.store.get(nameOrId);
39
39
  if (!obj || obj.type !== 'tool')
40
- throw new UserFacingError(`Tool не найден: ${nameOrId}`);
40
+ throw new UserFacingError(`Tool not found: ${nameOrId}`);
41
41
  return asTool(obj);
42
42
  }
43
43
  const matches = (await deps.store.list({ type: 'tool' })).filter((o) => asTool(o).name === nameOrId);
44
44
  if (matches.length === 0)
45
- throw new UserFacingError(`Tool не найден: ${nameOrId}`);
45
+ throw new UserFacingError(`Tool not found: ${nameOrId}`);
46
46
  if (matches.length > 1) {
47
- throw new UserFacingError(`Неоднозначное имя инструмента "${nameOrId}" (${matches.length} объектов): ${matches.map((m) => m.id).join(', ')}`);
47
+ throw new UserFacingError(`Ambiguous tool name "${nameOrId}" (${matches.length} objects): ${matches.map((m) => m.id).join(', ')}`);
48
48
  }
49
49
  return asTool(matches[0]);
50
50
  }
@@ -52,29 +52,29 @@ export async function registerTool(deps, input) {
52
52
  const run = async () => {
53
53
  // имя = имя файла в .wolf/tools/ и ключ `tool use <name>`: без слэшей/точек/путей.
54
54
  if (!NAME_RE.test(input.name)) {
55
- throw new UserFacingError(`Недопустимое имя инструмента "${input.name}": только [a-z0-9-_], начинается с цифры/буквы`);
55
+ throw new UserFacingError(`Invalid tool name "${input.name}": only [a-z0-9-_], starting with a digit/letter`);
56
56
  }
57
57
  const absSrc = isAbsolute(input.scriptPath) ? input.scriptPath : join(deps.baseDir, input.scriptPath);
58
58
  if (!(await deps.fs.exists(absSrc))) {
59
- throw new UserFacingError(`Скрипт не найден: ${absSrc}`);
59
+ throw new UserFacingError(`Script not found: ${absSrc}`);
60
60
  }
61
61
  // Коллизия имени — всегда отказ (даже с --force): name — ключ lookup'а,
62
62
  // второй объект затёр бы канонический скрипт первого.
63
63
  const taken = (await deps.store.list({ type: 'tool' })).filter((o) => LIVE_STATUSES.includes(o.status) && asTool(o).name === input.name);
64
64
  if (taken.length > 0) {
65
65
  const list = taken.map((o) => `${o.id} [${o.status}]`).join('; ');
66
- throw new UserFacingError(`Имя "${input.name}" уже занято: ${list}. Выбери другое имя`);
66
+ throw new UserFacingError(`Name "${input.name}" is already taken: ${list}. Choose another name`);
67
67
  }
68
68
  // Dedup-подсказка (search-before-write): похожие по контракту — только предупреждение.
69
69
  const similar = await findSimilar(deps.store, input);
70
70
  if (similar.length > 0 && !input.force) {
71
71
  const list = similar.map((s) => `${s.name} (${s.id}) [${s.status}]`).join('; ');
72
- throw new UserFacingError(`Найдены похожие инструменты: ${list}. Подтверди намерение флагом --force`);
72
+ throw new UserFacingError(`Similar tools found: ${list}. Confirm the intent with --force`);
73
73
  }
74
74
  const relDest = join('.wolf', 'tools', `${input.name}${extname(absSrc)}`);
75
75
  const content = await deps.fs.readSmallTextFile(absSrc);
76
76
  if (content === null)
77
- throw new UserFacingError(`Скрипт не найден: ${absSrc}`);
77
+ throw new UserFacingError(`Script not found: ${absSrc}`);
78
78
  await deps.fs.writeFile(join(deps.baseDir, relDest), content);
79
79
  const extra = {
80
80
  name: input.name,
@@ -137,7 +137,7 @@ export async function useTool(deps, input) {
137
137
  }
138
138
  /** Детерминированный контент SKILL.md из объекта tool — повторная генерация даёт тот же текст. */
139
139
  export function toolSkillContent(tool) {
140
- const description = tool.contract_output ?? 'скрипт из памяти Wolf';
140
+ const description = tool.contract_output ?? 'script from Wolf memory';
141
141
  return [
142
142
  `<!-- generated from tool:${tool.id} -->`,
143
143
  '---',
@@ -150,11 +150,11 @@ export function toolSkillContent(tool) {
150
150
  `- Input: ${tool.contract_input ?? '—'}`,
151
151
  `- Output: ${tool.contract_output ?? '—'}`,
152
152
  `- Environment: ${tool.contract_environment ?? '—'}`,
153
- `- Script: \`${tool.script_path}\` (каноничный файл; Wolf его не исполняет)`,
153
+ `- Script: \`${tool.script_path}\` (canonical file; Wolf does not execute it)`,
154
154
  '',
155
- '## Инструкция',
155
+ '## Instruction',
156
156
  '',
157
- `Вызови скрипт и учти вывод. После использования отметь факт: \`wolf tool use ${tool.name}\`.`,
157
+ `Call the script and account for its output. After use, record the fact: \`wolf tool use ${tool.name}\`.`,
158
158
  '',
159
159
  ].join('\n');
160
160
  }
@@ -167,7 +167,7 @@ export async function exposeTool(deps, input) {
167
167
  }
168
168
  export async function deprecateTool(deps, input) {
169
169
  if (!input.reason || input.reason.trim() === '') {
170
- throw new UserFacingError('Причина депрекации обязательна (--reason)');
170
+ throw new UserFacingError('Deprecation reason is required (--reason)');
171
171
  }
172
172
  const tool = await resolveToolRef(deps, input.nameOrId);
173
173
  await transitionMemoryObject(deps, tool.id, 'deprecated', input.actor);
@@ -1 +1 @@
1
- {"version":3,"file":"tool-librarian.js","sourceRoot":"","sources":["../../../src/app/use-cases/tool-librarian.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-librarian.js","sourceRoot":"","sources":["../../../src/app/use-cases/tool-librarian.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@ export async function toolStats(deps, input) {
17
17
  const economy = input.runLogText === null
18
18
  ? {
19
19
  sufficient: false,
20
- reason: 'run-log отсутствует (.wolf/run-log.jsonl не найден)',
20
+ reason: 'run-log missing (.wolf/run-log.jsonl not found)',
21
21
  toolRuns: 0,
22
22
  totalRuns: 0,
23
23
  medianTool: null,
@@ -1 +1 @@
1
- {"version":3,"file":"tool-stats.js","sourceRoot":"","sources":["../../../src/app/use-cases/tool-stats.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAiB,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAe1F,wFAAwF;AACxF,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,IAA4B,EAC5B,KAAoC;IAEpC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACxD,MAAM,KAAK,GAAmB,OAAO;SAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,MAAM,KAAK,GAAG,CAAiF,CAAC;QAChG,OAAO;YACL,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;YAChF,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,WAAW,EAAE,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAC1E,YAAY,EAAE,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI;SACjF,CAAC;IACJ,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAEhD,MAAM,OAAO,GACX,KAAK,CAAC,UAAU,KAAK,IAAI;QACvB,CAAC,CAAC;YACE,UAAU,EAAE,KAAK;YACjB,MAAM,EAAE,qDAAqD;YAC7D,QAAQ,EAAE,CAAC;YACX,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,IAAI;SACjB;QACH,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;IAEpD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"tool-stats.js","sourceRoot":"","sources":["../../../src/app/use-cases/tool-stats.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAiB,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAe1F,wFAAwF;AACxF,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,IAA4B,EAC5B,KAAoC;IAEpC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACxD,MAAM,KAAK,GAAmB,OAAO;SAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,MAAM,KAAK,GAAG,CAAiF,CAAC;QAChG,OAAO;YACL,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;YAChF,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,WAAW,EAAE,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAC1E,YAAY,EAAE,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI;SACjF,CAAC;IACJ,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAEhD,MAAM,OAAO,GACX,KAAK,CAAC,UAAU,KAAK,IAAI;QACvB,CAAC,CAAC;YACE,UAAU,EAAE,KAAK;YACjB,MAAM,EAAE,iDAAiD;YACzD,QAAQ,EAAE,CAAC;YACX,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,IAAI;SACjB;QACH,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;IAEpD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAC5B,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { UserFacingError } from '../../domain/errors.js';
2
- const NEEDS_HUMAN_NOTE = 'текстовый draft: не поддаётся механическому replay, требуется человеческое ревью';
3
- const LEGIT_WARNING = 'легитимные использования тула не логируются — риск блокировки оценивает человек';
2
+ const NEEDS_HUMAN_NOTE = 'text draft: not mechanically replayable, human review required';
3
+ const LEGIT_WARNING = 'legitimate tool uses are not logged — a human assesses the blocking risk';
4
4
  /** Чистая функция реплея: draft + лог → вердикт (детерминированно). */
5
5
  export function replayHoldout(draft, signals) {
6
6
  if (!draft.mechanical || !draft.constraint_tool) {
@@ -20,14 +20,14 @@ export function replayHoldout(draft, signals) {
20
20
  verdict: 'pass',
21
21
  prevented: matches.length,
22
22
  checked: holdout.length,
23
- note: `классы повторений: ${classes.join(', ')}; ${LEGIT_WARNING}`,
23
+ note: `repetition classes: ${classes.join(', ')}; ${LEGIT_WARNING}`,
24
24
  };
25
25
  }
26
26
  return {
27
27
  verdict: 'fail',
28
28
  prevented: 0,
29
29
  checked: holdout.length,
30
- note: `паттерн не повторился на holdout (после создания draft) — данных для активации недостаточно; ${LEGIT_WARNING}`,
30
+ note: `pattern did not repeat on holdout (after draft creation) — not enough data for activation; ${LEGIT_WARNING}`,
31
31
  };
32
32
  }
33
33
  if (matches.length >= 1) {
@@ -35,14 +35,14 @@ export function replayHoldout(draft, signals) {
35
35
  verdict: 'pass',
36
36
  prevented: matches.length,
37
37
  checked: holdout.length,
38
- note: `паттерн повторился на holdout после создания draft (${matches.length} из ${holdout.length})`,
38
+ note: `pattern repeated on holdout after draft creation (${matches.length} of ${holdout.length})`,
39
39
  };
40
40
  }
41
41
  return {
42
42
  verdict: 'fail',
43
43
  prevented: 0,
44
44
  checked: holdout.length,
45
- note: 'паттерн не повторился на holdout (после создания draft) — данных для активации недостаточно',
45
+ note: 'pattern did not repeat on holdout (after draft creation) — not enough data for activation',
46
46
  };
47
47
  }
48
48
  /**
@@ -55,7 +55,7 @@ export async function validateDraft(deps, input) {
55
55
  throw new UserFacingError(`Memory object not found: ${input.draftId}`);
56
56
  const rec = draft;
57
57
  if (rec.pattern_key === undefined) {
58
- throw new UserFacingError(`не draft propose: ${input.draftId}`);
58
+ throw new UserFacingError(`not a propose draft: ${input.draftId}`);
59
59
  }
60
60
  const verdict = replayHoldout({
61
61
  mechanical: rec.mechanical,
@@ -1 +1 @@
1
- {"version":3,"file":"validate-draft.js","sourceRoot":"","sources":["../../../src/app/use-cases/validate-draft.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate-draft.js","sourceRoot":"","sources":["../../../src/app/use-cases/validate-draft.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAUzD,MAAM,gBAAgB,GAAG,gEAAgE,CAAC;AAC1F,MAAM,aAAa,GAAG,0EAA0E,CAAC;AAEjG,uEAAuE;AACvE,MAAM,UAAU,aAAa,CAC3B,KAMC,EACD,OAAsB;IAEtB,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;QAChD,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;IAC7F,CAAC;IACD,qGAAqG;IACrG,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,YAAY,IAAI,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;IAC3F,uEAAuE;IACvE,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,KAAK,UAAU,CAAC;IAC/C,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACnC,QAAQ;QACN,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,eAAe;QACvC,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,eAAe,IAAI,CAAC,CAAC,cAAc,KAAK,KAAK,CAAC,gBAAgB,CACzF,CAAC;IACF,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC;YACtF,OAAO;gBACL,OAAO,EAAE,MAAM;gBACf,SAAS,EAAE,OAAO,CAAC,MAAM;gBACzB,OAAO,EAAE,OAAO,CAAC,MAAM;gBACvB,IAAI,EAAE,uBAAuB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,aAAa,EAAE;aACpE,CAAC;QACJ,CAAC;QACD,OAAO;YACL,OAAO,EAAE,MAAM;YACf,SAAS,EAAE,CAAC;YACZ,OAAO,EAAE,OAAO,CAAC,MAAM;YACvB,IAAI,EAAE,8FAA8F,aAAa,EAAE;SACpH,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO;YACL,OAAO,EAAE,MAAM;YACf,SAAS,EAAE,OAAO,CAAC,MAAM;YACzB,OAAO,EAAE,OAAO,CAAC,MAAM;YACvB,IAAI,EAAE,qDAAqD,OAAO,CAAC,MAAM,OAAO,OAAO,CAAC,MAAM,GAAG;SAClG,CAAC;IACJ,CAAC;IACD,OAAO;QACL,OAAO,EAAE,MAAM;QACf,SAAS,EAAE,CAAC;QACZ,OAAO,EAAE,OAAO,CAAC,MAAM;QACvB,IAAI,EAAE,2FAA2F;KAClG,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAA0C,EAC1C,KAAkD;IAElD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClD,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,eAAe,CAAC,4BAA4B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACnF,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,IAAI,GAAG,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,IAAI,eAAe,CAAC,wBAAwB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,MAAM,OAAO,GAAG,aAAa,CAC3B;QACE,UAAU,EAAE,GAAG,CAAC,UAAiC;QACjD,eAAe,EAAE,GAAG,CAAC,eAAqC;QAC1D,gBAAgB,EAAE,GAAG,CAAC,gBAAsC;QAC5D,QAAQ,EAAE,GAAG,CAAC,QAA8B;QAC5C,UAAU,EAAE,KAAK,CAAC,UAAU;KAC7B,EACD,KAAK,CAAC,OAAO,CACd,CAAC;IACF,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE;QACrC,eAAe,EAAE,OAAO,CAAC,OAAO;QAChC,iBAAiB,EAAE,OAAO,CAAC,SAAS;QACpC,eAAe,EAAE,OAAO,CAAC,OAAO;QAChC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;KAClB,CAAC,CAAC;IAC5B,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -39,7 +39,7 @@ export function runStopGate(lookupInjections, scenarios) {
39
39
  return {
40
40
  id: sc.id,
41
41
  passed: false,
42
- reason: `действие до wolf call (premature action): знание по теме «${sc.topic}» не получено`,
42
+ reason: `action before wolf call (premature action): knowledge on topic “${sc.topic}” was not fetched`,
43
43
  prematureAction: true,
44
44
  };
45
45
  }
@@ -48,13 +48,13 @@ export function runStopGate(lookupInjections, scenarios) {
48
48
  ? {
49
49
  id: sc.id,
50
50
  passed: true,
51
- reason: `знание доставлено: агент воздержался от «${sc.forbidden_tool}»`,
51
+ reason: `knowledge delivered: the agent abstained from “${sc.forbidden_tool}”`,
52
52
  prematureAction: false,
53
53
  }
54
54
  : {
55
55
  id: sc.id,
56
56
  passed: false,
57
- reason: `delivery не сработал: использован «${sc.forbidden_tool}» без доставленного знания по теме «${sc.topic}»`,
57
+ reason: `delivery failed: “${sc.forbidden_tool}” was used without delivered knowledge on topic “${sc.topic}”`,
58
58
  prematureAction: false,
59
59
  };
60
60
  }
@@ -62,16 +62,16 @@ export function runStopGate(lookupInjections, scenarios) {
62
62
  return {
63
63
  id: sc.id,
64
64
  passed: false,
65
- reason: `отказ без адресного запрета (false positive): зря воздержался по теме «${sc.topic}»`,
65
+ reason: `refusal without a targeted ban (false positive): abstained for nothing on topic “${sc.topic}”`,
66
66
  prematureAction: false,
67
67
  };
68
68
  }
69
69
  return sc.expect_action === true
70
- ? { id: sc.id, passed: true, reason: 'запретов не доставлено — действие выполнено', prematureAction: false }
70
+ ? { id: sc.id, passed: true, reason: 'no bans delivered — action taken', prematureAction: false }
71
71
  : {
72
72
  id: sc.id,
73
73
  passed: false,
74
- reason: 'сценарий без forbidden_tool и без expect_action — ожидание не определено',
74
+ reason: 'scenario without forbidden_tool and without expect_action — expectation is undefined',
75
75
  prematureAction: false,
76
76
  };
77
77
  });
@@ -1 +1 @@
1
- {"version":3,"file":"stop-gate.js","sourceRoot":"","sources":["../../../src/domain/gates/stop-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AA6B1F,sFAAsF;AACtF,MAAM,cAAc,GAAG,qDAAqD,CAAC;AAE7E;;;;GAIG;AACH,MAAM,UAAU,WAAW,CACzB,gBAA6C,EAC7C,SAA6B;IAE7B,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAA0B,EAAE;QAC3D,qEAAqE;QACrE,IAAI,MAAgB,CAAC;QACrB,IAAI,eAAe,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,GAAG,gBAAgB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,GAAG,EAAE,CAAC;YACZ,eAAe,GAAG,IAAI,CAAC;QACzB,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,EAAE,CAAC,cAAc,KAAK,SAAS,IAAI,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC;QAC1F,MAAM,SAAS,GAAG,QAAQ,IAAI,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE7D,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO;gBACL,EAAE,EAAE,EAAE,CAAC,EAAE;gBACT,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,6DAA6D,EAAE,CAAC,KAAK,eAAe;gBAC5F,eAAe,EAAE,IAAI;aACtB,CAAC;QACJ,CAAC;QACD,IAAI,EAAE,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACpC,OAAO,QAAQ;gBACb,CAAC,CAAC;oBACE,EAAE,EAAE,EAAE,CAAC,EAAE;oBACT,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE,4CAA4C,EAAE,CAAC,cAAc,GAAG;oBACxE,eAAe,EAAE,KAAK;iBACvB;gBACH,CAAC,CAAC;oBACE,EAAE,EAAE,EAAE,CAAC,EAAE;oBACT,MAAM,EAAE,KAAK;oBACb,MAAM,EAAE,sCAAsC,EAAE,CAAC,cAAc,uCAAuC,EAAE,CAAC,KAAK,GAAG;oBACjH,eAAe,EAAE,KAAK;iBACvB,CAAC;QACR,CAAC;QACD,IAAI,SAAS,EAAE,CAAC;YACd,OAAO;gBACL,EAAE,EAAE,EAAE,CAAC,EAAE;gBACT,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,0EAA0E,EAAE,CAAC,KAAK,GAAG;gBAC7F,eAAe,EAAE,KAAK;aACvB,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,CAAC,aAAa,KAAK,IAAI;YAC9B,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,6CAA6C,EAAE,eAAe,EAAE,KAAK,EAAE;YAC5G,CAAC,CAAC;gBACE,EAAE,EAAE,EAAE,CAAC,EAAE;gBACT,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,0EAA0E;gBAClF,eAAe,EAAE,KAAK;aACvB,CAAC;IACR,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IAC7B,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;IACvF,MAAM,gBAAgB,GAAG,KAAK,GAAG,aAAa,CAAC;IAC/C,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;IAC3D,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,cAAc,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;IAClH,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,cAAc,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;IAE/G,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QACtC,OAAO;QACP,OAAO,EAAE;YACP,mBAAmB,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACxD,mBAAmB,EAAE,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;YACpF,oBAAoB,EAAE,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;SAC9E;KACF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAA8B;IACnE,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI,IAAI,OAAO,KAAK,CAAC,eAAe,KAAK,QAAQ,IAAI,KAAK,CAAC,eAAe,KAAK,EAAE,EAAE,CAAC;QAC3G,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO;QACL,EAAE,EAAE,SAAS,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,SAAS,CAAC,EAAE;QAC5C,QAAQ,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE;QACrE,KAAK,EAAE,KAAK,CAAC,eAAe;QAC5B,cAAc,EAAE,KAAK,CAAC,eAAe;KACtC,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,SAAS;IACvB,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC/B,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC;YACH,uBAAuB,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC7C,CAAC;QAAC,MAAM,CAAC;YACP,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"stop-gate.js","sourceRoot":"","sources":["../../../src/domain/gates/stop-gate.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mechanical-advice.d.ts","sourceRoot":"","sources":["../../src/domain/mechanical-advice.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,kFAAkF;AAClF,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAoB9D,CAAC;AAEF,gEAAgE;AAChE,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEvE"}
1
+ {"version":3,"file":"mechanical-advice.d.ts","sourceRoot":"","sources":["../../src/domain/mechanical-advice.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,kFAAkF;AAClF,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAqB9D,CAAC;AAEF,gEAAgE;AAChE,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEvE"}
@@ -7,25 +7,25 @@
7
7
  */
8
8
  /** id класса ошибки (DEFAULT_ERROR_CLASS_RULES + 'uncategorized') → императив. */
9
9
  export const MECHANICAL_ADVICE = {
10
- file_not_found: 'проверяй существование пути перед доступом (existsSync/Glob), не угадывай путь',
11
- tool_not_found: 'перед вызовом тула проверяй его наличие (which <tool> / <tool> --version)',
12
- dependency_missing: 'проверяй наличие зависимостей до запуска (npm ls / проверка require) и ставь их явно',
13
- syntax_error: 'прогоняй компилятор/lint до выполнения и чини синтаксис по первой ошибке',
14
- context_overflow: 'не читай файлы целиком без лимита — режь чтение (offset/limit) и сжимай контекст',
15
- rate_limit: 'обёртывай внешние вызовы ретраем с backoff при 429/quota',
16
- timeout: 'задавай явный timeout и обрабатывай его ретраем с backoff, не жди бесконечно',
17
- auth: 'проверяй доступность кредов/токена до вызова защищённого API',
18
- network: 'обрабатывай сетевые сбои ретраем с backoff и проверяй достижимость эндпоинта до работы',
19
- invalid_input: 'валидируй вход схемой до использования и передавай аргументы в точном формате команды',
20
- conflict: 'проверяй существование целевого объекта перед созданием и делай операцию идемпотентной',
21
- busy: 'не трогай заблокированный ресурс — дождись освобождения блокировки или обойди её',
22
- interrupted: 'обрабатывай SIGINT/SIGTERM корректно и делай длительные операции прерываемыми',
23
- disk_full: 'проверяй свободное место и чисти временные файлы перед крупными записями',
24
- broken_pipe: 'проверяй живость потребителя вывода и обрабатывай EPIPE без падения процесса',
25
- oom: 'не загружай большие данные целиком в память — стрими и обрабатывай частями',
26
- llm_error: 'обёртывай LLM-вызовы ретраем при 5xx/overloaded',
27
- unsupported: 'не используй неподдерживаемую операцию — найди поддерживаемый аналог в документации',
28
- uncategorized: 'извлеки точную причину из сообщения ошибки и заведи класс в error_class_taxonomy проекта',
10
+ file_not_found: 'check the path exists before accessing it (existsSync/Glob), do not guess the path',
11
+ tool_not_found: 'verify the tool is available before calling it (which <tool> / <tool> --version)',
12
+ dependency_missing: 'check dependencies before running (npm ls / require check) and install them explicitly',
13
+ syntax_error: 'run the compiler/linter before executing and fix the syntax from the first error',
14
+ context_overflow: 'do not read files whole without a limit — slice reads (offset/limit) and compact the context',
15
+ rate_limit: 'wrap external calls with retry and backoff on 429/quota',
16
+ timeout: 'set an explicit timeout and handle it with retry and backoff, do not wait forever',
17
+ auth: 'check credentials/token availability before calling a protected API',
18
+ network: 'handle network failures with retry and backoff and verify endpoint reachability before work',
19
+ invalid_input: 'validate input with a schema before use and pass arguments in the command’s exact format',
20
+ conflict: 'check the target object exists before creating and make the operation idempotent',
21
+ busy: 'do not touch a locked resource — wait for the lock to release or work around it',
22
+ interrupted: 'handle SIGINT/SIGTERM correctly and make long operations interruptible',
23
+ disk_full: 'check free space and clean temporary files before large writes',
24
+ broken_pipe: 'check the output consumer is alive and handle EPIPE without crashing the process',
25
+ oom: 'do not load large data into memory whole — stream and process in chunks',
26
+ llm_error: 'wrap LLM calls with retry on 5xx/overloaded',
27
+ unsupported: 'do not use an unsupported operation — find a supported equivalent in the docs',
28
+ uncategorized: 'extract the exact cause from the error message and register a class in the project’s error_class_taxonomy',
29
29
  };
30
30
  /** Совет по error_class_id; null — класс неизвестен таблице. */
31
31
  export function mechanicalAdviceFor(errorClassId) {
@@ -1 +1 @@
1
- {"version":3,"file":"mechanical-advice.js","sourceRoot":"","sources":["../../src/domain/mechanical-advice.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,kFAAkF;AAClF,MAAM,CAAC,MAAM,iBAAiB,GAAqC;IACjE,cAAc,EAAE,gFAAgF;IAChG,cAAc,EAAE,2EAA2E;IAC3F,kBAAkB,EAAE,sFAAsF;IAC1G,YAAY,EAAE,0EAA0E;IACxF,gBAAgB,EAAE,kFAAkF;IACpG,UAAU,EAAE,0DAA0D;IACtE,OAAO,EAAE,8EAA8E;IACvF,IAAI,EAAE,8DAA8D;IACpE,OAAO,EAAE,wFAAwF;IACjG,aAAa,EAAE,uFAAuF;IACtG,QAAQ,EAAE,wFAAwF;IAClG,IAAI,EAAE,kFAAkF;IACxF,WAAW,EAAE,+EAA+E;IAC5F,SAAS,EAAE,0EAA0E;IACrF,WAAW,EAAE,8EAA8E;IAC3F,GAAG,EAAE,4EAA4E;IACjF,SAAS,EAAE,iDAAiD;IAC5D,WAAW,EAAE,qFAAqF;IAClG,aAAa,EAAE,0FAA0F;CAC1G,CAAC;AAEF,gEAAgE;AAChE,MAAM,UAAU,mBAAmB,CAAC,YAAoB;IACtD,OAAO,iBAAiB,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC;AACjD,CAAC"}
1
+ {"version":3,"file":"mechanical-advice.js","sourceRoot":"","sources":["../../src/domain/mechanical-advice.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,kFAAkF;AAClF,MAAM,CAAC,MAAM,iBAAiB,GAAqC;IACjE,cAAc,EAAE,oFAAoF;IACpG,cAAc,EAAE,kFAAkF;IAClG,kBAAkB,EAAE,wFAAwF;IAC5G,YAAY,EAAE,kFAAkF;IAChG,gBAAgB,EAAE,8FAA8F;IAChH,UAAU,EAAE,yDAAyD;IACrE,OAAO,EAAE,mFAAmF;IAC5F,IAAI,EAAE,qEAAqE;IAC3E,OAAO,EAAE,6FAA6F;IACtG,aAAa,EAAE,0FAA0F;IACzG,QAAQ,EAAE,kFAAkF;IAC5F,IAAI,EAAE,iFAAiF;IACvF,WAAW,EAAE,wEAAwE;IACrF,SAAS,EAAE,gEAAgE;IAC3E,WAAW,EAAE,kFAAkF;IAC/F,GAAG,EAAE,yEAAyE;IAC9E,SAAS,EAAE,6CAA6C;IACxD,WAAW,EAAE,+EAA+E;IAC5F,aAAa,EACX,2GAA2G;CAC9G,CAAC;AAEF,gEAAgE;AAChE,MAAM,UAAU,mBAAmB,CAAC,YAAoB;IACtD,OAAO,iBAAiB,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC;AACjD,CAAC"}
@@ -17,16 +17,16 @@
17
17
  */
18
18
  import { UserFacingError } from '../errors.js';
19
19
  export const READ_ONLY_ZONES = [
20
- { path: '.wolf/events.jsonl', reason: 'аудит-лог контура (спека §5: read-only зоны)' },
21
- { path: '.wolf/relations.jsonl', reason: 'граф связей контура (спека §5)' },
22
- { path: '.wolf/memory/events.jsonl', reason: 'аудит-лог контура, фактический путь layout (спека §5)' },
23
- { path: '.wolf/memory/relations.jsonl', reason: 'граф связей контура, фактический путь layout (спека §5)' },
24
- { path: '.wolf/metrics/session-metrics.jsonl', reason: 'сигнальный лог контура (спека §5)' },
25
- { path: '.wolf/metrics/patterns.jsonl', reason: 'журнал паттернов контура (спека §5)' },
26
- { path: 'src/domain/gates/', reason: 'код гейтов — контур не меняет свои гейты (спека §5)' },
27
- { path: 'src/domain/policies/', reason: 'код валидаторов/политик (спека §5)' },
28
- { path: '.opencode/', reason: 'скелет/рамки платформы (спека §13)' },
29
- { path: 'AGENTS.md', reason: 'рамка AGENTS.md (спека §13)' },
20
+ { path: '.wolf/events.jsonl', reason: 'loop audit log (spec §5: read-only zones)' },
21
+ { path: '.wolf/relations.jsonl', reason: 'loop relation graph (spec §5)' },
22
+ { path: '.wolf/memory/events.jsonl', reason: 'loop audit log, actual layout path (spec §5)' },
23
+ { path: '.wolf/memory/relations.jsonl', reason: 'loop relation graph, actual layout path (spec §5)' },
24
+ { path: '.wolf/metrics/session-metrics.jsonl', reason: 'loop signal log (spec §5)' },
25
+ { path: '.wolf/metrics/patterns.jsonl', reason: 'loop pattern journal (spec §5)' },
26
+ { path: 'src/domain/gates/', reason: 'gate code — the loop does not change its own gates (spec §5)' },
27
+ { path: 'src/domain/policies/', reason: 'validator/policy code (spec §5)' },
28
+ { path: '.opencode/', reason: 'platform skeleton/frames (spec §13)' },
29
+ { path: 'AGENTS.md', reason: 'AGENTS.md frame (spec §13)' },
30
30
  ];
31
31
  /** Сигнальные логи: append разрешён (наблюдение, не адаптация — §3, §9). */
32
32
  const SIGNAL_APPEND_ALLOWED = new Set([
@@ -64,9 +64,9 @@ export function assertLearnWriteAllowed(relPath, op) {
64
64
  if (op === 'append-signal' && SIGNAL_APPEND_ALLOWED.has(normalized))
65
65
  return;
66
66
  if (op === 'append-signal') {
67
- throw new UserFacingError(`read-only зона контура: ${relPath} (${zone.reason}); append-сигнал разрешён только ` +
68
- `сигнальным логам (.wolf/metrics/session-metrics.jsonl, .wolf/metrics/patterns.jsonl)`);
67
+ throw new UserFacingError(`loop read-only zone: ${relPath} (${zone.reason}); append-signal is allowed only ` +
68
+ `for the signal logs (.wolf/metrics/session-metrics.jsonl, .wolf/metrics/patterns.jsonl)`);
69
69
  }
70
- throw new UserFacingError(`read-only зона контура: ${relPath} (${zone.reason})`);
70
+ throw new UserFacingError(`loop read-only zone: ${relPath} (${zone.reason})`);
71
71
  }
72
72
  //# sourceMappingURL=read-only-zones.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"read-only-zones.js","sourceRoot":"","sources":["../../../src/domain/policies/read-only-zones.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAS/C,MAAM,CAAC,MAAM,eAAe,GAA4B;IACtD,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,8CAA8C,EAAE;IACtF,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,gCAAgC,EAAE;IAC3E,EAAE,IAAI,EAAE,2BAA2B,EAAE,MAAM,EAAE,uDAAuD,EAAE;IACtG,EAAE,IAAI,EAAE,8BAA8B,EAAE,MAAM,EAAE,yDAAyD,EAAE;IAC3G,EAAE,IAAI,EAAE,qCAAqC,EAAE,MAAM,EAAE,mCAAmC,EAAE;IAC5F,EAAE,IAAI,EAAE,8BAA8B,EAAE,MAAM,EAAE,qCAAqC,EAAE;IACvF,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,qDAAqD,EAAE;IAC5F,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,oCAAoC,EAAE;IAC9E,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,oCAAoC,EAAE;IACpE,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,6BAA6B,EAAE;CAC7D,CAAC;AAEF,4EAA4E;AAC5E,MAAM,qBAAqB,GAAwB,IAAI,GAAG,CAAC;IACzD,qCAAqC;IACrC,8BAA8B;CAC/B,CAAC,CAAC;AAEH,qFAAqF;AACrF,SAAS,gBAAgB,CAAC,OAAe;IACvC,OAAO,OAAO;SACX,KAAK,CAAC,QAAQ,CAAC;SACf,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,GAAG,CAAC;SAC1C,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,SAAS,SAAS,CAAC,UAAkB;IACnC,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,IAAI,UAAU,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC;QAC7F,CAAC;aAAM,IAAI,UAAU,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAe,EAAE,EAAoD;IAC3G,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IACnC,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO;IAC1B,IAAI,EAAE,KAAK,eAAe,IAAI,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC;QAAE,OAAO;IAC5E,IAAI,EAAE,KAAK,eAAe,EAAE,CAAC;QAC3B,MAAM,IAAI,eAAe,CACvB,2BAA2B,OAAO,KAAK,IAAI,CAAC,MAAM,mCAAmC;YACnF,sFAAsF,CACzF,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,eAAe,CAAC,2BAA2B,OAAO,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AACnF,CAAC"}
1
+ {"version":3,"file":"read-only-zones.js","sourceRoot":"","sources":["../../../src/domain/policies/read-only-zones.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAS/C,MAAM,CAAC,MAAM,eAAe,GAA4B;IACtD,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,2CAA2C,EAAE;IACnF,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,+BAA+B,EAAE;IAC1E,EAAE,IAAI,EAAE,2BAA2B,EAAE,MAAM,EAAE,8CAA8C,EAAE;IAC7F,EAAE,IAAI,EAAE,8BAA8B,EAAE,MAAM,EAAE,mDAAmD,EAAE;IACrG,EAAE,IAAI,EAAE,qCAAqC,EAAE,MAAM,EAAE,2BAA2B,EAAE;IACpF,EAAE,IAAI,EAAE,8BAA8B,EAAE,MAAM,EAAE,gCAAgC,EAAE;IAClF,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,8DAA8D,EAAE;IACrG,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,iCAAiC,EAAE;IAC3E,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,qCAAqC,EAAE;IACrE,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,4BAA4B,EAAE;CAC5D,CAAC;AAEF,4EAA4E;AAC5E,MAAM,qBAAqB,GAAwB,IAAI,GAAG,CAAC;IACzD,qCAAqC;IACrC,8BAA8B;CAC/B,CAAC,CAAC;AAEH,qFAAqF;AACrF,SAAS,gBAAgB,CAAC,OAAe;IACvC,OAAO,OAAO;SACX,KAAK,CAAC,QAAQ,CAAC;SACf,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,GAAG,CAAC;SAC1C,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,SAAS,SAAS,CAAC,UAAkB;IACnC,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,IAAI,UAAU,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC;QAC7F,CAAC;aAAM,IAAI,UAAU,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAe,EAAE,EAAoD;IAC3G,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IACnC,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO;IAC1B,IAAI,EAAE,KAAK,eAAe,IAAI,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC;QAAE,OAAO;IAC5E,IAAI,EAAE,KAAK,eAAe,EAAE,CAAC;QAC3B,MAAM,IAAI,eAAe,CACvB,wBAAwB,OAAO,KAAK,IAAI,CAAC,MAAM,mCAAmC;YAChF,yFAAyF,CAC5F,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,eAAe,CAAC,wBAAwB,OAAO,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AAChF,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * M3 (D4/D9): $-конверсия токенов прогона по таблице прайсов из config.yaml.
3
+ * Прайсы — $ за мегатокен ($/Mtok). null при отсутствии прайса/модели/токенов —
4
+ * числа не выдумываем (прецедент EconomyResult.sufficient).
5
+ */
6
+ export interface ModelPricing {
7
+ input: number;
8
+ output: number;
9
+ cache_read: number;
10
+ }
11
+ /** modelID → прайс ($/Mtok); ключи — полные имена моделей (напр. 'zai-coding-plan/glm-5.3'). */
12
+ export type PricingTable = Record<string, ModelPricing>;
13
+ export interface RawTokens {
14
+ input: number;
15
+ output: number;
16
+ cache_read: number;
17
+ }
18
+ /** Стоимость прогона в $; null при отсутствии прайса/модели/токенов — числа не выдумываем (D9). */
19
+ export declare function runCostUsd(tokens: RawTokens | null | undefined, pricing: PricingTable | undefined, model: string | null): number | null;
20
+ //# sourceMappingURL=pricing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pricing.d.ts","sourceRoot":"","sources":["../../src/domain/pricing.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,gGAAgG;AAChG,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAExD,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,mGAAmG;AACnG,wBAAgB,UAAU,CACxB,MAAM,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,EACpC,OAAO,EAAE,YAAY,GAAG,SAAS,EACjC,KAAK,EAAE,MAAM,GAAG,IAAI,GACnB,MAAM,GAAG,IAAI,CAMf"}
@@ -0,0 +1,12 @@
1
+ /** Стоимость прогона в $; null при отсутствии прайса/модели/токенов — числа не выдумываем (D9). */
2
+ export function runCostUsd(tokens, pricing, model) {
3
+ if (tokens === null || tokens === undefined)
4
+ return null;
5
+ if (model === null || pricing === undefined)
6
+ return null;
7
+ const p = pricing[model];
8
+ if (p === undefined)
9
+ return null;
10
+ return (tokens.input * p.input + tokens.output * p.output + tokens.cache_read * p.cache_read) / 1e6;
11
+ }
12
+ //# sourceMappingURL=pricing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pricing.js","sourceRoot":"","sources":["../../src/domain/pricing.ts"],"names":[],"mappings":"AAoBA,mGAAmG;AACnG,MAAM,UAAU,UAAU,CACxB,MAAoC,EACpC,OAAiC,EACjC,KAAoB;IAEpB,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACzD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACzD,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IACzB,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACjC,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC;AACtG,CAAC"}
@@ -21,29 +21,29 @@ export function routeReviewDepth(traits) {
21
21
  let review = false;
22
22
  if (traits.touchesReadOnlyZone) {
23
23
  review = true;
24
- reasons.push('read-only зона (гейты/логи/скелет): изменения только через человека (§5, §15)');
24
+ reasons.push('read-only zone (gates/logs/skeleton): changes only through a human (§5, §15)');
25
25
  }
26
26
  if (traits.security) {
27
27
  review = true;
28
- reasons.push('безопасность: доверенные границы требуют council-ревью');
28
+ reasons.push('security: trust boundaries require council review');
29
29
  }
30
30
  if (traits.blastRadius !== undefined && traits.blastRadius >= BLAST_RADIUS_REVIEW) {
31
31
  review = true;
32
- reasons.push(`blast radius ${traits.blastRadius} ≥ ${BLAST_RADIUS_REVIEW} — высокий радиус (§16)`);
32
+ reasons.push(`blast radius ${traits.blastRadius} ≥ ${BLAST_RADIUS_REVIEW} — high radius (§16)`);
33
33
  }
34
34
  if ((traits.files ?? 0) > REVIEW_FILES_THRESHOLD || (traits.lines ?? 0) > REVIEW_LINES_THRESHOLD) {
35
35
  review = true;
36
- reasons.push(`объём: ${traits.files ?? 0} файлов / ${traits.lines ?? 0} строк — больше порога ${REVIEW_FILES_THRESHOLD}/${REVIEW_LINES_THRESHOLD}`);
36
+ reasons.push(`volume: ${traits.files ?? 0} files / ${traits.lines ?? 0} lines — above the ${REVIEW_FILES_THRESHOLD}/${REVIEW_LINES_THRESHOLD} threshold`);
37
37
  }
38
38
  if (traits.taskType === 'experiment' && traits.hasDeterministicMetric === false) {
39
39
  review = true;
40
- reasons.push('эксперимент без детерминированной метрики — GEPA-скоринг неприменим, только гейт человека (§3)');
40
+ reasons.push('experiment without a deterministic metric — GEPA scoring not applicable, human gate only (§3)');
41
41
  }
42
42
  if (!review && traits.blastRadius !== undefined && traits.blastRadius >= BLAST_RADIUS_ATTENTION) {
43
- reasons.push(`blast radius ${traits.blastRadius} в зоне внимания (≥${BLAST_RADIUS_ATTENTION}) — ревьюеру проверить радиус`);
43
+ reasons.push(`blast radius ${traits.blastRadius} in the attention zone (≥${BLAST_RADIUS_ATTENTION}) — the reviewer checks the radius`);
44
44
  }
45
45
  if (reasons.length === 0)
46
- reasons.push('признаков риска нет — плоская схема достаточна');
46
+ reasons.push('no risk traits — a flat scheme is sufficient');
47
47
  return { depth: review ? 'review-council' : 'flat', reasons, decisionBy: 'human' };
48
48
  }
49
49
  //# sourceMappingURL=review-depth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"review-depth.js","sourceRoot":"","sources":["../../src/domain/review-depth.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA0BH,+DAA+D;AAC/D,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AACvC,6EAA6E;AAC7E,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAC1C;;2EAE2E;AAC3E,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACxC,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAE1C,MAAM,UAAU,gBAAgB,CAAC,MAAkB;IACjD,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,MAAM,GAAG,KAAK,CAAC;IAEnB,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAC;QAC/B,MAAM,GAAG,IAAI,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,+EAA+E,CAAC,CAAC;IAChG,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,MAAM,GAAG,IAAI,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,IAAI,mBAAmB,EAAE,CAAC;QAClF,MAAM,GAAG,IAAI,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,WAAW,MAAM,mBAAmB,yBAAyB,CAAC,CAAC;IACrG,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,sBAAsB,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,sBAAsB,EAAE,CAAC;QACjG,MAAM,GAAG,IAAI,CAAC;QACd,OAAO,CAAC,IAAI,CACV,UAAU,MAAM,CAAC,KAAK,IAAI,CAAC,aAAa,MAAM,CAAC,KAAK,IAAI,CAAC,0BAA0B,sBAAsB,IAAI,sBAAsB,EAAE,CACtI,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,KAAK,YAAY,IAAI,MAAM,CAAC,sBAAsB,KAAK,KAAK,EAAE,CAAC;QAChF,MAAM,GAAG,IAAI,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,gGAAgG,CAAC,CAAC;IACjH,CAAC;IAED,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,IAAI,sBAAsB,EAAE,CAAC;QAChG,OAAO,CAAC,IAAI,CACV,gBAAgB,MAAM,CAAC,WAAW,sBAAsB,sBAAsB,+BAA+B,CAC9G,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;IAEzF,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AACrF,CAAC"}
1
+ {"version":3,"file":"review-depth.js","sourceRoot":"","sources":["../../src/domain/review-depth.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA0BH,+DAA+D;AAC/D,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AACvC,6EAA6E;AAC7E,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAC1C;;2EAE2E;AAC3E,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACxC,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAE1C,MAAM,UAAU,gBAAgB,CAAC,MAAkB;IACjD,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,MAAM,GAAG,KAAK,CAAC;IAEnB,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAC;QAC/B,MAAM,GAAG,IAAI,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC;IAC/F,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,MAAM,GAAG,IAAI,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,IAAI,mBAAmB,EAAE,CAAC;QAClF,MAAM,GAAG,IAAI,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,WAAW,MAAM,mBAAmB,sBAAsB,CAAC,CAAC;IAClG,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,sBAAsB,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,sBAAsB,EAAE,CAAC;QACjG,MAAM,GAAG,IAAI,CAAC;QACd,OAAO,CAAC,IAAI,CACV,WAAW,MAAM,CAAC,KAAK,IAAI,CAAC,YAAY,MAAM,CAAC,KAAK,IAAI,CAAC,sBAAsB,sBAAsB,IAAI,sBAAsB,YAAY,CAC5I,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,KAAK,YAAY,IAAI,MAAM,CAAC,sBAAsB,KAAK,KAAK,EAAE,CAAC;QAChF,MAAM,GAAG,IAAI,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,+FAA+F,CAAC,CAAC;IAChH,CAAC;IAED,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,IAAI,sBAAsB,EAAE,CAAC;QAChG,OAAO,CAAC,IAAI,CACV,gBAAgB,MAAM,CAAC,WAAW,4BAA4B,sBAAsB,oCAAoC,CACzH,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IAEvF,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AACrF,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { MemoryType, MemoryTypeDeclaration } from './memory-types.js';
2
+ import type { PricingTable } from './pricing.js';
2
3
  export interface WolfConfig {
3
4
  artifact_sources: string[];
4
5
  /** Маркер версии схемы проекта (спека §3, уровень 2); отсутствует = легаси. */
@@ -22,6 +23,15 @@ export interface WolfConfig {
22
23
  silentOk?: number;
23
24
  };
24
25
  };
26
+ /** M3: $-прайсы ($/Mtok) из config.yaml; без прайса $-поля скрыты (D9). */
27
+ pricing?: PricingTable;
28
+ /** M3: пороги lifecycle-классификации D7 (analytics.thresholds из config.yaml). */
29
+ analytics?: {
30
+ thresholds?: {
31
+ newDays?: number;
32
+ workhorseUses?: number;
33
+ };
34
+ };
25
35
  }
26
36
  export declare class ProjectTypeConflictError extends Error {
27
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"taxonomy.d.ts","sourceRoot":"","sources":["../../src/domain/taxonomy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,UAAU,EAAE,qBAAqB,EAAgB,MAAM,mBAAmB,CAAC;AAGnG,MAAM,WAAW,UAAU;IACzB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,+EAA+E;IAC/E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,qBAAqB,EAAE,CAAC;IACtC,uFAAuF;IACvF,YAAY,EAAE,OAAO,CAAC;IACtB,0FAA0F;IAC1F,kBAAkB,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE,CAAC;IACvD;oFACgF;IAChF,QAAQ,CAAC,EAAE;QACT,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAClC,uBAAuB,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KACvF,CAAC;CACH;AAED,qBAAa,wBAAyB,SAAQ,KAAK;CAAG;AAEtD,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,GAAG;IACxD,KAAK,EAAE,GAAG,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC;CAC/C,CAqBA;AAED,uFAAuF;AACvF,wBAAgB,cAAc,CAAC,IAAI,EAAE,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAMpF;AAED,iEAAiE;AACjE,wBAAgB,uBAAuB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAajE"}
1
+ {"version":3,"file":"taxonomy.d.ts","sourceRoot":"","sources":["../../src/domain/taxonomy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,UAAU,EAAE,qBAAqB,EAAgB,MAAM,mBAAmB,CAAC;AAEnG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,WAAW,UAAU;IACzB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,+EAA+E;IAC/E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,qBAAqB,EAAE,CAAC;IACtC,uFAAuF;IACvF,YAAY,EAAE,OAAO,CAAC;IACtB,0FAA0F;IAC1F,kBAAkB,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE,CAAC;IACvD;oFACgF;IAChF,QAAQ,CAAC,EAAE;QACT,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAClC,uBAAuB,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KACvF,CAAC;IACF,2EAA2E;IAC3E,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,mFAAmF;IACnF,SAAS,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,aAAa,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;CAC3E;AAED,qBAAa,wBAAyB,SAAQ,KAAK;CAAG;AAEtD,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,GAAG;IACxD,KAAK,EAAE,GAAG,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC;CAC/C,CAqBA;AAED,uFAAuF;AACvF,wBAAgB,cAAc,CAAC,IAAI,EAAE,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAMpF;AAED,iEAAiE;AACjE,wBAAgB,uBAAuB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAajE"}
@@ -1 +1 @@
1
- {"version":3,"file":"taxonomy.js","sourceRoot":"","sources":["../../src/domain/taxonomy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAmD,MAAM,mBAAmB,CAAC;AACnG,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAoBtD,MAAM,OAAO,wBAAyB,SAAQ,KAAK;CAAG;AAEtD,MAAM,UAAU,aAAa,CAAC,MAAyB;IAGrD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAqC,CAAC;IAC3D,KAAK,MAAM,CAAC,IAAI,aAAa;QAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACpD,IAAI,MAAM,EAAE,CAAC;QACX,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACpC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtB,MAAM,IAAI,wBAAwB,CAChC,iBAAiB,CAAC,CAAC,IAAI,8DAA8D,CACtF,CAAC;YACJ,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;gBAC5B,IAAI,CAAC,CAAC,CAAC,IAAI,mBAAmB,CAAC,EAAE,CAAC;oBAChC,MAAM,IAAI,wBAAwB,CAChC,iBAAiB,CAAC,CAAC,IAAI,0BAA0B,CAAC,aAAa,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC7G,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,cAAc,CAAC,IAA2B;IACxD,MAAM,GAAG,GAA6B,EAAE,CAAC;IACzC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QAClC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAkB,CAAC,CAAC,CAAC;IAC5G,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,uBAAuB;IACrC,MAAM,KAAK,GAA4B,EAAE,CAAC;IAC1C,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;QAC9B,MAAM,KAAK,GAA4B;YACrC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC;YAC3B,aAAa,EAAE,CAAC,CAAC,YAAY;YAC7B,aAAa,EAAE,CAAC,CAAC,YAAY;SAC9B,CAAC;QACF,IAAI,CAAC,CAAC,MAAM;YAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QACtC,IAAI,CAAC,CAAC,UAAU;YAAE,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;QAC1C,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IACxB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"taxonomy.js","sourceRoot":"","sources":["../../src/domain/taxonomy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAmD,MAAM,mBAAmB,CAAC;AACnG,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAyBtD,MAAM,OAAO,wBAAyB,SAAQ,KAAK;CAAG;AAEtD,MAAM,UAAU,aAAa,CAAC,MAAyB;IAGrD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAqC,CAAC;IAC3D,KAAK,MAAM,CAAC,IAAI,aAAa;QAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACpD,IAAI,MAAM,EAAE,CAAC;QACX,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACpC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtB,MAAM,IAAI,wBAAwB,CAChC,iBAAiB,CAAC,CAAC,IAAI,8DAA8D,CACtF,CAAC;YACJ,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;gBAC5B,IAAI,CAAC,CAAC,CAAC,IAAI,mBAAmB,CAAC,EAAE,CAAC;oBAChC,MAAM,IAAI,wBAAwB,CAChC,iBAAiB,CAAC,CAAC,IAAI,0BAA0B,CAAC,aAAa,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC7G,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,cAAc,CAAC,IAA2B;IACxD,MAAM,GAAG,GAA6B,EAAE,CAAC;IACzC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QAClC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAkB,CAAC,CAAC,CAAC;IAC5G,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,uBAAuB;IACrC,MAAM,KAAK,GAA4B,EAAE,CAAC;IAC1C,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;QAC9B,MAAM,KAAK,GAA4B;YACrC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC;YAC3B,aAAa,EAAE,CAAC,CAAC,YAAY;YAC7B,aAAa,EAAE,CAAC,CAAC,YAAY;SAC9B,CAAC;QACF,IAAI,CAAC,CAAC,MAAM;YAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QACtC,IAAI,CAAC,CAAC,UAAU;YAAE,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;QAC1C,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IACxB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -8,8 +8,23 @@ export interface RunLogEntry {
8
8
  model?: string;
9
9
  agent?: string;
10
10
  title?: string;
11
+ session?: string;
11
12
  weighted?: number;
12
13
  tools?: string[];
14
+ /** M1 (D4): wall-clock длительность прогона, мс (замер wolf run вокруг spawn). */
15
+ duration_ms?: number;
16
+ /** M1 (D3): сырые токены прогона (Σ по step-finish). */
17
+ tokens?: {
18
+ input: number;
19
+ output: number;
20
+ cache_read: number;
21
+ };
22
+ /** M1 (D5): экспериментальные примитивы; arm/task_id пишутся только с experiment. */
23
+ experiment?: {
24
+ id: string;
25
+ arm: string;
26
+ task_id?: string;
27
+ };
13
28
  }
14
29
  export interface EconomyResult {
15
30
  sufficient: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"tool-economy.d.ts","sourceRoot":"","sources":["../../src/domain/tool-economy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,WAAW;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,OAAO,CAAC;IACpB,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,CAAC;IACjB,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,8DAA8D;IAC9D,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,sEAAsE;AACtE,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE,CAavD;AAED,mEAAmE;AACnE,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAKtD;AAMD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,SAAS,SAAI,GAAG,aAAa,CAsBnF"}
1
+ {"version":3,"file":"tool-economy.d.ts","sourceRoot":"","sources":["../../src/domain/tool-economy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,WAAW;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,kFAAkF;IAClF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wDAAwD;IACxD,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/D,qFAAqF;IACrF,UAAU,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5D;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,OAAO,CAAC;IACpB,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,CAAC;IACjB,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,8DAA8D;IAC9D,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,sEAAsE;AACtE,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE,CAavD;AAED,mEAAmE;AACnE,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAKtD;AAMD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,SAAS,SAAI,GAAG,aAAa,CAsBnF"}