@aiwg/cli 0.0.0-bootstrap.0 → 2026.7.18

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 (467) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +22 -1
  3. package/bin/aiwg.mjs +349 -0
  4. package/dist/src/a2a/agent-card.js +145 -0
  5. package/dist/src/a2a/client.js +411 -0
  6. package/dist/src/a2a/hitl-cli.js +171 -0
  7. package/dist/src/a2a/hitl-driver.js +370 -0
  8. package/dist/src/a2a/hitl.js +181 -0
  9. package/dist/src/a2a/http.js +193 -0
  10. package/dist/src/a2a/jcs.js +128 -0
  11. package/dist/src/a2a/jws.js +187 -0
  12. package/dist/src/a2a/types.js +24 -0
  13. package/dist/src/a2a/webhook.js +240 -0
  14. package/dist/src/activity-log/cli.js +348 -0
  15. package/dist/src/activity-log/parser.js +81 -0
  16. package/dist/src/activity-log/types.js +50 -0
  17. package/dist/src/agents/agent-deployer.js +367 -0
  18. package/dist/src/agents/agent-packager.js +271 -0
  19. package/dist/src/agents/agent-validator.js +271 -0
  20. package/dist/src/agents/grounding/knowledge-base.js +161 -0
  21. package/dist/src/agents/grounding/types.js +12 -0
  22. package/dist/src/agents/index.js +10 -0
  23. package/dist/src/agents/packaged-agent-inventory.js +75 -0
  24. package/dist/src/agents/types.js +7 -0
  25. package/dist/src/api/index.d.ts +10 -0
  26. package/dist/src/api/index.js +10 -0
  27. package/dist/src/artifacts/address-parser.js +73 -0
  28. package/dist/src/artifacts/audit/cli.js +183 -0
  29. package/dist/src/artifacts/audit/drift.js +122 -0
  30. package/dist/src/artifacts/audit/types.js +12 -0
  31. package/dist/src/artifacts/backends/graphology-backend.js +160 -0
  32. package/dist/src/artifacts/backends/json-backend.js +129 -0
  33. package/dist/src/artifacts/backends/sqlite-backend.js +199 -0
  34. package/dist/src/artifacts/browser-export.js +622 -0
  35. package/dist/src/artifacts/capability-resolver.js +94 -0
  36. package/dist/src/artifacts/checksum-manifest.js +91 -0
  37. package/dist/src/artifacts/citation-parser.js +162 -0
  38. package/dist/src/artifacts/cli.js +1486 -0
  39. package/dist/src/artifacts/corpus-tools/citation-densify.js +311 -0
  40. package/dist/src/artifacts/corpus-tools/cli.js +393 -0
  41. package/dist/src/artifacts/corpus-tools/corpus-graph.js +225 -0
  42. package/dist/src/artifacts/corpus-tools/curator.js +186 -0
  43. package/dist/src/artifacts/corpus-tools/discovery-log.js +70 -0
  44. package/dist/src/artifacts/corpus-tools/funder-network.js +141 -0
  45. package/dist/src/artifacts/corpus-tools/induction-audit.js +233 -0
  46. package/dist/src/artifacts/corpus-tools/integrity-scan.js +202 -0
  47. package/dist/src/artifacts/corpus-tools/profile-communities.js +166 -0
  48. package/dist/src/artifacts/corpus-tools/profile-edges.js +72 -0
  49. package/dist/src/artifacts/corpus-tools/profile-embed.js +113 -0
  50. package/dist/src/artifacts/corpus-tools/profile-generate-fm.js +167 -0
  51. package/dist/src/artifacts/corpus-tools/profile-generate.js +181 -0
  52. package/dist/src/artifacts/corpus-tools/profile-metrics.js +98 -0
  53. package/dist/src/artifacts/corpus-tools/profile-status.js +86 -0
  54. package/dist/src/artifacts/corpus-tools/profile-temporal.js +139 -0
  55. package/dist/src/artifacts/corpus-tools/radar-init.js +93 -0
  56. package/dist/src/artifacts/corpus-tools/radar-report.js +118 -0
  57. package/dist/src/artifacts/corpus-tools/radar-shared.js +189 -0
  58. package/dist/src/artifacts/corpus-tools/radar-status.js +68 -0
  59. package/dist/src/artifacts/corpus-tools/sidecar-lint.js +233 -0
  60. package/dist/src/artifacts/corpus-tools/sidecar-repair.js +277 -0
  61. package/dist/src/artifacts/corpus-tools/snapshot.js +591 -0
  62. package/dist/src/artifacts/corpus-tools/source-types.js +164 -0
  63. package/dist/src/artifacts/corpus-tools/vision-extract.js +243 -0
  64. package/dist/src/artifacts/corpus-views/build.js +126 -0
  65. package/dist/src/artifacts/corpus-views/corpus-config.js +124 -0
  66. package/dist/src/artifacts/corpus-views/ref-parser.js +437 -0
  67. package/dist/src/artifacts/corpus-views/renderers.js +353 -0
  68. package/dist/src/artifacts/corpus-views/taxonomies.js +131 -0
  69. package/dist/src/artifacts/dep-graph.js +173 -0
  70. package/dist/src/artifacts/discover-facets.js +375 -0
  71. package/dist/src/artifacts/embedding-index.js +354 -0
  72. package/dist/src/artifacts/enrichment/cli.js +240 -0
  73. package/dist/src/artifacts/enrichment/prompt.js +47 -0
  74. package/dist/src/artifacts/enrichment/store.js +90 -0
  75. package/dist/src/artifacts/enrichment/types.js +12 -0
  76. package/dist/src/artifacts/fortemi-core-query-adapter.js +475 -0
  77. package/dist/src/artifacts/fortemi-core-sync.js +251 -0
  78. package/dist/src/artifacts/fortemi-shard-export.js +44 -0
  79. package/dist/src/artifacts/fulltext.js +108 -0
  80. package/dist/src/artifacts/graph-backend.js +51 -0
  81. package/dist/src/artifacts/graph-query.js +247 -0
  82. package/dist/src/artifacts/hybrid-query.js +225 -0
  83. package/dist/src/artifacts/index-builder.js +1089 -0
  84. package/dist/src/artifacts/index-reader.js +112 -0
  85. package/dist/src/artifacts/index-status.js +193 -0
  86. package/dist/src/artifacts/legacy-index-migration.js +169 -0
  87. package/dist/src/artifacts/move.js +154 -0
  88. package/dist/src/artifacts/operational-state.js +239 -0
  89. package/dist/src/artifacts/prebuilt-build-lock.js +49 -0
  90. package/dist/src/artifacts/query-engine.js +1955 -0
  91. package/dist/src/artifacts/source-graph.js +529 -0
  92. package/dist/src/artifacts/stats.js +169 -0
  93. package/dist/src/artifacts/types.js +606 -0
  94. package/dist/src/artifacts/views/cli.js +293 -0
  95. package/dist/src/artifacts/views/definition.js +170 -0
  96. package/dist/src/artifacts/views/store.js +149 -0
  97. package/dist/src/artifacts/views/types.js +8 -0
  98. package/dist/src/artifacts/watcher.js +255 -0
  99. package/dist/src/catalog/builtin-models.json +636 -0
  100. package/dist/src/catalog/cli.js +228 -0
  101. package/dist/src/catalog/cli.mjs +289 -0
  102. package/dist/src/catalog/index.js +15 -0
  103. package/dist/src/catalog/loader.js +217 -0
  104. package/dist/src/catalog/loader.mjs +251 -0
  105. package/dist/src/catalog/sources.json +41 -0
  106. package/dist/src/catalog/types.js +8 -0
  107. package/dist/src/channel/manager.mjs +504 -0
  108. package/dist/src/cli/agent-spawn.js +178 -0
  109. package/dist/src/cli/cli-extension-loader.js +245 -0
  110. package/dist/src/cli/command-log.js +275 -0
  111. package/dist/src/cli/config-loader.js +232 -0
  112. package/dist/src/cli/env.js +82 -0
  113. package/dist/src/cli/errors.js +150 -0
  114. package/dist/src/cli/find-package-root.js +40 -0
  115. package/dist/src/cli/git-hooks.js +250 -0
  116. package/dist/src/cli/handlers/agentcard.js +206 -0
  117. package/dist/src/cli/handlers/artifacts.js +76 -0
  118. package/dist/src/cli/handlers/best-practices-audit.js +280 -0
  119. package/dist/src/cli/handlers/cockpit.js +137 -0
  120. package/dist/src/cli/handlers/command-log.js +37 -0
  121. package/dist/src/cli/handlers/daemon.js +59 -0
  122. package/dist/src/cli/handlers/diagnose.js +300 -0
  123. package/dist/src/cli/handlers/execution-mode.js +105 -0
  124. package/dist/src/cli/handlers/feedback.js +341 -0
  125. package/dist/src/cli/handlers/help.js +147 -0
  126. package/dist/src/cli/handlers/index.js +302 -0
  127. package/dist/src/cli/handlers/init.js +179 -0
  128. package/dist/src/cli/handlers/install.js +129 -0
  129. package/dist/src/cli/handlers/issues.js +46 -0
  130. package/dist/src/cli/handlers/lint.js +42 -0
  131. package/dist/src/cli/handlers/local-executor.js +315 -0
  132. package/dist/src/cli/handlers/marketplace.js +168 -0
  133. package/dist/src/cli/handlers/mc.js +1010 -0
  134. package/dist/src/cli/handlers/models.js +352 -0
  135. package/dist/src/cli/handlers/packages.js +155 -0
  136. package/dist/src/cli/handlers/ralph-launcher.js +717 -0
  137. package/dist/src/cli/handlers/ralph.js +575 -0
  138. package/dist/src/cli/handlers/refresh.js +432 -0
  139. package/dist/src/cli/handlers/regenerate.js +336 -0
  140. package/dist/src/cli/handlers/repo-access.js +109 -0
  141. package/dist/src/cli/handlers/run.js +165 -0
  142. package/dist/src/cli/handlers/runtime-info.js +301 -0
  143. package/dist/src/cli/handlers/sandbox.js +197 -0
  144. package/dist/src/cli/handlers/scaffolding.js +149 -0
  145. package/dist/src/cli/handlers/script-runner.js +121 -0
  146. package/dist/src/cli/handlers/sdlc-accelerate.js +148 -0
  147. package/dist/src/cli/handlers/serve.js +1835 -0
  148. package/dist/src/cli/handlers/session.js +348 -0
  149. package/dist/src/cli/handlers/setup.js +440 -0
  150. package/dist/src/cli/handlers/skill-lint.js +367 -0
  151. package/dist/src/cli/handlers/skill-usage.js +74 -0
  152. package/dist/src/cli/handlers/steward.js +567 -0
  153. package/dist/src/cli/handlers/subcommands.js +1702 -0
  154. package/dist/src/cli/handlers/team.js +337 -0
  155. package/dist/src/cli/handlers/types.js +11 -0
  156. package/dist/src/cli/handlers/use.js +2772 -0
  157. package/dist/src/cli/handlers/utilities.js +703 -0
  158. package/dist/src/cli/handlers/version.js +134 -0
  159. package/dist/src/cli/handlers/workspace-context.js +93 -0
  160. package/dist/src/cli/handlers/workspace.js +126 -0
  161. package/dist/src/cli/help-generator.js +178 -0
  162. package/dist/src/cli/hooks/builtin/activity-log-hook.js +126 -0
  163. package/dist/src/cli/hooks/executor.js +96 -0
  164. package/dist/src/cli/hooks/index.js +15 -0
  165. package/dist/src/cli/hooks/registry.js +143 -0
  166. package/dist/src/cli/hooks/types.js +13 -0
  167. package/dist/src/cli/log.js +492 -0
  168. package/dist/src/cli/project-isolation/detect.js +70 -0
  169. package/dist/src/cli/project-isolation/index.js +7 -0
  170. package/dist/src/cli/project-isolation/signals.js +17 -0
  171. package/dist/src/cli/project-isolation/warning.js +102 -0
  172. package/dist/src/cli/prompt-utils.js +155 -0
  173. package/dist/src/cli/provider-deployment-plan.js +126 -0
  174. package/dist/src/cli/provider-resolution.js +119 -0
  175. package/dist/src/cli/router.js +305 -0
  176. package/dist/src/cli/scope-resolver.js +392 -0
  177. package/dist/src/cli/skill-usage.js +616 -0
  178. package/dist/src/cli/ui.js +224 -0
  179. package/dist/src/cli/watch-service.js +203 -0
  180. package/dist/src/cli/workflow-orchestrator.js +478 -0
  181. package/dist/src/cli/workspace-signals.js +321 -0
  182. package/dist/src/community/footer.js +14 -0
  183. package/dist/src/community/links.js +123 -0
  184. package/dist/src/community/milestones.js +46 -0
  185. package/dist/src/community/nudge-policy.js +93 -0
  186. package/dist/src/config/aiwg-config.js +883 -0
  187. package/dist/src/config/cli.js +703 -0
  188. package/dist/src/config/gitignore.js +156 -0
  189. package/dist/src/config/project-artifacts.js +76 -0
  190. package/dist/src/config/user-config.js +428 -0
  191. package/dist/src/config/user-registry.js +127 -0
  192. package/dist/src/config/workspace.js +276 -0
  193. package/dist/src/contributors/detect.js +39 -0
  194. package/dist/src/contributors/discover.js +172 -0
  195. package/dist/src/contributors/heuristic.js +186 -0
  196. package/dist/src/contributors/index.js +11 -0
  197. package/dist/src/contributors/types.js +13 -0
  198. package/dist/src/contributors/validation.js +116 -0
  199. package/dist/src/data/community.schema.json +43 -0
  200. package/dist/src/data/community.yaml +16 -0
  201. package/dist/src/extensions/capability-index.js +270 -0
  202. package/dist/src/extensions/claude-hooks-installer.js +268 -0
  203. package/dist/src/extensions/commands/definitions.js +3485 -0
  204. package/dist/src/extensions/deployment-registration.js +463 -0
  205. package/dist/src/extensions/index.js +22 -0
  206. package/dist/src/extensions/loader.js +132 -0
  207. package/dist/src/extensions/managed-marker.js +100 -0
  208. package/dist/src/extensions/manifest.js +196 -0
  209. package/dist/src/extensions/project-local-activity.js +114 -0
  210. package/dist/src/extensions/project-local-discovery.js +261 -0
  211. package/dist/src/extensions/project-local-doctor.js +281 -0
  212. package/dist/src/extensions/project-local-gitignore.js +176 -0
  213. package/dist/src/extensions/project-local-paths.js +121 -0
  214. package/dist/src/extensions/project-local-promote.js +218 -0
  215. package/dist/src/extensions/project-local-remove.js +373 -0
  216. package/dist/src/extensions/project-local-scaffold.js +252 -0
  217. package/dist/src/extensions/project-quickref.js +291 -0
  218. package/dist/src/extensions/registry.js +368 -0
  219. package/dist/src/extensions/shadow-resolver.js +271 -0
  220. package/dist/src/extensions/types.js +86 -0
  221. package/dist/src/extensions/upstream-registry.js +195 -0
  222. package/dist/src/extensions/validation.js +631 -0
  223. package/dist/src/features/catalog.js +88 -0
  224. package/dist/src/features/cli.js +197 -0
  225. package/dist/src/features/installer.js +57 -0
  226. package/dist/src/features/paths.js +14 -0
  227. package/dist/src/features/runtime.js +21 -0
  228. package/dist/src/features/status.js +134 -0
  229. package/dist/src/hooks/laziness-detection.js +532 -0
  230. package/dist/src/intake/git-history-analyzer.js +486 -0
  231. package/dist/src/intake/index.js +9 -0
  232. package/dist/src/issues/cli.js +327 -0
  233. package/dist/src/issues/index.js +5 -0
  234. package/dist/src/issues/live.js +154 -0
  235. package/dist/src/issues/local.js +666 -0
  236. package/dist/src/issues/sync.js +143 -0
  237. package/dist/src/issues/types.js +2 -0
  238. package/dist/src/issues/workflows.js +164 -0
  239. package/dist/src/kb/cli.js +173 -0
  240. package/dist/src/lint/cli.js +171 -0
  241. package/dist/src/lint/loader.js +225 -0
  242. package/dist/src/lint/reporters.js +141 -0
  243. package/dist/src/lint/runner.js +364 -0
  244. package/dist/src/lint/types.js +10 -0
  245. package/dist/src/marketplace/cache.js +110 -0
  246. package/dist/src/marketplace/identifier.js +63 -0
  247. package/dist/src/marketplace/registry.js +36 -0
  248. package/dist/src/marketplace/sources/clawhub.js +53 -0
  249. package/dist/src/marketplace/sources/git.js +45 -0
  250. package/dist/src/marketplace/types.js +9 -0
  251. package/dist/src/mcp/adapters/codex-runtime.js +224 -0
  252. package/dist/src/mcp/cli.mjs +1197 -0
  253. package/dist/src/mcp/elicitation.mjs +149 -0
  254. package/dist/src/mcp/helpers.mjs +287 -0
  255. package/dist/src/mcp/index.mjs +11 -0
  256. package/dist/src/mcp/profiles.js +263 -0
  257. package/dist/src/mcp/profiles.mjs +360 -0
  258. package/dist/src/mcp/registry.js +376 -0
  259. package/dist/src/mcp/registry.mjs +387 -0
  260. package/dist/src/mcp/server.mjs +633 -0
  261. package/dist/src/mcp/test-simple.mjs +271 -0
  262. package/dist/src/mcp/tools/command-run.mjs +101 -0
  263. package/dist/src/mcp/tools/discovery.mjs +291 -0
  264. package/dist/src/mcp/tools/interaction.mjs +87 -0
  265. package/dist/src/mcp/tools/orchestration.mjs +320 -0
  266. package/dist/src/mcp/tools/subsystems.mjs +640 -0
  267. package/dist/src/memory/cli.js +166 -0
  268. package/dist/src/memory/project-registry.js +282 -0
  269. package/dist/src/metrics/artifact-metrics.js +184 -0
  270. package/dist/src/metrics/context-budget.js +174 -0
  271. package/dist/src/metrics/token-counter.js +133 -0
  272. package/dist/src/models/config-loader.js +228 -0
  273. package/dist/src/models/index.js +22 -0
  274. package/dist/src/models/model-capabilities.v1.json +120 -0
  275. package/dist/src/models/model-catalog.v1.json +96 -0
  276. package/dist/src/models/model-discovery.js +521 -0
  277. package/dist/src/models/provider-models.js +73 -0
  278. package/dist/src/models/provider-policy.js +273 -0
  279. package/dist/src/models/resolver.js +245 -0
  280. package/dist/src/models/router.js +70 -0
  281. package/dist/src/models/types.js +8 -0
  282. package/dist/src/models/wrapper-deployment.js +178 -0
  283. package/dist/src/models/wrapper-route.js +54 -0
  284. package/dist/src/ops/cli.js +268 -0
  285. package/dist/src/ops/registry.js +623 -0
  286. package/dist/src/packages/adapters/clawhub.js +113 -0
  287. package/dist/src/packages/adapters/git.js +153 -0
  288. package/dist/src/packages/adapters/gitea.js +93 -0
  289. package/dist/src/packages/adapters/github.js +69 -0
  290. package/dist/src/packages/adapters/local-cache.js +89 -0
  291. package/dist/src/packages/package-registry.js +143 -0
  292. package/dist/src/packages/registry.js +238 -0
  293. package/dist/src/packages/types.js +11 -0
  294. package/dist/src/plugin/cross-framework-ops.js +475 -0
  295. package/dist/src/plugin/framework-config-loader.js +235 -0
  296. package/dist/src/plugin/framework-detector.js +186 -0
  297. package/dist/src/plugin/framework-isolator.js +341 -0
  298. package/dist/src/plugin/framework-migration.js +371 -0
  299. package/dist/src/plugin/metadata-validator.js +906 -0
  300. package/dist/src/plugin/plugin-installer.js +436 -0
  301. package/dist/src/plugin/plugin-status.js +369 -0
  302. package/dist/src/plugin/plugin-uninstaller.js +473 -0
  303. package/dist/src/plugin/registry-validator.js +344 -0
  304. package/dist/src/plugin/skill-command-translator.js +415 -0
  305. package/dist/src/plugin/workspace-creator.js +189 -0
  306. package/dist/src/plugin/workspace-migrator.js +821 -0
  307. package/dist/src/policy/authorization.js +390 -0
  308. package/dist/src/policy/repo-access.js +215 -0
  309. package/dist/src/provenance/cli.js +16 -0
  310. package/dist/src/providers/capability-matrix.js +300 -0
  311. package/dist/src/providers/capability-matrix.yaml +514 -0
  312. package/dist/src/providers/provider-definitions.js +977 -0
  313. package/dist/src/providers/provider-definitions.mjs +159 -0
  314. package/dist/src/providers/provider-inventory.js +169 -0
  315. package/dist/src/quality/feedback-ab.js +174 -0
  316. package/dist/src/quality/feedback-collector.js +176 -0
  317. package/dist/src/quality/feedback-tracker.js +123 -0
  318. package/dist/src/quality/patterns/adr.json +24 -0
  319. package/dist/src/quality/patterns/sad.json +24 -0
  320. package/dist/src/quality/patterns/test-plan.json +24 -0
  321. package/dist/src/quality/patterns/use-case.json +24 -0
  322. package/dist/src/quality/scoring.js +157 -0
  323. package/dist/src/reflections/cli.js +15 -0
  324. package/dist/src/release/plan.js +139 -0
  325. package/dist/src/research/cache/manager.js +227 -0
  326. package/dist/src/research/clients/arxiv.js +156 -0
  327. package/dist/src/research/clients/base.js +197 -0
  328. package/dist/src/research/clients/crossref.js +112 -0
  329. package/dist/src/research/clients/semantic-scholar.js +126 -0
  330. package/dist/src/research/clients/unpaywall.js +87 -0
  331. package/dist/src/research/index.js +14 -0
  332. package/dist/src/research/query-cli.js +336 -0
  333. package/dist/src/research/services/acquisition.js +313 -0
  334. package/dist/src/research/services/archival.js +225 -0
  335. package/dist/src/research/services/citation.js +279 -0
  336. package/dist/src/research/services/discovery.js +243 -0
  337. package/dist/src/research/services/documentation.js +269 -0
  338. package/dist/src/research/services/index.js +14 -0
  339. package/dist/src/research/services/provenance.js +279 -0
  340. package/dist/src/research/services/quality.js +370 -0
  341. package/dist/src/research/services/types.js +7 -0
  342. package/dist/src/research/storage-cli.js +20 -0
  343. package/dist/src/research/types.js +47 -0
  344. package/dist/src/resources/index.d.ts +2 -0
  345. package/dist/src/resources/index.js +2 -0
  346. package/dist/src/resources/web-release.d.ts +89 -0
  347. package/dist/src/resources/web-release.js +886 -0
  348. package/dist/src/rlm/cache/cli.js +162 -0
  349. package/dist/src/rlm/cache/hash.js +35 -0
  350. package/dist/src/rlm/cache/store.js +170 -0
  351. package/dist/src/rlm/cache/types.js +8 -0
  352. package/dist/src/rlm/cli.js +650 -0
  353. package/dist/src/serve/a2a-terminal-observer.js +120 -0
  354. package/dist/src/serve/agent-router.js +205 -0
  355. package/dist/src/serve/dispatch-router.js +171 -0
  356. package/dist/src/serve/executor-registry.js +715 -0
  357. package/dist/src/serve/mission-conductor.js +177 -0
  358. package/dist/src/serve/orchestrator-adapter.js +113 -0
  359. package/dist/src/serve/orchestrator-override.js +94 -0
  360. package/dist/src/serve/orchestrator-pty.js +133 -0
  361. package/dist/src/serve/pty-bridge.js +799 -0
  362. package/dist/src/serve/sandbox-registry.js +832 -0
  363. package/dist/src/serve/screen-reader.js +228 -0
  364. package/dist/src/serve/stack-adapters.js +68 -0
  365. package/dist/src/serve/telemetry.js +143 -0
  366. package/dist/src/skills/adapters/clawhub.js +250 -0
  367. package/dist/src/skills/adapters/local.js +335 -0
  368. package/dist/src/skills/adapters/openclaw.js +316 -0
  369. package/dist/src/skills/cli.js +334 -0
  370. package/dist/src/skills/registry.js +117 -0
  371. package/dist/src/skills/run.js +259 -0
  372. package/dist/src/skills/runtime.js +94 -0
  373. package/dist/src/skills/types.js +10 -0
  374. package/dist/src/smiths/agentsmith/demo.js +116 -0
  375. package/dist/src/smiths/agentsmith/examples.js +300 -0
  376. package/dist/src/smiths/agentsmith/generator.js +503 -0
  377. package/dist/src/smiths/agentsmith/index.js +11 -0
  378. package/dist/src/smiths/agentsmith/types.js +8 -0
  379. package/dist/src/smiths/commandsmith/example.js +220 -0
  380. package/dist/src/smiths/commandsmith/generator.js +288 -0
  381. package/dist/src/smiths/commandsmith/index.js +41 -0
  382. package/dist/src/smiths/commandsmith/templates.js +296 -0
  383. package/dist/src/smiths/commandsmith/types.js +7 -0
  384. package/dist/src/smiths/context-pipeline/aiwg-md.js +104 -0
  385. package/dist/src/smiths/context-pipeline/allowlist.js +195 -0
  386. package/dist/src/smiths/context-pipeline/claude-hook.js +127 -0
  387. package/dist/src/smiths/context-pipeline/discovery.js +187 -0
  388. package/dist/src/smiths/context-pipeline/external-links-section.js +49 -0
  389. package/dist/src/smiths/context-pipeline/finalization.js +147 -0
  390. package/dist/src/smiths/context-pipeline/generator.js +477 -0
  391. package/dist/src/smiths/context-pipeline/index.js +30 -0
  392. package/dist/src/smiths/context-pipeline/legacy-inject.js +103 -0
  393. package/dist/src/smiths/context-pipeline/managed-hook.js +95 -0
  394. package/dist/src/smiths/context-pipeline/overflow.js +212 -0
  395. package/dist/src/smiths/context-pipeline/parallelism-section.js +94 -0
  396. package/dist/src/smiths/context-pipeline/provider-policy.js +64 -0
  397. package/dist/src/smiths/context-pipeline/sanitizer.js +93 -0
  398. package/dist/src/smiths/context-pipeline/types.js +23 -0
  399. package/dist/src/smiths/context-pipeline/workspace-context.js +988 -0
  400. package/dist/src/smiths/hook-bridge/codex-translator.js +129 -0
  401. package/dist/src/smiths/hook-bridge/copilot-translator.js +64 -0
  402. package/dist/src/smiths/hook-bridge/factory-translator.js +43 -0
  403. package/dist/src/smiths/hook-bridge/hermes-translator.js +88 -0
  404. package/dist/src/smiths/hook-bridge/index.js +79 -0
  405. package/dist/src/smiths/hook-bridge/loader.js +116 -0
  406. package/dist/src/smiths/hook-bridge/shim.js +89 -0
  407. package/dist/src/smiths/hook-bridge/types.js +31 -0
  408. package/dist/src/smiths/index.js +39 -0
  409. package/dist/src/smiths/mcpsmith/analyzers/cli-analyzer.js +390 -0
  410. package/dist/src/smiths/mcpsmith/example.js +119 -0
  411. package/dist/src/smiths/mcpsmith/generator.js +236 -0
  412. package/dist/src/smiths/mcpsmith/index.js +17 -0
  413. package/dist/src/smiths/mcpsmith/types.js +10 -0
  414. package/dist/src/smiths/platform-paths.js +101 -0
  415. package/dist/src/smiths/skillsmith/codex-sidecar.js +85 -0
  416. package/dist/src/smiths/skillsmith/collision-detector.js +249 -0
  417. package/dist/src/smiths/skillsmith/demo.js +83 -0
  418. package/dist/src/smiths/skillsmith/examples.js +161 -0
  419. package/dist/src/smiths/skillsmith/generator.js +316 -0
  420. package/dist/src/smiths/skillsmith/index.js +12 -0
  421. package/dist/src/smiths/skillsmith/namespace-adapter.js +180 -0
  422. package/dist/src/smiths/skillsmith/platform-resolver.js +157 -0
  423. package/dist/src/smiths/skillsmith/types.js +9 -0
  424. package/dist/src/smiths/toolsmith/index.js +10 -0
  425. package/dist/src/smiths/toolsmith/runtime-discovery.mjs +710 -0
  426. package/dist/src/smiths/toolsmith/types.js +8 -0
  427. package/dist/src/storage/backends/fortemi.js +227 -0
  428. package/dist/src/storage/backends/fs.js +134 -0
  429. package/dist/src/storage/backends/logseq.js +309 -0
  430. package/dist/src/storage/backends/obsidian.js +233 -0
  431. package/dist/src/storage/cli.js +468 -0
  432. package/dist/src/storage/config.js +272 -0
  433. package/dist/src/storage/index.js +108 -0
  434. package/dist/src/storage/subsystem-cli.js +201 -0
  435. package/dist/src/storage/types.js +33 -0
  436. package/dist/src/testing/corpus/corpus-builder.js +383 -0
  437. package/dist/src/testing/corpus/ground-truth-manager.js +460 -0
  438. package/dist/src/testing/corpus/index.js +10 -0
  439. package/dist/src/testing/fixtures/index.js +9 -0
  440. package/dist/src/testing/fixtures/test-data-factory.js +472 -0
  441. package/dist/src/testing/generators/index.js +11 -0
  442. package/dist/src/testing/generators/test-case-generator.js +393 -0
  443. package/dist/src/testing/generators/test-code-generator.js +384 -0
  444. package/dist/src/testing/generators/use-case-parser.js +325 -0
  445. package/dist/src/testing/index.js +11 -0
  446. package/dist/src/tracker/capability-protocol.js +118 -0
  447. package/dist/src/update/checker.mjs +396 -0
  448. package/dist/src/update/notifier.mjs +235 -0
  449. package/dist/src/writing/content-diversifier.js +804 -0
  450. package/dist/src/writing/example-generator.js +959 -0
  451. package/dist/src/writing/example-templates.js +99 -0
  452. package/dist/src/writing/pattern-library.js +486 -0
  453. package/dist/src/writing/patterns/banned-phrases.json +4413 -0
  454. package/dist/src/writing/patterns/formulaic-structures.json +1300 -0
  455. package/dist/src/writing/patterns/generic-adjectives.json +1510 -0
  456. package/dist/src/writing/patterns/hedging-language.json +2096 -0
  457. package/dist/src/writing/patterns/transition-words.json +1285 -0
  458. package/dist/src/writing/patterns/weak-verbs.json +1112 -0
  459. package/dist/src/writing/prompt-optimizer.js +660 -0
  460. package/dist/src/writing/prompt-templates.js +583 -0
  461. package/dist/src/writing/scoring-config-loader.js +168 -0
  462. package/dist/src/writing/validation-engine.js +595 -0
  463. package/dist/src/writing/validation-rules.js +380 -0
  464. package/dist/src/writing/voice-analyzer.js +439 -0
  465. package/dist/src/writing/voice-calibration.js +661 -0
  466. package/dist/src/writing/voice-profiles.json +588 -0
  467. package/package.json +65 -9
