@monoes/monomindcli 2.16.12 → 2.16.14
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/core/coder.md +1 -1
- package/.claude/agents/engineering/engineering-devops-automator.md +1 -1
- package/.claude/agents/github/repo-architect.md +1 -1
- package/.claude/agents/testing/production-validator.md +1 -1
- package/.claude/agents/testing/testing-tool-evaluator.md +1 -1
- package/.claude/commands/github/pr-manager.md +1 -1
- package/.claude/helpers/pick-rank.cjs +34 -4
- package/.claude/skills/monolean-audit/SKILL.md +1 -1
- package/README.md +1 -1
- package/dist/src/commands/cleanup-data.d.ts +30 -0
- package/dist/src/commands/cleanup-data.d.ts.map +1 -0
- package/dist/src/commands/cleanup-data.js +138 -0
- package/dist/src/commands/cleanup-data.js.map +1 -0
- package/dist/src/commands/cleanup-scratch.d.ts +43 -0
- package/dist/src/commands/cleanup-scratch.d.ts.map +1 -0
- package/dist/src/commands/cleanup-scratch.js +125 -0
- package/dist/src/commands/cleanup-scratch.js.map +1 -0
- package/dist/src/commands/cleanup.d.ts +2 -39
- package/dist/src/commands/cleanup.d.ts.map +1 -1
- package/dist/src/commands/cleanup.js +5 -247
- package/dist/src/commands/cleanup.js.map +1 -1
- package/dist/src/commands/doctor-gitignore-checks.d.ts +10 -0
- package/dist/src/commands/doctor-gitignore-checks.d.ts.map +1 -0
- package/dist/src/commands/doctor-gitignore-checks.js +141 -0
- package/dist/src/commands/doctor-gitignore-checks.js.map +1 -0
- package/dist/src/commands/doctor-helpers-checks.d.ts +10 -0
- package/dist/src/commands/doctor-helpers-checks.d.ts.map +1 -0
- package/dist/src/commands/doctor-helpers-checks.js +292 -0
- package/dist/src/commands/doctor-helpers-checks.js.map +1 -0
- package/dist/src/commands/doctor-memory-checks.d.ts +47 -0
- package/dist/src/commands/doctor-memory-checks.d.ts.map +1 -0
- package/dist/src/commands/doctor-memory-checks.js +298 -0
- package/dist/src/commands/doctor-memory-checks.js.map +1 -0
- package/dist/src/commands/doctor-monograph-checks.d.ts +9 -0
- package/dist/src/commands/doctor-monograph-checks.d.ts.map +1 -0
- package/dist/src/commands/doctor-monograph-checks.js +331 -0
- package/dist/src/commands/doctor-monograph-checks.js.map +1 -0
- package/dist/src/commands/doctor-project-checks.d.ts +7 -66
- package/dist/src/commands/doctor-project-checks.d.ts.map +1 -1
- package/dist/src/commands/doctor-project-checks.js +10 -1331
- package/dist/src/commands/doctor-project-checks.js.map +1 -1
- package/dist/src/commands/doctor-routing-checks.d.ts +10 -0
- package/dist/src/commands/doctor-routing-checks.d.ts.map +1 -0
- package/dist/src/commands/doctor-routing-checks.js +194 -0
- package/dist/src/commands/doctor-routing-checks.js.map +1 -0
- package/dist/src/commands/doctor-worker-checks.d.ts +17 -0
- package/dist/src/commands/doctor-worker-checks.d.ts.map +1 -0
- package/dist/src/commands/doctor-worker-checks.js +122 -0
- package/dist/src/commands/doctor-worker-checks.js.map +1 -0
- package/dist/src/commands/hooks-routing-commands.js +1 -1
- package/dist/src/commands/hooks-routing-commands.js.map +1 -1
- package/dist/src/commands/init.d.ts.map +1 -1
- package/dist/src/commands/init.js +6 -15
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/org-control.d.ts +117 -0
- package/dist/src/commands/org-control.d.ts.map +1 -0
- package/dist/src/commands/org-control.js +274 -0
- package/dist/src/commands/org-control.js.map +1 -0
- package/dist/src/commands/org-lifecycle.d.ts +7 -0
- package/dist/src/commands/org-lifecycle.d.ts.map +1 -0
- package/dist/src/commands/org-lifecycle.js +298 -0
- package/dist/src/commands/org-lifecycle.js.map +1 -0
- package/dist/src/commands/org-manage.d.ts +7 -0
- package/dist/src/commands/org-manage.d.ts.map +1 -0
- package/dist/src/commands/org-manage.js +357 -0
- package/dist/src/commands/org-manage.js.map +1 -0
- package/dist/src/commands/org-memory-command.d.ts +3 -0
- package/dist/src/commands/org-memory-command.d.ts.map +1 -0
- package/dist/src/commands/org-memory-command.js +178 -0
- package/dist/src/commands/org-memory-command.js.map +1 -0
- package/dist/src/commands/org-observe-approvals.d.ts +8 -0
- package/dist/src/commands/org-observe-approvals.d.ts.map +1 -0
- package/dist/src/commands/org-observe-approvals.js +211 -0
- package/dist/src/commands/org-observe-approvals.js.map +1 -0
- package/dist/src/commands/org-observe-checkpoint.d.ts +26 -0
- package/dist/src/commands/org-observe-checkpoint.d.ts.map +1 -0
- package/dist/src/commands/org-observe-checkpoint.js +180 -0
- package/dist/src/commands/org-observe-checkpoint.js.map +1 -0
- package/dist/src/commands/org-observe-config.d.ts +8 -0
- package/dist/src/commands/org-observe-config.d.ts.map +1 -0
- package/dist/src/commands/org-observe-config.js +160 -0
- package/dist/src/commands/org-observe-config.js.map +1 -0
- package/dist/src/commands/org-observe-gates.d.ts +4 -0
- package/dist/src/commands/org-observe-gates.d.ts.map +1 -0
- package/dist/src/commands/org-observe-gates.js +182 -0
- package/dist/src/commands/org-observe-gates.js.map +1 -0
- package/dist/src/commands/org-observe-inbox.d.ts +18 -0
- package/dist/src/commands/org-observe-inbox.d.ts.map +1 -0
- package/dist/src/commands/org-observe-inbox.js +154 -0
- package/dist/src/commands/org-observe-inbox.js.map +1 -0
- package/dist/src/commands/org-observe-logs.d.ts +31 -0
- package/dist/src/commands/org-observe-logs.d.ts.map +1 -0
- package/dist/src/commands/org-observe-logs.js +272 -0
- package/dist/src/commands/org-observe-logs.js.map +1 -0
- package/dist/src/commands/org-observe-questions.d.ts +8 -0
- package/dist/src/commands/org-observe-questions.d.ts.map +1 -0
- package/dist/src/commands/org-observe-questions.js +201 -0
- package/dist/src/commands/org-observe-questions.js.map +1 -0
- package/dist/src/commands/org-observe-report.d.ts +8 -0
- package/dist/src/commands/org-observe-report.d.ts.map +1 -0
- package/dist/src/commands/org-observe-report.js +366 -0
- package/dist/src/commands/org-observe-report.js.map +1 -0
- package/dist/src/commands/org-observe-shared.d.ts +20 -0
- package/dist/src/commands/org-observe-shared.d.ts.map +1 -0
- package/dist/src/commands/org-observe-shared.js +55 -0
- package/dist/src/commands/org-observe-shared.js.map +1 -0
- package/dist/src/commands/org-observe.d.ts +9 -101
- package/dist/src/commands/org-observe.d.ts.map +1 -1
- package/dist/src/commands/org-observe.js +12 -1675
- package/dist/src/commands/org-observe.js.map +1 -1
- package/dist/src/commands/org-poll.d.ts +57 -0
- package/dist/src/commands/org-poll.d.ts.map +1 -0
- package/dist/src/commands/org-poll.js +194 -0
- package/dist/src/commands/org-poll.js.map +1 -0
- package/dist/src/commands/org-run.d.ts +3 -0
- package/dist/src/commands/org-run.d.ts.map +1 -0
- package/dist/src/commands/org-run.js +449 -0
- package/dist/src/commands/org-run.js.map +1 -0
- package/dist/src/commands/org-serve.d.ts +19 -0
- package/dist/src/commands/org-serve.d.ts.map +1 -0
- package/dist/src/commands/org-serve.js +395 -0
- package/dist/src/commands/org-serve.js.map +1 -0
- package/dist/src/commands/org-subcommands-config.d.ts +8 -0
- package/dist/src/commands/org-subcommands-config.d.ts.map +1 -0
- package/dist/src/commands/org-subcommands-config.js +93 -0
- package/dist/src/commands/org-subcommands-config.js.map +1 -0
- package/dist/src/commands/org-subcommands-hil.d.ts +11 -0
- package/dist/src/commands/org-subcommands-hil.d.ts.map +1 -0
- package/dist/src/commands/org-subcommands-hil.js +216 -0
- package/dist/src/commands/org-subcommands-hil.js.map +1 -0
- package/dist/src/commands/org-subcommands-observe.d.ts +12 -0
- package/dist/src/commands/org-subcommands-observe.d.ts.map +1 -0
- package/dist/src/commands/org-subcommands-observe.js +249 -0
- package/dist/src/commands/org-subcommands-observe.js.map +1 -0
- package/dist/src/commands/org-subcommands-runtime.d.ts +12 -0
- package/dist/src/commands/org-subcommands-runtime.d.ts.map +1 -0
- package/dist/src/commands/org-subcommands-runtime.js +163 -0
- package/dist/src/commands/org-subcommands-runtime.js.map +1 -0
- package/dist/src/commands/org.d.ts +3 -151
- package/dist/src/commands/org.d.ts.map +1 -1
- package/dist/src/commands/org.js +43 -2735
- package/dist/src/commands/org.js.map +1 -1
- package/dist/src/index.js +2 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/init/never-commit.d.ts +3 -3
- package/dist/src/init/types.d.ts +1 -1
- package/dist/src/init/types.js +1 -1
- package/dist/src/knowledge/document-store.js +1 -1
- package/dist/src/knowledge/document-store.js.map +1 -1
- package/dist/src/mcp-tools/hooks-edit-command.d.ts +10 -0
- package/dist/src/mcp-tools/hooks-edit-command.d.ts.map +1 -0
- package/dist/src/mcp-tools/hooks-edit-command.js +247 -0
- package/dist/src/mcp-tools/hooks-edit-command.js.map +1 -0
- package/dist/src/mcp-tools/hooks-learning.d.ts +9 -0
- package/dist/src/mcp-tools/hooks-learning.d.ts.map +1 -0
- package/dist/src/mcp-tools/hooks-learning.js +408 -0
- package/dist/src/mcp-tools/hooks-learning.js.map +1 -0
- package/dist/src/mcp-tools/hooks-metrics-list.d.ts +8 -0
- package/dist/src/mcp-tools/hooks-metrics-list.d.ts.map +1 -0
- package/dist/src/mcp-tools/hooks-metrics-list.js +205 -0
- package/dist/src/mcp-tools/hooks-metrics-list.js.map +1 -0
- package/dist/src/mcp-tools/hooks-route.d.ts +12 -0
- package/dist/src/mcp-tools/hooks-route.d.ts.map +1 -0
- package/dist/src/mcp-tools/hooks-route.js +251 -0
- package/dist/src/mcp-tools/hooks-route.js.map +1 -0
- package/dist/src/mcp-tools/hooks-routing.d.ts +6 -27
- package/dist/src/mcp-tools/hooks-routing.d.ts.map +1 -1
- package/dist/src/mcp-tools/hooks-routing.js +6 -1727
- package/dist/src/mcp-tools/hooks-routing.js.map +1 -1
- package/dist/src/mcp-tools/hooks-session.d.ts +9 -0
- package/dist/src/mcp-tools/hooks-session.d.ts.map +1 -0
- package/dist/src/mcp-tools/hooks-session.js +243 -0
- package/dist/src/mcp-tools/hooks-session.js.map +1 -0
- package/dist/src/mcp-tools/hooks-task.d.ts +17 -0
- package/dist/src/mcp-tools/hooks-task.d.ts.map +1 -0
- package/dist/src/mcp-tools/hooks-task.js +427 -0
- package/dist/src/mcp-tools/hooks-task.js.map +1 -0
- package/dist/src/mcp-tools/hooks-tools.d.ts +2 -1
- package/dist/src/mcp-tools/hooks-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/hooks-tools.js +2 -1
- package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
- package/dist/src/mcp-tools/memory-tools.js +1 -1
- package/dist/src/mcp-tools/memory-tools.js.map +1 -1
- package/dist/src/memory/bm25-index.d.ts +2 -2
- package/dist/src/memory/bm25-index.js +2 -2
- package/dist/src/memory/embedding-operations.js +2 -2
- package/dist/src/memory/embedding-operations.js.map +1 -1
- package/dist/src/memory/entity-name-key.d.ts +1 -1
- package/dist/src/memory/entity-name-key.js +1 -1
- package/dist/src/memory/hnsw-operations.d.ts +1 -1
- package/dist/src/memory/hnsw-operations.js +1 -1
- package/dist/src/memory/memory-bridge-backend.d.ts +43 -0
- package/dist/src/memory/memory-bridge-backend.d.ts.map +1 -0
- package/dist/src/memory/memory-bridge-backend.js +363 -0
- package/dist/src/memory/memory-bridge-backend.js.map +1 -0
- package/dist/src/memory/memory-bridge-core.d.ts +42 -0
- package/dist/src/memory/memory-bridge-core.d.ts.map +1 -0
- package/dist/src/memory/memory-bridge-core.js +126 -0
- package/dist/src/memory/memory-bridge-core.js.map +1 -0
- package/dist/src/memory/memory-bridge-entries.d.ts +131 -0
- package/dist/src/memory/memory-bridge-entries.d.ts.map +1 -0
- package/dist/src/memory/memory-bridge-entries.js +227 -0
- package/dist/src/memory/memory-bridge-entries.js.map +1 -0
- package/dist/src/memory/memory-bridge-feedback.d.ts +60 -0
- package/dist/src/memory/memory-bridge-feedback.d.ts.map +1 -0
- package/dist/src/memory/memory-bridge-feedback.js +118 -0
- package/dist/src/memory/memory-bridge-feedback.js.map +1 -0
- package/dist/src/memory/memory-bridge-paths.d.ts +123 -0
- package/dist/src/memory/memory-bridge-paths.d.ts.map +1 -0
- package/dist/src/memory/memory-bridge-paths.js +335 -0
- package/dist/src/memory/memory-bridge-paths.js.map +1 -0
- package/dist/src/memory/memory-bridge-search.d.ts +48 -0
- package/dist/src/memory/memory-bridge-search.d.ts.map +1 -0
- package/dist/src/memory/memory-bridge-search.js +383 -0
- package/dist/src/memory/memory-bridge-search.js.map +1 -0
- package/dist/src/memory/memory-bridge-sessions.d.ts +38 -0
- package/dist/src/memory/memory-bridge-sessions.d.ts.map +1 -0
- package/dist/src/memory/memory-bridge-sessions.js +109 -0
- package/dist/src/memory/memory-bridge-sessions.js.map +1 -0
- package/dist/src/memory/memory-bridge-store.d.ts +58 -0
- package/dist/src/memory/memory-bridge-store.d.ts.map +1 -0
- package/dist/src/memory/memory-bridge-store.js +201 -0
- package/dist/src/memory/memory-bridge-store.js.map +1 -0
- package/dist/src/memory/memory-bridge.d.ts +10 -438
- package/dist/src/memory/memory-bridge.d.ts.map +1 -1
- package/dist/src/memory/memory-bridge.js +14 -1787
- package/dist/src/memory/memory-bridge.js.map +1 -1
- package/dist/src/memory/memory-kg-claims.d.ts +52 -0
- package/dist/src/memory/memory-kg-claims.d.ts.map +1 -0
- package/dist/src/memory/memory-kg-claims.js +99 -0
- package/dist/src/memory/memory-kg-claims.js.map +1 -0
- package/dist/src/memory/memory-kg-index.d.ts +86 -0
- package/dist/src/memory/memory-kg-index.d.ts.map +1 -0
- package/dist/src/memory/memory-kg-index.js +256 -0
- package/dist/src/memory/memory-kg-index.js.map +1 -0
- package/dist/src/memory/memory-kg-ingest.d.ts +44 -0
- package/dist/src/memory/memory-kg-ingest.d.ts.map +1 -0
- package/dist/src/memory/memory-kg-ingest.js +361 -0
- package/dist/src/memory/memory-kg-ingest.js.map +1 -0
- package/dist/src/memory/memory-kg-model.d.ts +168 -0
- package/dist/src/memory/memory-kg-model.d.ts.map +1 -0
- package/dist/src/memory/memory-kg-model.js +158 -0
- package/dist/src/memory/memory-kg-model.js.map +1 -0
- package/dist/src/memory/memory-kg-names.d.ts +64 -0
- package/dist/src/memory/memory-kg-names.d.ts.map +1 -0
- package/dist/src/memory/memory-kg-names.js +187 -0
- package/dist/src/memory/memory-kg-names.js.map +1 -0
- package/dist/src/memory/memory-kg-promote.d.ts +79 -0
- package/dist/src/memory/memory-kg-promote.d.ts.map +1 -0
- package/dist/src/memory/memory-kg-promote.js +248 -0
- package/dist/src/memory/memory-kg-promote.js.map +1 -0
- package/dist/src/memory/memory-kg-rebuild.d.ts +77 -0
- package/dist/src/memory/memory-kg-rebuild.d.ts.map +1 -0
- package/dist/src/memory/memory-kg-rebuild.js +299 -0
- package/dist/src/memory/memory-kg-rebuild.js.map +1 -0
- package/dist/src/memory/memory-kg-rollback.d.ts +47 -0
- package/dist/src/memory/memory-kg-rollback.d.ts.map +1 -0
- package/dist/src/memory/memory-kg-rollback.js +193 -0
- package/dist/src/memory/memory-kg-rollback.js.map +1 -0
- package/dist/src/memory/memory-kg-rules.d.ts +64 -0
- package/dist/src/memory/memory-kg-rules.d.ts.map +1 -0
- package/dist/src/memory/memory-kg-rules.js +251 -0
- package/dist/src/memory/memory-kg-rules.js.map +1 -0
- package/dist/src/memory/memory-kg-scan.d.ts +118 -0
- package/dist/src/memory/memory-kg-scan.d.ts.map +1 -0
- package/dist/src/memory/memory-kg-scan.js +209 -0
- package/dist/src/memory/memory-kg-scan.js.map +1 -0
- package/dist/src/memory/memory-kg-search.d.ts +80 -0
- package/dist/src/memory/memory-kg-search.d.ts.map +1 -0
- package/dist/src/memory/memory-kg-search.js +239 -0
- package/dist/src/memory/memory-kg-search.js.map +1 -0
- package/dist/src/memory/memory-kg.d.ts +19 -547
- package/dist/src/memory/memory-kg.d.ts.map +1 -1
- package/dist/src/memory/memory-kg.js +10 -2389
- package/dist/src/memory/memory-kg.js.map +1 -1
- package/dist/src/orgrt/daemon-types.d.ts +196 -0
- package/dist/src/orgrt/daemon-types.d.ts.map +1 -0
- package/dist/src/orgrt/daemon-types.js +38 -0
- package/dist/src/orgrt/daemon-types.js.map +1 -0
- package/dist/src/orgrt/daemon.d.ts +70 -300
- package/dist/src/orgrt/daemon.d.ts.map +1 -1
- package/dist/src/orgrt/daemon.js +41 -2536
- package/dist/src/orgrt/daemon.js.map +1 -1
- package/dist/src/orgrt/idle-watchdog.d.ts +39 -0
- package/dist/src/orgrt/idle-watchdog.d.ts.map +1 -0
- package/dist/src/orgrt/idle-watchdog.js +289 -0
- package/dist/src/orgrt/idle-watchdog.js.map +1 -0
- package/dist/src/orgrt/org-reload.d.ts +7 -0
- package/dist/src/orgrt/org-reload.d.ts.map +1 -0
- package/dist/src/orgrt/org-reload.js +111 -0
- package/dist/src/orgrt/org-reload.js.map +1 -0
- package/dist/src/orgrt/org-start-steps.d.ts +21 -0
- package/dist/src/orgrt/org-start-steps.d.ts.map +1 -0
- package/dist/src/orgrt/org-start-steps.js +305 -0
- package/dist/src/orgrt/org-start-steps.js.map +1 -0
- package/dist/src/orgrt/org-start.d.ts +7 -0
- package/dist/src/orgrt/org-start.d.ts.map +1 -0
- package/dist/src/orgrt/org-start.js +435 -0
- package/dist/src/orgrt/org-start.js.map +1 -0
- package/dist/src/orgrt/org-state-file.d.ts +8 -0
- package/dist/src/orgrt/org-state-file.d.ts.map +1 -0
- package/dist/src/orgrt/org-state-file.js +116 -0
- package/dist/src/orgrt/org-state-file.js.map +1 -0
- package/dist/src/orgrt/org-stop.d.ts +6 -0
- package/dist/src/orgrt/org-stop.d.ts.map +1 -0
- package/dist/src/orgrt/org-stop.js +332 -0
- package/dist/src/orgrt/org-stop.js.map +1 -0
- package/dist/src/orgrt/org-tools.d.ts +11 -0
- package/dist/src/orgrt/org-tools.d.ts.map +1 -0
- package/dist/src/orgrt/org-tools.js +305 -0
- package/dist/src/orgrt/org-tools.js.map +1 -0
- package/dist/src/orgrt/role-incarnation.d.ts +18 -0
- package/dist/src/orgrt/role-incarnation.d.ts.map +1 -0
- package/dist/src/orgrt/role-incarnation.js +374 -0
- package/dist/src/orgrt/role-incarnation.js.map +1 -0
- package/dist/src/orgrt/role-respawn.d.ts +7 -0
- package/dist/src/orgrt/role-respawn.d.ts.map +1 -0
- package/dist/src/orgrt/role-respawn.js +318 -0
- package/dist/src/orgrt/role-respawn.js.map +1 -0
- package/dist/src/orgrt/role-session-opts.d.ts +389 -0
- package/dist/src/orgrt/role-session-opts.d.ts.map +1 -0
- package/dist/src/orgrt/role-session-opts.js +289 -0
- package/dist/src/orgrt/role-session-opts.js.map +1 -0
- package/dist/src/orgrt/runner-resolve.d.ts +43 -0
- package/dist/src/orgrt/runner-resolve.d.ts.map +1 -0
- package/dist/src/orgrt/runner-resolve.js +77 -0
- package/dist/src/orgrt/runner-resolve.js.map +1 -0
- package/dist/src/orgrt/session-gate.d.ts +34 -0
- package/dist/src/orgrt/session-gate.d.ts.map +1 -0
- package/dist/src/orgrt/session-gate.js +74 -0
- package/dist/src/orgrt/session-gate.js.map +1 -0
- package/dist/src/orgrt/session-prompt.d.ts +31 -0
- package/dist/src/orgrt/session-prompt.d.ts.map +1 -0
- package/dist/src/orgrt/session-prompt.js +115 -0
- package/dist/src/orgrt/session-prompt.js.map +1 -0
- package/dist/src/orgrt/session-run.d.ts +18 -0
- package/dist/src/orgrt/session-run.d.ts.map +1 -0
- package/dist/src/orgrt/session-run.js +429 -0
- package/dist/src/orgrt/session-run.js.map +1 -0
- package/dist/src/orgrt/session-stream.d.ts +21 -0
- package/dist/src/orgrt/session-stream.d.ts.map +1 -0
- package/dist/src/orgrt/session-stream.js +173 -0
- package/dist/src/orgrt/session-stream.js.map +1 -0
- package/dist/src/orgrt/session-types.d.ts +219 -0
- package/dist/src/orgrt/session-types.d.ts.map +1 -0
- package/dist/src/orgrt/session-types.js +2 -0
- package/dist/src/orgrt/session-types.js.map +1 -0
- package/dist/src/orgrt/session-usage.d.ts +29 -0
- package/dist/src/orgrt/session-usage.d.ts.map +1 -0
- package/dist/src/orgrt/session-usage.js +64 -0
- package/dist/src/orgrt/session-usage.js.map +1 -0
- package/dist/src/orgrt/session.d.ts +5 -281
- package/dist/src/orgrt/session.d.ts.map +1 -1
- package/dist/src/orgrt/session.js +8 -1117
- package/dist/src/orgrt/session.js.map +1 -1
- package/dist/src/ui/org-hil.mjs +1 -1
- package/dist/src/ui/routes-org-agents.mjs +318 -0
- package/dist/src/ui/routes-org-approvals.mjs +133 -0
- package/dist/src/ui/routes-org-config.mjs +459 -0
- package/dist/src/ui/routes-org-control.mjs +300 -0
- package/dist/src/ui/routes-org-files.mjs +172 -0
- package/dist/src/ui/routes-org-helpers.mjs +84 -0
- package/dist/src/ui/routes-org-knowledge.mjs +262 -0
- package/dist/src/ui/routes-org-lifecycle.mjs +224 -0
- package/dist/src/ui/routes-org-live.mjs +278 -0
- package/dist/src/ui/routes-org-mastermind.mjs +346 -0
- package/dist/src/ui/routes-org-planning.mjs +398 -0
- package/dist/src/ui/routes-org-runs.mjs +430 -0
- package/dist/src/ui/routes-org-status.mjs +342 -0
- package/dist/src/ui/routes-org-workflows.mjs +212 -0
- package/dist/src/ui/routes-org.mjs +26 -3847
- package/dist/src/ui/server.mjs +1 -1
- package/dist/src/utils/native-error.d.ts +1 -1
- package/dist/src/utils/native-error.js +1 -1
- package/dist/src/utils/paths.d.ts +2 -1
- package/dist/src/utils/paths.d.ts.map +1 -1
- package/dist/src/utils/paths.js +2 -1
- package/dist/src/utils/paths.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/org-skills/adversarial-reviewer/SKILL.md +1 -1
- package/org-skills/board-deck-builder/SKILL.md +1 -1
- package/org-skills/code-reviewer/SKILL.md +1 -1
- package/org-skills/debugging-wizard/SKILL.md +1 -1
- package/org-skills/scientific-thinking-literature-review/SKILL.md +1 -1
- package/org-skills/scientific-thinking-scholar-evaluation/SKILL.md +1 -1
- package/package.json +5 -5
|
@@ -0,0 +1,357 @@
|
|
|
1
|
+
// packages/@monomind/cli/src/commands/org-manage.ts
|
|
2
|
+
//
|
|
3
|
+
// `monomind org test-loop | list | delete | mark-complete | migrate` — org
|
|
4
|
+
// config and run-record management.
|
|
5
|
+
import { existsSync, readFileSync, rmSync, unlinkSync, writeFileSync } from 'node:fs';
|
|
6
|
+
import { join, resolve } from 'node:path';
|
|
7
|
+
import { migrateOrgFile } from '../orgrt/migrate.js';
|
|
8
|
+
import { ORG_DIR } from '../orgrt/types.js';
|
|
9
|
+
import { output } from '../output.js';
|
|
10
|
+
import { listOrgConfigFiles, ORG_ARTIFACT_SUFFIXES, ORG_NAME_RE, validateOrgName, } from './org-control.js';
|
|
11
|
+
const log = (text) => {
|
|
12
|
+
console.log(text);
|
|
13
|
+
};
|
|
14
|
+
/** True when runtime.json records a running org whose recorded pid is still alive. */
|
|
15
|
+
const isOrgRunning = (cwd, name) => {
|
|
16
|
+
try {
|
|
17
|
+
const rt = JSON.parse(readFileSync(join(cwd, ORG_DIR, name, 'runtime.json'), 'utf8'));
|
|
18
|
+
if (rt.status !== 'running' || !rt.pid)
|
|
19
|
+
return false;
|
|
20
|
+
process.kill(rt.pid, 0); // throws if the pid is gone (crashed daemon left a stale file)
|
|
21
|
+
return true;
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
export const testLoopAction = async (ctx) => {
|
|
28
|
+
// non-literal specifier: test-loop.ts lands in a later task; keeps tsc clean until then
|
|
29
|
+
const testLoopModule = '../orgrt/test-loop.js';
|
|
30
|
+
const { runTestLoop } = (await import(testLoopModule));
|
|
31
|
+
const n = Number(ctx.flags.times ?? ctx.flags.n ?? 5);
|
|
32
|
+
const scenario = typeof ctx.flags.scenario === 'string' ? ctx.flags.scenario : undefined;
|
|
33
|
+
const report = await runTestLoop(ctx.cwd, n, scenario);
|
|
34
|
+
log(output.info(report.summary));
|
|
35
|
+
return { success: report.failed === 0, message: report.summary };
|
|
36
|
+
};
|
|
37
|
+
// ---- legacy management subcommands (list / delete / mark-complete) ----
|
|
38
|
+
export const listAction = async (ctx) => {
|
|
39
|
+
const orgsDir = join(ctx.cwd || process.cwd(), ORG_DIR);
|
|
40
|
+
if (!existsSync(orgsDir)) {
|
|
41
|
+
if (ctx.flags.format === 'json') {
|
|
42
|
+
process.stdout.write(`${JSON.stringify({ v: 1, items: [] })}\n`);
|
|
43
|
+
return { success: true };
|
|
44
|
+
}
|
|
45
|
+
log(output.info('No orgs directory found. Create an org first with /mastermind:createorg'));
|
|
46
|
+
return { success: true };
|
|
47
|
+
}
|
|
48
|
+
const configs = listOrgConfigFiles(orgsDir);
|
|
49
|
+
if (!configs.length) {
|
|
50
|
+
if (ctx.flags.format === 'json') {
|
|
51
|
+
process.stdout.write(`${JSON.stringify({ v: 1, items: [] })}\n`);
|
|
52
|
+
return { success: true };
|
|
53
|
+
}
|
|
54
|
+
log(output.info('No orgs found.'));
|
|
55
|
+
return { success: true };
|
|
56
|
+
}
|
|
57
|
+
if (ctx.flags.format === 'json') {
|
|
58
|
+
const items = configs.map((f) => {
|
|
59
|
+
const stem = f.replace(/\.json$/, '');
|
|
60
|
+
try {
|
|
61
|
+
const def = JSON.parse(readFileSync(join(orgsDir, f), 'utf8'));
|
|
62
|
+
let status = 'never run';
|
|
63
|
+
try {
|
|
64
|
+
const rt = JSON.parse(readFileSync(join(orgsDir, stem, 'runtime.json'), 'utf8'));
|
|
65
|
+
status = rt.status ?? status;
|
|
66
|
+
// Same liveness rule as `org status`: a 'running' record with a dead
|
|
67
|
+
// pid is a crashed daemon, not a running org — list must not disagree.
|
|
68
|
+
if (status === 'running' && rt.pid) {
|
|
69
|
+
try {
|
|
70
|
+
process.kill(rt.pid, 0);
|
|
71
|
+
}
|
|
72
|
+
catch {
|
|
73
|
+
status = 'crashed';
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
catch {
|
|
78
|
+
/* no runtime state yet */
|
|
79
|
+
}
|
|
80
|
+
return {
|
|
81
|
+
name: stem,
|
|
82
|
+
roles: Array.isArray(def.roles) ? def.roles.length : 0,
|
|
83
|
+
schedule: def.schedule ?? null,
|
|
84
|
+
status,
|
|
85
|
+
goal: typeof def.goal === 'string' ? def.goal : '',
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
return { name: stem, roles: 0, schedule: null, status: 'invalid-config', goal: '' };
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
process.stdout.write(`${JSON.stringify({ v: 1, items })}\n`);
|
|
93
|
+
return { success: true };
|
|
94
|
+
}
|
|
95
|
+
log(output.info(`Found ${configs.length} org(s):`));
|
|
96
|
+
for (const f of configs) {
|
|
97
|
+
const stem = f.replace(/\.json$/, '');
|
|
98
|
+
let detail = '';
|
|
99
|
+
try {
|
|
100
|
+
const def = JSON.parse(readFileSync(join(orgsDir, f), 'utf8'));
|
|
101
|
+
const roles = Array.isArray(def.roles) ? def.roles.length : 0;
|
|
102
|
+
const sched = def.schedule ? `every ${def.schedule}` : 'manual';
|
|
103
|
+
let status = 'never run';
|
|
104
|
+
try {
|
|
105
|
+
const rt = JSON.parse(readFileSync(join(orgsDir, stem, 'runtime.json'), 'utf8'));
|
|
106
|
+
status = rt.status ?? status;
|
|
107
|
+
// Same liveness rule as `org status`: a 'running' record with a dead
|
|
108
|
+
// pid is a crashed daemon, not a running org — list must not disagree.
|
|
109
|
+
if (status === 'running' && rt.pid) {
|
|
110
|
+
try {
|
|
111
|
+
process.kill(rt.pid, 0);
|
|
112
|
+
}
|
|
113
|
+
catch {
|
|
114
|
+
status = 'crashed';
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
catch {
|
|
119
|
+
/* no runtime state yet */
|
|
120
|
+
}
|
|
121
|
+
const goal = typeof def.goal === 'string' && def.goal
|
|
122
|
+
? ` — ${def.goal.length > 60 ? `${def.goal.slice(0, 57)}...` : def.goal}`
|
|
123
|
+
: '';
|
|
124
|
+
detail = ` (${roles} role${roles === 1 ? '' : 's'}, ${sched}, ${status})${goal}`;
|
|
125
|
+
}
|
|
126
|
+
catch {
|
|
127
|
+
detail = ' (unreadable config — run `monomind org validate`)';
|
|
128
|
+
}
|
|
129
|
+
log(output.info(` • ${stem}${detail}`));
|
|
130
|
+
}
|
|
131
|
+
return { success: true };
|
|
132
|
+
};
|
|
133
|
+
export const deleteAction = async (ctx) => {
|
|
134
|
+
const orgName = ctx.args[0];
|
|
135
|
+
if (!orgName) {
|
|
136
|
+
log(output.error('Usage: monomind org delete <name>'));
|
|
137
|
+
return { success: false, message: 'org name required' };
|
|
138
|
+
}
|
|
139
|
+
if (!ORG_NAME_RE.test(orgName)) {
|
|
140
|
+
log(output.error(`Invalid org name: ${orgName}`));
|
|
141
|
+
return { success: false, message: 'invalid org name' };
|
|
142
|
+
}
|
|
143
|
+
const confirmed = ctx.flags.yes === true || ctx.args.includes('--yes') || ctx.args.includes('-y');
|
|
144
|
+
if (!confirmed) {
|
|
145
|
+
log(output.warning(`This will permanently delete org "${orgName}" and all its data.`));
|
|
146
|
+
log(output.warning('Pass --yes to confirm.'));
|
|
147
|
+
return { success: false, message: 'confirmation required' };
|
|
148
|
+
}
|
|
149
|
+
const cwd = resolve(ctx.cwd || process.cwd());
|
|
150
|
+
const orgsDir = join(cwd, ORG_DIR);
|
|
151
|
+
const configFile = join(orgsDir, `${orgName}.json`);
|
|
152
|
+
if (!existsSync(configFile)) {
|
|
153
|
+
log(output.error(`Org not found: ${orgName}`));
|
|
154
|
+
return { success: false, message: 'org not found' };
|
|
155
|
+
}
|
|
156
|
+
if (isOrgRunning(cwd, orgName) && ctx.flags.force !== true) {
|
|
157
|
+
log(output.error(`Org "${orgName}" is currently running — stop it first (monomind org stop ${orgName}) or pass --force.`));
|
|
158
|
+
return { success: false, message: 'org is running' };
|
|
159
|
+
}
|
|
160
|
+
let removed = 0;
|
|
161
|
+
for (const suf of ['', ...ORG_ARTIFACT_SUFFIXES]) {
|
|
162
|
+
for (const ext of ['.json', '.jsonl']) {
|
|
163
|
+
const f = join(orgsDir, `${orgName}${suf}${ext}`);
|
|
164
|
+
try {
|
|
165
|
+
if (existsSync(f)) {
|
|
166
|
+
unlinkSync(f);
|
|
167
|
+
removed++;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
catch {
|
|
171
|
+
/* ignore */
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
try {
|
|
176
|
+
unlinkSync(join(orgsDir, '.stops', `${orgName}.stop`));
|
|
177
|
+
}
|
|
178
|
+
catch {
|
|
179
|
+
/* ignore */
|
|
180
|
+
}
|
|
181
|
+
const orgSubDir = join(orgsDir, orgName);
|
|
182
|
+
try {
|
|
183
|
+
if (existsSync(orgSubDir))
|
|
184
|
+
rmSync(orgSubDir, { recursive: true, force: true });
|
|
185
|
+
}
|
|
186
|
+
catch {
|
|
187
|
+
/* ignore */
|
|
188
|
+
}
|
|
189
|
+
try {
|
|
190
|
+
unlinkSync(join(cwd, '.monomind', 'loops', `${orgName}.md`));
|
|
191
|
+
}
|
|
192
|
+
catch {
|
|
193
|
+
/* ignore */
|
|
194
|
+
}
|
|
195
|
+
try {
|
|
196
|
+
unlinkSync(join(orgsDir, `${orgName}-run.md`));
|
|
197
|
+
}
|
|
198
|
+
catch {
|
|
199
|
+
/* ignore */
|
|
200
|
+
}
|
|
201
|
+
log(output.success(`Org "${orgName}" deleted (${removed} file(s) removed).`));
|
|
202
|
+
return { success: true };
|
|
203
|
+
};
|
|
204
|
+
/** Clear a stale `running` record from runtime.json. This is the state `org status`
|
|
205
|
+
* reads, so mark-complete MUST touch it — the dashboard's run:complete event alone
|
|
206
|
+
* left `org status` reporting the same "crashed" line it had just told the user to
|
|
207
|
+
* fix with this exact command. Refuses when the recorded pid is still alive: a live
|
|
208
|
+
* daemon would just rewrite the file, and `org stop` is the right command there. */
|
|
209
|
+
const clearStaleRuntime = (cwd, name) => {
|
|
210
|
+
const rtPath = join(cwd, ORG_DIR, name, 'runtime.json');
|
|
211
|
+
if (!existsSync(rtPath))
|
|
212
|
+
return { cleared: false, reason: 'absent' };
|
|
213
|
+
let rt;
|
|
214
|
+
try {
|
|
215
|
+
rt = JSON.parse(readFileSync(rtPath, 'utf8'));
|
|
216
|
+
}
|
|
217
|
+
catch (err) {
|
|
218
|
+
return {
|
|
219
|
+
cleared: false,
|
|
220
|
+
reason: 'unreadable',
|
|
221
|
+
detail: err instanceof Error ? err.message : String(err),
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
if (rt.status !== 'running' && rt.status !== 'crashed')
|
|
225
|
+
return { cleared: false, reason: 'not-running' };
|
|
226
|
+
if (rt.status === 'running' && rt.pid) {
|
|
227
|
+
try {
|
|
228
|
+
process.kill(rt.pid, 0);
|
|
229
|
+
return { cleared: false, reason: 'alive', detail: String(rt.pid) };
|
|
230
|
+
}
|
|
231
|
+
catch {
|
|
232
|
+
/* pid is gone — this is exactly the stale case mark-complete exists for */
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
// Same shape stopOrg's persistState() writes, so every reader (org status,
|
|
236
|
+
// isOrgRunning, the mastermind-org* skills' jq checks) sees a stopped org.
|
|
237
|
+
writeFileSync(rtPath, JSON.stringify({
|
|
238
|
+
status: 'stopped',
|
|
239
|
+
run: rt.run,
|
|
240
|
+
pid: rt.pid,
|
|
241
|
+
updated: new Date().toISOString(),
|
|
242
|
+
closedBy: 'mark-complete',
|
|
243
|
+
}, null, 2));
|
|
244
|
+
return { cleared: true, run: rt.run };
|
|
245
|
+
};
|
|
246
|
+
export const markCompleteAction = async (ctx) => {
|
|
247
|
+
const orgName = ctx.args[0];
|
|
248
|
+
if (!orgName || !ORG_NAME_RE.test(orgName)) {
|
|
249
|
+
log(output.error('Usage: monomind org mark-complete <name>'));
|
|
250
|
+
return { success: false, message: 'valid org name required' };
|
|
251
|
+
}
|
|
252
|
+
const cwd = resolve(ctx.cwd || process.cwd());
|
|
253
|
+
// Reject an org that does not exist, using the same check as runAction. Without
|
|
254
|
+
// it `org mark-complete nosuchorg` printed "local state was cleared" and exited
|
|
255
|
+
// 0 — a typo looked like a successful cleanup.
|
|
256
|
+
const orgsDir = join(cwd, ORG_DIR);
|
|
257
|
+
if (!existsSync(join(orgsDir, `${orgName}.json`))) {
|
|
258
|
+
const known = existsSync(orgsDir)
|
|
259
|
+
? listOrgConfigFiles(orgsDir).map((f) => f.replace(/\.json$/, ''))
|
|
260
|
+
: [];
|
|
261
|
+
log(output.error(`Org not found: ${orgName}${known.length ? ` — available: ${known.join(', ')}` : ''}`));
|
|
262
|
+
return { success: false, message: 'org not found' };
|
|
263
|
+
}
|
|
264
|
+
// 1) Local runtime.json — the state `org status` actually reads. Done first and
|
|
265
|
+
// independently of the dashboard so the recommended remedy works with no server.
|
|
266
|
+
const local = clearStaleRuntime(cwd, orgName);
|
|
267
|
+
if (!local.cleared && local.reason === 'alive') {
|
|
268
|
+
log(output.error(`Org "${orgName}" is still running (pid ${local.detail}) — stop it with "monomind org stop ${orgName}" instead.`));
|
|
269
|
+
return { success: false, message: 'org is running' };
|
|
270
|
+
}
|
|
271
|
+
if (local.cleared)
|
|
272
|
+
log(output.success(`Cleared stale runtime state for "${orgName}"${local.run ? ` (run ${local.run})` : ''}.`));
|
|
273
|
+
else if (local.reason === 'unreadable')
|
|
274
|
+
log(output.warning(`runtime.json for "${orgName}" is unreadable (${local.detail}) — left untouched.`));
|
|
275
|
+
else
|
|
276
|
+
log(output.info(`No stale runtime state for "${orgName}" (runtime.json ${local.reason === 'absent' ? 'absent' : 'already not running'}).`));
|
|
277
|
+
// 2) Dashboard run:complete event — best effort. A missing/unauthorized dashboard
|
|
278
|
+
// must not make the command fail after the local state was already cleared.
|
|
279
|
+
let ctrlUrl = 'http://localhost:4242';
|
|
280
|
+
try {
|
|
281
|
+
const ctl = JSON.parse(readFileSync(join(cwd, '.monomind', 'control.json'), 'utf8'));
|
|
282
|
+
if (ctl.url)
|
|
283
|
+
ctrlUrl = ctl.url;
|
|
284
|
+
}
|
|
285
|
+
catch {
|
|
286
|
+
/* default */
|
|
287
|
+
}
|
|
288
|
+
try {
|
|
289
|
+
// All dashboard /api routes are auth-gated — attach the local session token.
|
|
290
|
+
let auth = '';
|
|
291
|
+
try {
|
|
292
|
+
auth = readFileSync(join(cwd, '.monomind', 'dashboard-token'), 'utf8').trim();
|
|
293
|
+
}
|
|
294
|
+
catch {
|
|
295
|
+
/* server may be pre-auth */
|
|
296
|
+
}
|
|
297
|
+
// Bounded. Updating the dashboard is best-effort — the local state has
|
|
298
|
+
// already been cleared by this point — but the fetch had no timeout, so a
|
|
299
|
+
// dashboard that holds the port without answering (a wedged build from an
|
|
300
|
+
// earlier session; see the stale-dashboard issue) hung `mark-complete`
|
|
301
|
+
// indefinitely. "Unreachable" and "not answering" must cost the same.
|
|
302
|
+
const res = await fetch(`${ctrlUrl}/api/orgs/${encodeURIComponent(orgName)}/mark-complete`, {
|
|
303
|
+
method: 'POST',
|
|
304
|
+
headers: auth ? { 'x-monomind-token': auth } : {},
|
|
305
|
+
signal: AbortSignal.timeout(5_000),
|
|
306
|
+
});
|
|
307
|
+
const body = await res.json().catch(() => ({}));
|
|
308
|
+
if (!res.ok) {
|
|
309
|
+
log(output.warning(`Dashboard not updated (${res.status}: ${body.error || 'unknown error'}) — ${local.cleared ? 'local state was cleared' : 'there was no local state to clear'}.`));
|
|
310
|
+
}
|
|
311
|
+
else {
|
|
312
|
+
const runId = body.runId;
|
|
313
|
+
log(output.success(`Dashboard run marked complete for "${orgName}"${runId ? ` (run ${runId})` : ''}.`));
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
catch (err) {
|
|
317
|
+
log(output.warning(`Dashboard unreachable at ${ctrlUrl} (${err instanceof Error ? err.message : 'error'}) — ${local.cleared ? 'local state was cleared' : 'there was no local state to clear'}.`));
|
|
318
|
+
}
|
|
319
|
+
return local.cleared
|
|
320
|
+
? { success: true, message: `run marked complete for ${orgName}` }
|
|
321
|
+
: { success: true, message: `nothing to clear for ${orgName}` };
|
|
322
|
+
};
|
|
323
|
+
export const migrateAction = async (ctx) => {
|
|
324
|
+
const validated = validateOrgName(ctx.args[0]);
|
|
325
|
+
if (!validated.ok)
|
|
326
|
+
return validated.result;
|
|
327
|
+
const name = validated.name;
|
|
328
|
+
const cwd = ctx.cwd;
|
|
329
|
+
const cfgPath = join(cwd, ORG_DIR, `${name}.json`);
|
|
330
|
+
if (!existsSync(cfgPath)) {
|
|
331
|
+
log(output.error(`Org not found: ${name}`));
|
|
332
|
+
return { success: false, message: 'org not found' };
|
|
333
|
+
}
|
|
334
|
+
if (isOrgRunning(cwd, name)) {
|
|
335
|
+
log(output.error(`Org "${name}" is currently running — stop it first, then migrate.`));
|
|
336
|
+
return { success: false, message: 'org is running' };
|
|
337
|
+
}
|
|
338
|
+
try {
|
|
339
|
+
const outcome = migrateOrgFile(cfgPath, join(cwd, ORG_DIR, `${name}.v1.json`));
|
|
340
|
+
if (outcome.status === 'already-v2') {
|
|
341
|
+
log(output.info(`${name}: already v2 — nothing to migrate.`));
|
|
342
|
+
return { success: true, message: 'already v2' };
|
|
343
|
+
}
|
|
344
|
+
log(output.success(`${name}: migrated to v2 (backup: ${name}.v1.json)`));
|
|
345
|
+
for (const d of outcome.dropped)
|
|
346
|
+
log(output.info(` dropped v1 field: ${d}`));
|
|
347
|
+
for (const n of outcome.notes)
|
|
348
|
+
log(output.info(` ${n}`));
|
|
349
|
+
log(output.info(` run it with: monomind org run ${name}`));
|
|
350
|
+
return { success: true, message: `migrated ${name}` };
|
|
351
|
+
}
|
|
352
|
+
catch (err) {
|
|
353
|
+
log(output.error(`Cannot migrate ${name}: ${err instanceof Error ? err.message : String(err)}`));
|
|
354
|
+
return { success: false, message: 'migration produced an invalid config' };
|
|
355
|
+
}
|
|
356
|
+
};
|
|
357
|
+
//# sourceMappingURL=org-manage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"org-manage.js","sourceRoot":"","sources":["../../../src/commands/org-manage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"org-memory-command.d.ts","sourceRoot":"","sources":["../../../src/commands/org-memory-command.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAiC,MAAM,aAAa,CAAC;AAO1E,eAAO,MAAM,gBAAgB,EAAE,OAiL9B,CAAC"}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
// packages/@monomind/cli/src/commands/org-memory-command.ts
|
|
2
|
+
//
|
|
3
|
+
// `monomind org memory` — inspect an org's cross-run memory and knowledge graph.
|
|
4
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
5
|
+
import { ORG_DIR, OrgDefSchema } from '../orgrt/types.js';
|
|
6
|
+
import { output } from '../output.js';
|
|
7
|
+
import { validateOrgName } from './org-control.js';
|
|
8
|
+
const log = (text) => {
|
|
9
|
+
console.log(text);
|
|
10
|
+
};
|
|
11
|
+
export const memorySubcommand = {
|
|
12
|
+
name: 'memory',
|
|
13
|
+
description: "Inspect an org's cross-run memory and knowledge graph (stats | search <query> | rules | rollback <run-ref> | promote <run-ref>)",
|
|
14
|
+
examples: [
|
|
15
|
+
{ command: 'monomind org memory growth stats', description: 'KG size and namespaces' },
|
|
16
|
+
{
|
|
17
|
+
command: 'monomind org memory growth search "launch checklist"',
|
|
18
|
+
description: 'Search org memory + KG',
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
command: 'monomind org memory growth rollback run:m4x2',
|
|
22
|
+
description: "Withdraw one run's support from this org's KG",
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
command: 'monomind org memory growth promote run:m4x2',
|
|
26
|
+
description: "Share one run's claims with project-wide knowledge",
|
|
27
|
+
},
|
|
28
|
+
],
|
|
29
|
+
action: async (ctx) => {
|
|
30
|
+
const v = validateOrgName(ctx.args[0]);
|
|
31
|
+
if (!v.ok)
|
|
32
|
+
return v.result;
|
|
33
|
+
const sub = String(ctx.args[1] ?? 'stats');
|
|
34
|
+
const { join } = await import('node:path');
|
|
35
|
+
const cwd = ctx.cwd || process.cwd();
|
|
36
|
+
const dbPath = join(cwd, '.monomind', 'org-memory');
|
|
37
|
+
const kg = await import('../memory/memory-kg.js');
|
|
38
|
+
const bridge = await import('../memory/memory-bridge.js');
|
|
39
|
+
const { orgKgScope, orgMemoryNamespace } = await import('../orgrt/org-memory.js');
|
|
40
|
+
// Every KG operation below is scoped to the requested org, so the org
|
|
41
|
+
// name in the output describes what was actually read, not just what
|
|
42
|
+
// was asked for. Reads of the shared store are unchanged.
|
|
43
|
+
const scope = orgKgScope(v.name);
|
|
44
|
+
const kgNs = kg.kgNamespaces(scope);
|
|
45
|
+
// Flat org memory is namespaced by the org DEFINITION, not by name —
|
|
46
|
+
// resolve it the way the runtime writes it (B4), so a configured
|
|
47
|
+
// `memory_namespace` is searched instead of a guessed `org:<name>`.
|
|
48
|
+
const defPath = join(cwd, ORG_DIR, `${v.name}.json`);
|
|
49
|
+
const flatNs = existsSync(defPath)
|
|
50
|
+
? orgMemoryNamespace(v.name, OrgDefSchema.parse(JSON.parse(readFileSync(defPath, 'utf8'))))
|
|
51
|
+
: `org:${v.name}`;
|
|
52
|
+
try {
|
|
53
|
+
if (sub === 'stats') {
|
|
54
|
+
const [stats, glossary, backend] = await Promise.all([
|
|
55
|
+
kg.kgStats({ dbPath, scope }),
|
|
56
|
+
kg.kgGlossary({ dbPath, limit: 15, scope }),
|
|
57
|
+
bridge.bridgeGetBackendStats(dbPath),
|
|
58
|
+
]);
|
|
59
|
+
// The backend reports every namespace in the SHARED store, so
|
|
60
|
+
// listing it raw put other orgs' namespaces (and their counts)
|
|
61
|
+
// under this org's name. Keep only what this org owns.
|
|
62
|
+
// Spread kgNs rather than listing namespaces: the identity work
|
|
63
|
+
// added `names` (the entity name index), and a hand-written list
|
|
64
|
+
// silently omits any namespace added later, hiding rows this org
|
|
65
|
+
// does own.
|
|
66
|
+
const owned = new Set([...Object.values(kgNs), flatNs]);
|
|
67
|
+
const byNs = Object.fromEntries(Object.entries(backend?.entriesByNamespace ?? {}).filter(([ns]) => owned.has(ns) || ns.startsWith(`agent:${flatNs}:`)));
|
|
68
|
+
if (ctx.flags.format === 'json') {
|
|
69
|
+
const payload = { v: 1, org: v.name, ...stats, glossary, namespaces: byNs };
|
|
70
|
+
process.stdout.write(`${JSON.stringify(payload)}\n`);
|
|
71
|
+
return { success: true, data: payload };
|
|
72
|
+
}
|
|
73
|
+
log(output.info(`Knowledge graph: ${stats.nodes} entities, ${stats.edges} relations, ${stats.rules} rules`));
|
|
74
|
+
if (glossary.length)
|
|
75
|
+
log(output.info(`Top entities: ${glossary.join(', ')}`));
|
|
76
|
+
for (const [ns, count] of Object.entries(byNs))
|
|
77
|
+
log(output.info(` ${ns}: ${count} entries`));
|
|
78
|
+
return {
|
|
79
|
+
success: true,
|
|
80
|
+
message: 'org memory stats',
|
|
81
|
+
data: { ...stats, namespaces: byNs },
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
if (sub === 'search') {
|
|
85
|
+
const q = ctx.args.slice(2).join(' ');
|
|
86
|
+
if (!q)
|
|
87
|
+
return { success: false, message: 'usage: org memory <org> search <query>' };
|
|
88
|
+
const [mem, graph] = await Promise.all([
|
|
89
|
+
bridge.bridgeSearchEntries({
|
|
90
|
+
query: q,
|
|
91
|
+
namespace: flatNs,
|
|
92
|
+
limit: 5,
|
|
93
|
+
dbPath,
|
|
94
|
+
}),
|
|
95
|
+
kg.kgSearch({ query: q, dbPath, limit: 8, scope }),
|
|
96
|
+
]);
|
|
97
|
+
if (ctx.flags.format === 'json') {
|
|
98
|
+
const payload = {
|
|
99
|
+
v: 1,
|
|
100
|
+
org: v.name,
|
|
101
|
+
query: q,
|
|
102
|
+
memories: mem?.results ?? [],
|
|
103
|
+
triplets: graph.triplets,
|
|
104
|
+
kg_context: graph.context ?? null,
|
|
105
|
+
};
|
|
106
|
+
process.stdout.write(`${JSON.stringify(payload)}\n`);
|
|
107
|
+
return { success: true, data: payload };
|
|
108
|
+
}
|
|
109
|
+
for (const r of mem?.results ?? [])
|
|
110
|
+
log(output.info(`[${r.score.toFixed(2)}] ${r.key}: ${r.content.slice(0, 160)}`));
|
|
111
|
+
if (graph.context)
|
|
112
|
+
log(output.info(`\nKnowledge graph:\n${graph.context}`));
|
|
113
|
+
return {
|
|
114
|
+
success: true,
|
|
115
|
+
message: `${(mem?.results ?? []).length} memories, ${graph.triplets.length} triplets`,
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
if (sub === 'rules') {
|
|
119
|
+
const rules = await kg.kgListRules({ dbPath, limit: 50, scope });
|
|
120
|
+
if (ctx.flags.format === 'json') {
|
|
121
|
+
const payload = { v: 1, org: v.name, items: rules };
|
|
122
|
+
process.stdout.write(`${JSON.stringify(payload)}\n`);
|
|
123
|
+
return { success: true, data: payload };
|
|
124
|
+
}
|
|
125
|
+
for (const r of rules)
|
|
126
|
+
log(output.info(`- ${r.rule.slice(0, 200)}`));
|
|
127
|
+
return { success: true, message: `${rules.length} rules`, data: { rules } };
|
|
128
|
+
}
|
|
129
|
+
if (sub === 'rollback') {
|
|
130
|
+
const ref = ctx.args[2];
|
|
131
|
+
if (!ref)
|
|
132
|
+
return {
|
|
133
|
+
success: false,
|
|
134
|
+
message: 'usage: org memory <org> rollback <origin-ref> (e.g. run:m4x2)',
|
|
135
|
+
};
|
|
136
|
+
// Scoped: the ref is resolved inside this org's namespaces and
|
|
137
|
+
// origin space, so the org name in the command is an ownership
|
|
138
|
+
// restriction rather than a label on an unfiltered rollback.
|
|
139
|
+
const res = await kg.kgRollback({ originRef: ref, scope, dbPath });
|
|
140
|
+
if (ctx.flags.format === 'json') {
|
|
141
|
+
const payload = { v: 1, org: v.name, ref, ...res };
|
|
142
|
+
process.stdout.write(`${JSON.stringify(payload)}\n`);
|
|
143
|
+
return { success: res.success, data: payload };
|
|
144
|
+
}
|
|
145
|
+
log(output.info(`Rolled back ${ref} for org ${v.name}: ${res.deleted} deleted, ${res.retained} retained (shared with other origins)`));
|
|
146
|
+
return { success: res.success, message: `rollback ${ref}`, data: res };
|
|
147
|
+
}
|
|
148
|
+
if (sub === 'promote') {
|
|
149
|
+
const ref = ctx.args[2];
|
|
150
|
+
if (!ref)
|
|
151
|
+
return {
|
|
152
|
+
success: false,
|
|
153
|
+
message: 'usage: org memory <org> promote <origin-ref> (e.g. run:m4x2)',
|
|
154
|
+
};
|
|
155
|
+
const res = await kg.kgPromote({ originRef: ref, from: scope, dbPath });
|
|
156
|
+
if (ctx.flags.format === 'json') {
|
|
157
|
+
const payload = { v: 1, org: v.name, ref, ...res };
|
|
158
|
+
process.stdout.write(`${JSON.stringify(payload)}\n`);
|
|
159
|
+
return { success: res.success, data: payload };
|
|
160
|
+
}
|
|
161
|
+
log(output.info(res.success
|
|
162
|
+
? `Promoted ${ref} from org ${v.name} to project-shared knowledge: ${res.nodes} entities, ${res.edges} relations, ${res.rules} rules. Withdraw with origin ref ${res.promotedAs}.`
|
|
163
|
+
: `Promotion of ${ref} failed: ${res.error ?? 'unknown error'}`));
|
|
164
|
+
return { success: res.success, message: `promote ${ref}`, data: res };
|
|
165
|
+
}
|
|
166
|
+
return {
|
|
167
|
+
success: false,
|
|
168
|
+
message: `unknown subcommand "${sub}" — use stats | search | rules | rollback | promote`,
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
finally {
|
|
172
|
+
await bridge.shutdownBridge().catch(() => {
|
|
173
|
+
/* best effort */
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
},
|
|
177
|
+
};
|
|
178
|
+
//# sourceMappingURL=org-memory-command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"org-memory-command.js","sourceRoot":"","sources":["../../../src/commands/org-memory-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { CommandContext, CommandResult } from '../types.js';
|
|
2
|
+
/** `org approvals <name> [--all]` — list pending (or all) tool/action approval requests. */
|
|
3
|
+
export declare const approvalsAction: (ctx: CommandContext, name: string) => Promise<CommandResult>;
|
|
4
|
+
/** `org approve <org> <role> <action> [--request <id>] [--by <resolver>]` — approve a pending tool/action approval */
|
|
5
|
+
export declare const approveAction: (ctx: CommandContext, name: string) => Promise<CommandResult>;
|
|
6
|
+
/** `org deny <org> <role> <action> [--request <id>] [--by <resolver>]` — deny a pending tool/action approval */
|
|
7
|
+
export declare const denyAction: (ctx: CommandContext, name: string) => Promise<CommandResult>;
|
|
8
|
+
//# sourceMappingURL=org-observe-approvals.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"org-observe-approvals.d.ts","sourceRoot":"","sources":["../../../src/commands/org-observe-approvals.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAiDjE,4FAA4F;AAC5F,eAAO,MAAM,eAAe,QACrB,cAAc,QACb,MAAM,KACX,OAAO,CAAC,aAAa,CAkDvB,CAAC;AAuIF,sHAAsH;AACtH,eAAO,MAAM,aAAa,QAAe,cAAc,QAAQ,MAAM,KAAG,OAAO,CAAC,aAAa,CAO5F,CAAC;AAEF,gHAAgH;AAChH,eAAO,MAAM,UAAU,QAAe,cAAc,QAAQ,MAAM,KAAG,OAAO,CAAC,aAAa,CAOzF,CAAC"}
|