@monoes/monomindcli 2.5.1 → 2.5.3
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/.claude/agents/design/design-monodesign.md +6 -6
- package/.claude/agents/github/repo-architect.md +3 -3
- package/.claude/agents/github/sync-coordinator.md +2 -2
- package/.claude/agents/specialists/integration-architect.md +4 -4
- package/.claude/commands/github/repo-architect.md +4 -4
- package/.claude/commands/github/sync-coordinator.md +2 -2
- package/.claude/commands/mastermind/_repeat.md +4 -4
- package/.claude/commands/mastermind/approvev1.md +4 -4
- package/.claude/commands/mastermind/architect.md +6 -6
- package/.claude/commands/mastermind/autodev.md +5 -5
- package/.claude/commands/mastermind/brain.md +2 -2
- package/.claude/commands/mastermind/build.md +6 -6
- package/.claude/commands/mastermind/code-review.md +2 -2
- package/.claude/commands/mastermind/content.md +6 -6
- package/.claude/commands/mastermind/createorg.md +4 -4
- package/.claude/commands/mastermind/createtask.md +3 -3
- package/.claude/commands/mastermind/debug.md +5 -5
- package/.claude/commands/mastermind/design.md +5 -5
- package/.claude/commands/mastermind/do.md +2 -2
- package/.claude/commands/mastermind/execute.md +5 -5
- package/.claude/commands/mastermind/finance.md +6 -6
- package/.claude/commands/mastermind/finish.md +5 -5
- package/.claude/commands/mastermind/idea.md +6 -6
- package/.claude/commands/mastermind/ideate.md +5 -5
- package/.claude/commands/mastermind/improve.md +6 -6
- package/.claude/commands/mastermind/marketing.md +6 -6
- package/.claude/commands/mastermind/master.md +54 -54
- package/.claude/commands/mastermind/ops.md +6 -6
- package/.claude/commands/mastermind/orgs.md +2 -2
- package/.claude/commands/mastermind/orgstatus.md +2 -2
- package/.claude/commands/mastermind/plan.md +5 -5
- package/.claude/commands/mastermind/receive-review.md +5 -5
- package/.claude/commands/mastermind/release.md +6 -6
- package/.claude/commands/mastermind/research.md +6 -6
- package/.claude/commands/mastermind/review.md +6 -6
- package/.claude/commands/mastermind/runorg.md +4 -4
- package/.claude/commands/mastermind/runorgv1.md +5 -5
- package/.claude/commands/mastermind/sales.md +6 -6
- package/.claude/commands/mastermind/skill-builder.md +5 -5
- package/.claude/commands/mastermind/stoporg.md +3 -3
- package/.claude/commands/mastermind/taskdev.md +5 -5
- package/.claude/commands/mastermind/tdd.md +5 -5
- package/.claude/commands/mastermind/techport.md +5 -5
- package/.claude/commands/mastermind/verify.md +5 -5
- package/.claude/commands/mastermind/worktree.md +5 -5
- package/.claude/helpers/control-start.cjs +30 -0
- package/.claude/helpers/event-logger.cjs +2 -2
- package/.claude/helpers/extras-registry.json +1 -1
- package/.claude/helpers/handlers/agent-start-handler.cjs +2 -2
- package/.claude/helpers/handlers/edit-handler.cjs +2 -2
- package/.claude/helpers/handlers/gates-handler.cjs +1 -1
- package/.claude/helpers/handlers/route-handler.cjs +1 -1
- package/.claude/helpers/handlers/session-handler.cjs +1 -1
- package/.claude/helpers/handlers/session-restore-handler.cjs +11 -11
- package/.claude/helpers/handlers/task-handler.cjs +2 -2
- package/.claude/helpers/hook-handler.cjs +8 -8
- package/.claude/helpers/utils/monograph.cjs +44 -12
- package/.claude/skills/{mastermind-skills/access.md → mastermind-access/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/activity.md → mastermind-activity/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/adapter-manager.md → mastermind-adapter-manager/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/adapters.md → mastermind-adapters/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/agent-detail.md → mastermind-agent-detail/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/agents.md → mastermind-agents/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/approval-detail.md → mastermind-approval-detail/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/approvev1.md → mastermind-approvev1/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/architect.md → mastermind-architect/SKILL.md} +7 -7
- package/.claude/skills/{mastermind-skills/autodev.md → mastermind-autodev/SKILL.md} +10 -10
- package/.claude/skills/{mastermind-skills/backup.md → mastermind-backup/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/bootstrap.md → mastermind-bootstrap/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/budgets.md → mastermind-budgets/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/build.md → mastermind-build/SKILL.md} +5 -5
- package/.claude/skills/{mastermind-skills/companies.md → mastermind-companies/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/content.md → mastermind-content/SKILL.md} +5 -5
- package/.claude/skills/{mastermind-skills/costs.md → mastermind-costs/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/createorg.md → mastermind-createorg/SKILL.md} +3 -3
- package/.claude/skills/{mastermind-skills/debug.md → mastermind-debug/SKILL.md} +4 -4
- package/.claude/skills/{mastermind-skills/_delegation.md → mastermind-delegation/SKILL.md} +1 -1
- package/.claude/skills/{mastermind-skills/design.md → mastermind-design/SKILL.md} +9 -9
- package/.claude/skills/{mastermind-skills/diagnose.md → mastermind-diagnose/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/env.md → mastermind-env/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/environments.md → mastermind-environments/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/execute.md → mastermind-execute/SKILL.md} +10 -10
- package/.claude/skills/{mastermind-skills/export.md → mastermind-export/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/finance.md → mastermind-finance/SKILL.md} +5 -5
- package/.claude/skills/{mastermind-skills/goal-detail.md → mastermind-goal-detail/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/goals.md → mastermind-goals/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/heartbeatv1.md → mastermind-heartbeatv1/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/idea.md → mastermind-idea/SKILL.md} +7 -7
- package/.claude/skills/{mastermind-skills/import.md → mastermind-import/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/inbox.md → mastermind-inbox/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/instance.md → mastermind-instance/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/instance-settings.md → mastermind-instance-settings/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/invite-landing.md → mastermind-invite-landing/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/invites.md → mastermind-invites/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/issue-detail.md → mastermind-issue-detail/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/issues.md → mastermind-issues/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/join-queue.md → mastermind-join-queue/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/liveness.md → mastermind-liveness/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/marketing.md → mastermind-marketing/SKILL.md} +8 -8
- package/.claude/skills/{mastermind-skills/memory.md → mastermind-memory/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/monitor.md → mastermind-monitor/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/my-issues.md → mastermind-my-issues/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/new-agent.md → mastermind-new-agent/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/ops.md → mastermind-ops/SKILL.md} +5 -5
- package/.claude/skills/{mastermind-skills/org-chart.md → mastermind-org-chart/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/org-settings.md → mastermind-org-settings/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/orgs.md → mastermind-orgs/SKILL.md} +1 -1
- package/.claude/skills/{mastermind-skills/orgstatus.md → mastermind-orgstatus/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/plan.md → mastermind-plan/SKILL.md} +7 -7
- package/.claude/skills/{mastermind-skills/plan-to-tasks.md → mastermind-plan-to-tasks/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/plugin-manager.md → mastermind-plugin-manager/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/plugin-settings.md → mastermind-plugin-settings/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/plugins.md → mastermind-plugins/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/profile.md → mastermind-profile/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/project-detail.md → mastermind-project-detail/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/project-workspace.md → mastermind-project-workspace/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/projects.md → mastermind-projects/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/_protocol.md → mastermind-protocol/SKILL.md} +3 -3
- package/.claude/skills/{mastermind-skills/release.md → mastermind-release/SKILL.md} +5 -5
- package/.claude/skills/{mastermind-skills/_repeat.md → mastermind-repeat/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/research.md → mastermind-research/SKILL.md} +5 -5
- package/.claude/skills/{mastermind-skills/review.md → mastermind-review/SKILL.md} +5 -5
- package/.claude/skills/{mastermind-skills/routine-detail.md → mastermind-routine-detail/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/routines.md → mastermind-routines/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/runorgv1.md → mastermind-runorgv1/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/sales.md → mastermind-sales/SKILL.md} +5 -5
- package/.claude/skills/{mastermind-skills/search.md → mastermind-search/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/secrets.md → mastermind-secrets/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/skill-builder.md → mastermind-skill-builder/SKILL.md} +16 -14
- package/.claude/skills/mastermind-skills/{skills.md → SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/stoporg.md → mastermind-stoporg/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/taskdev.md → mastermind-taskdev/SKILL.md} +6 -6
- package/.claude/skills/{mastermind-skills → mastermind-taskdev}/implementer-prompt.md +1 -1
- package/.claude/skills/{mastermind-skills/tasks.md → mastermind-tasks/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/tdd.md → mastermind-tdd/SKILL.md} +4 -4
- package/.claude/skills/{mastermind-skills/techport.md → mastermind-techport/SKILL.md} +6 -6
- package/.claude/skills/{mastermind-skills/threads.md → mastermind-threads/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/tree-control.md → mastermind-tree-control/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/verify.md → mastermind-verify/SKILL.md} +1 -1
- package/.claude/skills/{mastermind-skills/wiki.md → mastermind-wiki/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/workspace-detail.md → mastermind-workspace-detail/SKILL.md} +2 -2
- package/.claude/skills/{mastermind-skills/workspaces.md → mastermind-workspaces/SKILL.md} +2 -2
- package/.claude/skills/monodesign/SKILL.md +114 -190
- package/.claude/skills/monodesign/adapt.md +1 -1
- package/.claude/skills/monodesign/agents/monodesign-asset-producer.md +4 -4
- package/.claude/skills/monodesign/agents/monodesign-manual-edit-applier.md +103 -0
- package/.claude/skills/monodesign/audit.md +1 -1
- package/.claude/skills/monodesign/craft.md +2 -2
- package/.claude/skills/monodesign/critique.md +1 -1
- package/.claude/skills/monodesign/init.md +30 -0
- package/.claude/skills/monodesign/layout.md +36 -0
- package/.claude/skills/monodesign/live.md +19 -44
- package/.claude/skills/monodesign/reference/adapt.md +122 -0
- package/.claude/skills/monodesign/reference/adapt.native.md +58 -0
- package/.claude/skills/monodesign/reference/android.md +40 -0
- package/.claude/skills/monodesign/reference/animate.md +39 -11
- package/.claude/skills/monodesign/reference/antipatterns-catalog.md +67 -16
- package/.claude/skills/monodesign/reference/audit.md +5 -3
- package/.claude/skills/monodesign/reference/audit.native.md +139 -0
- package/.claude/skills/monodesign/reference/bolder.md +71 -64
- package/.claude/skills/monodesign/reference/brand.md +12 -18
- package/.claude/skills/monodesign/reference/clarify.md +114 -0
- package/.claude/skills/monodesign/reference/codex.md +4 -6
- package/.claude/skills/monodesign/reference/colorize.md +108 -5
- package/.claude/skills/monodesign/reference/craft.md +70 -143
- package/.claude/skills/monodesign/reference/critique.md +635 -68
- package/.claude/skills/monodesign/reference/delight.md +1 -1
- package/.claude/skills/monodesign/reference/distill.md +1 -1
- package/.claude/skills/monodesign/reference/document.md +24 -22
- package/.claude/skills/monodesign/reference/extract.md +1 -1
- package/.claude/skills/monodesign/reference/hooks.md +22 -29
- package/.claude/skills/monodesign/reference/init.md +221 -0
- package/.claude/skills/monodesign/reference/interaction-design.md +0 -6
- package/.claude/skills/monodesign/reference/ios.md +45 -0
- package/.claude/skills/monodesign/reference/layout.md +57 -13
- package/.claude/skills/monodesign/reference/live.md +159 -71
- package/.claude/skills/monodesign/reference/overdrive.md +1 -1
- package/.claude/skills/monodesign/reference/personas.md +1 -1
- package/.claude/skills/monodesign/reference/polish.md +16 -8
- package/.claude/skills/monodesign/reference/pre-delivery-checklist.md +1 -1
- package/.claude/skills/monodesign/reference/product.md +1 -3
- package/.claude/skills/monodesign/reference/quieter.md +1 -1
- package/.claude/skills/monodesign/reference/shape.md +27 -13
- package/.claude/skills/monodesign/reference/teach.md +6 -152
- package/.claude/skills/monodesign/reference/typeset.md +180 -3
- package/.claude/skills/monodesign/scripts/command-metadata.json +94 -0
- package/.claude/skills/monodesign/scripts/context-signals.mjs +260 -0
- package/.claude/skills/monodesign/scripts/context.mjs +1061 -0
- package/.claude/skills/monodesign/scripts/critique-storage.mjs +416 -0
- package/.claude/skills/monodesign/scripts/detect-csp.mjs +198 -0
- package/.claude/skills/monodesign/scripts/detect.mjs +33 -0
- package/.claude/skills/monodesign/scripts/detector/browser/injected/index.mjs +1962 -0
- package/.claude/skills/monodesign/scripts/detector/cli/main.mjs +321 -0
- package/.claude/skills/monodesign/scripts/detector/design-system.mjs +814 -0
- package/.claude/skills/monodesign/scripts/detector/detect-antipatterns-browser.js +5601 -0
- package/.claude/skills/monodesign/scripts/detector/detect-antipatterns.mjs +50 -0
- package/.claude/skills/monodesign/scripts/detector/engines/browser/detect-url.mjs +259 -0
- package/.claude/skills/monodesign/scripts/detector/engines/browser/drivers.mjs +258 -0
- package/.claude/skills/monodesign/scripts/detector/engines/regex/detect-text.mjs +636 -0
- package/.claude/skills/monodesign/scripts/detector/engines/static-html/css-cascade.mjs +1015 -0
- package/.claude/skills/monodesign/scripts/detector/engines/static-html/detect-html.mjs +253 -0
- package/.claude/skills/monodesign/scripts/detector/engines/visual/screenshot-contrast.mjs +198 -0
- package/.claude/skills/monodesign/scripts/detector/findings.mjs +12 -0
- package/.claude/skills/monodesign/scripts/detector/fix/css-regions.mjs +181 -0
- package/.claude/skills/monodesign/scripts/detector/fix/fixers.mjs +373 -0
- package/.claude/skills/monodesign/scripts/detector/fix/index.mjs +426 -0
- package/.claude/skills/monodesign/scripts/detector/node/file-system.mjs +198 -0
- package/.claude/skills/monodesign/scripts/detector/profile/profiler.mjs +166 -0
- package/.claude/skills/monodesign/scripts/detector/registry/antipatterns.mjs +563 -0
- package/.claude/skills/monodesign/scripts/detector/rules/checks.mjs +2995 -0
- package/.claude/skills/monodesign/scripts/detector/shared/color.mjs +124 -0
- package/.claude/skills/monodesign/scripts/detector/shared/constants.mjs +101 -0
- package/.claude/skills/monodesign/scripts/detector/shared/fonts.mjs +30 -0
- package/.claude/skills/monodesign/scripts/detector/shared/inline-ignores.mjs +148 -0
- package/.claude/skills/monodesign/scripts/detector/shared/page.mjs +7 -0
- package/.claude/skills/monodesign/scripts/hook-admin.mjs +661 -0
- package/.claude/skills/monodesign/scripts/hook-before-edit.mjs +516 -0
- package/.claude/skills/monodesign/scripts/hook-lib.mjs +1776 -0
- package/.claude/skills/monodesign/scripts/hook.mjs +61 -0
- package/.claude/skills/monodesign/scripts/lib/design-parser.mjs +842 -0
- package/.claude/skills/monodesign/scripts/lib/is-generated.mjs +69 -0
- package/.claude/skills/monodesign/scripts/lib/monodesign-config.mjs +640 -0
- package/.claude/skills/monodesign/scripts/lib/monodesign-paths.mjs +129 -0
- package/.claude/skills/monodesign/scripts/lib/provider.mjs +4 -0
- package/.claude/skills/monodesign/scripts/lib/target-args.mjs +42 -0
- package/.claude/skills/monodesign/scripts/live/browser-script-parts.mjs +50 -0
- package/.claude/skills/monodesign/scripts/live/completion.mjs +19 -0
- package/.claude/skills/monodesign/scripts/live/event-validation.mjs +137 -0
- package/.claude/skills/monodesign/scripts/live/insert-ui.mjs +458 -0
- package/.claude/skills/monodesign/scripts/live/manual-apply.mjs +939 -0
- package/.claude/skills/monodesign/scripts/live/manual-edit-routes.mjs +357 -0
- package/.claude/skills/monodesign/scripts/live/manual-edits-buffer.mjs +152 -0
- package/.claude/skills/monodesign/scripts/live/session-store.mjs +293 -0
- package/.claude/skills/monodesign/scripts/live/svelte-component.mjs +826 -0
- package/.claude/skills/monodesign/scripts/live/sveltekit-adapter.mjs +274 -0
- package/.claude/skills/monodesign/scripts/live/ui-core.mjs +180 -0
- package/.claude/skills/monodesign/scripts/live/vocabulary.mjs +36 -0
- package/.claude/skills/monodesign/scripts/live-accept.mjs +812 -0
- package/.claude/skills/monodesign/scripts/live-browser-dom.js +146 -0
- package/.claude/skills/monodesign/scripts/live-browser-session.js +123 -0
- package/.claude/skills/monodesign/scripts/live-browser.js +11240 -0
- package/.claude/skills/monodesign/scripts/live-commit-manual-edits.mjs +1241 -0
- package/.claude/skills/monodesign/scripts/live-complete.mjs +75 -0
- package/.claude/skills/monodesign/scripts/live-copy-edit-agent.mjs +683 -0
- package/.claude/skills/monodesign/scripts/live-discard-manual-edits.mjs +51 -0
- package/.claude/skills/monodesign/scripts/live-inject.mjs +583 -0
- package/.claude/skills/monodesign/scripts/live-insert.mjs +272 -0
- package/.claude/skills/monodesign/scripts/live-manual-edit-evidence.mjs +363 -0
- package/.claude/skills/monodesign/scripts/live-poll.mjs +384 -0
- package/.claude/skills/monodesign/scripts/live-resume.mjs +94 -0
- package/.claude/skills/monodesign/scripts/live-server.mjs +1137 -0
- package/.claude/skills/monodesign/scripts/live-status.mjs +61 -0
- package/.claude/skills/monodesign/scripts/live-target.mjs +30 -0
- package/.claude/skills/monodesign/scripts/live-wrap.mjs +894 -0
- package/.claude/skills/monodesign/scripts/live.mjs +297 -0
- package/.claude/skills/monodesign/scripts/modern-screenshot.umd.js +14 -0
- package/.claude/skills/monodesign/scripts/palette.mjs +633 -0
- package/.claude/skills/monodesign/scripts/pin.mjs +221 -0
- package/.claude/skills/monodesign/teach.md +7 -58
- package/README.md +1 -1
- package/dist/src/commands/design-detect.d.ts +7 -1
- package/dist/src/commands/design-detect.d.ts.map +1 -1
- package/dist/src/commands/design-detect.js +131 -38
- package/dist/src/commands/design-detect.js.map +1 -1
- package/dist/src/commands/design-palette.d.ts +0 -1
- package/dist/src/commands/design-palette.d.ts.map +1 -1
- package/dist/src/commands/design-palette.js +2 -3
- package/dist/src/commands/design-palette.js.map +1 -1
- package/dist/src/commands/doc.d.ts.map +1 -1
- package/dist/src/commands/doc.js +72 -15
- package/dist/src/commands/doc.js.map +1 -1
- package/dist/src/commands/doctor-project-checks.d.ts +5 -1
- package/dist/src/commands/doctor-project-checks.d.ts.map +1 -1
- package/dist/src/commands/doctor-project-checks.js +24 -1
- package/dist/src/commands/doctor-project-checks.js.map +1 -1
- package/dist/src/commands/doctor.js +3 -3
- package/dist/src/commands/doctor.js.map +1 -1
- package/dist/src/commands/hooks-workers.d.ts +1 -1
- package/dist/src/commands/hooks-workers.js +8 -8
- package/dist/src/commands/hooks-workers.js.map +1 -1
- package/dist/src/commands/init.js +2 -2
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/org.d.ts.map +1 -1
- package/dist/src/commands/org.js +109 -9
- package/dist/src/commands/org.js.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.js +3 -3
- package/dist/src/index.js.map +1 -1
- package/dist/src/init/claudemd-generator.js +5 -5
- package/dist/src/init/claudemd-generator.js.map +1 -1
- package/dist/src/init/executor.d.ts.map +1 -1
- package/dist/src/init/executor.js +17 -6
- package/dist/src/init/executor.js.map +1 -1
- package/dist/src/knowledge/document-pipeline.d.ts +2 -0
- package/dist/src/knowledge/document-pipeline.d.ts.map +1 -1
- package/dist/src/knowledge/document-pipeline.js +4 -1
- package/dist/src/knowledge/document-pipeline.js.map +1 -1
- package/dist/src/mcp-server.js +2 -2
- package/dist/src/mcp-server.js.map +1 -1
- package/dist/src/mcp-tools/hooks-intelligence.d.ts +1 -1
- package/dist/src/mcp-tools/hooks-intelligence.js +1 -1
- package/dist/src/mcp-tools/hooks-routing.js +2 -2
- package/dist/src/mcp-tools/hooks-routing.js.map +1 -1
- package/dist/src/mcp-tools/hooks-tools.js +1 -1
- package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
- package/dist/src/mcp-tools/knowledge-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/knowledge-tools.js +38 -7
- package/dist/src/mcp-tools/knowledge-tools.js.map +1 -1
- package/dist/src/mcp-tools/memory-tools.d.ts +8 -3
- package/dist/src/mcp-tools/memory-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/memory-tools.js +193 -31
- package/dist/src/mcp-tools/memory-tools.js.map +1 -1
- package/dist/src/memory/memory-bridge.d.ts +33 -0
- package/dist/src/memory/memory-bridge.d.ts.map +1 -1
- package/dist/src/memory/memory-bridge.js +166 -17
- package/dist/src/memory/memory-bridge.js.map +1 -1
- package/dist/src/memory/memory-kg.d.ts +186 -0
- package/dist/src/memory/memory-kg.d.ts.map +1 -0
- package/dist/src/memory/memory-kg.js +450 -0
- package/dist/src/memory/memory-kg.js.map +1 -0
- package/dist/src/memory/query-router.d.ts +44 -0
- package/dist/src/memory/query-router.d.ts.map +1 -0
- package/dist/src/memory/query-router.js +113 -0
- package/dist/src/memory/query-router.js.map +1 -0
- package/dist/src/orgrt/daemon.d.ts +18 -0
- package/dist/src/orgrt/daemon.d.ts.map +1 -1
- package/dist/src/orgrt/daemon.js +249 -12
- package/dist/src/orgrt/daemon.js.map +1 -1
- package/dist/src/orgrt/migrate.d.ts.map +1 -1
- package/dist/src/orgrt/migrate.js +7 -0
- package/dist/src/orgrt/migrate.js.map +1 -1
- package/dist/src/orgrt/policy.d.ts.map +1 -1
- package/dist/src/orgrt/policy.js +7 -0
- package/dist/src/orgrt/policy.js.map +1 -1
- package/dist/src/orgrt/session.d.ts +24 -1
- package/dist/src/orgrt/session.d.ts.map +1 -1
- package/dist/src/orgrt/session.js +18 -3
- package/dist/src/orgrt/session.js.map +1 -1
- package/dist/src/orgrt/templates.d.ts +1 -0
- package/dist/src/orgrt/templates.d.ts.map +1 -1
- package/dist/src/orgrt/templates.js +9 -4
- package/dist/src/orgrt/templates.js.map +1 -1
- package/dist/src/orgrt/types.d.ts +15 -0
- package/dist/src/orgrt/types.d.ts.map +1 -1
- package/dist/src/orgrt/types.js +2 -0
- package/dist/src/orgrt/types.js.map +1 -1
- package/dist/src/routing/embed-worker.js +1 -1
- package/dist/src/routing/embed-worker.js.map +1 -1
- package/dist/src/routing/llm-caller.js +1 -1
- package/dist/src/routing/route-layer-factory.js +1 -1
- package/dist/src/routing/route-layer-factory.js.map +1 -1
- package/dist/src/ui/dashboard.html +176 -26
- package/dist/src/ui/data/sessions/final-sess-001.jsonl +180 -180
- package/dist/src/ui/orgs.html +24 -0
- package/dist/src/ui/server.mjs +162 -12
- package/dist/src/update/checker.js +3 -3
- package/dist/src/update/checker.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -6
- /package/.claude/skills/{mastermind-skills/_agent-select.md → mastermind-agent-select/SKILL.md} +0 -0
- /package/.claude/skills/{mastermind-skills/finish.md → mastermind-finish/SKILL.md} +0 -0
- /package/.claude/skills/{mastermind-skills/_intake.md → mastermind-intake/SKILL.md} +0 -0
- /package/.claude/skills/{mastermind-skills → mastermind-marketing}/references/copywriting-frameworks.md +0 -0
- /package/.claude/skills/{mastermind-skills → mastermind-marketing}/references/persuasion-psychology.md +0 -0
- /package/.claude/skills/{mastermind-skills/monotask.md → mastermind-monotask/SKILL.md} +0 -0
- /package/.claude/skills/{mastermind-skills/receive-review.md → mastermind-receive-review/SKILL.md} +0 -0
- /package/.claude/skills/{mastermind-skills/runorg.md → mastermind-runorg/SKILL.md} +0 -0
- /package/.claude/skills/{mastermind-skills → mastermind-taskdev}/code-quality-reviewer-prompt.md +0 -0
- /package/.claude/skills/{mastermind-skills → mastermind-taskdev}/final-reviewer-prompt.md +0 -0
- /package/.claude/skills/{mastermind-skills → mastermind-taskdev}/spec-reviewer-prompt.md +0 -0
- /package/.claude/skills/{mastermind-skills/worktree.md → mastermind-worktree/SKILL.md} +0 -0
package/dist/src/ui/orgs.html
CHANGED
|
@@ -976,6 +976,7 @@ html, body {
|
|
|
976
976
|
<div id="health-grid" class="health-grid"></div>
|
|
977
977
|
<div id="health-detail"></div>
|
|
978
978
|
<div id="health-history"></div>
|
|
979
|
+
<div id="health-memory"></div>
|
|
979
980
|
</div>
|
|
980
981
|
</div>
|
|
981
982
|
|
|
@@ -1762,6 +1763,7 @@ function renderHealth() {
|
|
|
1762
1763
|
}
|
|
1763
1764
|
|
|
1764
1765
|
loadRunHistory();
|
|
1766
|
+
loadOrgMemory();
|
|
1765
1767
|
}
|
|
1766
1768
|
|
|
1767
1769
|
// Run history (history.jsonl, written by the daemon at each stopOrg): outcome,
|
|
@@ -1793,6 +1795,28 @@ async function loadRunHistory() {
|
|
|
1793
1795
|
} catch (_) { el.innerHTML = ''; }
|
|
1794
1796
|
}
|
|
1795
1797
|
|
|
1798
|
+
// Org memory: knowledge-graph size, learned entities, and distilled rules
|
|
1799
|
+
// (accumulated across runs via org_learn / heuristic extraction).
|
|
1800
|
+
async function loadOrgMemory() {
|
|
1801
|
+
const el = document.getElementById('health-memory');
|
|
1802
|
+
if (!el || !selectedOrg) return;
|
|
1803
|
+
try {
|
|
1804
|
+
const listOrg = allOrgs.find(o => o.name === selectedOrg) || {};
|
|
1805
|
+
const r = await fetch(`/api/orgs/${encodeURIComponent(selectedOrg)}/memory?dir=${encodeURIComponent(listOrg.projectDir || '')}`);
|
|
1806
|
+
if (!r.ok) { el.innerHTML = ''; return; }
|
|
1807
|
+
const m = await r.json();
|
|
1808
|
+
if (!m.nodes && !m.rules) { el.innerHTML = ''; return; }
|
|
1809
|
+
el.innerHTML = `
|
|
1810
|
+
<div style="margin-top:16px">
|
|
1811
|
+
<div style="font-size:8px;letter-spacing:2px;color:var(--dim);margin-bottom:8px">ORG MEMORY — ${Number(m.nodes) || 0} ENTITIES · ${Number(m.edges) || 0} RELATIONS · ${Number(m.rules) || 0} RULES</div>
|
|
1812
|
+
${Array.isArray(m.glossary) && m.glossary.length ? `
|
|
1813
|
+
<div style="font-size:9px;color:var(--muted);line-height:1.7">${m.glossary.map(g => `<span style="border:1px solid oklch(50% 0 0 / 0.25);border-radius:3px;padding:1px 5px;margin-right:4px;white-space:nowrap;display:inline-block;margin-bottom:3px">${esc(g)}</span>`).join('')}</div>` : ''}
|
|
1814
|
+
${Array.isArray(m.ruleTexts) && m.ruleTexts.length ? m.ruleTexts.map(t => `
|
|
1815
|
+
<div style="font-size:9px;padding:4px 0;border-bottom:1px solid oklch(50% 0 0 / 0.1);color:var(--muted)">▸ ${esc(t)}</div>`).join('') : ''}
|
|
1816
|
+
</div>`;
|
|
1817
|
+
} catch (_) { el.innerHTML = ''; }
|
|
1818
|
+
}
|
|
1819
|
+
|
|
1796
1820
|
// ── CHAT TAB ──────────────────────────────────────────────────────
|
|
1797
1821
|
let chatSessions = []; // all sessions from /api/mastermind/sessions
|
|
1798
1822
|
let chatCurrentId = null; // currently viewed session id
|
package/dist/src/ui/server.mjs
CHANGED
|
@@ -686,11 +686,72 @@ export async function startServer({ port = 4242, projectDir, openBrowser = true
|
|
|
686
686
|
// back via an auth header or query param on non-GET requests.
|
|
687
687
|
const authBytes = crypto.randomBytes(24);
|
|
688
688
|
const dashboardAuthValue = authBytes.toString('hex');
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
689
|
+
// A project has ONE primary token file (read by hooks, the CLI, and cross-
|
|
690
|
+
// project callers). Writing it eagerly here would let a SECONDARY instance
|
|
691
|
+
// (scratch port, tests, a second `serve`) clobber the live control server's
|
|
692
|
+
// token — after which every hook call to the primary 401s until it restarts,
|
|
693
|
+
// silently degrading per-prompt Second Brain injection to keyword fallback.
|
|
694
|
+
// So the write is deferred to bind time and gated: primary instances write
|
|
695
|
+
// `dashboard-token`; secondaries write `dashboard-token-<port>` instead.
|
|
696
|
+
async function writeDashboardToken(actualPort) {
|
|
697
|
+
try {
|
|
698
|
+
actualPort = Number(actualPort);
|
|
699
|
+
const authFileDir = path.join(projectDir || process.cwd(), '.monomind');
|
|
700
|
+
fs.mkdirSync(authFileDir, { recursive: true });
|
|
701
|
+
// Primary = control.json absent/invalid, or it names this port, or
|
|
702
|
+
// nothing answers on the port it names (stale record from a previous
|
|
703
|
+
// run). Liveness is an HTTP probe, not a pid check — control-start may
|
|
704
|
+
// record pid 0 for adopted servers, and dead pids get recycled; a probe
|
|
705
|
+
// is authoritative either way. Anything answering on the claimed port
|
|
706
|
+
// means "don't clobber" (conservative on ambiguity).
|
|
707
|
+
let primary = true;
|
|
708
|
+
try {
|
|
709
|
+
const ctl = JSON.parse(fs.readFileSync(path.join(authFileDir, 'control.json'), 'utf8'));
|
|
710
|
+
const ctlPort = Number(ctl.port || (String(ctl.url || '').match(/:(\d+)/) || [])[1]);
|
|
711
|
+
if (ctlPort && ctlPort !== actualPort && !(Number.isInteger(ctl.pid) && ctl.pid === process.pid)) {
|
|
712
|
+
try {
|
|
713
|
+
await fetch(`http://127.0.0.1:${ctlPort}/api/status`, { signal: AbortSignal.timeout(800) });
|
|
714
|
+
primary = false; // something answered — a live server owns the primary token
|
|
715
|
+
} catch (_) { primary = true; } // nothing answering — stale record
|
|
716
|
+
}
|
|
717
|
+
} catch (_) { /* no readable control.json — treat as primary */ }
|
|
718
|
+
fs.writeFileSync(
|
|
719
|
+
path.join(authFileDir, primary ? 'dashboard-token' : `dashboard-token-${actualPort}`),
|
|
720
|
+
dashboardAuthValue, { mode: 0o600 },
|
|
721
|
+
);
|
|
722
|
+
// Sweep stale secondary tokens (dead scratch/test instances) so they
|
|
723
|
+
// don't accumulate as orphaned credential files.
|
|
724
|
+
// monolean: age-based sweep only — no on-exit unlink plumbing.
|
|
725
|
+
try {
|
|
726
|
+
const weekMs = 7 * 24 * 3600 * 1000;
|
|
727
|
+
for (const f of fs.readdirSync(authFileDir)) {
|
|
728
|
+
if (!/^dashboard-token-\d+$/.test(f) || f === `dashboard-token-${actualPort}`) continue;
|
|
729
|
+
const fp = path.join(authFileDir, f);
|
|
730
|
+
if (Date.now() - fs.statSync(fp).mtimeMs > weekMs) fs.unlinkSync(fp);
|
|
731
|
+
}
|
|
732
|
+
} catch (_) {}
|
|
733
|
+
} catch (_) {}
|
|
734
|
+
}
|
|
735
|
+
// Propagate the fresh token to every known project whose control.json points
|
|
736
|
+
// at this server — otherwise each restart silently orphans cross-project
|
|
737
|
+
// callers (their curls/CLI reads a stale token and 401s forever).
|
|
738
|
+
// Called after bind so the match uses the ACTUAL bound port.
|
|
739
|
+
function propagateDashboardToken(actualPort) {
|
|
740
|
+
try {
|
|
741
|
+
const _kpFile = path.join(projectDir || process.cwd(), 'data', 'known-projects.json');
|
|
742
|
+
if (!fs.existsSync(_kpFile)) return;
|
|
743
|
+
for (const _kp of JSON.parse(fs.readFileSync(_kpFile, 'utf8'))) {
|
|
744
|
+
try {
|
|
745
|
+
const _kpMono = path.join(_kp, '.monomind');
|
|
746
|
+
const _kpCtl = JSON.parse(fs.readFileSync(path.join(_kpMono, 'control.json'), 'utf8'));
|
|
747
|
+
// Only pair projects that direct their traffic to this server's port.
|
|
748
|
+
if (_kpCtl && String(_kpCtl.url || '').includes(`:${actualPort}`)) {
|
|
749
|
+
fs.writeFileSync(path.join(_kpMono, 'dashboard-token'), dashboardAuthValue, { mode: 0o600 });
|
|
750
|
+
}
|
|
751
|
+
} catch (_) { /* project missing/unreadable — skip */ }
|
|
752
|
+
}
|
|
753
|
+
} catch (_) {}
|
|
754
|
+
}
|
|
694
755
|
|
|
695
756
|
// Parse a .claude/agents/*.md definition into { name, description, capability{}, document }.
|
|
696
757
|
// Tolerant line-based parse of the YAML frontmatter (expertise / task_types as lists).
|
|
@@ -763,7 +824,14 @@ export async function startServer({ port = 4242, projectDir, openBrowser = true
|
|
|
763
824
|
eventProject = _norm;
|
|
764
825
|
}
|
|
765
826
|
}
|
|
766
|
-
|
|
827
|
+
// Forwarder events omit `project` on everything but org:start — resolve the
|
|
828
|
+
// org's home from known-projects so run-file writes land in the ORG's git
|
|
829
|
+
// dir, not the server's (the dashboard reads the org project's run files).
|
|
830
|
+
let _orgHome = null;
|
|
831
|
+
if (!eventProject && event.org) {
|
|
832
|
+
try { _orgHome = _resolveOrgProjectDir(String(event.org).trim(), projectDir || process.cwd()); } catch (_) {}
|
|
833
|
+
}
|
|
834
|
+
const root = eventProject || _orgHome || projectDir || process.cwd();
|
|
767
835
|
const dataDir = path.join(root, 'data');
|
|
768
836
|
try { fs.mkdirSync(dataDir, { recursive: true }); } catch (_) {}
|
|
769
837
|
// Track known project dirs for aggregated session listing
|
|
@@ -5996,6 +6064,34 @@ new Sigma(g,document.getElementById('g'),{renderEdgeLabels:false,labelColor:{col
|
|
|
5996
6064
|
return;
|
|
5997
6065
|
}
|
|
5998
6066
|
|
|
6067
|
+
// GET /api/orgs/:name/memory — org knowledge-graph stats + glossary + rules
|
|
6068
|
+
if (req.method === 'GET' && /^\/api\/orgs\/[^/]+\/memory$/.test(url)) {
|
|
6069
|
+
try {
|
|
6070
|
+
const orgName = decodeURIComponent(url.split('/')[3]);
|
|
6071
|
+
const _memQs = new URL(req.url, 'http://localhost').searchParams;
|
|
6072
|
+
const root = path.resolve(_memQs.get('dir') || projectDir || process.cwd());
|
|
6073
|
+
if (!orgName || orgName.length > 64 || !/^[a-z0-9][a-z0-9_-]*$/i.test(orgName)) {
|
|
6074
|
+
res.writeHead(400); res.end('{"error":"invalid org name"}'); return;
|
|
6075
|
+
}
|
|
6076
|
+
const monoDir = _getGitMonomindDir(root) || path.join(root, '.monomind');
|
|
6077
|
+
const dbPath = path.join(monoDir, 'org-memory');
|
|
6078
|
+
if (!fs.existsSync(dbPath)) {
|
|
6079
|
+
res.writeHead(200, { 'Content-Type': 'application/json', ...(corsOrigin ? { 'Access-Control-Allow-Origin': corsOrigin } : {}) });
|
|
6080
|
+
res.end(JSON.stringify({ nodes: 0, edges: 0, rules: 0, glossary: [], ruleTexts: [] }));
|
|
6081
|
+
return;
|
|
6082
|
+
}
|
|
6083
|
+
const kg = await import('../memory/memory-kg.js');
|
|
6084
|
+
const [stats, glossary, ruleList] = await Promise.all([
|
|
6085
|
+
kg.kgStats({ dbPath }), kg.kgGlossary({ dbPath, limit: 12 }), kg.kgListRules({ dbPath, limit: 10 }),
|
|
6086
|
+
]);
|
|
6087
|
+
res.writeHead(200, { 'Content-Type': 'application/json', ...(corsOrigin ? { 'Access-Control-Allow-Origin': corsOrigin } : {}) });
|
|
6088
|
+
res.end(JSON.stringify({ ...stats, glossary, ruleTexts: ruleList.map(r => r.rule.slice(0, 200)) }));
|
|
6089
|
+
} catch(err) {
|
|
6090
|
+
res.writeHead(500); res.end(JSON.stringify({ error: err.message }));
|
|
6091
|
+
}
|
|
6092
|
+
return;
|
|
6093
|
+
}
|
|
6094
|
+
|
|
5999
6095
|
// POST /api/knowledge/search — warm semantic knowledge search for hooks.
|
|
6000
6096
|
// The dashboard server is the one long-lived process on the machine, so it
|
|
6001
6097
|
// holds the local embedding model warm; per-prompt hook subprocesses (which
|
|
@@ -6036,17 +6132,69 @@ new Sigma(g,document.getElementById('g'),{renderEdgeLabels:false,labelColor:{col
|
|
|
6036
6132
|
// scope: project | global | all (default all) — project results get a
|
|
6037
6133
|
// small tie boost; global hits are flagged so callers can show origin.
|
|
6038
6134
|
const scope = payload.scope === 'project' || payload.scope === 'global' ? payload.scope : 'all';
|
|
6039
|
-
|
|
6135
|
+
// Rule-based router (no LLM): chunks always run (this endpoint's
|
|
6136
|
+
// bread and butter); the auxiliary surfaces — distilled rules,
|
|
6137
|
+
// knowledge-graph triplets, pattern memories — only spend a query
|
|
6138
|
+
// when the router votes for them or routing is unconfident.
|
|
6139
|
+
let wantRules = true, wantKg = true, wantMemory = true;
|
|
6140
|
+
let rrfFuse = null;
|
|
6141
|
+
try {
|
|
6142
|
+
const routerMod = await import('../memory/query-router.js');
|
|
6143
|
+
const route = routerMod.routeQuery(query);
|
|
6144
|
+
rrfFuse = routerMod.rrfFuse;
|
|
6145
|
+
wantRules = !route.confident || route.surfaces.includes('rules');
|
|
6146
|
+
wantKg = !route.confident || route.surfaces.includes('kg');
|
|
6147
|
+
wantMemory = !route.confident || route.surfaces.includes('memory');
|
|
6148
|
+
} catch { /* router unavailable — keep all surfaces on */ }
|
|
6149
|
+
let kgSearch = null;
|
|
6150
|
+
if (wantKg && scope !== 'global') {
|
|
6151
|
+
try { kgSearch = (await import('../memory/memory-kg.js')).kgSearch; } catch { /* kg unavailable */ }
|
|
6152
|
+
}
|
|
6153
|
+
const [proj, glob, rules, graph, mems] = await Promise.all([
|
|
6040
6154
|
scope !== 'global' ? bridge.bridgeSearchEntries({ query, namespace, limit }).catch(() => null) : null,
|
|
6041
6155
|
scope !== 'project' ? bridge.bridgeSearchEntries({ query, namespace: 'knowledge:global', limit, dbPath: '@global' }).catch(() => null) : null,
|
|
6156
|
+
// Distilled rules ("when X do Y") learned from sessions/runs —
|
|
6157
|
+
// small namespace, high injection value, threshold keeps it quiet.
|
|
6158
|
+
scope !== 'global' && wantRules ? bridge.bridgeSearchEntries({ query, namespace: 'rules', limit: 2, threshold: 0.45 }).catch(() => null) : null,
|
|
6159
|
+
// Knowledge-graph triplets: relationship-shaped queries surface
|
|
6160
|
+
// facts no chunk contains. Triplet scores derive from seeded
|
|
6161
|
+
// cosine matches (≥0.35), so they clear callers' relevance floors.
|
|
6162
|
+
scope !== 'global' && kgSearch ? kgSearch({ query, limit: 4 }).catch(() => null) : null,
|
|
6163
|
+
// Past patterns/decisions for "last time / previously" queries.
|
|
6164
|
+
scope !== 'global' && wantMemory ? bridge.bridgeSearchEntries({ query, namespace: 'patterns', limit: 2, threshold: 0.4 }).catch(() => null) : null,
|
|
6042
6165
|
]);
|
|
6043
|
-
const
|
|
6044
|
-
|
|
6045
|
-
|
|
6046
|
-
|
|
6166
|
+
const lists = [
|
|
6167
|
+
(proj?.results || []).map(r => ({ id: r.id, key: r.key, content: String(r.content || '').slice(0, 2000), score: r.score + 0.05, global: false, tags: r.tags, importance: 0.6 })),
|
|
6168
|
+
(glob?.results || []).map(r => ({ id: r.id, key: r.key, content: String(r.content || '').slice(0, 2000), score: r.score, global: true, tags: r.tags })),
|
|
6169
|
+
(rules?.results || []).map(r => ({ id: r.id, key: r.key, content: String(r.content || '').slice(0, 2000), score: r.score + 0.05, global: false, rule: true, tags: r.tags, importance: 0.7 })),
|
|
6170
|
+
(graph?.triplets || []).map((t, i) => ({
|
|
6171
|
+
id: 'kg:' + i + ':' + t.source + '|' + t.relation + '|' + t.target,
|
|
6172
|
+
key: 'kg:' + t.source,
|
|
6173
|
+
content: String(t.source + ' —' + t.relation + '→ ' + t.target + (t.fact && t.fact !== (t.source + ' ' + t.relation + ' ' + t.target) ? ' (' + String(t.fact).slice(0, 300) + ')' : '')).slice(0, 2000),
|
|
6174
|
+
score: t.score, global: false, triplet: true,
|
|
6175
|
+
})),
|
|
6176
|
+
(mems?.results || []).map(r => ({ id: r.id, key: r.key, content: String(r.content || '').slice(0, 2000), score: r.score, global: false, memory: true, tags: r.tags })),
|
|
6177
|
+
];
|
|
6178
|
+
// Rank-fuse across surfaces (raw scores aren't comparable between
|
|
6179
|
+
// cosine chunks and blended triplets); each item keeps its native
|
|
6180
|
+
// score so downstream relevance floors still apply. Fallback: flat
|
|
6181
|
+
// score sort when the router module failed to load.
|
|
6182
|
+
const merged = (rrfFuse
|
|
6183
|
+
? rrfFuse(lists, limit)
|
|
6184
|
+
: lists.flat().sort((a, b) => b.score - a.score).slice(0, limit)
|
|
6185
|
+
).map(({ importance, rrf, ...r }) => r);
|
|
6186
|
+
// Served excerpts are (very likely) injected into the caller's prompt —
|
|
6187
|
+
// that IS usage. Reinforce frequency_weight, per-store, fire-and-forget.
|
|
6188
|
+
try {
|
|
6189
|
+
const projIds = merged.filter(m => !m.global && !m.triplet && m.id).map(m => m.id);
|
|
6190
|
+
const globIds = merged.filter(m => m.global && m.id).map(m => m.id);
|
|
6191
|
+
if (projIds.length) bridge.bridgeRecordUsage?.({ entryIds: projIds }).catch(() => {});
|
|
6192
|
+
if (globIds.length) bridge.bridgeRecordUsage?.({ entryIds: globIds, dbPath: '@global' }).catch(() => {});
|
|
6193
|
+
} catch { /* best effort */ }
|
|
6047
6194
|
res.writeHead(200, { 'Content-Type': 'application/json', ...(corsOrigin ? { 'Access-Control-Allow-Origin': corsOrigin } : {}) });
|
|
6048
6195
|
res.end(JSON.stringify({
|
|
6049
|
-
method: proj?.searchMethod || glob?.searchMethod ||
|
|
6196
|
+
method: proj?.searchMethod || glob?.searchMethod || rules?.searchMethod || mems?.searchMethod
|
|
6197
|
+
|| (merged.length ? 'mixed' : 'none'),
|
|
6050
6198
|
results: merged,
|
|
6051
6199
|
}));
|
|
6052
6200
|
} catch (err) {
|
|
@@ -6438,6 +6586,8 @@ new Sigma(g,document.getElementById('g'),{renderEdgeLabels:false,labelColor:{col
|
|
|
6438
6586
|
fs.writeFileSync(process.env.MONOMIND_BOUND_REPORT, JSON.stringify({ pid: process.pid, port: boundPort, ts: Date.now() }));
|
|
6439
6587
|
} catch (_) { /* non-fatal — spawner falls back to pid-matched HTTP probe */ }
|
|
6440
6588
|
}
|
|
6589
|
+
await writeDashboardToken(boundPort);
|
|
6590
|
+
propagateDashboardToken(boundPort);
|
|
6441
6591
|
|
|
6442
6592
|
// ── One-time migration: mastermind-sessions.json → per-session JSONL ─────
|
|
6443
6593
|
// Runs once on startup. Existing sessions in the old monolithic format are
|
|
@@ -46,9 +46,9 @@ const MONOMIND_PACKAGES = [
|
|
|
46
46
|
'@monoes/monograph',
|
|
47
47
|
'@monoes/memory',
|
|
48
48
|
'@monoes/monodesign',
|
|
49
|
-
'@
|
|
50
|
-
'@
|
|
51
|
-
'@
|
|
49
|
+
'@monoes/hooks',
|
|
50
|
+
'@monoes/mcp',
|
|
51
|
+
'@monoes/routing',
|
|
52
52
|
];
|
|
53
53
|
// npm package name regex — covers plain names and @scope/name forms.
|
|
54
54
|
// Validates before using the name in URLs or filesystem paths.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checker.js","sourceRoot":"","sources":["../../../src/update/checker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,kDAAkD;AAClD,MAAM,MAAM,GAAG;IACb,KAAK,EAAE,CAAC,CAA4B,EAAiB,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI;IAClG,EAAE,EAAE,CAAC,CAAS,EAAE,CAAS,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC;IAC9C,KAAK,EAAE,CAAC,CAAS,EAAU,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACpE,KAAK,EAAE,CAAC,CAAS,EAAU,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC;IAC3E,KAAK,EAAE,CAAC,CAAS,EAAU,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;IACrG,EAAE,EAAE,CAAC,CAAS,EAAE,CAAS,EAAW,EAAE;QACpC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAChF,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAChF,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;IACjF,CAAC;CACF,CAAC;AACF,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEjF,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;AAwB/C,MAAM,cAAc,GAAiB;IACnC,OAAO,EAAE,IAAI;IACb,kBAAkB,EAAE,EAAE;IACtB,UAAU,EAAE;QACV,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE,KAAK;KACb;IACD,QAAQ,EAAE;QACR,cAAc,EAAE,UAAU;QAC1B,qBAAqB,EAAE,MAAM;QAC7B,UAAU,EAAE,MAAM;QAClB,mBAAmB,EAAE,QAAQ;QAC7B,gBAAgB,EAAE,QAAQ;QAC1B,oBAAoB,EAAE,KAAK;KAC5B;IACD,OAAO,EAAE,EAAE;CACZ,CAAC;AAEF,wDAAwD;AACxD,2FAA2F;AAC3F,MAAM,iBAAiB,GAAG;IACxB,UAAU;IACV,qBAAqB;IACrB,cAAc;IACd,mBAAmB;IACnB,gBAAgB;IAChB,oBAAoB;IACpB,
|
|
1
|
+
{"version":3,"file":"checker.js","sourceRoot":"","sources":["../../../src/update/checker.ts"],"names":[],"mappings":"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"}
|