@@ -0,0 +1,94 @@
1
+ import { glob } from 'glob';
2
+ import path from 'node:path';
3
+ import { recordTypeForEntry, stableRecordId } from './browser-export.js';
4
+ export class CapabilityResolutionError extends Error {
5
+ kind;
6
+ constructor(message, kind) {
7
+ super(message);
8
+ this.kind = kind;
9
+ this.name = 'CapabilityResolutionError';
10
+ }
11
+ }
12
+ const PATTERNS = {
13
+ agent: ['agentic/code/{frameworks,addons,extensions,plugins}/**/agents/*.md'],
14
+ skill: [
15
+ 'agentic/code/{frameworks,addons,extensions,plugins}/**/skills/*/SKILL.md',
16
+ 'agentic/code/{frameworks,addons,extensions,plugins}/**/skills/*.{md,yaml,yml}',
17
+ ],
18
+ rule: ['agentic/code/{frameworks,addons,extensions,plugins}/**/rules/*.{md,yaml,yml}'],
19
+ workflow: [
20
+ 'agentic/code/{frameworks,addons,extensions,plugins}/**/flows/*.playbook.{yaml,yml}',
21
+ 'agentic/code/{frameworks,addons,extensions,plugins}/**/workflows/*.{md,yaml,yml}',
22
+ ],
23
+ };
24
+ function candidateName(type, file) {
25
+ if (type === 'skill' && path.basename(file) === 'SKILL.md')
26
+ return path.basename(path.dirname(file));
27
+ return path.basename(file).replace(/\.playbook\.(?:yaml|yml)$/i, '').replace(/\.(?:md|yaml|yml)$/i, '');
28
+ }
29
+ function candidatePriority(relativePath) {
30
+ if (relativePath.includes('/plugins/'))
31
+ return 3;
32
+ if (relativePath.includes('/extensions/'))
33
+ return 2;
34
+ if (relativePath.includes('/addons/'))
35
+ return 1;
36
+ return 0;
37
+ }
38
+ function stableId(type, relativePath) {
39
+ const entry = {
40
+ path: relativePath,
41
+ type: type === 'workflow' ? 'flow' : type,
42
+ };
43
+ return stableRecordId(recordTypeForEntry(entry, 'v2'), relativePath);
44
+ }
45
+ async function collectCandidates(frameworkRoot) {
46
+ const candidates = [];
47
+ for (const type of Object.keys(PATTERNS)) {
48
+ const files = await glob(PATTERNS[type], {
49
+ cwd: frameworkRoot,
50
+ nodir: true,
51
+ dot: true,
52
+ posix: true,
53
+ });
54
+ for (const relativePath of files)
55
+ candidates.push({
56
+ type,
57
+ name: candidateName(type, relativePath),
58
+ relativePath,
59
+ stableId: stableId(type, relativePath),
60
+ priority: candidatePriority(relativePath),
61
+ });
62
+ }
63
+ return candidates;
64
+ }
65
+ export async function resolveRoutableCapability(frameworkRoot, type, requested) {
66
+ const needle = requested.trim();
67
+ const candidates = await collectCandidates(frameworkRoot);
68
+ const exact = candidates.filter(candidate => candidate.type === type
69
+ && (candidate.name === needle || candidate.stableId === needle));
70
+ if (exact.length === 0) {
71
+ const otherTypes = [...new Set(candidates
72
+ .filter(candidate => candidate.name === needle || candidate.stableId === needle)
73
+ .map(candidate => candidate.type))];
74
+ if (otherTypes.length > 0)
75
+ throw new CapabilityResolutionError(`Capability ${needle} exists as ${otherTypes.join(', ')}, not ${type}.`, 'type-mismatch');
76
+ throw new CapabilityResolutionError(`No ${type} capability found for ${needle}.`, 'missing');
77
+ }
78
+ const bestPriority = Math.min(...exact.map(candidate => candidate.priority));
79
+ const preferred = exact.filter(candidate => candidate.priority === bestPriority);
80
+ if (preferred.length > 1)
81
+ throw new CapabilityResolutionError(`Capability ${needle} is ambiguous for ${type}: ${preferred.map(item => item.relativePath).join(', ')}`, 'ambiguous');
82
+ const selected = preferred[0];
83
+ return {
84
+ type,
85
+ id: selected.stableId,
86
+ name: selected.name,
87
+ source: {
88
+ path: selected.relativePath,
89
+ scope: 'packaged',
90
+ provenance: 'corpus',
91
+ },
92
+ };
93
+ }
94
+ //# sourceMappingURL=capability-resolver.js.map
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Checksum Manifest — Fast Change Detection
3
+ *
4
+ * Stores `{ path, checksum, mtime, size }` per indexed file to enable
5
+ * two-phase change detection:
6
+ * Phase 1: stat() comparison (no file read) — filter out unchanged files
7
+ * Phase 2: content read + checksum — only for candidates where stat differs
8
+ *
9
+ * This avoids reading every file on `aiwg index build` when most haven't
10
+ * changed, reducing rebuild time from O(N reads) to O(N stats + M reads)
11
+ * where M << N on typical projects.
12
+ *
13
+ * @implements #794
14
+ * @source @src/artifacts/index-builder.ts
15
+ */
16
+ import fs from 'fs';
17
+ import path from 'path';
18
+ const MANIFEST_FILENAME = 'checksum-manifest.json';
19
+ /**
20
+ * Build a manifest entry from a file's current stat + checksum
21
+ */
22
+ export function makeEntry(checksum, stat) {
23
+ return {
24
+ checksum,
25
+ mtime: stat.mtime.toISOString(),
26
+ size: stat.size,
27
+ };
28
+ }
29
+ /**
30
+ * Load the checksum manifest from an index directory.
31
+ * Returns an empty manifest if the file is missing or malformed.
32
+ */
33
+ export function loadManifest(indexDir) {
34
+ const manifestPath = path.join(indexDir, MANIFEST_FILENAME);
35
+ if (!fs.existsSync(manifestPath)) {
36
+ return { version: 1, generated: '', entries: {} };
37
+ }
38
+ try {
39
+ const raw = fs.readFileSync(manifestPath, 'utf-8');
40
+ const parsed = JSON.parse(raw);
41
+ if (parsed.version !== 1 || !parsed.entries) {
42
+ return { version: 1, generated: '', entries: {} };
43
+ }
44
+ return parsed;
45
+ }
46
+ catch {
47
+ return { version: 1, generated: '', entries: {} };
48
+ }
49
+ }
50
+ /**
51
+ * Write the checksum manifest atomically (write to temp, rename).
52
+ */
53
+ export function writeManifest(indexDir, manifest) {
54
+ fs.mkdirSync(indexDir, { recursive: true });
55
+ const manifestPath = path.join(indexDir, MANIFEST_FILENAME);
56
+ const tmpPath = `${manifestPath}.tmp`;
57
+ const payload = {
58
+ version: 1,
59
+ generated: new Date().toISOString(),
60
+ entries: manifest.entries,
61
+ };
62
+ fs.writeFileSync(tmpPath, JSON.stringify(payload, null, 2), 'utf-8');
63
+ fs.renameSync(tmpPath, manifestPath);
64
+ }
65
+ /**
66
+ * Phase 1 check: can we skip this file based on stat alone?
67
+ *
68
+ * Returns true if the file's current mtime and size match the manifest entry —
69
+ * in which case we presume the content is unchanged and skip the read.
70
+ */
71
+ export function statMatches(stat, entry) {
72
+ if (!entry)
73
+ return false;
74
+ return stat.mtime.toISOString() === entry.mtime && stat.size === entry.size;
75
+ }
76
+ /**
77
+ * Remove stale entries (files that no longer exist on disk) from the manifest.
78
+ * Returns the count removed.
79
+ */
80
+ export function pruneManifest(manifest, cwd) {
81
+ let removed = 0;
82
+ for (const relativePath of Object.keys(manifest.entries)) {
83
+ const fullPath = path.join(cwd, relativePath);
84
+ if (!fs.existsSync(fullPath)) {
85
+ delete manifest.entries[relativePath];
86
+ removed++;
87
+ }
88
+ }
89
+ return removed;
90
+ }
91
+ //# sourceMappingURL=checksum-manifest.js.map
@@ -0,0 +1,162 @@
1
+ /**
2
+ * Citation Sidecar Edge Extraction
3
+ *
4
+ * Parses markdown citation sidecar files into typed graph edges.
5
+ * Each sidecar has YAML frontmatter with `ref: <id>` and two markdown tables:
6
+ *
7
+ * - **Outgoing**: papers this work cites (column: "Inducted REF") → `cites` edges
8
+ * - **Incoming**: corpus papers that cite this work (column: "REF") → `cited-by` edges
9
+ *
10
+ * Supported node-id forms (#105):
11
+ * - `REF-\d+` research-paper IDs (REF-001, REF-029, ...)
12
+ * - `PROF-[POFG]-[a-z0-9-]+` entity-profile IDs:
13
+ * - `PROF-P-*` people, `PROF-O-*` orgs, `PROF-F-*` funders, `PROF-G-*` groups
14
+ *
15
+ * Both forms can appear as the sidecar's source (`frontmatter.ref`) and as
16
+ * targets in the outgoing/incoming tables. The two ID spaces are
17
+ * unambiguous (always prefixed) and orthogonal.
18
+ *
19
+ * @implements #722
20
+ * @implements #105
21
+ * @source @src/artifacts/types.ts
22
+ * @tests @test/unit/artifacts/citation-parser.test.ts
23
+ */
24
+ import { parseFrontmatter } from './index-builder.js';
25
+ /**
26
+ * Match a single node identifier (REF-* or PROF-*) anywhere in a string.
27
+ * Used by `extractRefsFromTable` to pull every ID out of a table cell.
28
+ */
29
+ const NODE_ID_PATTERN = /(?:REF-\d+|PROF-[POFG]-[a-z0-9-]+)/g;
30
+ /**
31
+ * Validate that a string is a complete node identifier.
32
+ * Used by `parseCitationSidecar` and `buildRefToPathMap` to gate
33
+ * frontmatter `ref` values.
34
+ */
35
+ const NODE_ID_FULL = /^(?:REF-\d+|PROF-[POFG]-[a-z0-9-]+)$/;
36
+ /**
37
+ * Test whether a string is a valid sidecar node identifier.
38
+ *
39
+ * Accepts `REF-\d+` and `PROF-[POFG]-[a-z0-9-]+`. Returns false for any
40
+ * other input (including unrelated `PROF-` prefixed strings that don't
41
+ * match the four-letter type code form).
42
+ */
43
+ export function isNodeId(value) {
44
+ return typeof value === 'string' && NODE_ID_FULL.test(value);
45
+ }
46
+ /**
47
+ * Extract node identifiers from a markdown table column.
48
+ *
49
+ * Scans table rows for a column matching `columnName` (case-insensitive)
50
+ * and extracts node IDs (REF-* or PROF-*), skipping empty/dash values.
51
+ *
52
+ * @param tableText - Markdown table text (header + separator + rows)
53
+ * @param columnName - Column header to extract from (e.g., "Inducted REF")
54
+ * @returns Array of node identifiers found
55
+ */
56
+ export function extractRefsFromTable(tableText, columnName) {
57
+ const lines = tableText.split('\n').filter(l => l.trim().startsWith('|'));
58
+ if (lines.length < 3)
59
+ return []; // Need header + separator + at least one row
60
+ // Parse header to find column index
61
+ const headerCells = lines[0].split('|').map(c => c.trim()).filter(Boolean);
62
+ const colIndex = headerCells.findIndex(h => h.toLowerCase() === columnName.toLowerCase());
63
+ if (colIndex === -1)
64
+ return [];
65
+ // Skip header (line 0) and separator (line 1), parse data rows
66
+ const refs = [];
67
+ for (let i = 2; i < lines.length; i++) {
68
+ const cells = lines[i].split('|').map(c => c.trim()).filter(Boolean);
69
+ if (colIndex >= cells.length)
70
+ continue;
71
+ const value = cells[colIndex].trim();
72
+ // Skip empty, dash, or em-dash values
73
+ if (!value || value === '—' || value === '-' || value === '–')
74
+ continue;
75
+ // Extract node-id pattern(s) (REF-* or PROF-*) from the cell.
76
+ // Reset the lastIndex defensively — NODE_ID_PATTERN is a module-level
77
+ // /g RegExp shared across calls.
78
+ NODE_ID_PATTERN.lastIndex = 0;
79
+ const refMatches = value.match(NODE_ID_PATTERN);
80
+ if (refMatches) {
81
+ refs.push(...refMatches);
82
+ }
83
+ }
84
+ return refs;
85
+ }
86
+ /**
87
+ * Parse a citation sidecar markdown file into structured edges.
88
+ *
89
+ * @param content - Full markdown content of the sidecar file
90
+ * @returns Parse result with ref ID and edge arrays, or null if not a valid sidecar
91
+ */
92
+ export function parseCitationSidecar(content) {
93
+ const { data, body } = parseFrontmatter(content);
94
+ // Must have a node identifier in frontmatter (REF-* or PROF-*)
95
+ const ref = typeof data.ref === 'string' ? data.ref : null;
96
+ if (!ref || !NODE_ID_FULL.test(ref))
97
+ return null;
98
+ // Split body into sections by ## headings
99
+ const sections = body.split(/^## /m).filter(Boolean);
100
+ let cites = [];
101
+ let citedBy = [];
102
+ for (const section of sections) {
103
+ const sectionLower = section.toLowerCase();
104
+ if (sectionLower.startsWith('outgoing')) {
105
+ // Outgoing table: extract from "Inducted REF" column
106
+ cites = extractRefsFromTable(section, 'Inducted REF');
107
+ }
108
+ else if (sectionLower.startsWith('incoming')) {
109
+ // Incoming table: extract from "REF" column
110
+ // The incoming section may have subsections (### Corpus Cross-References)
111
+ // Look for tables anywhere in this section
112
+ citedBy = extractRefsFromTable(section, 'REF');
113
+ }
114
+ }
115
+ return { ref, cites, citedBy };
116
+ }
117
+ /**
118
+ * Convert a CitationParseResult into TypedEdge arrays for the dependency graph.
119
+ *
120
+ * @param result - Parsed citation sidecar
121
+ * @param refToPath - Map from REF-XXX to file path in the index
122
+ * @returns Object with upstream (cites) and downstream (cited-by) typed edges
123
+ */
124
+ export function citationResultToEdges(result, refToPath) {
125
+ const upstream = [];
126
+ const downstream = [];
127
+ // Outgoing citations → upstream "cites" edges
128
+ for (const citedRef of result.cites) {
129
+ const targetPath = refToPath.get(citedRef);
130
+ if (targetPath) {
131
+ upstream.push({ path: targetPath, type: 'cites' });
132
+ }
133
+ }
134
+ // Incoming citations → downstream "cited-by" edges
135
+ for (const citingRef of result.citedBy) {
136
+ const sourcePath = refToPath.get(citingRef);
137
+ if (sourcePath) {
138
+ downstream.push({ path: sourcePath, type: 'cited-by' });
139
+ }
140
+ }
141
+ return { upstream, downstream };
142
+ }
143
+ /**
144
+ * Build a node-id → file path mapping from indexed entries.
145
+ *
146
+ * Scans entry frontmatter for `ref` fields matching the node-id pattern
147
+ * (REF-* or PROF-*).
148
+ *
149
+ * @param entries - Map of path → parsed frontmatter data
150
+ * @returns Map from node identifier to file path
151
+ */
152
+ export function buildRefToPathMap(entries) {
153
+ const map = new Map();
154
+ for (const [filePath, data] of entries) {
155
+ const ref = typeof data.ref === 'string' ? data.ref : null;
156
+ if (ref && NODE_ID_FULL.test(ref)) {
157
+ map.set(ref, filePath);
158
+ }
159
+ }
160
+ return map;
161
+ }
162
+ //# sourceMappingURL=citation-parser.js.map