saasgadget 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (515) hide show
  1. package/LICENSE.md +21 -0
  2. package/README.md +48 -0
  3. package/dist/agents/business-analyst.d.ts +14 -0
  4. package/dist/agents/business-analyst.d.ts.map +1 -0
  5. package/dist/agents/business-analyst.js +70 -0
  6. package/dist/agents/business-analyst.js.map +1 -0
  7. package/dist/agents/code-inspector.d.ts +19 -0
  8. package/dist/agents/code-inspector.d.ts.map +1 -0
  9. package/dist/agents/code-inspector.js +149 -0
  10. package/dist/agents/code-inspector.js.map +1 -0
  11. package/dist/agents/competitor-tracker.d.ts +19 -0
  12. package/dist/agents/competitor-tracker.d.ts.map +1 -0
  13. package/dist/agents/competitor-tracker.js +190 -0
  14. package/dist/agents/competitor-tracker.js.map +1 -0
  15. package/dist/agents/finance-auditor.d.ts +14 -0
  16. package/dist/agents/finance-auditor.d.ts.map +1 -0
  17. package/dist/agents/finance-auditor.js +73 -0
  18. package/dist/agents/finance-auditor.js.map +1 -0
  19. package/dist/agents/gtm-strategist.d.ts +14 -0
  20. package/dist/agents/gtm-strategist.d.ts.map +1 -0
  21. package/dist/agents/gtm-strategist.js +73 -0
  22. package/dist/agents/gtm-strategist.js.map +1 -0
  23. package/dist/agents/orchestrator.d.ts +52 -0
  24. package/dist/agents/orchestrator.d.ts.map +1 -0
  25. package/dist/agents/orchestrator.js +174 -0
  26. package/dist/agents/orchestrator.js.map +1 -0
  27. package/dist/agents/sdk-client.d.ts +48 -0
  28. package/dist/agents/sdk-client.d.ts.map +1 -0
  29. package/dist/agents/sdk-client.js +119 -0
  30. package/dist/agents/sdk-client.js.map +1 -0
  31. package/dist/agents/security-compliance.d.ts +14 -0
  32. package/dist/agents/security-compliance.d.ts.map +1 -0
  33. package/dist/agents/security-compliance.js +87 -0
  34. package/dist/agents/security-compliance.js.map +1 -0
  35. package/dist/agents/skeptic-reviewer.d.ts +14 -0
  36. package/dist/agents/skeptic-reviewer.d.ts.map +1 -0
  37. package/dist/agents/skeptic-reviewer.js +65 -0
  38. package/dist/agents/skeptic-reviewer.js.map +1 -0
  39. package/dist/agents/skills-directory.d.ts +36 -0
  40. package/dist/agents/skills-directory.d.ts.map +1 -0
  41. package/dist/agents/skills-directory.js +108 -0
  42. package/dist/agents/skills-directory.js.map +1 -0
  43. package/dist/cli/commands/auth.d.ts +8 -0
  44. package/dist/cli/commands/auth.d.ts.map +1 -0
  45. package/dist/cli/commands/auth.js +90 -0
  46. package/dist/cli/commands/auth.js.map +1 -0
  47. package/dist/cli/commands/doctor.d.ts +10 -0
  48. package/dist/cli/commands/doctor.d.ts.map +1 -0
  49. package/dist/cli/commands/doctor.js +240 -0
  50. package/dist/cli/commands/doctor.js.map +1 -0
  51. package/dist/cli/commands/fix.d.ts +4 -0
  52. package/dist/cli/commands/fix.d.ts.map +1 -0
  53. package/dist/cli/commands/fix.js +344 -0
  54. package/dist/cli/commands/fix.js.map +1 -0
  55. package/dist/cli/commands/init.d.ts +8 -0
  56. package/dist/cli/commands/init.d.ts.map +1 -0
  57. package/dist/cli/commands/init.js +109 -0
  58. package/dist/cli/commands/init.js.map +1 -0
  59. package/dist/cli/commands/mcp.d.ts +4 -0
  60. package/dist/cli/commands/mcp.d.ts.map +1 -0
  61. package/dist/cli/commands/mcp.js +441 -0
  62. package/dist/cli/commands/mcp.js.map +1 -0
  63. package/dist/cli/commands/new.d.ts +4 -0
  64. package/dist/cli/commands/new.d.ts.map +1 -0
  65. package/dist/cli/commands/new.js +193 -0
  66. package/dist/cli/commands/new.js.map +1 -0
  67. package/dist/cli/commands/pack.d.ts +4 -0
  68. package/dist/cli/commands/pack.d.ts.map +1 -0
  69. package/dist/cli/commands/pack.js +312 -0
  70. package/dist/cli/commands/pack.js.map +1 -0
  71. package/dist/cli/commands/plan.d.ts +4 -0
  72. package/dist/cli/commands/plan.d.ts.map +1 -0
  73. package/dist/cli/commands/plan.js +250 -0
  74. package/dist/cli/commands/plan.js.map +1 -0
  75. package/dist/cli/commands/research.d.ts +7 -0
  76. package/dist/cli/commands/research.d.ts.map +1 -0
  77. package/dist/cli/commands/research.js +331 -0
  78. package/dist/cli/commands/research.js.map +1 -0
  79. package/dist/cli/commands/scan.d.ts +4 -0
  80. package/dist/cli/commands/scan.d.ts.map +1 -0
  81. package/dist/cli/commands/scan.js +434 -0
  82. package/dist/cli/commands/scan.js.map +1 -0
  83. package/dist/cli/commands/session.d.ts +4 -0
  84. package/dist/cli/commands/session.d.ts.map +1 -0
  85. package/dist/cli/commands/session.js +343 -0
  86. package/dist/cli/commands/session.js.map +1 -0
  87. package/dist/cli/commands/settings.d.ts +8 -0
  88. package/dist/cli/commands/settings.d.ts.map +1 -0
  89. package/dist/cli/commands/settings.js +302 -0
  90. package/dist/cli/commands/settings.js.map +1 -0
  91. package/dist/cli/commands/start.d.ts +10 -0
  92. package/dist/cli/commands/start.d.ts.map +1 -0
  93. package/dist/cli/commands/start.js +185 -0
  94. package/dist/cli/commands/start.js.map +1 -0
  95. package/dist/cli/commands/types.d.ts +15 -0
  96. package/dist/cli/commands/types.d.ts.map +1 -0
  97. package/dist/cli/commands/types.js +2 -0
  98. package/dist/cli/commands/types.js.map +1 -0
  99. package/dist/cli/flag-resolver.d.ts +17 -0
  100. package/dist/cli/flag-resolver.d.ts.map +1 -0
  101. package/dist/cli/flag-resolver.js +57 -0
  102. package/dist/cli/flag-resolver.js.map +1 -0
  103. package/dist/cli/output/formatter.d.ts +22 -0
  104. package/dist/cli/output/formatter.d.ts.map +1 -0
  105. package/dist/cli/output/formatter.js +40 -0
  106. package/dist/cli/output/formatter.js.map +1 -0
  107. package/dist/cli/output/hints.d.ts +7 -0
  108. package/dist/cli/output/hints.d.ts.map +1 -0
  109. package/dist/cli/output/hints.js +27 -0
  110. package/dist/cli/output/hints.js.map +1 -0
  111. package/dist/cli/output/json-writer.d.ts +7 -0
  112. package/dist/cli/output/json-writer.d.ts.map +1 -0
  113. package/dist/cli/output/json-writer.js +19 -0
  114. package/dist/cli/output/json-writer.js.map +1 -0
  115. package/dist/cli/output/markdown-writer.d.ts +7 -0
  116. package/dist/cli/output/markdown-writer.d.ts.map +1 -0
  117. package/dist/cli/output/markdown-writer.js +75 -0
  118. package/dist/cli/output/markdown-writer.js.map +1 -0
  119. package/dist/cli/tui/banner.d.ts +2 -0
  120. package/dist/cli/tui/banner.d.ts.map +1 -0
  121. package/dist/cli/tui/banner.js +46 -0
  122. package/dist/cli/tui/banner.js.map +1 -0
  123. package/dist/cli/tui/colors.d.ts +22 -0
  124. package/dist/cli/tui/colors.d.ts.map +1 -0
  125. package/dist/cli/tui/colors.js +79 -0
  126. package/dist/cli/tui/colors.js.map +1 -0
  127. package/dist/cli/tui/dashboard.d.ts +20 -0
  128. package/dist/cli/tui/dashboard.d.ts.map +1 -0
  129. package/dist/cli/tui/dashboard.js +140 -0
  130. package/dist/cli/tui/dashboard.js.map +1 -0
  131. package/dist/cli/tui/prompt.d.ts +55 -0
  132. package/dist/cli/tui/prompt.d.ts.map +1 -0
  133. package/dist/cli/tui/prompt.js +193 -0
  134. package/dist/cli/tui/prompt.js.map +1 -0
  135. package/dist/cli/tui/slash-commands.d.ts +43 -0
  136. package/dist/cli/tui/slash-commands.d.ts.map +1 -0
  137. package/dist/cli/tui/slash-commands.js +439 -0
  138. package/dist/cli/tui/slash-commands.js.map +1 -0
  139. package/dist/config/config-store.d.ts +27 -0
  140. package/dist/config/config-store.d.ts.map +1 -0
  141. package/dist/config/config-store.js +125 -0
  142. package/dist/config/config-store.js.map +1 -0
  143. package/dist/config/presets.d.ts +15 -0
  144. package/dist/config/presets.d.ts.map +1 -0
  145. package/dist/config/presets.js +91 -0
  146. package/dist/config/presets.js.map +1 -0
  147. package/dist/config/tool-profiles.d.ts +29 -0
  148. package/dist/config/tool-profiles.d.ts.map +1 -0
  149. package/dist/config/tool-profiles.js +56 -0
  150. package/dist/config/tool-profiles.js.map +1 -0
  151. package/dist/contracts/agent-invoker.d.ts +9 -0
  152. package/dist/contracts/agent-invoker.d.ts.map +1 -0
  153. package/dist/contracts/agent-invoker.js +2 -0
  154. package/dist/contracts/agent-invoker.js.map +1 -0
  155. package/dist/contracts/agent.d.ts +36 -0
  156. package/dist/contracts/agent.d.ts.map +1 -0
  157. package/dist/contracts/agent.js +2 -0
  158. package/dist/contracts/agent.js.map +1 -0
  159. package/dist/contracts/config-store.d.ts +13 -0
  160. package/dist/contracts/config-store.d.ts.map +1 -0
  161. package/dist/contracts/config-store.js +2 -0
  162. package/dist/contracts/config-store.js.map +1 -0
  163. package/dist/contracts/crawler.d.ts +17 -0
  164. package/dist/contracts/crawler.d.ts.map +1 -0
  165. package/dist/contracts/crawler.js +2 -0
  166. package/dist/contracts/crawler.js.map +1 -0
  167. package/dist/contracts/exporter.d.ts +18 -0
  168. package/dist/contracts/exporter.d.ts.map +1 -0
  169. package/dist/contracts/exporter.js +11 -0
  170. package/dist/contracts/exporter.js.map +1 -0
  171. package/dist/contracts/index.d.ts +14 -0
  172. package/dist/contracts/index.d.ts.map +1 -0
  173. package/dist/contracts/index.js +2 -0
  174. package/dist/contracts/index.js.map +1 -0
  175. package/dist/contracts/mcp-tool-provider.d.ts +18 -0
  176. package/dist/contracts/mcp-tool-provider.d.ts.map +1 -0
  177. package/dist/contracts/mcp-tool-provider.js +2 -0
  178. package/dist/contracts/mcp-tool-provider.js.map +1 -0
  179. package/dist/contracts/report-pack-generator.d.ts +20 -0
  180. package/dist/contracts/report-pack-generator.d.ts.map +1 -0
  181. package/dist/contracts/report-pack-generator.js +2 -0
  182. package/dist/contracts/report-pack-generator.js.map +1 -0
  183. package/dist/contracts/search-provider.d.ts +15 -0
  184. package/dist/contracts/search-provider.d.ts.map +1 -0
  185. package/dist/contracts/search-provider.js +2 -0
  186. package/dist/contracts/search-provider.js.map +1 -0
  187. package/dist/contracts/session-manager.d.ts +36 -0
  188. package/dist/contracts/session-manager.d.ts.map +1 -0
  189. package/dist/contracts/session-manager.js +2 -0
  190. package/dist/contracts/session-manager.js.map +1 -0
  191. package/dist/index.d.ts +3 -0
  192. package/dist/index.d.ts.map +1 -0
  193. package/dist/index.js +299 -0
  194. package/dist/index.js.map +1 -0
  195. package/dist/lib/ai/provider-factory.d.ts +64 -0
  196. package/dist/lib/ai/provider-factory.d.ts.map +1 -0
  197. package/dist/lib/ai/provider-factory.js +249 -0
  198. package/dist/lib/ai/provider-factory.js.map +1 -0
  199. package/dist/lib/audit-logger.d.ts +10 -0
  200. package/dist/lib/audit-logger.d.ts.map +1 -0
  201. package/dist/lib/audit-logger.js +101 -0
  202. package/dist/lib/audit-logger.js.map +1 -0
  203. package/dist/lib/auth.d.ts +39 -0
  204. package/dist/lib/auth.d.ts.map +1 -0
  205. package/dist/lib/auth.js +219 -0
  206. package/dist/lib/auth.js.map +1 -0
  207. package/dist/lib/competitor-scheduler.d.ts +73 -0
  208. package/dist/lib/competitor-scheduler.d.ts.map +1 -0
  209. package/dist/lib/competitor-scheduler.js +235 -0
  210. package/dist/lib/competitor-scheduler.js.map +1 -0
  211. package/dist/lib/crawler.d.ts +17 -0
  212. package/dist/lib/crawler.d.ts.map +1 -0
  213. package/dist/lib/crawler.js +168 -0
  214. package/dist/lib/crawler.js.map +1 -0
  215. package/dist/lib/errors.d.ts +34 -0
  216. package/dist/lib/errors.d.ts.map +1 -0
  217. package/dist/lib/errors.js +63 -0
  218. package/dist/lib/errors.js.map +1 -0
  219. package/dist/lib/exporter.d.ts +9 -0
  220. package/dist/lib/exporter.d.ts.map +1 -0
  221. package/dist/lib/exporter.js +100 -0
  222. package/dist/lib/exporter.js.map +1 -0
  223. package/dist/lib/html-cleaner.d.ts +19 -0
  224. package/dist/lib/html-cleaner.d.ts.map +1 -0
  225. package/dist/lib/html-cleaner.js +144 -0
  226. package/dist/lib/html-cleaner.js.map +1 -0
  227. package/dist/lib/http.d.ts +18 -0
  228. package/dist/lib/http.d.ts.map +1 -0
  229. package/dist/lib/http.js +83 -0
  230. package/dist/lib/http.js.map +1 -0
  231. package/dist/lib/lockfile.d.ts +10 -0
  232. package/dist/lib/lockfile.d.ts.map +1 -0
  233. package/dist/lib/lockfile.js +56 -0
  234. package/dist/lib/lockfile.js.map +1 -0
  235. package/dist/lib/mcp-registry.d.ts +47 -0
  236. package/dist/lib/mcp-registry.d.ts.map +1 -0
  237. package/dist/lib/mcp-registry.js +212 -0
  238. package/dist/lib/mcp-registry.js.map +1 -0
  239. package/dist/lib/profile-resolver.d.ts +28 -0
  240. package/dist/lib/profile-resolver.d.ts.map +1 -0
  241. package/dist/lib/profile-resolver.js +72 -0
  242. package/dist/lib/profile-resolver.js.map +1 -0
  243. package/dist/lib/profile-store.d.ts +14 -0
  244. package/dist/lib/profile-store.d.ts.map +1 -0
  245. package/dist/lib/profile-store.js +80 -0
  246. package/dist/lib/profile-store.js.map +1 -0
  247. package/dist/lib/rate-limiter.d.ts +32 -0
  248. package/dist/lib/rate-limiter.d.ts.map +1 -0
  249. package/dist/lib/rate-limiter.js +124 -0
  250. package/dist/lib/rate-limiter.js.map +1 -0
  251. package/dist/lib/sandbox.d.ts +25 -0
  252. package/dist/lib/sandbox.d.ts.map +1 -0
  253. package/dist/lib/sandbox.js +134 -0
  254. package/dist/lib/sandbox.js.map +1 -0
  255. package/dist/lib/search.d.ts +22 -0
  256. package/dist/lib/search.d.ts.map +1 -0
  257. package/dist/lib/search.js +147 -0
  258. package/dist/lib/search.js.map +1 -0
  259. package/dist/lib/secret-scanner.d.ts +26 -0
  260. package/dist/lib/secret-scanner.d.ts.map +1 -0
  261. package/dist/lib/secret-scanner.js +74 -0
  262. package/dist/lib/secret-scanner.js.map +1 -0
  263. package/dist/lib/url.d.ts +17 -0
  264. package/dist/lib/url.d.ts.map +1 -0
  265. package/dist/lib/url.js +51 -0
  266. package/dist/lib/url.js.map +1 -0
  267. package/dist/mcp/progressive-discovery.d.ts +21 -0
  268. package/dist/mcp/progressive-discovery.d.ts.map +1 -0
  269. package/dist/mcp/progressive-discovery.js +86 -0
  270. package/dist/mcp/progressive-discovery.js.map +1 -0
  271. package/dist/mcp/ptc-executor.d.ts +92 -0
  272. package/dist/mcp/ptc-executor.d.ts.map +1 -0
  273. package/dist/mcp/ptc-executor.js +199 -0
  274. package/dist/mcp/ptc-executor.js.map +1 -0
  275. package/dist/mcp/server.d.ts +29 -0
  276. package/dist/mcp/server.d.ts.map +1 -0
  277. package/dist/mcp/server.js +299 -0
  278. package/dist/mcp/server.js.map +1 -0
  279. package/dist/mcp/tool-codegen.d.ts +33 -0
  280. package/dist/mcp/tool-codegen.d.ts.map +1 -0
  281. package/dist/mcp/tool-codegen.js +129 -0
  282. package/dist/mcp/tool-codegen.js.map +1 -0
  283. package/dist/mcp/tool-examples.d.ts +22 -0
  284. package/dist/mcp/tool-examples.d.ts.map +1 -0
  285. package/dist/mcp/tool-examples.js +117 -0
  286. package/dist/mcp/tool-examples.js.map +1 -0
  287. package/dist/mcp/tools/classify-signals.d.ts +67 -0
  288. package/dist/mcp/tools/classify-signals.d.ts.map +1 -0
  289. package/dist/mcp/tools/classify-signals.js +124 -0
  290. package/dist/mcp/tools/classify-signals.js.map +1 -0
  291. package/dist/mcp/tools/compute-risk-score.d.ts +97 -0
  292. package/dist/mcp/tools/compute-risk-score.d.ts.map +1 -0
  293. package/dist/mcp/tools/compute-risk-score.js +171 -0
  294. package/dist/mcp/tools/compute-risk-score.js.map +1 -0
  295. package/dist/mcp/tools/generate-plan.d.ts +99 -0
  296. package/dist/mcp/tools/generate-plan.d.ts.map +1 -0
  297. package/dist/mcp/tools/generate-plan.js +200 -0
  298. package/dist/mcp/tools/generate-plan.js.map +1 -0
  299. package/dist/mcp/tools/generate-report-pack.d.ts +119 -0
  300. package/dist/mcp/tools/generate-report-pack.d.ts.map +1 -0
  301. package/dist/mcp/tools/generate-report-pack.js +304 -0
  302. package/dist/mcp/tools/generate-report-pack.js.map +1 -0
  303. package/dist/mcp/tools/run-skeptic-review.d.ts +33 -0
  304. package/dist/mcp/tools/run-skeptic-review.d.ts.map +1 -0
  305. package/dist/mcp/tools/run-skeptic-review.js +157 -0
  306. package/dist/mcp/tools/run-skeptic-review.js.map +1 -0
  307. package/dist/mcp/tools/scan-saas-repo.d.ts +103 -0
  308. package/dist/mcp/tools/scan-saas-repo.d.ts.map +1 -0
  309. package/dist/mcp/tools/scan-saas-repo.js +421 -0
  310. package/dist/mcp/tools/scan-saas-repo.js.map +1 -0
  311. package/dist/mcp/tools/scrape-competitor.d.ts +38 -0
  312. package/dist/mcp/tools/scrape-competitor.d.ts.map +1 -0
  313. package/dist/mcp/tools/scrape-competitor.js +124 -0
  314. package/dist/mcp/tools/scrape-competitor.js.map +1 -0
  315. package/dist/mcp/tools/search-tools.d.ts +37 -0
  316. package/dist/mcp/tools/search-tools.d.ts.map +1 -0
  317. package/dist/mcp/tools/search-tools.js +109 -0
  318. package/dist/mcp/tools/search-tools.js.map +1 -0
  319. package/dist/packs/business-viability.d.ts +30 -0
  320. package/dist/packs/business-viability.d.ts.map +1 -0
  321. package/dist/packs/business-viability.js +37 -0
  322. package/dist/packs/business-viability.js.map +1 -0
  323. package/dist/packs/competitor-intel.d.ts +34 -0
  324. package/dist/packs/competitor-intel.d.ts.map +1 -0
  325. package/dist/packs/competitor-intel.js +72 -0
  326. package/dist/packs/competitor-intel.js.map +1 -0
  327. package/dist/packs/financial-audit.d.ts +40 -0
  328. package/dist/packs/financial-audit.d.ts.map +1 -0
  329. package/dist/packs/financial-audit.js +74 -0
  330. package/dist/packs/financial-audit.js.map +1 -0
  331. package/dist/packs/pitch-deck.d.ts +38 -0
  332. package/dist/packs/pitch-deck.d.ts.map +1 -0
  333. package/dist/packs/pitch-deck.js +80 -0
  334. package/dist/packs/pitch-deck.js.map +1 -0
  335. package/dist/packs/smm-gtm.d.ts +38 -0
  336. package/dist/packs/smm-gtm.d.ts.map +1 -0
  337. package/dist/packs/smm-gtm.js +83 -0
  338. package/dist/packs/smm-gtm.js.map +1 -0
  339. package/dist/packs/tech-audit.d.ts +34 -0
  340. package/dist/packs/tech-audit.d.ts.map +1 -0
  341. package/dist/packs/tech-audit.js +43 -0
  342. package/dist/packs/tech-audit.js.map +1 -0
  343. package/dist/project-templates/build-proof.d.ts +24 -0
  344. package/dist/project-templates/build-proof.d.ts.map +1 -0
  345. package/dist/project-templates/build-proof.js +108 -0
  346. package/dist/project-templates/build-proof.js.map +1 -0
  347. package/dist/project-templates/quickstart-renderer.d.ts +16 -0
  348. package/dist/project-templates/quickstart-renderer.d.ts.map +1 -0
  349. package/dist/project-templates/quickstart-renderer.js +57 -0
  350. package/dist/project-templates/quickstart-renderer.js.map +1 -0
  351. package/dist/project-templates/registry.d.ts +68 -0
  352. package/dist/project-templates/registry.d.ts.map +1 -0
  353. package/dist/project-templates/registry.js +328 -0
  354. package/dist/project-templates/registry.js.map +1 -0
  355. package/dist/project-templates/templates.d.ts +3 -0
  356. package/dist/project-templates/templates.d.ts.map +1 -0
  357. package/dist/project-templates/templates.js +188 -0
  358. package/dist/project-templates/templates.js.map +1 -0
  359. package/dist/prompts/biz-viability.d.ts +10 -0
  360. package/dist/prompts/biz-viability.d.ts.map +1 -0
  361. package/dist/prompts/biz-viability.js +35 -0
  362. package/dist/prompts/biz-viability.js.map +1 -0
  363. package/dist/prompts/catalog.d.ts +16 -0
  364. package/dist/prompts/catalog.d.ts.map +1 -0
  365. package/dist/prompts/catalog.js +17 -0
  366. package/dist/prompts/catalog.js.map +1 -0
  367. package/dist/prompts/competitor-intel.d.ts +10 -0
  368. package/dist/prompts/competitor-intel.d.ts.map +1 -0
  369. package/dist/prompts/competitor-intel.js +37 -0
  370. package/dist/prompts/competitor-intel.js.map +1 -0
  371. package/dist/prompts/finance-audit.d.ts +10 -0
  372. package/dist/prompts/finance-audit.d.ts.map +1 -0
  373. package/dist/prompts/finance-audit.js +35 -0
  374. package/dist/prompts/finance-audit.js.map +1 -0
  375. package/dist/prompts/fix-sprint-plan.d.ts +10 -0
  376. package/dist/prompts/fix-sprint-plan.d.ts.map +1 -0
  377. package/dist/prompts/fix-sprint-plan.js +45 -0
  378. package/dist/prompts/fix-sprint-plan.js.map +1 -0
  379. package/dist/prompts/gtm-smm.d.ts +10 -0
  380. package/dist/prompts/gtm-smm.d.ts.map +1 -0
  381. package/dist/prompts/gtm-smm.js +35 -0
  382. package/dist/prompts/gtm-smm.js.map +1 -0
  383. package/dist/prompts/orchestrator-dispatch.d.ts +40 -0
  384. package/dist/prompts/orchestrator-dispatch.d.ts.map +1 -0
  385. package/dist/prompts/orchestrator-dispatch.js +92 -0
  386. package/dist/prompts/orchestrator-dispatch.js.map +1 -0
  387. package/dist/prompts/pitch-deck.d.ts +10 -0
  388. package/dist/prompts/pitch-deck.d.ts.map +1 -0
  389. package/dist/prompts/pitch-deck.js +36 -0
  390. package/dist/prompts/pitch-deck.js.map +1 -0
  391. package/dist/prompts/prompt-template.d.ts +16 -0
  392. package/dist/prompts/prompt-template.d.ts.map +1 -0
  393. package/dist/prompts/prompt-template.js +22 -0
  394. package/dist/prompts/prompt-template.js.map +1 -0
  395. package/dist/prompts/repo-audit-deep.d.ts +10 -0
  396. package/dist/prompts/repo-audit-deep.d.ts.map +1 -0
  397. package/dist/prompts/repo-audit-deep.js +39 -0
  398. package/dist/prompts/repo-audit-deep.js.map +1 -0
  399. package/dist/prompts/repo-scan-quick.d.ts +35 -0
  400. package/dist/prompts/repo-scan-quick.d.ts.map +1 -0
  401. package/dist/prompts/repo-scan-quick.js +69 -0
  402. package/dist/prompts/repo-scan-quick.js.map +1 -0
  403. package/dist/prompts/skeptic-review.d.ts +10 -0
  404. package/dist/prompts/skeptic-review.d.ts.map +1 -0
  405. package/dist/prompts/skeptic-review.js +40 -0
  406. package/dist/prompts/skeptic-review.js.map +1 -0
  407. package/dist/schemas/agent-step-sequence.d.ts +41 -0
  408. package/dist/schemas/agent-step-sequence.d.ts.map +1 -0
  409. package/dist/schemas/agent-step-sequence.js +25 -0
  410. package/dist/schemas/agent-step-sequence.js.map +1 -0
  411. package/dist/schemas/artifact-envelope.v1.d.ts +69 -0
  412. package/dist/schemas/artifact-envelope.v1.d.ts.map +1 -0
  413. package/dist/schemas/artifact-envelope.v1.js +24 -0
  414. package/dist/schemas/artifact-envelope.v1.js.map +1 -0
  415. package/dist/schemas/business-viability.v1.d.ts +223 -0
  416. package/dist/schemas/business-viability.v1.d.ts.map +1 -0
  417. package/dist/schemas/business-viability.v1.js +47 -0
  418. package/dist/schemas/business-viability.v1.js.map +1 -0
  419. package/dist/schemas/common.d.ts +9 -0
  420. package/dist/schemas/common.d.ts.map +1 -0
  421. package/dist/schemas/common.js +8 -0
  422. package/dist/schemas/common.js.map +1 -0
  423. package/dist/schemas/competitor-intel.v1.d.ts +239 -0
  424. package/dist/schemas/competitor-intel.v1.d.ts.map +1 -0
  425. package/dist/schemas/competitor-intel.v1.js +59 -0
  426. package/dist/schemas/competitor-intel.v1.js.map +1 -0
  427. package/dist/schemas/config.d.ts +133 -0
  428. package/dist/schemas/config.d.ts.map +1 -0
  429. package/dist/schemas/config.js +142 -0
  430. package/dist/schemas/config.js.map +1 -0
  431. package/dist/schemas/financial-audit.v1.d.ts +139 -0
  432. package/dist/schemas/financial-audit.v1.d.ts.map +1 -0
  433. package/dist/schemas/financial-audit.v1.js +50 -0
  434. package/dist/schemas/financial-audit.v1.js.map +1 -0
  435. package/dist/schemas/fix-result.v1.d.ts +104 -0
  436. package/dist/schemas/fix-result.v1.d.ts.map +1 -0
  437. package/dist/schemas/fix-result.v1.js +41 -0
  438. package/dist/schemas/fix-result.v1.js.map +1 -0
  439. package/dist/schemas/founder-profile.d.ts +76 -0
  440. package/dist/schemas/founder-profile.d.ts.map +1 -0
  441. package/dist/schemas/founder-profile.js +54 -0
  442. package/dist/schemas/founder-profile.js.map +1 -0
  443. package/dist/schemas/investor-readiness.v1.d.ts +20 -0
  444. package/dist/schemas/investor-readiness.v1.d.ts.map +1 -0
  445. package/dist/schemas/investor-readiness.v1.js +15 -0
  446. package/dist/schemas/investor-readiness.v1.js.map +1 -0
  447. package/dist/schemas/mcp-server-entry.d.ts +37 -0
  448. package/dist/schemas/mcp-server-entry.d.ts.map +1 -0
  449. package/dist/schemas/mcp-server-entry.js +23 -0
  450. package/dist/schemas/mcp-server-entry.js.map +1 -0
  451. package/dist/schemas/pitch-deck.v1.d.ts +141 -0
  452. package/dist/schemas/pitch-deck.v1.d.ts.map +1 -0
  453. package/dist/schemas/pitch-deck.v1.js +57 -0
  454. package/dist/schemas/pitch-deck.v1.js.map +1 -0
  455. package/dist/schemas/plan.v1.d.ts +97 -0
  456. package/dist/schemas/plan.v1.d.ts.map +1 -0
  457. package/dist/schemas/plan.v1.js +41 -0
  458. package/dist/schemas/plan.v1.js.map +1 -0
  459. package/dist/schemas/project-template.d.ts +101 -0
  460. package/dist/schemas/project-template.d.ts.map +1 -0
  461. package/dist/schemas/project-template.js +59 -0
  462. package/dist/schemas/project-template.js.map +1 -0
  463. package/dist/schemas/research-result.v1.d.ts +45 -0
  464. package/dist/schemas/research-result.v1.d.ts.map +1 -0
  465. package/dist/schemas/research-result.v1.js +20 -0
  466. package/dist/schemas/research-result.v1.js.map +1 -0
  467. package/dist/schemas/roadmap.v1.d.ts +49 -0
  468. package/dist/schemas/roadmap.v1.d.ts.map +1 -0
  469. package/dist/schemas/roadmap.v1.js +22 -0
  470. package/dist/schemas/roadmap.v1.js.map +1 -0
  471. package/dist/schemas/scan-result.v1.d.ts +87 -0
  472. package/dist/schemas/scan-result.v1.d.ts.map +1 -0
  473. package/dist/schemas/scan-result.v1.js +22 -0
  474. package/dist/schemas/scan-result.v1.js.map +1 -0
  475. package/dist/schemas/session.d.ts +165 -0
  476. package/dist/schemas/session.d.ts.map +1 -0
  477. package/dist/schemas/session.js +70 -0
  478. package/dist/schemas/session.js.map +1 -0
  479. package/dist/schemas/smm-gtm.v1.d.ts +175 -0
  480. package/dist/schemas/smm-gtm.v1.d.ts.map +1 -0
  481. package/dist/schemas/smm-gtm.v1.js +60 -0
  482. package/dist/schemas/smm-gtm.v1.js.map +1 -0
  483. package/dist/schemas/tech-audit.v1.d.ts +254 -0
  484. package/dist/schemas/tech-audit.v1.d.ts.map +1 -0
  485. package/dist/schemas/tech-audit.v1.js +61 -0
  486. package/dist/schemas/tech-audit.v1.js.map +1 -0
  487. package/dist/session/agent-session.d.ts +20 -0
  488. package/dist/session/agent-session.d.ts.map +1 -0
  489. package/dist/session/agent-session.js +53 -0
  490. package/dist/session/agent-session.js.map +1 -0
  491. package/dist/session/compaction/memory-pointers.d.ts +17 -0
  492. package/dist/session/compaction/memory-pointers.d.ts.map +1 -0
  493. package/dist/session/compaction/memory-pointers.js +46 -0
  494. package/dist/session/compaction/memory-pointers.js.map +1 -0
  495. package/dist/session/compaction/selective-retention.d.ts +19 -0
  496. package/dist/session/compaction/selective-retention.d.ts.map +1 -0
  497. package/dist/session/compaction/selective-retention.js +36 -0
  498. package/dist/session/compaction/selective-retention.js.map +1 -0
  499. package/dist/session/compaction/trajectory-summarizer.d.ts +22 -0
  500. package/dist/session/compaction/trajectory-summarizer.d.ts.map +1 -0
  501. package/dist/session/compaction/trajectory-summarizer.js +34 -0
  502. package/dist/session/compaction/trajectory-summarizer.js.map +1 -0
  503. package/dist/session/sdk-hooks.d.ts +31 -0
  504. package/dist/session/sdk-hooks.d.ts.map +1 -0
  505. package/dist/session/sdk-hooks.js +56 -0
  506. package/dist/session/sdk-hooks.js.map +1 -0
  507. package/dist/session/session-manager.d.ts +42 -0
  508. package/dist/session/session-manager.d.ts.map +1 -0
  509. package/dist/session/session-manager.js +236 -0
  510. package/dist/session/session-manager.js.map +1 -0
  511. package/dist/session/token-tracker.d.ts +31 -0
  512. package/dist/session/token-tracker.d.ts.map +1 -0
  513. package/dist/session/token-tracker.js +66 -0
  514. package/dist/session/token-tracker.js.map +1 -0
  515. package/package.json +80 -0
