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.
Files changed (450) hide show
  1. package/CHANGELOG.md +1063 -44
  2. package/README.md +51 -25
  3. package/SECURITY.md +14 -1
  4. package/STABILITY.md +497 -0
  5. package/dist/akm +148 -35
  6. package/dist/{akm-migrate-storage → akm-migrate} +6 -9
  7. package/dist/assets/hints/cli-hints-full.md +223 -95
  8. package/dist/assets/hints/cli-hints-short.md +85 -22
  9. package/dist/assets/improve-strategies/default.json +1 -1
  10. package/dist/assets/improve-strategies/reflect-distill.json +1 -1
  11. package/dist/assets/prompts/memory-infer-user.md +2 -3
  12. package/dist/assets/stash-skeleton/README.md +6 -5
  13. package/dist/assets/stash-skeleton/facts/conventions/assets/agent.md +2 -0
  14. package/dist/assets/stash-skeleton/facts/conventions/assets/command.md +2 -0
  15. package/dist/assets/stash-skeleton/facts/conventions/assets/fact.md +2 -0
  16. package/dist/assets/stash-skeleton/facts/conventions/assets/knowledge.md +2 -0
  17. package/dist/assets/stash-skeleton/facts/conventions/assets/lesson.md +2 -0
  18. package/dist/assets/stash-skeleton/facts/conventions/assets/memory.md +2 -0
  19. package/dist/assets/stash-skeleton/facts/conventions/assets/script.md +2 -0
  20. package/dist/assets/stash-skeleton/facts/conventions/assets/skill.md +2 -0
  21. package/dist/assets/stash-skeleton/facts/conventions/assets/workflow.md +2 -0
  22. package/dist/assets/stash-skeleton/facts/conventions/backlinks.md +2 -0
  23. package/dist/assets/stash-skeleton/facts/conventions/domains.md +2 -0
  24. package/dist/assets/stash-skeleton/facts/conventions/organization.md +20 -9
  25. package/dist/assets/tasks/core/extract.yml +1 -1
  26. package/dist/assets/tasks/core/version-check.yml +1 -1
  27. package/dist/assets/tasks/improve/akm-graph-refresh-weekly.yml +5 -0
  28. package/dist/assets/tasks/improve/akm-improve-catchup.yml +8 -0
  29. package/dist/assets/tasks/improve/akm-improve-consolidate.yml +5 -0
  30. package/dist/assets/tasks/improve/akm-improve-frequent.yml +5 -0
  31. package/dist/assets/tasks/improve/akm-improve-nightly.yml +5 -0
  32. package/dist/assets/templates/html/health.html +1 -3
  33. package/dist/assets/workflows/workflow-template.md +32 -15
  34. package/dist/cli/invocation.js +40 -15
  35. package/dist/cli/parse-args.js +0 -22
  36. package/dist/cli/retired-commands.js +121 -0
  37. package/dist/cli/shared.js +154 -22
  38. package/dist/cli/unknown-flags.js +236 -0
  39. package/dist/cli-node.mjs +2 -1
  40. package/dist/cli.js +696 -258
  41. package/dist/commands/agent/agent-dispatch.js +14 -3
  42. package/dist/commands/agent/contribute-cli.js +73 -88
  43. package/dist/commands/completions.js +79 -22
  44. package/dist/commands/config-cli.js +17 -150
  45. package/dist/commands/env/env-cli.js +59 -143
  46. package/dist/commands/env/env.js +12 -163
  47. package/dist/commands/env/marker-path.js +6 -0
  48. package/dist/commands/env/secret-cli.js +36 -66
  49. package/dist/commands/env/secret.js +24 -57
  50. package/dist/commands/feedback-cli.js +141 -87
  51. package/dist/commands/health/accept-rate.js +58 -0
  52. package/dist/commands/health/advisories.js +3 -4
  53. package/dist/commands/health/checks.js +85 -23
  54. package/dist/commands/health/html-report.js +7 -10
  55. package/dist/commands/health/improve-metrics.js +25 -83
  56. package/dist/commands/health/md-report.js +5 -9
  57. package/dist/commands/health/metrics.js +62 -20
  58. package/dist/commands/health/renderers.js +47 -0
  59. package/dist/commands/health/report-view-model.js +4 -5
  60. package/dist/commands/health/stash-exposure.js +1 -1
  61. package/dist/commands/health/surfaces.js +3 -48
  62. package/dist/commands/health/task-runs.js +3 -67
  63. package/dist/commands/health/types-improve.js +7 -0
  64. package/dist/commands/health.js +99 -28
  65. package/dist/commands/improve/anti-collapse.js +2 -2
  66. package/dist/commands/improve/autonomy-gate.js +68 -0
  67. package/dist/commands/improve/collapse-detector.js +41 -40
  68. package/dist/commands/improve/consolidate/eligibility.js +1 -23
  69. package/dist/commands/improve/consolidate/merge.js +4 -0
  70. package/dist/commands/improve/consolidate.js +140 -1000
  71. package/dist/commands/improve/distill/promote-memory.js +12 -12
  72. package/dist/commands/improve/distill/quality-gate.js +6 -6
  73. package/dist/commands/improve/distill.js +58 -69
  74. package/dist/commands/improve/eligibility.js +105 -57
  75. package/dist/commands/improve/extract-cli.js +14 -133
  76. package/dist/commands/improve/improve-cli.js +98 -114
  77. package/dist/commands/improve/improve-result-file.js +1 -28
  78. package/dist/commands/improve/improve-strategies.js +8 -5
  79. package/dist/commands/improve/improve.js +128 -91
  80. package/dist/commands/improve/loop-stages.js +182 -20
  81. package/dist/commands/improve/memory/derived-ref.js +45 -43
  82. package/dist/commands/improve/memory/memory-belief.js +1 -1
  83. package/dist/commands/improve/memory/memory-contradiction-detect.js +4 -12
  84. package/dist/commands/improve/memory/memory-improve.js +6 -5
  85. package/dist/commands/improve/outcome-loop.js +22 -65
  86. package/dist/commands/improve/preparation.js +114 -123
  87. package/dist/commands/improve/proactive-maintenance.js +2 -5
  88. package/dist/commands/improve/reflect.js +56 -160
  89. package/dist/commands/improve/salience.js +11 -122
  90. package/dist/commands/improve/source-identity.js +10 -38
  91. package/dist/commands/lint/base-linter.js +20 -124
  92. package/dist/commands/lint/env-key-rules.js +31 -47
  93. package/dist/commands/lint/index.js +249 -43
  94. package/dist/commands/{events.js → log.js} +33 -38
  95. package/dist/commands/migrate-cli.js +92 -12
  96. package/dist/commands/migration-tool.js +46 -0
  97. package/dist/commands/observability-cli.js +70 -209
  98. package/dist/commands/proposal/drain.js +101 -29
  99. package/dist/commands/proposal/proposal-cli.js +76 -48
  100. package/dist/commands/proposal/proposal.js +54 -18
  101. package/dist/commands/proposal/propose-cli.js +88 -0
  102. package/dist/commands/proposal/propose.js +23 -15
  103. package/dist/commands/proposal/repository.js +701 -278
  104. package/dist/commands/proposal/validators/proposal-quality-validators.js +2 -8
  105. package/dist/commands/proposal/validators/proposal-validators.js +55 -7
  106. package/dist/commands/proposal/validators/proposals.js +4 -7
  107. package/dist/commands/read/curate.js +34 -53
  108. package/dist/commands/read/knowledge.js +150 -95
  109. package/dist/commands/read/registry-search.js +2 -2
  110. package/dist/commands/read/remember-cli.js +42 -15
  111. package/dist/commands/read/search-cli.js +180 -78
  112. package/dist/commands/read/search.js +58 -43
  113. package/dist/commands/read/show.js +197 -141
  114. package/dist/commands/registry-cli.js +12 -51
  115. package/dist/commands/remember.js +14 -57
  116. package/dist/commands/sources/add-cli.js +100 -31
  117. package/dist/commands/sources/bundle-cli.js +166 -0
  118. package/dist/commands/sources/bundle-config-ops.js +7 -2
  119. package/dist/commands/sources/info.js +18 -5
  120. package/dist/commands/sources/init.js +12 -12
  121. package/dist/commands/sources/installed-stashes.js +382 -98
  122. package/dist/commands/sources/schema-repair.js +3 -2
  123. package/dist/commands/sources/self-update.js +131 -38
  124. package/dist/commands/sources/source-add.js +72 -17
  125. package/dist/commands/sources/source-clone.js +129 -45
  126. package/dist/commands/sources/source-manage.js +43 -23
  127. package/dist/commands/sources/sources-cli.js +57 -208
  128. package/dist/commands/sources/stash-cli.js +46 -53
  129. package/dist/commands/tasks/tasks-cli.js +91 -97
  130. package/dist/commands/tasks/tasks.js +276 -421
  131. package/dist/commands/workflow-cli.js +175 -450
  132. package/dist/core/adapter/adapters/akm-adapter.js +47 -28
  133. package/dist/core/adapter/adapters/akm-lint.js +42 -27
  134. package/dist/core/adapter/adapters/akm-metadata.js +15 -44
  135. package/dist/core/adapter/adapters/akm-task-adapter.js +15 -13
  136. package/dist/core/adapter/adapters/akm-workflow-adapter.js +55 -71
  137. package/dist/core/adapter/adapters/dotenv-adapter.js +1 -1
  138. package/dist/core/adapter/adapters/generic-files-adapter.js +2 -0
  139. package/dist/core/adapter/adapters/index.js +6 -6
  140. package/dist/core/adapter/adapters/llm-wiki-adapter.js +14 -8
  141. package/dist/core/adapter/adapters/okf-adapter.js +187 -19
  142. package/dist/core/adapter/adapters/shared.js +3 -19
  143. package/dist/core/adapter/adapters/tool-dir-shared.js +8 -3
  144. package/dist/core/adapter/adapters/website-snapshot-adapter.js +1 -0
  145. package/dist/core/adapter/detect-adapter.js +17 -0
  146. package/dist/core/adapter/recognize-match.js +6 -4
  147. package/dist/core/adapter/validate-context.js +214 -0
  148. package/dist/core/asset/akm-markdown.js +63 -0
  149. package/dist/core/asset/asset-placement.js +20 -6
  150. package/dist/core/asset/asset-ref.js +11 -9
  151. package/dist/core/asset/frontmatter-lint.js +30 -0
  152. package/dist/core/asset/frontmatter.js +37 -9
  153. package/dist/core/asset/markdown.js +40 -51
  154. package/dist/core/asset/resolve-ref.js +89 -18
  155. package/dist/core/asset/stash-meta.js +1 -1
  156. package/dist/core/bundle-id.js +51 -0
  157. package/dist/core/common.js +152 -38
  158. package/dist/core/config/config-io.js +12 -1
  159. package/dist/core/config/config-schema.js +35 -8
  160. package/dist/core/config/config-sources.js +55 -11
  161. package/dist/core/config/config-walker.js +25 -9
  162. package/dist/core/config/config.js +9 -48
  163. package/dist/core/config/experimental.js +21 -0
  164. package/dist/core/config/schema/embedding.js +5 -1
  165. package/dist/core/config/schema/experimental.js +30 -0
  166. package/dist/core/config/schema/improve-processes.js +0 -6
  167. package/dist/core/config/schema/improve.js +21 -3
  168. package/dist/core/config/schema/index-config.js +8 -15
  169. package/dist/core/config/schema/output.js +4 -1
  170. package/dist/core/config/schema/setup.js +9 -18
  171. package/dist/core/config/schema/sources-bundles.js +49 -33
  172. package/dist/core/config/schema/workflow.js +3 -3
  173. package/dist/core/env-secret-ref.js +76 -46
  174. package/dist/core/errors.js +18 -12
  175. package/dist/core/events.js +46 -128
  176. package/dist/core/file-change.js +6 -5
  177. package/dist/core/fs-txn.js +83 -7
  178. package/dist/core/git-message.js +2 -2
  179. package/dist/core/improve-result.js +1 -100
  180. package/dist/core/lesson-lint.js +1 -17
  181. package/dist/core/logs-db.js +2 -1
  182. package/dist/core/migration-operation.js +16 -0
  183. package/dist/core/mutation-target.js +78 -0
  184. package/dist/core/parse.js +4 -1
  185. package/dist/core/paths.js +17 -20
  186. package/dist/core/recognition-util.js +12 -14
  187. package/dist/core/redaction.js +34 -0
  188. package/dist/core/standards/resolve-standards-context.js +2 -14
  189. package/dist/core/standards/resolve-stash-standards.js +2 -2
  190. package/dist/core/standards/resolve-type-conventions.js +2 -2
  191. package/dist/core/state/migrations.js +41 -18
  192. package/dist/core/state-db.js +5 -14
  193. package/dist/core/structured.js +1 -1
  194. package/dist/core/subprocess.js +6 -4
  195. package/dist/core/text-truncation.js +9 -5
  196. package/dist/core/type-presentation.js +3 -3
  197. package/dist/core/warn.js +0 -3
  198. package/dist/core/write-source.js +771 -95
  199. package/dist/indexer/bundle-identity-guard.js +3 -2
  200. package/dist/indexer/db/graph-db.js +0 -24
  201. package/dist/indexer/ensure-index.js +1 -0
  202. package/dist/indexer/graph/graph-boost.js +9 -34
  203. package/dist/indexer/graph/graph-extraction.js +8 -5
  204. package/dist/indexer/index-writer-lock.js +53 -17
  205. package/dist/indexer/index-written-assets.js +16 -22
  206. package/dist/indexer/indexer.js +497 -239
  207. package/dist/indexer/installations.js +14 -96
  208. package/dist/indexer/passes/dir-staleness.js +16 -9
  209. package/dist/indexer/passes/memory-inference.js +11 -9
  210. package/dist/indexer/passes/metadata.js +113 -47
  211. package/dist/indexer/scan/doc-to-entry.js +38 -1
  212. package/dist/indexer/scan/drain-dir.js +13 -23
  213. package/dist/indexer/search/db-search.js +99 -54
  214. package/dist/indexer/search/fts-query.js +47 -24
  215. package/dist/indexer/search/ranking-contributors.js +42 -20
  216. package/dist/indexer/search/ranking.js +18 -99
  217. package/dist/indexer/search/search-fields.js +7 -2
  218. package/dist/indexer/search/search-source.js +82 -93
  219. package/dist/indexer/usage/usage-events.js +0 -89
  220. package/dist/indexer/walk/file-context.js +2 -1
  221. package/dist/indexer/walk/matchers.js +30 -43
  222. package/dist/indexer/walk/path-resolver.js +7 -2
  223. package/dist/indexer/walk/walker.js +38 -12
  224. package/dist/integrations/agent/builders.js +0 -6
  225. package/dist/integrations/agent/config.js +2 -2
  226. package/dist/integrations/agent/detect.js +49 -19
  227. package/dist/integrations/agent/engine-fallback.js +76 -0
  228. package/dist/integrations/agent/profiles.js +14 -0
  229. package/dist/integrations/agent/prompts.js +12 -8
  230. package/dist/integrations/agent/runner-dispatch.js +4 -2
  231. package/dist/integrations/agent/runner.js +0 -1
  232. package/dist/integrations/agent/spawn.js +5 -6
  233. package/dist/integrations/github.js +1 -1
  234. package/dist/integrations/harnesses/aider/agent-builder.js +6 -4
  235. package/dist/integrations/harnesses/amazonq/agent-builder.js +7 -4
  236. package/dist/integrations/harnesses/claude/session-log.js +0 -10
  237. package/dist/integrations/harnesses/codex/agent-builder.js +5 -2
  238. package/dist/integrations/harnesses/copilot/agent-builder.js +5 -3
  239. package/dist/integrations/harnesses/gemini/agent-builder.js +5 -3
  240. package/dist/integrations/harnesses/index.js +3 -7
  241. package/dist/integrations/harnesses/opencode/agent-builder.js +21 -2
  242. package/dist/integrations/harnesses/opencode/session-log.js +0 -15
  243. package/dist/integrations/harnesses/opencode-sdk/sdk-runner.js +13 -4
  244. package/dist/integrations/harnesses/openhands/agent-builder.js +9 -6
  245. package/dist/integrations/harnesses/pi/agent-builder.js +6 -4
  246. package/dist/integrations/lockfile.js +101 -6
  247. package/dist/integrations/session-logs/index.js +3 -28
  248. package/dist/llm/client.js +136 -100
  249. package/dist/llm/embedders/remote.js +13 -5
  250. package/dist/llm/feature-gate.js +4 -12
  251. package/dist/llm/graph-extract.js +5 -11
  252. package/dist/llm/memory-infer.js +144 -1
  253. package/dist/llm/metadata-enhance.js +5 -7
  254. package/dist/llm/structured-call.js +1 -1
  255. package/dist/llm/usage-persist.js +26 -5
  256. package/dist/llm/usage-telemetry.js +25 -2
  257. package/dist/output/cli-hints.js +1 -2
  258. package/dist/output/context.js +22 -7
  259. package/dist/output/format-exempt.js +80 -0
  260. package/dist/output/generic-render.js +259 -0
  261. package/dist/output/render-registry.js +57 -0
  262. package/dist/output/renderers.js +14 -36
  263. package/dist/output/shapes/curate.js +10 -1
  264. package/dist/output/shapes/events.js +12 -7
  265. package/dist/output/shapes/helpers.js +56 -83
  266. package/dist/output/shapes/migrate.js +8 -0
  267. package/dist/output/shapes/passthrough.js +7 -41
  268. package/dist/output/shapes/proposal/producer.js +15 -7
  269. package/dist/output/shapes.js +2 -9
  270. package/dist/output/text/{init.js → bundle-create.js} +3 -1
  271. package/dist/output/text/bundle-show.js +7 -0
  272. package/dist/output/text/command-format.js +164 -96
  273. package/dist/output/text/env.js +1 -3
  274. package/dist/output/text/events.js +8 -7
  275. package/dist/output/text/health-format.js +103 -0
  276. package/dist/output/text/health.js +7 -0
  277. package/dist/output/text/helpers.js +10 -8
  278. package/dist/output/text/lint-format.js +43 -0
  279. package/dist/output/text/{save.js → lint.js} +2 -2
  280. package/dist/output/text/migrate.js +88 -0
  281. package/dist/output/text/proposal/producer.js +4 -2
  282. package/dist/output/text/proposal-format.js +44 -72
  283. package/dist/output/text/registry-commands.js +1 -2
  284. package/dist/output/text/show-directives.js +15 -7
  285. package/dist/output/text/status-list.js +32 -0
  286. package/dist/output/text/sync.js +5 -0
  287. package/dist/output/text/workflow-format.js +24 -203
  288. package/dist/output/text/workflow.js +1 -7
  289. package/dist/output/text.js +16 -17
  290. package/dist/registry/factory.js +4 -6
  291. package/dist/registry/origin-resolve.js +16 -27
  292. package/dist/registry/providers/skills-sh.js +3 -3
  293. package/dist/registry/providers/static-index.js +13 -23
  294. package/dist/registry/resolve.js +42 -7
  295. package/dist/registry/semver.js +34 -84
  296. package/dist/runtime.js +2 -23
  297. package/dist/scripts/akm-migrate-node.js +60290 -0
  298. package/dist/scripts/akm-migrate.js +59628 -0
  299. package/dist/setup/detect.js +42 -15
  300. package/dist/setup/registry-stash-loader.js +2 -2
  301. package/dist/setup/setup.js +236 -136
  302. package/dist/setup/steps/connection.js +7 -9
  303. package/dist/setup/steps/platforms.js +9 -9
  304. package/dist/setup/steps/semantic.js +15 -3
  305. package/dist/setup/steps/sources.js +12 -13
  306. package/dist/setup/steps/stashdir.js +2 -3
  307. package/dist/setup/steps/tasks.js +237 -120
  308. package/dist/sources/freshness.js +1 -1
  309. package/dist/sources/provider-factory.js +11 -17
  310. package/dist/sources/providers/filesystem.js +2 -3
  311. package/dist/sources/providers/git-install.js +278 -34
  312. package/dist/sources/providers/git-provider.js +25 -23
  313. package/dist/sources/providers/git-stash.js +395 -106
  314. package/dist/sources/providers/git.js +2 -2
  315. package/dist/sources/providers/npm.js +16 -19
  316. package/dist/sources/providers/provider-utils.js +7 -4
  317. package/dist/sources/providers/sync-from-ref.js +3 -9
  318. package/dist/sources/providers/website.js +6 -1
  319. package/dist/sources/resolve.js +6 -5
  320. package/dist/sources/snapshot-fetchers/bluesky.js +146 -0
  321. package/dist/sources/snapshot-fetchers/content-extract.js +566 -0
  322. package/dist/sources/snapshot-fetchers/fetcher-util.js +41 -0
  323. package/dist/sources/snapshot-fetchers/github.js +100 -0
  324. package/dist/sources/snapshot-fetchers/host-guard.js +291 -0
  325. package/dist/sources/snapshot-fetchers/registry.js +17 -1
  326. package/dist/sources/snapshot-fetchers/robots.js +348 -0
  327. package/dist/sources/snapshot-fetchers/rss.js +282 -0
  328. package/dist/sources/snapshot-fetchers/secret-seam.js +42 -0
  329. package/dist/sources/snapshot-fetchers/website-ingest.js +566 -268
  330. package/dist/sources/snapshot-fetchers/x.js +910 -0
  331. package/dist/storage/database.js +7 -0
  332. package/dist/storage/engines/sqlite-migrations.js +23 -111
  333. package/dist/storage/managed-db.js +2 -2
  334. package/dist/storage/repositories/canaries-repository.js +1 -1
  335. package/dist/storage/repositories/events-repository.js +27 -11
  336. package/dist/storage/repositories/improve-runs-repository.js +6 -12
  337. package/dist/storage/repositories/index-connection.js +17 -6
  338. package/dist/storage/repositories/index-entries-repository.js +151 -240
  339. package/dist/storage/repositories/index-entry-mapper.js +15 -11
  340. package/dist/storage/repositories/index-fts-repository.js +5 -2
  341. package/dist/storage/repositories/index-llm-cache-repository.js +0 -1
  342. package/dist/storage/repositories/index-meta-repository.js +2 -3
  343. package/dist/storage/repositories/index-schema.js +10 -25
  344. package/dist/storage/repositories/index-utility-repository.js +15 -28
  345. package/dist/storage/repositories/index-vec-repository.js +6 -1
  346. package/dist/storage/repositories/outcome-repository.js +119 -0
  347. package/dist/storage/repositories/proposals-repository.js +296 -59
  348. package/dist/storage/repositories/registry-cache.js +19 -0
  349. package/dist/storage/repositories/salience-repository.js +172 -0
  350. package/dist/storage/repositories/task-history-repository.js +15 -13
  351. package/dist/storage/repositories/workflow-runs-repository.js +52 -40
  352. package/dist/tasks/backends/cron.js +105 -15
  353. package/dist/tasks/backends/index.js +1 -1
  354. package/dist/tasks/backends/launchd.js +85 -38
  355. package/dist/tasks/backends/schtasks.js +135 -15
  356. package/dist/tasks/embedded.js +56 -40
  357. package/dist/tasks/parser.js +7 -157
  358. package/dist/tasks/resolve-akm-bin.js +137 -59
  359. package/dist/tasks/runner.js +79 -42
  360. package/dist/tasks/scheduler-invocation.js +220 -10
  361. package/dist/tasks/schema.js +24 -1
  362. package/dist/tasks/task-id.js +1 -3
  363. package/dist/tasks/validator.js +20 -6
  364. package/dist/workflows/authoring/authoring.js +94 -143
  365. package/dist/workflows/authoring/scope-key.js +1 -1
  366. package/dist/workflows/exec/frozen-judge.js +28 -2
  367. package/dist/workflows/exec/native-executor.js +77 -57
  368. package/dist/workflows/exec/param-secrets.js +9 -9
  369. package/dist/workflows/exec/run-workflow.js +133 -79
  370. package/dist/workflows/exec/step-work.js +219 -346
  371. package/dist/{migrate-storage-node.mjs → workflows/exec/unit-dispatch.js} +1 -5
  372. package/dist/workflows/ir/compile.js +141 -270
  373. package/dist/workflows/ir/freeze.js +40 -30
  374. package/dist/workflows/ir/params.js +135 -11
  375. package/dist/workflows/ir/plan-hash.js +1 -1
  376. package/dist/workflows/ir/schema.js +25 -26
  377. package/dist/workflows/parser.js +872 -307
  378. package/dist/workflows/program/expressions.js +20 -208
  379. package/dist/workflows/program/schema.js +7 -10
  380. package/dist/workflows/renderer.js +95 -68
  381. package/dist/workflows/resource-limits.js +2 -0
  382. package/dist/workflows/runtime/checkin.js +3 -3
  383. package/dist/workflows/runtime/plan-classifier.js +16 -75
  384. package/dist/workflows/runtime/runs.js +186 -127
  385. package/dist/workflows/runtime/unit-checkin.js +1 -1
  386. package/dist/workflows/runtime/unit-phases.js +2 -2
  387. package/dist/workflows/runtime/workflow-asset-loader.js +232 -83
  388. package/dist/workflows/schema.js +1 -11
  389. package/dist/workflows/validate-summary.js +30 -36
  390. package/dist/workflows/validator.js +21 -62
  391. package/docs/README.md +68 -0
  392. package/docs/migration/README.md +8 -0
  393. package/docs/migration/release-notes/0.7.0.md +11 -11
  394. package/docs/migration/release-notes/0.9.0.md +208 -27
  395. package/docs/migration/v0.7-to-v0.8.md +46 -47
  396. package/docs/migration/v0.8-to-v0.9.md +564 -208
  397. package/docs/migration/v0.9.0-troubleshooting.md +561 -0
  398. package/docs/reference/README.md +12 -0
  399. package/docs/reference/cli.md +2253 -0
  400. package/docs/reference/configuration.md +358 -0
  401. package/docs/reference/data-and-telemetry.md +105 -42
  402. package/docs/reference/workflows.md +647 -0
  403. package/package.json +22 -11
  404. package/schemas/akm-asset-envelope.json +93 -0
  405. package/schemas/akm-config.json +81 -128
  406. package/schemas/akm-workflow.json +74 -73
  407. package/dist/assets/tasks/core/backup.yml +0 -5
  408. package/dist/assets/tasks/graph-refresh-weekly.yml +0 -10
  409. package/dist/cli/config-migrate.js +0 -1806
  410. package/dist/cli/config-validate.js +0 -41
  411. package/dist/commands/backup-cli.js +0 -56
  412. package/dist/commands/bundle/bundle-cli.js +0 -68
  413. package/dist/commands/bundle/bundle.js +0 -219
  414. package/dist/commands/graph/graph-cli.js +0 -124
  415. package/dist/commands/graph/graph.js +0 -489
  416. package/dist/commands/improve/extract-watch.js +0 -140
  417. package/dist/commands/mv-cli.js +0 -1221
  418. package/dist/commands/sources/history.js +0 -201
  419. package/dist/commands/tasks/default-tasks.js +0 -186
  420. package/dist/core/migration-backup.js +0 -1234
  421. package/dist/indexer/usage/unmigrated-vaults-guard.js +0 -95
  422. package/dist/llm/memory-infer-impl.js +0 -138
  423. package/dist/migrate/legacy/config-source-migration.js +0 -223
  424. package/dist/migrate/legacy/content-migration.js +0 -305
  425. package/dist/migrate/legacy/legacy-layout.js +0 -779
  426. package/dist/migrate/legacy/legacy-paths.js +0 -25
  427. package/dist/migrate/legacy/legacy-stash-json.js +0 -72
  428. package/dist/migrate/legacy/proposal-fs-import.js +0 -168
  429. package/dist/migrate/legacy/task-target-ref-migration.js +0 -272
  430. package/dist/migrate/legacy/three-db-cutover.js +0 -841
  431. package/dist/migrate/legacy/workflow-migrations-bodies.js +0 -52
  432. package/dist/migrate/legacy/workflow-migrations-frozen.js +0 -21
  433. package/dist/migrate/legacy-ref-grammar.js +0 -214
  434. package/dist/output/shapes/distill.js +0 -14
  435. package/dist/output/shapes/history.js +0 -11
  436. package/dist/output/text/distill.js +0 -6
  437. package/dist/output/text/enable-disable.js +0 -8
  438. package/dist/output/text/history.js +0 -6
  439. package/dist/registry/build-index.js +0 -382
  440. package/dist/schemas/akm-config.json +0 -4704
  441. package/dist/schemas/akm-task.json +0 -87
  442. package/dist/schemas/akm-workflow.json +0 -372
  443. package/dist/scripts/migrate-storage.js +0 -3816
  444. package/dist/workflows/authoring/workflow-program-template.yaml +0 -31
  445. package/dist/workflows/cli.js +0 -53
  446. package/dist/workflows/exec/brief.js +0 -481
  447. package/dist/workflows/exec/report.js +0 -1460
  448. package/dist/workflows/exec/watch.js +0 -116
  449. package/dist/workflows/program/parser.js +0 -813
  450. package/dist/workflows/program/project.js +0 -104
