akm-cli 0.9.0-rc.8 → 0.9.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 +1063 -44
- package/README.md +51 -25
- package/SECURITY.md +14 -1
- package/STABILITY.md +497 -0
- package/dist/akm +148 -35
- package/dist/{akm-migrate-storage → akm-migrate} +6 -9
- package/dist/assets/hints/cli-hints-full.md +223 -95
- package/dist/assets/hints/cli-hints-short.md +85 -22
- package/dist/assets/improve-strategies/default.json +1 -1
- package/dist/assets/improve-strategies/reflect-distill.json +1 -1
- package/dist/assets/prompts/memory-infer-user.md +2 -3
- package/dist/assets/stash-skeleton/README.md +6 -5
- package/dist/assets/stash-skeleton/facts/conventions/assets/agent.md +2 -0
- package/dist/assets/stash-skeleton/facts/conventions/assets/command.md +2 -0
- package/dist/assets/stash-skeleton/facts/conventions/assets/fact.md +2 -0
- package/dist/assets/stash-skeleton/facts/conventions/assets/knowledge.md +2 -0
- package/dist/assets/stash-skeleton/facts/conventions/assets/lesson.md +2 -0
- package/dist/assets/stash-skeleton/facts/conventions/assets/memory.md +2 -0
- package/dist/assets/stash-skeleton/facts/conventions/assets/script.md +2 -0
- package/dist/assets/stash-skeleton/facts/conventions/assets/skill.md +2 -0
- package/dist/assets/stash-skeleton/facts/conventions/assets/workflow.md +2 -0
- package/dist/assets/stash-skeleton/facts/conventions/backlinks.md +2 -0
- package/dist/assets/stash-skeleton/facts/conventions/domains.md +2 -0
- package/dist/assets/stash-skeleton/facts/conventions/organization.md +20 -9
- package/dist/assets/tasks/core/extract.yml +1 -1
- package/dist/assets/tasks/core/version-check.yml +1 -1
- package/dist/assets/tasks/improve/akm-graph-refresh-weekly.yml +5 -0
- package/dist/assets/tasks/improve/akm-improve-catchup.yml +8 -0
- package/dist/assets/tasks/improve/akm-improve-consolidate.yml +5 -0
- package/dist/assets/tasks/improve/akm-improve-frequent.yml +5 -0
- package/dist/assets/tasks/improve/akm-improve-nightly.yml +5 -0
- package/dist/assets/templates/html/health.html +1 -3
- package/dist/assets/workflows/workflow-template.md +32 -15
- package/dist/cli/invocation.js +40 -15
- package/dist/cli/parse-args.js +0 -22
- package/dist/cli/retired-commands.js +121 -0
- package/dist/cli/shared.js +154 -22
- package/dist/cli/unknown-flags.js +236 -0
- package/dist/cli-node.mjs +2 -1
- package/dist/cli.js +696 -258
- package/dist/commands/agent/agent-dispatch.js +14 -3
- package/dist/commands/agent/contribute-cli.js +73 -88
- package/dist/commands/completions.js +79 -22
- package/dist/commands/config-cli.js +17 -150
- package/dist/commands/env/env-cli.js +59 -143
- package/dist/commands/env/env.js +12 -163
- package/dist/commands/env/marker-path.js +6 -0
- package/dist/commands/env/secret-cli.js +36 -66
- package/dist/commands/env/secret.js +24 -57
- package/dist/commands/feedback-cli.js +141 -87
- package/dist/commands/health/accept-rate.js +58 -0
- package/dist/commands/health/advisories.js +3 -4
- package/dist/commands/health/checks.js +85 -23
- package/dist/commands/health/html-report.js +7 -10
- package/dist/commands/health/improve-metrics.js +25 -83
- package/dist/commands/health/md-report.js +5 -9
- package/dist/commands/health/metrics.js +62 -20
- package/dist/commands/health/renderers.js +47 -0
- package/dist/commands/health/report-view-model.js +4 -5
- package/dist/commands/health/stash-exposure.js +1 -1
- package/dist/commands/health/surfaces.js +3 -48
- package/dist/commands/health/task-runs.js +3 -67
- package/dist/commands/health/types-improve.js +7 -0
- package/dist/commands/health.js +99 -28
- package/dist/commands/improve/anti-collapse.js +2 -2
- package/dist/commands/improve/autonomy-gate.js +68 -0
- package/dist/commands/improve/collapse-detector.js +41 -40
- package/dist/commands/improve/consolidate/eligibility.js +1 -23
- package/dist/commands/improve/consolidate/merge.js +4 -0
- package/dist/commands/improve/consolidate.js +140 -1000
- package/dist/commands/improve/distill/promote-memory.js +12 -12
- package/dist/commands/improve/distill/quality-gate.js +6 -6
- package/dist/commands/improve/distill.js +58 -69
- package/dist/commands/improve/eligibility.js +105 -57
- package/dist/commands/improve/extract-cli.js +14 -133
- package/dist/commands/improve/improve-cli.js +98 -114
- package/dist/commands/improve/improve-result-file.js +1 -28
- package/dist/commands/improve/improve-strategies.js +8 -5
- package/dist/commands/improve/improve.js +128 -91
- package/dist/commands/improve/loop-stages.js +182 -20
- package/dist/commands/improve/memory/derived-ref.js +45 -43
- package/dist/commands/improve/memory/memory-belief.js +1 -1
- package/dist/commands/improve/memory/memory-contradiction-detect.js +4 -12
- package/dist/commands/improve/memory/memory-improve.js +6 -5
- package/dist/commands/improve/outcome-loop.js +22 -65
- package/dist/commands/improve/preparation.js +114 -123
- package/dist/commands/improve/proactive-maintenance.js +2 -5
- package/dist/commands/improve/reflect.js +56 -160
- package/dist/commands/improve/salience.js +11 -122
- package/dist/commands/improve/source-identity.js +10 -38
- package/dist/commands/lint/base-linter.js +20 -124
- package/dist/commands/lint/env-key-rules.js +31 -47
- package/dist/commands/lint/index.js +249 -43
- package/dist/commands/{events.js → log.js} +33 -38
- package/dist/commands/migrate-cli.js +92 -12
- package/dist/commands/migration-tool.js +46 -0
- package/dist/commands/observability-cli.js +70 -209
- package/dist/commands/proposal/drain.js +101 -29
- package/dist/commands/proposal/proposal-cli.js +76 -48
- package/dist/commands/proposal/proposal.js +54 -18
- package/dist/commands/proposal/propose-cli.js +88 -0
- package/dist/commands/proposal/propose.js +23 -15
- package/dist/commands/proposal/repository.js +701 -278
- package/dist/commands/proposal/validators/proposal-quality-validators.js +2 -8
- package/dist/commands/proposal/validators/proposal-validators.js +55 -7
- package/dist/commands/proposal/validators/proposals.js +4 -7
- package/dist/commands/read/curate.js +34 -53
- package/dist/commands/read/knowledge.js +150 -95
- package/dist/commands/read/registry-search.js +2 -2
- package/dist/commands/read/remember-cli.js +42 -15
- package/dist/commands/read/search-cli.js +180 -78
- package/dist/commands/read/search.js +58 -43
- package/dist/commands/read/show.js +197 -141
- package/dist/commands/registry-cli.js +12 -51
- package/dist/commands/remember.js +14 -57
- package/dist/commands/sources/add-cli.js +100 -31
- package/dist/commands/sources/bundle-cli.js +166 -0
- package/dist/commands/sources/bundle-config-ops.js +7 -2
- package/dist/commands/sources/info.js +18 -5
- package/dist/commands/sources/init.js +12 -12
- package/dist/commands/sources/installed-stashes.js +382 -98
- package/dist/commands/sources/schema-repair.js +3 -2
- package/dist/commands/sources/self-update.js +131 -38
- package/dist/commands/sources/source-add.js +72 -17
- package/dist/commands/sources/source-clone.js +129 -45
- package/dist/commands/sources/source-manage.js +43 -23
- package/dist/commands/sources/sources-cli.js +57 -208
- package/dist/commands/sources/stash-cli.js +46 -53
- package/dist/commands/tasks/tasks-cli.js +91 -97
- package/dist/commands/tasks/tasks.js +276 -421
- package/dist/commands/workflow-cli.js +175 -450
- package/dist/core/adapter/adapters/akm-adapter.js +47 -28
- package/dist/core/adapter/adapters/akm-lint.js +42 -27
- package/dist/core/adapter/adapters/akm-metadata.js +15 -44
- package/dist/core/adapter/adapters/akm-task-adapter.js +15 -13
- package/dist/core/adapter/adapters/akm-workflow-adapter.js +55 -71
- package/dist/core/adapter/adapters/dotenv-adapter.js +1 -1
- package/dist/core/adapter/adapters/generic-files-adapter.js +2 -0
- package/dist/core/adapter/adapters/index.js +6 -6
- package/dist/core/adapter/adapters/llm-wiki-adapter.js +14 -8
- package/dist/core/adapter/adapters/okf-adapter.js +187 -19
- package/dist/core/adapter/adapters/shared.js +3 -19
- package/dist/core/adapter/adapters/tool-dir-shared.js +8 -3
- package/dist/core/adapter/adapters/website-snapshot-adapter.js +1 -0
- package/dist/core/adapter/detect-adapter.js +17 -0
- package/dist/core/adapter/recognize-match.js +6 -4
- package/dist/core/adapter/validate-context.js +214 -0
- package/dist/core/asset/akm-markdown.js +63 -0
- package/dist/core/asset/asset-placement.js +20 -6
- package/dist/core/asset/asset-ref.js +11 -9
- package/dist/core/asset/frontmatter-lint.js +30 -0
- package/dist/core/asset/frontmatter.js +37 -9
- package/dist/core/asset/markdown.js +40 -51
- package/dist/core/asset/resolve-ref.js +89 -18
- package/dist/core/asset/stash-meta.js +1 -1
- package/dist/core/bundle-id.js +51 -0
- package/dist/core/common.js +152 -38
- package/dist/core/config/config-io.js +12 -1
- package/dist/core/config/config-schema.js +35 -8
- package/dist/core/config/config-sources.js +55 -11
- package/dist/core/config/config-walker.js +25 -9
- package/dist/core/config/config.js +9 -48
- package/dist/core/config/experimental.js +21 -0
- package/dist/core/config/schema/embedding.js +5 -1
- package/dist/core/config/schema/experimental.js +30 -0
- package/dist/core/config/schema/improve-processes.js +0 -6
- package/dist/core/config/schema/improve.js +21 -3
- package/dist/core/config/schema/index-config.js +8 -15
- package/dist/core/config/schema/output.js +4 -1
- package/dist/core/config/schema/setup.js +9 -18
- package/dist/core/config/schema/sources-bundles.js +49 -33
- package/dist/core/config/schema/workflow.js +3 -3
- package/dist/core/env-secret-ref.js +76 -46
- package/dist/core/errors.js +18 -12
- package/dist/core/events.js +46 -128
- package/dist/core/file-change.js +6 -5
- package/dist/core/fs-txn.js +83 -7
- package/dist/core/git-message.js +2 -2
- package/dist/core/improve-result.js +1 -100
- package/dist/core/lesson-lint.js +1 -17
- package/dist/core/logs-db.js +2 -1
- package/dist/core/migration-operation.js +16 -0
- package/dist/core/mutation-target.js +78 -0
- package/dist/core/parse.js +4 -1
- package/dist/core/paths.js +17 -20
- package/dist/core/recognition-util.js +12 -14
- package/dist/core/redaction.js +34 -0
- package/dist/core/standards/resolve-standards-context.js +2 -14
- package/dist/core/standards/resolve-stash-standards.js +2 -2
- package/dist/core/standards/resolve-type-conventions.js +2 -2
- package/dist/core/state/migrations.js +41 -18
- package/dist/core/state-db.js +5 -14
- package/dist/core/structured.js +1 -1
- package/dist/core/subprocess.js +6 -4
- package/dist/core/text-truncation.js +9 -5
- package/dist/core/type-presentation.js +3 -3
- package/dist/core/warn.js +0 -3
- package/dist/core/write-source.js +771 -95
- package/dist/indexer/bundle-identity-guard.js +3 -2
- package/dist/indexer/db/graph-db.js +0 -24
- package/dist/indexer/ensure-index.js +1 -0
- package/dist/indexer/graph/graph-boost.js +9 -34
- package/dist/indexer/graph/graph-extraction.js +8 -5
- package/dist/indexer/index-writer-lock.js +53 -17
- package/dist/indexer/index-written-assets.js +16 -22
- package/dist/indexer/indexer.js +497 -239
- package/dist/indexer/installations.js +14 -96
- package/dist/indexer/passes/dir-staleness.js +16 -9
- package/dist/indexer/passes/memory-inference.js +11 -9
- package/dist/indexer/passes/metadata.js +113 -47
- package/dist/indexer/scan/doc-to-entry.js +38 -1
- package/dist/indexer/scan/drain-dir.js +13 -23
- package/dist/indexer/search/db-search.js +99 -54
- package/dist/indexer/search/fts-query.js +47 -24
- package/dist/indexer/search/ranking-contributors.js +42 -20
- package/dist/indexer/search/ranking.js +18 -99
- package/dist/indexer/search/search-fields.js +7 -2
- package/dist/indexer/search/search-source.js +82 -93
- package/dist/indexer/usage/usage-events.js +0 -89
- package/dist/indexer/walk/file-context.js +2 -1
- package/dist/indexer/walk/matchers.js +30 -43
- package/dist/indexer/walk/path-resolver.js +7 -2
- package/dist/indexer/walk/walker.js +38 -12
- package/dist/integrations/agent/builders.js +0 -6
- package/dist/integrations/agent/config.js +2 -2
- package/dist/integrations/agent/detect.js +49 -19
- package/dist/integrations/agent/engine-fallback.js +76 -0
- package/dist/integrations/agent/profiles.js +14 -0
- package/dist/integrations/agent/prompts.js +12 -8
- package/dist/integrations/agent/runner-dispatch.js +4 -2
- package/dist/integrations/agent/runner.js +0 -1
- package/dist/integrations/agent/spawn.js +5 -6
- package/dist/integrations/github.js +1 -1
- package/dist/integrations/harnesses/aider/agent-builder.js +6 -4
- package/dist/integrations/harnesses/amazonq/agent-builder.js +7 -4
- package/dist/integrations/harnesses/claude/session-log.js +0 -10
- package/dist/integrations/harnesses/codex/agent-builder.js +5 -2
- package/dist/integrations/harnesses/copilot/agent-builder.js +5 -3
- package/dist/integrations/harnesses/gemini/agent-builder.js +5 -3
- package/dist/integrations/harnesses/index.js +3 -7
- package/dist/integrations/harnesses/opencode/agent-builder.js +21 -2
- package/dist/integrations/harnesses/opencode/session-log.js +0 -15
- package/dist/integrations/harnesses/opencode-sdk/sdk-runner.js +13 -4
- package/dist/integrations/harnesses/openhands/agent-builder.js +9 -6
- package/dist/integrations/harnesses/pi/agent-builder.js +6 -4
- package/dist/integrations/lockfile.js +101 -6
- package/dist/integrations/session-logs/index.js +3 -28
- package/dist/llm/client.js +136 -100
- package/dist/llm/embedders/remote.js +13 -5
- package/dist/llm/feature-gate.js +4 -12
- package/dist/llm/graph-extract.js +5 -11
- package/dist/llm/memory-infer.js +144 -1
- package/dist/llm/metadata-enhance.js +5 -7
- package/dist/llm/structured-call.js +1 -1
- package/dist/llm/usage-persist.js +26 -5
- package/dist/llm/usage-telemetry.js +25 -2
- package/dist/output/cli-hints.js +1 -2
- package/dist/output/context.js +22 -7
- package/dist/output/format-exempt.js +80 -0
- package/dist/output/generic-render.js +259 -0
- package/dist/output/render-registry.js +57 -0
- package/dist/output/renderers.js +14 -36
- package/dist/output/shapes/curate.js +10 -1
- package/dist/output/shapes/events.js +12 -7
- package/dist/output/shapes/helpers.js +56 -83
- package/dist/output/shapes/migrate.js +8 -0
- package/dist/output/shapes/passthrough.js +7 -41
- package/dist/output/shapes/proposal/producer.js +15 -7
- package/dist/output/shapes.js +2 -9
- package/dist/output/text/{init.js → bundle-create.js} +3 -1
- package/dist/output/text/bundle-show.js +7 -0
- package/dist/output/text/command-format.js +164 -96
- package/dist/output/text/env.js +1 -3
- package/dist/output/text/events.js +8 -7
- package/dist/output/text/health-format.js +103 -0
- package/dist/output/text/health.js +7 -0
- package/dist/output/text/helpers.js +10 -8
- package/dist/output/text/lint-format.js +43 -0
- package/dist/output/text/{save.js → lint.js} +2 -2
- package/dist/output/text/migrate.js +88 -0
- package/dist/output/text/proposal/producer.js +4 -2
- package/dist/output/text/proposal-format.js +44 -72
- package/dist/output/text/registry-commands.js +1 -2
- package/dist/output/text/show-directives.js +15 -7
- package/dist/output/text/status-list.js +32 -0
- package/dist/output/text/sync.js +5 -0
- package/dist/output/text/workflow-format.js +24 -203
- package/dist/output/text/workflow.js +1 -7
- package/dist/output/text.js +16 -17
- package/dist/registry/factory.js +4 -6
- package/dist/registry/origin-resolve.js +16 -27
- package/dist/registry/providers/skills-sh.js +3 -3
- package/dist/registry/providers/static-index.js +13 -23
- package/dist/registry/resolve.js +42 -7
- package/dist/registry/semver.js +34 -84
- package/dist/runtime.js +2 -23
- package/dist/scripts/akm-migrate-node.js +60290 -0
- package/dist/scripts/akm-migrate.js +59628 -0
- package/dist/setup/detect.js +42 -15
- package/dist/setup/registry-stash-loader.js +2 -2
- package/dist/setup/setup.js +236 -136
- package/dist/setup/steps/connection.js +7 -9
- package/dist/setup/steps/platforms.js +9 -9
- package/dist/setup/steps/semantic.js +15 -3
- package/dist/setup/steps/sources.js +12 -13
- package/dist/setup/steps/stashdir.js +2 -3
- package/dist/setup/steps/tasks.js +237 -120
- package/dist/sources/freshness.js +1 -1
- package/dist/sources/provider-factory.js +11 -17
- package/dist/sources/providers/filesystem.js +2 -3
- package/dist/sources/providers/git-install.js +278 -34
- package/dist/sources/providers/git-provider.js +25 -23
- package/dist/sources/providers/git-stash.js +395 -106
- package/dist/sources/providers/git.js +2 -2
- package/dist/sources/providers/npm.js +16 -19
- package/dist/sources/providers/provider-utils.js +7 -4
- package/dist/sources/providers/sync-from-ref.js +3 -9
- package/dist/sources/providers/website.js +6 -1
- package/dist/sources/resolve.js +6 -5
- package/dist/sources/snapshot-fetchers/bluesky.js +146 -0
- package/dist/sources/snapshot-fetchers/content-extract.js +566 -0
- package/dist/sources/snapshot-fetchers/fetcher-util.js +41 -0
- package/dist/sources/snapshot-fetchers/github.js +100 -0
- package/dist/sources/snapshot-fetchers/host-guard.js +291 -0
- package/dist/sources/snapshot-fetchers/registry.js +17 -1
- package/dist/sources/snapshot-fetchers/robots.js +348 -0
- package/dist/sources/snapshot-fetchers/rss.js +282 -0
- package/dist/sources/snapshot-fetchers/secret-seam.js +42 -0
- package/dist/sources/snapshot-fetchers/website-ingest.js +566 -268
- package/dist/sources/snapshot-fetchers/x.js +910 -0
- package/dist/storage/database.js +7 -0
- package/dist/storage/engines/sqlite-migrations.js +23 -111
- package/dist/storage/managed-db.js +2 -2
- package/dist/storage/repositories/canaries-repository.js +1 -1
- package/dist/storage/repositories/events-repository.js +27 -11
- package/dist/storage/repositories/improve-runs-repository.js +6 -12
- package/dist/storage/repositories/index-connection.js +17 -6
- package/dist/storage/repositories/index-entries-repository.js +151 -240
- package/dist/storage/repositories/index-entry-mapper.js +15 -11
- package/dist/storage/repositories/index-fts-repository.js +5 -2
- package/dist/storage/repositories/index-llm-cache-repository.js +0 -1
- package/dist/storage/repositories/index-meta-repository.js +2 -3
- package/dist/storage/repositories/index-schema.js +10 -25
- package/dist/storage/repositories/index-utility-repository.js +15 -28
- package/dist/storage/repositories/index-vec-repository.js +6 -1
- package/dist/storage/repositories/outcome-repository.js +119 -0
- package/dist/storage/repositories/proposals-repository.js +296 -59
- package/dist/storage/repositories/registry-cache.js +19 -0
- package/dist/storage/repositories/salience-repository.js +172 -0
- package/dist/storage/repositories/task-history-repository.js +15 -13
- package/dist/storage/repositories/workflow-runs-repository.js +52 -40
- package/dist/tasks/backends/cron.js +105 -15
- package/dist/tasks/backends/index.js +1 -1
- package/dist/tasks/backends/launchd.js +85 -38
- package/dist/tasks/backends/schtasks.js +135 -15
- package/dist/tasks/embedded.js +56 -40
- package/dist/tasks/parser.js +7 -157
- package/dist/tasks/resolve-akm-bin.js +137 -59
- package/dist/tasks/runner.js +79 -42
- package/dist/tasks/scheduler-invocation.js +220 -10
- package/dist/tasks/schema.js +24 -1
- package/dist/tasks/task-id.js +1 -3
- package/dist/tasks/validator.js +20 -6
- package/dist/workflows/authoring/authoring.js +94 -143
- package/dist/workflows/authoring/scope-key.js +1 -1
- package/dist/workflows/exec/frozen-judge.js +28 -2
- package/dist/workflows/exec/native-executor.js +77 -57
- package/dist/workflows/exec/param-secrets.js +9 -9
- package/dist/workflows/exec/run-workflow.js +133 -79
- package/dist/workflows/exec/step-work.js +219 -346
- package/dist/{migrate-storage-node.mjs → workflows/exec/unit-dispatch.js} +1 -5
- package/dist/workflows/ir/compile.js +141 -270
- package/dist/workflows/ir/freeze.js +40 -30
- package/dist/workflows/ir/params.js +135 -11
- package/dist/workflows/ir/plan-hash.js +1 -1
- package/dist/workflows/ir/schema.js +25 -26
- package/dist/workflows/parser.js +872 -307
- package/dist/workflows/program/expressions.js +20 -208
- package/dist/workflows/program/schema.js +7 -10
- package/dist/workflows/renderer.js +95 -68
- package/dist/workflows/resource-limits.js +2 -0
- package/dist/workflows/runtime/checkin.js +3 -3
- package/dist/workflows/runtime/plan-classifier.js +16 -75
- package/dist/workflows/runtime/runs.js +186 -127
- package/dist/workflows/runtime/unit-checkin.js +1 -1
- package/dist/workflows/runtime/unit-phases.js +2 -2
- package/dist/workflows/runtime/workflow-asset-loader.js +232 -83
- package/dist/workflows/schema.js +1 -11
- package/dist/workflows/validate-summary.js +30 -36
- package/dist/workflows/validator.js +21 -62
- package/docs/README.md +68 -0
- package/docs/migration/README.md +8 -0
- package/docs/migration/release-notes/0.7.0.md +11 -11
- package/docs/migration/release-notes/0.9.0.md +208 -27
- package/docs/migration/v0.7-to-v0.8.md +46 -47
- package/docs/migration/v0.8-to-v0.9.md +564 -208
- package/docs/migration/v0.9.0-troubleshooting.md +561 -0
- package/docs/reference/README.md +12 -0
- package/docs/reference/cli.md +2253 -0
- package/docs/reference/configuration.md +358 -0
- package/docs/reference/data-and-telemetry.md +105 -42
- package/docs/reference/workflows.md +647 -0
- package/package.json +22 -11
- package/schemas/akm-asset-envelope.json +93 -0
- package/schemas/akm-config.json +81 -128
- package/schemas/akm-workflow.json +74 -73
- package/dist/assets/tasks/core/backup.yml +0 -5
- package/dist/assets/tasks/graph-refresh-weekly.yml +0 -10
- package/dist/cli/config-migrate.js +0 -1806
- package/dist/cli/config-validate.js +0 -41
- package/dist/commands/backup-cli.js +0 -56
- package/dist/commands/bundle/bundle-cli.js +0 -68
- package/dist/commands/bundle/bundle.js +0 -219
- package/dist/commands/graph/graph-cli.js +0 -124
- package/dist/commands/graph/graph.js +0 -489
- package/dist/commands/improve/extract-watch.js +0 -140
- package/dist/commands/mv-cli.js +0 -1221
- package/dist/commands/sources/history.js +0 -201
- package/dist/commands/tasks/default-tasks.js +0 -186
- package/dist/core/migration-backup.js +0 -1234
- package/dist/indexer/usage/unmigrated-vaults-guard.js +0 -95
- package/dist/llm/memory-infer-impl.js +0 -138
- package/dist/migrate/legacy/config-source-migration.js +0 -223
- package/dist/migrate/legacy/content-migration.js +0 -305
- package/dist/migrate/legacy/legacy-layout.js +0 -779
- package/dist/migrate/legacy/legacy-paths.js +0 -25
- package/dist/migrate/legacy/legacy-stash-json.js +0 -72
- package/dist/migrate/legacy/proposal-fs-import.js +0 -168
- package/dist/migrate/legacy/task-target-ref-migration.js +0 -272
- package/dist/migrate/legacy/three-db-cutover.js +0 -841
- package/dist/migrate/legacy/workflow-migrations-bodies.js +0 -52
- package/dist/migrate/legacy/workflow-migrations-frozen.js +0 -21
- package/dist/migrate/legacy-ref-grammar.js +0 -214
- package/dist/output/shapes/distill.js +0 -14
- package/dist/output/shapes/history.js +0 -11
- package/dist/output/text/distill.js +0 -6
- package/dist/output/text/enable-disable.js +0 -8
- package/dist/output/text/history.js +0 -6
- package/dist/registry/build-index.js +0 -382
- package/dist/schemas/akm-config.json +0 -4704
- package/dist/schemas/akm-task.json +0 -87
- package/dist/schemas/akm-workflow.json +0 -372
- package/dist/scripts/migrate-storage.js +0 -3816
- package/dist/workflows/authoring/workflow-program-template.yaml +0 -31
- package/dist/workflows/cli.js +0 -53
- package/dist/workflows/exec/brief.js +0 -481
- package/dist/workflows/exec/report.js +0 -1460
- package/dist/workflows/exec/watch.js +0 -116
- package/dist/workflows/program/parser.js +0 -813
- package/dist/workflows/program/project.js +0 -104
|
@@ -2,30 +2,62 @@
|
|
|
2
2
|
// License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
3
3
|
// file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
4
4
|
/**
|
|
5
|
-
* `akm
|
|
6
|
-
* God Module shrinks; the `main.subCommands.
|
|
5
|
+
* `akm task` command family. Extracted verbatim from src/cli.ts (WS6) so the
|
|
6
|
+
* God Module shrinks; the `main.subCommands.task` key and every subcommand's
|
|
7
7
|
* args/output shape are byte-identical. Handlers whose body is a plain
|
|
8
8
|
* `runWithJsonErrors(...) + output(...)` are migrated to `defineJsonCommand`,
|
|
9
9
|
* which emits the same JSON envelope (stdout/stderr/exit-code) as the inline
|
|
10
|
-
* form. `
|
|
11
|
-
* task's own exit code via `process.
|
|
12
|
-
*
|
|
13
|
-
*
|
|
10
|
+
* form. `task run` keeps a plain `defineCommand` because it forwards the
|
|
11
|
+
* task's own exit code via `process.exitCode` (F4: not `process.exit()` —
|
|
12
|
+
* that would skip pending cleanup).
|
|
13
|
+
*
|
|
14
|
+
* 0.9 CLI overhaul (S6): the group was renamed from the plural `tasks` to the
|
|
15
|
+
* singular `task` — hard break, no alias. `init`/`enable`/`disable` are
|
|
16
|
+
* dropped: the default improve-schedule task set now ships as embedded
|
|
17
|
+
* templates under src/assets/tasks/improve/ (see src/tasks/embedded.ts),
|
|
18
|
+
* seeded through the interactive `akm setup` task-review step instead of a
|
|
19
|
+
* separate CLI command, and toggling a task's enabled state is a file edit +
|
|
20
|
+
* `task sync` (tasks-sync.test.ts already proves the flip path). Every
|
|
21
|
+
* subcommand (`add`/`run`/`history`/`sync`) shares one `--bundle <bundle>`
|
|
22
|
+
* axis (S8.4 ratified `task add`'s `--target` → `--bundle`; a later Gate-1
|
|
23
|
+
* fix reverted it to match `import`/`proposal accept`, splitting the
|
|
24
|
+
* write-target axis three-vs-one against `remember`/`clone`/`improve` — the
|
|
25
|
+
* final review re-applied the ratified rename here).
|
|
14
26
|
*/
|
|
15
27
|
import { defineCommand } from "citty";
|
|
28
|
+
import { getParsedInvocation } from "../../cli/invocation.js";
|
|
16
29
|
import { parsePositiveIntFlag } from "../../cli/parse-args.js";
|
|
17
|
-
import { defineGroupCommand, defineJsonCommand, output, runWithJsonErrors } from "../../cli/shared.js";
|
|
18
|
-
import {
|
|
19
|
-
import { akmTasksAdd, akmTasksDoctor, akmTasksHistory,
|
|
30
|
+
import { defineGroupCommand, defineJsonCommand, GLOBAL_OUTPUT_ARGS, output, runWithJsonErrors } from "../../cli/shared.js";
|
|
31
|
+
import { UsageError } from "../../core/errors.js";
|
|
32
|
+
import { akmTasksAdd, akmTasksDoctor, akmTasksHistory, akmTasksRun, akmTasksSync } from "./tasks.js";
|
|
33
|
+
/** Shared `--bundle <bundle>` arg wired onto every task subcommand. */
|
|
34
|
+
const bundleArg = {
|
|
35
|
+
bundle: {
|
|
36
|
+
type: "string",
|
|
37
|
+
description: "Bundle to operate on (defaults to the primary/default bundle)",
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* `--target` was renamed to `--bundle` on `task` in 0.9 (S8.4). citty is
|
|
42
|
+
* non-strict, so the retired spelling is silently absorbed rather than
|
|
43
|
+
* rejected — reject it explicitly instead (mirrors improve-cli.ts /
|
|
44
|
+
* remember-cli.ts).
|
|
45
|
+
*/
|
|
46
|
+
function rejectRetiredTaskTargetFlag() {
|
|
47
|
+
if (!getParsedInvocation().hasFlag("--target"))
|
|
48
|
+
return;
|
|
49
|
+
throw new UsageError("`akm task --target` was renamed to `--bundle` in 0.9. Use `--bundle <name>` instead.", "INVALID_FLAG_VALUE");
|
|
50
|
+
}
|
|
20
51
|
const tasksAddCommand = defineJsonCommand({
|
|
21
52
|
meta: { name: "add", description: "Register a new scheduled task and install it in the OS scheduler" },
|
|
22
53
|
args: {
|
|
23
54
|
id: { type: "positional", description: "Task id (used as filename and scheduler entry)", required: true },
|
|
24
55
|
schedule: { type: "string", description: 'Cron-style schedule, e.g. "0 9 * * *" or "@daily"', required: true },
|
|
56
|
+
...bundleArg,
|
|
25
57
|
workflow: { type: "string", description: "Workflow ref to invoke (e.g. workflows/my-flow)" },
|
|
26
58
|
prompt: {
|
|
27
59
|
type: "string",
|
|
28
|
-
description: "Prompt for the configured agent harness — inline text, an asset ref like
|
|
60
|
+
description: "Prompt for the configured agent harness — inline text, an asset ref like agents/foo, or ./path.md",
|
|
29
61
|
},
|
|
30
62
|
command: {
|
|
31
63
|
type: "string",
|
|
@@ -41,11 +73,18 @@ const tasksAddCommand = defineJsonCommand({
|
|
|
41
73
|
tags: { type: "string", description: "Comma-separated tags" },
|
|
42
74
|
disabled: { type: "boolean", description: "Register but leave disabled in the OS scheduler", default: false },
|
|
43
75
|
force: { type: "boolean", description: "Overwrite an existing task with the same id", default: false },
|
|
76
|
+
rebind: {
|
|
77
|
+
type: "boolean",
|
|
78
|
+
description: "Explicitly permit scheduler creation from this ineligible local invocation",
|
|
79
|
+
default: false,
|
|
80
|
+
},
|
|
44
81
|
},
|
|
45
82
|
async run({ args }) {
|
|
83
|
+
rejectRetiredTaskTargetFlag();
|
|
46
84
|
const result = await akmTasksAdd({
|
|
47
85
|
id: args.id,
|
|
48
86
|
schedule: args.schedule,
|
|
87
|
+
target: args.bundle,
|
|
49
88
|
workflow: args.workflow,
|
|
50
89
|
prompt: args.prompt,
|
|
51
90
|
command: args.command,
|
|
@@ -64,90 +103,39 @@ const tasksAddCommand = defineJsonCommand({
|
|
|
64
103
|
: undefined,
|
|
65
104
|
disabled: args.disabled === true,
|
|
66
105
|
force: args.force === true,
|
|
106
|
+
rebind: args.rebind === true,
|
|
67
107
|
});
|
|
68
|
-
output("
|
|
69
|
-
},
|
|
70
|
-
});
|
|
71
|
-
const tasksInitCommand = defineJsonCommand({
|
|
72
|
-
meta: {
|
|
73
|
-
name: "init",
|
|
74
|
-
description: "Idempotently register the default improve task set (skips when CI=true)",
|
|
75
|
-
},
|
|
76
|
-
args: {
|
|
77
|
-
server: {
|
|
78
|
-
type: "boolean",
|
|
79
|
-
description: "Treat this as a server install (enables the nightly sweep). Defaults to platform detection.",
|
|
80
|
-
},
|
|
81
|
-
laptop: {
|
|
82
|
-
type: "boolean",
|
|
83
|
-
description: "Treat this as a laptop install (leaves the nightly sweep disabled).",
|
|
84
|
-
},
|
|
85
|
-
},
|
|
86
|
-
async run({ args }) {
|
|
87
|
-
const serverInstall = args.server === true ? true : args.laptop === true ? false : detectServerDefault();
|
|
88
|
-
const result = await registerDefaultTasks({ serverInstall });
|
|
89
|
-
output("tasks-init", result);
|
|
90
|
-
},
|
|
91
|
-
});
|
|
92
|
-
const tasksListCommand = defineJsonCommand({
|
|
93
|
-
meta: { name: "list", description: "List scheduled tasks in the stash" },
|
|
94
|
-
async run() {
|
|
95
|
-
const result = await akmTasksList();
|
|
96
|
-
output("tasks-list", result);
|
|
97
|
-
},
|
|
98
|
-
});
|
|
99
|
-
const tasksShowCommand = defineJsonCommand({
|
|
100
|
-
meta: { name: "show", description: "Show a parsed task definition" },
|
|
101
|
-
args: { id: { type: "positional", description: "Task id or tasks/<id>", required: true } },
|
|
102
|
-
async run({ args }) {
|
|
103
|
-
const { id } = parseTaskRef(args.id);
|
|
104
|
-
const result = await akmTasksShow(id);
|
|
105
|
-
output("tasks-show", result);
|
|
108
|
+
output("task-add", result);
|
|
106
109
|
},
|
|
107
110
|
});
|
|
108
|
-
const tasksRemoveCommand = defineJsonCommand({
|
|
109
|
-
meta: { name: "remove", description: "Delete a task file and uninstall it from the OS scheduler" },
|
|
110
|
-
args: { id: { type: "positional", description: "Task id", required: true } },
|
|
111
|
-
async run({ args }) {
|
|
112
|
-
const { id } = parseTaskRef(args.id);
|
|
113
|
-
const result = await akmTasksRemove(id);
|
|
114
|
-
output("tasks-remove", result);
|
|
115
|
-
},
|
|
116
|
-
});
|
|
117
|
-
function makeTasksToggleCommand(enabled) {
|
|
118
|
-
const verb = enabled ? "enable" : "disable";
|
|
119
|
-
const description = enabled
|
|
120
|
-
? "Enable a previously-disabled task"
|
|
121
|
-
: "Disable a task in the OS scheduler without removing the file";
|
|
122
|
-
return defineJsonCommand({
|
|
123
|
-
meta: { name: verb, description },
|
|
124
|
-
args: { id: { type: "positional", description: "Task id", required: true } },
|
|
125
|
-
async run({ args }) {
|
|
126
|
-
const { id } = parseTaskRef(args.id);
|
|
127
|
-
const result = await akmTasksSetEnabled(id, enabled);
|
|
128
|
-
output(`tasks-${verb}`, result);
|
|
129
|
-
},
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
|
-
const tasksEnableCommand = makeTasksToggleCommand(true);
|
|
133
|
-
const tasksDisableCommand = makeTasksToggleCommand(false);
|
|
134
111
|
const tasksRunCommand = defineCommand({
|
|
135
112
|
meta: {
|
|
136
113
|
name: "run",
|
|
137
114
|
description: "Execute a task now (this is what cron / launchd / schtasks invoke at the scheduled time)",
|
|
138
115
|
},
|
|
116
|
+
// Raw defineCommand (it forwards the task's exit code), so the global output
|
|
117
|
+
// flags are declared here or `--format md nightly` loses the task id.
|
|
139
118
|
args: {
|
|
119
|
+
...GLOBAL_OUTPUT_ARGS,
|
|
140
120
|
id: { type: "positional", description: "Task id", required: true },
|
|
121
|
+
...bundleArg,
|
|
141
122
|
scheduled: { type: "boolean", description: "Internal marker for scheduler-generated runs", default: false },
|
|
142
123
|
},
|
|
143
124
|
async run({ args }) {
|
|
144
125
|
await runWithJsonErrors(async () => {
|
|
126
|
+
rejectRetiredTaskTargetFlag();
|
|
145
127
|
const envelope = await akmTasksRun(args.id, {
|
|
146
128
|
scheduled: args.scheduled === true,
|
|
129
|
+
...(args.bundle !== undefined ? { target: args.bundle } : {}),
|
|
147
130
|
});
|
|
148
|
-
output("
|
|
131
|
+
output("task-run", envelope);
|
|
132
|
+
// F4: was `process.exit(envelope.exitCode)`, terminating synchronously
|
|
133
|
+
// and skipping any pending cleanup (this command forwards a run task's
|
|
134
|
+
// own exit code, so it can be any value, not just 0/1). output() has
|
|
135
|
+
// already run and this is the last statement, so process.exitCode +
|
|
136
|
+
// the implicit return is equivalent without the synchronous cutoff.
|
|
149
137
|
if (envelope.exitCode !== 0)
|
|
150
|
-
process.
|
|
138
|
+
process.exitCode = envelope.exitCode;
|
|
151
139
|
});
|
|
152
140
|
},
|
|
153
141
|
});
|
|
@@ -156,21 +144,32 @@ const tasksHistoryCommand = defineJsonCommand({
|
|
|
156
144
|
args: {
|
|
157
145
|
id: { type: "string", description: "Filter to one task id" },
|
|
158
146
|
limit: { type: "string", description: "Maximum rows to return (default 50)" },
|
|
147
|
+
...bundleArg,
|
|
159
148
|
},
|
|
160
149
|
async run({ args }) {
|
|
150
|
+
rejectRetiredTaskTargetFlag();
|
|
161
151
|
const limit = parsePositiveIntFlag(args.limit ?? undefined);
|
|
162
|
-
const result = await akmTasksHistory({ id: args.id, limit });
|
|
163
|
-
output("
|
|
152
|
+
const result = await akmTasksHistory({ id: args.id, limit, target: args.bundle });
|
|
153
|
+
output("task-history", result);
|
|
164
154
|
},
|
|
165
155
|
});
|
|
166
156
|
const tasksSyncCommand = defineJsonCommand({
|
|
167
157
|
meta: {
|
|
168
158
|
name: "sync",
|
|
169
|
-
description: "Reconcile the on-disk task files with the OS scheduler",
|
|
159
|
+
description: "Reconcile the on-disk task files of a bundle with the OS scheduler",
|
|
170
160
|
},
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
161
|
+
args: {
|
|
162
|
+
...bundleArg,
|
|
163
|
+
rebind: {
|
|
164
|
+
type: "boolean",
|
|
165
|
+
description: "Replace installed bindings with the current invocation",
|
|
166
|
+
default: false,
|
|
167
|
+
},
|
|
168
|
+
},
|
|
169
|
+
async run({ args }) {
|
|
170
|
+
rejectRetiredTaskTargetFlag();
|
|
171
|
+
const result = await akmTasksSync({}, args.bundle, { rebind: args.rebind === true });
|
|
172
|
+
output("task-sync", result);
|
|
174
173
|
},
|
|
175
174
|
});
|
|
176
175
|
const tasksDoctorCommand = defineJsonCommand({
|
|
@@ -178,32 +177,27 @@ const tasksDoctorCommand = defineJsonCommand({
|
|
|
178
177
|
name: "doctor",
|
|
179
178
|
description: "Report the active scheduler backend, akm bin path, log dir, and supported schedule subset",
|
|
180
179
|
},
|
|
180
|
+
args: {},
|
|
181
181
|
async run() {
|
|
182
182
|
const result = await akmTasksDoctor();
|
|
183
|
-
output("
|
|
183
|
+
output("task-doctor", result);
|
|
184
184
|
},
|
|
185
185
|
});
|
|
186
|
-
export const
|
|
186
|
+
export const taskCommand = defineGroupCommand({
|
|
187
187
|
meta: {
|
|
188
|
-
name: "
|
|
189
|
-
|
|
190
|
-
description: "Schedule version-2 workflows, prompts, or commands via the OS-native scheduler (cron / launchd / schtasks)",
|
|
188
|
+
name: "task",
|
|
189
|
+
description: "Schedule recurring commands, prompts, and workflows through the OS scheduler (cron / launchd / schtasks)",
|
|
191
190
|
},
|
|
192
191
|
subCommands: {
|
|
193
192
|
add: tasksAddCommand,
|
|
194
|
-
init: tasksInitCommand,
|
|
195
|
-
list: tasksListCommand,
|
|
196
|
-
show: tasksShowCommand,
|
|
197
|
-
remove: tasksRemoveCommand,
|
|
198
|
-
enable: tasksEnableCommand,
|
|
199
|
-
disable: tasksDisableCommand,
|
|
200
193
|
run: tasksRunCommand,
|
|
201
194
|
history: tasksHistoryCommand,
|
|
202
195
|
sync: tasksSyncCommand,
|
|
203
196
|
doctor: tasksDoctorCommand,
|
|
204
197
|
},
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
198
|
+
// Bare `akm task` reports scheduler diagnostics. Inspection of individual
|
|
199
|
+
// tasks moved to the generic `akm search` / `akm show <bundle//tasks/id>`.
|
|
200
|
+
// No `defaultRun`: bare `akm task` is a usage error (exit 2), the canonical
|
|
201
|
+
// bare-group behavior — owner ruling 12. Run `akm task doctor` for what the
|
|
202
|
+
// bare form used to run.
|
|
209
203
|
});
|