@@ -0,0 +1,87 @@
1
+ import { classifyFindings } from '../mcp/tools/classify-signals.js';
2
+ import { applyBaselineRules, computeRiskScore } from '../mcp/tools/compute-risk-score.js';
3
+ export class SecurityComplianceAgent {
4
+ provider;
5
+ constructor(provider) {
6
+ this.provider = provider;
7
+ }
8
+ getName() {
9
+ return 'security-compliance';
10
+ }
11
+ getDomain() {
12
+ return 'security';
13
+ }
14
+ async analyze(context) {
15
+ const assumptions = [];
16
+ const allSignals = [];
17
+ // If scan result exists, extract and enhance security-relevant signals
18
+ if (context.scanResult && typeof context.scanResult === 'object') {
19
+ const existingSignals = context.scanResult['signals'];
20
+ if (Array.isArray(existingSignals)) {
21
+ const securityDomains = ['security', 'auth'];
22
+ for (const domain of securityDomains) {
23
+ const domainFindings = existingSignals
24
+ .filter((s) => s.category === domain)
25
+ .map((s) => ({
26
+ filePath: s.evidence[0]?.filePath ?? 'unknown',
27
+ content: s.finding,
28
+ context: s.evidence.map((e) => e.content).join('; '),
29
+ }));
30
+ if (domainFindings.length > 0) {
31
+ const classified = classifyFindings(domainFindings, domain === 'auth' ? 'auth' : 'security');
32
+ allSignals.push(...classified.signals);
33
+ }
34
+ }
35
+ }
36
+ }
37
+ // Apply security baseline rules
38
+ const baseline = applyBaselineRules('security', allSignals);
39
+ if (baseline.rulesFired.length > 0) {
40
+ const riskResult = computeRiskScore({
41
+ domain: 'security',
42
+ signals: allSignals,
43
+ rulesBaseline: baseline,
44
+ });
45
+ assumptions.push({
46
+ statement: `Security risk: ${riskResult.finalRisk} (${riskResult.summary})`,
47
+ confidence: riskResult.confidence,
48
+ source: 'rule',
49
+ });
50
+ }
51
+ // Try agent enhancement
52
+ let enhancement = '';
53
+ try {
54
+ const signalSummary = allSignals
55
+ .slice(0, 10)
56
+ .map((s) => `[${s.severity}] ${s.category}: ${s.finding}`)
57
+ .join('\n');
58
+ enhancement = await this.provider.chat([
59
+ {
60
+ role: 'system',
61
+ content: 'You are a security specialist. Analyze these signals for OWASP compliance, secret exposure, auth patterns, and input validation. Be concise — 3-5 sentences.',
62
+ },
63
+ {
64
+ role: 'user',
65
+ content: `Repository: ${context.repo.owner}/${context.repo.name}\n\nSecurity signals:\n${signalSummary}\n\nProvide a brief security assessment.`,
66
+ },
67
+ ]);
68
+ }
69
+ catch {
70
+ assumptions.push({
71
+ statement: 'Agent enhancement unavailable — using rule-based security analysis only',
72
+ confidence: 1.0,
73
+ source: 'agent',
74
+ });
75
+ }
76
+ const avgConf = allSignals.length > 0
77
+ ? allSignals.reduce((sum, s) => sum + s.agentConfidence, 0) / allSignals.length
78
+ : 0.5;
79
+ return {
80
+ findings: allSignals,
81
+ assumptions,
82
+ confidence: Math.round(avgConf * 100) / 100,
83
+ rawOutput: enhancement || `Security analysis: ${allSignals.length} signals detected.`,
84
+ };
85
+ }
86
+ }
87
+ //# sourceMappingURL=security-compliance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security-compliance.js","sourceRoot":"","sources":["../../src/agents/security-compliance.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Skeptic Reviewer agent — challenges assumptions, flags overconfidence.
3
+ * @module agents/skeptic-reviewer
4
+ */
5
+ import type { IAgent, AgentContext, AgentResult } from '../contracts/agent.js';
6
+ import type { AIProvider } from '../lib/ai/provider-factory.js';
7
+ export declare class SkepticReviewer implements IAgent {
8
+ private readonly provider;
9
+ constructor(provider: AIProvider);
10
+ getName(): string;
11
+ getDomain(): string;
12
+ analyze(context: AgentContext): Promise<AgentResult>;
13
+ }
14
+ //# sourceMappingURL=skeptic-reviewer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skeptic-reviewer.d.ts","sourceRoot":"","sources":["../../src/agents/skeptic-reviewer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAGhE,qBAAa,eAAgB,YAAW,MAAM;IAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAa;gBAE1B,QAAQ,EAAE,UAAU;IAIhC,OAAO,IAAI,MAAM;IAIjB,SAAS,IAAI,MAAM;IAIb,OAAO,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;CAsD3D"}
@@ -0,0 +1,65 @@
1
+ export class SkepticReviewer {
2
+ provider;
3
+ constructor(provider) {
4
+ this.provider = provider;
5
+ }
6
+ getName() {
7
+ return 'skeptic-reviewer';
8
+ }
9
+ getDomain() {
10
+ return 'quality-assurance';
11
+ }
12
+ async analyze(context) {
13
+ const assumptions = [];
14
+ const findings = [];
15
+ // The skeptic reviews the scanResult (which is the artifact being reviewed)
16
+ const artifact = context.scanResult;
17
+ if (!artifact || typeof artifact !== 'object') {
18
+ return {
19
+ findings: [],
20
+ assumptions: [{
21
+ statement: 'No artifact provided for skeptic review',
22
+ confidence: 1.0,
23
+ source: 'agent',
24
+ }],
25
+ confidence: 0,
26
+ rawOutput: 'No artifact available to review.',
27
+ };
28
+ }
29
+ // Try LLM-enhanced review
30
+ let review = '';
31
+ try {
32
+ const artifactSummary = JSON.stringify(artifact).slice(0, 3000);
33
+ review = await this.provider.chat([
34
+ {
35
+ role: 'system',
36
+ content: `You are "Skeptic Sam," a constructive contrarian analyst. Review the provided analysis artifact and:
37
+ 1. Identify 2-5 claims that may be overconfident or unsupported
38
+ 2. Flag any assumptions that lack evidence
39
+ 3. Provide counterpoints where the analysis may have blind spots
40
+ 4. Suggest specific revisions to strengthen the report
41
+
42
+ Be constructive — the goal is to improve quality, not tear down the work. If the analysis is solid, say so with few challenges.`,
43
+ },
44
+ {
45
+ role: 'user',
46
+ content: `Review this analysis artifact:\n\n${artifactSummary}`,
47
+ },
48
+ ]);
49
+ }
50
+ catch {
51
+ assumptions.push({
52
+ statement: 'LLM-enhanced skeptic review unavailable — returning deterministic review only',
53
+ confidence: 1.0,
54
+ source: 'agent',
55
+ });
56
+ }
57
+ return {
58
+ findings,
59
+ assumptions,
60
+ confidence: 0.7,
61
+ rawOutput: review || 'Deterministic skeptic review completed. No LLM enhancement available.',
62
+ };
63
+ }
64
+ }
65
+ //# sourceMappingURL=skeptic-reviewer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skeptic-reviewer.js","sourceRoot":"","sources":["../../src/agents/skeptic-reviewer.ts"],"names":[],"mappings":"AAQA,MAAM,OAAO,eAAe;IACT,QAAQ,CAAa;IAEtC,YAAY,QAAoB;QAC9B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,OAAO;QACL,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,SAAS;QACP,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAqB;QACjC,MAAM,WAAW,GAAiB,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,4EAA4E;QAC5E,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC9C,OAAO;gBACL,QAAQ,EAAE,EAAE;gBACZ,WAAW,EAAE,CAAC;wBACZ,SAAS,EAAE,yCAAyC;wBACpD,UAAU,EAAE,GAAG;wBACf,MAAM,EAAE,OAAO;qBAChB,CAAC;gBACF,UAAU,EAAE,CAAC;gBACb,SAAS,EAAE,kCAAkC;aAC9C,CAAC;QACJ,CAAC;QAED,0BAA0B;QAC1B,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAChE,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAChC;oBACE,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE;;;;;;gIAM6G;iBACvH;gBACD;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,qCAAqC,eAAe,EAAE;iBAChE;aACF,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,WAAW,CAAC,IAAI,CAAC;gBACf,SAAS,EAAE,+EAA+E;gBAC1F,UAAU,EAAE,GAAG;gBACf,MAAM,EAAE,OAAO;aAChB,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,QAAQ;YACR,WAAW;YACX,UAAU,EAAE,GAAG;YACf,SAAS,EAAE,MAAM,IAAI,uEAAuE;SAC7F,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Agent skills directory — static registry of agent capabilities.
3
+ * PTC Pattern P6: Agent Skills — document and advertise agent specializations.
4
+ * @module agents/skills-directory
5
+ */
6
+ export interface AgentSkill {
7
+ agentName: string;
8
+ skillName: string;
9
+ description: string;
10
+ inputTypes: string[];
11
+ outputTypes: string[];
12
+ domains: string[];
13
+ toolsUsed: string[];
14
+ }
15
+ /**
16
+ * Static registry of all agent skills and their capabilities.
17
+ * Agents can query this to understand what other agents can do.
18
+ */
19
+ export declare const AGENT_SKILLS: AgentSkill[];
20
+ /**
21
+ * Find agents that can handle a given domain.
22
+ */
23
+ export declare function findAgentsByDomain(domain: string): AgentSkill[];
24
+ /**
25
+ * Find agents that use a specific tool.
26
+ */
27
+ export declare function findAgentsByTool(toolName: string): AgentSkill[];
28
+ /**
29
+ * Find agents that can produce a specific output type.
30
+ */
31
+ export declare function findAgentsByOutput(outputType: string): AgentSkill[];
32
+ /**
33
+ * Get the full skill set for a named agent.
34
+ */
35
+ export declare function getAgentSkills(agentName: string): AgentSkill[];
36
+ //# sourceMappingURL=skills-directory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills-directory.d.ts","sourceRoot":"","sources":["../../src/agents/skills-directory.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,UAAU,EAyEpC,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,EAAE,CAE/D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,EAAE,CAE/D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,EAAE,CAEnE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,EAAE,CAE9D"}
@@ -0,0 +1,108 @@
1
+ /**
2
+ * Agent skills directory — static registry of agent capabilities.
3
+ * PTC Pattern P6: Agent Skills — document and advertise agent specializations.
4
+ * @module agents/skills-directory
5
+ */
6
+ /**
7
+ * Static registry of all agent skills and their capabilities.
8
+ * Agents can query this to understand what other agents can do.
9
+ */
10
+ export const AGENT_SKILLS = [
11
+ {
12
+ agentName: 'code-inspector',
13
+ skillName: 'repository-analysis',
14
+ description: 'Analyze source code for patterns, anti-patterns, and SaaS indicators',
15
+ inputTypes: ['repo-path', 'file-list', 'scan-result'],
16
+ outputTypes: ['signals', 'findings', 'code-metrics'],
17
+ domains: ['code-health', 'security', 'auth', 'billing', 'tenancy'],
18
+ toolsUsed: ['scan_saas_repo', 'classify_signals'],
19
+ },
20
+ {
21
+ agentName: 'security-compliance',
22
+ skillName: 'security-audit',
23
+ description: 'Audit security posture including auth, encryption, and vulnerability detection',
24
+ inputTypes: ['repo-path', 'scan-result', 'signals'],
25
+ outputTypes: ['signals', 'risk-assessment', 'compliance-report'],
26
+ domains: ['security', 'auth'],
27
+ toolsUsed: ['scan_saas_repo', 'compute_risk_score'],
28
+ },
29
+ {
30
+ agentName: 'business-analyst',
31
+ skillName: 'business-viability',
32
+ description: 'Assess SaaS business model viability, market positioning, and growth potential',
33
+ inputTypes: ['scan-result', 'competitor-data', 'financial-data'],
34
+ outputTypes: ['viability-report', 'market-analysis', 'recommendations'],
35
+ domains: ['business'],
36
+ toolsUsed: ['generate_report_pack', 'scrape_competitor'],
37
+ },
38
+ {
39
+ agentName: 'finance-auditor',
40
+ skillName: 'financial-audit',
41
+ description: 'Audit financial infrastructure including billing integration and revenue tracking',
42
+ inputTypes: ['scan-result', 'financial-data'],
43
+ outputTypes: ['financial-report', 'billing-assessment'],
44
+ domains: ['finance', 'billing'],
45
+ toolsUsed: ['generate_report_pack'],
46
+ },
47
+ {
48
+ agentName: 'competitor-tracker',
49
+ skillName: 'competitive-intelligence',
50
+ description: 'Extract and analyze competitor data from public sources',
51
+ inputTypes: ['urls', 'competitor-names'],
52
+ outputTypes: ['competitor-profiles', 'feature-comparison', 'pricing-analysis'],
53
+ domains: ['business'],
54
+ toolsUsed: ['scrape_competitor'],
55
+ },
56
+ {
57
+ agentName: 'gtm-strategist',
58
+ skillName: 'go-to-market',
59
+ description: 'Develop go-to-market and social media marketing strategies',
60
+ inputTypes: ['business-context', 'competitor-data', 'market-data'],
61
+ outputTypes: ['gtm-plan', 'marketing-strategy', 'channel-recommendations'],
62
+ domains: ['business'],
63
+ toolsUsed: ['generate_report_pack'],
64
+ },
65
+ {
66
+ agentName: 'skeptic-reviewer',
67
+ skillName: 'skeptic-review',
68
+ description: 'Challenge optimistic assumptions and flag overconfidence in reports',
69
+ inputTypes: ['report-pack', 'artifact'],
70
+ outputTypes: ['challenges', 'counterpoints', 'overconfidence-flags'],
71
+ domains: ['code-health', 'business', 'security', 'finance'],
72
+ toolsUsed: ['run_skeptic_review'],
73
+ },
74
+ {
75
+ agentName: 'orchestrator',
76
+ skillName: 'task-orchestration',
77
+ description: 'Decompose tasks, route to specialists, merge outputs',
78
+ inputTypes: ['task-request', 'agent-context'],
79
+ outputTypes: ['merged-results', 'report-packs'],
80
+ domains: ['orchestration'],
81
+ toolsUsed: ['generate_report_pack', 'generate_plan'],
82
+ },
83
+ ];
84
+ /**
85
+ * Find agents that can handle a given domain.
86
+ */
87
+ export function findAgentsByDomain(domain) {
88
+ return AGENT_SKILLS.filter((s) => s.domains.includes(domain));
89
+ }
90
+ /**
91
+ * Find agents that use a specific tool.
92
+ */
93
+ export function findAgentsByTool(toolName) {
94
+ return AGENT_SKILLS.filter((s) => s.toolsUsed.includes(toolName));
95
+ }
96
+ /**
97
+ * Find agents that can produce a specific output type.
98
+ */
99
+ export function findAgentsByOutput(outputType) {
100
+ return AGENT_SKILLS.filter((s) => s.outputTypes.includes(outputType));
101
+ }
102
+ /**
103
+ * Get the full skill set for a named agent.
104
+ */
105
+ export function getAgentSkills(agentName) {
106
+ return AGENT_SKILLS.filter((s) => s.agentName === agentName);
107
+ }
108
+ //# sourceMappingURL=skills-directory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills-directory.js","sourceRoot":"","sources":["../../src/agents/skills-directory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * auth command — authenticate via GitHub Copilot token, store credential.
3
+ * @module cli/commands/auth
4
+ */
5
+ import type { CommandFlags } from './types.js';
6
+ export declare const USAGE = "\nUsage: saasgadget auth <subcommand>\n\nSubcommands:\n login Authenticate via GitHub token resolution chain\n logout Remove stored credentials\n status Check current authentication status\n -h, --help Show this help message\n";
7
+ export declare function execute(args: string[], flags: CommandFlags): Promise<void>;
8
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/auth.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAe/C,eAAO,MAAM,KAAK,gSAQjB,CAAC;AAqDF,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBhF"}
@@ -0,0 +1,90 @@
1
+ import { login, logout, resolveToken, validateToken } from '../../lib/auth.js';
2
+ import { colorize, bold } from '../tui/colors.js';
3
+ function printHelp() {
4
+ console.log(`Usage: saasgadget auth <subcommand>
5
+
6
+ Subcommands:
7
+ login Authenticate via GitHub token resolution chain
8
+ logout Remove stored credentials
9
+ status Check current authentication status
10
+ -h, --help Show this help message
11
+ `);
12
+ }
13
+ export const USAGE = `
14
+ Usage: saasgadget auth <subcommand>
15
+
16
+ Subcommands:
17
+ login Authenticate via GitHub token resolution chain
18
+ logout Remove stored credentials
19
+ status Check current authentication status
20
+ -h, --help Show this help message
21
+ `;
22
+ function parseAuthArgs(args) {
23
+ let subcommand = null;
24
+ let help = false;
25
+ for (const arg of args) {
26
+ if (arg === '--help' || arg === '-h') {
27
+ help = true;
28
+ }
29
+ else if (!arg.startsWith('--')) {
30
+ subcommand = arg;
31
+ }
32
+ }
33
+ return { subcommand, help };
34
+ }
35
+ async function handleLogin() {
36
+ console.log(colorize('Authenticating...', 'muted'));
37
+ const result = await login();
38
+ console.log(colorize('✓', 'success') + ' Authenticated successfully.');
39
+ console.log(` ${colorize('User:', 'muted')} ${bold(result.identity.login)}`);
40
+ if (result.identity.name) {
41
+ console.log(` ${colorize('Name:', 'muted')} ${result.identity.name}`);
42
+ }
43
+ console.log(` ${colorize('Token source:', 'muted')} ${result.source}`);
44
+ console.log(` ${colorize('Storage:', 'muted')} ${result.storage === 'keychain' ? 'OS keychain' : 'encrypted file'}`);
45
+ }
46
+ async function handleLogout() {
47
+ await logout();
48
+ console.log(colorize('✓', 'success') + ' Credentials removed.');
49
+ }
50
+ async function handleStatus() {
51
+ try {
52
+ const tokenInfo = await resolveToken();
53
+ const identity = await validateToken(tokenInfo.token);
54
+ console.log(colorize('✓', 'success') + ' Authenticated.');
55
+ console.log(` ${colorize('User:', 'muted')} ${bold(identity.login)}`);
56
+ if (identity.name) {
57
+ console.log(` ${colorize('Name:', 'muted')} ${identity.name}`);
58
+ }
59
+ console.log(` ${colorize('Token source:', 'muted')} ${tokenInfo.source}`);
60
+ }
61
+ catch {
62
+ console.log(colorize('✗', 'error') + ' Not authenticated.');
63
+ console.log(` Run ${colorize('saasgadget auth login', 'accent')} to authenticate.`);
64
+ }
65
+ }
66
+ export async function execute(args, flags) {
67
+ const { subcommand, help } = parseAuthArgs(args);
68
+ if (help || flags.help) {
69
+ printHelp();
70
+ return;
71
+ }
72
+ switch (subcommand) {
73
+ case 'login':
74
+ await handleLogin();
75
+ break;
76
+ case 'logout':
77
+ await handleLogout();
78
+ break;
79
+ case 'status':
80
+ await handleStatus();
81
+ break;
82
+ default:
83
+ if (subcommand) {
84
+ console.error(`Unknown auth subcommand: ${subcommand}`);
85
+ }
86
+ printHelp();
87
+ break;
88
+ }
89
+ }
90
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/cli/commands/auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * doctor command — validate environment readiness.
3
+ * Checks: token validity, AI backend connectivity, MCP tool availability,
4
+ * BRAVE_API_KEY presence, operational probe per tool.
5
+ * @module cli/commands/doctor
6
+ */
7
+ import type { CommandFlags } from './types.js';
8
+ export declare const USAGE = "\nUsage: saasgadget doctor\n\nValidates environment readiness:\n - GitHub token validity\n - AI backend connectivity\n - MCP tool availability (listing + operational probe)\n - Brave Search API key (optional)\n\nExit codes:\n 0 = all required checks pass\n 1 = one or more required checks fail\n";
9
+ export declare function execute(args: string[], flags: CommandFlags): Promise<void>;
10
+ //# sourceMappingURL=doctor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAuB/C,eAAO,MAAM,KAAK,kTAYjB,CAAC;AA2LF,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA8ChF"}