@ashlr/hub 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1158 -0
- package/LICENSE +21 -0
- package/README.md +833 -0
- package/bin/ashlr +8 -0
- package/dist/api/core.d.ts +28 -0
- package/dist/api/core.js +42 -0
- package/dist/api/core.js.map +1 -0
- package/dist/api/index.d.ts +9 -0
- package/dist/api/index.js +9 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/plugin.d.ts +12 -0
- package/dist/api/plugin.js +13 -0
- package/dist/api/plugin.js.map +1 -0
- package/dist/api/types.d.ts +9 -0
- package/dist/api/types.js +9 -0
- package/dist/api/types.js.map +1 -0
- package/dist/cli/args.d.ts +20 -0
- package/dist/cli/args.js +23 -0
- package/dist/cli/args.js.map +1 -0
- package/dist/cli/ask.d.ts +22 -0
- package/dist/cli/ask.js +240 -0
- package/dist/cli/ask.js.map +1 -0
- package/dist/cli/audit.d.ts +26 -0
- package/dist/cli/audit.js +199 -0
- package/dist/cli/audit.js.map +1 -0
- package/dist/cli/backlog.d.ts +26 -0
- package/dist/cli/backlog.js +322 -0
- package/dist/cli/backlog.js.map +1 -0
- package/dist/cli/completions.d.ts +18 -0
- package/dist/cli/completions.js +156 -0
- package/dist/cli/completions.js.map +1 -0
- package/dist/cli/daemon.d.ts +31 -0
- package/dist/cli/daemon.js +334 -0
- package/dist/cli/daemon.js.map +1 -0
- package/dist/cli/demo-sandbox.d.ts +78 -0
- package/dist/cli/demo-sandbox.js +227 -0
- package/dist/cli/demo-sandbox.js.map +1 -0
- package/dist/cli/demo.d.ts +76 -0
- package/dist/cli/demo.js +285 -0
- package/dist/cli/demo.js.map +1 -0
- package/dist/cli/digest.d.ts +46 -0
- package/dist/cli/digest.js +352 -0
- package/dist/cli/digest.js.map +1 -0
- package/dist/cli/doctor-init.d.ts +28 -0
- package/dist/cli/doctor-init.js +335 -0
- package/dist/cli/doctor-init.js.map +1 -0
- package/dist/cli/genome.d.ts +62 -0
- package/dist/cli/genome.js +1061 -0
- package/dist/cli/genome.js.map +1 -0
- package/dist/cli/gh.d.ts +27 -0
- package/dist/cli/gh.js +322 -0
- package/dist/cli/gh.js.map +1 -0
- package/dist/cli/goals.d.ts +55 -0
- package/dist/cli/goals.js +667 -0
- package/dist/cli/goals.js.map +1 -0
- package/dist/cli/health.d.ts +56 -0
- package/dist/cli/health.js +407 -0
- package/dist/cli/health.js.map +1 -0
- package/dist/cli/help.d.ts +51 -0
- package/dist/cli/help.js +436 -0
- package/dist/cli/help.js.map +1 -0
- package/dist/cli/inbox.d.ts +28 -0
- package/dist/cli/inbox.js +589 -0
- package/dist/cli/inbox.js.map +1 -0
- package/dist/cli/index.d.ts +41 -0
- package/dist/cli/index.js +1208 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/knowledge.d.ts +33 -0
- package/dist/cli/knowledge.js +575 -0
- package/dist/cli/knowledge.js.map +1 -0
- package/dist/cli/mcp.d.ts +26 -0
- package/dist/cli/mcp.js +487 -0
- package/dist/cli/mcp.js.map +1 -0
- package/dist/cli/models.d.ts +26 -0
- package/dist/cli/models.js +435 -0
- package/dist/cli/models.js.map +1 -0
- package/dist/cli/new.d.ts +32 -0
- package/dist/cli/new.js +565 -0
- package/dist/cli/new.js.map +1 -0
- package/dist/cli/notify.d.ts +20 -0
- package/dist/cli/notify.js +188 -0
- package/dist/cli/notify.js.map +1 -0
- package/dist/cli/onboard.d.ts +85 -0
- package/dist/cli/onboard.js +305 -0
- package/dist/cli/onboard.js.map +1 -0
- package/dist/cli/open.d.ts +38 -0
- package/dist/cli/open.js +86 -0
- package/dist/cli/open.js.map +1 -0
- package/dist/cli/orient.d.ts +14 -0
- package/dist/cli/orient.js +110 -0
- package/dist/cli/orient.js.map +1 -0
- package/dist/cli/picker.d.ts +21 -0
- package/dist/cli/picker.js +177 -0
- package/dist/cli/picker.js.map +1 -0
- package/dist/cli/plugins.d.ts +21 -0
- package/dist/cli/plugins.js +394 -0
- package/dist/cli/plugins.js.map +1 -0
- package/dist/cli/preflight.d.ts +29 -0
- package/dist/cli/preflight.js +131 -0
- package/dist/cli/preflight.js.map +1 -0
- package/dist/cli/pulse.d.ts +26 -0
- package/dist/cli/pulse.js +482 -0
- package/dist/cli/pulse.js.map +1 -0
- package/dist/cli/reflect.d.ts +42 -0
- package/dist/cli/reflect.js +381 -0
- package/dist/cli/reflect.js.map +1 -0
- package/dist/cli/run.d.ts +29 -0
- package/dist/cli/run.js +687 -0
- package/dist/cli/run.js.map +1 -0
- package/dist/cli/sandbox.d.ts +20 -0
- package/dist/cli/sandbox.js +345 -0
- package/dist/cli/sandbox.js.map +1 -0
- package/dist/cli/seams.d.ts +41 -0
- package/dist/cli/seams.js +167 -0
- package/dist/cli/seams.js.map +1 -0
- package/dist/cli/serve.d.ts +25 -0
- package/dist/cli/serve.js +249 -0
- package/dist/cli/serve.js.map +1 -0
- package/dist/cli/ship.d.ts +33 -0
- package/dist/cli/ship.js +433 -0
- package/dist/cli/ship.js.map +1 -0
- package/dist/cli/spec.d.ts +19 -0
- package/dist/cli/spec.js +478 -0
- package/dist/cli/spec.js.map +1 -0
- package/dist/cli/swarm.d.ts +42 -0
- package/dist/cli/swarm.js +1365 -0
- package/dist/cli/swarm.js.map +1 -0
- package/dist/cli/telemetry.d.ts +26 -0
- package/dist/cli/telemetry.js +364 -0
- package/dist/cli/telemetry.js.map +1 -0
- package/dist/cli/tui.d.ts +17 -0
- package/dist/cli/tui.js +52 -0
- package/dist/cli/tui.js.map +1 -0
- package/dist/cli/ui.d.ts +53 -0
- package/dist/cli/ui.js +66 -0
- package/dist/cli/ui.js.map +1 -0
- package/dist/cli/update.d.ts +38 -0
- package/dist/cli/update.js +682 -0
- package/dist/cli/update.js.map +1 -0
- package/dist/cli/vercel.d.ts +20 -0
- package/dist/cli/vercel.js +193 -0
- package/dist/cli/vercel.js.map +1 -0
- package/dist/cli/verify-safety.d.ts +96 -0
- package/dist/cli/verify-safety.js +509 -0
- package/dist/cli/verify-safety.js.map +1 -0
- package/dist/cli/wire.d.ts +22 -0
- package/dist/cli/wire.js +205 -0
- package/dist/cli/wire.js.map +1 -0
- package/dist/core/classify.d.ts +51 -0
- package/dist/core/classify.js +450 -0
- package/dist/core/classify.js.map +1 -0
- package/dist/core/config.d.ts +63 -0
- package/dist/core/config.js +474 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/daemon/loop.d.ts +74 -0
- package/dist/core/daemon/loop.js +618 -0
- package/dist/core/daemon/loop.js.map +1 -0
- package/dist/core/daemon/state.d.ts +66 -0
- package/dist/core/daemon/state.js +197 -0
- package/dist/core/daemon/state.js.map +1 -0
- package/dist/core/dashboard.d.ts +40 -0
- package/dist/core/dashboard.js +463 -0
- package/dist/core/dashboard.js.map +1 -0
- package/dist/core/digest/build.d.ts +51 -0
- package/dist/core/digest/build.js +230 -0
- package/dist/core/digest/build.js.map +1 -0
- package/dist/core/digest/deliver.d.ts +47 -0
- package/dist/core/digest/deliver.js +230 -0
- package/dist/core/digest/deliver.js.map +1 -0
- package/dist/core/digest/store.d.ts +57 -0
- package/dist/core/digest/store.js +223 -0
- package/dist/core/digest/store.js.map +1 -0
- package/dist/core/doctor-fix.d.ts +21 -0
- package/dist/core/doctor-fix.js +440 -0
- package/dist/core/doctor-fix.js.map +1 -0
- package/dist/core/doctor.d.ts +18 -0
- package/dist/core/doctor.js +806 -0
- package/dist/core/doctor.js.map +1 -0
- package/dist/core/env-bridge.d.ts +64 -0
- package/dist/core/env-bridge.js +103 -0
- package/dist/core/env-bridge.js.map +1 -0
- package/dist/core/genome/capture.d.ts +49 -0
- package/dist/core/genome/capture.js +352 -0
- package/dist/core/genome/capture.js.map +1 -0
- package/dist/core/genome/consolidate.d.ts +38 -0
- package/dist/core/genome/consolidate.js +426 -0
- package/dist/core/genome/consolidate.js.map +1 -0
- package/dist/core/genome/export.d.ts +29 -0
- package/dist/core/genome/export.js +102 -0
- package/dist/core/genome/export.js.map +1 -0
- package/dist/core/genome/playbook.d.ts +33 -0
- package/dist/core/genome/playbook.js +320 -0
- package/dist/core/genome/playbook.js.map +1 -0
- package/dist/core/genome/recall.d.ts +45 -0
- package/dist/core/genome/recall.js +293 -0
- package/dist/core/genome/recall.js.map +1 -0
- package/dist/core/genome/store.d.ts +62 -0
- package/dist/core/genome/store.js +711 -0
- package/dist/core/genome/store.js.map +1 -0
- package/dist/core/git.d.ts +34 -0
- package/dist/core/git.js +115 -0
- package/dist/core/git.js.map +1 -0
- package/dist/core/goals/advance.d.ts +82 -0
- package/dist/core/goals/advance.js +263 -0
- package/dist/core/goals/advance.js.map +1 -0
- package/dist/core/goals/planner.d.ts +58 -0
- package/dist/core/goals/planner.js +233 -0
- package/dist/core/goals/planner.js.map +1 -0
- package/dist/core/goals/store.d.ts +128 -0
- package/dist/core/goals/store.js +442 -0
- package/dist/core/goals/store.js.map +1 -0
- package/dist/core/inbox/apply.d.ts +36 -0
- package/dist/core/inbox/apply.js +407 -0
- package/dist/core/inbox/apply.js.map +1 -0
- package/dist/core/inbox/notify-proposal.d.ts +13 -0
- package/dist/core/inbox/notify-proposal.js +21 -0
- package/dist/core/inbox/notify-proposal.js.map +1 -0
- package/dist/core/inbox/store.d.ts +67 -0
- package/dist/core/inbox/store.js +258 -0
- package/dist/core/inbox/store.js.map +1 -0
- package/dist/core/index-engine.d.ts +62 -0
- package/dist/core/index-engine.js +486 -0
- package/dist/core/index-engine.js.map +1 -0
- package/dist/core/integrations/desktop-notify.d.ts +18 -0
- package/dist/core/integrations/desktop-notify.js +42 -0
- package/dist/core/integrations/desktop-notify.js.map +1 -0
- package/dist/core/integrations/editors.d.ts +50 -0
- package/dist/core/integrations/editors.js +216 -0
- package/dist/core/integrations/editors.js.map +1 -0
- package/dist/core/integrations/github.d.ts +66 -0
- package/dist/core/integrations/github.js +332 -0
- package/dist/core/integrations/github.js.map +1 -0
- package/dist/core/integrations/identity.d.ts +29 -0
- package/dist/core/integrations/identity.js +359 -0
- package/dist/core/integrations/identity.js.map +1 -0
- package/dist/core/integrations/notify.d.ts +23 -0
- package/dist/core/integrations/notify.js +96 -0
- package/dist/core/integrations/notify.js.map +1 -0
- package/dist/core/integrations/vercel.d.ts +37 -0
- package/dist/core/integrations/vercel.js +192 -0
- package/dist/core/integrations/vercel.js.map +1 -0
- package/dist/core/knowledge/ask.d.ts +34 -0
- package/dist/core/knowledge/ask.js +325 -0
- package/dist/core/knowledge/ask.js.map +1 -0
- package/dist/core/knowledge/graph.d.ts +51 -0
- package/dist/core/knowledge/graph.js +564 -0
- package/dist/core/knowledge/graph.js.map +1 -0
- package/dist/core/knowledge/index.d.ts +74 -0
- package/dist/core/knowledge/index.js +586 -0
- package/dist/core/knowledge/index.js.map +1 -0
- package/dist/core/learn/playbooks.d.ts +84 -0
- package/dist/core/learn/playbooks.js +241 -0
- package/dist/core/learn/playbooks.js.map +1 -0
- package/dist/core/learn/reflect.d.ts +87 -0
- package/dist/core/learn/reflect.js +435 -0
- package/dist/core/learn/reflect.js.map +1 -0
- package/dist/core/learn/store.d.ts +51 -0
- package/dist/core/learn/store.js +165 -0
- package/dist/core/learn/store.js.map +1 -0
- package/dist/core/learn/tuning.d.ts +48 -0
- package/dist/core/learn/tuning.js +201 -0
- package/dist/core/learn/tuning.js.map +1 -0
- package/dist/core/lifecycle/scaffold.d.ts +43 -0
- package/dist/core/lifecycle/scaffold.js +260 -0
- package/dist/core/lifecycle/scaffold.js.map +1 -0
- package/dist/core/lifecycle/ship.d.ts +48 -0
- package/dist/core/lifecycle/ship.js +513 -0
- package/dist/core/lifecycle/ship.js.map +1 -0
- package/dist/core/lifecycle/templates.d.ts +20 -0
- package/dist/core/lifecycle/templates.js +605 -0
- package/dist/core/lifecycle/templates.js.map +1 -0
- package/dist/core/mcp-gateway.d.ts +59 -0
- package/dist/core/mcp-gateway.js +385 -0
- package/dist/core/mcp-gateway.js.map +1 -0
- package/dist/core/mcp-native.d.ts +53 -0
- package/dist/core/mcp-native.js +507 -0
- package/dist/core/mcp-native.js.map +1 -0
- package/dist/core/mcp-registry.d.ts +36 -0
- package/dist/core/mcp-registry.js +180 -0
- package/dist/core/mcp-registry.js.map +1 -0
- package/dist/core/observability/budget-alert.d.ts +18 -0
- package/dist/core/observability/budget-alert.js +90 -0
- package/dist/core/observability/budget-alert.js.map +1 -0
- package/dist/core/observability/estimate.d.ts +27 -0
- package/dist/core/observability/estimate.js +188 -0
- package/dist/core/observability/estimate.js.map +1 -0
- package/dist/core/observability/forecast.d.ts +19 -0
- package/dist/core/observability/forecast.js +101 -0
- package/dist/core/observability/forecast.js.map +1 -0
- package/dist/core/observability/governance.d.ts +28 -0
- package/dist/core/observability/governance.js +101 -0
- package/dist/core/observability/governance.js.map +1 -0
- package/dist/core/observability/otlp.d.ts +88 -0
- package/dist/core/observability/otlp.js +217 -0
- package/dist/core/observability/otlp.js.map +1 -0
- package/dist/core/observability/rollup.d.ts +35 -0
- package/dist/core/observability/rollup.js +311 -0
- package/dist/core/observability/rollup.js.map +1 -0
- package/dist/core/observability/telemetry-sink.d.ts +63 -0
- package/dist/core/observability/telemetry-sink.js +350 -0
- package/dist/core/observability/telemetry-sink.js.map +1 -0
- package/dist/core/observability/usage-source.d.ts +60 -0
- package/dist/core/observability/usage-source.js +347 -0
- package/dist/core/observability/usage-source.js.map +1 -0
- package/dist/core/onboard.d.ts +27 -0
- package/dist/core/onboard.js +288 -0
- package/dist/core/onboard.js.map +1 -0
- package/dist/core/orient.d.ts +23 -0
- package/dist/core/orient.js +135 -0
- package/dist/core/orient.js.map +1 -0
- package/dist/core/phantom.d.ts +23 -0
- package/dist/core/phantom.js +279 -0
- package/dist/core/phantom.js.map +1 -0
- package/dist/core/plugins/host-api.d.ts +29 -0
- package/dist/core/plugins/host-api.js +113 -0
- package/dist/core/plugins/host-api.js.map +1 -0
- package/dist/core/plugins/integrity.d.ts +36 -0
- package/dist/core/plugins/integrity.js +73 -0
- package/dist/core/plugins/integrity.js.map +1 -0
- package/dist/core/plugins/manifest.d.ts +31 -0
- package/dist/core/plugins/manifest.js +316 -0
- package/dist/core/plugins/manifest.js.map +1 -0
- package/dist/core/plugins/registry.d.ts +87 -0
- package/dist/core/plugins/registry.js +415 -0
- package/dist/core/plugins/registry.js.map +1 -0
- package/dist/core/plugins/types.d.ts +182 -0
- package/dist/core/plugins/types.js +40 -0
- package/dist/core/plugins/types.js.map +1 -0
- package/dist/core/plugins/wrappers.d.ts +40 -0
- package/dist/core/plugins/wrappers.js +229 -0
- package/dist/core/plugins/wrappers.js.map +1 -0
- package/dist/core/portfolio/backlog.d.ts +40 -0
- package/dist/core/portfolio/backlog.js +177 -0
- package/dist/core/portfolio/backlog.js.map +1 -0
- package/dist/core/portfolio/scanners.d.ts +21 -0
- package/dist/core/portfolio/scanners.js +600 -0
- package/dist/core/portfolio/scanners.js.map +1 -0
- package/dist/core/providers.d.ts +34 -0
- package/dist/core/providers.js +250 -0
- package/dist/core/providers.js.map +1 -0
- package/dist/core/quality/conventions.d.ts +35 -0
- package/dist/core/quality/conventions.js +267 -0
- package/dist/core/quality/conventions.js.map +1 -0
- package/dist/core/quality/fixes.d.ts +56 -0
- package/dist/core/quality/fixes.js +209 -0
- package/dist/core/quality/fixes.js.map +1 -0
- package/dist/core/quality/health.d.ts +69 -0
- package/dist/core/quality/health.js +350 -0
- package/dist/core/quality/health.js.map +1 -0
- package/dist/core/quality/store.d.ts +56 -0
- package/dist/core/quality/store.js +195 -0
- package/dist/core/quality/store.js.map +1 -0
- package/dist/core/readiness.d.ts +112 -0
- package/dist/core/readiness.js +431 -0
- package/dist/core/readiness.js.map +1 -0
- package/dist/core/run/agent-loop.d.ts +40 -0
- package/dist/core/run/agent-loop.js +291 -0
- package/dist/core/run/agent-loop.js.map +1 -0
- package/dist/core/run/budget.d.ts +47 -0
- package/dist/core/run/budget.js +113 -0
- package/dist/core/run/budget.js.map +1 -0
- package/dist/core/run/engines.d.ts +75 -0
- package/dist/core/run/engines.js +199 -0
- package/dist/core/run/engines.js.map +1 -0
- package/dist/core/run/model-manager.d.ts +64 -0
- package/dist/core/run/model-manager.js +339 -0
- package/dist/core/run/model-manager.js.map +1 -0
- package/dist/core/run/orchestrator.d.ts +100 -0
- package/dist/core/run/orchestrator.js +1515 -0
- package/dist/core/run/orchestrator.js.map +1 -0
- package/dist/core/run/provider-client.d.ts +46 -0
- package/dist/core/run/provider-client.js +796 -0
- package/dist/core/run/provider-client.js.map +1 -0
- package/dist/core/run/retry.d.ts +19 -0
- package/dist/core/run/retry.js +68 -0
- package/dist/core/run/retry.js.map +1 -0
- package/dist/core/run/router.d.ts +50 -0
- package/dist/core/run/router.js +257 -0
- package/dist/core/run/router.js.map +1 -0
- package/dist/core/run/self-heal.d.ts +52 -0
- package/dist/core/run/self-heal.js +181 -0
- package/dist/core/run/self-heal.js.map +1 -0
- package/dist/core/run/streaming.d.ts +31 -0
- package/dist/core/run/streaming.js +122 -0
- package/dist/core/run/streaming.js.map +1 -0
- package/dist/core/run/verify.d.ts +30 -0
- package/dist/core/run/verify.js +204 -0
- package/dist/core/run/verify.js.map +1 -0
- package/dist/core/sandbox/audit.d.ts +31 -0
- package/dist/core/sandbox/audit.js +169 -0
- package/dist/core/sandbox/audit.js.map +1 -0
- package/dist/core/sandbox/policy.d.ts +61 -0
- package/dist/core/sandbox/policy.js +211 -0
- package/dist/core/sandbox/policy.js.map +1 -0
- package/dist/core/sandbox/worktree.d.ts +175 -0
- package/dist/core/sandbox/worktree.js +673 -0
- package/dist/core/sandbox/worktree.js.map +1 -0
- package/dist/core/seams/backlog.d.ts +47 -0
- package/dist/core/seams/backlog.js +47 -0
- package/dist/core/seams/backlog.js.map +1 -0
- package/dist/core/seams/daemon-coordinator.d.ts +72 -0
- package/dist/core/seams/daemon-coordinator.js +76 -0
- package/dist/core/seams/daemon-coordinator.js.map +1 -0
- package/dist/core/seams/genome.d.ts +45 -0
- package/dist/core/seams/genome.js +53 -0
- package/dist/core/seams/genome.js.map +1 -0
- package/dist/core/seams/identity.d.ts +40 -0
- package/dist/core/seams/identity.js +44 -0
- package/dist/core/seams/identity.js.map +1 -0
- package/dist/core/seams/inbox.d.ts +60 -0
- package/dist/core/seams/inbox.js +66 -0
- package/dist/core/seams/inbox.js.map +1 -0
- package/dist/core/seams/index.d.ts +20 -0
- package/dist/core/seams/index.js +21 -0
- package/dist/core/seams/index.js.map +1 -0
- package/dist/core/seams/portfolio.d.ts +50 -0
- package/dist/core/seams/portfolio.js +61 -0
- package/dist/core/seams/portfolio.js.map +1 -0
- package/dist/core/seams/registry.d.ts +42 -0
- package/dist/core/seams/registry.js +128 -0
- package/dist/core/seams/registry.js.map +1 -0
- package/dist/core/seams/run-swarm.d.ts +66 -0
- package/dist/core/seams/run-swarm.js +74 -0
- package/dist/core/seams/run-swarm.js.map +1 -0
- package/dist/core/seams/types.d.ts +123 -0
- package/dist/core/seams/types.js +35 -0
- package/dist/core/seams/types.js.map +1 -0
- package/dist/core/spec/spec-store.d.ts +62 -0
- package/dist/core/spec/spec-store.js +359 -0
- package/dist/core/spec/spec-store.js.map +1 -0
- package/dist/core/swarm/gate.d.ts +45 -0
- package/dist/core/swarm/gate.js +114 -0
- package/dist/core/swarm/gate.js.map +1 -0
- package/dist/core/swarm/planner.d.ts +32 -0
- package/dist/core/swarm/planner.js +293 -0
- package/dist/core/swarm/planner.js.map +1 -0
- package/dist/core/swarm/rollback.d.ts +56 -0
- package/dist/core/swarm/rollback.js +266 -0
- package/dist/core/swarm/rollback.js.map +1 -0
- package/dist/core/swarm/runner.d.ts +62 -0
- package/dist/core/swarm/runner.js +1263 -0
- package/dist/core/swarm/runner.js.map +1 -0
- package/dist/core/swarm/sign.d.ts +71 -0
- package/dist/core/swarm/sign.js +362 -0
- package/dist/core/swarm/sign.js.map +1 -0
- package/dist/core/swarm/store.d.ts +52 -0
- package/dist/core/swarm/store.js +195 -0
- package/dist/core/swarm/store.js.map +1 -0
- package/dist/core/tidy.d.ts +32 -0
- package/dist/core/tidy.js +354 -0
- package/dist/core/tidy.js.map +1 -0
- package/dist/core/tools-registry.d.ts +16 -0
- package/dist/core/tools-registry.js +308 -0
- package/dist/core/tools-registry.js.map +1 -0
- package/dist/core/types.d.ts +2545 -0
- package/dist/core/types.js +9 -0
- package/dist/core/types.js.map +1 -0
- package/dist/core/web/api.d.ts +53 -0
- package/dist/core/web/api.js +698 -0
- package/dist/core/web/api.js.map +1 -0
- package/dist/core/web/public/app.js +1906 -0
- package/dist/core/web/public/index.html +721 -0
- package/dist/core/web/public/styles.css +2007 -0
- package/dist/core/web/server.d.ts +18 -0
- package/dist/core/web/server.js +122 -0
- package/dist/core/web/server.js.map +1 -0
- package/dist/core/web/static.d.ts +18 -0
- package/dist/core/web/static.js +122 -0
- package/dist/core/web/static.js.map +1 -0
- package/dist/tui/app.d.ts +33 -0
- package/dist/tui/app.js +350 -0
- package/dist/tui/app.js.map +1 -0
- package/dist/tui/render.d.ts +20 -0
- package/dist/tui/render.js +558 -0
- package/dist/tui/render.js.map +1 -0
- package/package.json +80 -0
- package/schema/config.schema.json +223 -0
package/dist/cli/help.js
ADDED
|
@@ -0,0 +1,436 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* cli/help.ts — agent-facing docs surface (M31).
|
|
3
|
+
*
|
|
4
|
+
* `ashlr docs --agent [--json]` emits a compact, llms.txt-style cheat sheet of
|
|
5
|
+
* the agent-relevant commands: what each does, its safety class, the --json
|
|
6
|
+
* contract, and exit-code discipline. Generated from AGENT_COMMANDS so the
|
|
7
|
+
* docs can never drift from one source of truth.
|
|
8
|
+
*
|
|
9
|
+
* `claudeMdSnippet()` renders a ready-to-paste CLAUDE.md block teaching agents
|
|
10
|
+
* the CLI-first usage (consumed by `ashlr wire --claude-md`).
|
|
11
|
+
*
|
|
12
|
+
* Safety classes mirror CONTRACT-M31:
|
|
13
|
+
* read — read-only of local stores; always safe.
|
|
14
|
+
* append — append-only write under ~/.ashlr/ (genome hub).
|
|
15
|
+
* proposal — creates a PENDING inbox proposal; never applies anything.
|
|
16
|
+
* human-gate — listed for awareness only; agents must NOT run it.
|
|
17
|
+
*/
|
|
18
|
+
import { makeColors, isTty, pad } from './ui.js';
|
|
19
|
+
/**
|
|
20
|
+
* The agent-relevant command registry — the CLI-first contract. Every entry's
|
|
21
|
+
* --json output is stable (typed in src/core/types.ts) and ANSI-free.
|
|
22
|
+
* Exit codes everywhere: 0 success, 1 runtime error, 2 bad usage.
|
|
23
|
+
*/
|
|
24
|
+
export const AGENT_COMMANDS = [
|
|
25
|
+
{
|
|
26
|
+
usage: 'ashlr orient [--repo <path>] --json',
|
|
27
|
+
description: 'Session-start context: genome hits, health, backlog, pending proposals, attention. Run once when starting work.',
|
|
28
|
+
safety: 'read',
|
|
29
|
+
jsonShape: 'OrientResult',
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
usage: 'ashlr ask "<question>" [--json]',
|
|
33
|
+
description: 'Local RAG over the indexed portfolio; cites repo/file:line. Local models only unless --allow-cloud.',
|
|
34
|
+
safety: 'read',
|
|
35
|
+
jsonShape: 'AskResult',
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
usage: 'ashlr recall "<query>" [--json]',
|
|
39
|
+
description: 'Search shared genome memory for prior decisions/conventions/learnings.',
|
|
40
|
+
safety: 'read',
|
|
41
|
+
jsonShape: 'RecallHit[]',
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
usage: 'ashlr learn "<text>" [--title t] [--project p] [--tags a,b]',
|
|
45
|
+
description: 'Append a learning to shared memory (append-only, hub store under ~/.ashlr/).',
|
|
46
|
+
safety: 'append',
|
|
47
|
+
jsonShape: 'GenomeEntry (created)',
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
usage: 'ashlr backlog [--repo <path>] [--limit N] --json',
|
|
51
|
+
description: 'Top scored work items from the persisted portfolio backlog (read; refresh is a separate human step).',
|
|
52
|
+
safety: 'read',
|
|
53
|
+
jsonShape: 'Backlog',
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
usage: 'ashlr health [<repo>] --json',
|
|
57
|
+
description: 'Quality score for an enrolled repo (tests/docs/deps/security/debt) or the latest portfolio report.',
|
|
58
|
+
safety: 'read',
|
|
59
|
+
jsonShape: 'HealthScore | HealthReport',
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
usage: 'ashlr status',
|
|
63
|
+
description: 'Attention board: dirty/stale repos + ecosystem summary.',
|
|
64
|
+
safety: 'read',
|
|
65
|
+
jsonShape: '(human-oriented; use orient --json)',
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
usage: 'ashlr knowledge impact <target> [--json]',
|
|
69
|
+
description: 'References + dependents of a file/symbol within and across enrolled repos.',
|
|
70
|
+
safety: 'read',
|
|
71
|
+
jsonShape: 'ImpactResult',
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
usage: 'ashlr pulse [--window 1d|7d|30d] --json',
|
|
75
|
+
description: 'Token/cost/activity roll-up (sessions, tokens, est. cost, commits).',
|
|
76
|
+
safety: 'read',
|
|
77
|
+
jsonShape: 'ActivityRollup',
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
usage: 'ashlr inbox --json',
|
|
81
|
+
description: 'List proposals in the approval inbox. LISTING ONLY for agents — approve/reject is human-only.',
|
|
82
|
+
safety: 'read',
|
|
83
|
+
jsonShape: 'Proposal[]',
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
usage: 'ashlr inbox approve|reject <id>',
|
|
87
|
+
description: 'HUMAN-ONLY: the single gate through which every outward action passes. Agents must never run this.',
|
|
88
|
+
safety: 'human-gate',
|
|
89
|
+
jsonShape: 'ApplyResult',
|
|
90
|
+
},
|
|
91
|
+
];
|
|
92
|
+
/** Render the cheat sheet as plain text (llms.txt-style; no ANSI). */
|
|
93
|
+
export function agentDocsText() {
|
|
94
|
+
const lines = [
|
|
95
|
+
'# ashlr — agent contract (CLI-first)',
|
|
96
|
+
'',
|
|
97
|
+
'ashlr is a local-first command center: portfolio memory (genome), local RAG,',
|
|
98
|
+
'work discovery (backlog), repo health, and a human-gated approval inbox.',
|
|
99
|
+
'Use the CLI below from any agent session. Every --json shape is stable and',
|
|
100
|
+
'ANSI-free; exit codes are 0 success / 1 error / 2 bad usage.',
|
|
101
|
+
'',
|
|
102
|
+
'Safety classes: read = always safe · append = append-only under ~/.ashlr/ ·',
|
|
103
|
+
'proposal = creates a PENDING inbox item (never applies) · human-gate = NEVER',
|
|
104
|
+
'run from an agent; the human approves via `ashlr inbox`.',
|
|
105
|
+
'',
|
|
106
|
+
];
|
|
107
|
+
for (const c of AGENT_COMMANDS) {
|
|
108
|
+
lines.push(`## ${c.usage}`);
|
|
109
|
+
lines.push(`safety: ${c.safety} · json: ${c.jsonShape}`);
|
|
110
|
+
lines.push(c.description);
|
|
111
|
+
lines.push('');
|
|
112
|
+
}
|
|
113
|
+
lines.push('Equivalent MCP tools (when wired via `ashlr wire`): ashlr_orient,');
|
|
114
|
+
lines.push('ashlr_ask, ashlr_recall, ashlr_learn, ashlr_backlog, ashlr_health,');
|
|
115
|
+
lines.push('ashlr_status, ashlr_impact, ashlr_pulse, ashlr_inbox_list,');
|
|
116
|
+
lines.push('ashlr_inbox_propose. There is NO approve/apply tool by design.');
|
|
117
|
+
lines.push('');
|
|
118
|
+
return lines.join('\n');
|
|
119
|
+
}
|
|
120
|
+
/** Ready-to-paste CLAUDE.md block (for `ashlr wire --claude-md`). */
|
|
121
|
+
export function claudeMdSnippet() {
|
|
122
|
+
return [
|
|
123
|
+
'## ashlr (portfolio command center)',
|
|
124
|
+
'',
|
|
125
|
+
'This machine runs ashlr — local-first portfolio memory, RAG, and work',
|
|
126
|
+
'discovery. Use it via Bash:',
|
|
127
|
+
'',
|
|
128
|
+
'- **Session start:** `ashlr orient --repo <repo> --json` — prior decisions,',
|
|
129
|
+
' repo health, top backlog items, pending proposals. Read it before working.',
|
|
130
|
+
'- **Questions about any repo:** `ashlr ask "<question>" --json` (cites file:line).',
|
|
131
|
+
'- **Search prior learnings:** `ashlr recall "<query>" --json`.',
|
|
132
|
+
'- **Save a learning** (architecture decision, gotcha, convention):',
|
|
133
|
+
' `ashlr learn "<text>" --project <name>` — append-only, safe.',
|
|
134
|
+
'- **Find work:** `ashlr backlog --repo <repo> --json`.',
|
|
135
|
+
'- **NEVER run** `ashlr inbox approve|reject` or `ashlr enroll` — those are',
|
|
136
|
+
' human-only gates.',
|
|
137
|
+
'',
|
|
138
|
+
].join('\n');
|
|
139
|
+
}
|
|
140
|
+
function printDocsHelp() {
|
|
141
|
+
const c = makeColors(isTty());
|
|
142
|
+
console.log('');
|
|
143
|
+
console.log(c.bold(' ashlr docs') + c.dim(' — generated documentation surfaces'));
|
|
144
|
+
console.log('');
|
|
145
|
+
console.log(` ${c.cyan('ashlr docs --agent')} ${c.dim('agent cheat sheet (llms.txt-style, plain text)')}`);
|
|
146
|
+
console.log(` ${c.cyan('ashlr docs --agent --json')} ${c.dim('the same registry as JSON')}`);
|
|
147
|
+
console.log(` ${c.cyan('ashlr wire --claude-md')} ${c.dim('CLAUDE.md snippet for agent configs')}`);
|
|
148
|
+
console.log('');
|
|
149
|
+
}
|
|
150
|
+
export async function cmdDocs(args) {
|
|
151
|
+
const json = args.includes('--json');
|
|
152
|
+
const agent = args.includes('--agent');
|
|
153
|
+
if (args.includes('--help') || args.includes('-h') || args[0] === 'help') {
|
|
154
|
+
printDocsHelp();
|
|
155
|
+
return 0;
|
|
156
|
+
}
|
|
157
|
+
if (!agent) {
|
|
158
|
+
printDocsHelp();
|
|
159
|
+
return 2;
|
|
160
|
+
}
|
|
161
|
+
if (json) {
|
|
162
|
+
process.stdout.write(JSON.stringify({ commands: AGENT_COMMANDS }, null, 2) + '\n');
|
|
163
|
+
return 0;
|
|
164
|
+
}
|
|
165
|
+
process.stdout.write(agentDocsText());
|
|
166
|
+
return 0;
|
|
167
|
+
}
|
|
168
|
+
/** Human-facing summary table for `ashlr docs` discoverability surfaces. */
|
|
169
|
+
export function renderAgentTable() {
|
|
170
|
+
const c = makeColors(isTty());
|
|
171
|
+
const w = Math.max(...AGENT_COMMANDS.map((x) => x.usage.length));
|
|
172
|
+
return AGENT_COMMANDS
|
|
173
|
+
.map((x) => ` ${c.cyan(pad(x.usage, w))} ${c.dim(`[${x.safety}]`)} ${x.description}`)
|
|
174
|
+
.join('\n');
|
|
175
|
+
}
|
|
176
|
+
const TOPIC_LABELS = {
|
|
177
|
+
core: 'Core — index, navigate, configure',
|
|
178
|
+
run: 'Run — local-first agent runs',
|
|
179
|
+
swarm: 'Swarm — specs + multi-agent fleets',
|
|
180
|
+
memory: 'Memory — shared genome',
|
|
181
|
+
knowledge: 'Knowledge — portfolio RAG + graph',
|
|
182
|
+
autonomy: 'Autonomy — enrollment, backlog, daemon, inbox, goals',
|
|
183
|
+
observability: 'Observability — cost, telemetry, audit',
|
|
184
|
+
integrations: 'Integrations — MCP, GitHub, Vercel, editors',
|
|
185
|
+
safety: 'Safety — sandboxes, invariants, activation',
|
|
186
|
+
web: 'Surfaces — TUI + web dashboard',
|
|
187
|
+
scaffold: 'Scaffold — new projects + shipping',
|
|
188
|
+
};
|
|
189
|
+
/** The full command table (the former inline cmdHelp list), topic-tagged. */
|
|
190
|
+
export const HELP_ENTRIES = [
|
|
191
|
+
{ cmd: 'index [--refresh]', desc: 'Build or refresh the desktop index; show counts by category.', topic: 'core' },
|
|
192
|
+
{ cmd: 'go [query] [--open|--cd]', desc: 'Find a repo or item; open in editor (--open) or print path for cd (--cd).', topic: 'core' },
|
|
193
|
+
{ cmd: 'status', desc: 'Attention board: dirty, off-sync, and stale repos; ecosystem summary.', topic: 'core' },
|
|
194
|
+
{ cmd: 'ls [category]', desc: 'List all indexed items, optionally filtered by category.', topic: 'core' },
|
|
195
|
+
{ cmd: 'open [query]', desc: 'Open the best match in your editor; no query opens an interactive picker.', topic: 'core' },
|
|
196
|
+
{ cmd: 'tidy [--apply]', desc: 'Show (or apply) tidy moves for loose Desktop files.', topic: 'core' },
|
|
197
|
+
{ cmd: 'config [get <k>|set <k> <v>]', desc: 'Read/write a config value. No args prints a summary.', topic: 'core' },
|
|
198
|
+
{ cmd: 'config set <k> --json <v>', desc: 'Set a structured (array/object) config value as JSON.', topic: 'core' },
|
|
199
|
+
{ cmd: 'config path', desc: 'Print the path to config.json.', topic: 'core' },
|
|
200
|
+
{ cmd: 'doctor', desc: 'One-glance health check: config, phantom, providers, ecosystem.', topic: 'core' },
|
|
201
|
+
{ cmd: 'init [--yes]', desc: 'Idempotent onboarding: ensure config, detect phantom + models, set editor.', topic: 'core' },
|
|
202
|
+
{ cmd: 'update [--check] [--json]', desc: 'Safe self-update: git pull --ff-only + rebuild. --check reports only.', topic: 'core' },
|
|
203
|
+
{ cmd: 'orient [--repo <r>] [--json]', desc: 'Session-start context: genome hits, health, backlog, pending proposals, attention (read-only).', topic: 'core' },
|
|
204
|
+
{ cmd: 'docs --agent [--json]', desc: 'Agent cheat sheet: the CLI-first contract (commands, safety classes, JSON shapes).', topic: 'core' },
|
|
205
|
+
{ cmd: 'completions zsh|bash', desc: 'Print a shell completion script to stdout.', topic: 'core' },
|
|
206
|
+
{ cmd: 'plugins init|list|info|enable|disable', desc: 'Scaffold + manage plugins (~/.ashlr/plugins/) — default-off, integrity-pinned, audited (see docs/PLUGINS.md).', topic: 'core' },
|
|
207
|
+
{ cmd: 'x <name> [args...]', desc: "Run an enabled plugin's command.", topic: 'core' },
|
|
208
|
+
{ cmd: 'help [<topic>] [--all]', desc: 'Topic-grouped help; --all prints every command; --search <term> filters.', topic: 'core' },
|
|
209
|
+
{ cmd: 'run "<goal>" [opts]', desc: 'Decompose goal into tasks; execute via local model (Ollama/LM Studio).', topic: 'run' },
|
|
210
|
+
{ cmd: 'run show <id>', desc: 'Print a past run in detail.', topic: 'run' },
|
|
211
|
+
{ cmd: 'runs [--json]', desc: 'List past runs (newest first).', topic: 'run' },
|
|
212
|
+
{ cmd: 'models [--json]', desc: 'List local models (Ollama/LM Studio); marks the active one.', topic: 'run' },
|
|
213
|
+
{ cmd: 'models pull <name> [--yes]', desc: 'Explicitly pull an Ollama model (large download; confirm first).', topic: 'run' },
|
|
214
|
+
{ cmd: 'models start', desc: 'Best-effort start a locally-installed Ollama (never downloads).', topic: 'run' },
|
|
215
|
+
{ cmd: 'spec new "<goal>" [--project]', desc: 'Author a versioned end-state spec artifact (local-first model).', topic: 'swarm' },
|
|
216
|
+
{ cmd: 'spec list [--project <path>]', desc: 'List all spec artifacts, newest version per spec.', topic: 'swarm' },
|
|
217
|
+
{ cmd: 'spec show <id>', desc: 'Print a spec artifact in full.', topic: 'swarm' },
|
|
218
|
+
{ cmd: 'spec refine <id> "<note>"', desc: 'Produce a new version of a spec incorporating the note.', topic: 'swarm' },
|
|
219
|
+
{ cmd: 'swarm "<goal>" [opts]', desc: 'Decompose goal into a contracts-first DAG; run a fleet of agents.', topic: 'swarm' },
|
|
220
|
+
{ cmd: 'swarm <specId> [opts]', desc: 'Run a swarm against an existing spec artifact.', topic: 'swarm' },
|
|
221
|
+
{ cmd: 'swarm show <id>', desc: 'Print a past swarm run in detail.', topic: 'swarm' },
|
|
222
|
+
{ cmd: 'swarms [--json]', desc: 'List past swarm runs (newest first).', topic: 'swarm' },
|
|
223
|
+
{ cmd: 'recall "<query>"', desc: 'Search shared genome memory; return top relevant entries with scores.', topic: 'memory' },
|
|
224
|
+
{ cmd: 'learn "<text>" [opts]', desc: 'Append a note to shared genome memory (local-first, append-only).', topic: 'memory' },
|
|
225
|
+
{ cmd: 'genome', desc: 'Genome status/health: entry count, projects covered, store size.', topic: 'memory' },
|
|
226
|
+
{ cmd: 'knowledge build', desc: 'Index enrolled repos locally (read-only, secret-scrubbed) for portfolio RAG.', topic: 'knowledge' },
|
|
227
|
+
{ cmd: 'ask "<question>"', desc: 'Local RAG across the indexed portfolio; cites repo/file:line. --allow-cloud opt-in.', topic: 'knowledge' },
|
|
228
|
+
{ cmd: 'knowledge impact <target>', desc: 'Show references + dependents of a file/symbol within and across enrolled repos.', topic: 'knowledge' },
|
|
229
|
+
{ cmd: 'knowledge graph', desc: 'Print the portfolio knowledge graph (repos/modules/deps + cross-repo findings).', topic: 'knowledge' },
|
|
230
|
+
{ cmd: 'enroll list', desc: 'List enrolled repos + kill switch state.', topic: 'autonomy' },
|
|
231
|
+
{ cmd: 'enroll add <repo>', desc: 'Enroll a repo for autonomous work.', topic: 'autonomy' },
|
|
232
|
+
{ cmd: 'enroll remove <repo>', desc: 'Remove a repo from the enrollment registry.', topic: 'autonomy' },
|
|
233
|
+
{ cmd: 'enroll kill on|off', desc: 'Toggle the global autonomous kill switch.', topic: 'autonomy' },
|
|
234
|
+
{ cmd: 'backlog', desc: 'Scored work queue across enrolled repos (issues, TODOs, deps, docs, security).', topic: 'autonomy' },
|
|
235
|
+
{ cmd: 'backlog refresh', desc: 'Re-scan all enrolled repos and rebuild the backlog.', topic: 'autonomy' },
|
|
236
|
+
{ cmd: 'backlog --source <src>', desc: 'Filter backlog by source: issue|todo|test|dep|doc|security.', topic: 'autonomy' },
|
|
237
|
+
{ cmd: 'backlog --repo <path>', desc: 'Filter backlog to a specific enrolled repo.', topic: 'autonomy' },
|
|
238
|
+
{ cmd: 'backlog --limit <n>', desc: 'Show only the top N items.', topic: 'autonomy' },
|
|
239
|
+
{ cmd: 'backlog --json', desc: 'Emit raw JSON backlog.', topic: 'autonomy' },
|
|
240
|
+
{ cmd: 'inbox', desc: 'Approval inbox: list pending proposals (the outward-action gate).', topic: 'autonomy' },
|
|
241
|
+
{ cmd: 'inbox show <id>', desc: 'Full detail of a proposal incl. diff (read-only).', topic: 'autonomy' },
|
|
242
|
+
{ cmd: 'inbox approve <id>', desc: 'Confirm + apply an approved proposal (the ONLY outward path).', topic: 'autonomy' },
|
|
243
|
+
{ cmd: 'inbox approve <id> --yes', desc: 'Approve without interactive prompt (non-TTY safe).', topic: 'autonomy' },
|
|
244
|
+
{ cmd: 'inbox reject <id>', desc: 'Discard a pending proposal; applies nothing.', topic: 'autonomy' },
|
|
245
|
+
{ cmd: 'inbox --json', desc: 'Emit raw JSON for inbox list / show / approve result.', topic: 'autonomy' },
|
|
246
|
+
{ cmd: 'daemon start --once', desc: 'Autonomous operator: one tick — propose-only, sandboxed, enrolled repos.', topic: 'autonomy' },
|
|
247
|
+
{ cmd: 'daemon start --once --dry-run', desc: 'Plan only: which backlog items WOULD be worked (no swarm/proposal).', topic: 'autonomy' },
|
|
248
|
+
{ cmd: 'daemon stop', desc: 'Halt the daemon: set kill switch + clear running state.', topic: 'autonomy' },
|
|
249
|
+
{ cmd: 'daemon status', desc: "Daemon roll-up: running?, today's spend vs cap, pending proposals.", topic: 'autonomy' },
|
|
250
|
+
{ cmd: 'goals add <objective>', desc: 'Register a high-level OBJECTIVE (goal); decomposed into ordered milestones (local, no LLM by default).', topic: 'autonomy' },
|
|
251
|
+
{ cmd: 'goals plan <id>', desc: 'Decompose a goal into ordered milestones + author/link each milestone spec (LOCAL-FIRST; --allow-cloud to use cloud).', topic: 'autonomy' },
|
|
252
|
+
{ cmd: 'goals advance <id>', desc: 'Advance the next actionable milestone via a SANDBOXED, proposal-only swarm (ENROLLED repos only; emits a PENDING proposal).', topic: 'autonomy' },
|
|
253
|
+
{ cmd: 'goals status [id]', desc: 'Read-only roll-up of goal/milestone progress + linked swarm/proposal state (mutates nothing).', topic: 'autonomy' },
|
|
254
|
+
{ cmd: 'reflect [--since <Nd>]', desc: 'Score your OWN past runs/swarms locally; report effectiveness/cost deltas (read-only).', topic: 'autonomy' },
|
|
255
|
+
{ cmd: 'reflect playbooks [--persist]', desc: 'Distill repeatable playbooks from past swarms (report-only; --persist writes them to the genome).', topic: 'autonomy' },
|
|
256
|
+
{ cmd: 'reflect propose', desc: 'Emit routing/policy/prompt tuning suggestions as PENDING inbox proposals (never auto-applies).', topic: 'autonomy' },
|
|
257
|
+
{ cmd: 'health', desc: 'Score every ENROLLED repo on quality (tests/docs/deps/security/debt/CI/conventions); ranked, read-only.', topic: 'autonomy' },
|
|
258
|
+
{ cmd: 'health <repo>', desc: 'Per-repo health detail with the per-dimension breakdown + worst offenders (ENROLLED only).', topic: 'autonomy' },
|
|
259
|
+
{ cmd: 'health propose', desc: 'Emit deterministic safe-fix advisories as PENDING inbox proposals (never auto-applies).', topic: 'autonomy' },
|
|
260
|
+
{ cmd: 'digest', desc: 'Write an ORG-LEVEL portfolio digest (health, goals, costs, today) to ~/.ashlr/digests/ (LOCAL-FIRST; reads only).', topic: 'autonomy' },
|
|
261
|
+
{ cmd: 'digest --notify', desc: 'Also deliver the digest via a configured Slack/Discord webhook (OPT-IN; no-op when unconfigured).', topic: 'autonomy' },
|
|
262
|
+
{ cmd: 'pulse [--window 1d|7d|30d]', desc: 'Local observability dashboard: tokens, cost, sessions, commits.', topic: 'observability' },
|
|
263
|
+
{ cmd: 'pulse --json', desc: 'Machine-readable ActivityRollup (+ additive .forecast field; Raycast Pulse view).', topic: 'observability' },
|
|
264
|
+
{ cmd: 'pulse --project <name>', desc: 'Restrict pulse rollup to a single project.', topic: 'observability' },
|
|
265
|
+
{ cmd: 'telemetry [status]', desc: 'M19: endpoint+PAT configured (bool), sink mode, local JSONL count, governance.', topic: 'observability' },
|
|
266
|
+
{ cmd: 'telemetry test', desc: 'Emit a synthetic metadata-only test span; report sink+ok.', topic: 'observability' },
|
|
267
|
+
{ cmd: 'audit [N] [--json] [--action <verb>] [--result <r>] [--since <when>]', desc: 'Tail the append-only audit trail (newest-first); filter by action/result/since (read-only).', topic: 'observability' },
|
|
268
|
+
{ cmd: 'mcp', desc: 'Run the MCP aggregation gateway on stdio (point any agent here; includes 11 native ashlr_* tools).', topic: 'integrations' },
|
|
269
|
+
{ cmd: 'mcp list', desc: 'List native ashlr tools + discovered MCP servers with per-server tool counts.', topic: 'integrations' },
|
|
270
|
+
{ cmd: 'mcp doctor', desc: 'Per-server MCP health: does it start? how many tools?', topic: 'integrations' },
|
|
271
|
+
{ cmd: 'mcp install <claude|ashlrcode>', desc: 'Add the ashlr gateway to a target mcpServers config (backs up first).', topic: 'integrations' },
|
|
272
|
+
{ cmd: 'gh <pr|issue|ci>', desc: 'Read GitHub open PRs, issues, or CI status for the current repo (read-only).', topic: 'integrations' },
|
|
273
|
+
{ cmd: 'gh pr create', desc: 'Create a PR via gh CLI — explicit + confirm-gated (the only gh mutation).', topic: 'integrations' },
|
|
274
|
+
{ cmd: 'vercel <ls|logs>', desc: 'Read recent Vercel deployments or latest build logs (read-only).', topic: 'integrations' },
|
|
275
|
+
{ cmd: 'wire [claude|codex|cursor|all]', desc: 'Wire ashlr MCP gateway into editor config(s); defaults to detected editors.', topic: 'integrations' },
|
|
276
|
+
{ cmd: 'wire --claude-md', desc: 'Print a CLAUDE.md snippet teaching agents the CLI-first ashlr usage (read-only).', topic: 'integrations' },
|
|
277
|
+
{ cmd: 'notify test', desc: 'Send a test ping to the configured webhook(s); no-op if none are set.', topic: 'integrations' },
|
|
278
|
+
{ cmd: 'sandbox list', desc: 'List active git-worktree sandboxes (M21 safety foundation).', topic: 'safety' },
|
|
279
|
+
{ cmd: 'sandbox diff <id>', desc: 'Show diff of a sandbox vs its base HEAD.', topic: 'safety' },
|
|
280
|
+
{ cmd: 'sandbox cleanup <id>', desc: 'Remove a sandbox worktree and scratch branch.', topic: 'safety' },
|
|
281
|
+
{ cmd: 'sandbox gc', desc: 'Reclaim STALE orphan sandboxes (crash leftovers); H5 explicit human repair surface for the orphan sweep.', topic: 'safety' },
|
|
282
|
+
{ cmd: 'seams', desc: 'Cloud-ready seam diagnostic: every v2 store, active=local, cloud=gated (read-only).', topic: 'safety' },
|
|
283
|
+
{ cmd: 'seams status', desc: 'Same as `seams`: list seams + active impl; proves local-first + cloud gated on Mason.', topic: 'safety' },
|
|
284
|
+
{ cmd: 'verify-safety', desc: 'Read-only self-check of the hard safety invariants (enrollment/kill-switch/daemon/scrub/cloud-gate); mutates nothing.', topic: 'safety' },
|
|
285
|
+
{ cmd: 'preflight [--json]', desc: 'Read-only first-activation readiness check: ready=true|false + blockers/warnings (model/enrollment/kill/daemon/writeable/sandbox/git/phantom); mutates nothing.', topic: 'safety' },
|
|
286
|
+
{ cmd: 'onboard', desc: 'Guided first safe activation: preflight → enroll ONE repo → dry-run PLAN → point at `ashlr inbox`. TTY-aware; --yes/non-TTY prints steps. NEVER auto-applies.', topic: 'safety' },
|
|
287
|
+
{ cmd: 'onboard --rollback <repo>', desc: 'One-command undo of a first activation: unenroll + sweep orphan sandboxes + optional --kill. Inward cleanup only; H6-audited.', topic: 'safety' },
|
|
288
|
+
{ cmd: 'demo [--no-cleanup] [--json]', desc: 'Watch the FULL autonomous chain run on a DISPOSABLE tmp repo (isolated tmp ~/.ashlr; proposal-only; auto-cleans). NEVER touches your portfolio or applies anything.', topic: 'safety' },
|
|
289
|
+
{ cmd: 'tui [--once]', desc: 'Interactive terminal dashboard (alias: dash). --once renders one frame and exits.', topic: 'web' },
|
|
290
|
+
{ cmd: 'serve [--port N]', desc: 'Start local web dashboard + JSON API on 127.0.0.1 (default port 7777).', topic: 'web' },
|
|
291
|
+
{ cmd: 'serve --open', desc: 'Start dashboard and open browser automatically.', topic: 'web' },
|
|
292
|
+
{ cmd: 'serve --allow-dispatch', desc: 'Enable guarded POST /api/run + web inbox approve/reject (prints session token).', topic: 'web' },
|
|
293
|
+
{ cmd: 'new <name> [opts]', desc: 'Scaffold a project from a template (next-app, node-cli, mcp-server, minimal).', topic: 'scaffold' },
|
|
294
|
+
{ cmd: 'ship [path] [opts]', desc: 'Pre-ship gate (lint/test/build) + optional confirm-gated deploy.', topic: 'scaffold' },
|
|
295
|
+
];
|
|
296
|
+
/** Per-topic example blocks (relocated from the former inline cmdHelp). */
|
|
297
|
+
const TOPIC_EXAMPLES = {
|
|
298
|
+
run: [
|
|
299
|
+
'ashlr run "list all open GitHub issues in this repo"',
|
|
300
|
+
'ashlr run "summarize recent commits" --budget 8000 --max-steps 5',
|
|
301
|
+
'ashlr run "audit TODOs" --no-memory # skip genome injection',
|
|
302
|
+
'ashlr run show <id> # inspect a past run',
|
|
303
|
+
'ashlr run "x" --estimate # predict cost before running',
|
|
304
|
+
],
|
|
305
|
+
swarm: [
|
|
306
|
+
'ashlr spec new "build a REST API with auth and tests"',
|
|
307
|
+
'ashlr swarm "build a REST API with auth" --dry-run # plan only',
|
|
308
|
+
'ashlr swarm spec-abc123 --budget 40000 --parallel 3',
|
|
309
|
+
'ashlr swarm "refactor auth module" --background # detached',
|
|
310
|
+
],
|
|
311
|
+
memory: [
|
|
312
|
+
'ashlr recall "how does the orchestrator work"',
|
|
313
|
+
'ashlr learn "prefer bge-m3 for embeddings" --tags embeddings,ollama',
|
|
314
|
+
'ashlr learn "ashlr-hub uses NodeNext ESM" --project ashlr-hub',
|
|
315
|
+
],
|
|
316
|
+
scaffold: [
|
|
317
|
+
'ashlr new my-app --template next-app',
|
|
318
|
+
'ashlr new my-tool --template node-cli --category dev-tools',
|
|
319
|
+
'ashlr ship --deploy vercel --confirm # gate + REAL deploy',
|
|
320
|
+
],
|
|
321
|
+
autonomy: [
|
|
322
|
+
'ashlr enroll add ~/code/my-repo && ashlr backlog refresh',
|
|
323
|
+
'ashlr daemon start --once --dry-run # plan only',
|
|
324
|
+
'ashlr inbox && ashlr inbox approve <id>',
|
|
325
|
+
],
|
|
326
|
+
};
|
|
327
|
+
/** Flag reference lines printed with `help run` / `help swarm` / `help --all`. */
|
|
328
|
+
const FLAG_LINES = {
|
|
329
|
+
run: ['--budget N --max-steps N --parallel N --engine builtin|ashlrcode|aw --allow-cloud --no-tools --no-memory --resume <id> --estimate --json --over-budget'],
|
|
330
|
+
swarm: ['--budget N --parallel N (default 3, max 8) --background --resume <id> --dry-run --estimate --allow-cloud --project <path> --over-budget'],
|
|
331
|
+
};
|
|
332
|
+
const TOPICS = [
|
|
333
|
+
'core', 'run', 'swarm', 'memory', 'knowledge', 'autonomy',
|
|
334
|
+
'observability', 'integrations', 'safety', 'web', 'scaffold',
|
|
335
|
+
];
|
|
336
|
+
function renderEntries(entries) {
|
|
337
|
+
const c = makeColors(isTty());
|
|
338
|
+
const w = Math.max(...entries.map((e) => e.cmd.length));
|
|
339
|
+
return entries.map((e) => ` ${c.cyan(pad(e.cmd, w))} ${e.desc}`).join('\n');
|
|
340
|
+
}
|
|
341
|
+
function renderTopic(topic) {
|
|
342
|
+
const c = makeColors(isTty());
|
|
343
|
+
const entries = HELP_ENTRIES.filter((e) => e.topic === topic);
|
|
344
|
+
console.log('');
|
|
345
|
+
console.log(' ' + c.bold(TOPIC_LABELS[topic]));
|
|
346
|
+
console.log('');
|
|
347
|
+
console.log(renderEntries(entries));
|
|
348
|
+
const flags = FLAG_LINES[topic];
|
|
349
|
+
if (flags) {
|
|
350
|
+
console.log('');
|
|
351
|
+
for (const f of flags)
|
|
352
|
+
console.log(' ' + c.bold('flags:') + ' ' + c.dim(f));
|
|
353
|
+
}
|
|
354
|
+
const examples = TOPIC_EXAMPLES[topic];
|
|
355
|
+
if (examples) {
|
|
356
|
+
console.log('');
|
|
357
|
+
console.log(' ' + c.bold('Examples:'));
|
|
358
|
+
for (const ex of examples)
|
|
359
|
+
console.log(` ${c.cyan(ex)}`);
|
|
360
|
+
}
|
|
361
|
+
console.log('');
|
|
362
|
+
}
|
|
363
|
+
function renderSummary() {
|
|
364
|
+
const c = makeColors(isTty());
|
|
365
|
+
console.log('');
|
|
366
|
+
console.log(c.bold(' ashlr') + c.dim(' — local-first command center for agentic engineers'));
|
|
367
|
+
console.log('');
|
|
368
|
+
for (const topic of TOPICS) {
|
|
369
|
+
const entries = HELP_ENTRIES.filter((e) => e.topic === topic);
|
|
370
|
+
const headliners = entries.slice(0, 3).map((e) => e.cmd.split(' ')[0]);
|
|
371
|
+
const unique = [...new Set(headliners)].join(', ');
|
|
372
|
+
console.log(` ${c.cyan(pad(topic, 14))} ${TOPIC_LABELS[topic]} ${c.dim(`(${unique}, …)`)}`);
|
|
373
|
+
}
|
|
374
|
+
console.log('');
|
|
375
|
+
console.log(' ' + c.dim('ashlr help <topic>') + ' full table for one topic');
|
|
376
|
+
console.log(' ' + c.dim('ashlr help --search <t>') + ' find a command by keyword');
|
|
377
|
+
console.log(' ' + c.dim('ashlr help --all') + ' every command (the legacy full table)');
|
|
378
|
+
console.log(' ' + c.dim('ashlr docs --agent') + ' the agent contract cheat sheet');
|
|
379
|
+
console.log('');
|
|
380
|
+
}
|
|
381
|
+
function renderAll() {
|
|
382
|
+
const c = makeColors(isTty());
|
|
383
|
+
console.log('');
|
|
384
|
+
console.log(c.bold(' ashlr') + c.dim(' — every command'));
|
|
385
|
+
for (const topic of TOPICS) {
|
|
386
|
+
console.log('');
|
|
387
|
+
console.log(' ' + c.bold(TOPIC_LABELS[topic]));
|
|
388
|
+
console.log(renderEntries(HELP_ENTRIES.filter((e) => e.topic === topic)));
|
|
389
|
+
}
|
|
390
|
+
console.log('');
|
|
391
|
+
for (const [t, lines] of Object.entries(FLAG_LINES)) {
|
|
392
|
+
for (const f of lines ?? [])
|
|
393
|
+
console.log(' ' + c.bold(`${t} flags:`) + ' ' + c.dim(f));
|
|
394
|
+
}
|
|
395
|
+
console.log('');
|
|
396
|
+
}
|
|
397
|
+
/** `ashlr help [<topic>] [--search <term>] [--all]` — exit 0 always (help never fails the shell). */
|
|
398
|
+
export async function cmdHelp(args) {
|
|
399
|
+
const c = makeColors(isTty());
|
|
400
|
+
if (args.includes('--all')) {
|
|
401
|
+
renderAll();
|
|
402
|
+
return 0;
|
|
403
|
+
}
|
|
404
|
+
const searchIdx = args.indexOf('--search');
|
|
405
|
+
if (searchIdx !== -1) {
|
|
406
|
+
const term = (args[searchIdx + 1] ?? '').toLowerCase();
|
|
407
|
+
if (!term) {
|
|
408
|
+
console.log(c.dim('usage: ashlr help --search <term>'));
|
|
409
|
+
return 0;
|
|
410
|
+
}
|
|
411
|
+
const hits = HELP_ENTRIES.filter((e) => e.cmd.toLowerCase().includes(term) || e.desc.toLowerCase().includes(term));
|
|
412
|
+
console.log('');
|
|
413
|
+
if (hits.length === 0) {
|
|
414
|
+
console.log(c.dim(` no commands match "${term}" — try \`ashlr help --all\``));
|
|
415
|
+
}
|
|
416
|
+
else {
|
|
417
|
+
console.log(renderEntries(hits));
|
|
418
|
+
}
|
|
419
|
+
console.log('');
|
|
420
|
+
return 0;
|
|
421
|
+
}
|
|
422
|
+
const topicArg = args.find((a) => !a.startsWith('-'));
|
|
423
|
+
if (topicArg) {
|
|
424
|
+
if (TOPICS.includes(topicArg)) {
|
|
425
|
+
renderTopic(topicArg);
|
|
426
|
+
return 0;
|
|
427
|
+
}
|
|
428
|
+
console.log('');
|
|
429
|
+
console.log(c.dim(` unknown topic "${topicArg}" — topics: ${TOPICS.join(', ')}`));
|
|
430
|
+
console.log('');
|
|
431
|
+
return 0;
|
|
432
|
+
}
|
|
433
|
+
renderSummary();
|
|
434
|
+
return 0;
|
|
435
|
+
}
|
|
436
|
+
//# sourceMappingURL=help.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `ashlr inbox` — Approval Inbox CLI (M23).
|
|
3
|
+
*
|
|
4
|
+
* The single human control plane for every proposed outward action. PENDING
|
|
5
|
+
* proposals NEVER auto-apply. The ONLY path to applyProposal is the explicit
|
|
6
|
+
* `inbox approve <id> [--yes]` subcommand, with a confirm gate.
|
|
7
|
+
*
|
|
8
|
+
* Subcommands:
|
|
9
|
+
* inbox List PENDING proposals + counts by status.
|
|
10
|
+
* inbox show <id> Full detail of one proposal incl. diff (read-only).
|
|
11
|
+
* inbox approve <id> Confirm gate, setStatus approved, then applyProposal.
|
|
12
|
+
* inbox approve <id> --yes Skip interactive prompt (requires TTY check; non-TTY
|
|
13
|
+
* with no --yes refuses — no silent auto-approve).
|
|
14
|
+
* inbox reject <id> Mark rejected; applies nothing.
|
|
15
|
+
*
|
|
16
|
+
* Flags:
|
|
17
|
+
* --yes Skip interactive confirm prompt (approve only; non-TTY w/o --yes refuses).
|
|
18
|
+
* --json Emit raw JSON for list / show / approve result.
|
|
19
|
+
*
|
|
20
|
+
* Non-TTY: approve without --yes refuses (no auto-approve, ever).
|
|
21
|
+
* READ-ONLY except for approve (which routes through the single applyProposal gate).
|
|
22
|
+
*/
|
|
23
|
+
/**
|
|
24
|
+
* `ashlr inbox [show|approve|reject] [id] [--yes] [--json]`
|
|
25
|
+
*
|
|
26
|
+
* Returns a process exit code (0 = success, non-zero = error/usage).
|
|
27
|
+
*/
|
|
28
|
+
export declare function cmdInbox(args: string[]): Promise<number>;
|