@@ -1,52 +0,0 @@
1
- // This Source Code Form is subject to the terms of the Mozilla Public
2
- // License, v. 2.0. If a copy of the MPL was not distributed with this
3
- // file, You can obtain one at https://mozilla.org/MPL/2.0/.
4
- /**
5
- * Frozen `ensureBaseSchema` baseline DDL — the `workflow_runs` /
6
- * `workflow_run_steps` tables as `openWorkflowDatabase` created them before
7
- * evaluating the migration list. Idempotent (`CREATE TABLE IF NOT EXISTS`), so
8
- * running it against an existing workflow.db is a no-op.
9
- */
10
- export const FROZEN_WORKFLOW_BASE_SCHEMA_DDL = "\n CREATE TABLE IF NOT EXISTS workflow_runs (\n id TEXT PRIMARY KEY,\n workflow_ref TEXT NOT NULL,\n workflow_entry_id INTEGER,\n workflow_title TEXT NOT NULL,\n status TEXT NOT NULL CHECK (status IN ('active', 'completed', 'blocked', 'failed')),\n params_json TEXT NOT NULL DEFAULT '{}',\n current_step_id TEXT,\n created_at TEXT NOT NULL,\n updated_at TEXT NOT NULL,\n completed_at TEXT\n );\n\n CREATE INDEX IF NOT EXISTS idx_workflow_runs_ref ON workflow_runs(workflow_ref);\n CREATE INDEX IF NOT EXISTS idx_workflow_runs_status ON workflow_runs(status);\n\n CREATE TABLE IF NOT EXISTS workflow_run_steps (\n run_id TEXT NOT NULL,\n step_id TEXT NOT NULL,\n step_title TEXT NOT NULL,\n instructions TEXT NOT NULL,\n completion_json TEXT,\n sequence_index INTEGER NOT NULL,\n status TEXT NOT NULL CHECK (status IN ('pending', 'completed', 'blocked', 'failed', 'skipped')),\n notes TEXT,\n evidence_json TEXT,\n completed_at TEXT,\n PRIMARY KEY (run_id, step_id),\n FOREIGN KEY (run_id) REFERENCES workflow_runs(id) ON DELETE CASCADE\n );\n\n CREATE INDEX IF NOT EXISTS idx_workflow_run_steps_run_sequence\n ON workflow_run_steps(run_id, sequence_index);\n ";
11
- /**
12
- * Frozen `{ id, up }` snapshot of the 10 `WORKFLOW_MIGRATIONS` bodies at the akm
13
- * 0.9.0 pre-cutover HEAD. Order is significant — it is the exact append-only
14
- * migration order `runSqliteMigrations` applies against a pre-cutover
15
- * workflow.db.
16
- */
17
- export const FROZEN_WORKFLOW_MIGRATIONS = [
18
- {
19
- id: "001-add-scope-key",
20
- up: "\n ALTER TABLE workflow_runs ADD COLUMN scope_key TEXT;\n\n CREATE INDEX IF NOT EXISTS idx_workflow_runs_scope_ref_status\n ON workflow_runs(scope_key, workflow_ref, status);\n ",
21
- },
22
- {
23
- id: "002-add-agent-identity",
24
- up: "\n ALTER TABLE workflow_runs ADD COLUMN agent_harness TEXT;\n ALTER TABLE workflow_runs ADD COLUMN agent_session_id TEXT;\n\n CREATE INDEX IF NOT EXISTS idx_workflow_runs_agent_session\n ON workflow_runs(agent_harness, agent_session_id);\n ",
25
- },
26
- {
27
- id: "003-checkin-and-step-summary",
28
- up: "\n ALTER TABLE workflow_runs ADD COLUMN checkin_armed_at TEXT;\n ALTER TABLE workflow_run_steps ADD COLUMN summary TEXT;\n ",
29
- },
30
- {
31
- id: "004-workflow-run-units",
32
- up: "\n CREATE TABLE IF NOT EXISTS workflow_run_units (\n run_id TEXT NOT NULL,\n unit_id TEXT NOT NULL,\n step_id TEXT,\n node_id TEXT NOT NULL,\n parent_unit_id TEXT,\n phase TEXT,\n runner TEXT,\n model TEXT,\n status TEXT NOT NULL CHECK (status IN ('pending', 'running', 'completed', 'failed', 'skipped')),\n input_hash TEXT,\n result_json TEXT,\n tokens INTEGER,\n failure_reason TEXT,\n worktree_path TEXT,\n started_at TEXT,\n finished_at TEXT,\n PRIMARY KEY (run_id, unit_id),\n FOREIGN KEY (run_id) REFERENCES workflow_runs(id) ON DELETE CASCADE\n );\n\n CREATE INDEX IF NOT EXISTS idx_workflow_run_units_run_step\n ON workflow_run_units(run_id, step_id);\n ",
33
- },
34
- { id: "005-unit-session-id", up: "\n ALTER TABLE workflow_run_units ADD COLUMN session_id TEXT;\n " },
35
- {
36
- id: "006-frozen-plan-and-lease",
37
- up: "\n ALTER TABLE workflow_runs ADD COLUMN plan_json TEXT;\n ALTER TABLE workflow_runs ADD COLUMN plan_hash TEXT;\n ALTER TABLE workflow_runs ADD COLUMN engine_lease_until TEXT;\n ALTER TABLE workflow_runs ADD COLUMN engine_lease_holder TEXT;\n ",
38
- },
39
- { id: "007-unit-last-checkin", up: "\n ALTER TABLE workflow_run_units ADD COLUMN last_checkin_at TEXT;\n " },
40
- {
41
- id: "008-unit-attempts",
42
- up: "\n ALTER TABLE workflow_run_units ADD COLUMN attempts INTEGER NOT NULL DEFAULT 1;\n ",
43
- },
44
- {
45
- id: "009-unit-claim",
46
- up: "\n ALTER TABLE workflow_run_units ADD COLUMN claim_holder TEXT;\n ALTER TABLE workflow_run_units ADD COLUMN claim_expires_at TEXT;\n ",
47
- },
48
- {
49
- id: "010-ir-v3-engine",
50
- up: "\n ALTER TABLE workflow_runs ADD COLUMN plan_ir_version INTEGER;\n ALTER TABLE workflow_run_units ADD COLUMN engine TEXT;\n ",
51
- },
52
- ];
@@ -1,21 +0,0 @@
1
- // This Source Code Form is subject to the terms of the Mozilla Public
2
- // License, v. 2.0. If a copy of the MPL was not distributed with this
3
- // file, You can obtain one at https://mozilla.org/MPL/2.0/.
4
- /**
5
- * Frozen `{ id, checksum }` snapshot of `WORKFLOW_MIGRATIONS` at the akm 0.9.0
6
- * pre-cutover HEAD. Order is significant — it is the exact ordered ledger
7
- * prefix that `inspectSealedMigrationLedger` asserts against a backed-up
8
- * `workflow.db`.
9
- */
10
- export const WORKFLOW_MIGRATIONS_CHECKSUMS = [
11
- { id: "001-add-scope-key", checksum: "1147ac9875ab87fcef446ffc24f405e65d0230ab041aa160a997746f9a63fa38" },
12
- { id: "002-add-agent-identity", checksum: "4fd912886ee0a54e0eb19f019bbe44e0da9344193a7ad9984d4182f74bd823c1" },
13
- { id: "003-checkin-and-step-summary", checksum: "dff0184eb8f8cb5e104ea311f4816b263b96679d13d7117e0b66eab589f2f51b" },
14
- { id: "004-workflow-run-units", checksum: "5b58d50274a557bf6bffdff3cfc622ed7c90b1383d44d183af3d50a30cd4970b" },
15
- { id: "005-unit-session-id", checksum: "ddd01c2788f3c5fd2829fcb9349285f47f9f7245efe9382fe3819020bca823e9" },
16
- { id: "006-frozen-plan-and-lease", checksum: "6df7a0079a718a9a46b88533e5f2e00baa5d9f55a0540a5ed0680c422a915eed" },
17
- { id: "007-unit-last-checkin", checksum: "a839af5677548f5cb37f9ff39218aecb639e9278909386568f3f7fb4add641dc" },
18
- { id: "008-unit-attempts", checksum: "a125dd744dd4eb3f5251a2e713dfdc257c4d5950b025563a8d6ea1d290da2b45" },
19
- { id: "009-unit-claim", checksum: "885e2c28fca0e98e51e45e7e26d1598a6ff1a2e873a17bf6184b3dd4b6d5613c" },
20
- { id: "010-ir-v3-engine", checksum: "89bd2d741b3961bebcfcf6fafc826033001954be9125585911787cff2bb8a34c" },
21
- ];
@@ -1,214 +0,0 @@
1
- // This Source Code Form is subject to the terms of the Mozilla Public
2
- // License, v. 2.0. If a copy of the MPL was not distributed with this
3
- // file, You can obtain one at https://mozilla.org/MPL/2.0/.
4
- /**
5
- * MIGRATE HOME for the pre-0.9.0 `[origin//]type:name` ref grammar and the
6
- * dual-grammar bridge that keeps STORED durable refs (state.db usage events,
7
- * proposals, salience rows, workflow runs, index `entry_ref` rows) parseable
8
- * while they still carry the legacy spelling.
9
- *
10
- * Everything here retires with the Chunk-8 §11.4 one-time state.db re-key: once
11
- * every durable row is re-keyed to `bundle//conceptId`, the legacy grammar and
12
- * this whole module are deleted. Chunk-8's content-migration + §11.4 re-key
13
- * passes consume these functions directly.
14
- *
15
- * ── Cycle-safety (HARD constraint) ──
16
- *
17
- * Self-contained leaf: imports only sibling core leaves (`asset-ref`,
18
- * `asset-placement`), the `recognition-util` sink, and the `core/errors` sink.
19
- * It NEVER imports `resolve-ref` (the input-boundary layer), so it cannot join
20
- * an import cycle. The permanent D-R2 reverse table lives in `resolve-ref.ts`
21
- * (`typeNameFromConceptId`); this module carries its own private transient copy
22
- * ({@link conceptIdToLegacyParts}) for stored-ref parsing so it stays a leaf.
23
- */
24
- import path from "node:path";
25
- import { stashDirFor, typeForStashDir } from "../core/asset/asset-placement.js";
26
- import { isBundleSlug, parseBundleRef } from "../core/asset/asset-ref.js";
27
- import { NotFoundError, UsageError } from "../core/errors.js";
28
- import { DEPRECATED_REJECTED_TYPES } from "../core/recognition-util.js";
29
- /** Accepted spelling aliases mapping to a canonical asset type. */
30
- const TYPE_ALIASES = {
31
- environment: "env",
32
- };
33
- // ── Construction ─────────────────────────────────────────────────────────────
34
- /**
35
- * Build a legacy ref string from components.
36
- *
37
- * Examples:
38
- * makeAssetRef("script", "deploy.sh") → "script:deploy.sh"
39
- * makeAssetRef("script", "deploy.sh", "npm:@scope/pkg")→ "npm:@scope/pkg//script:deploy.sh"
40
- * makeAssetRef("skill", "code-review", "local") → "local//skill:code-review"
41
- */
42
- export function makeAssetRef(type, name, origin) {
43
- validateName(name);
44
- const normalized = normalizeName(name);
45
- const asset = `${type}:${normalized}`;
46
- if (!origin)
47
- return asset;
48
- return `${origin}//${asset}`;
49
- }
50
- /**
51
- * Serialize a parsed {@link AssetRef} back to its canonical `[origin//]type:name`
52
- * string form. `refToString(parseAssetRef(s))` round-trips for any `s` that
53
- * `parseAssetRef` accepts.
54
- */
55
- export function refToString(ref) {
56
- return makeAssetRef(ref.type, ref.name, ref.origin);
57
- }
58
- // ── Parsing ──────────────────────────────────────────────────────────────────
59
- function parseLegacyAssetRef(ref, allowRetiredTypes) {
60
- const trimmed = ref.trim();
61
- if (!trimmed)
62
- throw new UsageError("Empty ref.", "MISSING_REQUIRED_ARGUMENT");
63
- let origin;
64
- let body = trimmed;
65
- const boundary = trimmed.indexOf("//");
66
- if (boundary >= 0) {
67
- origin = trimmed.slice(0, boundary);
68
- body = trimmed.slice(boundary + 2);
69
- if (!origin)
70
- throw new UsageError("Empty origin in ref.", "MISSING_REQUIRED_ARGUMENT");
71
- }
72
- const colon = body.indexOf(":");
73
- if (colon <= 0) {
74
- throw new UsageError(`Invalid ref "${trimmed}". Expected [origin//]type:name, e.g. skill:deploy or knowledge:guide.md`, "MISSING_REQUIRED_ARGUMENT");
75
- }
76
- const rawType = body.slice(0, colon);
77
- const rawName = body.slice(colon + 1);
78
- // The `vault` asset type was removed in 0.9.0. Point callers at its
79
- // replacements rather than failing with a generic unknown-type error.
80
- if (!allowRetiredTypes && rawType === "vault") {
81
- throw new UsageError("The `vault` asset type was removed in 0.9.0 — use `env:` (whole .env config) or `secret:` (a single value).", "MISSING_REQUIRED_ARGUMENT");
82
- }
83
- // Type aliases: `environment:` is an accepted spelling of the canonical `env:` type.
84
- const resolvedType = TYPE_ALIASES[rawType] ?? rawType;
85
- // Open type token (chunk 1.5, D1.5-6): any other non-empty type is valid ref
86
- // data (foreign/adapter types included) EXCEPT the deliberately-removed set.
87
- if (!allowRetiredTypes && DEPRECATED_REJECTED_TYPES.has(resolvedType)) {
88
- throw new UsageError(`Invalid asset type: "${rawType}".`, "MISSING_REQUIRED_ARGUMENT");
89
- }
90
- validateName(rawName);
91
- const name = normalizeName(rawName);
92
- return { type: resolvedType, name, origin: origin || undefined };
93
- }
94
- /** Parse a legacy ref string in the format `[origin//]type:name`. */
95
- export function parseAssetRef(ref) {
96
- return parseLegacyAssetRef(ref, false);
97
- }
98
- // ── Validation (private copies — kept self-contained) ────────────────────────
99
- function validateName(name) {
100
- if (!name)
101
- throw new UsageError("Empty asset name.", "MISSING_REQUIRED_ARGUMENT");
102
- if (name.includes("\0"))
103
- throw new UsageError("Null byte in asset name.", "MISSING_REQUIRED_ARGUMENT");
104
- if (/^[A-Za-z]:/.test(name))
105
- throw new UsageError("Windows drive path in asset name.", "MISSING_REQUIRED_ARGUMENT");
106
- const normalized = path.posix.normalize(name.replace(/\\/g, "/"));
107
- if (path.posix.isAbsolute(normalized))
108
- throw new UsageError("Absolute path in asset name.", "MISSING_REQUIRED_ARGUMENT");
109
- if (normalized === ".." || normalized.startsWith("../")) {
110
- throw new UsageError("Path traversal in asset name.", "MISSING_REQUIRED_ARGUMENT");
111
- }
112
- const segments = normalized.split("/");
113
- if (segments.some((seg) => seg === "." || seg === "..")) {
114
- throw new UsageError("Asset name cannot contain relative path segments.", "MISSING_REQUIRED_ARGUMENT");
115
- }
116
- }
117
- function normalizeName(name) {
118
- return path.posix.normalize(name.replace(/\\/g, "/"));
119
- }
120
- /**
121
- * Classify a raw ref string as the new `[bundle//]conceptId` grammar or the
122
- * pre-0.9.0 `[origin//]type:name` grammar (D-R5 charset dispatch).
123
- *
124
- * NEW grammar iff EITHER:
125
- * - it has a `prefix//tail` split whose `prefix` is a LEGAL bundle slug (no
126
- * `/ : . #` or whitespace) AND `tail` carries no `type:`-style colon; OR
127
- * - it is a bare conceptId (no `//`, no `:`).
128
- *
129
- * LEGACY otherwise: `owner/repo//skill:x` / `npm:@scope/pkg//skill:x` have
130
- * ILLEGAL bundle-slug prefixes, and `local//skill:x` has a legal prefix but a
131
- * colon in the tail — all three land as legacy.
132
- */
133
- export function classifyRefGrammar(raw) {
134
- const trimmed = raw.trim();
135
- const boundary = trimmed.indexOf("//");
136
- if (boundary >= 0) {
137
- const prefix = trimmed.slice(0, boundary);
138
- const tail = trimmed.slice(boundary + 2);
139
- return isBundleSlug(prefix) && !tail.includes(":") ? "bundle" : "legacy";
140
- }
141
- return trimmed.includes(":") ? "legacy" : "bundle";
142
- }
143
- /**
144
- * D-R2 static-table translation of a legacy `type`/`name` pair to its qualified
145
- * conceptId `<stash-subdir>/<name>` (bare-name fallback for a foreign type with
146
- * no placement stash-subdir). Mirrors the indexer's conceptId derivation.
147
- */
148
- export function legacyConceptId(type, name) {
149
- const stashDir = stashDirFor(type);
150
- return stashDir !== undefined ? `${stashDir}/${name}` : name;
151
- }
152
- /**
153
- * Reverse of {@link legacyConceptId}: split a qualified conceptId
154
- * (`<stash-subdir>/<name>`) back to its legacy `type`/`name`, or `undefined`
155
- * when the leading segment is not a known stash subdir. Transient private copy
156
- * of the permanent `typeNameFromConceptId` (resolve-ref.ts) so this leaf stays
157
- * self-contained; retires with the state.db re-key.
158
- */
159
- function conceptIdToLegacyParts(conceptId) {
160
- const slash = conceptId.indexOf("/");
161
- if (slash <= 0)
162
- return undefined;
163
- const type = typeForStashDir(conceptId.slice(0, slash));
164
- if (type === undefined)
165
- return undefined;
166
- return { type, name: conceptId.slice(slash + 1) };
167
- }
168
- /**
169
- * Translate a raw legacy `[origin//]type:name` ref to its {@link BundleRef}
170
- * spelling: conceptId via {@link legacyConceptId}, and `bundle` from the origin
171
- * when the origin is a legal bundle slug (a `registryId`, D-R5 rule 2). A
172
- * `local`/`stash`/path origin is not a stored bundle id, so it stays short.
173
- */
174
- export function legacyRefToBundleRef(raw) {
175
- const parsed = parseAssetRef(raw);
176
- const conceptId = legacyConceptId(parsed.type, parsed.name);
177
- const bundle = parsed.origin !== undefined && parsed.origin !== "local" && parsed.origin !== "stash" && isBundleSlug(parsed.origin)
178
- ? parsed.origin
179
- : undefined;
180
- return { bundle, conceptId };
181
- }
182
- // ── Stored-ref dual parser (Chunk-8: retire with the state.db one-time re-key) ─
183
- /**
184
- * Parse a STORED durable ref that may be written in EITHER the new
185
- * `[bundle//]conceptId` grammar OR the pre-0.9.0 `[origin//]type:name` grammar,
186
- * returning today's {@link AssetRef} value-object shape.
187
- *
188
- * Stored state (usage events, proposals, salience rows, workflow runs, index
189
- * `entry_ref` rows) keeps its legacy spelling until the Chunk-8 §11.4 one-time
190
- * re-key, so every reader that parses a durable ref must accept BOTH grammars —
191
- * this is the safe superset of `parseRefInput` (input boundaries are new-only).
192
- *
193
- * Mapping mirrors the pre-flip input bridge exactly:
194
- * - legacy input → historical syntax parser (including retired types).
195
- * - new `conceptId` → `type`/`name` via the D-R2 reverse table.
196
- * - new `bundle` → `origin`.
197
- * - `#fragment` → rejected (no stored ref carries one).
198
- */
199
- export function parseStoredRef(raw) {
200
- if (classifyRefGrammar(raw) === "legacy") {
201
- // Durable state may predate the removal of a type. Retired but structurally
202
- // valid refs are expected orphans; current user input remains strict.
203
- return parseLegacyAssetRef(raw, true);
204
- }
205
- const ref = parseBundleRef(raw);
206
- if (ref.fragment !== undefined) {
207
- throw new UsageError(`Export fragment "#${ref.fragment}" is not accepted here — drop it from "${raw.trim()}".`, "INVALID_FLAG_VALUE");
208
- }
209
- const legacy = conceptIdToLegacyParts(ref.conceptId);
210
- if (legacy === undefined) {
211
- throw new NotFoundError(`Unrecognized asset ref "${raw.trim()}": conceptId "${ref.conceptId}" has no known asset-type prefix.`, "ASSET_NOT_FOUND");
212
- }
213
- return { type: legacy.type, name: legacy.name, origin: ref.bundle };
214
- }
@@ -1,14 +0,0 @@
1
- // This Source Code Form is subject to the terms of the Mozilla Public
2
- // License, v. 2.0. If a copy of the MPL was not distributed with this
3
- // file, You can obtain one at https://mozilla.org/MPL/2.0/.
4
- // Output shape registration for `akm distill <ref>` (#228). The shape is
5
- // simple — outcome + ids + optional payload — so `brief` strips the full
6
- // proposal blob, `normal` keeps the headline fields, and `full` projects
7
- // everything for downstream automation.
8
- import { shapeDistillOutput } from "./helpers.js";
9
- export const distillShapes = [
10
- {
11
- command: "distill",
12
- handler: (result, detail) => shapeDistillOutput(result, detail),
13
- },
14
- ];
@@ -1,11 +0,0 @@
1
- // This Source Code Form is subject to the terms of the Mozilla Public
2
- // License, v. 2.0. If a copy of the MPL was not distributed with this
3
- // file, You can obtain one at https://mozilla.org/MPL/2.0/.
4
- // Output shape registration for `akm history` — paired with the text renderer in text.ts.
5
- import { shapeHistoryOutput } from "./helpers.js";
6
- export const historyShapes = [
7
- {
8
- command: "history",
9
- handler: (result, detail) => shapeHistoryOutput(result, detail),
10
- },
11
- ];
@@ -1,6 +0,0 @@
1
- // This Source Code Form is subject to the terms of the Mozilla Public
2
- // License, v. 2.0. If a copy of the MPL was not distributed with this
3
- // file, You can obtain one at https://mozilla.org/MPL/2.0/.
4
- // Output text formatter for `akm distill <ref>` (#228).
5
- import { formatDistillPlain } from "./helpers.js";
6
- export const distillFormatters = [{ command: "distill", handler: (r) => formatDistillPlain(r) }];
@@ -1,8 +0,0 @@
1
- // This Source Code Form is subject to the terms of the Mozilla Public
2
- // License, v. 2.0. If a copy of the MPL was not distributed with this
3
- // file, You can obtain one at https://mozilla.org/MPL/2.0/.
4
- import { formatToggleComponentPlain } from "./helpers.js";
5
- export const enableDisableFormatters = [
6
- { command: "enable", handler: (r) => formatToggleComponentPlain("enable", r) },
7
- { command: "disable", handler: (r) => formatToggleComponentPlain("disable", r) },
8
- ];
@@ -1,6 +0,0 @@
1
- // This Source Code Form is subject to the terms of the Mozilla Public
2
- // License, v. 2.0. If a copy of the MPL was not distributed with this
3
- // file, You can obtain one at https://mozilla.org/MPL/2.0/.
4
- // Output text formatter for `akm history` — paired with the shape in shapes/history.ts.
5
- import { formatHistoryPlain } from "./helpers.js";
6
- export const historyFormatters = [{ command: "history", handler: (r) => formatHistoryPlain(r) }];