@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,155 @@
1
+ /**
2
+ * Shared interactive-prompt utilities.
3
+ *
4
+ * Every readline-based prompt in the CLI MUST go through these helpers so
5
+ * the CLI can never hang indefinitely on a detached or unresponsive terminal.
6
+ * All helpers apply a hard timeout (default 60s, overridable via
7
+ * AIWG_PROMPT_TIMEOUT_MS) after which the prompt resolves to the supplied
8
+ * fallback and a visible warning is emitted.
9
+ *
10
+ * The underlying setTimeout is `.unref()`'d so a user pressing Ctrl-C mid-prompt
11
+ * does not keep the event loop alive for the remaining wait window.
12
+ *
13
+ * Phase 1 of the CLI Stabilization Epic (#918). Phase 3 (#920) will migrate
14
+ * these helpers to @clack/prompts with AbortSignal support; this file is the
15
+ * interim abstraction that makes both call-site cleanup and that future
16
+ * migration mechanical.
17
+ */
18
+ import readline from 'readline';
19
+ import * as ui from './ui.js';
20
+ /**
21
+ * Resolve the prompt timeout from env. Falsy / non-numeric / non-positive
22
+ * values fall back to 60 seconds.
23
+ */
24
+ export function promptTimeoutMs() {
25
+ const raw = process.env['AIWG_PROMPT_TIMEOUT_MS'];
26
+ const n = raw ? parseInt(raw, 10) : NaN;
27
+ return Number.isFinite(n) && n > 0 ? n : 60_000;
28
+ }
29
+ /**
30
+ * Create a readline interface bound to process stdio. Callers must always
31
+ * `rl.close()` when done.
32
+ */
33
+ export function createPromptInterface() {
34
+ return readline.createInterface({
35
+ input: process.stdin,
36
+ output: process.stdout,
37
+ });
38
+ }
39
+ /**
40
+ * Ask a single question with a hard timeout. On timeout, resolves to `fallback`
41
+ * and emits a warn-level UI message describing what default was used.
42
+ *
43
+ * The timeout timer is `.unref()`'d so the event loop can exit cleanly when
44
+ * the caller closes the readline interface (e.g. on Ctrl-C).
45
+ *
46
+ * Do NOT call this from multiple sites on the same readline interface
47
+ * concurrently — each readline interface should own exactly one in-flight
48
+ * prompt at a time.
49
+ */
50
+ export function askWithTimeout(rl, prompt, parse, fallback, fallbackLabel, timeoutMs = promptTimeoutMs(), signal) {
51
+ return new Promise((resolve, reject) => {
52
+ let settled = false;
53
+ const timer = setTimeout(() => {
54
+ if (settled)
55
+ return;
56
+ settled = true;
57
+ ui.warn(` No input within ${Math.round(timeoutMs / 1000)}s — using default: ${fallbackLabel}`);
58
+ cleanup();
59
+ resolve(fallback);
60
+ }, timeoutMs);
61
+ // Ensure the timer does not block the event loop if the readline interface
62
+ // is closed (e.g. user hits Ctrl-C). The callback only fires if the timer
63
+ // is still live and the event loop has other work.
64
+ timer.unref?.();
65
+ // Integrate with the HandlerContext.signal plumbed through in Phase 3
66
+ // (#920). When Ctrl-C aborts the top-level AbortController, the prompt
67
+ // rejects cleanly, closes the readline, and clears the timeout — no
68
+ // orphaned input reader, no pending timer.
69
+ const onAbort = () => {
70
+ if (settled)
71
+ return;
72
+ settled = true;
73
+ cleanup();
74
+ try {
75
+ rl.close();
76
+ }
77
+ catch { /* already closed */ }
78
+ reject(signal.reason ?? new Error('Aborted'));
79
+ };
80
+ const cleanup = () => {
81
+ clearTimeout(timer);
82
+ signal?.removeEventListener('abort', onAbort);
83
+ };
84
+ if (signal?.aborted) {
85
+ // Fire synchronously so the caller's try/catch sees the reject without
86
+ // awaiting a tick.
87
+ onAbort();
88
+ return;
89
+ }
90
+ signal?.addEventListener('abort', onAbort, { once: true });
91
+ rl.question(prompt, (answer) => {
92
+ if (settled)
93
+ return;
94
+ settled = true;
95
+ cleanup();
96
+ resolve(parse(answer));
97
+ });
98
+ });
99
+ }
100
+ /**
101
+ * Prompt for a trimmed string with timeout and default. Honors `signal` from
102
+ * the HandlerContext (Phase 3 #920) so Ctrl-C cancels the prompt cleanly.
103
+ */
104
+ export async function askString(rl, prompt, fallback = '', signal) {
105
+ return askWithTimeout(rl, prompt, (a) => a.trim(), fallback, fallback || '(empty)', promptTimeoutMs(), signal);
106
+ }
107
+ /**
108
+ * Prompt for a yes/no answer with timeout and default. Answers starting with
109
+ * 'y' (case-insensitive) are considered yes; everything else is no. On
110
+ * timeout, returns `defaultValue`.
111
+ */
112
+ export async function askYesNo(rl, question, defaultValue = false, signal) {
113
+ return askWithTimeout(rl, question, (a) => a.trim().toLowerCase().startsWith('y'), defaultValue, defaultValue ? 'yes' : 'no', promptTimeoutMs(), signal);
114
+ }
115
+ /**
116
+ * Prompt for a numeric selection from a list. Returns the selected item, or
117
+ * `fallback` on timeout / invalid input. If `fallback` is undefined, returns
118
+ * `options[0]`.
119
+ */
120
+ export async function askChoice(rl, prompt, options, fallback, signal) {
121
+ const pick = fallback ?? options[0];
122
+ const label = fallback !== undefined ? String(fallback) : String(pick);
123
+ return askWithTimeout(rl, prompt, (answer) => {
124
+ const idx = parseInt(answer.trim(), 10) - 1;
125
+ if (!isNaN(idx) && idx >= 0 && idx < options.length)
126
+ return options[idx];
127
+ return pick;
128
+ }, pick, label, promptTimeoutMs(), signal);
129
+ }
130
+ /**
131
+ * Prompt for a labeled selection from a list of options. Renders each option
132
+ * as a numbered line before asking. Users can respond by number (1-based) or
133
+ * by matching the exact `label`. On timeout or invalid input, returns
134
+ * `fallback`.
135
+ *
136
+ * This replaces the hand-rolled number-or-name logic sprinkled across
137
+ * `init.ts` (provider selection) and `use.ts` (topology profile picker).
138
+ * POC for the prompt-library spike (#926).
139
+ */
140
+ export async function listSelect(rl, prompt, options, fallback, signal) {
141
+ if (options.length === 0)
142
+ return fallback;
143
+ options.forEach((opt, i) => console.log(` ${i + 1}. ${opt.label}`));
144
+ return askWithTimeout(rl, prompt, (answer) => {
145
+ const trimmed = answer.trim();
146
+ if (!trimmed)
147
+ return fallback;
148
+ const idx = parseInt(trimmed, 10) - 1;
149
+ if (!isNaN(idx) && idx >= 0 && idx < options.length)
150
+ return options[idx].value;
151
+ const match = options.find(o => o.label === trimmed);
152
+ return match?.value ?? fallback;
153
+ }, fallback, String(fallback), promptTimeoutMs(), signal);
154
+ }
155
+ //# sourceMappingURL=prompt-utils.js.map
@@ -0,0 +1,126 @@
1
+ const DEFAULT_PROVIDER = 'claude';
2
+ function normalizeUnique(values) {
3
+ const seen = new Set();
4
+ for (const value of values ?? []) {
5
+ const normalized = value.trim();
6
+ if (normalized.length > 0)
7
+ seen.add(normalized);
8
+ }
9
+ return [...seen].sort((a, b) => a.localeCompare(b));
10
+ }
11
+ function deployedProviders(installed) {
12
+ const providers = new Set();
13
+ for (const entry of Object.values(installed ?? {})) {
14
+ for (const provider of Object.keys(entry.deployedTo ?? {})) {
15
+ if (provider.trim().length > 0)
16
+ providers.add(provider);
17
+ }
18
+ }
19
+ return [...providers].sort((a, b) => a.localeCompare(b));
20
+ }
21
+ function projectCandidates(request) {
22
+ const requested = normalizeUnique(request.requestedProviders);
23
+ if (requested.length > 0)
24
+ return requested;
25
+ const supported = normalizeUnique(request.supportedProviders);
26
+ if (request.mode === 'use' && supported.length > 0)
27
+ return supported;
28
+ const configured = normalizeUnique(request.projectConfig?.providers);
29
+ if (request.mode === 'use' && configured.length > 0)
30
+ return configured;
31
+ const installed = deployedProviders(request.projectConfig?.installed);
32
+ if (installed.length > 0)
33
+ return installed;
34
+ return request.mode === 'use' ? [DEFAULT_PROVIDER] : [];
35
+ }
36
+ function globalCandidates(request) {
37
+ const requested = normalizeUnique(request.requestedProviders);
38
+ if (requested.length > 0)
39
+ return requested;
40
+ const supported = normalizeUnique(request.supportedProviders);
41
+ if (request.mode === 'use' && supported.length > 0)
42
+ return supported;
43
+ const installed = deployedProviders(request.userRegistry?.installed);
44
+ if (installed.length > 0)
45
+ return installed;
46
+ return request.mode === 'use' ? [DEFAULT_PROVIDER] : [];
47
+ }
48
+ function scopesFor(scope) {
49
+ if (scope === 'both')
50
+ return ['project', 'global'];
51
+ return [scope];
52
+ }
53
+ function planScope(request, scope) {
54
+ const candidates = scope === 'project' ? projectCandidates(request) : globalCandidates(request);
55
+ const installed = scope === 'project'
56
+ ? deployedProviders(request.projectConfig?.installed)
57
+ : deployedProviders(request.userRegistry?.installed);
58
+ const installedSet = new Set(installed);
59
+ const bundles = normalizeUnique(request.bundles);
60
+ return candidates.map((provider) => {
61
+ const hasProvider = installedSet.has(provider);
62
+ if (request.mode === 'use') {
63
+ return {
64
+ scope,
65
+ provider,
66
+ action: hasProvider ? 'updated' : 'added',
67
+ reason: hasProvider
68
+ ? 'provider already has an AIWG deployment in this scope'
69
+ : 'use mode expands the selected scope to this provider',
70
+ bundles,
71
+ };
72
+ }
73
+ if (!hasProvider) {
74
+ return {
75
+ scope,
76
+ provider,
77
+ action: 'skipped',
78
+ reason: 'refresh/update mode only acts on providers already installed in this scope',
79
+ bundles,
80
+ };
81
+ }
82
+ return {
83
+ scope,
84
+ provider,
85
+ action: 'refreshed',
86
+ reason: 'provider already has an AIWG deployment in this scope',
87
+ bundles,
88
+ };
89
+ });
90
+ }
91
+ export function buildProviderDeploymentPlan(request) {
92
+ const dryRun = request.dryRun ?? false;
93
+ const interactive = request.interactive ?? false;
94
+ const mode = request.mode;
95
+ const items = scopesFor(request.scope).flatMap((scope) => planScope(request, scope));
96
+ return {
97
+ mode,
98
+ scope: request.scope,
99
+ dryRun,
100
+ interactive,
101
+ upgrade: {
102
+ action: mode === 'use' ? 'check' : 'skip',
103
+ reason: mode === 'use'
104
+ ? 'use mode performs stale-installed CLI preflight before provider deployment'
105
+ : 'refresh/update mode preserves the existing provider footprint',
106
+ },
107
+ items,
108
+ };
109
+ }
110
+ export function renderProviderDeploymentPlan(plan) {
111
+ const header = `${plan.dryRun ? '[dry-run] ' : ''}Provider ${plan.mode} plan (${plan.scope})`;
112
+ const lines = [
113
+ header,
114
+ `Upgrade preflight: ${plan.upgrade.action} - ${plan.upgrade.reason}`,
115
+ ];
116
+ if (plan.items.length === 0) {
117
+ lines.push('No provider deployments selected.');
118
+ return lines.join('\n');
119
+ }
120
+ for (const item of plan.items) {
121
+ const bundleText = item.bundles.length > 0 ? ` bundles=${item.bundles.join(',')}` : '';
122
+ lines.push(`- ${item.scope}:${item.provider} ${item.action} - ${item.reason}${bundleText}`);
123
+ }
124
+ return lines.join('\n');
125
+ }
126
+ //# sourceMappingURL=provider-deployment-plan.js.map
@@ -0,0 +1,119 @@
1
+ import { readFileSync } from 'node:fs';
2
+ import { readAiwgConfig } from '../config/aiwg-config.js';
3
+ import { getProviderDefinition, listProviderDefinitions, normalizeProviderDefinitionId, } from '../providers/provider-definitions.js';
4
+ export function normalizeProviderId(provider) {
5
+ return normalizeProviderDefinitionId(provider);
6
+ }
7
+ export function capabilityProviderId(provider) {
8
+ if (!provider)
9
+ return null;
10
+ const definition = getProviderDefinition(provider);
11
+ return definition?.detection.capabilityId ?? provider;
12
+ }
13
+ function uniqueProviders(providers) {
14
+ const result = [];
15
+ for (const provider of providers) {
16
+ const normalized = normalizeProviderId(provider);
17
+ if (normalized && !result.includes(normalized))
18
+ result.push(normalized);
19
+ }
20
+ return result;
21
+ }
22
+ function detectProviderFromRuntimeEnv(env) {
23
+ const definitions = [...listProviderDefinitions()].sort((a, b) => (a.detection.runtimeEnvPriority ?? Number.MAX_SAFE_INTEGER) - (b.detection.runtimeEnvPriority ?? Number.MAX_SAFE_INTEGER));
24
+ for (const definition of definitions) {
25
+ if (definition.detection.env.some((marker) => Boolean(env[marker])))
26
+ return definition.id;
27
+ }
28
+ return null;
29
+ }
30
+ function commandMatchesProviderMarker(command, marker) {
31
+ const escaped = marker.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
32
+ if (marker.includes('/') || marker.includes('@'))
33
+ return command.includes(marker);
34
+ return new RegExp(`(?:^|[/\\s])${escaped}(?:$|[\\s/])`).test(command);
35
+ }
36
+ export function commandLooksLikeProvider(command) {
37
+ const lower = command.toLowerCase();
38
+ for (const definition of listProviderDefinitions()) {
39
+ if (definition.detection.process.some((marker) => commandMatchesProviderMarker(lower, marker))) {
40
+ return definition.id;
41
+ }
42
+ }
43
+ return null;
44
+ }
45
+ export function detectProviderFromProcessTree(pid = process.pid) {
46
+ let current = pid;
47
+ const seen = new Set();
48
+ for (let depth = 0; depth < 12 && current > 1 && !seen.has(current); depth += 1) {
49
+ seen.add(current);
50
+ try {
51
+ const stat = readFileSync(`/proc/${current}/stat`, 'utf8');
52
+ const end = stat.lastIndexOf(')');
53
+ const fields = stat.slice(end + 2).split(' ');
54
+ const ppid = Number(fields[1]);
55
+ const cmdline = readFileSync(`/proc/${current}/cmdline`, 'utf8').replace(/\0/g, ' ');
56
+ const provider = commandLooksLikeProvider(cmdline);
57
+ if (provider)
58
+ return provider;
59
+ current = Number.isFinite(ppid) ? ppid : 0;
60
+ }
61
+ catch {
62
+ return null;
63
+ }
64
+ }
65
+ return null;
66
+ }
67
+ export async function resolveActiveProvider(options) {
68
+ const env = options.env ?? process.env;
69
+ const explicit = normalizeProviderId(options.explicitProvider);
70
+ if (explicit) {
71
+ return { provider: explicit, source: 'explicit', candidates: [explicit], reason: '--provider supplied' };
72
+ }
73
+ const envProvider = normalizeProviderId(env.AIWG_PROVIDER ?? env.CLAUDECODE_PROVIDER);
74
+ if (envProvider) {
75
+ return { provider: envProvider, source: 'env', candidates: [envProvider], reason: 'explicit provider environment variable' };
76
+ }
77
+ const runtimeProvider = detectProviderFromRuntimeEnv(env);
78
+ if (runtimeProvider) {
79
+ return { provider: runtimeProvider, source: 'runtime-env', candidates: [runtimeProvider], reason: 'runtime environment marker' };
80
+ }
81
+ const testProcessProvider = normalizeProviderId(env.AIWG_TEST_PROCESS_PROVIDER);
82
+ if (testProcessProvider) {
83
+ return { provider: testProcessProvider, source: 'process', candidates: [testProcessProvider], reason: 'provider process ancestry' };
84
+ }
85
+ if (options.detectProcess !== false && env.AIWG_DISABLE_PROCESS_PROVIDER_DETECTION !== '1') {
86
+ const processProvider = detectProviderFromProcessTree();
87
+ if (processProvider) {
88
+ return { provider: processProvider, source: 'process', candidates: [processProvider], reason: 'provider process ancestry' };
89
+ }
90
+ }
91
+ try {
92
+ const config = await readAiwgConfig(options.cwd);
93
+ const configured = uniqueProviders(config?.providers ?? []);
94
+ if (configured.length === 1) {
95
+ return { provider: configured[0], source: 'config', candidates: configured, reason: '.aiwg/aiwg.config providers' };
96
+ }
97
+ if (configured.length > 1) {
98
+ return { provider: null, source: 'ambiguous', candidates: configured, reason: 'multiple configured providers' };
99
+ }
100
+ const deployed = uniqueProviders(Object.values(config?.installed ?? {}).flatMap((entry) => Object.keys(entry.deployedTo ?? {})));
101
+ if (deployed.length === 1) {
102
+ return { provider: deployed[0], source: 'deployment', candidates: deployed, reason: 'single deployed provider' };
103
+ }
104
+ if (deployed.length > 1) {
105
+ return { provider: null, source: 'ambiguous', candidates: deployed, reason: 'multiple deployed providers' };
106
+ }
107
+ }
108
+ catch {
109
+ // Missing or malformed project config is not fatal for provider detection.
110
+ }
111
+ const fallback = options.defaultProvider ?? null;
112
+ return {
113
+ provider: fallback,
114
+ source: fallback ? 'default' : 'ambiguous',
115
+ candidates: fallback ? [fallback] : [],
116
+ reason: fallback ? 'default provider' : 'no provider signal found',
117
+ };
118
+ }
119
+ //# sourceMappingURL=provider-resolution.js.map