@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,217 @@
1
+ /**
2
+ * Model Catalog Loader
3
+ *
4
+ * Loads and merges model catalogs from multiple sources:
5
+ * - Builtin models (shipped with AIWG)
6
+ * - Discovered models (from auto-refresh)
7
+ * - Custom models (user-defined)
8
+ *
9
+ * Merge priority: custom > discovered > builtin
10
+ *
11
+ * @implements @.aiwg/architecture/enhanced-model-selection-design.md#9-model-catalog-system
12
+ * @module src/catalog/loader
13
+ */
14
+ import { readFile } from 'fs/promises';
15
+ import { existsSync } from 'fs';
16
+ import path from 'path';
17
+ import { fileURLToPath } from 'url';
18
+ const __filename = fileURLToPath(import.meta.url);
19
+ const __dirname = path.dirname(__filename);
20
+ /**
21
+ * Get catalog directory in user's data directory
22
+ */
23
+ function getCatalogDir() {
24
+ const homeDir = process.env.HOME || process.env.USERPROFILE || '';
25
+ return path.join(homeDir, '.local/share/aiwg/catalog');
26
+ }
27
+ /**
28
+ * Load a catalog file, handling missing files gracefully
29
+ */
30
+ async function loadCatalogFile(filePath) {
31
+ if (!existsSync(filePath)) {
32
+ return null;
33
+ }
34
+ try {
35
+ const content = await readFile(filePath, 'utf-8');
36
+ return JSON.parse(content);
37
+ }
38
+ catch (error) {
39
+ console.warn(`Failed to load catalog from ${filePath}:`, error);
40
+ return null;
41
+ }
42
+ }
43
+ /**
44
+ * Merge two model catalogs
45
+ * Later catalog takes precedence for conflicts
46
+ */
47
+ function mergeCatalogs(base, overlay) {
48
+ if (!overlay) {
49
+ return base;
50
+ }
51
+ return {
52
+ models: {
53
+ ...(base.models || {}),
54
+ ...(overlay.models || {}),
55
+ },
56
+ providers: {
57
+ ...(base.providers || {}),
58
+ ...(overlay.providers || {}),
59
+ },
60
+ metadata: overlay.metadata || base.metadata,
61
+ };
62
+ }
63
+ /**
64
+ * Load the builtin models catalog
65
+ */
66
+ async function loadBuiltinCatalog() {
67
+ const builtinPath = path.join(__dirname, 'builtin-models.json');
68
+ const catalog = await loadCatalogFile(builtinPath);
69
+ if (!catalog) {
70
+ throw new Error('Failed to load builtin models catalog');
71
+ }
72
+ return catalog;
73
+ }
74
+ /**
75
+ * Load the discovered models catalog
76
+ */
77
+ async function loadDiscoveredCatalog() {
78
+ const catalogDir = getCatalogDir();
79
+ const discoveredPath = path.join(catalogDir, 'discovered-models.json');
80
+ return loadCatalogFile(discoveredPath);
81
+ }
82
+ /**
83
+ * Load the custom models catalog
84
+ */
85
+ async function loadCustomCatalog() {
86
+ const catalogDir = getCatalogDir();
87
+ const customPath = path.join(catalogDir, 'custom-models.json');
88
+ return loadCatalogFile(customPath);
89
+ }
90
+ /**
91
+ * Load and merge all catalog sources
92
+ *
93
+ * Merge order: builtin -> discovered -> custom
94
+ * Later sources override earlier ones
95
+ */
96
+ export async function loadCatalog() {
97
+ const builtin = await loadBuiltinCatalog();
98
+ const discovered = await loadDiscoveredCatalog();
99
+ const custom = await loadCustomCatalog();
100
+ let merged = mergeCatalogs(builtin, discovered);
101
+ merged = mergeCatalogs(merged, custom);
102
+ // Ensure required fields exist
103
+ const catalog = {
104
+ models: merged.models || {},
105
+ providers: merged.providers || {},
106
+ metadata: merged.metadata || {
107
+ version: '1.0.0',
108
+ lastRefresh: new Date().toISOString(),
109
+ modelCount: 0,
110
+ providerCount: 0,
111
+ },
112
+ };
113
+ // Update counts
114
+ catalog.metadata.modelCount = Object.keys(catalog.models).length;
115
+ catalog.metadata.providerCount = Object.keys(catalog.providers).length;
116
+ return catalog;
117
+ }
118
+ /**
119
+ * Get a single model by ID or alias
120
+ */
121
+ export async function getModel(modelIdOrAlias) {
122
+ const catalog = await loadCatalog();
123
+ // Try direct ID lookup
124
+ if (catalog.models[modelIdOrAlias]) {
125
+ return catalog.models[modelIdOrAlias];
126
+ }
127
+ // Try alias lookup
128
+ for (const model of Object.values(catalog.models)) {
129
+ if (model.aliases.includes(modelIdOrAlias)) {
130
+ return model;
131
+ }
132
+ }
133
+ return null;
134
+ }
135
+ /**
136
+ * List all models, optionally filtered
137
+ */
138
+ export async function listModels(filter) {
139
+ const catalog = await loadCatalog();
140
+ let models = Object.values(catalog.models);
141
+ if (!filter) {
142
+ return models;
143
+ }
144
+ // Apply filters
145
+ if (filter.provider) {
146
+ models = models.filter((m) => m.provider === filter.provider);
147
+ }
148
+ if (filter.status) {
149
+ models = models.filter((m) => m.status === filter.status);
150
+ }
151
+ if (filter.tag) {
152
+ models = models.filter((m) => m.tags.includes(filter.tag));
153
+ }
154
+ if (filter.minContext !== undefined) {
155
+ const minCtx = filter.minContext;
156
+ models = models.filter((m) => m.capabilities.contextWindow >= minCtx);
157
+ }
158
+ if (filter.capability) {
159
+ const cap = filter.capability;
160
+ models = models.filter((m) => {
161
+ const value = m.capabilities[cap];
162
+ // For boolean capabilities, must be true
163
+ if (typeof value === 'boolean') {
164
+ return value === true;
165
+ }
166
+ // For quality ratings, exclude 'poor' and 'unknown'
167
+ if (typeof value === 'string') {
168
+ return value !== 'poor' && value !== 'unknown';
169
+ }
170
+ // For numbers, must be > 0
171
+ return value > 0;
172
+ });
173
+ }
174
+ return models;
175
+ }
176
+ /**
177
+ * Get provider information
178
+ */
179
+ export async function getProvider(providerId) {
180
+ const catalog = await loadCatalog();
181
+ return catalog.providers[providerId] || null;
182
+ }
183
+ /**
184
+ * List all providers
185
+ */
186
+ export async function listProviders() {
187
+ const catalog = await loadCatalog();
188
+ return Object.entries(catalog.providers).map(([id, info]) => ({ id, info }));
189
+ }
190
+ /**
191
+ * Search models by query string
192
+ * Searches in: id, displayName, aliases, tags
193
+ */
194
+ export async function searchModels(query) {
195
+ const catalog = await loadCatalog();
196
+ const lowerQuery = query.toLowerCase();
197
+ return Object.values(catalog.models).filter((model) => {
198
+ // Search in ID
199
+ if (model.id.toLowerCase().includes(lowerQuery)) {
200
+ return true;
201
+ }
202
+ // Search in display name
203
+ if (model.displayName.toLowerCase().includes(lowerQuery)) {
204
+ return true;
205
+ }
206
+ // Search in aliases
207
+ if (model.aliases.some((alias) => alias.toLowerCase().includes(lowerQuery))) {
208
+ return true;
209
+ }
210
+ // Search in tags
211
+ if (model.tags.some((tag) => tag.toLowerCase().includes(lowerQuery))) {
212
+ return true;
213
+ }
214
+ return false;
215
+ });
216
+ }
217
+ //# sourceMappingURL=loader.js.map
@@ -0,0 +1,251 @@
1
+ /**
2
+ * Model Catalog Loader
3
+ *
4
+ * Loads and merges model catalogs from multiple sources:
5
+ * - Builtin models (shipped with AIWG)
6
+ * - Discovered models (from auto-refresh)
7
+ * - Custom models (user-defined)
8
+ *
9
+ * Merge priority: custom > discovered > builtin
10
+ *
11
+ * @implements @.aiwg/architecture/enhanced-model-selection-design.md#9-model-catalog-system
12
+ * @module src/catalog/loader
13
+ */
14
+
15
+ import { readFile } from 'fs/promises';
16
+ import { existsSync } from 'fs';
17
+ import path from 'path';
18
+ import { fileURLToPath } from 'url';
19
+
20
+ const __filename = fileURLToPath(import.meta.url);
21
+ const __dirname = path.dirname(__filename);
22
+
23
+ /**
24
+ * Get catalog directory in user's data directory
25
+ */
26
+ function getCatalogDir() {
27
+ const homeDir = process.env.HOME || process.env.USERPROFILE || '';
28
+ return path.join(homeDir, '.local/share/aiwg/catalog');
29
+ }
30
+
31
+ /**
32
+ * Load a catalog file, handling missing files gracefully
33
+ */
34
+ async function loadCatalogFile(filePath) {
35
+ if (!existsSync(filePath)) {
36
+ return null;
37
+ }
38
+
39
+ try {
40
+ const content = await readFile(filePath, 'utf-8');
41
+ return JSON.parse(content);
42
+ } catch (error) {
43
+ console.warn(`Failed to load catalog from ${filePath}:`, error);
44
+ return null;
45
+ }
46
+ }
47
+
48
+ /**
49
+ * Merge two model catalogs
50
+ * Later catalog takes precedence for conflicts
51
+ */
52
+ function mergeCatalogs(base, overlay) {
53
+ if (!overlay) {
54
+ return base;
55
+ }
56
+
57
+ return {
58
+ models: {
59
+ ...(base.models || {}),
60
+ ...(overlay.models || {}),
61
+ },
62
+ providers: {
63
+ ...(base.providers || {}),
64
+ ...(overlay.providers || {}),
65
+ },
66
+ metadata: overlay.metadata || base.metadata,
67
+ };
68
+ }
69
+
70
+ /**
71
+ * Load the builtin models catalog
72
+ */
73
+ async function loadBuiltinCatalog() {
74
+ const builtinPath = path.join(__dirname, 'builtin-models.json');
75
+ const catalog = await loadCatalogFile(builtinPath);
76
+
77
+ if (!catalog) {
78
+ throw new Error('Failed to load builtin models catalog');
79
+ }
80
+
81
+ return catalog;
82
+ }
83
+
84
+ /**
85
+ * Load the discovered models catalog
86
+ */
87
+ async function loadDiscoveredCatalog() {
88
+ const catalogDir = getCatalogDir();
89
+ const discoveredPath = path.join(catalogDir, 'discovered-models.json');
90
+ return loadCatalogFile(discoveredPath);
91
+ }
92
+
93
+ /**
94
+ * Load the custom models catalog
95
+ */
96
+ async function loadCustomCatalog() {
97
+ const catalogDir = getCatalogDir();
98
+ const customPath = path.join(catalogDir, 'custom-models.json');
99
+ return loadCatalogFile(customPath);
100
+ }
101
+
102
+ /**
103
+ * Load and merge all catalog sources
104
+ *
105
+ * Merge order: builtin -> discovered -> custom
106
+ * Later sources override earlier ones
107
+ */
108
+ export async function loadCatalog() {
109
+ const builtin = await loadBuiltinCatalog();
110
+ const discovered = await loadDiscoveredCatalog();
111
+ const custom = await loadCustomCatalog();
112
+
113
+ let merged = mergeCatalogs(builtin, discovered);
114
+ merged = mergeCatalogs(merged, custom);
115
+
116
+ // Ensure required fields exist
117
+ const catalog = {
118
+ models: merged.models || {},
119
+ providers: merged.providers || {},
120
+ metadata: merged.metadata || {
121
+ version: '1.0.0',
122
+ lastRefresh: new Date().toISOString(),
123
+ modelCount: 0,
124
+ providerCount: 0,
125
+ },
126
+ };
127
+
128
+ // Update counts
129
+ catalog.metadata.modelCount = Object.keys(catalog.models).length;
130
+ catalog.metadata.providerCount = Object.keys(catalog.providers).length;
131
+
132
+ return catalog;
133
+ }
134
+
135
+ /**
136
+ * Get a single model by ID or alias
137
+ */
138
+ export async function getModel(modelIdOrAlias) {
139
+ const catalog = await loadCatalog();
140
+
141
+ // Try direct ID lookup
142
+ if (catalog.models[modelIdOrAlias]) {
143
+ return { ...catalog.models[modelIdOrAlias], id: modelIdOrAlias };
144
+ }
145
+
146
+ // Try alias lookup
147
+ for (const [id, model] of Object.entries(catalog.models)) {
148
+ if (model.aliases.includes(modelIdOrAlias)) {
149
+ return { ...model, id };
150
+ }
151
+ }
152
+
153
+ return null;
154
+ }
155
+
156
+ /**
157
+ * List all models, optionally filtered
158
+ */
159
+ export async function listModels(filter) {
160
+ const catalog = await loadCatalog();
161
+ let models = Object.entries(catalog.models).map(([id, model]) => ({ ...model, id }));
162
+
163
+ if (!filter) {
164
+ return models;
165
+ }
166
+
167
+ // Apply filters
168
+ if (filter.provider) {
169
+ models = models.filter((m) => m.provider === filter.provider);
170
+ }
171
+
172
+ if (filter.status) {
173
+ models = models.filter((m) => m.status === filter.status);
174
+ }
175
+
176
+ if (filter.tag) {
177
+ models = models.filter((m) => m.tags.includes(filter.tag));
178
+ }
179
+
180
+ if (filter.minContext) {
181
+ models = models.filter((m) => m.capabilities.contextWindow >= filter.minContext);
182
+ }
183
+
184
+ if (filter.capability) {
185
+ const cap = filter.capability;
186
+ models = models.filter((m) => {
187
+ const value = m.capabilities[cap];
188
+ // For boolean capabilities, must be true
189
+ if (typeof value === 'boolean') {
190
+ return value === true;
191
+ }
192
+ // For quality ratings, exclude 'poor' and 'unknown'
193
+ if (typeof value === 'string') {
194
+ return value !== 'poor' && value !== 'unknown';
195
+ }
196
+ // For numbers, must be > 0
197
+ return value > 0;
198
+ });
199
+ }
200
+
201
+ return models;
202
+ }
203
+
204
+ /**
205
+ * Get provider information
206
+ */
207
+ export async function getProvider(providerId) {
208
+ const catalog = await loadCatalog();
209
+ return catalog.providers[providerId] || null;
210
+ }
211
+
212
+ /**
213
+ * List all providers
214
+ */
215
+ export async function listProviders() {
216
+ const catalog = await loadCatalog();
217
+ return Object.entries(catalog.providers).map(([id, info]) => ({ id, info }));
218
+ }
219
+
220
+ /**
221
+ * Search models by query string
222
+ * Searches in: id, displayName, aliases, tags
223
+ */
224
+ export async function searchModels(query) {
225
+ const catalog = await loadCatalog();
226
+ const lowerQuery = query.toLowerCase();
227
+
228
+ return Object.entries(catalog.models).map(([id, model]) => ({ ...model, id })).filter((model) => {
229
+ // Search in ID
230
+ if (model.id.toLowerCase().includes(lowerQuery)) {
231
+ return true;
232
+ }
233
+
234
+ // Search in display name
235
+ if (model.displayName.toLowerCase().includes(lowerQuery)) {
236
+ return true;
237
+ }
238
+
239
+ // Search in aliases
240
+ if (model.aliases.some((alias) => alias.toLowerCase().includes(lowerQuery))) {
241
+ return true;
242
+ }
243
+
244
+ // Search in tags
245
+ if (model.tags.some((tag) => tag.toLowerCase().includes(lowerQuery))) {
246
+ return true;
247
+ }
248
+
249
+ return false;
250
+ });
251
+ }
@@ -0,0 +1,41 @@
1
+ {
2
+ "refreshSchedule": {
3
+ "automatic": false,
4
+ "intervalDays": 7,
5
+ "onStartup": false,
6
+ "notifyOnNew": true
7
+ },
8
+ "sources": {
9
+ "anthropic": {
10
+ "enabled": true,
11
+ "endpoint": "https://api.anthropic.com/v1/models",
12
+ "requiresAuth": true,
13
+ "authEnvVar": "ANTHROPIC_API_KEY",
14
+ "cacheDuration": "7d"
15
+ },
16
+ "openai": {
17
+ "enabled": true,
18
+ "endpoint": "https://api.openai.com/v1/models",
19
+ "requiresAuth": true,
20
+ "authEnvVar": "OPENAI_API_KEY",
21
+ "cacheDuration": "7d"
22
+ },
23
+ "openrouter": {
24
+ "enabled": true,
25
+ "endpoint": "https://openrouter.ai/api/v1/models",
26
+ "requiresAuth": false,
27
+ "cacheDuration": "1d"
28
+ },
29
+ "github-litellm": {
30
+ "enabled": true,
31
+ "endpoint": "https://raw.githubusercontent.com/BerriAI/litellm/main/model_prices_and_context_window.json",
32
+ "requiresAuth": false,
33
+ "cacheDuration": "3d"
34
+ }
35
+ },
36
+ "fallbackBehavior": {
37
+ "onSourceFailure": "use-cache",
38
+ "maxCacheAge": "30d",
39
+ "alertOnStale": true
40
+ }
41
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Model Catalog Type Definitions
3
+ *
4
+ * @implements @.aiwg/architecture/enhanced-model-selection-design.md#9-model-catalog-system
5
+ * @module src/catalog/types
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=types.js.map