@monoes/monomindcli 2.16.4 → 2.16.5
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/github/repo-architect.md +1 -1
- package/.claude/agents/specialists/integration-architect.md +9 -13
- package/.claude/commands/agents/agent-capabilities.md +1 -0
- package/.claude/commands/agents/agent-coordination.md +1 -0
- package/.claude/commands/agents/agent-spawning.md +1 -0
- package/.claude/commands/agents/agent-types.md +1 -0
- package/.claude/commands/analysis/bottleneck-detect.md +1 -0
- package/.claude/commands/analysis/performance-bottlenecks.md +1 -0
- package/.claude/commands/analysis/performance-report.md +1 -0
- package/.claude/commands/analysis/token-usage.md +1 -0
- package/.claude/commands/automation/README.md +1 -1
- package/.claude/commands/automation/auto-agent.md +1 -0
- package/.claude/commands/automation/self-healing.md +1 -0
- package/.claude/commands/automation/session-memory.md +1 -0
- package/.claude/commands/automation/smart-agents.md +1 -0
- package/.claude/commands/automation/smart-spawn.md +1 -0
- package/.claude/commands/automation/workflow-select.md +22 -27
- package/.claude/commands/coordination/README.md +2 -2
- package/.claude/commands/coordination/agent-spawn.md +1 -0
- package/.claude/commands/coordination/monoswarm-init.md +9 -8
- package/.claude/commands/coordination/task-orchestrate.md +6 -5
- package/.claude/commands/github/README.md +1 -1
- package/.claude/commands/github/github-modes.md +1 -0
- package/.claude/commands/github/issue-tracker.md +1 -0
- package/.claude/commands/github/pr-manager.md +1 -0
- package/.claude/commands/github/release-manager.md +1 -2
- package/.claude/commands/github/repo-architect.md +1 -0
- package/.claude/commands/github/sync-coordinator.md +1 -0
- package/.claude/commands/hooks/overview.md +1 -0
- package/.claude/commands/hooks/post-edit.md +1 -0
- package/.claude/commands/hooks/post-task.md +1 -0
- package/.claude/commands/hooks/pre-edit.md +1 -0
- package/.claude/commands/hooks/pre-task.md +1 -0
- package/.claude/commands/hooks/session-end.md +1 -0
- package/.claude/commands/hooks/setup.md +1 -0
- package/.claude/commands/mastermind/adr.md +3 -1
- package/.claude/commands/mastermind/brain.md +3 -1
- package/.claude/commands/mastermind/budget.md +3 -1
- package/.claude/commands/mastermind/code-review.md +3 -1
- package/.claude/commands/mastermind/content.md +3 -1
- package/.claude/commands/mastermind/createorg.md +3 -1
- package/.claude/commands/mastermind/createtask.md +6 -4
- package/.claude/commands/mastermind/debug.md +3 -1
- package/.claude/commands/mastermind/design.md +3 -1
- package/.claude/commands/mastermind/do.md +5 -3
- package/.claude/commands/mastermind/execute.md +3 -1
- package/.claude/commands/mastermind/finance.md +3 -1
- package/.claude/commands/mastermind/graph-status.md +3 -1
- package/.claude/commands/mastermind/help.md +12 -9
- package/.claude/commands/mastermind/idea.md +3 -1
- package/.claude/commands/mastermind/ideate.md +4 -2
- package/.claude/commands/mastermind/improve.md +4 -2
- package/.claude/commands/mastermind/loops.md +3 -1
- package/.claude/commands/mastermind/marketing.md +3 -1
- package/.claude/commands/mastermind/master.md +3 -1
- package/.claude/commands/mastermind/memory.md +8 -36
- package/.claude/commands/mastermind/monoswarm.md +3 -2
- package/.claude/commands/mastermind/okf-export.md +3 -1
- package/.claude/commands/mastermind/okf-import.md +3 -1
- package/.claude/commands/mastermind/ops.md +3 -1
- package/.claude/commands/mastermind/orgs.md +3 -1
- package/.claude/commands/mastermind/orgstatus.md +3 -1
- package/.claude/commands/mastermind/plan.md +3 -1
- package/.claude/commands/mastermind/receive-review.md +3 -1
- package/.claude/commands/mastermind/release.md +3 -1
- package/.claude/commands/mastermind/repeat.md +3 -1
- package/.claude/commands/mastermind/research.md +3 -1
- package/.claude/commands/mastermind/review.md +3 -1
- package/.claude/commands/mastermind/runorg.md +3 -1
- package/.claude/commands/mastermind/sales.md +3 -1
- package/.claude/commands/mastermind/skill-builder.md +3 -1
- package/.claude/commands/mastermind/specialagents.md +3 -1
- package/.claude/commands/mastermind/stoporg.md +3 -1
- package/.claude/commands/mastermind/techport.md +3 -1
- package/.claude/commands/mastermind/topology.md +4 -3
- package/.claude/commands/mastermind/understand.md +3 -1
- package/.claude/commands/mastermind/worktree.md +3 -1
- package/.claude/commands/memory/memory-search.md +1 -0
- package/.claude/commands/monitoring/README.md +1 -1
- package/.claude/commands/monitoring/agent-metrics.md +1 -0
- package/.claude/commands/monitoring/agents.md +1 -0
- package/.claude/commands/monitoring/status.md +1 -0
- package/.claude/commands/monoswarm/README.md +3 -3
- package/.claude/commands/monoswarm/analysis.md +2 -2
- package/.claude/commands/monoswarm/consensus.md +1 -0
- package/.claude/commands/monoswarm/development.md +3 -3
- package/.claude/commands/monoswarm/examples.md +4 -4
- package/.claude/commands/monoswarm/init.md +2 -1
- package/.claude/commands/monoswarm/maintenance.md +2 -2
- package/.claude/commands/monoswarm/memory.md +1 -0
- package/.claude/commands/monoswarm/monoswarm.md +5 -5
- package/.claude/commands/monoswarm/optimization.md +2 -2
- package/.claude/commands/monoswarm/research.md +2 -2
- package/.claude/commands/monoswarm/spawn.md +1 -0
- package/.claude/commands/monoswarm/status.md +2 -1
- package/.claude/commands/monoswarm/stop.md +2 -1
- package/.claude/commands/monoswarm/testing.md +2 -2
- package/.claude/commands/pair/README.md +8 -9
- package/.claude/commands/pair/examples.md +3 -4
- package/.claude/commands/pair/session.md +1 -1
- package/.claude/commands/workflows/README.md +45 -40
- package/.claude/commands/workflows/development.md +42 -55
- package/.claude/commands/workflows/research.md +41 -57
- package/.claude/commands/workflows/workflow-create.md +43 -45
- package/.claude/commands/workflows/workflow-execute.md +58 -68
- package/.claude/commands/workflows/workflow-export.md +37 -63
- package/.claude/helpers/build-skill-registry.cjs +10 -6
- package/.claude/helpers/handlers/pick-core.cjs +35 -24
- package/.claude/helpers/handlers/route-handler.cjs +11 -3
- package/.claude/helpers/hook-handler.cjs +4 -2
- package/.claude/helpers/jev-catalog.cjs +7 -3
- package/.claude/helpers/jev-picker.cjs +49 -7
- package/.claude/helpers/pick-rank.cjs +95 -3
- package/.claude/helpers/pick-stats.cjs +86 -2
- package/.claude/skills/agentic-jujutsu/SKILL.md +2 -3
- package/.claude/skills/github-toolkit/SKILL.md +1 -1
- package/.claude/skills/hooks-automation/SKILL.md +243 -938
- package/.claude/skills/mastermind-agent-detail/SKILL.md +1 -1
- package/.claude/skills/mastermind-agent-select/SKILL.md +16 -1
- package/.claude/skills/mastermind-inbox/SKILL.md +1 -1
- package/.claude/skills/mastermind-plugins/SKILL.md +1 -1
- package/.claude/skills/mastermind-release/SKILL.md +9 -1
- package/.claude/skills/mastermind-research/SKILL.md +9 -1
- package/.claude/skills/mastermind-review/SKILL.md +9 -1
- package/.claude/skills/mastermind-routine-detail/SKILL.md +1 -1
- package/.claude/skills/monodesign/SKILL.md +257 -0
- package/.claude/skills/monodesign/adapt.md +53 -0
- package/.claude/skills/monodesign/agents/monodesign-asset-producer.md +100 -0
- package/.claude/skills/monodesign/agents/monodesign-manual-edit-applier.md +103 -0
- package/.claude/skills/monodesign/animate.md +65 -0
- package/.claude/skills/monodesign/audit.md +89 -0
- package/.claude/skills/monodesign/bolder.md +50 -0
- package/.claude/skills/monodesign/clarify.md +64 -0
- package/.claude/skills/monodesign/colorize.md +68 -0
- package/.claude/skills/monodesign/craft.md +51 -0
- package/.claude/skills/monodesign/critique.md +66 -0
- package/.claude/skills/monodesign/delight.md +47 -0
- package/.claude/skills/monodesign/distill.md +56 -0
- package/.claude/skills/monodesign/document.md +83 -0
- package/.claude/skills/monodesign/extract.md +74 -0
- package/.claude/skills/monodesign/harden.md +65 -0
- package/.claude/skills/monodesign/init.md +30 -0
- package/.claude/skills/monodesign/layout.md +36 -0
- package/.claude/skills/monodesign/live.md +34 -0
- package/.claude/skills/monodesign/onboard.md +50 -0
- package/.claude/skills/monodesign/optimize.md +64 -0
- package/.claude/skills/monodesign/overdrive.md +56 -0
- package/.claude/skills/monodesign/polish.md +68 -0
- package/.claude/skills/monodesign/quieter.md +57 -0
- package/.claude/skills/monodesign/reference/adapt.md +312 -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 +203 -0
- package/.claude/skills/monodesign/reference/antipatterns-catalog.md +410 -0
- package/.claude/skills/monodesign/reference/audit.md +135 -0
- package/.claude/skills/monodesign/reference/audit.native.md +139 -0
- package/.claude/skills/monodesign/reference/bolder.md +120 -0
- package/.claude/skills/monodesign/reference/brand-workflow.md +180 -0
- package/.claude/skills/monodesign/reference/brand.md +108 -0
- package/.claude/skills/monodesign/reference/clarify.md +288 -0
- package/.claude/skills/monodesign/reference/codex.md +105 -0
- package/.claude/skills/monodesign/reference/cognitive-load.md +106 -0
- package/.claude/skills/monodesign/reference/color-and-contrast.md +105 -0
- package/.claude/skills/monodesign/reference/colorize.md +257 -0
- package/.claude/skills/monodesign/reference/component-specs.md +260 -0
- package/.claude/skills/monodesign/reference/component-states.md +274 -0
- package/.claude/skills/monodesign/reference/component-system.md +358 -0
- package/.claude/skills/monodesign/reference/copy-formulas.md +160 -0
- package/.claude/skills/monodesign/reference/craft.md +123 -0
- package/.claude/skills/monodesign/reference/critique.md +780 -0
- package/.claude/skills/monodesign/reference/delight.md +302 -0
- package/.claude/skills/monodesign/reference/design-principles.md +246 -0
- package/.claude/skills/monodesign/reference/distill.md +111 -0
- package/.claude/skills/monodesign/reference/document.md +429 -0
- package/.claude/skills/monodesign/reference/extract.md +69 -0
- package/.claude/skills/monodesign/reference/harden.md +347 -0
- package/.claude/skills/monodesign/reference/heuristics-scoring.md +234 -0
- package/.claude/skills/monodesign/reference/hooks.md +92 -0
- package/.claude/skills/monodesign/reference/image-prompts.md +130 -0
- package/.claude/skills/monodesign/reference/init.md +221 -0
- package/.claude/skills/monodesign/reference/interaction-design.md +189 -0
- package/.claude/skills/monodesign/reference/ios.md +45 -0
- package/.claude/skills/monodesign/reference/layout.md +185 -0
- package/.claude/skills/monodesign/reference/live.md +710 -0
- package/.claude/skills/monodesign/reference/motion-design.md +109 -0
- package/.claude/skills/monodesign/reference/onboard.md +234 -0
- package/.claude/skills/monodesign/reference/optimize.md +258 -0
- package/.claude/skills/monodesign/reference/overdrive.md +130 -0
- package/.claude/skills/monodesign/reference/personas.md +179 -0
- package/.claude/skills/monodesign/reference/polish.md +241 -0
- package/.claude/skills/monodesign/reference/pre-delivery-checklist.md +108 -0
- package/.claude/skills/monodesign/reference/product.md +60 -0
- package/.claude/skills/monodesign/reference/quieter.md +99 -0
- package/.claude/skills/monodesign/reference/responsive-design.md +114 -0
- package/.claude/skills/monodesign/reference/shape.md +165 -0
- package/.claude/skills/monodesign/reference/spatial-design.md +100 -0
- package/.claude/skills/monodesign/reference/teach.md +10 -0
- package/.claude/skills/monodesign/reference/token-architecture.md +222 -0
- package/.claude/skills/monodesign/reference/typeset.md +301 -0
- package/.claude/skills/monodesign/reference/typography.md +159 -0
- package/.claude/skills/monodesign/reference/ux-research.md +143 -0
- package/.claude/skills/monodesign/reference/ux-rules.md +211 -0
- package/.claude/skills/monodesign/reference/ux-writing.md +107 -0
- 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 +1065 -0
- package/.claude/skills/monodesign/scripts/critique-storage.mjs +416 -0
- package/.claude/skills/monodesign/scripts/detect-csp.mjs +193 -0
- package/.claude/skills/monodesign/scripts/detect.mjs +33 -0
- package/.claude/skills/monodesign/scripts/detector/browser/injected/index.mjs +1960 -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 +5628 -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 +339 -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 +1016 -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 +3024 -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 +694 -0
- package/.claude/skills/monodesign/scripts/hook-before-edit.mjs +516 -0
- package/.claude/skills/monodesign/scripts/hook-lib.mjs +1785 -0
- package/.claude/skills/monodesign/scripts/hook.mjs +61 -0
- package/.claude/skills/monodesign/scripts/lib/design-parser.mjs +809 -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 +279 -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 +147 -0
- package/.claude/skills/monodesign/scripts/live-browser-session.js +124 -0
- package/.claude/skills/monodesign/scripts/live-browser.js +11213 -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 +596 -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 +1210 -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 +884 -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 +635 -0
- package/.claude/skills/monodesign/scripts/pin.mjs +221 -0
- package/.claude/skills/monodesign/shape.md +71 -0
- package/.claude/skills/monodesign/teach.md +18 -0
- package/.claude/skills/monodesign/typeset.md +59 -0
- package/.claude/skills/monolean-audit/SKILL.md +4 -6
- package/.claude/skills/monolean-help/SKILL.md +0 -1
- package/.claude/skills/monoswarm/SKILL.md +17 -17
- package/.claude/skills/pair-programming/SKILL.md +127 -1100
- package/README.md +1 -1
- package/dist/src/agents/registry-builder.d.ts +1 -1
- package/dist/src/commands/doctor-pick-checks.d.ts +20 -3
- package/dist/src/commands/doctor-pick-checks.d.ts.map +1 -1
- package/dist/src/commands/doctor-pick-checks.js +132 -7
- package/dist/src/commands/doctor-pick-checks.js.map +1 -1
- package/dist/src/commands/doctor-project-checks.d.ts +2 -2
- package/dist/src/commands/doctor-project-checks.d.ts.map +1 -1
- package/dist/src/commands/doctor-project-checks.js +14 -12
- package/dist/src/commands/doctor-project-checks.js.map +1 -1
- package/dist/src/commands/doctor.d.ts.map +1 -1
- package/dist/src/commands/doctor.js +6 -4
- package/dist/src/commands/doctor.js.map +1 -1
- package/dist/src/commands/init-upgrade.d.ts.map +1 -1
- package/dist/src/commands/init-upgrade.js +6 -0
- package/dist/src/commands/init-upgrade.js.map +1 -1
- package/dist/src/commands/init.d.ts.map +1 -1
- package/dist/src/commands/init.js +11 -0
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/pick.d.ts.map +1 -1
- package/dist/src/commands/pick.js +4 -3
- package/dist/src/commands/pick.js.map +1 -1
- package/dist/src/decision/jev.d.ts +16 -0
- package/dist/src/decision/jev.d.ts.map +1 -1
- package/dist/src/decision/jev.js +12 -0
- package/dist/src/decision/jev.js.map +1 -1
- package/dist/src/decision/pick-eval.d.ts +23 -0
- package/dist/src/decision/pick-eval.d.ts.map +1 -1
- package/dist/src/decision/pick-eval.js +24 -1
- package/dist/src/decision/pick-eval.js.map +1 -1
- package/dist/src/decision/picks.d.ts +5 -0
- package/dist/src/decision/picks.d.ts.map +1 -1
- package/dist/src/decision/picks.js +33 -11
- package/dist/src/decision/picks.js.map +1 -1
- package/dist/src/init/claudemd-generator.d.ts.map +1 -1
- package/dist/src/init/claudemd-generator.js +1 -0
- package/dist/src/init/claudemd-generator.js.map +1 -1
- package/dist/src/init/copy-assets.d.ts.map +1 -1
- package/dist/src/init/copy-assets.js +17 -9
- package/dist/src/init/copy-assets.js.map +1 -1
- package/dist/src/init/executor.d.ts.map +1 -1
- package/dist/src/init/executor.js +26 -4
- package/dist/src/init/executor.js.map +1 -1
- package/dist/src/init/file-guard.d.ts +93 -0
- package/dist/src/init/file-guard.d.ts.map +1 -0
- package/dist/src/init/file-guard.js +239 -0
- package/dist/src/init/file-guard.js.map +1 -0
- package/dist/src/init/helpers-generator.d.ts +7 -0
- package/dist/src/init/helpers-generator.d.ts.map +1 -1
- package/dist/src/init/helpers-generator.js +9 -0
- package/dist/src/init/helpers-generator.js.map +1 -1
- package/dist/src/init/init-memory.d.ts +10 -0
- package/dist/src/init/init-memory.d.ts.map +1 -1
- package/dist/src/init/init-memory.js +44 -1
- package/dist/src/init/init-memory.js.map +1 -1
- package/dist/src/init/managed-block.d.ts +3 -1
- package/dist/src/init/managed-block.d.ts.map +1 -1
- package/dist/src/init/managed-block.js +9 -2
- package/dist/src/init/managed-block.js.map +1 -1
- package/dist/src/init/mcp-generator.d.ts +9 -0
- package/dist/src/init/mcp-generator.d.ts.map +1 -1
- package/dist/src/init/mcp-generator.js +28 -0
- package/dist/src/init/mcp-generator.js.map +1 -1
- package/dist/src/init/runtime-config-merge.d.ts +21 -0
- package/dist/src/init/runtime-config-merge.d.ts.map +1 -0
- package/dist/src/init/runtime-config-merge.js +88 -0
- package/dist/src/init/runtime-config-merge.js.map +1 -0
- package/dist/src/init/settings-generator.js +1 -1
- package/dist/src/init/settings-generator.js.map +1 -1
- package/dist/src/init/shared-instructions-generator.d.ts +3 -1
- package/dist/src/init/shared-instructions-generator.d.ts.map +1 -1
- package/dist/src/init/shared-instructions-generator.js +14 -39
- package/dist/src/init/shared-instructions-generator.js.map +1 -1
- package/dist/src/init/shared.d.ts +10 -0
- package/dist/src/init/shared.d.ts.map +1 -1
- package/dist/src/init/shared.js +32 -1
- package/dist/src/init/shared.js.map +1 -1
- package/dist/src/init/types.d.ts +9 -0
- package/dist/src/init/types.d.ts.map +1 -1
- package/dist/src/init/types.js.map +1 -1
- package/dist/src/init/upgrade.d.ts +4 -0
- package/dist/src/init/upgrade.d.ts.map +1 -1
- package/dist/src/init/upgrade.js +39 -42
- package/dist/src/init/upgrade.js.map +1 -1
- package/dist/src/init/write-antigravity.d.ts.map +1 -1
- package/dist/src/init/write-antigravity.js +9 -3
- package/dist/src/init/write-antigravity.js.map +1 -1
- package/dist/src/init/write-claude.d.ts.map +1 -1
- package/dist/src/init/write-claude.js +40 -19
- package/dist/src/init/write-claude.js.map +1 -1
- package/dist/src/init/write-kimicode.d.ts +27 -0
- package/dist/src/init/write-kimicode.d.ts.map +1 -1
- package/dist/src/init/write-kimicode.js +119 -92
- package/dist/src/init/write-kimicode.js.map +1 -1
- package/dist/src/init/write-opencode.d.ts.map +1 -1
- package/dist/src/init/write-opencode.js +45 -6
- package/dist/src/init/write-opencode.js.map +1 -1
- package/dist/src/init/write-runtime-config.d.ts.map +1 -1
- package/dist/src/init/write-runtime-config.js +108 -81
- package/dist/src/init/write-runtime-config.js.map +1 -1
- package/dist/src/knowledge/eval/golden-set.js +0 -15
- package/dist/src/knowledge/eval/golden-set.js.map +1 -1
- package/dist/src/mcp-tools/org-skill-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/org-skill-tools.js +6 -2
- package/dist/src/mcp-tools/org-skill-tools.js.map +1 -1
- package/dist/src/mcp-tools/pick-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/pick-tools.js +13 -4
- package/dist/src/mcp-tools/pick-tools.js.map +1 -1
- package/dist/src/platform-adapters/merge.d.ts +4 -3
- package/dist/src/platform-adapters/merge.d.ts.map +1 -1
- package/dist/src/platform-adapters/merge.js +18 -8
- package/dist/src/platform-adapters/merge.js.map +1 -1
- package/dist/src/platform-adapters/mutation.d.ts +6 -1
- package/dist/src/platform-adapters/mutation.d.ts.map +1 -1
- package/dist/src/platform-adapters/mutation.js +9 -3
- package/dist/src/platform-adapters/mutation.js.map +1 -1
- package/dist/src/platform-adapters/operations.d.ts.map +1 -1
- package/dist/src/platform-adapters/operations.js +14 -6
- package/dist/src/platform-adapters/operations.js.map +1 -1
- package/dist/src/platform-adapters/types.d.ts +5 -0
- package/dist/src/platform-adapters/types.d.ts.map +1 -1
- package/dist/src/routing/agent-pick.d.ts +9 -7
- package/dist/src/routing/agent-pick.d.ts.map +1 -1
- package/dist/src/routing/agent-pick.js +17 -17
- package/dist/src/routing/agent-pick.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -6
- package/.claude/skills/github-issue-triage/SKILL.md +0 -354
- package/.claude/skills/github-repo-recap/SKILL.md +0 -207
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Edit-preserving writes for what init ships into a project.
|
|
3
|
+
*
|
|
4
|
+
* Files (skills, agents, commands, helpers), keyed by project-relative path
|
|
5
|
+
* against the sha256 recorded in `.monomind/init-manifest.json` `files`:
|
|
6
|
+
* - missing, or already identical to the new content: written / left;
|
|
7
|
+
* - exactly what monomind left there last time: an untouched install, so it
|
|
8
|
+
* is replaced with the new version;
|
|
9
|
+
* - different from what monomind left: the user edited it. It is kept, the
|
|
10
|
+
* new version is written beside it as `<file>.monomind-new`, and the run
|
|
11
|
+
* reports it. `--force` does not change this;
|
|
12
|
+
* - never recorded (installed before hashes existed): provenance unknown. A
|
|
13
|
+
* file that matches the new version once ownership-marker lines and blank
|
|
14
|
+
* lines are ignored is adopted. Otherwise it is kept like an edit, unless
|
|
15
|
+
* the caller replaces unrecorded files (`init --force`, and `init upgrade`
|
|
16
|
+
* for helpers), in which case it is first copied to the run's backup
|
|
17
|
+
* directory `.monomind/backups/<run>/`.
|
|
18
|
+
* Hashes are taken at the end of the run (`finalize`), because platform
|
|
19
|
+
* adapters and doctor rewrite some of these files after they are copied.
|
|
20
|
+
*
|
|
21
|
+
* Managed blocks (CLAUDE.md, AGENTS.md, GEMINI.md, shared_instructions.md),
|
|
22
|
+
* keyed `<file>#<marker>` in `blocks`: a block whose body differs from what
|
|
23
|
+
* monomind last wrote is left alone with a warning — or, under `--force`,
|
|
24
|
+
* backed up and replaced, and the run says so.
|
|
25
|
+
*/
|
|
26
|
+
import type { InitResult } from './types.js';
|
|
27
|
+
export declare const NEW_VERSION_SUFFIX = ".monomind-new";
|
|
28
|
+
/** Backup directories kept by pruneBackups (retirement ones are never pruned). */
|
|
29
|
+
export declare const BACKUPS_KEPT = 5;
|
|
30
|
+
export interface FileGuardOptions {
|
|
31
|
+
/** Replace a differing file that has no recorded hash (after backing it up). */
|
|
32
|
+
replaceUnrecorded: boolean;
|
|
33
|
+
/** `--force`: replace an edited managed block (after backing it up). */
|
|
34
|
+
force?: boolean;
|
|
35
|
+
}
|
|
36
|
+
export type GuardOutcome = 'written' | 'unchanged' | 'kept';
|
|
37
|
+
export declare class FileGuard {
|
|
38
|
+
readonly targetDir: string;
|
|
39
|
+
private readonly options;
|
|
40
|
+
/** Project-relative paths kept because the user edited them. */
|
|
41
|
+
readonly kept: string[];
|
|
42
|
+
/** Messages the run must show the user. */
|
|
43
|
+
readonly warnings: string[];
|
|
44
|
+
readonly backupDir: string;
|
|
45
|
+
private readonly files;
|
|
46
|
+
private readonly blocks;
|
|
47
|
+
private readonly touched;
|
|
48
|
+
constructor(targetDir: string, options: FileGuardOptions);
|
|
49
|
+
private rel;
|
|
50
|
+
/** Absolute paths of the files kept this run, for installs that must skip them. */
|
|
51
|
+
keptPaths(): Set<string>;
|
|
52
|
+
private backup;
|
|
53
|
+
/** Write `content` to `dest` unless that would overwrite a user edit. */
|
|
54
|
+
write(dest: string, content: string | Buffer, mode?: number): GuardOutcome;
|
|
55
|
+
/** An unrecorded file may be replaced: it is ours modulo markers, or the
|
|
56
|
+
* caller replaces unrecorded files and a backup was taken first. */
|
|
57
|
+
private adoptable;
|
|
58
|
+
copyFile(src: string, dest: string): GuardOutcome;
|
|
59
|
+
/** copyDirRecursive through the guard. */
|
|
60
|
+
copyDir(src: string, dest: string): void;
|
|
61
|
+
/**
|
|
62
|
+
* The content to write for `file` with `generated` merged into its
|
|
63
|
+
* `marker` block, or null when the block was edited and must be kept.
|
|
64
|
+
*/
|
|
65
|
+
mergeBlock(file: string, existing: string, marker: string, generated: string): string | null;
|
|
66
|
+
/** Record hashes for what was written; call once every writer has run. */
|
|
67
|
+
finalize(): void;
|
|
68
|
+
/** Persist hashes now (a writer called outside a full run has no finalize). */
|
|
69
|
+
flush(): void;
|
|
70
|
+
}
|
|
71
|
+
/** The run's guard, created on first use. */
|
|
72
|
+
export declare function guardFor(targetDir: string, options: {
|
|
73
|
+
force?: boolean;
|
|
74
|
+
preserveEdits?: boolean;
|
|
75
|
+
}, result: InitResult): FileGuard;
|
|
76
|
+
/** Record the run's hashes and move its kept files and warnings into `result`. */
|
|
77
|
+
export declare function finalizeGuard(result: InitResult): void;
|
|
78
|
+
/**
|
|
79
|
+
* Whether `file` is one init kept because the user edited it: a
|
|
80
|
+
* `.monomind-new` copy sits beside it, or its content no longer matches the
|
|
81
|
+
* hash init recorded. Other tools that refresh shipped files (doctor --fix)
|
|
82
|
+
* must leave such a file alone.
|
|
83
|
+
*/
|
|
84
|
+
export declare function isKeptUserEdit(targetDir: string, file: string): boolean;
|
|
85
|
+
/** The warning a run prints for the files it kept, or '' when there are none. */
|
|
86
|
+
export declare function formatKeptFiles(kept: readonly string[] | undefined): string;
|
|
87
|
+
/**
|
|
88
|
+
* Keep the newest `keep` backup directories. A directory holding retired
|
|
89
|
+
* entries (`retired/`) is never removed: the manifest points at it and it can
|
|
90
|
+
* be the only copy of a user's file.
|
|
91
|
+
*/
|
|
92
|
+
export declare function pruneBackups(targetDir: string, keep?: number): string[];
|
|
93
|
+
//# sourceMappingURL=file-guard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-guard.d.ts","sourceRoot":"","sources":["../../../src/init/file-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAQH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,eAAO,MAAM,kBAAkB,kBAAkB,CAAC;AAClD,kFAAkF;AAClF,eAAO,MAAM,YAAY,IAAI,CAAC;AAc9B,MAAM,WAAW,gBAAgB;IAC/B,gFAAgF;IAChF,iBAAiB,EAAE,OAAO,CAAC;IAC3B,wEAAwE;IACxE,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,WAAW,GAAG,MAAM,CAAC;AAE5D,qBAAa,SAAS;IAWlB,QAAQ,CAAC,SAAS,EAAE,MAAM;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAX1B,gEAAgE;IAChE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAM;IAC7B,2CAA2C;IAC3C,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAM;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAyB;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyB;IAChD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAE7C,YACW,SAAS,EAAE,MAAM,EACT,OAAO,EAAE,gBAAgB,EAM3C;IAED,OAAO,CAAC,GAAG;IAIX,mFAAmF;IACnF,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC,CAEvB;IAED,OAAO,CAAC,MAAM;IAKd,yEAAyE;IACzE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,YAAY,CAwBzE;IAED;yEACqE;IACrE,OAAO,CAAC,SAAS;IAUjB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,YAAY,CAEhD;IAED,0CAA0C;IAC1C,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CASvC;IAED;;;OAGG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAyB3F;IAED,0EAA0E;IAC1E,QAAQ,IAAI,IAAI,CAMf;IAED,+EAA+E;IAC/E,KAAK,IAAI,IAAI,CAEZ;CACF;AAID,6CAA6C;AAC7C,wBAAgB,QAAQ,CACtB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CAAE,EACrD,MAAM,EAAE,UAAU,GACjB,SAAS,CAUX;AAED,kFAAkF;AAClF,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAMtD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CASvE;AAED,iFAAiF;AACjF,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,CAM3E;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,SAAe,GAAG,MAAM,EAAE,CAc7E"}
|
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Edit-preserving writes for what init ships into a project.
|
|
3
|
+
*
|
|
4
|
+
* Files (skills, agents, commands, helpers), keyed by project-relative path
|
|
5
|
+
* against the sha256 recorded in `.monomind/init-manifest.json` `files`:
|
|
6
|
+
* - missing, or already identical to the new content: written / left;
|
|
7
|
+
* - exactly what monomind left there last time: an untouched install, so it
|
|
8
|
+
* is replaced with the new version;
|
|
9
|
+
* - different from what monomind left: the user edited it. It is kept, the
|
|
10
|
+
* new version is written beside it as `<file>.monomind-new`, and the run
|
|
11
|
+
* reports it. `--force` does not change this;
|
|
12
|
+
* - never recorded (installed before hashes existed): provenance unknown. A
|
|
13
|
+
* file that matches the new version once ownership-marker lines and blank
|
|
14
|
+
* lines are ignored is adopted. Otherwise it is kept like an edit, unless
|
|
15
|
+
* the caller replaces unrecorded files (`init --force`, and `init upgrade`
|
|
16
|
+
* for helpers), in which case it is first copied to the run's backup
|
|
17
|
+
* directory `.monomind/backups/<run>/`.
|
|
18
|
+
* Hashes are taken at the end of the run (`finalize`), because platform
|
|
19
|
+
* adapters and doctor rewrite some of these files after they are copied.
|
|
20
|
+
*
|
|
21
|
+
* Managed blocks (CLAUDE.md, AGENTS.md, GEMINI.md, shared_instructions.md),
|
|
22
|
+
* keyed `<file>#<marker>` in `blocks`: a block whose body differs from what
|
|
23
|
+
* monomind last wrote is left alone with a warning — or, under `--force`,
|
|
24
|
+
* backed up and replaced, and the run says so.
|
|
25
|
+
*/
|
|
26
|
+
import { createHash } from 'node:crypto';
|
|
27
|
+
import * as fs from 'node:fs';
|
|
28
|
+
import * as path from 'node:path';
|
|
29
|
+
import { backup } from '../platform-adapters/mutation.js';
|
|
30
|
+
import { mergeGeneratedBlock, readGeneratedBlock } from './managed-block.js';
|
|
31
|
+
import { atomicWriteFile, readInitManifest, recordManifestHashes } from './shared.js';
|
|
32
|
+
export const NEW_VERSION_SUFFIX = '.monomind-new';
|
|
33
|
+
/** Backup directories kept by pruneBackups (retirement ones are never pruned). */
|
|
34
|
+
export const BACKUPS_KEPT = 5;
|
|
35
|
+
const sha256 = (data) => createHash('sha256').update(data).digest('hex');
|
|
36
|
+
/** Content with ownership-marker lines and blank lines removed, for adopting
|
|
37
|
+
* an unrecorded file that differs from the shipped one only by those. */
|
|
38
|
+
const withoutMarkers = (text) => text
|
|
39
|
+
.split(/\r?\n/)
|
|
40
|
+
.filter((line) => line.trim() !== '' && !/^\s*(?:#|\/\/|<!--)\s*monomind:(?:start|end)\s/.test(line))
|
|
41
|
+
.join('\n');
|
|
42
|
+
export class FileGuard {
|
|
43
|
+
targetDir;
|
|
44
|
+
options;
|
|
45
|
+
/** Project-relative paths kept because the user edited them. */
|
|
46
|
+
kept = [];
|
|
47
|
+
/** Messages the run must show the user. */
|
|
48
|
+
warnings = [];
|
|
49
|
+
backupDir;
|
|
50
|
+
files;
|
|
51
|
+
blocks;
|
|
52
|
+
touched = new Set();
|
|
53
|
+
constructor(targetDir, options) {
|
|
54
|
+
this.targetDir = targetDir;
|
|
55
|
+
this.options = options;
|
|
56
|
+
const manifest = readInitManifest(targetDir);
|
|
57
|
+
this.files = { ...(manifest?.files ?? {}) };
|
|
58
|
+
this.blocks = { ...(manifest?.blocks ?? {}) };
|
|
59
|
+
this.backupDir = path.join(targetDir, '.monomind', 'backups', `${Date.now()}-${process.pid}`);
|
|
60
|
+
}
|
|
61
|
+
rel(file) {
|
|
62
|
+
return path.relative(this.targetDir, file).split(path.sep).join('/');
|
|
63
|
+
}
|
|
64
|
+
/** Absolute paths of the files kept this run, for installs that must skip them. */
|
|
65
|
+
keptPaths() {
|
|
66
|
+
return new Set(this.kept.map((rel) => path.join(this.targetDir, rel)));
|
|
67
|
+
}
|
|
68
|
+
backup(file) {
|
|
69
|
+
const copy = backup(file, this.targetDir, false, this.backupDir);
|
|
70
|
+
return copy ? this.rel(copy) : this.rel(this.backupDir);
|
|
71
|
+
}
|
|
72
|
+
/** Write `content` to `dest` unless that would overwrite a user edit. */
|
|
73
|
+
write(dest, content, mode) {
|
|
74
|
+
const rel = this.rel(dest);
|
|
75
|
+
const next = Buffer.isBuffer(content) ? content : Buffer.from(content);
|
|
76
|
+
const newVersion = `${dest}${NEW_VERSION_SUFFIX}`;
|
|
77
|
+
let outcome = 'written';
|
|
78
|
+
if (fs.existsSync(dest)) {
|
|
79
|
+
const disk = fs.readFileSync(dest);
|
|
80
|
+
const recorded = this.files[rel];
|
|
81
|
+
if (disk.equals(next))
|
|
82
|
+
outcome = 'unchanged';
|
|
83
|
+
else if (recorded ? sha256(disk) !== recorded : !this.adoptable(disk, next, dest)) {
|
|
84
|
+
atomicWriteFile(newVersion, next);
|
|
85
|
+
if (!this.kept.includes(rel))
|
|
86
|
+
this.kept.push(rel);
|
|
87
|
+
return 'kept';
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
if (outcome === 'written') {
|
|
91
|
+
fs.mkdirSync(path.dirname(dest), { recursive: true });
|
|
92
|
+
atomicWriteFile(dest, next);
|
|
93
|
+
if (mode !== undefined)
|
|
94
|
+
fs.chmodSync(dest, mode);
|
|
95
|
+
}
|
|
96
|
+
this.files[rel] = sha256(next);
|
|
97
|
+
this.touched.add(rel);
|
|
98
|
+
if (fs.existsSync(newVersion))
|
|
99
|
+
fs.rmSync(newVersion);
|
|
100
|
+
return outcome;
|
|
101
|
+
}
|
|
102
|
+
/** An unrecorded file may be replaced: it is ours modulo markers, or the
|
|
103
|
+
* caller replaces unrecorded files and a backup was taken first. */
|
|
104
|
+
adoptable(disk, next, dest) {
|
|
105
|
+
if (withoutMarkers(disk.toString('utf-8')) === withoutMarkers(next.toString('utf-8')))
|
|
106
|
+
return true;
|
|
107
|
+
if (!this.options.replaceUnrecorded)
|
|
108
|
+
return false;
|
|
109
|
+
this.warnings.push(`${this.rel(dest)}: replaced; your previous copy is in ${this.backup(dest)}`);
|
|
110
|
+
return true;
|
|
111
|
+
}
|
|
112
|
+
copyFile(src, dest) {
|
|
113
|
+
return this.write(dest, fs.readFileSync(src), fs.statSync(src).mode & 0o777);
|
|
114
|
+
}
|
|
115
|
+
/** copyDirRecursive through the guard. */
|
|
116
|
+
copyDir(src, dest) {
|
|
117
|
+
for (const entry of fs.readdirSync(src, { withFileTypes: true })) {
|
|
118
|
+
// Skip exFAT/macOS AppleDouble junk files (e.g. "._foo.js").
|
|
119
|
+
if (entry.name.startsWith('._'))
|
|
120
|
+
continue;
|
|
121
|
+
const from = path.join(src, entry.name);
|
|
122
|
+
const to = path.join(dest, entry.name);
|
|
123
|
+
if (entry.isDirectory())
|
|
124
|
+
this.copyDir(from, to);
|
|
125
|
+
else
|
|
126
|
+
this.copyFile(from, to);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* The content to write for `file` with `generated` merged into its
|
|
131
|
+
* `marker` block, or null when the block was edited and must be kept.
|
|
132
|
+
*/
|
|
133
|
+
mergeBlock(file, existing, marker, generated) {
|
|
134
|
+
const key = `${this.rel(file)}#${marker}`;
|
|
135
|
+
const body = readGeneratedBlock(existing, marker);
|
|
136
|
+
const recorded = this.blocks[key];
|
|
137
|
+
if (body !== null && recorded && sha256(body) !== recorded) {
|
|
138
|
+
if (!this.options.force) {
|
|
139
|
+
this.warnings.push(`${this.rel(file)}: text inside the monomind-block:${marker} markers was edited — left as is. ` +
|
|
140
|
+
'Move your text outside the markers; `init --force` replaces the block (with a backup).');
|
|
141
|
+
return null;
|
|
142
|
+
}
|
|
143
|
+
this.warnings.push(`${this.rel(file)}: edited monomind-block:${marker} replaced (--force); previous file in ${this.backup(file)}`);
|
|
144
|
+
}
|
|
145
|
+
else if (body !== null && !recorded && body !== generated.trimEnd()) {
|
|
146
|
+
// Written before block hashes existed: it may hold edits, so keep a copy.
|
|
147
|
+
this.warnings.push(`${this.rel(file)}: monomind-block:${marker} differed from the generated text and was refreshed; previous file in ${this.backup(file)}`);
|
|
148
|
+
}
|
|
149
|
+
const merged = mergeGeneratedBlock(existing, marker, generated);
|
|
150
|
+
this.blocks[key] = sha256(readGeneratedBlock(merged, marker) ?? '');
|
|
151
|
+
recordManifestHashes(this.targetDir, 'blocks', this.blocks);
|
|
152
|
+
return merged;
|
|
153
|
+
}
|
|
154
|
+
/** Record hashes for what was written; call once every writer has run. */
|
|
155
|
+
finalize() {
|
|
156
|
+
for (const rel of this.touched) {
|
|
157
|
+
const file = path.join(this.targetDir, rel);
|
|
158
|
+
if (fs.existsSync(file))
|
|
159
|
+
this.files[rel] = sha256(fs.readFileSync(file));
|
|
160
|
+
}
|
|
161
|
+
recordManifestHashes(this.targetDir, 'files', this.files);
|
|
162
|
+
}
|
|
163
|
+
/** Persist hashes now (a writer called outside a full run has no finalize). */
|
|
164
|
+
flush() {
|
|
165
|
+
recordManifestHashes(this.targetDir, 'files', this.files);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
const guards = new WeakMap();
|
|
169
|
+
/** The run's guard, created on first use. */
|
|
170
|
+
export function guardFor(targetDir, options, result) {
|
|
171
|
+
let guard = guards.get(result);
|
|
172
|
+
if (!guard) {
|
|
173
|
+
guard = new FileGuard(targetDir, {
|
|
174
|
+
replaceUnrecorded: options.force === true,
|
|
175
|
+
force: options.force === true && options.preserveEdits !== true,
|
|
176
|
+
});
|
|
177
|
+
guards.set(result, guard);
|
|
178
|
+
}
|
|
179
|
+
return guard;
|
|
180
|
+
}
|
|
181
|
+
/** Record the run's hashes and move its kept files and warnings into `result`. */
|
|
182
|
+
export function finalizeGuard(result) {
|
|
183
|
+
const guard = guards.get(result);
|
|
184
|
+
if (!guard)
|
|
185
|
+
return;
|
|
186
|
+
guard.finalize();
|
|
187
|
+
result.kept = [...guard.kept];
|
|
188
|
+
result.warnings = [...(result.warnings ?? []), ...guard.warnings];
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Whether `file` is one init kept because the user edited it: a
|
|
192
|
+
* `.monomind-new` copy sits beside it, or its content no longer matches the
|
|
193
|
+
* hash init recorded. Other tools that refresh shipped files (doctor --fix)
|
|
194
|
+
* must leave such a file alone.
|
|
195
|
+
*/
|
|
196
|
+
export function isKeptUserEdit(targetDir, file) {
|
|
197
|
+
if (fs.existsSync(`${file}${NEW_VERSION_SUFFIX}`))
|
|
198
|
+
return true;
|
|
199
|
+
const rel = path.relative(targetDir, file).split(path.sep).join('/');
|
|
200
|
+
const recorded = readInitManifest(targetDir)?.files?.[rel];
|
|
201
|
+
try {
|
|
202
|
+
return recorded !== undefined && sha256(fs.readFileSync(file)) !== recorded;
|
|
203
|
+
}
|
|
204
|
+
catch {
|
|
205
|
+
return false;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
/** The warning a run prints for the files it kept, or '' when there are none. */
|
|
209
|
+
export function formatKeptFiles(kept) {
|
|
210
|
+
if (!kept?.length)
|
|
211
|
+
return '';
|
|
212
|
+
return [
|
|
213
|
+
`Kept ${kept.length} file(s) you edited; the new version of each is beside it as <file>${NEW_VERSION_SUFFIX} — merge what you want, then delete that copy:`,
|
|
214
|
+
...kept.map((rel) => ` ${rel}`),
|
|
215
|
+
].join('\n');
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Keep the newest `keep` backup directories. A directory holding retired
|
|
219
|
+
* entries (`retired/`) is never removed: the manifest points at it and it can
|
|
220
|
+
* be the only copy of a user's file.
|
|
221
|
+
*/
|
|
222
|
+
export function pruneBackups(targetDir, keep = BACKUPS_KEPT) {
|
|
223
|
+
const root = path.join(targetDir, '.monomind', 'backups');
|
|
224
|
+
let names;
|
|
225
|
+
try {
|
|
226
|
+
names = fs.readdirSync(root).filter((name) => /^\d+-\d+$/.test(name));
|
|
227
|
+
}
|
|
228
|
+
catch {
|
|
229
|
+
return [];
|
|
230
|
+
}
|
|
231
|
+
const prunable = names
|
|
232
|
+
.filter((name) => !fs.existsSync(path.join(root, name, 'retired')))
|
|
233
|
+
.sort((a, b) => Number(b.split('-')[0]) - Number(a.split('-')[0]) || b.localeCompare(a));
|
|
234
|
+
const removed = prunable.slice(keep);
|
|
235
|
+
for (const name of removed)
|
|
236
|
+
fs.rmSync(path.join(root, name), { recursive: true, force: true });
|
|
237
|
+
return removed;
|
|
238
|
+
}
|
|
239
|
+
//# sourceMappingURL=file-guard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-guard.js","sourceRoot":"","sources":["../../../src/init/file-guard.ts"],"names":[],"mappings":"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"}
|
|
@@ -65,6 +65,13 @@ export interface HelperFileSpec {
|
|
|
65
65
|
generate?: () => string;
|
|
66
66
|
}
|
|
67
67
|
export declare const HELPER_FILES: Record<string, HelperFileSpec>;
|
|
68
|
+
/**
|
|
69
|
+
* Permissions for a helper file, the same from `init` and `init upgrade`.
|
|
70
|
+
* Every .cjs/.js helper is run as `node <file>` (hooks, statusline, the codex
|
|
71
|
+
* and opencode bridges), so only what is executed directly is 0755: shell
|
|
72
|
+
* scripts, .mjs entry points (shebang) and the extensionless git hooks.
|
|
73
|
+
*/
|
|
74
|
+
export declare function helperFileMode(name: string): number;
|
|
68
75
|
export declare const FORCE_SYNC_HELPERS: string[];
|
|
69
76
|
export declare const DOCTOR_TRACKED_HELPERS: string[];
|
|
70
77
|
export declare const OBSOLETE_HELPER_NAMES: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers-generator.d.ts","sourceRoot":"","sources":["../../../src/init/helpers-generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CA4B9C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAkB/C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAiI/C;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAgF5C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CA+F7C;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAsW5C;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAqNjD;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAmG/C;AAED;;GAEG;AACH,wBAAgB,4BAA4B,IAAI,MAAM,CAqGrD;AAED;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,CAOpD;AAED;;GAEG;AACH,wBAAgB,mCAAmC,IAAI,MAAM,CAoH5D;AAWD,MAAM,WAAW,cAAc;IAC7B,8FAA8F;IAC9F,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kIAAkI;IAClI,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,MAAM,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CA0CvD,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,MAAM,EAEtC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,MAAM,EAE1C,CAAC;AAQF,eAAO,MAAM,qBAAqB,EAAE,MAAM,EAEzC,CAAC;AAOF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,MAAM,CAI9D,CAAC;AAKF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,MAAM,CAI9D,CAAC;AAEF;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAwB5E"}
|
|
1
|
+
{"version":3,"file":"helpers-generator.d.ts","sourceRoot":"","sources":["../../../src/init/helpers-generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CA4B9C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAkB/C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAiI/C;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAgF5C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CA+F7C;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAsW5C;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAqNjD;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAmG/C;AAED;;GAEG;AACH,wBAAgB,4BAA4B,IAAI,MAAM,CAqGrD;AAED;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,CAOpD;AAED;;GAEG;AACH,wBAAgB,mCAAmC,IAAI,MAAM,CAoH5D;AAWD,MAAM,WAAW,cAAc;IAC7B,8FAA8F;IAC9F,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kIAAkI;IAClI,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,MAAM,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CA0CvD,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,eAAO,MAAM,kBAAkB,EAAE,MAAM,EAEtC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,MAAM,EAE1C,CAAC;AAQF,eAAO,MAAM,qBAAqB,EAAE,MAAM,EAEzC,CAAC;AAOF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,MAAM,CAI9D,CAAC;AAKF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,MAAM,CAI9D,CAAC;AAEF;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAwB5E"}
|
|
@@ -1343,6 +1343,15 @@ export const HELPER_FILES = {
|
|
|
1343
1343
|
'pre-commit': { generate: generatePreCommitHook },
|
|
1344
1344
|
'post-commit': { generate: generatePostCommitHook },
|
|
1345
1345
|
};
|
|
1346
|
+
/**
|
|
1347
|
+
* Permissions for a helper file, the same from `init` and `init upgrade`.
|
|
1348
|
+
* Every .cjs/.js helper is run as `node <file>` (hooks, statusline, the codex
|
|
1349
|
+
* and opencode bridges), so only what is executed directly is 0755: shell
|
|
1350
|
+
* scripts, .mjs entry points (shebang) and the extensionless git hooks.
|
|
1351
|
+
*/
|
|
1352
|
+
export function helperFileMode(name) {
|
|
1353
|
+
return /\.(sh|mjs)$/.test(name) || !/\.[^./]+$/.test(name) ? 0o755 : 0o644;
|
|
1354
|
+
}
|
|
1346
1355
|
export const FORCE_SYNC_HELPERS = Object.keys(HELPER_FILES).filter((name) => HELPER_FILES[name].forceSync);
|
|
1347
1356
|
export const DOCTOR_TRACKED_HELPERS = Object.keys(HELPER_FILES).filter((name) => HELPER_FILES[name].doctorTracked);
|
|
1348
1357
|
// Helper file names this product shipped in the past under a name it no
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers-generator.js","sourceRoot":"","sources":["../../../src/init/helpers-generator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"helpers-generator.js","sourceRoot":"","sources":["../../../src/init/helpers-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,10 +5,20 @@
|
|
|
5
5
|
* it to `.claude/memory.db` — but idempotently: an existing database is left
|
|
6
6
|
* exactly as it is, never recreated.
|
|
7
7
|
*/
|
|
8
|
+
import type { MemorySeed } from './shared-instructions-generator.js';
|
|
8
9
|
import type { InitMemoryResult } from './types.js';
|
|
9
10
|
export declare function initProjectMemory(cwd: string, options: {
|
|
10
11
|
syncToClaude: boolean;
|
|
11
12
|
}): Promise<InitMemoryResult>;
|
|
13
|
+
/**
|
|
14
|
+
* Store the seeds shared_instructions generation detected, in-process, in
|
|
15
|
+
* `targetDir`'s memory store — the one `monomind memory store` run there
|
|
16
|
+
* writes to, which the bridge resolves from MONOMIND_CWD (else the cwd), so
|
|
17
|
+
* it is pinned to `targetDir` for the duration. Best-effort; returns how
|
|
18
|
+
* many were stored. No embeddings are computed, so init neither loads a
|
|
19
|
+
* model nor goes online.
|
|
20
|
+
*/
|
|
21
|
+
export declare function seedProjectMemory(targetDir: string, seeds: readonly MemorySeed[]): Promise<number>;
|
|
12
22
|
/** Print the outcome; a failure is a warning with the fix, never an error. */
|
|
13
23
|
export declare function reportProjectMemory(memory: InitMemoryResult | undefined): void;
|
|
14
24
|
//# sourceMappingURL=init-memory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-memory.d.ts","sourceRoot":"","sources":["../../../src/init/init-memory.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE;IAAE,YAAY,EAAE,OAAO,CAAA;CAAE,GACjC,OAAO,CAAC,gBAAgB,CAAC,CAoB3B;AAED,8EAA8E;AAC9E,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,GAAG,IAAI,CAQ9E"}
|
|
1
|
+
{"version":3,"file":"init-memory.d.ts","sourceRoot":"","sources":["../../../src/init/init-memory.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE;IAAE,YAAY,EAAE,OAAO,CAAA;CAAE,GACjC,OAAO,CAAC,gBAAgB,CAAC,CAoB3B;AAMD;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,SAAS,UAAU,EAAE,GAC3B,OAAO,CAAC,MAAM,CAAC,CAyBjB;AAED,8EAA8E;AAC9E,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,GAAG,IAAI,CAQ9E"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import * as fs from 'node:fs';
|
|
9
9
|
import * as path from 'node:path';
|
|
10
|
-
import { initializeMemoryDatabase } from '../memory/memory-initializer.js';
|
|
10
|
+
import { initializeMemoryDatabase, storeEntry } from '../memory/memory-initializer.js';
|
|
11
11
|
import { output } from '../output.js';
|
|
12
12
|
export async function initProjectMemory(cwd, options) {
|
|
13
13
|
const dbPath = path.join(cwd, '.swarm', 'memory.db');
|
|
@@ -31,6 +31,49 @@ export async function initProjectMemory(cwd, options) {
|
|
|
31
31
|
return { status: 'failed', dbPath, error: e instanceof Error ? e.message : String(e) };
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
|
+
// Seed keys come from package.json's `name`; keep them to a plain shape.
|
|
35
|
+
const SEED_KEY = /^[a-zA-Z0-9._:/-]{1,128}$/;
|
|
36
|
+
const SEED_NAMESPACE = /^[a-zA-Z0-9_-]{1,64}$/;
|
|
37
|
+
/**
|
|
38
|
+
* Store the seeds shared_instructions generation detected, in-process, in
|
|
39
|
+
* `targetDir`'s memory store — the one `monomind memory store` run there
|
|
40
|
+
* writes to, which the bridge resolves from MONOMIND_CWD (else the cwd), so
|
|
41
|
+
* it is pinned to `targetDir` for the duration. Best-effort; returns how
|
|
42
|
+
* many were stored. No embeddings are computed, so init neither loads a
|
|
43
|
+
* model nor goes online.
|
|
44
|
+
*/
|
|
45
|
+
export async function seedProjectMemory(targetDir, seeds) {
|
|
46
|
+
const previousCwd = process.env.MONOMIND_CWD;
|
|
47
|
+
process.env.MONOMIND_CWD = targetDir;
|
|
48
|
+
let stored = 0;
|
|
49
|
+
try {
|
|
50
|
+
for (const { key, value, namespace } of seeds) {
|
|
51
|
+
if (!SEED_KEY.test(key) || !SEED_NAMESPACE.test(namespace))
|
|
52
|
+
continue;
|
|
53
|
+
try {
|
|
54
|
+
const result = await storeEntry({
|
|
55
|
+
key,
|
|
56
|
+
value,
|
|
57
|
+
namespace,
|
|
58
|
+
generateEmbeddingFlag: false,
|
|
59
|
+
upsert: true,
|
|
60
|
+
});
|
|
61
|
+
if (result.success)
|
|
62
|
+
stored++;
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
// Non-critical — memory seeding is best-effort
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
finally {
|
|
70
|
+
if (previousCwd === undefined)
|
|
71
|
+
delete process.env.MONOMIND_CWD;
|
|
72
|
+
else
|
|
73
|
+
process.env.MONOMIND_CWD = previousCwd;
|
|
74
|
+
}
|
|
75
|
+
return stored;
|
|
76
|
+
}
|
|
34
77
|
/** Print the outcome; a failure is a warning with the fix, never an error. */
|
|
35
78
|
export function reportProjectMemory(memory) {
|
|
36
79
|
if (memory?.status === 'created')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-memory.js","sourceRoot":"","sources":["../../../src/init/init-memory.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"init-memory.js","sourceRoot":"","sources":["../../../src/init/init-memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
* Every path is idempotent: a second run matches case 2 and rewrites byte-for-
|
|
23
23
|
* byte identical content. Content outside the block is never touched.
|
|
24
24
|
*
|
|
25
|
-
* The delimiter text is deliberately NOT the
|
|
25
|
+
* The delimiter text is deliberately NOT the `monomind:start <name>`
|
|
26
26
|
* convention platform-adapters/merge.ts uses for its own instruction blocks:
|
|
27
27
|
* that text is also matched, none too precisely, by the legacy bare-block
|
|
28
28
|
* migration regexes in platform-adapters/migration.ts, which would treat a
|
|
@@ -40,5 +40,7 @@ export declare function dropLegacyUnmarked(text: string, generated: string): str
|
|
|
40
40
|
* platform-adapters/merge.ts for the skill writer (GH #286).
|
|
41
41
|
*/
|
|
42
42
|
export declare function replaceLegacyUnmarked(text: string, generated: string, block: string): string | null;
|
|
43
|
+
/** The body of the current-form `marker` block in `text`, or null if absent. */
|
|
44
|
+
export declare function readGeneratedBlock(text: string, marker: string): string | null;
|
|
43
45
|
export declare function mergeGeneratedBlock(existing: string, marker: string, generated: string): string;
|
|
44
46
|
//# sourceMappingURL=managed-block.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"managed-block.d.ts","sourceRoot":"","sources":["../../../src/init/managed-block.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA+HH;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAU1E;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ,MAAM,GAAG,IAAI,CAQf;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CA0B/F"}
|
|
1
|
+
{"version":3,"file":"managed-block.d.ts","sourceRoot":"","sources":["../../../src/init/managed-block.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA+HH;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAU1E;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ,MAAM,GAAG,IAAI,CAQf;AAED,gFAAgF;AAChF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI9E;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CA0B/F"}
|
|
@@ -35,7 +35,7 @@ function currentBlockPattern(marker) {
|
|
|
35
35
|
function legacyMarkerPattern(marker) {
|
|
36
36
|
const escaped = escapeForBlockMarker(marker);
|
|
37
37
|
const commentPrefix = '(?:(?:#|//)\\s*|<!--\\s*)?';
|
|
38
|
-
const suffix = '\\
|
|
38
|
+
const suffix = '[^\\S\\r\\n]*(?:-->)?[^\\S\\r\\n]*(?:\\r?\\n|$)';
|
|
39
39
|
return new RegExp(`^[\\t ]*${commentPrefix}monomind:start\\s+${escaped}${suffix}[\\s\\S]*?^[\\t ]*${commentPrefix}monomind:end\\s+${escaped}${suffix}`, 'm');
|
|
40
40
|
}
|
|
41
41
|
/** Opens or closes a fenced code block (``` or ~~~). */
|
|
@@ -136,7 +136,7 @@ function findLegacyUnmarkedRange(lines, generated) {
|
|
|
136
136
|
* Every path is idempotent: a second run matches case 2 and rewrites byte-for-
|
|
137
137
|
* byte identical content. Content outside the block is never touched.
|
|
138
138
|
*
|
|
139
|
-
* The delimiter text is deliberately NOT the
|
|
139
|
+
* The delimiter text is deliberately NOT the `monomind:start <name>`
|
|
140
140
|
* convention platform-adapters/merge.ts uses for its own instruction blocks:
|
|
141
141
|
* that text is also matched, none too precisely, by the legacy bare-block
|
|
142
142
|
* migration regexes in platform-adapters/migration.ts, which would treat a
|
|
@@ -175,6 +175,13 @@ export function replaceLegacyUnmarked(text, generated, block) {
|
|
|
175
175
|
lines.splice(range.start, range.end - range.start, ...blockLines);
|
|
176
176
|
return lines.join('\n');
|
|
177
177
|
}
|
|
178
|
+
/** The body of the current-form `marker` block in `text`, or null if absent. */
|
|
179
|
+
export function readGeneratedBlock(text, marker) {
|
|
180
|
+
const match = currentBlockPattern(marker).exec(text);
|
|
181
|
+
if (!match)
|
|
182
|
+
return null;
|
|
183
|
+
return match[0].replace(/\n$/, '').split('\n').slice(1, -1).join('\n');
|
|
184
|
+
}
|
|
178
185
|
export function mergeGeneratedBlock(existing, marker, generated) {
|
|
179
186
|
const block = buildBlock(marker, generated);
|
|
180
187
|
if (existing.length === 0)
|