mister-wolf 2.12.0 → 2.14.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.
- package/README.md +4 -1
- package/README.ru.md +4 -1
- package/dist/adapters/cli/cli-entry.d.ts +25 -0
- package/dist/adapters/cli/cli-entry.d.ts.map +1 -1
- package/dist/adapters/cli/cli-entry.js +156 -85
- package/dist/adapters/cli/cli-entry.js.map +1 -1
- package/dist/adapters/cli/commands/analytics.d.ts +30 -5
- package/dist/adapters/cli/commands/analytics.d.ts.map +1 -1
- package/dist/adapters/cli/commands/analytics.js +295 -2
- package/dist/adapters/cli/commands/analytics.js.map +1 -1
- package/dist/adapters/cli/commands/memory-add.d.ts +21 -1
- package/dist/adapters/cli/commands/memory-add.d.ts.map +1 -1
- package/dist/adapters/cli/commands/memory-add.js +42 -29
- package/dist/adapters/cli/commands/memory-add.js.map +1 -1
- package/dist/adapters/cli/commands/memory-aggregate.d.ts +3 -0
- package/dist/adapters/cli/commands/memory-aggregate.d.ts.map +1 -0
- package/dist/adapters/cli/commands/memory-aggregate.js +31 -0
- package/dist/adapters/cli/commands/memory-aggregate.js.map +1 -0
- package/dist/adapters/cli/commands/memory-archive.d.ts +3 -0
- package/dist/adapters/cli/commands/memory-archive.d.ts.map +1 -0
- package/dist/adapters/cli/commands/memory-archive.js +19 -0
- package/dist/adapters/cli/commands/memory-archive.js.map +1 -0
- package/dist/adapters/cli/commands/memory-call.d.ts.map +1 -1
- package/dist/adapters/cli/commands/memory-call.js +9 -2
- package/dist/adapters/cli/commands/memory-call.js.map +1 -1
- package/dist/adapters/cli/commands/memory-complain.d.ts +6 -0
- package/dist/adapters/cli/commands/memory-complain.d.ts.map +1 -1
- package/dist/adapters/cli/commands/memory-complain.js +20 -0
- package/dist/adapters/cli/commands/memory-complain.js.map +1 -1
- package/dist/adapters/cli/commands/memory-doctor.d.ts.map +1 -1
- package/dist/adapters/cli/commands/memory-doctor.js +43 -2
- package/dist/adapters/cli/commands/memory-doctor.js.map +1 -1
- package/dist/adapters/cli/commands/memory-edit.d.ts +3 -0
- package/dist/adapters/cli/commands/memory-edit.d.ts.map +1 -0
- package/dist/adapters/cli/commands/memory-edit.js +67 -0
- package/dist/adapters/cli/commands/memory-edit.js.map +1 -0
- package/dist/adapters/cli/commands/memory-init.d.ts.map +1 -1
- package/dist/adapters/cli/commands/memory-init.js +46 -7
- package/dist/adapters/cli/commands/memory-init.js.map +1 -1
- package/dist/adapters/cli/commands/memory-list.d.ts +12 -0
- package/dist/adapters/cli/commands/memory-list.d.ts.map +1 -1
- package/dist/adapters/cli/commands/memory-list.js +36 -21
- package/dist/adapters/cli/commands/memory-list.js.map +1 -1
- package/dist/adapters/cli/commands/memory-migrate.d.ts.map +1 -1
- package/dist/adapters/cli/commands/memory-migrate.js +91 -0
- package/dist/adapters/cli/commands/memory-migrate.js.map +1 -1
- package/dist/adapters/cli/commands/memory-recap.d.ts.map +1 -1
- package/dist/adapters/cli/commands/memory-recap.js +3 -1
- package/dist/adapters/cli/commands/memory-recap.js.map +1 -1
- package/dist/adapters/cli/commands/memory-relation.d.ts +1 -1
- package/dist/adapters/cli/commands/memory-relation.d.ts.map +1 -1
- package/dist/adapters/cli/commands/memory-relation.js +57 -2
- package/dist/adapters/cli/commands/memory-relation.js.map +1 -1
- package/dist/adapters/cli/commands/memory-search.d.ts.map +1 -1
- package/dist/adapters/cli/commands/memory-search.js +21 -2
- package/dist/adapters/cli/commands/memory-search.js.map +1 -1
- package/dist/adapters/cli/commands/memory-session.d.ts.map +1 -1
- package/dist/adapters/cli/commands/memory-session.js +2 -12
- package/dist/adapters/cli/commands/memory-session.js.map +1 -1
- package/dist/adapters/cli/commands/memory-sync.d.ts.map +1 -1
- package/dist/adapters/cli/commands/memory-sync.js +2 -9
- package/dist/adapters/cli/commands/memory-sync.js.map +1 -1
- package/dist/adapters/cli/commands/memory-taxonomy.d.ts.map +1 -1
- package/dist/adapters/cli/commands/memory-taxonomy.js +4 -4
- package/dist/adapters/cli/commands/memory-taxonomy.js.map +1 -1
- package/dist/adapters/cli/commands/memory-tool.d.ts.map +1 -1
- package/dist/adapters/cli/commands/memory-tool.js +13 -5
- package/dist/adapters/cli/commands/memory-tool.js.map +1 -1
- package/dist/adapters/cli/commands/memory-validate.d.ts.map +1 -1
- package/dist/adapters/cli/commands/memory-validate.js +18 -4
- package/dist/adapters/cli/commands/memory-validate.js.map +1 -1
- package/dist/adapters/cli/commands/projects.d.ts +3 -0
- package/dist/adapters/cli/commands/projects.d.ts.map +1 -0
- package/dist/adapters/cli/commands/projects.js +18 -0
- package/dist/adapters/cli/commands/projects.js.map +1 -0
- package/dist/adapters/cli/removed-commands.d.ts +11 -0
- package/dist/adapters/cli/removed-commands.d.ts.map +1 -0
- package/dist/adapters/cli/removed-commands.js +36 -0
- package/dist/adapters/cli/removed-commands.js.map +1 -0
- package/dist/adapters/cli/type-command-generator.d.ts +5 -0
- package/dist/adapters/cli/type-command-generator.d.ts.map +1 -0
- package/dist/adapters/cli/type-command-generator.js +132 -0
- package/dist/adapters/cli/type-command-generator.js.map +1 -0
- package/dist/adapters/fs/config-file.d.ts +6 -1
- package/dist/adapters/fs/config-file.d.ts.map +1 -1
- package/dist/adapters/fs/config-file.js +112 -55
- package/dist/adapters/fs/config-file.js.map +1 -1
- package/dist/adapters/fs/doc-id-migration.d.ts +2 -0
- package/dist/adapters/fs/doc-id-migration.d.ts.map +1 -1
- package/dist/adapters/fs/doc-id-migration.js +8 -2
- package/dist/adapters/fs/doc-id-migration.js.map +1 -1
- package/dist/adapters/fs/effectiveness-snapshots.d.ts +1 -1
- package/dist/adapters/fs/effectiveness-snapshots.d.ts.map +1 -1
- package/dist/adapters/fs/jsonl-relation-log.d.ts.map +1 -1
- package/dist/adapters/fs/jsonl-relation-log.js +10 -2
- package/dist/adapters/fs/jsonl-relation-log.js.map +1 -1
- package/dist/adapters/fs/layout-migration.d.ts.map +1 -1
- package/dist/adapters/fs/layout-migration.js +21 -2
- package/dist/adapters/fs/layout-migration.js.map +1 -1
- package/dist/adapters/fs/markdown-memory-store.d.ts +12 -1
- package/dist/adapters/fs/markdown-memory-store.d.ts.map +1 -1
- package/dist/adapters/fs/markdown-memory-store.js +124 -22
- package/dist/adapters/fs/markdown-memory-store.js.map +1 -1
- package/dist/adapters/fs/project-paths.d.ts +1 -1
- package/dist/adapters/fs/project-paths.d.ts.map +1 -1
- package/dist/adapters/fs/project-paths.js +1 -1
- package/dist/adapters/fs/project-paths.js.map +1 -1
- package/dist/adapters/fs/projects-registry.d.ts +8 -2
- package/dist/adapters/fs/projects-registry.d.ts.map +1 -1
- package/dist/adapters/fs/projects-registry.js +43 -16
- package/dist/adapters/fs/projects-registry.js.map +1 -1
- package/dist/adapters/fs/schema-version.d.ts +2 -0
- package/dist/adapters/fs/schema-version.d.ts.map +1 -1
- package/dist/adapters/fs/schema-version.js +15 -0
- package/dist/adapters/fs/schema-version.js.map +1 -1
- package/dist/adapters/fs/session-metrics-log.d.ts +32 -118
- package/dist/adapters/fs/session-metrics-log.d.ts.map +1 -1
- package/dist/adapters/fs/session-metrics-log.js +106 -141
- package/dist/adapters/fs/session-metrics-log.js.map +1 -1
- package/dist/adapters/fs/taxonomy-migration.d.ts +38 -0
- package/dist/adapters/fs/taxonomy-migration.d.ts.map +1 -0
- package/dist/adapters/fs/taxonomy-migration.js +280 -0
- package/dist/adapters/fs/taxonomy-migration.js.map +1 -0
- package/dist/adapters/mcp/mcp-schemas.d.ts +0 -122
- package/dist/adapters/mcp/mcp-schemas.d.ts.map +1 -1
- package/dist/adapters/mcp/mcp-schemas.js +0 -102
- package/dist/adapters/mcp/mcp-schemas.js.map +1 -1
- package/dist/adapters/mcp/mcp-server.d.ts.map +1 -1
- package/dist/adapters/mcp/mcp-server.js +30 -1
- package/dist/adapters/mcp/mcp-server.js.map +1 -1
- package/dist/adapters/mcp/mcp-tools.d.ts +10 -0
- package/dist/adapters/mcp/mcp-tools.d.ts.map +1 -1
- package/dist/adapters/mcp/mcp-tools.js +48 -186
- package/dist/adapters/mcp/mcp-tools.js.map +1 -1
- package/dist/adapters/sqlite/sqlite-schema.d.ts +1 -1
- package/dist/adapters/sqlite/sqlite-schema.d.ts.map +1 -1
- package/dist/adapters/sqlite/sqlite-schema.js +4 -2
- package/dist/adapters/sqlite/sqlite-schema.js.map +1 -1
- package/dist/adapters/sqlite/sqlite-search-index.d.ts +7 -0
- package/dist/adapters/sqlite/sqlite-search-index.d.ts.map +1 -1
- package/dist/adapters/sqlite/sqlite-search-index.js +41 -9
- package/dist/adapters/sqlite/sqlite-search-index.js.map +1 -1
- package/dist/app/use-cases/add-memory-object.d.ts +4 -0
- package/dist/app/use-cases/add-memory-object.d.ts.map +1 -1
- package/dist/app/use-cases/add-memory-object.js +42 -4
- package/dist/app/use-cases/add-memory-object.js.map +1 -1
- package/dist/app/use-cases/apply-aggregate.d.ts +36 -0
- package/dist/app/use-cases/apply-aggregate.d.ts.map +1 -0
- package/dist/app/use-cases/apply-aggregate.js +63 -0
- package/dist/app/use-cases/apply-aggregate.js.map +1 -0
- package/dist/app/use-cases/bootstrap-project.d.ts.map +1 -1
- package/dist/app/use-cases/bootstrap-project.js +13 -9
- package/dist/app/use-cases/bootstrap-project.js.map +1 -1
- package/dist/app/use-cases/build-analytics.d.ts +105 -1
- package/dist/app/use-cases/build-analytics.d.ts.map +1 -1
- package/dist/app/use-cases/build-analytics.js +330 -9
- package/dist/app/use-cases/build-analytics.js.map +1 -1
- package/dist/app/use-cases/build-projects-list.d.ts +30 -0
- package/dist/app/use-cases/build-projects-list.d.ts.map +1 -0
- package/dist/app/use-cases/build-projects-list.js +94 -0
- package/dist/app/use-cases/build-projects-list.js.map +1 -0
- package/dist/app/use-cases/create-memory-repair-request.d.ts.map +1 -1
- package/dist/app/use-cases/create-memory-repair-request.js +5 -3
- package/dist/app/use-cases/create-memory-repair-request.js.map +1 -1
- package/dist/app/use-cases/detect-unaggregated-lessons.d.ts +30 -0
- package/dist/app/use-cases/detect-unaggregated-lessons.d.ts.map +1 -0
- package/dist/app/use-cases/detect-unaggregated-lessons.js +40 -0
- package/dist/app/use-cases/detect-unaggregated-lessons.js.map +1 -0
- package/dist/app/use-cases/diff-thread.d.ts.map +1 -1
- package/dist/app/use-cases/diff-thread.js +9 -6
- package/dist/app/use-cases/diff-thread.js.map +1 -1
- package/dist/app/use-cases/doctor.d.ts +11 -3
- package/dist/app/use-cases/doctor.d.ts.map +1 -1
- package/dist/app/use-cases/doctor.js +53 -12
- package/dist/app/use-cases/doctor.js.map +1 -1
- package/dist/app/use-cases/generate-agent-brief.d.ts.map +1 -1
- package/dist/app/use-cases/generate-agent-brief.js +18 -8
- package/dist/app/use-cases/generate-agent-brief.js.map +1 -1
- package/dist/app/use-cases/generate-recap.d.ts +10 -0
- package/dist/app/use-cases/generate-recap.d.ts.map +1 -1
- package/dist/app/use-cases/generate-recap.js +81 -7
- package/dist/app/use-cases/generate-recap.js.map +1 -1
- package/dist/app/use-cases/get-call-injections.d.ts +8 -0
- package/dist/app/use-cases/get-call-injections.d.ts.map +1 -1
- package/dist/app/use-cases/get-call-injections.js +34 -8
- package/dist/app/use-cases/get-call-injections.js.map +1 -1
- package/dist/app/use-cases/init-project.d.ts +2 -6
- package/dist/app/use-cases/init-project.d.ts.map +1 -1
- package/dist/app/use-cases/init-project.js +11 -13
- package/dist/app/use-cases/init-project.js.map +1 -1
- package/dist/app/use-cases/list-memory-objects.d.ts +2 -0
- package/dist/app/use-cases/list-memory-objects.d.ts.map +1 -1
- package/dist/app/use-cases/list-memory-objects.js.map +1 -1
- package/dist/app/use-cases/record-relation.d.ts.map +1 -1
- package/dist/app/use-cases/record-relation.js +4 -0
- package/dist/app/use-cases/record-relation.js.map +1 -1
- package/dist/app/use-cases/scaffold-agent.d.ts.map +1 -1
- package/dist/app/use-cases/scaffold-agent.js +58 -17
- package/dist/app/use-cases/scaffold-agent.js.map +1 -1
- package/dist/app/use-cases/scan-project.d.ts.map +1 -1
- package/dist/app/use-cases/scan-project.js +7 -3
- package/dist/app/use-cases/scan-project.js.map +1 -1
- package/dist/app/use-cases/seed-base-playbooks.d.ts +82 -3
- package/dist/app/use-cases/seed-base-playbooks.d.ts.map +1 -1
- package/dist/app/use-cases/seed-base-playbooks.js +13 -1
- package/dist/app/use-cases/seed-base-playbooks.js.map +1 -1
- package/dist/app/use-cases/should-summarize.d.ts.map +1 -1
- package/dist/app/use-cases/should-summarize.js +3 -1
- package/dist/app/use-cases/should-summarize.js.map +1 -1
- package/dist/app/use-cases/snapshot-delta.d.ts +1 -1
- package/dist/app/use-cases/snapshot-delta.d.ts.map +1 -1
- package/dist/app/use-cases/snapshot-delta.js.map +1 -1
- package/dist/app/use-cases/summarize-session.d.ts.map +1 -1
- package/dist/app/use-cases/summarize-session.js +11 -2
- package/dist/app/use-cases/summarize-session.js.map +1 -1
- package/dist/app/use-cases/thinking.d.ts +2 -2
- package/dist/app/use-cases/thinking.d.ts.map +1 -1
- package/dist/app/use-cases/thinking.js +20 -12
- package/dist/app/use-cases/thinking.js.map +1 -1
- package/dist/app/use-cases/tool-stats.js +1 -1
- package/dist/app/use-cases/tool-stats.js.map +1 -1
- package/dist/bootstrap/container.d.ts.map +1 -1
- package/dist/bootstrap/container.js +30 -2
- package/dist/bootstrap/container.js.map +1 -1
- package/dist/domain/facet-colors.d.ts +12 -0
- package/dist/domain/facet-colors.d.ts.map +1 -0
- package/dist/domain/facet-colors.js +33 -0
- package/dist/domain/facet-colors.js.map +1 -0
- package/dist/domain/governance.d.ts.map +1 -1
- package/dist/domain/governance.js +9 -2
- package/dist/domain/governance.js.map +1 -1
- package/dist/domain/memory-types.d.ts +73 -318
- package/dist/domain/memory-types.d.ts.map +1 -1
- package/dist/domain/memory-types.js +90 -223
- package/dist/domain/memory-types.js.map +1 -1
- package/dist/domain/policies/read-only-zones.d.ts.map +1 -1
- package/dist/domain/policies/read-only-zones.js +7 -11
- package/dist/domain/policies/read-only-zones.js.map +1 -1
- package/dist/domain/schemas/memory-event-schema.d.ts +3 -0
- package/dist/domain/schemas/memory-event-schema.d.ts.map +1 -1
- package/dist/domain/schemas/memory-event-schema.js +3 -0
- package/dist/domain/schemas/memory-event-schema.js.map +1 -1
- package/dist/domain/schemas/memory-object-schema.d.ts +2 -0
- package/dist/domain/schemas/memory-object-schema.d.ts.map +1 -1
- package/dist/domain/schemas/memory-object-schema.js +3 -0
- package/dist/domain/schemas/memory-object-schema.js.map +1 -1
- package/dist/domain/schemas/relation-schema.d.ts +10 -4
- package/dist/domain/schemas/relation-schema.d.ts.map +1 -1
- package/dist/domain/schemas/relation-schema.js +12 -0
- package/dist/domain/schemas/relation-schema.js.map +1 -1
- package/dist/domain/schemas/session-checkpoint-schema.d.ts +3 -1
- package/dist/domain/schemas/session-checkpoint-schema.d.ts.map +1 -1
- package/dist/domain/schemas/session-checkpoint-schema.js +3 -2
- package/dist/domain/schemas/session-checkpoint-schema.js.map +1 -1
- package/dist/domain/solve/scenarios.js +3 -3
- package/dist/domain/solve/scenarios.js.map +1 -1
- package/dist/domain/taxonomy.d.ts +15 -1
- package/dist/domain/taxonomy.d.ts.map +1 -1
- package/dist/domain/taxonomy.js +14 -1
- package/dist/domain/taxonomy.js.map +1 -1
- package/dist/domain/tool-economy.d.ts +1 -1
- package/dist/domain/tool-economy.js +1 -1
- package/dist/domain/type-schema-builder.d.ts +15 -2
- package/dist/domain/type-schema-builder.d.ts.map +1 -1
- package/dist/domain/type-schema-builder.js +10 -1
- package/dist/domain/type-schema-builder.js.map +1 -1
- package/dist/ports/memory-store.port.d.ts +2 -0
- package/dist/ports/memory-store.port.d.ts.map +1 -1
- package/dist/ports/search-index.port.d.ts +2 -0
- package/dist/ports/search-index.port.d.ts.map +1 -1
- package/package.json +2 -2
- package/templates/base/agents/executor-lead.md +5 -0
- package/templates/base/agents/mr-wolf.md +6 -0
- package/templates/base/agents/steward.md +31 -2
- package/templates/opencode/plugins/wolf-router.ts +8 -3
- package/templates/opencode/plugins/wolf-session-start.js +6 -3
- package/dist/adapters/cli/commands/coord.d.ts +0 -3
- package/dist/adapters/cli/commands/coord.d.ts.map +0 -1
- package/dist/adapters/cli/commands/coord.js +0 -36
- package/dist/adapters/cli/commands/coord.js.map +0 -1
- package/dist/adapters/cli/commands/dashboard.d.ts +0 -20
- package/dist/adapters/cli/commands/dashboard.d.ts.map +0 -1
- package/dist/adapters/cli/commands/dashboard.js +0 -231
- package/dist/adapters/cli/commands/dashboard.js.map +0 -1
- package/dist/adapters/cli/commands/memory-article.d.ts +0 -3
- package/dist/adapters/cli/commands/memory-article.d.ts.map +0 -1
- package/dist/adapters/cli/commands/memory-article.js +0 -47
- package/dist/adapters/cli/commands/memory-article.js.map +0 -1
- package/dist/adapters/cli/commands/memory-blocker.d.ts +0 -3
- package/dist/adapters/cli/commands/memory-blocker.d.ts.map +0 -1
- package/dist/adapters/cli/commands/memory-blocker.js +0 -52
- package/dist/adapters/cli/commands/memory-blocker.js.map +0 -1
- package/dist/adapters/cli/commands/memory-council.d.ts +0 -3
- package/dist/adapters/cli/commands/memory-council.d.ts.map +0 -1
- package/dist/adapters/cli/commands/memory-council.js +0 -42
- package/dist/adapters/cli/commands/memory-council.js.map +0 -1
- package/dist/adapters/cli/commands/memory-decision.d.ts +0 -3
- package/dist/adapters/cli/commands/memory-decision.d.ts.map +0 -1
- package/dist/adapters/cli/commands/memory-decision.js +0 -41
- package/dist/adapters/cli/commands/memory-decision.js.map +0 -1
- package/dist/adapters/cli/commands/memory-effectiveness.d.ts +0 -3
- package/dist/adapters/cli/commands/memory-effectiveness.d.ts.map +0 -1
- package/dist/adapters/cli/commands/memory-effectiveness.js +0 -127
- package/dist/adapters/cli/commands/memory-effectiveness.js.map +0 -1
- package/dist/adapters/cli/commands/memory-info-request.d.ts +0 -3
- package/dist/adapters/cli/commands/memory-info-request.d.ts.map +0 -1
- package/dist/adapters/cli/commands/memory-info-request.js +0 -47
- package/dist/adapters/cli/commands/memory-info-request.js.map +0 -1
- package/dist/adapters/cli/commands/memory-insights.d.ts +0 -3
- package/dist/adapters/cli/commands/memory-insights.d.ts.map +0 -1
- package/dist/adapters/cli/commands/memory-insights.js +0 -42
- package/dist/adapters/cli/commands/memory-insights.js.map +0 -1
- package/dist/adapters/cli/commands/memory-learn.d.ts +0 -3
- package/dist/adapters/cli/commands/memory-learn.d.ts.map +0 -1
- package/dist/adapters/cli/commands/memory-learn.js +0 -327
- package/dist/adapters/cli/commands/memory-learn.js.map +0 -1
- package/dist/adapters/cli/commands/memory-rule.d.ts +0 -3
- package/dist/adapters/cli/commands/memory-rule.d.ts.map +0 -1
- package/dist/adapters/cli/commands/memory-rule.js +0 -40
- package/dist/adapters/cli/commands/memory-rule.js.map +0 -1
- package/dist/adapters/cli/commands/memory-run.d.ts +0 -3
- package/dist/adapters/cli/commands/memory-run.d.ts.map +0 -1
- package/dist/adapters/cli/commands/memory-run.js +0 -154
- package/dist/adapters/cli/commands/memory-run.js.map +0 -1
- package/dist/adapters/cli/commands/memory-stage.d.ts +0 -3
- package/dist/adapters/cli/commands/memory-stage.d.ts.map +0 -1
- package/dist/adapters/cli/commands/memory-stage.js +0 -35
- package/dist/adapters/cli/commands/memory-stage.js.map +0 -1
- package/dist/adapters/cli/commands/memory-thread.d.ts +0 -3
- package/dist/adapters/cli/commands/memory-thread.d.ts.map +0 -1
- package/dist/adapters/cli/commands/memory-thread.js +0 -48
- package/dist/adapters/cli/commands/memory-thread.js.map +0 -1
- package/dist/adapters/cli/opencode-run-metrics.d.ts +0 -25
- package/dist/adapters/cli/opencode-run-metrics.d.ts.map +0 -1
- package/dist/adapters/cli/opencode-run-metrics.js +0 -64
- package/dist/adapters/cli/opencode-run-metrics.js.map +0 -1
- package/dist/app/use-cases/activate-draft.d.ts +0 -31
- package/dist/app/use-cases/activate-draft.d.ts.map +0 -1
- package/dist/app/use-cases/activate-draft.js +0 -74
- package/dist/app/use-cases/activate-draft.js.map +0 -1
- package/dist/app/use-cases/build-dashboard.d.ts +0 -43
- package/dist/app/use-cases/build-dashboard.d.ts.map +0 -1
- package/dist/app/use-cases/build-dashboard.js +0 -32
- package/dist/app/use-cases/build-dashboard.js.map +0 -1
- package/dist/app/use-cases/create-article.d.ts +0 -31
- package/dist/app/use-cases/create-article.d.ts.map +0 -1
- package/dist/app/use-cases/create-article.js +0 -62
- package/dist/app/use-cases/create-article.js.map +0 -1
- package/dist/app/use-cases/create-blocker.d.ts +0 -28
- package/dist/app/use-cases/create-blocker.d.ts.map +0 -1
- package/dist/app/use-cases/create-blocker.js +0 -51
- package/dist/app/use-cases/create-blocker.js.map +0 -1
- package/dist/app/use-cases/create-decision.d.ts +0 -28
- package/dist/app/use-cases/create-decision.d.ts.map +0 -1
- package/dist/app/use-cases/create-decision.js +0 -58
- package/dist/app/use-cases/create-decision.js.map +0 -1
- package/dist/app/use-cases/create-info-request.d.ts +0 -31
- package/dist/app/use-cases/create-info-request.d.ts.map +0 -1
- package/dist/app/use-cases/create-info-request.js +0 -58
- package/dist/app/use-cases/create-info-request.js.map +0 -1
- package/dist/app/use-cases/create-rule.d.ts +0 -27
- package/dist/app/use-cases/create-rule.d.ts.map +0 -1
- package/dist/app/use-cases/create-rule.js +0 -48
- package/dist/app/use-cases/create-rule.js.map +0 -1
- package/dist/app/use-cases/create-session-checkpoint.d.ts +0 -23
- package/dist/app/use-cases/create-session-checkpoint.d.ts.map +0 -1
- package/dist/app/use-cases/create-session-checkpoint.js +0 -61
- package/dist/app/use-cases/create-session-checkpoint.js.map +0 -1
- package/dist/app/use-cases/create-synthesis.d.ts +0 -25
- package/dist/app/use-cases/create-synthesis.d.ts.map +0 -1
- package/dist/app/use-cases/create-synthesis.js +0 -36
- package/dist/app/use-cases/create-synthesis.js.map +0 -1
- package/dist/app/use-cases/create-work-thread.d.ts +0 -26
- package/dist/app/use-cases/create-work-thread.d.ts.map +0 -1
- package/dist/app/use-cases/create-work-thread.js +0 -47
- package/dist/app/use-cases/create-work-thread.js.map +0 -1
- package/dist/app/use-cases/effectiveness.d.ts +0 -116
- package/dist/app/use-cases/effectiveness.d.ts.map +0 -1
- package/dist/app/use-cases/effectiveness.js +0 -198
- package/dist/app/use-cases/effectiveness.js.map +0 -1
- package/dist/app/use-cases/get-thread-brief.d.ts +0 -19
- package/dist/app/use-cases/get-thread-brief.d.ts.map +0 -1
- package/dist/app/use-cases/get-thread-brief.js +0 -72
- package/dist/app/use-cases/get-thread-brief.js.map +0 -1
- package/dist/app/use-cases/learn-decay.d.ts +0 -91
- package/dist/app/use-cases/learn-decay.d.ts.map +0 -1
- package/dist/app/use-cases/learn-decay.js +0 -274
- package/dist/app/use-cases/learn-decay.js.map +0 -1
- package/dist/app/use-cases/model-routing.d.ts +0 -30
- package/dist/app/use-cases/model-routing.d.ts.map +0 -1
- package/dist/app/use-cases/model-routing.js +0 -39
- package/dist/app/use-cases/model-routing.js.map +0 -1
- package/dist/app/use-cases/pattern-detection.d.ts +0 -44
- package/dist/app/use-cases/pattern-detection.d.ts.map +0 -1
- package/dist/app/use-cases/pattern-detection.js +0 -71
- package/dist/app/use-cases/pattern-detection.js.map +0 -1
- package/dist/app/use-cases/propose-draft.d.ts +0 -79
- package/dist/app/use-cases/propose-draft.d.ts.map +0 -1
- package/dist/app/use-cases/propose-draft.js +0 -140
- package/dist/app/use-cases/propose-draft.js.map +0 -1
- package/dist/app/use-cases/resolve-blocker.d.ts +0 -17
- package/dist/app/use-cases/resolve-blocker.d.ts.map +0 -1
- package/dist/app/use-cases/resolve-blocker.js +0 -31
- package/dist/app/use-cases/resolve-blocker.js.map +0 -1
- package/dist/app/use-cases/run-source.d.ts +0 -15
- package/dist/app/use-cases/run-source.d.ts.map +0 -1
- package/dist/app/use-cases/run-source.js +0 -26
- package/dist/app/use-cases/run-source.js.map +0 -1
- package/dist/app/use-cases/tally-council-votes.d.ts +0 -24
- package/dist/app/use-cases/tally-council-votes.d.ts.map +0 -1
- package/dist/app/use-cases/tally-council-votes.js +0 -30
- package/dist/app/use-cases/tally-council-votes.js.map +0 -1
- package/dist/app/use-cases/template-evolve.d.ts +0 -87
- package/dist/app/use-cases/template-evolve.d.ts.map +0 -1
- package/dist/app/use-cases/template-evolve.js +0 -164
- package/dist/app/use-cases/template-evolve.js.map +0 -1
- package/dist/app/use-cases/validate-draft.d.ts +0 -36
- package/dist/app/use-cases/validate-draft.d.ts.map +0 -1
- package/dist/app/use-cases/validate-draft.js +0 -75
- package/dist/app/use-cases/validate-draft.js.map +0 -1
- package/dist/domain/gates/stop-gate.d.ts +0 -43
- package/dist/domain/gates/stop-gate.d.ts.map +0 -1
- package/dist/domain/gates/stop-gate.js +0 -125
- package/dist/domain/gates/stop-gate.js.map +0 -1
- package/dist/domain/schemas/article-schema.d.ts +0 -79
- package/dist/domain/schemas/article-schema.d.ts.map +0 -1
- package/dist/domain/schemas/article-schema.js +0 -12
- package/dist/domain/schemas/article-schema.js.map +0 -1
- package/dist/domain/schemas/blocker-schema.d.ts +0 -77
- package/dist/domain/schemas/blocker-schema.d.ts.map +0 -1
- package/dist/domain/schemas/blocker-schema.js +0 -10
- package/dist/domain/schemas/blocker-schema.js.map +0 -1
- package/dist/domain/schemas/decision-schema.d.ts +0 -75
- package/dist/domain/schemas/decision-schema.d.ts.map +0 -1
- package/dist/domain/schemas/decision-schema.js +0 -8
- package/dist/domain/schemas/decision-schema.js.map +0 -1
- package/dist/domain/schemas/info-request-schema.d.ts +0 -80
- package/dist/domain/schemas/info-request-schema.d.ts.map +0 -1
- package/dist/domain/schemas/info-request-schema.js +0 -13
- package/dist/domain/schemas/info-request-schema.js.map +0 -1
- package/dist/domain/schemas/rule-schema.d.ts +0 -80
- package/dist/domain/schemas/rule-schema.d.ts.map +0 -1
- package/dist/domain/schemas/rule-schema.js +0 -10
- package/dist/domain/schemas/rule-schema.js.map +0 -1
- package/dist/domain/schemas/thread-schema.d.ts +0 -77
- package/dist/domain/schemas/thread-schema.d.ts.map +0 -1
- package/dist/domain/schemas/thread-schema.js +0 -10
- package/dist/domain/schemas/thread-schema.js.map +0 -1
- package/templates/base/playbooks/wolf-review-lenses.md +0 -50
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Command, Option } from 'commander';
|
|
2
|
+
import { safeCwd } from '../cli-entry.js';
|
|
2
3
|
import { addMemoryObject } from '../../../app/use-cases/add-memory-object.js';
|
|
3
4
|
import { createCliContainer } from '../../../bootstrap/container.js';
|
|
4
5
|
import { MEMORY_TYPES } from '../../../domain/memory-types.js';
|
|
@@ -10,12 +11,47 @@ import { withCliCall } from './with-cli-call.js';
|
|
|
10
11
|
function collectSet(value, previous) {
|
|
11
12
|
return [...previous, value];
|
|
12
13
|
}
|
|
13
|
-
|
|
14
|
+
/**
|
|
15
|
+
* Единое действие add-пути (2.13 §6.3): `wolf add --type <type>` и генерённые
|
|
16
|
+
* `wolf <type> add` делегируют сюда — логика опций/use-case не дублируется.
|
|
17
|
+
*/
|
|
18
|
+
export async function runAddAction(baseDir, options) {
|
|
19
|
+
const { store, log, clock, idGen, index, declarations, lock } = createCliContainer(baseDir);
|
|
20
|
+
const type = options.type;
|
|
21
|
+
const extra = parseSetPairs(options.set ?? [], type);
|
|
22
|
+
if (options.scope !== undefined) {
|
|
23
|
+
if ('scope' in extra)
|
|
24
|
+
throw new UserFacingError('Duplicate scope: use either --scope or --set scope=..., not both');
|
|
25
|
+
extra.scope = options.scope;
|
|
26
|
+
}
|
|
27
|
+
if (options.facet !== undefined) {
|
|
28
|
+
if ('facet' in extra)
|
|
29
|
+
throw new UserFacingError('Duplicate facet: use either --facet or --set facet=..., not both');
|
|
30
|
+
}
|
|
31
|
+
Object.assign(extra, options.extraFields ?? {});
|
|
32
|
+
const result = await addMemoryObject({ store, log, clock, idGen, index, declarations, lock }, {
|
|
33
|
+
type,
|
|
34
|
+
title: options.title,
|
|
35
|
+
body: options.body,
|
|
36
|
+
createdBy: resolveCreatedBy(options.createdBy),
|
|
37
|
+
tags: options.tags ? options.tags.split(',').map((t) => t.trim()) : [],
|
|
38
|
+
confidence: options.confidence,
|
|
39
|
+
importance: options.importance,
|
|
40
|
+
facet: options.facet,
|
|
41
|
+
extra,
|
|
42
|
+
});
|
|
43
|
+
console.log(`Created memory object: ${result.object.id}`);
|
|
44
|
+
if (result.warnings.length > 0) {
|
|
45
|
+
for (const warning of result.warnings) {
|
|
46
|
+
console.warn(`Warning: ${warning}`);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
// baseDir инъектится для тестов (прецедент: memory-update.ts).
|
|
51
|
+
export function memoryAddCommand(baseDir = safeCwd()) {
|
|
14
52
|
return new Command('add')
|
|
15
53
|
.description('Add a memory object')
|
|
16
|
-
.addOption(new Option('--type <type>', 'Memory type')
|
|
17
|
-
.choices([...MEMORY_TYPES].filter((t) => t !== 'document'))
|
|
18
|
-
.makeOptionMandatory(true))
|
|
54
|
+
.addOption(new Option('--type <type>', 'Memory type').choices([...MEMORY_TYPES]).makeOptionMandatory(true))
|
|
19
55
|
.requiredOption('--title <title>', 'Title')
|
|
20
56
|
.option('--body <body>', 'Body text')
|
|
21
57
|
.option('--tags <tags>', 'Comma-separated tags')
|
|
@@ -23,32 +59,9 @@ export function memoryAddCommand() {
|
|
|
23
59
|
.option('--importance <n>', 'Importance from 0 to 1', parseFloat)
|
|
24
60
|
.option('--set <k=v>', 'Extra field key=value (repeatable; "[a,b]" value is a string array)', collectSet, [])
|
|
25
61
|
.option('--scope <scope>', 'Scope field for types that declare one (rule: project|global)')
|
|
62
|
+
.option('--facet <facet>', 'Note facet (required for note; howto|pitfall|context|metric|history|legacy|constraint)')
|
|
26
63
|
.option('--created-by <actor>', 'Creator actor (default: env WOLF_ACTOR, else user:cli)')
|
|
27
|
-
.action(withCliCall('add',
|
|
28
|
-
const { store, log, clock, idGen, index, declarations } = createCliContainer(process.cwd());
|
|
29
|
-
const extra = parseSetPairs(options.set, options.type);
|
|
30
|
-
if (options.scope !== undefined) {
|
|
31
|
-
if ('scope' in extra)
|
|
32
|
-
throw new UserFacingError('Duplicate scope: use either --scope or --set scope=..., not both');
|
|
33
|
-
extra.scope = options.scope;
|
|
34
|
-
}
|
|
35
|
-
const result = await addMemoryObject({ store, log, clock, idGen, index, declarations }, {
|
|
36
|
-
type: options.type,
|
|
37
|
-
title: options.title,
|
|
38
|
-
body: options.body,
|
|
39
|
-
createdBy: resolveCreatedBy(options.createdBy),
|
|
40
|
-
tags: options.tags ? options.tags.split(',').map((t) => t.trim()) : [],
|
|
41
|
-
confidence: options.confidence,
|
|
42
|
-
importance: options.importance,
|
|
43
|
-
extra,
|
|
44
|
-
});
|
|
45
|
-
console.log(`Created memory object: ${result.object.id}`);
|
|
46
|
-
if (result.warnings.length > 0) {
|
|
47
|
-
for (const warning of result.warnings) {
|
|
48
|
-
console.warn(`Warning: ${warning}`);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
},
|
|
64
|
+
.action(withCliCall('add', (options) => runAddAction(baseDir, options),
|
|
52
65
|
// волна 0 0.1: args_summary в mcp_call-сигнал (body не попадает);
|
|
53
66
|
// extra_keys — из --set пар (парсинг дублируется дёшево, телеметрия в try/catch обёртки)
|
|
54
67
|
(options) => ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-add.js","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/memory-add.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"memory-add.js","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/memory-add.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-aggregate.d.ts","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/memory-aggregate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,wBAAgB,sBAAsB,CAAC,OAAO,GAAE,MAAkB,GAAG,OAAO,CA0B3E"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { safeCwd } from '../cli-entry.js';
|
|
3
|
+
import { applyAggregate } from '../../../app/use-cases/apply-aggregate.js';
|
|
4
|
+
import { createCliContainer } from '../../../bootstrap/container.js';
|
|
5
|
+
import { resolveCreatedBy } from '../../../domain/actor.js';
|
|
6
|
+
// 2.14 §7.3: `wolf aggregate apply <id>` — plumbing-подтверждение агрегата
|
|
7
|
+
// владельцем (Стюард создаёт proposed-агрегат, владелец применяет).
|
|
8
|
+
// baseDir инъектится для тестов (прецедент: memory-add.ts).
|
|
9
|
+
export function memoryAggregateCommand(baseDir = safeCwd()) {
|
|
10
|
+
const cmd = new Command('aggregate').description('Apply a proposed lesson aggregate (steward plumbing)');
|
|
11
|
+
cmd
|
|
12
|
+
.command('apply')
|
|
13
|
+
.description('Apply a proposed aggregate: activate it and archive its sources')
|
|
14
|
+
.argument('<aggregate-id>', 'Aggregate memory object id')
|
|
15
|
+
.option('--created-by <actor>', 'Actor performing the apply (default: env WOLF_ACTOR, else user:cli)')
|
|
16
|
+
.action(async (aggregateId, options) => {
|
|
17
|
+
const { store, log, clock, idGen, index, relations, lock } = createCliContainer(baseDir);
|
|
18
|
+
const result = await applyAggregate({ store, log, clock, idGen, index, relations, lock }, aggregateId, resolveCreatedBy(options.createdBy));
|
|
19
|
+
if (result.noop) {
|
|
20
|
+
console.log(`no-op: aggregate active, all sources archived (${aggregateId})`);
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
console.log(`Applied aggregate ${aggregateId}`);
|
|
24
|
+
console.log(`activated: ${result.activated ? 'yes' : 'no'}`);
|
|
25
|
+
console.log(`archived: ${result.archived.length} (skipped: ${result.skipped.length})`);
|
|
26
|
+
for (const id of result.archived)
|
|
27
|
+
console.log(`archived source: ${id}`);
|
|
28
|
+
});
|
|
29
|
+
return cmd;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=memory-aggregate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-aggregate.js","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/memory-aggregate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,2EAA2E;AAC3E,oEAAoE;AACpE,4DAA4D;AAC5D,MAAM,UAAU,sBAAsB,CAAC,UAAkB,OAAO,EAAE;IAChE,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,sDAAsD,CAAC,CAAC;IAEzG,GAAG;SACA,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,iEAAiE,CAAC;SAC9E,QAAQ,CAAC,gBAAgB,EAAE,4BAA4B,CAAC;SACxD,MAAM,CAAC,sBAAsB,EAAE,qEAAqE,CAAC;SACrG,MAAM,CAAC,KAAK,EAAE,WAAmB,EAAE,OAA+B,EAAE,EAAE;QACrE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACzF,MAAM,MAAM,GAAG,MAAM,cAAc,CACjC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,EACpD,WAAW,EACX,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,CACpC,CAAC;QACF,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,kDAAkD,WAAW,GAAG,CAAC,CAAC;YAC9E,OAAO;QACT,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,qBAAqB,WAAW,EAAE,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,QAAQ,CAAC,MAAM,cAAc,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QACvF,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,QAAQ;YAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEL,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-archive.d.ts","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/memory-archive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,MAAkB,GAAG,OAAO,CAUzE"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { safeCwd } from '../cli-entry.js';
|
|
3
|
+
import { transitionMemoryObject } from '../../../app/use-cases/transition-memory-object.js';
|
|
4
|
+
import { createCliContainer } from '../../../bootstrap/container.js';
|
|
5
|
+
// wolf archive (спека 2.13 §6.1 E1): сахар transition → archived.
|
|
6
|
+
// transition остаётся полной матрицей статусов.
|
|
7
|
+
// baseDir инъектится для тестов (прецедент: memory-update.ts).
|
|
8
|
+
export function memoryArchiveCommand(baseDir = safeCwd()) {
|
|
9
|
+
return new Command('archive')
|
|
10
|
+
.description('Archive a memory object (sugar for: transition archived)')
|
|
11
|
+
.argument('<id>', 'Memory object id')
|
|
12
|
+
.option('--actor <actor>', 'Actor performing the archive', 'user:cli')
|
|
13
|
+
.action(async (id, options) => {
|
|
14
|
+
const { store, log, clock, idGen, index, declarations } = createCliContainer(baseDir);
|
|
15
|
+
await transitionMemoryObject({ store, log, clock, idGen, index, declarations }, id, 'archived', options.actor);
|
|
16
|
+
console.log(`Archived ${id}.`);
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=memory-archive.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-archive.js","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/memory-archive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,oDAAoD,CAAC;AAC5F,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAErE,kEAAkE;AAClE,gDAAgD;AAChD,+DAA+D;AAC/D,MAAM,UAAU,oBAAoB,CAAC,UAAkB,OAAO,EAAE;IAC9D,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC;SAC1B,WAAW,CAAC,0DAA0D,CAAC;SACvE,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;SACpC,MAAM,CAAC,iBAAiB,EAAE,8BAA8B,EAAE,UAAU,CAAC;SACrE,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,OAA0B,EAAE,EAAE;QACvD,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACtF,MAAM,sBAAsB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/G,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-call.d.ts","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/memory-call.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"memory-call.d.ts","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/memory-call.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2BpC,wBAAgB,iBAAiB,IAAI,OAAO,CAiH3C"}
|
|
@@ -5,6 +5,7 @@ import { resolveCreatedBy, resolveSessionId } from '../../../domain/actor.js';
|
|
|
5
5
|
import { appendDeliverySignal, appendMemoryStageSignal } from '../../../adapters/fs/session-metrics-log.js';
|
|
6
6
|
import { checksumBlock, deliveryWarningLine, loadSessionRegistry, recordDeliveries, } from '../../../adapters/fs/session-delivery-registry.js';
|
|
7
7
|
import { loadDeliverySettings } from '../../../adapters/fs/config-file.js';
|
|
8
|
+
import { colorsEnabled } from '../../../domain/facet-colors.js';
|
|
8
9
|
import { withCliCall } from './with-cli-call.js';
|
|
9
10
|
function parseCompact(v) {
|
|
10
11
|
if (v === undefined)
|
|
@@ -30,12 +31,14 @@ export function memoryCallCommand() {
|
|
|
30
31
|
// ensureCliSessionId в cli-entry); null → фильтр выключен (MCP-контур).
|
|
31
32
|
const sessionKey = resolveSessionId();
|
|
32
33
|
const registry = sessionKey ? loadSessionRegistry(baseDir, sessionKey) : null;
|
|
33
|
-
const { store, index, clock } = createCliContainer(baseDir);
|
|
34
|
-
const result = await getCallInjections({ store, index, clock }, {
|
|
34
|
+
const { store, index, clock, relations } = createCliContainer(baseDir);
|
|
35
|
+
const result = await getCallInjections({ store, index, clock, relations }, {
|
|
35
36
|
topic: options.for,
|
|
36
37
|
thread: options.thread !== undefined ? options.thread : undefined,
|
|
37
38
|
compact: options.compact,
|
|
38
39
|
deliveredRegistry: registry?.delivered,
|
|
40
|
+
// P212 (2.13 §5.3в): подсветка фасета в блоках (pipe/NO_COLOR → плоско)
|
|
41
|
+
colors: colorsEnabled(process.stdout, process.env),
|
|
39
42
|
});
|
|
40
43
|
if (result.blocks.length === 0) {
|
|
41
44
|
if (result.deduplicated > 0) {
|
|
@@ -51,6 +54,10 @@ export function memoryCallCommand() {
|
|
|
51
54
|
console.log(`\n[truncated: ${result.truncated} blocks omitted]`);
|
|
52
55
|
}
|
|
53
56
|
}
|
|
57
|
+
// 2.14 §7.1 (триггер 2): строка Стюарда — после блоков, вне blocks/бюджета
|
|
58
|
+
if (result.banner !== null) {
|
|
59
|
+
console.log('\n' + result.banner);
|
|
60
|
+
}
|
|
54
61
|
// Ф26: доставка = срабатывание (decay-пробег сбрасывается по этим событиям,
|
|
55
62
|
// спека §6). Объекты памяти НЕ обновляем (дорого) — last_triggered_at
|
|
56
63
|
// вычисляет decay-прогон из лога.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-call.js","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/memory-call.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAC;AAC5G,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,mDAAmD,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,SAAS,YAAY,CAAC,CAAqB;IACzC,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACjC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACpB,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAChD,CAAC;AAED,iFAAiF;AACjF,8EAA8E;AAC9E,2EAA2E;AAC3E,MAAM,YAAY,GAAG,CAAC,CAAS,EAAE,EAAE,CACjC,UAAU,CAAC,4fAA4f,CAAC;AAE1gB,MAAM,UAAU,iBAAiB;IAC/B,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;SACvB,WAAW,CAAC,4BAA4B,CAAC;SACzC,MAAM,CAAC,eAAe,EAAE,mCAAmC,CAAC;SAC5D,MAAM,CAAC,sBAAsB,EAAE,2BAA2B,CAAC;SAC3D,MAAM,CAAC,mBAAmB,EAAE,wCAAwC,EAAE,YAAY,CAAC;SACnF,MAAM;IACL,qFAAqF;IACrF,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,OAAmE,EAAE,EAAE;QAChG,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC9B,yEAAyE;QACzE,wEAAwE;QACxE,MAAM,UAAU,GAAG,gBAAgB,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9E,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"memory-call.js","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/memory-call.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
|
+
declare const COMPLAINT_KINDS: readonly ["technical", "behavioral"];
|
|
3
|
+
export type ComplaintKind = (typeof COMPLAINT_KINDS)[number];
|
|
4
|
+
/** Дефолт-эвристика kind (спека §6.1): about = агент/скилл → behavioral;
|
|
5
|
+
* mem-id → technical; прочее — без kind (явный только через --kind). */
|
|
6
|
+
export declare function inferComplaintKind(about: string): ComplaintKind | undefined;
|
|
2
7
|
export declare function memoryComplainCommand(baseDir?: string): Command;
|
|
8
|
+
export {};
|
|
3
9
|
//# sourceMappingURL=memory-complain.d.ts.map
|
|
@@ -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;AA0BpC,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,MAAkB,GAAG,OAAO,
|
|
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;AA0BpC,QAAA,MAAM,eAAe,sCAAuC,CAAC;AAC7D,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D;wEACwE;AACxE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAI3E;AAID,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,MAAkB,GAAG,OAAO,CAgE1E"}
|
|
@@ -20,6 +20,18 @@ const BASE_AGENT_IDS = [
|
|
|
20
20
|
'worker-researcher',
|
|
21
21
|
'worker-reviewer',
|
|
22
22
|
];
|
|
23
|
+
// Волна 2.14 §6.1: классификация жалоб technical/behavioral; дефолт —
|
|
24
|
+
// эвристика по about, флаг --kind переопределяет (владелец/лид всегда прав).
|
|
25
|
+
const COMPLAINT_KINDS = ['technical', 'behavioral'];
|
|
26
|
+
/** Дефолт-эвристика kind (спека §6.1): about = агент/скилл → behavioral;
|
|
27
|
+
* mem-id → technical; прочее — без kind (явный только через --kind). */
|
|
28
|
+
export function inferComplaintKind(about) {
|
|
29
|
+
if (BASE_AGENT_IDS.includes(about) || about.startsWith('skill:'))
|
|
30
|
+
return 'behavioral';
|
|
31
|
+
if (about.startsWith('mem_'))
|
|
32
|
+
return 'technical';
|
|
33
|
+
return undefined;
|
|
34
|
+
}
|
|
23
35
|
// baseDir инъектится для тестов (прецедент: runValidate в memory-validate.ts);
|
|
24
36
|
// при обычной регистрации в cli-entry cwd идёт через safeCwd (§2.5).
|
|
25
37
|
export function memoryComplainCommand(baseDir = safeCwd()) {
|
|
@@ -30,12 +42,17 @@ export function memoryComplainCommand(baseDir = safeCwd()) {
|
|
|
30
42
|
.option('--evidence <evidence>', 'Proof: verbatim quote + what happened (file/test/numbers)')
|
|
31
43
|
.option('--text <text>', 'Deprecated alias for --evidence')
|
|
32
44
|
.requiredOption('--proposal <proposal>', 'Proposed change to the rule')
|
|
45
|
+
.option('--kind <kind>', 'Complaint kind: technical | behavioral (default: heuristic by --about)')
|
|
33
46
|
.option('--created-by <actor>', 'Creator actor (default: env WOLF_ACTOR, else user:cli)')
|
|
34
47
|
.action(async (options) => {
|
|
35
48
|
const evidence = options.evidence ?? options.text;
|
|
36
49
|
if (!evidence) {
|
|
37
50
|
throw new UserFacingError('--evidence is required (deprecated alias: --text)');
|
|
38
51
|
}
|
|
52
|
+
if (options.kind !== undefined && !COMPLAINT_KINDS.includes(options.kind)) {
|
|
53
|
+
throw new UserFacingError(`Invalid --kind "${options.kind}": expected technical or behavioral`);
|
|
54
|
+
}
|
|
55
|
+
const kind = options.kind ?? inferComplaintKind(options.about);
|
|
39
56
|
const { store, log, clock, idGen, index, relations, lock, declarations } = createCliContainer(baseDir);
|
|
40
57
|
const aboutKnown = BASE_AGENT_IDS.includes(options.about) ||
|
|
41
58
|
options.about.startsWith('skill:') ||
|
|
@@ -56,6 +73,7 @@ export function memoryComplainCommand(baseDir = safeCwd()) {
|
|
|
56
73
|
rule: options.rule,
|
|
57
74
|
evidence,
|
|
58
75
|
proposal: options.proposal,
|
|
76
|
+
...(kind !== undefined ? { kind } : {}),
|
|
59
77
|
},
|
|
60
78
|
});
|
|
61
79
|
const id = result.object.id;
|
|
@@ -68,7 +86,9 @@ export function memoryComplainCommand(baseDir = safeCwd()) {
|
|
|
68
86
|
actor: resolveCreatedBy(options.createdBy),
|
|
69
87
|
objectId: id,
|
|
70
88
|
});
|
|
89
|
+
// kind — отдельной строкой: существующие парсеры id читают split(': ')[1]
|
|
71
90
|
console.log(`Complaint recorded: ${id}`);
|
|
91
|
+
console.log(`Complaint kind: ${kind ?? '—'}`);
|
|
72
92
|
console.log(`Relation recorded: ${id} -complain-> ${options.about}`);
|
|
73
93
|
});
|
|
74
94
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-complain.js","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/memory-complain.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"memory-complain.js","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/memory-complain.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-doctor.d.ts","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/memory-doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"memory-doctor.d.ts","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/memory-doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0CpC,wBAAgB,mBAAmB,IAAI,OAAO,CA2C7C"}
|
|
@@ -1,11 +1,45 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
|
-
import { join } from 'path';
|
|
3
|
-
import { existsSync } from 'fs';
|
|
2
|
+
import { join, sep } from 'path';
|
|
3
|
+
import { existsSync, realpathSync } from 'fs';
|
|
4
|
+
import { readFile } from 'fs/promises';
|
|
5
|
+
import { tmpdir } from 'os';
|
|
4
6
|
import { runDoctor } from '../../../app/use-cases/doctor.js';
|
|
5
7
|
import { ProjectsRegistry } from '../../../adapters/fs/projects-registry.js';
|
|
6
8
|
import { wolfUserConfigDir } from '../../../adapters/fs/user-config.js';
|
|
7
9
|
import { readSchemaVersion } from '../../../adapters/fs/schema-version.js';
|
|
8
10
|
import { PLATFORM_ADAPTERS } from '../../../adapters/platforms/index.js';
|
|
11
|
+
import { safeCwd } from '../cli-entry.js';
|
|
12
|
+
/**
|
|
13
|
+
* Песочницы (спека 2.14 §8.2): записи под os.tmpdir() чистим с пометкой sandbox.
|
|
14
|
+
* macOS-нюанс: os.tmpdir() возвращает `/var/folders/…`, а пути в реестре часто
|
|
15
|
+
* `/private/var/folders/…` (realpath) — сравниваем с обоими написаними + `/tmp`
|
|
16
|
+
* (и его realpath) для явных tmp-песочниц.
|
|
17
|
+
*/
|
|
18
|
+
function isSandboxPath(p) {
|
|
19
|
+
const roots = new Set();
|
|
20
|
+
for (const r of [tmpdir(), '/tmp']) {
|
|
21
|
+
roots.add(r);
|
|
22
|
+
try {
|
|
23
|
+
roots.add(realpathSync(r));
|
|
24
|
+
}
|
|
25
|
+
catch {
|
|
26
|
+
// корня нет — пропускаем
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
for (const r of roots) {
|
|
30
|
+
if (p === r || p.startsWith(r + sep))
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
async function readFileOrNull(p) {
|
|
36
|
+
try {
|
|
37
|
+
return await readFile(p, 'utf-8');
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
9
43
|
export function memoryDoctorCommand() {
|
|
10
44
|
return new Command('doctor')
|
|
11
45
|
.description('Check all registered projects: binary vs schema version, platform configs, prune dead entries')
|
|
@@ -16,6 +50,9 @@ export function memoryDoctorCommand() {
|
|
|
16
50
|
readSchema: (p) => readSchemaVersion(p),
|
|
17
51
|
exists: async (p) => existsSync(p),
|
|
18
52
|
adapters: PLATFORM_ADAPTERS,
|
|
53
|
+
cwd: safeCwd(),
|
|
54
|
+
isSandbox: isSandboxPath,
|
|
55
|
+
readFile: readFileOrNull,
|
|
19
56
|
});
|
|
20
57
|
console.log(`# wolf doctor — binary schema v${report.binarySchemaVersion}`);
|
|
21
58
|
console.log(`registry: ${join(wolfUserConfigDir(), 'projects.yaml')}`);
|
|
@@ -25,6 +62,10 @@ export function memoryDoctorCommand() {
|
|
|
25
62
|
return;
|
|
26
63
|
}
|
|
27
64
|
for (const e of report.entries) {
|
|
65
|
+
if (e.status === 'sandbox') {
|
|
66
|
+
console.log(`- ${e.path}: sandbox — pruned (os tmpdir)`);
|
|
67
|
+
continue;
|
|
68
|
+
}
|
|
28
69
|
const schema = e.schemaVersion === null ? '-' : `v${e.schemaVersion}`;
|
|
29
70
|
let hint = '';
|
|
30
71
|
if (e.status === 'outdated-binary')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-doctor.js","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/memory-doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"memory-doctor.js","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/memory-doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-edit.d.ts","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/memory-edit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAcpC,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,MAAkB,GAAG,OAAO,CAmDtE"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { safeCwd } from '../cli-entry.js';
|
|
3
|
+
import { createCliContainer } from '../../../bootstrap/container.js';
|
|
4
|
+
import { UserFacingError } from '../../../domain/errors.js';
|
|
5
|
+
// wolf edit (спека 2.13 §6.1): правка title/body с diff-аудитом — отдельное
|
|
6
|
+
// событие memory.edited на каждое изменённое поле, before/after обрезаны до
|
|
7
|
+
// 200 симв (прецедент target-обрезки волны 0, session-metrics-log.ts:482).
|
|
8
|
+
// Смыслные смены (смена решения и т.п.) — по-прежнему supersede.
|
|
9
|
+
const CLIP = 200;
|
|
10
|
+
const clip = (s) => (s.length > CLIP ? s.slice(0, CLIP) : s);
|
|
11
|
+
// baseDir инъектится для тестов (прецедент: memory-update.ts).
|
|
12
|
+
export function memoryEditCommand(baseDir = safeCwd()) {
|
|
13
|
+
return new Command('edit')
|
|
14
|
+
.description('Edit title and/or body of a memory object (diff-audited in events.jsonl)')
|
|
15
|
+
.argument('<id>', 'Memory object id')
|
|
16
|
+
.option('--title <t>', 'New title')
|
|
17
|
+
.option('--body <b>', 'New body')
|
|
18
|
+
.option('--actor <actor>', 'Actor performing the edit', 'user:cli')
|
|
19
|
+
.action(async (id, options) => {
|
|
20
|
+
const { store, log, clock, idGen, index, lock } = createCliContainer(baseDir);
|
|
21
|
+
const existing = await store.get(id);
|
|
22
|
+
if (!existing)
|
|
23
|
+
throw new UserFacingError(`Memory object not found: ${id}`);
|
|
24
|
+
const edits = [];
|
|
25
|
+
if (options.title !== undefined) {
|
|
26
|
+
if (options.title.trim() === '')
|
|
27
|
+
throw new UserFacingError('Title must not be empty');
|
|
28
|
+
edits.push('title');
|
|
29
|
+
}
|
|
30
|
+
if (options.body !== undefined) {
|
|
31
|
+
if (options.body.trim() === '')
|
|
32
|
+
throw new UserFacingError('Body must not be empty');
|
|
33
|
+
edits.push('body');
|
|
34
|
+
}
|
|
35
|
+
if (edits.length === 0) {
|
|
36
|
+
throw new UserFacingError('Nothing to edit: pass --title and/or --body');
|
|
37
|
+
}
|
|
38
|
+
const patch = {};
|
|
39
|
+
if (options.title !== undefined)
|
|
40
|
+
patch.title = options.title;
|
|
41
|
+
if (options.body !== undefined)
|
|
42
|
+
patch.body = options.body;
|
|
43
|
+
const run = async () => {
|
|
44
|
+
const updated = await store.update(id, patch);
|
|
45
|
+
const now = clock.now();
|
|
46
|
+
for (const field of edits) {
|
|
47
|
+
await log.append({
|
|
48
|
+
id: idGen.generateEventId(now),
|
|
49
|
+
type: 'memory.edited',
|
|
50
|
+
timestamp: now.toISOString(),
|
|
51
|
+
actor: options.actor,
|
|
52
|
+
payload: {
|
|
53
|
+
memory_id: id,
|
|
54
|
+
field,
|
|
55
|
+
before: clip(existing[field]),
|
|
56
|
+
after: clip(options[field]),
|
|
57
|
+
},
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
if (index)
|
|
61
|
+
await index.indexObject(updated);
|
|
62
|
+
console.log(`Edited ${id}: ${edits.join(', ')}`);
|
|
63
|
+
};
|
|
64
|
+
return lock ? lock.withLock(run) : run();
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=memory-edit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-edit.js","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/memory-edit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAG5D,4EAA4E;AAC5E,4EAA4E;AAC5E,2EAA2E;AAC3E,iEAAiE;AACjE,MAAM,IAAI,GAAG,GAAG,CAAC;AACjB,MAAM,IAAI,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE7E,+DAA+D;AAC/D,MAAM,UAAU,iBAAiB,CAAC,UAAkB,OAAO,EAAE;IAC3D,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;SACvB,WAAW,CAAC,0EAA0E,CAAC;SACvF,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;SACpC,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC;SAClC,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC;SAChC,MAAM,CAAC,iBAAiB,EAAE,2BAA2B,EAAE,UAAU,CAAC;SAClE,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,OAAyD,EAAE,EAAE;QACtF,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC9E,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,eAAe,CAAC,4BAA4B,EAAE,EAAE,CAAC,CAAC;QAE3E,MAAM,KAAK,GAA4B,EAAE,CAAC;QAC1C,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAChC,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE;gBAAE,MAAM,IAAI,eAAe,CAAC,yBAAyB,CAAC,CAAC;YACtF,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtB,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/B,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;gBAAE,MAAM,IAAI,eAAe,CAAC,wBAAwB,CAAC,CAAC;YACpF,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrB,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,eAAe,CAAC,6CAA6C,CAAC,CAAC;QAC3E,CAAC;QAED,MAAM,KAAK,GAA0B,EAAE,CAAC;QACxC,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;YAAE,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC7D,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAE1D,MAAM,GAAG,GAAG,KAAK,IAAmB,EAAE;YACpC,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YAC9C,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;YACxB,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;gBAC1B,MAAM,GAAG,CAAC,MAAM,CAAC;oBACf,EAAE,EAAE,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC;oBAC9B,IAAI,EAAE,eAAe;oBACrB,SAAS,EAAE,GAAG,CAAC,WAAW,EAAE;oBAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,OAAO,EAAE;wBACP,SAAS,EAAE,EAAE;wBACb,KAAK;wBACL,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;wBAC7B,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAW,CAAC;qBACtC;iBACF,CAAC,CAAC;YACL,CAAC;YACD,IAAI,KAAK;gBAAE,MAAM,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnD,CAAC,CAAC;QACF,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IAC3C,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -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;
|
|
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;AA2BpC,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;AAED,2GAA2G;AAC3G,wBAAgB,iBAAiB,CAAC,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAO9F;AAED,+FAA+F;AAC/F,wBAAgB,kBAAkB,CAAC,CAAC,EAAE;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB,GAAG,MAAM,CAWT;AAID,wBAAgB,iBAAiB,IAAI,OAAO,CAoL3C"}
|
|
@@ -12,8 +12,8 @@ import { ensureCurrentSchema } from '../../../adapters/fs/schema-guard.js';
|
|
|
12
12
|
import { initProject, recreateConfig } from '../../../app/use-cases/init-project.js';
|
|
13
13
|
import { OpencodeBaseSetRenderer } from '../../../adapters/render/opencode/opencode-renderer.js';
|
|
14
14
|
import { templatesRoot, harnessTemplatesRoot, wolfVersion } from '../../../adapters/render/templates-root.js';
|
|
15
|
-
import { seedBasePlaybooks } from '../../../app/use-cases/seed-base-playbooks.js';
|
|
16
|
-
import {
|
|
15
|
+
import { seedBasePlaybooks, PlaybookNoteSchema, } from '../../../app/use-cases/seed-base-playbooks.js';
|
|
16
|
+
import { governanceDefaults } from '../../../domain/governance.js';
|
|
17
17
|
import { isNpxRun } from '../../../domain/npx.js';
|
|
18
18
|
import { UserFacingError } from '../../../domain/errors.js';
|
|
19
19
|
import { safeCwd } from '../cli-entry.js';
|
|
@@ -211,9 +211,51 @@ export function memoryInitCommand() {
|
|
|
211
211
|
}
|
|
212
212
|
}
|
|
213
213
|
// ListFilters поддерживает type (memory-store.port.ts) — фильтр на уровне порта (правка r2)
|
|
214
|
-
|
|
214
|
+
// wave13-a: playbook → note+facet howto; старые файлы читаются как note (alias)
|
|
215
|
+
const existing = (await store.list({ type: 'note' })).filter((o) => o.facet === 'howto' || o.alias_origin === 'playbook');
|
|
215
216
|
const seededOwners = new Set(existing.map((o) => o.owner_skill).filter((x) => Boolean(x)));
|
|
216
|
-
|
|
217
|
+
// wave13-a: guard полей addMemoryObject не пускает steps/owner_skill в extra
|
|
218
|
+
// note — сеем напрямую по window-compat паттерну (схема — PlaybookNoteSchema)
|
|
219
|
+
const addFn = (input) => {
|
|
220
|
+
const now = clock.now();
|
|
221
|
+
const defaults = governanceDefaults(input.createdBy);
|
|
222
|
+
const object = {
|
|
223
|
+
id: idGen.generateMemoryId(now, input.title),
|
|
224
|
+
type: 'note',
|
|
225
|
+
facet: 'howto',
|
|
226
|
+
title: input.title,
|
|
227
|
+
body: input.body,
|
|
228
|
+
status: 'active',
|
|
229
|
+
review_state: 'accepted',
|
|
230
|
+
confidence: 'medium',
|
|
231
|
+
importance: 0.5,
|
|
232
|
+
created_at: now.toISOString(),
|
|
233
|
+
updated_at: now.toISOString(),
|
|
234
|
+
created_by: input.createdBy,
|
|
235
|
+
schema_version: 1,
|
|
236
|
+
source: { kind: 'manual' },
|
|
237
|
+
related: { files: [], docs: [], decisions: [] },
|
|
238
|
+
tags: input.tags,
|
|
239
|
+
superseded_by: null,
|
|
240
|
+
memory_class: defaults.memory_class,
|
|
241
|
+
truth_role: defaults.truth_role,
|
|
242
|
+
lifetime: defaults.lifetime,
|
|
243
|
+
...input.extra,
|
|
244
|
+
};
|
|
245
|
+
PlaybookNoteSchema.parse(object);
|
|
246
|
+
return (async () => {
|
|
247
|
+
await store.save(object);
|
|
248
|
+
await log.append({
|
|
249
|
+
id: idGen.generateEventId(now),
|
|
250
|
+
type: 'memory.added',
|
|
251
|
+
timestamp: now.toISOString(),
|
|
252
|
+
actor: input.createdBy,
|
|
253
|
+
payload: { memory_id: object.id, type: object.type },
|
|
254
|
+
});
|
|
255
|
+
if (index)
|
|
256
|
+
await index.indexObject(object);
|
|
257
|
+
})();
|
|
258
|
+
};
|
|
217
259
|
const result = await initProject({
|
|
218
260
|
initializer,
|
|
219
261
|
registry,
|
|
@@ -249,9 +291,6 @@ export function memoryInitCommand() {
|
|
|
249
291
|
console.log(formatBaseSetLine(o)); // F5: скиллы — [skill] имя → путь
|
|
250
292
|
for (const outcome of result.platformOutcomes)
|
|
251
293
|
console.log(formatPlatformLine(outcome)); // F6: configFile + keys
|
|
252
|
-
if (result.routing.action !== 'skipped') {
|
|
253
|
-
console.log(`- routing: agent models — ${result.routing.action} (primary ${models.primary})`);
|
|
254
|
-
}
|
|
255
294
|
console.log(result.initReport.action === 'created'
|
|
256
295
|
? `- init-report: created (${result.initReport.id})`
|
|
257
296
|
: '- init-report: already exists — not duplicating');
|