monomind 2.5.1 → 2.5.2
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/package.json +2 -1
- package/packages/@monomind/cli/.claude/agents/design/design-monodesign.md +6 -6
- package/packages/@monomind/cli/.claude/commands/mastermind/_repeat.md +4 -4
- package/packages/@monomind/cli/.claude/commands/mastermind/approvev1.md +4 -4
- package/packages/@monomind/cli/.claude/commands/mastermind/architect.md +6 -6
- package/packages/@monomind/cli/.claude/commands/mastermind/autodev.md +5 -5
- package/packages/@monomind/cli/.claude/commands/mastermind/brain.md +2 -2
- package/packages/@monomind/cli/.claude/commands/mastermind/build.md +6 -6
- package/packages/@monomind/cli/.claude/commands/mastermind/code-review.md +2 -2
- package/packages/@monomind/cli/.claude/commands/mastermind/content.md +6 -6
- package/packages/@monomind/cli/.claude/commands/mastermind/createorg.md +4 -4
- package/packages/@monomind/cli/.claude/commands/mastermind/createtask.md +3 -3
- package/packages/@monomind/cli/.claude/commands/mastermind/debug.md +5 -5
- package/packages/@monomind/cli/.claude/commands/mastermind/design.md +5 -5
- package/packages/@monomind/cli/.claude/commands/mastermind/do.md +2 -2
- package/packages/@monomind/cli/.claude/commands/mastermind/execute.md +5 -5
- package/packages/@monomind/cli/.claude/commands/mastermind/finance.md +6 -6
- package/packages/@monomind/cli/.claude/commands/mastermind/finish.md +5 -5
- package/packages/@monomind/cli/.claude/commands/mastermind/idea.md +6 -6
- package/packages/@monomind/cli/.claude/commands/mastermind/ideate.md +5 -5
- package/packages/@monomind/cli/.claude/commands/mastermind/improve.md +6 -6
- package/packages/@monomind/cli/.claude/commands/mastermind/marketing.md +6 -6
- package/packages/@monomind/cli/.claude/commands/mastermind/master.md +54 -54
- package/packages/@monomind/cli/.claude/commands/mastermind/ops.md +6 -6
- package/packages/@monomind/cli/.claude/commands/mastermind/orgs.md +2 -2
- package/packages/@monomind/cli/.claude/commands/mastermind/orgstatus.md +2 -2
- package/packages/@monomind/cli/.claude/commands/mastermind/plan.md +5 -5
- package/packages/@monomind/cli/.claude/commands/mastermind/receive-review.md +5 -5
- package/packages/@monomind/cli/.claude/commands/mastermind/release.md +6 -6
- package/packages/@monomind/cli/.claude/commands/mastermind/research.md +6 -6
- package/packages/@monomind/cli/.claude/commands/mastermind/review.md +6 -6
- package/packages/@monomind/cli/.claude/commands/mastermind/runorg.md +4 -4
- package/packages/@monomind/cli/.claude/commands/mastermind/runorgv1.md +5 -5
- package/packages/@monomind/cli/.claude/commands/mastermind/sales.md +6 -6
- package/packages/@monomind/cli/.claude/commands/mastermind/skill-builder.md +5 -5
- package/packages/@monomind/cli/.claude/commands/mastermind/stoporg.md +3 -3
- package/packages/@monomind/cli/.claude/commands/mastermind/taskdev.md +5 -5
- package/packages/@monomind/cli/.claude/commands/mastermind/tdd.md +5 -5
- package/packages/@monomind/cli/.claude/commands/mastermind/techport.md +5 -5
- package/packages/@monomind/cli/.claude/commands/mastermind/verify.md +5 -5
- package/packages/@monomind/cli/.claude/commands/mastermind/worktree.md +5 -5
- package/packages/@monomind/cli/.claude/helpers/control-start.cjs +30 -0
- package/packages/@monomind/cli/.claude/helpers/utils/monograph.cjs +44 -12
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/access.md → mastermind-access/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/activity.md → mastermind-activity/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/adapter-manager.md → mastermind-adapter-manager/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/adapters.md → mastermind-adapters/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/agent-detail.md → mastermind-agent-detail/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/agents.md → mastermind-agents/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/approval-detail.md → mastermind-approval-detail/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/approvev1.md → mastermind-approvev1/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/architect.md → mastermind-architect/SKILL.md} +7 -7
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/autodev.md → mastermind-autodev/SKILL.md} +10 -10
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/backup.md → mastermind-backup/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/bootstrap.md → mastermind-bootstrap/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/budgets.md → mastermind-budgets/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/build.md → mastermind-build/SKILL.md} +5 -5
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/companies.md → mastermind-companies/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/content.md → mastermind-content/SKILL.md} +5 -5
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/costs.md → mastermind-costs/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/createorg.md → mastermind-createorg/SKILL.md} +3 -3
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/debug.md → mastermind-debug/SKILL.md} +4 -4
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/_delegation.md → mastermind-delegation/SKILL.md} +1 -1
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/design.md → mastermind-design/SKILL.md} +9 -9
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/diagnose.md → mastermind-diagnose/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/env.md → mastermind-env/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/environments.md → mastermind-environments/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/execute.md → mastermind-execute/SKILL.md} +10 -10
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/export.md → mastermind-export/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/finance.md → mastermind-finance/SKILL.md} +5 -5
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/goal-detail.md → mastermind-goal-detail/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/goals.md → mastermind-goals/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/heartbeatv1.md → mastermind-heartbeatv1/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/idea.md → mastermind-idea/SKILL.md} +7 -7
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/import.md → mastermind-import/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/inbox.md → mastermind-inbox/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/instance.md → mastermind-instance/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/instance-settings.md → mastermind-instance-settings/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/invite-landing.md → mastermind-invite-landing/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/invites.md → mastermind-invites/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/issue-detail.md → mastermind-issue-detail/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/issues.md → mastermind-issues/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/join-queue.md → mastermind-join-queue/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/liveness.md → mastermind-liveness/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/marketing.md → mastermind-marketing/SKILL.md} +8 -8
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/memory.md → mastermind-memory/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/monitor.md → mastermind-monitor/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/my-issues.md → mastermind-my-issues/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/new-agent.md → mastermind-new-agent/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/ops.md → mastermind-ops/SKILL.md} +5 -5
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/org-chart.md → mastermind-org-chart/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/org-settings.md → mastermind-org-settings/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/orgs.md → mastermind-orgs/SKILL.md} +1 -1
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/orgstatus.md → mastermind-orgstatus/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/plan.md → mastermind-plan/SKILL.md} +7 -7
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/plan-to-tasks.md → mastermind-plan-to-tasks/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/plugin-manager.md → mastermind-plugin-manager/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/plugin-settings.md → mastermind-plugin-settings/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/plugins.md → mastermind-plugins/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/profile.md → mastermind-profile/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/project-detail.md → mastermind-project-detail/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/project-workspace.md → mastermind-project-workspace/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/projects.md → mastermind-projects/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/_protocol.md → mastermind-protocol/SKILL.md} +3 -3
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/release.md → mastermind-release/SKILL.md} +5 -5
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/_repeat.md → mastermind-repeat/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/research.md → mastermind-research/SKILL.md} +5 -5
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/review.md → mastermind-review/SKILL.md} +5 -5
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/routine-detail.md → mastermind-routine-detail/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/routines.md → mastermind-routines/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/runorgv1.md → mastermind-runorgv1/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/sales.md → mastermind-sales/SKILL.md} +5 -5
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/search.md → mastermind-search/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/secrets.md → mastermind-secrets/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/skill-builder.md → mastermind-skill-builder/SKILL.md} +16 -14
- package/packages/@monomind/cli/.claude/skills/mastermind-skills/{skills.md → SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/stoporg.md → mastermind-stoporg/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/taskdev.md → mastermind-taskdev/SKILL.md} +6 -6
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills → mastermind-taskdev}/implementer-prompt.md +1 -1
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/tasks.md → mastermind-tasks/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/tdd.md → mastermind-tdd/SKILL.md} +4 -4
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/techport.md → mastermind-techport/SKILL.md} +5 -5
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/threads.md → mastermind-threads/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/tree-control.md → mastermind-tree-control/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/verify.md → mastermind-verify/SKILL.md} +1 -1
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/wiki.md → mastermind-wiki/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/workspace-detail.md → mastermind-workspace-detail/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/{mastermind-skills/workspaces.md → mastermind-workspaces/SKILL.md} +2 -2
- package/packages/@monomind/cli/.claude/skills/monodesign/SKILL.md +114 -190
- package/packages/@monomind/cli/.claude/skills/monodesign/adapt.md +1 -1
- package/packages/@monomind/cli/.claude/skills/monodesign/agents/monodesign-asset-producer.md +4 -4
- package/packages/@monomind/cli/.claude/skills/monodesign/agents/monodesign-manual-edit-applier.md +103 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/audit.md +1 -1
- package/packages/@monomind/cli/.claude/skills/monodesign/craft.md +2 -2
- package/packages/@monomind/cli/.claude/skills/monodesign/critique.md +1 -1
- package/packages/@monomind/cli/.claude/skills/monodesign/init.md +30 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/layout.md +36 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/live.md +19 -44
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/adapt.md +122 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/adapt.native.md +58 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/android.md +40 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/animate.md +39 -11
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/antipatterns-catalog.md +22 -16
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/audit.md +5 -3
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/audit.native.md +139 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/bolder.md +71 -64
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/brand.md +12 -18
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/clarify.md +114 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/codex.md +4 -6
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/colorize.md +108 -5
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/craft.md +70 -143
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/critique.md +635 -68
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/delight.md +1 -1
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/distill.md +1 -1
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/document.md +24 -22
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/extract.md +1 -1
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/hooks.md +22 -29
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/init.md +221 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/interaction-design.md +0 -6
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/ios.md +45 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/layout.md +57 -13
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/live.md +159 -63
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/overdrive.md +1 -1
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/personas.md +1 -1
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/polish.md +16 -8
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/pre-delivery-checklist.md +1 -1
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/product.md +1 -3
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/quieter.md +1 -1
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/shape.md +27 -13
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/teach.md +6 -152
- package/packages/@monomind/cli/.claude/skills/monodesign/reference/typeset.md +180 -3
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/command-metadata.json +94 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/context-signals.mjs +227 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/context.mjs +1062 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/critique-storage.mjs +243 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detect-csp.mjs +199 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detect.mjs +34 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/browser/injected/index.mjs +1938 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/cli/main.mjs +322 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/design-system.mjs +815 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/detect-antipatterns-browser.js +5246 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/detect-antipatterns.mjs +51 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/engines/browser/detect-url.mjs +260 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/engines/browser/drivers.mjs +259 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/engines/regex/detect-text.mjs +574 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/engines/static-html/css-cascade.mjs +1016 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/engines/static-html/detect-html.mjs +235 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/engines/visual/screenshot-contrast.mjs +199 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/findings.mjs +13 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/node/file-system.mjs +199 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/profile/profiler.mjs +167 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/registry/antipatterns.mjs +515 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/rules/checks.mjs +2704 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/shared/color.mjs +125 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/shared/constants.mjs +102 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/shared/fonts.mjs +31 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/shared/inline-ignores.mjs +149 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/shared/page.mjs +8 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/hook-admin.mjs +662 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/hook-before-edit.mjs +517 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/hook-lib.mjs +1777 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/hook.mjs +62 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/lib/design-parser.mjs +843 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/lib/is-generated.mjs +70 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/lib/monodesign-config.mjs +641 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/lib/monodesign-paths.mjs +130 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/lib/provider.mjs +5 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/lib/target-args.mjs +43 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live/browser-script-parts.mjs +51 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live/completion.mjs +20 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live/event-validation.mjs +138 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live/insert-ui.mjs +459 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live/manual-apply.mjs +940 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live/manual-edit-routes.mjs +358 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live/manual-edits-buffer.mjs +153 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live/session-store.mjs +290 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live/svelte-component.mjs +827 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live/sveltekit-adapter.mjs +275 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live/ui-core.mjs +181 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live/vocabulary.mjs +37 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-accept.mjs +813 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-browser-dom.js +147 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-browser-session.js +124 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-browser.js +11241 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-commit-manual-edits.mjs +1242 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-complete.mjs +76 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-copy-edit-agent.mjs +684 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-discard-manual-edits.mjs +52 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-inject.mjs +584 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-insert.mjs +273 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-manual-edit-evidence.mjs +364 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-poll.mjs +385 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-resume.mjs +95 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-server.mjs +1138 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-status.mjs +62 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-target.mjs +31 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-wrap.mjs +895 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live.mjs +298 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/modern-screenshot.umd.js +15 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/palette.mjs +634 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/scripts/pin.mjs +222 -0
- package/packages/@monomind/cli/.claude/skills/monodesign/teach.md +7 -58
- package/packages/@monomind/cli/dist/src/commands/design-detect.d.ts +7 -1
- package/packages/@monomind/cli/dist/src/commands/design-detect.js +70 -38
- package/packages/@monomind/cli/dist/src/commands/design-palette.d.ts +1 -1
- package/packages/@monomind/cli/dist/src/commands/design-palette.js +3 -3
- package/packages/@monomind/cli/dist/src/commands/doc.js +72 -15
- package/packages/@monomind/cli/dist/src/commands/doctor-project-checks.d.ts +4 -0
- package/packages/@monomind/cli/dist/src/commands/doctor-project-checks.js +23 -0
- package/packages/@monomind/cli/dist/src/commands/doctor.js +3 -3
- package/packages/@monomind/cli/dist/src/commands/org.js +109 -9
- package/packages/@monomind/cli/dist/src/init/executor.js +14 -3
- package/packages/@monomind/cli/dist/src/knowledge/document-pipeline.d.ts +2 -0
- package/packages/@monomind/cli/dist/src/knowledge/document-pipeline.js +1 -0
- package/packages/@monomind/cli/dist/src/mcp-tools/knowledge-tools.js +38 -7
- package/packages/@monomind/cli/dist/src/mcp-tools/memory-tools.d.ts +8 -3
- package/packages/@monomind/cli/dist/src/mcp-tools/memory-tools.js +193 -31
- package/packages/@monomind/cli/dist/src/memory/memory-bridge.d.ts +33 -0
- package/packages/@monomind/cli/dist/src/memory/memory-bridge.js +166 -17
- package/packages/@monomind/cli/dist/src/memory/memory-kg.d.ts +185 -0
- package/packages/@monomind/cli/dist/src/memory/memory-kg.js +449 -0
- package/packages/@monomind/cli/dist/src/memory/query-router.d.ts +44 -0
- package/packages/@monomind/cli/dist/src/memory/query-router.js +113 -0
- package/packages/@monomind/cli/dist/src/orgrt/daemon.d.ts +18 -0
- package/packages/@monomind/cli/dist/src/orgrt/daemon.js +249 -12
- package/packages/@monomind/cli/dist/src/orgrt/migrate.js +7 -0
- package/packages/@monomind/cli/dist/src/orgrt/policy.js +7 -0
- package/packages/@monomind/cli/dist/src/orgrt/session.d.ts +24 -1
- package/packages/@monomind/cli/dist/src/orgrt/session.js +18 -3
- package/packages/@monomind/cli/dist/src/orgrt/templates.d.ts +1 -0
- package/packages/@monomind/cli/dist/src/orgrt/templates.js +9 -4
- package/packages/@monomind/cli/dist/src/orgrt/types.d.ts +15 -0
- package/packages/@monomind/cli/dist/src/orgrt/types.js +2 -0
- package/packages/@monomind/cli/dist/src/ui/dashboard.html +154 -6
- package/packages/@monomind/cli/dist/src/ui/orgs.html +24 -0
- package/packages/@monomind/cli/dist/src/ui/server.mjs +162 -12
- package/packages/@monomind/cli/package.json +5 -3
- /package/packages/@monomind/cli/.claude/skills/{mastermind-skills/_agent-select.md → mastermind-agent-select/SKILL.md} +0 -0
- /package/packages/@monomind/cli/.claude/skills/{mastermind-skills/finish.md → mastermind-finish/SKILL.md} +0 -0
- /package/packages/@monomind/cli/.claude/skills/{mastermind-skills/_intake.md → mastermind-intake/SKILL.md} +0 -0
- /package/packages/@monomind/cli/.claude/skills/{mastermind-skills → mastermind-marketing}/references/copywriting-frameworks.md +0 -0
- /package/packages/@monomind/cli/.claude/skills/{mastermind-skills → mastermind-marketing}/references/persuasion-psychology.md +0 -0
- /package/packages/@monomind/cli/.claude/skills/{mastermind-skills/monotask.md → mastermind-monotask/SKILL.md} +0 -0
- /package/packages/@monomind/cli/.claude/skills/{mastermind-skills/receive-review.md → mastermind-receive-review/SKILL.md} +0 -0
- /package/packages/@monomind/cli/.claude/skills/{mastermind-skills/runorg.md → mastermind-runorg/SKILL.md} +0 -0
- /package/packages/@monomind/cli/.claude/skills/{mastermind-skills → mastermind-taskdev}/code-quality-reviewer-prompt.md +0 -0
- /package/packages/@monomind/cli/.claude/skills/{mastermind-skills → mastermind-taskdev}/final-reviewer-prompt.md +0 -0
- /package/packages/@monomind/cli/.claude/skills/{mastermind-skills → mastermind-taskdev}/spec-reviewer-prompt.md +0 -0
- /package/packages/@monomind/cli/.claude/skills/{mastermind-skills/worktree.md → mastermind-worktree/SKILL.md} +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Memory MCP Tools — Phase 6 of ADR-053
|
|
3
3
|
*
|
|
4
|
-
* Exposes Memory backend operations as MCP tools
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* Exposes Memory backend operations as MCP tools: pattern store/search,
|
|
5
|
+
* usage-weighted feedback (EWMA), the conversation knowledge graph
|
|
6
|
+
* (memory_kg_*), session records, weight-aware GC, and bridge health.
|
|
7
7
|
*
|
|
8
8
|
* Security: All handlers validate input types, enforce length bounds,
|
|
9
9
|
* and sanitize error messages before returning to MCP callers.
|
|
@@ -107,7 +107,7 @@ export const memoryControllers = {
|
|
|
107
107
|
// ===== memory_pattern_store — Store via ReasoningBank =====
|
|
108
108
|
export const memoryPatternStore = {
|
|
109
109
|
name: 'memory_pattern-store',
|
|
110
|
-
description: 'Store a pattern
|
|
110
|
+
description: 'Store a reusable pattern (embedded, semantically searchable) in the patterns namespace',
|
|
111
111
|
inputSchema: {
|
|
112
112
|
type: 'object',
|
|
113
113
|
properties: {
|
|
@@ -149,7 +149,7 @@ export const memoryPatternStore = {
|
|
|
149
149
|
// ===== memory_pattern_search — Search via ReasoningBank =====
|
|
150
150
|
export const memoryPatternSearch = {
|
|
151
151
|
name: 'memory_pattern-search',
|
|
152
|
-
description: 'Search patterns
|
|
152
|
+
description: 'Search stored patterns — semantic when the local embedding model is available, keyword otherwise',
|
|
153
153
|
inputSchema: {
|
|
154
154
|
type: 'object',
|
|
155
155
|
properties: {
|
|
@@ -193,13 +193,14 @@ export const memoryPatternSearch = {
|
|
|
193
193
|
// ===== memory_feedback — Record task feedback =====
|
|
194
194
|
export const memoryFeedback = {
|
|
195
195
|
name: 'memory_feedback',
|
|
196
|
-
description: '
|
|
196
|
+
description: 'Rate the usefulness of memory entries that produced an answer. Pass the entryIds returned by a prior search — their feedback_weight is EWMA-updated and blended into future ranking. Idempotent per taskId.',
|
|
197
197
|
inputSchema: {
|
|
198
198
|
type: 'object',
|
|
199
199
|
properties: {
|
|
200
|
-
taskId: { type: 'string', description: 'Task identifier' },
|
|
200
|
+
taskId: { type: 'string', description: 'Task identifier (also the idempotency key — the same taskId never double-applies)' },
|
|
201
|
+
entryIds: { type: 'array', items: { type: 'string' }, description: 'Memory entry IDs (from search results) that were used for this task' },
|
|
201
202
|
success: { type: 'boolean', description: 'Whether task succeeded' },
|
|
202
|
-
quality: { type: 'number', description: 'Quality score (0-1)' },
|
|
203
|
+
quality: { type: 'number', description: 'Quality score (0-1); defaults from success (0.9/0.2)' },
|
|
203
204
|
agent: { type: 'string', description: 'Agent that performed the task' },
|
|
204
205
|
},
|
|
205
206
|
required: ['taskId'],
|
|
@@ -210,14 +211,28 @@ export const memoryFeedback = {
|
|
|
210
211
|
if (!taskId)
|
|
211
212
|
return { success: false, error: 'taskId is required (non-empty string, max 500 chars)' };
|
|
212
213
|
const bridge = await getBridge();
|
|
214
|
+
// Closed loop: apply the rating to the entries that were actually used.
|
|
215
|
+
const entryIds = Array.isArray(params.entryIds)
|
|
216
|
+
? params.entryIds.filter((x) => typeof x === 'string' && x.length > 0 && x.length <= 500).slice(0, 100)
|
|
217
|
+
: [];
|
|
218
|
+
let weighting = null;
|
|
219
|
+
if (entryIds.length) {
|
|
220
|
+
const score = typeof params.quality === 'number' && Number.isFinite(params.quality)
|
|
221
|
+
? Math.max(0, Math.min(1, params.quality))
|
|
222
|
+
: (params.success === true ? 0.9 : 0.2);
|
|
223
|
+
weighting = await bridge.bridgeApplyFeedback({ entryIds, score, ledgerKey: taskId });
|
|
224
|
+
}
|
|
225
|
+
// Keep the historical feedback-event record alongside the weighting.
|
|
213
226
|
const result = await bridge.bridgeRecordFeedback({
|
|
214
227
|
taskType: validateString(params.agent, 'agent', 200) ?? 'task',
|
|
215
228
|
action: taskId,
|
|
216
229
|
outcome: params.success === true ? 'success' : 'failure',
|
|
217
230
|
confidence: validateScore(params.quality, 0.85),
|
|
218
|
-
metadata: { taskId },
|
|
231
|
+
metadata: { taskId, entryIds },
|
|
219
232
|
});
|
|
220
|
-
|
|
233
|
+
if (!result)
|
|
234
|
+
return { success: false, error: 'Memory bridge not available. Use memory_store/memory_search instead.' };
|
|
235
|
+
return { ...result, weighting };
|
|
221
236
|
}
|
|
222
237
|
catch (error) {
|
|
223
238
|
return { success: false, error: sanitizeError(error) };
|
|
@@ -227,14 +242,15 @@ export const memoryFeedback = {
|
|
|
227
242
|
// ===== memory_causal_edge — Record causal relationships =====
|
|
228
243
|
export const memoryCausalEdge = {
|
|
229
244
|
name: 'memory_causal-edge',
|
|
230
|
-
description: 'Record a causal
|
|
245
|
+
description: 'Record a causal relationship between two named things as a real knowledge-graph edge (traversable via memory_kg_search)',
|
|
231
246
|
inputSchema: {
|
|
232
247
|
type: 'object',
|
|
233
248
|
properties: {
|
|
234
|
-
sourceId: { type: 'string', description: 'Source entry ID' },
|
|
235
|
-
targetId: { type: 'string', description: 'Target entry ID' },
|
|
236
|
-
relation: { type: 'string', description: 'Relationship type (e.g.,
|
|
249
|
+
sourceId: { type: 'string', description: 'Source entity name (or entry ID)' },
|
|
250
|
+
targetId: { type: 'string', description: 'Target entity name (or entry ID)' },
|
|
251
|
+
relation: { type: 'string', description: 'Relationship type (e.g., causes, preceded, fixed_by)' },
|
|
237
252
|
weight: { type: 'number', description: 'Edge weight (0-1)' },
|
|
253
|
+
description: { type: 'string', description: 'One-sentence concrete fact for this edge' },
|
|
238
254
|
},
|
|
239
255
|
required: ['sourceId', 'targetId', 'relation'],
|
|
240
256
|
},
|
|
@@ -249,14 +265,151 @@ export const memoryCausalEdge = {
|
|
|
249
265
|
return { success: false, error: 'targetId is required (non-empty string)' };
|
|
250
266
|
if (!relation)
|
|
251
267
|
return { success: false, error: 'relation is required (non-empty string)' };
|
|
252
|
-
const
|
|
253
|
-
const result = await
|
|
254
|
-
sourceId,
|
|
255
|
-
targetId,
|
|
256
|
-
|
|
257
|
-
strength: typeof params.weight === 'number' ? validateScore(params.weight, 0.5) : undefined,
|
|
268
|
+
const kg = await import('../memory/memory-kg.js');
|
|
269
|
+
const result = await kg.kgIngest({
|
|
270
|
+
nodes: [{ name: sourceId }, { name: targetId }],
|
|
271
|
+
edges: [{ source: sourceId, target: targetId, relation, description: validateString(params.description, 'description', 2000) ?? undefined }],
|
|
272
|
+
originRef: 'causal-edge-tool',
|
|
258
273
|
});
|
|
259
|
-
return result
|
|
274
|
+
return result;
|
|
275
|
+
}
|
|
276
|
+
catch (error) {
|
|
277
|
+
return { success: false, error: sanitizeError(error) };
|
|
278
|
+
}
|
|
279
|
+
},
|
|
280
|
+
};
|
|
281
|
+
// ===== memory_kg_* — Conversation/org knowledge graph =====
|
|
282
|
+
export const memoryKgIngest = {
|
|
283
|
+
name: 'memory_kg_ingest',
|
|
284
|
+
description: 'Merge extracted entities/relations (and optionally distilled rules) into the persistent knowledge graph. Same-name entities merge idempotently. Call with LLM-extracted nodes/edges — basic types ("Person", "Tool"), coreference-resolved fullest names, snake_case relations, one-sentence edge facts. Pass rawText instead to use the lower-trust regex extractor.',
|
|
285
|
+
inputSchema: {
|
|
286
|
+
type: 'object',
|
|
287
|
+
properties: {
|
|
288
|
+
nodes: { type: 'array', items: { type: 'object' }, description: 'Entities: [{name, type?, description?, nodeSet?}]' },
|
|
289
|
+
edges: { type: 'array', items: { type: 'object' }, description: 'Relations: [{source, target, relation, description?}]' },
|
|
290
|
+
rules: { type: 'array', items: { type: 'object' }, description: 'Distilled durable rules: [{rule, context?}] — deduped semantically against existing rules' },
|
|
291
|
+
rawText: { type: 'string', description: 'Fallback: raw text for regex-based extraction (no LLM)' },
|
|
292
|
+
originRef: { type: 'string', description: 'Provenance ref (session/run/doc id) — enables memory_kg_rollback' },
|
|
293
|
+
},
|
|
294
|
+
required: ['originRef'],
|
|
295
|
+
},
|
|
296
|
+
handler: async (params) => {
|
|
297
|
+
try {
|
|
298
|
+
const originRef = validateString(params.originRef, 'originRef', 500);
|
|
299
|
+
if (!originRef)
|
|
300
|
+
return { success: false, error: 'originRef is required' };
|
|
301
|
+
const kg = await import('../memory/memory-kg.js');
|
|
302
|
+
let nodes = Array.isArray(params.nodes) ? params.nodes : [];
|
|
303
|
+
let edges = Array.isArray(params.edges) ? params.edges : [];
|
|
304
|
+
if (!nodes.length && !edges.length && typeof params.rawText === 'string' && params.rawText.trim()) {
|
|
305
|
+
const extracted = kg.heuristicExtract(params.rawText, { sourceName: originRef });
|
|
306
|
+
nodes = extracted.nodes;
|
|
307
|
+
edges = extracted.edges;
|
|
308
|
+
}
|
|
309
|
+
const graph = (nodes.length || edges.length)
|
|
310
|
+
? await kg.kgIngest({ nodes, edges, originRef })
|
|
311
|
+
: { success: true, nodesAdded: 0, nodesMerged: 0, edgesAdded: 0, edgesMerged: 0 };
|
|
312
|
+
const rules = Array.isArray(params.rules) && params.rules.length
|
|
313
|
+
? await kg.kgIngestRules({ rules: params.rules, originRef })
|
|
314
|
+
: null;
|
|
315
|
+
return { ...graph, rules };
|
|
316
|
+
}
|
|
317
|
+
catch (error) {
|
|
318
|
+
return { success: false, error: sanitizeError(error) };
|
|
319
|
+
}
|
|
320
|
+
},
|
|
321
|
+
};
|
|
322
|
+
export const memoryKgSearch = {
|
|
323
|
+
name: 'memory_kg_search',
|
|
324
|
+
description: 'Search the knowledge graph: vector-seeded entities expanded to ranked relationship triplets. Returns rendered context lines plus seed entry ids (rate them via memory_feedback).',
|
|
325
|
+
inputSchema: {
|
|
326
|
+
type: 'object',
|
|
327
|
+
properties: {
|
|
328
|
+
query: { type: 'string', description: 'Natural-language query' },
|
|
329
|
+
limit: { type: 'number', description: 'Max triplets (default 8)' },
|
|
330
|
+
nodeSet: { type: 'string', description: "Filter to a node set (e.g. 'rules')" },
|
|
331
|
+
},
|
|
332
|
+
required: ['query'],
|
|
333
|
+
},
|
|
334
|
+
handler: async (params) => {
|
|
335
|
+
try {
|
|
336
|
+
const query = validateString(params.query, 'query', 2000);
|
|
337
|
+
if (!query)
|
|
338
|
+
return { success: false, error: 'query is required' };
|
|
339
|
+
const kg = await import('../memory/memory-kg.js');
|
|
340
|
+
return await kg.kgSearch({
|
|
341
|
+
query,
|
|
342
|
+
limit: validatePositiveInt(params.limit, 8, 50),
|
|
343
|
+
nodeSet: validateString(params.nodeSet, 'nodeSet', 100) ?? undefined,
|
|
344
|
+
});
|
|
345
|
+
}
|
|
346
|
+
catch (error) {
|
|
347
|
+
return { success: false, error: sanitizeError(error) };
|
|
348
|
+
}
|
|
349
|
+
},
|
|
350
|
+
};
|
|
351
|
+
export const memoryKgRollback = {
|
|
352
|
+
name: 'memory_kg_rollback',
|
|
353
|
+
description: 'Delete all knowledge-graph nodes/edges/rules whose only provenance is the given originRef (bad-ingest recovery). Elements shared with other origins are retained.',
|
|
354
|
+
inputSchema: {
|
|
355
|
+
type: 'object',
|
|
356
|
+
properties: {
|
|
357
|
+
originRef: { type: 'string', description: 'The provenance ref to roll back (session/run/doc id)' },
|
|
358
|
+
},
|
|
359
|
+
required: ['originRef'],
|
|
360
|
+
},
|
|
361
|
+
handler: async (params) => {
|
|
362
|
+
try {
|
|
363
|
+
const originRef = validateString(params.originRef, 'originRef', 500);
|
|
364
|
+
if (!originRef)
|
|
365
|
+
return { success: false, error: 'originRef is required' };
|
|
366
|
+
const kg = await import('../memory/memory-kg.js');
|
|
367
|
+
return await kg.kgRollback({ originRef });
|
|
368
|
+
}
|
|
369
|
+
catch (error) {
|
|
370
|
+
return { success: false, error: sanitizeError(error) };
|
|
371
|
+
}
|
|
372
|
+
},
|
|
373
|
+
};
|
|
374
|
+
export const memoryKgConsolidate = {
|
|
375
|
+
name: 'memory_kg_consolidate',
|
|
376
|
+
description: 'List knowledge-graph entities whose descriptions lag their connectivity, with neighborhood facts. YOU do the consolidation: rewrite each candidate\'s description as one canonical paragraph merging the facts, then resubmit via memory_kg_ingest (richer descriptions win on merge).',
|
|
377
|
+
inputSchema: {
|
|
378
|
+
type: 'object',
|
|
379
|
+
properties: {
|
|
380
|
+
minEdges: { type: 'number', description: 'Minimum relations for a candidate (default 3)' },
|
|
381
|
+
limit: { type: 'number', description: 'Max candidates (default 10)' },
|
|
382
|
+
},
|
|
383
|
+
},
|
|
384
|
+
handler: async (params) => {
|
|
385
|
+
try {
|
|
386
|
+
const kg = await import('../memory/memory-kg.js');
|
|
387
|
+
const candidates = await kg.kgConsolidateCandidates({
|
|
388
|
+
minEdges: validatePositiveInt(params.minEdges, 3, 100),
|
|
389
|
+
limit: validatePositiveInt(params.limit, 10, 50),
|
|
390
|
+
});
|
|
391
|
+
return { success: true, candidates };
|
|
392
|
+
}
|
|
393
|
+
catch (error) {
|
|
394
|
+
return { success: false, error: sanitizeError(error) };
|
|
395
|
+
}
|
|
396
|
+
},
|
|
397
|
+
};
|
|
398
|
+
export const memoryKgStats = {
|
|
399
|
+
name: 'memory_kg_stats',
|
|
400
|
+
description: 'Knowledge graph size: node, edge, and rule counts (plus the entity glossary for extraction prompts)',
|
|
401
|
+
inputSchema: {
|
|
402
|
+
type: 'object',
|
|
403
|
+
properties: {
|
|
404
|
+
glossary: { type: 'boolean', description: 'Include top entity names (default false)' },
|
|
405
|
+
},
|
|
406
|
+
},
|
|
407
|
+
handler: async (params) => {
|
|
408
|
+
try {
|
|
409
|
+
const kg = await import('../memory/memory-kg.js');
|
|
410
|
+
const stats = await kg.kgStats();
|
|
411
|
+
const glossary = params.glossary === true ? await kg.kgGlossary() : undefined;
|
|
412
|
+
return { success: true, ...stats, ...(glossary ? { glossary } : {}) };
|
|
260
413
|
}
|
|
261
414
|
catch (error) {
|
|
262
415
|
return { success: false, error: sanitizeError(error) };
|
|
@@ -266,7 +419,7 @@ export const memoryCausalEdge = {
|
|
|
266
419
|
// ===== memory_route — Route via SemanticRouter =====
|
|
267
420
|
export const memoryRoute = {
|
|
268
421
|
name: 'memory_route',
|
|
269
|
-
description: '
|
|
422
|
+
description: 'Suggest agent routing for a task by searching past routing patterns',
|
|
270
423
|
inputSchema: {
|
|
271
424
|
type: 'object',
|
|
272
425
|
properties: {
|
|
@@ -292,7 +445,7 @@ export const memoryRoute = {
|
|
|
292
445
|
// ===== memory_session_start — Session with ReflexionMemory =====
|
|
293
446
|
export const memorySessionStart = {
|
|
294
447
|
name: 'memory_session-start',
|
|
295
|
-
description: '
|
|
448
|
+
description: 'Record a session start in the sessions namespace',
|
|
296
449
|
inputSchema: {
|
|
297
450
|
type: 'object',
|
|
298
451
|
properties: {
|
|
@@ -321,7 +474,7 @@ export const memorySessionStart = {
|
|
|
321
474
|
// ===== memory_session_end — End session + NightlyLearner =====
|
|
322
475
|
export const memorySessionEnd = {
|
|
323
476
|
name: 'memory_session-end',
|
|
324
|
-
description: '
|
|
477
|
+
description: 'Record session end with summary and metrics in the sessions namespace',
|
|
325
478
|
inputSchema: {
|
|
326
479
|
type: 'object',
|
|
327
480
|
properties: {
|
|
@@ -352,7 +505,7 @@ export const memorySessionEnd = {
|
|
|
352
505
|
// ===== memory_hierarchical_store — Store to hierarchical memory =====
|
|
353
506
|
export const memoryHierarchicalStore = {
|
|
354
507
|
name: 'memory_hierarchical-store',
|
|
355
|
-
description: 'Store
|
|
508
|
+
description: 'Store into a tier-labeled namespace (tier_working/episodic/semantic). Note: tiers are labels, not automatic promotion',
|
|
356
509
|
inputSchema: {
|
|
357
510
|
type: 'object',
|
|
358
511
|
properties: {
|
|
@@ -391,7 +544,7 @@ export const memoryHierarchicalStore = {
|
|
|
391
544
|
// ===== memory_hierarchical_recall — Recall from hierarchical memory =====
|
|
392
545
|
export const memoryHierarchicalRecall = {
|
|
393
546
|
name: 'memory_hierarchical-recall',
|
|
394
|
-
description: '
|
|
547
|
+
description: 'Search tier-labeled namespaces (tier_working/episodic/semantic), or all when no tier given',
|
|
395
548
|
inputSchema: {
|
|
396
549
|
type: 'object',
|
|
397
550
|
properties: {
|
|
@@ -426,12 +579,13 @@ export const memoryHierarchicalRecall = {
|
|
|
426
579
|
// ===== memory_consolidate — Run memory consolidation =====
|
|
427
580
|
export const memoryConsolidate = {
|
|
428
581
|
name: 'memory_consolidate',
|
|
429
|
-
description: '
|
|
582
|
+
description: 'Garbage-collect stale, unused memory entries. Weight-aware: entries with high feedback_weight or repeated usage are never collected.',
|
|
430
583
|
inputSchema: {
|
|
431
584
|
type: 'object',
|
|
432
585
|
properties: {
|
|
433
|
-
minAge: { type: 'number', description: 'Minimum age in hours since
|
|
434
|
-
maxEntries: { type: 'number', description: 'Maximum entries to
|
|
586
|
+
minAge: { type: 'number', description: 'Minimum age in hours since last update (optional, default 168 = 7 days)' },
|
|
587
|
+
maxEntries: { type: 'number', description: 'Maximum entries to scan (optional)' },
|
|
588
|
+
namespace: { type: 'string', description: "Namespace to GC, or 'all' for every non-protected namespace (optional)" },
|
|
435
589
|
},
|
|
436
590
|
},
|
|
437
591
|
handler: async (params) => {
|
|
@@ -440,14 +594,17 @@ export const memoryConsolidate = {
|
|
|
440
594
|
// Reject NaN and Infinity. typeof === 'number' returns true for both.
|
|
441
595
|
// NaN propagates through arithmetic and corrupts consolidation accounting;
|
|
442
596
|
// Infinity makes `entry.age >= minAge` always false, silently no-op.
|
|
597
|
+
// The bridge expects MILLISECONDS; this param is documented in hours —
|
|
598
|
+
// convert here (previously passed through raw, so 720 hours became 720ms).
|
|
443
599
|
const minAge = typeof params.minAge === 'number' && Number.isFinite(params.minAge)
|
|
444
|
-
? Math.max(0, Math.min(params.minAge, 24 * 365 * 10))
|
|
600
|
+
? Math.max(0, Math.min(params.minAge, 24 * 365 * 10)) * 3600 * 1000
|
|
445
601
|
: undefined;
|
|
446
602
|
const result = await bridge.bridgeConsolidate({
|
|
447
603
|
minAge,
|
|
448
604
|
maxEntries: params.maxEntries !== undefined
|
|
449
605
|
? validatePositiveInt(params.maxEntries, 1000, 10_000)
|
|
450
606
|
: undefined,
|
|
607
|
+
namespace: validateString(params.namespace, 'namespace', 128) ?? undefined,
|
|
451
608
|
});
|
|
452
609
|
return result ?? { success: false, error: 'Memory bridge not available. Use memory_store/memory_search instead.' };
|
|
453
610
|
}
|
|
@@ -533,7 +690,7 @@ export const memoryBatch = {
|
|
|
533
690
|
// ===== memory_context_synthesize — Synthesize context from memories =====
|
|
534
691
|
export const memoryContextSynthesize = {
|
|
535
692
|
name: 'memory_context-synthesize',
|
|
536
|
-
description: '
|
|
693
|
+
description: 'Concatenate top matching memories into a context block for a query (no summarization)',
|
|
537
694
|
inputSchema: {
|
|
538
695
|
type: 'object',
|
|
539
696
|
properties: {
|
|
@@ -601,6 +758,11 @@ export const memoryTools = [
|
|
|
601
758
|
memoryPatternSearch,
|
|
602
759
|
memoryFeedback,
|
|
603
760
|
memoryCausalEdge,
|
|
761
|
+
memoryKgIngest,
|
|
762
|
+
memoryKgSearch,
|
|
763
|
+
memoryKgRollback,
|
|
764
|
+
memoryKgConsolidate,
|
|
765
|
+
memoryKgStats,
|
|
604
766
|
memoryRoute,
|
|
605
767
|
memorySessionStart,
|
|
606
768
|
memorySessionEnd,
|
|
@@ -26,6 +26,8 @@ export declare function bridgeStoreEntry(options: {
|
|
|
26
26
|
ttl?: number;
|
|
27
27
|
dbPath?: string;
|
|
28
28
|
upsert?: boolean;
|
|
29
|
+
/** Structured metadata persisted on the entry (KG nodes/edges, weights, provenance). */
|
|
30
|
+
metadata?: Record<string, unknown>;
|
|
29
31
|
}): Promise<{
|
|
30
32
|
success: boolean;
|
|
31
33
|
id: string;
|
|
@@ -77,6 +79,7 @@ export declare function bridgeListEntries(options: {
|
|
|
77
79
|
updatedAt: string;
|
|
78
80
|
hasEmbedding: boolean;
|
|
79
81
|
tags: string[];
|
|
82
|
+
metadata: Record<string, unknown>;
|
|
80
83
|
}[];
|
|
81
84
|
total: number;
|
|
82
85
|
error?: string;
|
|
@@ -99,6 +102,7 @@ export declare function bridgeGetEntry(options: {
|
|
|
99
102
|
updatedAt: string;
|
|
100
103
|
hasEmbedding: boolean;
|
|
101
104
|
tags: string[];
|
|
105
|
+
metadata: Record<string, unknown>;
|
|
102
106
|
};
|
|
103
107
|
cacheHit?: boolean;
|
|
104
108
|
error?: string;
|
|
@@ -199,6 +203,31 @@ export declare function bridgeSearchPatterns(options: {
|
|
|
199
203
|
}[];
|
|
200
204
|
error?: string;
|
|
201
205
|
} | null>;
|
|
206
|
+
/** Record that these entries were actually USED (returned to and consumed by a
|
|
207
|
+
* caller) — increments frequency_weight, which feeds the ranking blend. */
|
|
208
|
+
export declare function bridgeRecordUsage(options: {
|
|
209
|
+
entryIds: string[];
|
|
210
|
+
dbPath?: string;
|
|
211
|
+
}): Promise<{
|
|
212
|
+
success: boolean;
|
|
213
|
+
updated: number;
|
|
214
|
+
} | null>;
|
|
215
|
+
/** Apply a usefulness rating to the entries that produced an answer:
|
|
216
|
+
* EWMA feedback_weight' = w + alpha*(score - w), clipped [0,1] (cognee's
|
|
217
|
+
* apply_feedback_weights). `ledgerKey` makes application idempotent — a
|
|
218
|
+
* daemon retry or duplicate MCP call must never compound the update. */
|
|
219
|
+
export declare function bridgeApplyFeedback(options: {
|
|
220
|
+
entryIds: string[];
|
|
221
|
+
score: number;
|
|
222
|
+
ledgerKey?: string;
|
|
223
|
+
alpha?: number;
|
|
224
|
+
dbPath?: string;
|
|
225
|
+
}): Promise<{
|
|
226
|
+
success: boolean;
|
|
227
|
+
applied: number;
|
|
228
|
+
alreadyApplied?: boolean;
|
|
229
|
+
error?: string;
|
|
230
|
+
} | null>;
|
|
202
231
|
export declare function bridgeRecordFeedback(options: {
|
|
203
232
|
taskType: string;
|
|
204
233
|
action: string;
|
|
@@ -275,8 +304,12 @@ export declare function bridgeHierarchicalRecall(params: {
|
|
|
275
304
|
topK?: number;
|
|
276
305
|
}): Promise<any>;
|
|
277
306
|
export declare function bridgeConsolidate(params: {
|
|
307
|
+
/** Minimum age in MILLISECONDS since last update (default 7 days). */
|
|
278
308
|
minAge?: number;
|
|
279
309
|
maxEntries?: number;
|
|
310
|
+
/** Namespace to GC; 'all' scans every non-protected namespace (default 'default'). */
|
|
311
|
+
namespace?: string;
|
|
312
|
+
dbPath?: string;
|
|
280
313
|
}): Promise<any>;
|
|
281
314
|
export declare function bridgeBatchOperation(params: {
|
|
282
315
|
operation: string;
|