expxagents 0.24.2 → 0.25.1

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 (693) hide show
  1. package/dist/cli/src/commands/info.d.ts +1 -2
  2. package/dist/cli/src/commands/login.d.ts +1 -2
  3. package/dist/cli/src/commands/logout.d.ts +1 -2
  4. package/dist/cli/src/commands/outdated.d.ts +1 -2
  5. package/dist/cli/src/commands/publish.d.ts +1 -2
  6. package/dist/cli/src/commands/registry-install.d.ts +1 -2
  7. package/dist/cli/src/commands/search.d.ts +1 -2
  8. package/dist/cli/src/commands/update.d.ts +1 -2
  9. package/dist/cli/src/commands/whoami.d.ts +1 -2
  10. package/package.json +1 -1
  11. package/assets/agents/_catalog.yaml +0 -35
  12. package/assets/agents/accounting/accountant.agent.md +0 -41
  13. package/assets/agents/accounting/audit-analyst.agent.md +0 -41
  14. package/assets/agents/accounting/financial-reporting.agent.md +0 -41
  15. package/assets/agents/accounting/fiscal-analyst.agent.md +0 -41
  16. package/assets/agents/accounting/payroll-specialist.agent.md +0 -41
  17. package/assets/agents/accounting/tax-compliance.agent.md +0 -41
  18. package/assets/agents/administrative/document-controller.agent.md +0 -41
  19. package/assets/agents/administrative/office-manager.agent.md +0 -41
  20. package/assets/agents/administrative/process-documentation-officer.agent.md +0 -41
  21. package/assets/agents/administrative/procurement-specialist.agent.md +0 -41
  22. package/assets/agents/board/board-report-writer.agent.md +0 -41
  23. package/assets/agents/board/business-intelligence.agent.md +0 -41
  24. package/assets/agents/board/governance-officer.agent.md +0 -41
  25. package/assets/agents/board/okr-manager.agent.md +0 -41
  26. package/assets/agents/board/risk-analyst.agent.md +0 -41
  27. package/assets/agents/board/strategic-advisor.agent.md +0 -41
  28. package/assets/agents/commercial/account-executive.agent.md +0 -41
  29. package/assets/agents/commercial/crm-manager.agent.md +0 -41
  30. package/assets/agents/commercial/pricing-strategist.agent.md +0 -41
  31. package/assets/agents/commercial/proposal-writer.agent.md +0 -41
  32. package/assets/agents/commercial/sdr.agent.md +0 -41
  33. package/assets/agents/compliance/compliance-officer.agent.md +0 -41
  34. package/assets/agents/compliance/data-privacy-specialist.agent.md +0 -41
  35. package/assets/agents/compliance/internal-auditor.agent.md +0 -41
  36. package/assets/agents/compliance/regulatory-monitor.agent.md +0 -41
  37. package/assets/agents/customer-success/churn-prevention.agent.md +0 -41
  38. package/assets/agents/customer-success/csm.agent.md +0 -41
  39. package/assets/agents/customer-success/expansion-manager.agent.md +0 -41
  40. package/assets/agents/customer-success/nps-analyst.agent.md +0 -41
  41. package/assets/agents/customer-success/renewal-manager.agent.md +0 -41
  42. package/assets/agents/development/android-developer.agent.md +0 -41
  43. package/assets/agents/development/backend-developer.agent.md +0 -42
  44. package/assets/agents/development/business-analyst.agent.md +0 -41
  45. package/assets/agents/development/code-reviewer.agent.md +0 -41
  46. package/assets/agents/development/cross-platform-mobile.agent.md +0 -41
  47. package/assets/agents/development/dba.agent.md +0 -41
  48. package/assets/agents/development/desktop-developer.agent.md +0 -41
  49. package/assets/agents/development/devops-engineer.agent.md +0 -41
  50. package/assets/agents/development/frontend-developer.agent.md +0 -103
  51. package/assets/agents/development/ios-developer.agent.md +0 -41
  52. package/assets/agents/development/product-manager.agent.md +0 -41
  53. package/assets/agents/development/qa-engineer.agent.md +0 -41
  54. package/assets/agents/development/scrum-master.agent.md +0 -41
  55. package/assets/agents/development/security-analyst.agent.md +0 -41
  56. package/assets/agents/development/tech-lead.agent.md +0 -42
  57. package/assets/agents/development/tech-writer.agent.md +0 -41
  58. package/assets/agents/development/ux-design-expert.agent.md +0 -108
  59. package/assets/agents/development/ux-designer.agent.md +0 -41
  60. package/assets/agents/finance/accounts-manager.agent.md +0 -41
  61. package/assets/agents/finance/billing-analyst.agent.md +0 -41
  62. package/assets/agents/finance/budget-planner.agent.md +0 -41
  63. package/assets/agents/finance/financial-controller.agent.md +0 -41
  64. package/assets/agents/hr/benefits-manager.agent.md +0 -41
  65. package/assets/agents/hr/hr-onboarding.agent.md +0 -41
  66. package/assets/agents/hr/interview-coordinator.agent.md +0 -41
  67. package/assets/agents/hr/people-culture.agent.md +0 -41
  68. package/assets/agents/hr/performance-analyst.agent.md +0 -41
  69. package/assets/agents/hr/recruiter.agent.md +0 -41
  70. package/assets/agents/implantation/deployment-manager.agent.md +0 -41
  71. package/assets/agents/implantation/environment-specialist.agent.md +0 -41
  72. package/assets/agents/implantation/go-live-coordinator.agent.md +0 -41
  73. package/assets/agents/implantation/integration-specialist.agent.md +0 -41
  74. package/assets/agents/implantation/migration-specialist.agent.md +0 -41
  75. package/assets/agents/legal/contract-manager.agent.md +0 -41
  76. package/assets/agents/legal/ip-specialist.agent.md +0 -41
  77. package/assets/agents/legal/labor-attorney.agent.md +0 -41
  78. package/assets/agents/legal/legal-counsel.agent.md +0 -41
  79. package/assets/agents/marketing/brand-guardian.agent.md +0 -40
  80. package/assets/agents/marketing/content-creator.agent.md +0 -41
  81. package/assets/agents/marketing/email-marketing.agent.md +0 -41
  82. package/assets/agents/marketing/landing-page-builder.agent.md +0 -138
  83. package/assets/agents/marketing/marketing-analyst.agent.md +0 -41
  84. package/assets/agents/marketing/paid-ads-manager.agent.md +0 -41
  85. package/assets/agents/marketing/seo-specialist.agent.md +0 -41
  86. package/assets/agents/marketing/social-media-manager.agent.md +0 -41
  87. package/assets/agents/rnd/benchmark-analyst.agent.md +0 -41
  88. package/assets/agents/rnd/innovation-scout.agent.md +0 -41
  89. package/assets/agents/rnd/market-researcher.agent.md +0 -41
  90. package/assets/agents/rnd/product-analyst.agent.md +0 -41
  91. package/assets/agents/rnd/prototype-builder.agent.md +0 -41
  92. package/assets/agents/support/knowledge-base-manager.agent.md +0 -41
  93. package/assets/agents/support/l1-support.agent.md +0 -41
  94. package/assets/agents/support/l2-support.agent.md +0 -41
  95. package/assets/agents/support/l3-support.agent.md +0 -41
  96. package/assets/agents/support/sla-monitor.agent.md +0 -41
  97. package/assets/agents/training/assessment-creator.agent.md +0 -41
  98. package/assets/agents/training/onboarding-coach.agent.md +0 -41
  99. package/assets/agents/training/training-designer.agent.md +0 -41
  100. package/assets/agents/training/workshop-facilitator.agent.md +0 -41
  101. package/assets/core/best-practices/_catalog.yaml +0 -91
  102. package/assets/core/best-practices/api-documentation.md +0 -137
  103. package/assets/core/best-practices/blog-post.md +0 -86
  104. package/assets/core/best-practices/blog-seo.md +0 -91
  105. package/assets/core/best-practices/code-review.md +0 -97
  106. package/assets/core/best-practices/copywriting.md +0 -75
  107. package/assets/core/best-practices/data-analysis.md +0 -93
  108. package/assets/core/best-practices/deploy-checklist.md +0 -99
  109. package/assets/core/best-practices/email-newsletter.md +0 -84
  110. package/assets/core/best-practices/email-sales.md +0 -91
  111. package/assets/core/best-practices/fullstack-page-generation.md +0 -936
  112. package/assets/core/best-practices/image-design.md +0 -78
  113. package/assets/core/best-practices/instagram-feed.md +0 -70
  114. package/assets/core/best-practices/instagram-reels.md +0 -75
  115. package/assets/core/best-practices/instagram-stories.md +0 -68
  116. package/assets/core/best-practices/landing-page-react.md +0 -2263
  117. package/assets/core/best-practices/landing-page.md +0 -279
  118. package/assets/core/best-practices/linkedin-article.md +0 -83
  119. package/assets/core/best-practices/linkedin-post.md +0 -84
  120. package/assets/core/best-practices/researching.md +0 -89
  121. package/assets/core/best-practices/review.md +0 -95
  122. package/assets/core/best-practices/sprint-planning.md +0 -91
  123. package/assets/core/best-practices/strategist.md +0 -95
  124. package/assets/core/best-practices/technical-writing.md +0 -104
  125. package/assets/core/best-practices/twitter-post.md +0 -75
  126. package/assets/core/best-practices/twitter-thread.md +0 -92
  127. package/assets/core/best-practices/whatsapp-broadcast.md +0 -95
  128. package/assets/core/best-practices/youtube-script.md +0 -80
  129. package/assets/core/best-practices/youtube-shorts.md +0 -76
  130. package/assets/core/prompts/insight-hunter.prompt.md +0 -62
  131. package/assets/core/runner.pipeline.md +0 -200
  132. package/assets/core/skills.engine.md +0 -65
  133. package/assets/core/solution-architect.agent.md +0 -329
  134. package/assets/mcps/_catalog.yaml +0 -17
  135. package/assets/mcps/figma.mcp.yaml +0 -35
  136. package/assets/mcps/github.mcp.yaml +0 -44
  137. package/assets/mcps/linear.mcp.yaml +0 -37
  138. package/assets/mcps/notion.mcp.yaml +0 -37
  139. package/assets/mcps/pencil.mcp.yaml +0 -32
  140. package/assets/mcps/postgresql.mcp.yaml +0 -39
  141. package/assets/mcps/sentry.mcp.yaml +0 -41
  142. package/assets/mcps/slack.mcp.yaml +0 -37
  143. package/assets/mcps/vercel.mcp.yaml +0 -39
  144. package/assets/templates/_expxagents/_memory/company.md +0 -25
  145. package/assets/templates/_expxagents/_memory/preferences.md +0 -6
  146. package/assets/templates/squads/_memory/memories.md +0 -16
  147. package/dist/cli/src/__tests__/cli.test.d.ts +0 -1
  148. package/dist/cli/src/__tests__/cli.test.js +0 -23
  149. package/dist/cli/src/commands/__tests__/outdated.test.d.ts +0 -1
  150. package/dist/cli/src/commands/__tests__/outdated.test.js +0 -76
  151. package/dist/cli/src/mcp/__tests__/catalog.test.d.ts +0 -1
  152. package/dist/cli/src/mcp/__tests__/catalog.test.js +0 -101
  153. package/dist/cli/src/mcp/__tests__/detect.test.d.ts +0 -1
  154. package/dist/cli/src/mcp/__tests__/detect.test.js +0 -84
  155. package/dist/cli/src/mcp/__tests__/setup.test.d.ts +0 -1
  156. package/dist/cli/src/mcp/__tests__/setup.test.js +0 -75
  157. package/dist/cli/src/mcp/__tests__/validate.test.d.ts +0 -1
  158. package/dist/cli/src/mcp/__tests__/validate.test.js +0 -42
  159. package/dist/cli/src/pencil/__tests__/detect.test.d.ts +0 -1
  160. package/dist/cli/src/pencil/__tests__/detect.test.js +0 -71
  161. package/dist/cli/src/pencil/__tests__/property-mapper.test.d.ts +0 -1
  162. package/dist/cli/src/pencil/__tests__/property-mapper.test.js +0 -120
  163. package/dist/cli/src/pencil/__tests__/template-sync.test.d.ts +0 -1
  164. package/dist/cli/src/pencil/__tests__/template-sync.test.js +0 -95
  165. package/dist/cli/src/runners/__tests__/provider-registry.test.d.ts +0 -1
  166. package/dist/cli/src/runners/__tests__/provider-registry.test.js +0 -31
  167. package/dist/cli/src/runners/__tests__/provider-runner.test.d.ts +0 -1
  168. package/dist/cli/src/runners/__tests__/provider-runner.test.js +0 -86
  169. package/dist/cli/src/utils/__tests__/command-prefix.test.d.ts +0 -1
  170. package/dist/cli/src/utils/__tests__/command-prefix.test.js +0 -35
  171. package/dist/cli/src/utils/__tests__/global-install.test.d.ts +0 -1
  172. package/dist/cli/src/utils/__tests__/global-install.test.js +0 -25
  173. package/dist/dashboard/assets/BufferResource-RMf3hLtL.js +0 -185
  174. package/dist/dashboard/assets/CanvasRenderer-By9CeUeH.js +0 -1
  175. package/dist/dashboard/assets/JarvisView-DCkJVL5f.js +0 -1
  176. package/dist/dashboard/assets/RenderTargetSystem-Du3lfljq.js +0 -172
  177. package/dist/dashboard/assets/ThreeBackground-m9EgwJVc.js +0 -1
  178. package/dist/dashboard/assets/WebGLRenderer-BfDYJhYQ.js +0 -156
  179. package/dist/dashboard/assets/WebGPURenderer-CYzaDyV_.js +0 -41
  180. package/dist/dashboard/assets/browserAll-CFQKTPw8.js +0 -14
  181. package/dist/dashboard/assets/index-DPwnElYV.js +0 -1195
  182. package/dist/dashboard/assets/index-DtbIzZ5n.css +0 -1
  183. package/dist/dashboard/assets/three-BZk_I9Ly.js +0 -4057
  184. package/dist/dashboard/assets/webworkerAll-Cti2tnMb.js +0 -83
  185. package/dist/dashboard/index.html +0 -13
  186. package/dist/data/opensquad.db +0 -0
  187. package/dist/data/opensquad.db-shm +0 -0
  188. package/dist/data/opensquad.db-wal +0 -0
  189. package/dist/server/api/__tests__/cost-routes.test.d.ts +0 -2
  190. package/dist/server/api/__tests__/cost-routes.test.d.ts.map +0 -1
  191. package/dist/server/api/__tests__/cost-routes.test.js +0 -54
  192. package/dist/server/api/__tests__/cost-routes.test.js.map +0 -1
  193. package/dist/server/api/__tests__/files-routes.test.d.ts +0 -2
  194. package/dist/server/api/__tests__/files-routes.test.d.ts.map +0 -1
  195. package/dist/server/api/__tests__/files-routes.test.js +0 -85
  196. package/dist/server/api/__tests__/files-routes.test.js.map +0 -1
  197. package/dist/server/api/__tests__/graph-routes.test.d.ts +0 -2
  198. package/dist/server/api/__tests__/graph-routes.test.d.ts.map +0 -1
  199. package/dist/server/api/__tests__/graph-routes.test.js +0 -105
  200. package/dist/server/api/__tests__/graph-routes.test.js.map +0 -1
  201. package/dist/server/api/__tests__/health-routes.test.d.ts +0 -2
  202. package/dist/server/api/__tests__/health-routes.test.d.ts.map +0 -1
  203. package/dist/server/api/__tests__/health-routes.test.js +0 -22
  204. package/dist/server/api/__tests__/health-routes.test.js.map +0 -1
  205. package/dist/server/api/__tests__/integration-routes.test.d.ts +0 -2
  206. package/dist/server/api/__tests__/integration-routes.test.d.ts.map +0 -1
  207. package/dist/server/api/__tests__/integration-routes.test.js +0 -243
  208. package/dist/server/api/__tests__/integration-routes.test.js.map +0 -1
  209. package/dist/server/api/__tests__/kanban-routes.test.d.ts +0 -2
  210. package/dist/server/api/__tests__/kanban-routes.test.d.ts.map +0 -1
  211. package/dist/server/api/__tests__/kanban-routes.test.js +0 -316
  212. package/dist/server/api/__tests__/kanban-routes.test.js.map +0 -1
  213. package/dist/server/api/__tests__/log-routes.test.d.ts +0 -2
  214. package/dist/server/api/__tests__/log-routes.test.d.ts.map +0 -1
  215. package/dist/server/api/__tests__/log-routes.test.js +0 -35
  216. package/dist/server/api/__tests__/log-routes.test.js.map +0 -1
  217. package/dist/server/api/__tests__/orgchart-routes.test.d.ts +0 -2
  218. package/dist/server/api/__tests__/orgchart-routes.test.d.ts.map +0 -1
  219. package/dist/server/api/__tests__/orgchart-routes.test.js +0 -161
  220. package/dist/server/api/__tests__/orgchart-routes.test.js.map +0 -1
  221. package/dist/server/api/__tests__/settings-routes.test.d.ts +0 -2
  222. package/dist/server/api/__tests__/settings-routes.test.d.ts.map +0 -1
  223. package/dist/server/api/__tests__/settings-routes.test.js +0 -177
  224. package/dist/server/api/__tests__/settings-routes.test.js.map +0 -1
  225. package/dist/server/api/__tests__/system-routes.test.d.ts +0 -2
  226. package/dist/server/api/__tests__/system-routes.test.d.ts.map +0 -1
  227. package/dist/server/api/__tests__/system-routes.test.js +0 -79
  228. package/dist/server/api/__tests__/system-routes.test.js.map +0 -1
  229. package/dist/server/api/__tests__/team-routes.test.d.ts +0 -2
  230. package/dist/server/api/__tests__/team-routes.test.d.ts.map +0 -1
  231. package/dist/server/api/__tests__/team-routes.test.js +0 -116
  232. package/dist/server/api/__tests__/team-routes.test.js.map +0 -1
  233. package/dist/server/api/__tests__/webhook-routes.test.d.ts +0 -2
  234. package/dist/server/api/__tests__/webhook-routes.test.d.ts.map +0 -1
  235. package/dist/server/api/__tests__/webhook-routes.test.js +0 -111
  236. package/dist/server/api/__tests__/webhook-routes.test.js.map +0 -1
  237. package/dist/server/api/activity-routes.d.ts +0 -8
  238. package/dist/server/api/activity-routes.d.ts.map +0 -1
  239. package/dist/server/api/activity-routes.js +0 -34
  240. package/dist/server/api/activity-routes.js.map +0 -1
  241. package/dist/server/api/chat-api-routes.d.ts +0 -4
  242. package/dist/server/api/chat-api-routes.d.ts.map +0 -1
  243. package/dist/server/api/chat-api-routes.js +0 -28
  244. package/dist/server/api/chat-api-routes.js.map +0 -1
  245. package/dist/server/api/cost-routes.d.ts +0 -8
  246. package/dist/server/api/cost-routes.d.ts.map +0 -1
  247. package/dist/server/api/cost-routes.js +0 -39
  248. package/dist/server/api/cost-routes.js.map +0 -1
  249. package/dist/server/api/dashboard-routes.d.ts +0 -10
  250. package/dist/server/api/dashboard-routes.d.ts.map +0 -1
  251. package/dist/server/api/dashboard-routes.js +0 -128
  252. package/dist/server/api/dashboard-routes.js.map +0 -1
  253. package/dist/server/api/files-routes.d.ts +0 -5
  254. package/dist/server/api/files-routes.d.ts.map +0 -1
  255. package/dist/server/api/files-routes.js +0 -218
  256. package/dist/server/api/files-routes.js.map +0 -1
  257. package/dist/server/api/graph-routes.d.ts +0 -24
  258. package/dist/server/api/graph-routes.d.ts.map +0 -1
  259. package/dist/server/api/graph-routes.js +0 -208
  260. package/dist/server/api/graph-routes.js.map +0 -1
  261. package/dist/server/api/health-routes.d.ts +0 -9
  262. package/dist/server/api/health-routes.d.ts.map +0 -1
  263. package/dist/server/api/health-routes.js +0 -46
  264. package/dist/server/api/health-routes.js.map +0 -1
  265. package/dist/server/api/integration-routes.d.ts +0 -23
  266. package/dist/server/api/integration-routes.d.ts.map +0 -1
  267. package/dist/server/api/integration-routes.js +0 -326
  268. package/dist/server/api/integration-routes.js.map +0 -1
  269. package/dist/server/api/kanban-routes.d.ts +0 -8
  270. package/dist/server/api/kanban-routes.d.ts.map +0 -1
  271. package/dist/server/api/kanban-routes.js +0 -128
  272. package/dist/server/api/kanban-routes.js.map +0 -1
  273. package/dist/server/api/knowledge-routes.d.ts +0 -8
  274. package/dist/server/api/knowledge-routes.d.ts.map +0 -1
  275. package/dist/server/api/knowledge-routes.js +0 -82
  276. package/dist/server/api/knowledge-routes.js.map +0 -1
  277. package/dist/server/api/log-routes.d.ts +0 -8
  278. package/dist/server/api/log-routes.d.ts.map +0 -1
  279. package/dist/server/api/log-routes.js +0 -31
  280. package/dist/server/api/log-routes.js.map +0 -1
  281. package/dist/server/api/orgchart-routes.d.ts +0 -7
  282. package/dist/server/api/orgchart-routes.d.ts.map +0 -1
  283. package/dist/server/api/orgchart-routes.js +0 -154
  284. package/dist/server/api/orgchart-routes.js.map +0 -1
  285. package/dist/server/api/registry-routes.d.ts +0 -7
  286. package/dist/server/api/registry-routes.d.ts.map +0 -1
  287. package/dist/server/api/registry-routes.js +0 -51
  288. package/dist/server/api/registry-routes.js.map +0 -1
  289. package/dist/server/api/settings-routes.d.ts +0 -11
  290. package/dist/server/api/settings-routes.d.ts.map +0 -1
  291. package/dist/server/api/settings-routes.js +0 -167
  292. package/dist/server/api/settings-routes.js.map +0 -1
  293. package/dist/server/api/squads-routes.d.ts +0 -7
  294. package/dist/server/api/squads-routes.d.ts.map +0 -1
  295. package/dist/server/api/squads-routes.js +0 -165
  296. package/dist/server/api/squads-routes.js.map +0 -1
  297. package/dist/server/api/system-routes.d.ts +0 -9
  298. package/dist/server/api/system-routes.d.ts.map +0 -1
  299. package/dist/server/api/system-routes.js +0 -241
  300. package/dist/server/api/system-routes.js.map +0 -1
  301. package/dist/server/api/team-routes.d.ts +0 -8
  302. package/dist/server/api/team-routes.d.ts.map +0 -1
  303. package/dist/server/api/team-routes.js +0 -55
  304. package/dist/server/api/team-routes.js.map +0 -1
  305. package/dist/server/api/users-routes.d.ts +0 -8
  306. package/dist/server/api/users-routes.d.ts.map +0 -1
  307. package/dist/server/api/users-routes.js +0 -65
  308. package/dist/server/api/users-routes.js.map +0 -1
  309. package/dist/server/api/webhook-routes.d.ts +0 -9
  310. package/dist/server/api/webhook-routes.d.ts.map +0 -1
  311. package/dist/server/api/webhook-routes.js +0 -82
  312. package/dist/server/api/webhook-routes.js.map +0 -1
  313. package/dist/server/app.d.ts +0 -9
  314. package/dist/server/app.d.ts.map +0 -1
  315. package/dist/server/app.js +0 -263
  316. package/dist/server/app.js.map +0 -1
  317. package/dist/server/auth/auth-middleware.d.ts +0 -13
  318. package/dist/server/auth/auth-middleware.d.ts.map +0 -1
  319. package/dist/server/auth/auth-middleware.js +0 -25
  320. package/dist/server/auth/auth-middleware.js.map +0 -1
  321. package/dist/server/auth/auth-routes.d.ts +0 -9
  322. package/dist/server/auth/auth-routes.d.ts.map +0 -1
  323. package/dist/server/auth/auth-routes.js +0 -149
  324. package/dist/server/auth/auth-routes.js.map +0 -1
  325. package/dist/server/auth/jwt.d.ts +0 -14
  326. package/dist/server/auth/jwt.d.ts.map +0 -1
  327. package/dist/server/auth/jwt.js +0 -16
  328. package/dist/server/auth/jwt.js.map +0 -1
  329. package/dist/server/auth/password.d.ts +0 -3
  330. package/dist/server/auth/password.d.ts.map +0 -1
  331. package/dist/server/auth/password.js +0 -9
  332. package/dist/server/auth/password.js.map +0 -1
  333. package/dist/server/bridge/__tests__/chat-handler.test.d.ts +0 -2
  334. package/dist/server/bridge/__tests__/chat-handler.test.d.ts.map +0 -1
  335. package/dist/server/bridge/__tests__/chat-handler.test.js +0 -143
  336. package/dist/server/bridge/__tests__/chat-handler.test.js.map +0 -1
  337. package/dist/server/bridge/__tests__/chat-integration.test.d.ts +0 -2
  338. package/dist/server/bridge/__tests__/chat-integration.test.d.ts.map +0 -1
  339. package/dist/server/bridge/__tests__/chat-integration.test.js +0 -129
  340. package/dist/server/bridge/__tests__/chat-integration.test.js.map +0 -1
  341. package/dist/server/bridge/__tests__/claude-bridge.test.d.ts +0 -2
  342. package/dist/server/bridge/__tests__/claude-bridge.test.d.ts.map +0 -1
  343. package/dist/server/bridge/__tests__/claude-bridge.test.js +0 -300
  344. package/dist/server/bridge/__tests__/claude-bridge.test.js.map +0 -1
  345. package/dist/server/bridge/__tests__/conversation.test.d.ts +0 -2
  346. package/dist/server/bridge/__tests__/conversation.test.d.ts.map +0 -1
  347. package/dist/server/bridge/__tests__/conversation.test.js +0 -168
  348. package/dist/server/bridge/__tests__/conversation.test.js.map +0 -1
  349. package/dist/server/bridge/__tests__/registry.test.d.ts +0 -2
  350. package/dist/server/bridge/__tests__/registry.test.d.ts.map +0 -1
  351. package/dist/server/bridge/__tests__/registry.test.js +0 -45
  352. package/dist/server/bridge/__tests__/registry.test.js.map +0 -1
  353. package/dist/server/bridge/__tests__/stream-parser.test.d.ts +0 -2
  354. package/dist/server/bridge/__tests__/stream-parser.test.d.ts.map +0 -1
  355. package/dist/server/bridge/__tests__/stream-parser.test.js +0 -66
  356. package/dist/server/bridge/__tests__/stream-parser.test.js.map +0 -1
  357. package/dist/server/bridge/chat-handler.d.ts +0 -32
  358. package/dist/server/bridge/chat-handler.d.ts.map +0 -1
  359. package/dist/server/bridge/chat-handler.js +0 -356
  360. package/dist/server/bridge/chat-handler.js.map +0 -1
  361. package/dist/server/bridge/claude-bridge.d.ts +0 -21
  362. package/dist/server/bridge/claude-bridge.d.ts.map +0 -1
  363. package/dist/server/bridge/claude-bridge.js +0 -273
  364. package/dist/server/bridge/claude-bridge.js.map +0 -1
  365. package/dist/server/bridge/conversation.d.ts +0 -45
  366. package/dist/server/bridge/conversation.d.ts.map +0 -1
  367. package/dist/server/bridge/conversation.js +0 -78
  368. package/dist/server/bridge/conversation.js.map +0 -1
  369. package/dist/server/bridge/engine-manager.d.ts +0 -13
  370. package/dist/server/bridge/engine-manager.d.ts.map +0 -1
  371. package/dist/server/bridge/engine-manager.js +0 -54
  372. package/dist/server/bridge/engine-manager.js.map +0 -1
  373. package/dist/server/bridge/engine.d.ts +0 -37
  374. package/dist/server/bridge/engine.d.ts.map +0 -1
  375. package/dist/server/bridge/engine.js +0 -2
  376. package/dist/server/bridge/engine.js.map +0 -1
  377. package/dist/server/bridge/factory.d.ts +0 -4
  378. package/dist/server/bridge/factory.d.ts.map +0 -1
  379. package/dist/server/bridge/factory.js +0 -18
  380. package/dist/server/bridge/factory.js.map +0 -1
  381. package/dist/server/bridge/opencode-bridge.d.ts +0 -27
  382. package/dist/server/bridge/opencode-bridge.d.ts.map +0 -1
  383. package/dist/server/bridge/opencode-bridge.js +0 -163
  384. package/dist/server/bridge/opencode-bridge.js.map +0 -1
  385. package/dist/server/bridge/registry.d.ts +0 -19
  386. package/dist/server/bridge/registry.d.ts.map +0 -1
  387. package/dist/server/bridge/registry.js +0 -29
  388. package/dist/server/bridge/registry.js.map +0 -1
  389. package/dist/server/bridge/session-journal.d.ts +0 -25
  390. package/dist/server/bridge/session-journal.d.ts.map +0 -1
  391. package/dist/server/bridge/session-journal.js +0 -69
  392. package/dist/server/bridge/session-journal.js.map +0 -1
  393. package/dist/server/bridge/stream-parser.d.ts +0 -14
  394. package/dist/server/bridge/stream-parser.d.ts.map +0 -1
  395. package/dist/server/bridge/stream-parser.js +0 -26
  396. package/dist/server/bridge/stream-parser.js.map +0 -1
  397. package/dist/server/config/engine-config.d.ts +0 -4
  398. package/dist/server/config/engine-config.d.ts.map +0 -1
  399. package/dist/server/config/engine-config.js +0 -24
  400. package/dist/server/config/engine-config.js.map +0 -1
  401. package/dist/server/config.d.ts +0 -17
  402. package/dist/server/config.d.ts.map +0 -1
  403. package/dist/server/config.js +0 -39
  404. package/dist/server/config.js.map +0 -1
  405. package/dist/server/db/__tests__/chat-tables.test.d.ts +0 -2
  406. package/dist/server/db/__tests__/chat-tables.test.d.ts.map +0 -1
  407. package/dist/server/db/__tests__/chat-tables.test.js +0 -82
  408. package/dist/server/db/__tests__/chat-tables.test.js.map +0 -1
  409. package/dist/server/db/__tests__/email-schema.test.d.ts +0 -2
  410. package/dist/server/db/__tests__/email-schema.test.d.ts.map +0 -1
  411. package/dist/server/db/__tests__/email-schema.test.js +0 -53
  412. package/dist/server/db/__tests__/email-schema.test.js.map +0 -1
  413. package/dist/server/db/__tests__/scheduler-schema.test.d.ts +0 -2
  414. package/dist/server/db/__tests__/scheduler-schema.test.d.ts.map +0 -1
  415. package/dist/server/db/__tests__/scheduler-schema.test.js +0 -52
  416. package/dist/server/db/__tests__/scheduler-schema.test.js.map +0 -1
  417. package/dist/server/db/connection.d.ts +0 -4
  418. package/dist/server/db/connection.d.ts.map +0 -1
  419. package/dist/server/db/connection.js +0 -40
  420. package/dist/server/db/connection.js.map +0 -1
  421. package/dist/server/db/migrations.d.ts +0 -4
  422. package/dist/server/db/migrations.d.ts.map +0 -1
  423. package/dist/server/db/migrations.js +0 -47
  424. package/dist/server/db/migrations.js.map +0 -1
  425. package/dist/server/db/schema.d.ts +0 -2
  426. package/dist/server/db/schema.d.ts.map +0 -1
  427. package/dist/server/db/schema.js +0 -276
  428. package/dist/server/db/schema.js.map +0 -1
  429. package/dist/server/email/__tests__/campaign-routes.test.d.ts +0 -2
  430. package/dist/server/email/__tests__/campaign-routes.test.d.ts.map +0 -1
  431. package/dist/server/email/__tests__/campaign-routes.test.js +0 -216
  432. package/dist/server/email/__tests__/campaign-routes.test.js.map +0 -1
  433. package/dist/server/email/__tests__/campaign-service.test.d.ts +0 -2
  434. package/dist/server/email/__tests__/campaign-service.test.d.ts.map +0 -1
  435. package/dist/server/email/__tests__/campaign-service.test.js +0 -79
  436. package/dist/server/email/__tests__/campaign-service.test.js.map +0 -1
  437. package/dist/server/email/__tests__/email-queue-worker.test.d.ts +0 -2
  438. package/dist/server/email/__tests__/email-queue-worker.test.d.ts.map +0 -1
  439. package/dist/server/email/__tests__/email-queue-worker.test.js +0 -93
  440. package/dist/server/email/__tests__/email-queue-worker.test.js.map +0 -1
  441. package/dist/server/email/__tests__/email-utils.test.d.ts +0 -2
  442. package/dist/server/email/__tests__/email-utils.test.d.ts.map +0 -1
  443. package/dist/server/email/__tests__/email-utils.test.js +0 -36
  444. package/dist/server/email/__tests__/email-utils.test.js.map +0 -1
  445. package/dist/server/email/__tests__/lead-routes.test.d.ts +0 -2
  446. package/dist/server/email/__tests__/lead-routes.test.d.ts.map +0 -1
  447. package/dist/server/email/__tests__/lead-routes.test.js +0 -180
  448. package/dist/server/email/__tests__/lead-routes.test.js.map +0 -1
  449. package/dist/server/email/__tests__/lead-service.test.d.ts +0 -2
  450. package/dist/server/email/__tests__/lead-service.test.d.ts.map +0 -1
  451. package/dist/server/email/__tests__/lead-service.test.js +0 -113
  452. package/dist/server/email/__tests__/lead-service.test.js.map +0 -1
  453. package/dist/server/email/__tests__/ses-client.test.d.ts +0 -2
  454. package/dist/server/email/__tests__/ses-client.test.d.ts.map +0 -1
  455. package/dist/server/email/__tests__/ses-client.test.js +0 -48
  456. package/dist/server/email/__tests__/ses-client.test.js.map +0 -1
  457. package/dist/server/email/__tests__/sns-webhook.test.d.ts +0 -2
  458. package/dist/server/email/__tests__/sns-webhook.test.d.ts.map +0 -1
  459. package/dist/server/email/__tests__/sns-webhook.test.js +0 -40
  460. package/dist/server/email/__tests__/sns-webhook.test.js.map +0 -1
  461. package/dist/server/email/campaign-routes.d.ts +0 -8
  462. package/dist/server/email/campaign-routes.d.ts.map +0 -1
  463. package/dist/server/email/campaign-routes.js +0 -65
  464. package/dist/server/email/campaign-routes.js.map +0 -1
  465. package/dist/server/email/campaign-service.d.ts +0 -55
  466. package/dist/server/email/campaign-service.d.ts.map +0 -1
  467. package/dist/server/email/campaign-service.js +0 -89
  468. package/dist/server/email/campaign-service.js.map +0 -1
  469. package/dist/server/email/email-queue-worker.d.ts +0 -27
  470. package/dist/server/email/email-queue-worker.d.ts.map +0 -1
  471. package/dist/server/email/email-queue-worker.js +0 -119
  472. package/dist/server/email/email-queue-worker.js.map +0 -1
  473. package/dist/server/email/email-utils.d.ts +0 -5
  474. package/dist/server/email/email-utils.d.ts.map +0 -1
  475. package/dist/server/email/email-utils.js +0 -24
  476. package/dist/server/email/email-utils.js.map +0 -1
  477. package/dist/server/email/lead-routes.d.ts +0 -8
  478. package/dist/server/email/lead-routes.d.ts.map +0 -1
  479. package/dist/server/email/lead-routes.js +0 -56
  480. package/dist/server/email/lead-routes.js.map +0 -1
  481. package/dist/server/email/lead-service.d.ts +0 -66
  482. package/dist/server/email/lead-service.d.ts.map +0 -1
  483. package/dist/server/email/lead-service.js +0 -138
  484. package/dist/server/email/lead-service.js.map +0 -1
  485. package/dist/server/email/ses-client.d.ts +0 -27
  486. package/dist/server/email/ses-client.d.ts.map +0 -1
  487. package/dist/server/email/ses-client.js +0 -44
  488. package/dist/server/email/ses-client.js.map +0 -1
  489. package/dist/server/email/sns-webhook.d.ts +0 -10
  490. package/dist/server/email/sns-webhook.d.ts.map +0 -1
  491. package/dist/server/email/sns-webhook.js +0 -73
  492. package/dist/server/email/sns-webhook.js.map +0 -1
  493. package/dist/server/index.d.ts +0 -2
  494. package/dist/server/index.d.ts.map +0 -1
  495. package/dist/server/index.js +0 -36
  496. package/dist/server/index.js.map +0 -1
  497. package/dist/server/mcp/expxagents-mcp.d.ts +0 -2
  498. package/dist/server/mcp/expxagents-mcp.d.ts.map +0 -1
  499. package/dist/server/mcp/expxagents-mcp.js +0 -230
  500. package/dist/server/mcp/expxagents-mcp.js.map +0 -1
  501. package/dist/server/routes/__tests__/conversations.test.d.ts +0 -2
  502. package/dist/server/routes/__tests__/conversations.test.d.ts.map +0 -1
  503. package/dist/server/routes/__tests__/conversations.test.js +0 -111
  504. package/dist/server/routes/__tests__/conversations.test.js.map +0 -1
  505. package/dist/server/routes/conversations.d.ts +0 -8
  506. package/dist/server/routes/conversations.d.ts.map +0 -1
  507. package/dist/server/routes/conversations.js +0 -36
  508. package/dist/server/routes/conversations.js.map +0 -1
  509. package/dist/server/scheduler/__tests__/job-runner.test.d.ts +0 -2
  510. package/dist/server/scheduler/__tests__/job-runner.test.d.ts.map +0 -1
  511. package/dist/server/scheduler/__tests__/job-runner.test.js +0 -488
  512. package/dist/server/scheduler/__tests__/job-runner.test.js.map +0 -1
  513. package/dist/server/scheduler/__tests__/scheduler-routes.test.d.ts +0 -2
  514. package/dist/server/scheduler/__tests__/scheduler-routes.test.d.ts.map +0 -1
  515. package/dist/server/scheduler/__tests__/scheduler-routes.test.js +0 -167
  516. package/dist/server/scheduler/__tests__/scheduler-routes.test.js.map +0 -1
  517. package/dist/server/scheduler/__tests__/scheduler-service.test.d.ts +0 -2
  518. package/dist/server/scheduler/__tests__/scheduler-service.test.d.ts.map +0 -1
  519. package/dist/server/scheduler/__tests__/scheduler-service.test.js +0 -207
  520. package/dist/server/scheduler/__tests__/scheduler-service.test.js.map +0 -1
  521. package/dist/server/scheduler/job-runner.d.ts +0 -73
  522. package/dist/server/scheduler/job-runner.d.ts.map +0 -1
  523. package/dist/server/scheduler/job-runner.js +0 -407
  524. package/dist/server/scheduler/job-runner.js.map +0 -1
  525. package/dist/server/scheduler/scheduler-routes.d.ts +0 -10
  526. package/dist/server/scheduler/scheduler-routes.d.ts.map +0 -1
  527. package/dist/server/scheduler/scheduler-routes.js +0 -105
  528. package/dist/server/scheduler/scheduler-routes.js.map +0 -1
  529. package/dist/server/scheduler/scheduler-service.d.ts +0 -55
  530. package/dist/server/scheduler/scheduler-service.d.ts.map +0 -1
  531. package/dist/server/scheduler/scheduler-service.js +0 -271
  532. package/dist/server/scheduler/scheduler-service.js.map +0 -1
  533. package/dist/server/services/__tests__/cost-service.test.d.ts +0 -2
  534. package/dist/server/services/__tests__/cost-service.test.d.ts.map +0 -1
  535. package/dist/server/services/__tests__/cost-service.test.js +0 -72
  536. package/dist/server/services/__tests__/cost-service.test.js.map +0 -1
  537. package/dist/server/services/__tests__/execution-log-service.test.d.ts +0 -2
  538. package/dist/server/services/__tests__/execution-log-service.test.d.ts.map +0 -1
  539. package/dist/server/services/__tests__/execution-log-service.test.js +0 -40
  540. package/dist/server/services/__tests__/execution-log-service.test.js.map +0 -1
  541. package/dist/server/services/__tests__/integration-registry.test.d.ts +0 -2
  542. package/dist/server/services/__tests__/integration-registry.test.d.ts.map +0 -1
  543. package/dist/server/services/__tests__/integration-registry.test.js +0 -28
  544. package/dist/server/services/__tests__/integration-registry.test.js.map +0 -1
  545. package/dist/server/services/__tests__/log-service.test.d.ts +0 -2
  546. package/dist/server/services/__tests__/log-service.test.d.ts.map +0 -1
  547. package/dist/server/services/__tests__/log-service.test.js +0 -49
  548. package/dist/server/services/__tests__/log-service.test.js.map +0 -1
  549. package/dist/server/services/__tests__/pipeline-task-service.test.d.ts +0 -2
  550. package/dist/server/services/__tests__/pipeline-task-service.test.d.ts.map +0 -1
  551. package/dist/server/services/__tests__/pipeline-task-service.test.js +0 -268
  552. package/dist/server/services/__tests__/pipeline-task-service.test.js.map +0 -1
  553. package/dist/server/services/__tests__/state-service.test.d.ts +0 -2
  554. package/dist/server/services/__tests__/state-service.test.d.ts.map +0 -1
  555. package/dist/server/services/__tests__/state-service.test.js +0 -136
  556. package/dist/server/services/__tests__/state-service.test.js.map +0 -1
  557. package/dist/server/services/activity-service.d.ts +0 -35
  558. package/dist/server/services/activity-service.d.ts.map +0 -1
  559. package/dist/server/services/activity-service.js +0 -92
  560. package/dist/server/services/activity-service.js.map +0 -1
  561. package/dist/server/services/cost-service.d.ts +0 -55
  562. package/dist/server/services/cost-service.d.ts.map +0 -1
  563. package/dist/server/services/cost-service.js +0 -59
  564. package/dist/server/services/cost-service.js.map +0 -1
  565. package/dist/server/services/execution-log-service.d.ts +0 -20
  566. package/dist/server/services/execution-log-service.d.ts.map +0 -1
  567. package/dist/server/services/execution-log-service.js +0 -17
  568. package/dist/server/services/execution-log-service.js.map +0 -1
  569. package/dist/server/services/integration-registry.d.ts +0 -9
  570. package/dist/server/services/integration-registry.d.ts.map +0 -1
  571. package/dist/server/services/integration-registry.js +0 -14
  572. package/dist/server/services/integration-registry.js.map +0 -1
  573. package/dist/server/services/log-service.d.ts +0 -28
  574. package/dist/server/services/log-service.d.ts.map +0 -1
  575. package/dist/server/services/log-service.js +0 -34
  576. package/dist/server/services/log-service.js.map +0 -1
  577. package/dist/server/services/pipeline-task-service.d.ts +0 -79
  578. package/dist/server/services/pipeline-task-service.d.ts.map +0 -1
  579. package/dist/server/services/pipeline-task-service.js +0 -122
  580. package/dist/server/services/pipeline-task-service.js.map +0 -1
  581. package/dist/server/services/squad-registry.d.ts +0 -35
  582. package/dist/server/services/squad-registry.d.ts.map +0 -1
  583. package/dist/server/services/squad-registry.js +0 -141
  584. package/dist/server/services/squad-registry.js.map +0 -1
  585. package/dist/server/services/state-service.d.ts +0 -22
  586. package/dist/server/services/state-service.d.ts.map +0 -1
  587. package/dist/server/services/state-service.js +0 -114
  588. package/dist/server/services/state-service.js.map +0 -1
  589. package/dist/server/types/a2ui.d.ts +0 -27
  590. package/dist/server/types/a2ui.d.ts.map +0 -1
  591. package/dist/server/types/a2ui.js +0 -2
  592. package/dist/server/types/a2ui.js.map +0 -1
  593. package/dist/server/utils/find-free-port.d.ts +0 -2
  594. package/dist/server/utils/find-free-port.d.ts.map +0 -1
  595. package/dist/server/utils/find-free-port.js +0 -17
  596. package/dist/server/utils/find-free-port.js.map +0 -1
  597. package/dist/server/watcher/__tests__/file-watcher.test.d.ts +0 -2
  598. package/dist/server/watcher/__tests__/file-watcher.test.d.ts.map +0 -1
  599. package/dist/server/watcher/__tests__/file-watcher.test.js +0 -81
  600. package/dist/server/watcher/__tests__/file-watcher.test.js.map +0 -1
  601. package/dist/server/watcher/file-watcher.d.ts +0 -19
  602. package/dist/server/watcher/file-watcher.d.ts.map +0 -1
  603. package/dist/server/watcher/file-watcher.js +0 -105
  604. package/dist/server/watcher/file-watcher.js.map +0 -1
  605. package/dist/server/watcher/state-parser.d.ts +0 -77
  606. package/dist/server/watcher/state-parser.d.ts.map +0 -1
  607. package/dist/server/watcher/state-parser.js +0 -78
  608. package/dist/server/watcher/state-parser.js.map +0 -1
  609. package/dist/server/ws/ws-auth.d.ts +0 -4
  610. package/dist/server/ws/ws-auth.d.ts.map +0 -1
  611. package/dist/server/ws/ws-auth.js +0 -42
  612. package/dist/server/ws/ws-auth.js.map +0 -1
  613. package/dist/server/ws/ws-handler.d.ts +0 -12
  614. package/dist/server/ws/ws-handler.d.ts.map +0 -1
  615. package/dist/server/ws/ws-handler.js +0 -171
  616. package/dist/server/ws/ws-handler.js.map +0 -1
  617. package/dist/server/ws/ws-rooms.d.ts +0 -12
  618. package/dist/server/ws/ws-rooms.d.ts.map +0 -1
  619. package/dist/server/ws/ws-rooms.js +0 -52
  620. package/dist/server/ws/ws-rooms.js.map +0 -1
  621. package/node_modules/expxagents-knowledge/dist/config.d.ts +0 -4
  622. package/node_modules/expxagents-knowledge/dist/config.d.ts.map +0 -1
  623. package/node_modules/expxagents-knowledge/dist/config.js +0 -37
  624. package/node_modules/expxagents-knowledge/dist/config.js.map +0 -1
  625. package/node_modules/expxagents-knowledge/dist/db/connection.d.ts +0 -6
  626. package/node_modules/expxagents-knowledge/dist/db/connection.d.ts.map +0 -1
  627. package/node_modules/expxagents-knowledge/dist/db/connection.js +0 -69
  628. package/node_modules/expxagents-knowledge/dist/db/connection.js.map +0 -1
  629. package/node_modules/expxagents-knowledge/dist/db/migrations.d.ts +0 -3
  630. package/node_modules/expxagents-knowledge/dist/db/migrations.d.ts.map +0 -1
  631. package/node_modules/expxagents-knowledge/dist/db/migrations.js +0 -46
  632. package/node_modules/expxagents-knowledge/dist/db/migrations.js.map +0 -1
  633. package/node_modules/expxagents-knowledge/dist/db/schema.d.ts +0 -3
  634. package/node_modules/expxagents-knowledge/dist/db/schema.d.ts.map +0 -1
  635. package/node_modules/expxagents-knowledge/dist/db/schema.js +0 -79
  636. package/node_modules/expxagents-knowledge/dist/db/schema.js.map +0 -1
  637. package/node_modules/expxagents-knowledge/dist/index.d.ts +0 -16
  638. package/node_modules/expxagents-knowledge/dist/index.d.ts.map +0 -1
  639. package/node_modules/expxagents-knowledge/dist/index.js +0 -16
  640. package/node_modules/expxagents-knowledge/dist/index.js.map +0 -1
  641. package/node_modules/expxagents-knowledge/dist/ingest/chunker.d.ts +0 -10
  642. package/node_modules/expxagents-knowledge/dist/ingest/chunker.d.ts.map +0 -1
  643. package/node_modules/expxagents-knowledge/dist/ingest/chunker.js +0 -221
  644. package/node_modules/expxagents-knowledge/dist/ingest/chunker.js.map +0 -1
  645. package/node_modules/expxagents-knowledge/dist/ingest/document-loader.d.ts +0 -4
  646. package/node_modules/expxagents-knowledge/dist/ingest/document-loader.d.ts.map +0 -1
  647. package/node_modules/expxagents-knowledge/dist/ingest/document-loader.js +0 -56
  648. package/node_modules/expxagents-knowledge/dist/ingest/document-loader.js.map +0 -1
  649. package/node_modules/expxagents-knowledge/dist/ingest/embedder.d.ts +0 -4
  650. package/node_modules/expxagents-knowledge/dist/ingest/embedder.d.ts.map +0 -1
  651. package/node_modules/expxagents-knowledge/dist/ingest/embedder.js +0 -25
  652. package/node_modules/expxagents-knowledge/dist/ingest/embedder.js.map +0 -1
  653. package/node_modules/expxagents-knowledge/dist/ingest/entity-extractor.d.ts +0 -21
  654. package/node_modules/expxagents-knowledge/dist/ingest/entity-extractor.d.ts.map +0 -1
  655. package/node_modules/expxagents-knowledge/dist/ingest/entity-extractor.js +0 -54
  656. package/node_modules/expxagents-knowledge/dist/ingest/entity-extractor.js.map +0 -1
  657. package/node_modules/expxagents-knowledge/dist/ingest/extraction-queue.d.ts +0 -16
  658. package/node_modules/expxagents-knowledge/dist/ingest/extraction-queue.d.ts.map +0 -1
  659. package/node_modules/expxagents-knowledge/dist/ingest/extraction-queue.js +0 -49
  660. package/node_modules/expxagents-knowledge/dist/ingest/extraction-queue.js.map +0 -1
  661. package/node_modules/expxagents-knowledge/dist/ingest/pdf-extractor.d.ts +0 -9
  662. package/node_modules/expxagents-knowledge/dist/ingest/pdf-extractor.d.ts.map +0 -1
  663. package/node_modules/expxagents-knowledge/dist/ingest/pdf-extractor.js +0 -116
  664. package/node_modules/expxagents-knowledge/dist/ingest/pdf-extractor.js.map +0 -1
  665. package/node_modules/expxagents-knowledge/dist/ingest/pipeline.d.ts +0 -27
  666. package/node_modules/expxagents-knowledge/dist/ingest/pipeline.d.ts.map +0 -1
  667. package/node_modules/expxagents-knowledge/dist/ingest/pipeline.js +0 -92
  668. package/node_modules/expxagents-knowledge/dist/ingest/pipeline.js.map +0 -1
  669. package/node_modules/expxagents-knowledge/dist/query/graph-traversal.d.ts +0 -41
  670. package/node_modules/expxagents-knowledge/dist/query/graph-traversal.d.ts.map +0 -1
  671. package/node_modules/expxagents-knowledge/dist/query/graph-traversal.js +0 -62
  672. package/node_modules/expxagents-knowledge/dist/query/graph-traversal.js.map +0 -1
  673. package/node_modules/expxagents-knowledge/dist/query/knowledge-query.d.ts +0 -31
  674. package/node_modules/expxagents-knowledge/dist/query/knowledge-query.d.ts.map +0 -1
  675. package/node_modules/expxagents-knowledge/dist/query/knowledge-query.js +0 -106
  676. package/node_modules/expxagents-knowledge/dist/query/knowledge-query.js.map +0 -1
  677. package/node_modules/expxagents-knowledge/dist/query/vector-search.d.ts +0 -26
  678. package/node_modules/expxagents-knowledge/dist/query/vector-search.d.ts.map +0 -1
  679. package/node_modules/expxagents-knowledge/dist/query/vector-search.js +0 -57
  680. package/node_modules/expxagents-knowledge/dist/query/vector-search.js.map +0 -1
  681. package/node_modules/expxagents-knowledge/dist/sources/agent-output.d.ts +0 -10
  682. package/node_modules/expxagents-knowledge/dist/sources/agent-output.d.ts.map +0 -1
  683. package/node_modules/expxagents-knowledge/dist/sources/agent-output.js +0 -29
  684. package/node_modules/expxagents-knowledge/dist/sources/agent-output.js.map +0 -1
  685. package/node_modules/expxagents-knowledge/dist/sources/watcher.d.ts +0 -6
  686. package/node_modules/expxagents-knowledge/dist/sources/watcher.d.ts.map +0 -1
  687. package/node_modules/expxagents-knowledge/dist/sources/watcher.js +0 -42
  688. package/node_modules/expxagents-knowledge/dist/sources/watcher.js.map +0 -1
  689. package/node_modules/expxagents-knowledge/dist/types.d.ts +0 -138
  690. package/node_modules/expxagents-knowledge/dist/types.d.ts.map +0 -1
  691. package/node_modules/expxagents-knowledge/dist/types.js +0 -2
  692. package/node_modules/expxagents-knowledge/dist/types.js.map +0 -1
  693. package/node_modules/expxagents-knowledge/package.json +0 -7
@@ -1,936 +0,0 @@
1
- ---
2
- platform: software-house
3
- format: fullstack-page-generation
4
- constraints:
5
- max_chars: null
6
- image_ratio: null
7
- max_hashtags: null
8
- ---
9
-
10
- # Full-Stack Page Generation — Best Practices
11
-
12
- ## Philosophy
13
-
14
- Unlike single-file HTML landing pages, full-stack generation creates **production-ready project structures** that integrate with existing codebases or stand alone as deployable applications. The goal is never a throwaway prototype — it is a codebase a team can maintain, extend, and deploy with confidence.
15
-
16
- Every generated project must be:
17
-
18
- - **Typed end-to-end** — TypeScript strict mode, no `any` escapes.
19
- - **Token-driven** — Colors, spacing, typography, and radii defined once, referenced everywhere.
20
- - **Component-decomposed** — Atoms, molecules, organisms. Never a monolithic single component.
21
- - **Build-ready** — `npm install && npm run build` must succeed on first run.
22
- - **Accessible by default** — Semantic HTML, ARIA attributes, keyboard navigation, focus management.
23
-
24
- ---
25
-
26
- ## Supported Stacks
27
-
28
- ### 1. Next.js (Recommended for SSR/SSG)
29
-
30
- Best for marketing sites, content platforms, and applications requiring server-side rendering or static generation.
31
-
32
- ```
33
- project/
34
- ├── src/
35
- │ ├── app/ # App Router (Next.js 14+)
36
- │ │ ├── layout.tsx # Root layout with metadata
37
- │ │ ├── page.tsx # Home page
38
- │ │ └── globals.css # Global resets + font imports
39
- │ ├── components/
40
- │ │ ├── ui/ # Atoms: Button, Badge, Input, Heading, Text
41
- │ │ ├── sections/ # Organisms: Hero, Features, Pricing, Testimonials
42
- │ │ └── layout/ # Layout: Container, Header, Footer, NavBar
43
- │ ├── lib/
44
- │ │ └── utils.ts # cn() helper, formatters, constants
45
- │ └── styles/
46
- │ └── tokens.css # Design tokens as CSS custom properties
47
- ├── public/ # Static assets (images, fonts, favicon)
48
- ├── package.json
49
- ├── tailwind.config.ts
50
- ├── tsconfig.json
51
- └── next.config.ts
52
- ```
53
-
54
- ### 2. Vite + React (Recommended for SPAs)
55
-
56
- Best for interactive applications, dashboards, and tools that do not need server-side rendering.
57
-
58
- ```
59
- project/
60
- ├── src/
61
- │ ├── main.tsx # Entry point — ReactDOM.createRoot
62
- │ ├── App.tsx # Root component with router
63
- │ ├── components/
64
- │ │ ├── ui/ # Atoms: Button, Badge, Input, Heading, Text
65
- │ │ ├── sections/ # Organisms: Hero, Features, Pricing
66
- │ │ └── layout/ # Layout: Container, Header, Footer
67
- │ ├── hooks/ # Custom hooks (useMediaQuery, useScrollPosition)
68
- │ ├── lib/
69
- │ │ └── utils.ts # cn() helper, formatters
70
- │ └── styles/
71
- │ ├── tokens.css # Design tokens
72
- │ └── global.css # Resets, base styles
73
- ├── public/ # Static assets
74
- ├── index.html # HTML entry point
75
- ├── package.json
76
- ├── vite.config.ts
77
- ├── tailwind.config.ts
78
- └── tsconfig.json
79
- ```
80
-
81
- ### 3. Astro (Recommended for content-heavy static sites)
82
-
83
- Best for blogs, documentation sites, and content-driven pages where minimal JavaScript is desired.
84
-
85
- ```
86
- project/
87
- ├── src/
88
- │ ├── layouts/
89
- │ │ └── BaseLayout.astro # Root layout with <html>, <head>, <body>
90
- │ ├── pages/
91
- │ │ └── index.astro # Home page
92
- │ ├── components/ # .astro or .tsx components
93
- │ │ ├── ui/
94
- │ │ ├── sections/
95
- │ │ └── layout/
96
- │ └── styles/
97
- │ └── tokens.css
98
- ├── public/
99
- ├── package.json
100
- ├── astro.config.mjs
101
- ├── tailwind.config.ts
102
- └── tsconfig.json
103
- ```
104
-
105
- ---
106
-
107
- ## Generation Workflow
108
-
109
- ### Step 1: Scaffold Project
110
-
111
- Initialize the project with all necessary tooling before writing any component code.
112
-
113
- ```bash
114
- # Next.js
115
- npx create-next-app@latest project --typescript --tailwind --eslint --app --src-dir --import-alias "@/*"
116
-
117
- # Vite + React
118
- npm create vite@latest project -- --template react-ts
119
- cd project && npm install tailwindcss @tailwindcss/vite
120
-
121
- # Astro
122
- npm create astro@latest project -- --template minimal --typescript strict
123
- cd project && npx astro add tailwind
124
- ```
125
-
126
- After scaffolding:
127
- 1. Remove boilerplate content (default pages, sample styles).
128
- 2. Create the `styles/tokens.css` file with the design token system.
129
- 3. Create the component directory structure (`ui/`, `sections/`, `layout/`).
130
- 4. Add the `lib/utils.ts` helper file.
131
-
132
- ### Step 2: Design Token System
133
-
134
- All visual properties flow from a single source of truth. Define tokens as CSS custom properties and map them into Tailwind's configuration.
135
-
136
- **`src/styles/tokens.css`**:
137
-
138
- ```css
139
- :root {
140
- /* === COLORS === */
141
- --color-base-900: #0f172a;
142
- --color-base-800: #1e293b;
143
- --color-base-700: #334155;
144
- --color-base-200: #e2e8f0;
145
- --color-base-100: #f1f5f9;
146
- --color-base-50: #f8fafc;
147
- --color-white: #ffffff;
148
-
149
- --color-accent: oklch(0.65 0.25 250);
150
- --color-accent-hover: oklch(0.58 0.25 250);
151
- --color-accent-subtle: oklch(0.65 0.25 250 / 0.1);
152
-
153
- --color-surface: var(--color-white);
154
- --color-surface-alt: var(--color-base-50);
155
- --color-surface-dark: var(--color-base-900);
156
- --color-on-surface: var(--color-base-800);
157
- --color-on-surface-muted: var(--color-base-700);
158
- --color-on-dark: var(--color-base-50);
159
-
160
- /* === SPACING (4px base) === */
161
- --space-1: 0.25rem;
162
- --space-2: 0.5rem;
163
- --space-3: 0.75rem;
164
- --space-4: 1rem;
165
- --space-6: 1.5rem;
166
- --space-8: 2rem;
167
- --space-12: 3rem;
168
- --space-16: 4rem;
169
- --space-20: 5rem;
170
- --space-24: 6rem;
171
-
172
- --section-py: clamp(4rem, 10vw, 8rem);
173
- --container-max: 1200px;
174
- --container-narrow: 720px;
175
-
176
- /* === TYPOGRAPHY === */
177
- --font-display: 'Plus Jakarta Sans', 'Inter', system-ui, sans-serif;
178
- --font-body: 'Inter', system-ui, sans-serif;
179
- --font-mono: 'JetBrains Mono', 'Fira Code', monospace;
180
-
181
- --text-display: clamp(2.5rem, 5vw + 1rem, 4.5rem);
182
- --text-h1: clamp(2rem, 4vw + 0.5rem, 3.5rem);
183
- --text-h2: clamp(1.5rem, 3vw + 0.25rem, 2.25rem);
184
- --text-h3: clamp(1.125rem, 2vw + 0.25rem, 1.5rem);
185
- --text-body: clamp(1rem, 1vw + 0.5rem, 1.125rem);
186
- --text-small: 0.875rem;
187
-
188
- --leading-tight: 1.15;
189
- --leading-normal: 1.6;
190
-
191
- /* === RADIUS === */
192
- --radius-sm: 0.375rem;
193
- --radius-md: 0.75rem;
194
- --radius-lg: 1rem;
195
- --radius-xl: 1.5rem;
196
- --radius-full: 9999px;
197
-
198
- /* === SHADOWS === */
199
- --shadow-sm: 0 1px 2px rgb(0 0 0 / 0.05);
200
- --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
201
- --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
202
- --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
203
-
204
- /* === TRANSITIONS === */
205
- --transition-fast: 150ms ease;
206
- --transition-base: 250ms ease;
207
- --transition-slow: 400ms ease;
208
- }
209
- ```
210
-
211
- ### Step 3: Tailwind Configuration
212
-
213
- Map CSS tokens into Tailwind so utility classes reference the design system.
214
-
215
- **`tailwind.config.ts`**:
216
-
217
- ```typescript
218
- import type { Config } from "tailwindcss";
219
-
220
- const config: Config = {
221
- content: ["./src/**/*.{ts,tsx,astro,mdx}"],
222
- theme: {
223
- extend: {
224
- colors: {
225
- accent: {
226
- DEFAULT: "var(--color-accent)",
227
- hover: "var(--color-accent-hover)",
228
- subtle: "var(--color-accent-subtle)",
229
- },
230
- surface: {
231
- DEFAULT: "var(--color-surface)",
232
- alt: "var(--color-surface-alt)",
233
- dark: "var(--color-surface-dark)",
234
- },
235
- on: {
236
- surface: "var(--color-on-surface)",
237
- "surface-muted": "var(--color-on-surface-muted)",
238
- dark: "var(--color-on-dark)",
239
- },
240
- },
241
- fontFamily: {
242
- display: "var(--font-display)",
243
- body: "var(--font-body)",
244
- mono: "var(--font-mono)",
245
- },
246
- fontSize: {
247
- display: ["var(--text-display)", { lineHeight: "var(--leading-tight)" }],
248
- h1: ["var(--text-h1)", { lineHeight: "var(--leading-tight)" }],
249
- h2: ["var(--text-h2)", { lineHeight: "var(--leading-tight)" }],
250
- h3: ["var(--text-h3)", { lineHeight: "var(--leading-tight)" }],
251
- body: ["var(--text-body)", { lineHeight: "var(--leading-normal)" }],
252
- small: ["var(--text-small)", { lineHeight: "var(--leading-normal)" }],
253
- },
254
- borderRadius: {
255
- sm: "var(--radius-sm)",
256
- md: "var(--radius-md)",
257
- lg: "var(--radius-lg)",
258
- xl: "var(--radius-xl)",
259
- },
260
- boxShadow: {
261
- sm: "var(--shadow-sm)",
262
- md: "var(--shadow-md)",
263
- lg: "var(--shadow-lg)",
264
- xl: "var(--shadow-xl)",
265
- },
266
- maxWidth: {
267
- container: "var(--container-max)",
268
- narrow: "var(--container-narrow)",
269
- },
270
- },
271
- },
272
- plugins: [],
273
- };
274
-
275
- export default config;
276
- ```
277
-
278
- ### Step 4: Component Library
279
-
280
- Build components in a strict layered order: atoms first, then molecules, then organisms/sections.
281
-
282
- #### Utility — `cn()` helper
283
-
284
- **`src/lib/utils.ts`**:
285
-
286
- ```typescript
287
- import { type ClassValue, clsx } from "clsx";
288
- import { twMerge } from "tailwind-merge";
289
-
290
- export function cn(...inputs: ClassValue[]): string {
291
- return twMerge(clsx(inputs));
292
- }
293
- ```
294
-
295
- Install dependencies: `npm install clsx tailwind-merge`.
296
-
297
- #### Atoms — Button
298
-
299
- **`src/components/ui/Button.tsx`**:
300
-
301
- ```typescript
302
- import { forwardRef, type ButtonHTMLAttributes } from "react";
303
- import { cn } from "@/lib/utils";
304
-
305
- interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
306
- variant?: "primary" | "secondary" | "ghost";
307
- size?: "sm" | "md" | "lg";
308
- }
309
-
310
- const variantStyles: Record<NonNullable<ButtonProps["variant"]>, string> = {
311
- primary:
312
- "bg-accent text-white hover:bg-accent-hover focus-visible:ring-accent/50",
313
- secondary:
314
- "bg-surface-alt text-on-surface border border-on-surface/10 hover:bg-surface-alt/80",
315
- ghost:
316
- "bg-transparent text-on-surface hover:bg-surface-alt",
317
- };
318
-
319
- const sizeStyles: Record<NonNullable<ButtonProps["size"]>, string> = {
320
- sm: "px-3 py-1.5 text-small rounded-sm",
321
- md: "px-5 py-2.5 text-body rounded-md",
322
- lg: "px-8 py-3.5 text-body rounded-lg font-semibold",
323
- };
324
-
325
- export const Button = forwardRef<HTMLButtonElement, ButtonProps>(
326
- ({ variant = "primary", size = "md", className, children, ...props }, ref) => (
327
- <button
328
- ref={ref}
329
- className={cn(
330
- "inline-flex items-center justify-center font-medium",
331
- "transition-colors duration-[var(--transition-fast)]",
332
- "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",
333
- "disabled:pointer-events-none disabled:opacity-50",
334
- variantStyles[variant],
335
- sizeStyles[size],
336
- className
337
- )}
338
- {...props}
339
- >
340
- {children}
341
- </button>
342
- )
343
- );
344
-
345
- Button.displayName = "Button";
346
- ```
347
-
348
- #### Atoms — Heading
349
-
350
- **`src/components/ui/Heading.tsx`**:
351
-
352
- ```typescript
353
- import { type HTMLAttributes } from "react";
354
- import { cn } from "@/lib/utils";
355
-
356
- type HeadingLevel = "h1" | "h2" | "h3" | "h4";
357
-
358
- interface HeadingProps extends HTMLAttributes<HTMLHeadingElement> {
359
- as?: HeadingLevel;
360
- size?: "display" | "h1" | "h2" | "h3";
361
- }
362
-
363
- const sizeClasses: Record<NonNullable<HeadingProps["size"]>, string> = {
364
- display: "text-display font-display font-extrabold tracking-tight",
365
- h1: "text-h1 font-display font-bold tracking-tight",
366
- h2: "text-h2 font-display font-bold",
367
- h3: "text-h3 font-display font-semibold",
368
- };
369
-
370
- export function Heading({
371
- as: Tag = "h2",
372
- size = "h2",
373
- className,
374
- children,
375
- ...props
376
- }: HeadingProps) {
377
- return (
378
- <Tag className={cn(sizeClasses[size], "text-on-surface", className)} {...props}>
379
- {children}
380
- </Tag>
381
- );
382
- }
383
- ```
384
-
385
- #### Atoms — Badge
386
-
387
- **`src/components/ui/Badge.tsx`**:
388
-
389
- ```typescript
390
- import { type HTMLAttributes } from "react";
391
- import { cn } from "@/lib/utils";
392
-
393
- interface BadgeProps extends HTMLAttributes<HTMLSpanElement> {
394
- variant?: "default" | "accent" | "outline";
395
- }
396
-
397
- export function Badge({ variant = "default", className, children, ...props }: BadgeProps) {
398
- return (
399
- <span
400
- className={cn(
401
- "inline-flex items-center px-3 py-1 text-small font-medium rounded-full",
402
- variant === "default" && "bg-surface-alt text-on-surface-muted",
403
- variant === "accent" && "bg-accent-subtle text-accent",
404
- variant === "outline" && "border border-on-surface/20 text-on-surface-muted",
405
- className
406
- )}
407
- {...props}
408
- >
409
- {children}
410
- </span>
411
- );
412
- }
413
- ```
414
-
415
- #### Layout — Container
416
-
417
- **`src/components/layout/Container.tsx`**:
418
-
419
- ```typescript
420
- import { type HTMLAttributes } from "react";
421
- import { cn } from "@/lib/utils";
422
-
423
- interface ContainerProps extends HTMLAttributes<HTMLDivElement> {
424
- narrow?: boolean;
425
- as?: "div" | "section" | "main" | "article";
426
- }
427
-
428
- export function Container({
429
- narrow = false,
430
- as: Tag = "div",
431
- className,
432
- children,
433
- ...props
434
- }: ContainerProps) {
435
- return (
436
- <Tag
437
- className={cn(
438
- "mx-auto w-full px-[var(--space-6)]",
439
- narrow ? "max-w-narrow" : "max-w-container",
440
- className
441
- )}
442
- {...props}
443
- >
444
- {children}
445
- </Tag>
446
- );
447
- }
448
- ```
449
-
450
- #### Molecules — Feature Card
451
-
452
- **`src/components/ui/FeatureCard.tsx`**:
453
-
454
- ```typescript
455
- import { type ReactNode } from "react";
456
- import { cn } from "@/lib/utils";
457
- import { Heading } from "./Heading";
458
-
459
- interface FeatureCardProps {
460
- icon: ReactNode;
461
- title: string;
462
- description: string;
463
- className?: string;
464
- }
465
-
466
- export function FeatureCard({ icon, title, description, className }: FeatureCardProps) {
467
- return (
468
- <div
469
- className={cn(
470
- "flex flex-col gap-[var(--space-4)] p-[var(--space-8)]",
471
- "bg-surface rounded-lg shadow-sm",
472
- "border border-on-surface/5",
473
- "transition-shadow duration-[var(--transition-base)]",
474
- "hover:shadow-md",
475
- className
476
- )}
477
- >
478
- <div className="flex h-12 w-12 items-center justify-center rounded-md bg-accent-subtle text-accent">
479
- {icon}
480
- </div>
481
- <Heading as="h3" size="h3">
482
- {title}
483
- </Heading>
484
- <p className="text-body text-on-surface-muted leading-relaxed">
485
- {description}
486
- </p>
487
- </div>
488
- );
489
- }
490
- ```
491
-
492
- #### Organisms — Hero Section
493
-
494
- **`src/components/sections/HeroSection.tsx`**:
495
-
496
- ```typescript
497
- import { Container } from "@/components/layout/Container";
498
- import { Badge } from "@/components/ui/Badge";
499
- import { Button } from "@/components/ui/Button";
500
- import { Heading } from "@/components/ui/Heading";
501
-
502
- interface HeroSectionProps {
503
- badge?: string;
504
- title: string;
505
- subtitle: string;
506
- primaryCta: { label: string; href: string };
507
- secondaryCta?: { label: string; href: string };
508
- }
509
-
510
- export function HeroSection({
511
- badge,
512
- title,
513
- subtitle,
514
- primaryCta,
515
- secondaryCta,
516
- }: HeroSectionProps) {
517
- return (
518
- <section className="py-[var(--section-py)] bg-surface">
519
- <Container narrow className="text-center">
520
- <div className="flex flex-col items-center gap-[var(--space-6)]">
521
- {badge && (
522
- <Badge variant="accent">{badge}</Badge>
523
- )}
524
-
525
- <Heading as="h1" size="display">
526
- {title}
527
- </Heading>
528
-
529
- <p className="max-w-[600px] text-body text-on-surface-muted leading-relaxed">
530
- {subtitle}
531
- </p>
532
-
533
- <div className="flex flex-wrap items-center justify-center gap-[var(--space-4)] mt-[var(--space-4)]">
534
- <Button size="lg" asChild>
535
- <a href={primaryCta.href}>{primaryCta.label}</a>
536
- </Button>
537
-
538
- {secondaryCta && (
539
- <Button variant="secondary" size="lg" asChild>
540
- <a href={secondaryCta.href}>{secondaryCta.label}</a>
541
- </Button>
542
- )}
543
- </div>
544
- </div>
545
- </Container>
546
- </section>
547
- );
548
- }
549
- ```
550
-
551
- #### Organisms — Features Grid
552
-
553
- **`src/components/sections/FeaturesSection.tsx`**:
554
-
555
- ```typescript
556
- import { type ReactNode } from "react";
557
- import { Container } from "@/components/layout/Container";
558
- import { Heading } from "@/components/ui/Heading";
559
- import { FeatureCard } from "@/components/ui/FeatureCard";
560
-
561
- interface Feature {
562
- icon: ReactNode;
563
- title: string;
564
- description: string;
565
- }
566
-
567
- interface FeaturesSectionProps {
568
- badge?: string;
569
- title: string;
570
- subtitle?: string;
571
- features: Feature[];
572
- columns?: 2 | 3 | 4;
573
- }
574
-
575
- const gridCols: Record<number, string> = {
576
- 2: "grid-cols-1 md:grid-cols-2",
577
- 3: "grid-cols-1 md:grid-cols-2 lg:grid-cols-3",
578
- 4: "grid-cols-1 md:grid-cols-2 lg:grid-cols-4",
579
- };
580
-
581
- export function FeaturesSection({
582
- title,
583
- subtitle,
584
- features,
585
- columns = 3,
586
- }: FeaturesSectionProps) {
587
- return (
588
- <section className="py-[var(--section-py)] bg-surface-alt">
589
- <Container>
590
- <div className="text-center mb-[var(--space-16)]">
591
- <Heading as="h2" size="h2">
592
- {title}
593
- </Heading>
594
- {subtitle && (
595
- <p className="mt-[var(--space-4)] text-body text-on-surface-muted max-w-narrow mx-auto">
596
- {subtitle}
597
- </p>
598
- )}
599
- </div>
600
-
601
- <div className={`grid ${gridCols[columns]} gap-[var(--space-8)]`}>
602
- {features.map((feature) => (
603
- <FeatureCard key={feature.title} {...feature} />
604
- ))}
605
- </div>
606
- </Container>
607
- </section>
608
- );
609
- }
610
- ```
611
-
612
- ### Step 5: Page Assembly
613
-
614
- Compose sections into a complete page.
615
-
616
- **`src/app/page.tsx`** (Next.js) or **`src/App.tsx`** (Vite):
617
-
618
- ```typescript
619
- import { HeroSection } from "@/components/sections/HeroSection";
620
- import { FeaturesSection } from "@/components/sections/FeaturesSection";
621
- // Import more sections as needed
622
-
623
- export default function HomePage() {
624
- return (
625
- <main>
626
- <HeroSection
627
- badge="Now in Beta"
628
- title="Ship faster with AI-powered squads"
629
- subtitle="Orchestrate teams of AI agents to design, build, and deploy production-ready applications in minutes."
630
- primaryCta={{ label: "Get Started", href: "/signup" }}
631
- secondaryCta={{ label: "See Demo", href: "/demo" }}
632
- />
633
-
634
- <FeaturesSection
635
- title="Everything you need"
636
- subtitle="A complete platform for AI-driven development workflows."
637
- columns={3}
638
- features={[
639
- {
640
- icon: <span aria-hidden="true">&#9881;</span>,
641
- title: "Automated Scaffolding",
642
- description:
643
- "Generate complete project structures with TypeScript, Tailwind, and your preferred framework.",
644
- },
645
- {
646
- icon: <span aria-hidden="true">&#9733;</span>,
647
- title: "Component Library",
648
- description:
649
- "Every project includes typed, accessible UI components built from your design tokens.",
650
- },
651
- {
652
- icon: <span aria-hidden="true">&#9889;</span>,
653
- title: "One-Command Deploy",
654
- description:
655
- "Build and deploy to Vercel, Netlify, or GitHub Pages with a single command.",
656
- },
657
- ]}
658
- />
659
- </main>
660
- );
661
- }
662
- ```
663
-
664
- ### Step 6: SEO Metadata
665
-
666
- **Next.js App Router** — export metadata from `layout.tsx` or `page.tsx`:
667
-
668
- ```typescript
669
- import type { Metadata } from "next";
670
-
671
- export const metadata: Metadata = {
672
- title: "Project Name — Tagline",
673
- description: "A concise description for search engines (max 160 chars).",
674
- openGraph: {
675
- title: "Project Name — Tagline",
676
- description: "A concise description for social sharing.",
677
- url: "https://example.com",
678
- siteName: "Project Name",
679
- type: "website",
680
- images: [{ url: "/og-image.png", width: 1200, height: 630 }],
681
- },
682
- twitter: {
683
- card: "summary_large_image",
684
- title: "Project Name — Tagline",
685
- description: "A concise description for social sharing.",
686
- images: ["/og-image.png"],
687
- },
688
- };
689
- ```
690
-
691
- **Vite + React** — use `react-helmet-async`:
692
-
693
- ```typescript
694
- import { Helmet } from "react-helmet-async";
695
-
696
- export function SEO({ title, description }: { title: string; description: string }) {
697
- return (
698
- <Helmet>
699
- <title>{title}</title>
700
- <meta name="description" content={description} />
701
- <meta property="og:title" content={title} />
702
- <meta property="og:description" content={description} />
703
- </Helmet>
704
- );
705
- }
706
- ```
707
-
708
- ### Step 7: Build and Deploy
709
-
710
- ```bash
711
- # Next.js
712
- npm run build # produces .next/
713
- npx next export # static export to out/ (if applicable)
714
-
715
- # Vite
716
- npm run build # produces dist/
717
-
718
- # Astro
719
- npm run build # produces dist/
720
- ```
721
-
722
- Deployment targets:
723
- - **Vercel**: `npx vercel --prod` (zero-config for Next.js)
724
- - **Netlify**: push to repo with `netlify.toml` or use `npx netlify deploy --prod`
725
- - **GitHub Pages**: use `gh-pages` package or GitHub Actions workflow
726
-
727
- ---
728
-
729
- ## Package.json Template
730
-
731
- ```json
732
- {
733
- "name": "project-name",
734
- "version": "0.1.0",
735
- "private": true,
736
- "type": "module",
737
- "scripts": {
738
- "dev": "next dev",
739
- "build": "next build",
740
- "start": "next start",
741
- "lint": "next lint",
742
- "type-check": "tsc --noEmit"
743
- },
744
- "dependencies": {
745
- "next": "^14.2.0",
746
- "react": "^18.3.0",
747
- "react-dom": "^18.3.0",
748
- "clsx": "^2.1.0",
749
- "tailwind-merge": "^2.3.0"
750
- },
751
- "devDependencies": {
752
- "@types/node": "^20.0.0",
753
- "@types/react": "^18.3.0",
754
- "@types/react-dom": "^18.3.0",
755
- "autoprefixer": "^10.4.0",
756
- "postcss": "^8.4.0",
757
- "tailwindcss": "^3.4.0",
758
- "typescript": "^5.5.0"
759
- }
760
- }
761
- ```
762
-
763
- For **Vite + React**, replace the `scripts` and `next` dependency:
764
-
765
- ```json
766
- {
767
- "scripts": {
768
- "dev": "vite",
769
- "build": "tsc && vite build",
770
- "preview": "vite preview",
771
- "lint": "eslint src --ext .ts,.tsx",
772
- "type-check": "tsc --noEmit"
773
- },
774
- "dependencies": {
775
- "react": "^18.3.0",
776
- "react-dom": "^18.3.0",
777
- "react-router-dom": "^6.23.0",
778
- "clsx": "^2.1.0",
779
- "tailwind-merge": "^2.3.0"
780
- },
781
- "devDependencies": {
782
- "@vitejs/plugin-react": "^4.3.0",
783
- "vite": "^5.4.0",
784
- "tailwindcss": "^3.4.0",
785
- "typescript": "^5.5.0"
786
- }
787
- }
788
- ```
789
-
790
- ---
791
-
792
- ## TypeScript Configuration
793
-
794
- **`tsconfig.json`**:
795
-
796
- ```json
797
- {
798
- "compilerOptions": {
799
- "target": "ES2022",
800
- "lib": ["DOM", "DOM.Iterable", "ES2022"],
801
- "module": "ESNext",
802
- "moduleResolution": "bundler",
803
- "jsx": "react-jsx",
804
- "strict": true,
805
- "noUnusedLocals": true,
806
- "noUnusedParameters": true,
807
- "noFallthroughCasesInSwitch": true,
808
- "forceConsistentCasingInFileNames": true,
809
- "skipLibCheck": true,
810
- "esModuleInterop": true,
811
- "resolveJsonModule": true,
812
- "isolatedModules": true,
813
- "baseUrl": ".",
814
- "paths": {
815
- "@/*": ["./src/*"]
816
- }
817
- },
818
- "include": ["src"],
819
- "exclude": ["node_modules", "dist"]
820
- }
821
- ```
822
-
823
- ---
824
-
825
- ## Scroll Animations
826
-
827
- Use CSS `@keyframes` and `IntersectionObserver` for performant scroll-triggered animations. Avoid heavy animation libraries for simple reveal effects.
828
-
829
- **`src/hooks/useInView.ts`**:
830
-
831
- ```typescript
832
- import { useEffect, useRef, useState } from "react";
833
-
834
- interface UseInViewOptions {
835
- threshold?: number;
836
- rootMargin?: string;
837
- triggerOnce?: boolean;
838
- }
839
-
840
- export function useInView({
841
- threshold = 0.1,
842
- rootMargin = "0px",
843
- triggerOnce = true,
844
- }: UseInViewOptions = {}) {
845
- const ref = useRef<HTMLDivElement>(null);
846
- const [inView, setInView] = useState(false);
847
-
848
- useEffect(() => {
849
- const element = ref.current;
850
- if (!element) return;
851
-
852
- const observer = new IntersectionObserver(
853
- ([entry]) => {
854
- if (entry.isIntersecting) {
855
- setInView(true);
856
- if (triggerOnce) observer.unobserve(element);
857
- } else if (!triggerOnce) {
858
- setInView(false);
859
- }
860
- },
861
- { threshold, rootMargin }
862
- );
863
-
864
- observer.observe(element);
865
- return () => observer.disconnect();
866
- }, [threshold, rootMargin, triggerOnce]);
867
-
868
- return { ref, inView };
869
- }
870
- ```
871
-
872
- **Usage in a section component**:
873
-
874
- ```typescript
875
- import { useInView } from "@/hooks/useInView";
876
- import { cn } from "@/lib/utils";
877
-
878
- export function AnimatedSection({ children }: { children: React.ReactNode }) {
879
- const { ref, inView } = useInView({ threshold: 0.15 });
880
-
881
- return (
882
- <div
883
- ref={ref}
884
- className={cn(
885
- "transition-all duration-700 ease-out",
886
- inView
887
- ? "opacity-100 translate-y-0"
888
- : "opacity-0 translate-y-8"
889
- )}
890
- >
891
- {children}
892
- </div>
893
- );
894
- }
895
- ```
896
-
897
- ---
898
-
899
- ## Responsive Design Rules
900
-
901
- - **Mobile-first**: Write base styles for mobile, use `md:` and `lg:` breakpoints for larger screens.
902
- - **Fluid typography**: All heading sizes use `clamp()` — no breakpoint jumps.
903
- - **Fluid spacing**: Section padding uses `clamp()` for smooth scaling.
904
- - **Grid to stack**: Multi-column grids collapse to single column on mobile (`grid-cols-1 md:grid-cols-2 lg:grid-cols-3`).
905
- - **Touch targets**: Minimum 44x44px for all interactive elements on mobile.
906
- - **No horizontal scroll**: Container always has `px-[var(--space-6)]` padding and `max-w-container`.
907
-
908
- ---
909
-
910
- ## Accessibility Checklist
911
-
912
- - [ ] All images have `alt` text (or `alt=""` + `aria-hidden="true"` for decorative).
913
- - [ ] Heading hierarchy is sequential (h1 > h2 > h3, no skipping levels).
914
- - [ ] All interactive elements are keyboard-focusable with visible focus indicators.
915
- - [ ] Color contrast ratio meets WCAG AA (4.5:1 for text, 3:1 for large text).
916
- - [ ] Form inputs have associated `<label>` elements.
917
- - [ ] Navigation landmarks use `<nav>`, `<main>`, `<header>`, `<footer>`.
918
- - [ ] Decorative icons use `aria-hidden="true"`.
919
- - [ ] Skip-to-content link is present for keyboard users.
920
-
921
- ---
922
-
923
- ## Anti-Patterns
924
-
925
- | Anti-Pattern | Why It Fails | Correct Approach |
926
- |---|---|---|
927
- | Monolithic single component | Unmaintainable, untestable, impossible to reuse | Decompose into atoms, molecules, organisms |
928
- | No TypeScript | Bugs surface at runtime, not build time | `strict: true` in tsconfig, all props typed |
929
- | Hardcoded colors and spacing | Inconsistent design, painful to rebrand | Design tokens in `tokens.css`, referenced via Tailwind |
930
- | CSS-in-JS with runtime overhead | Slower first paint, bundle bloat | Tailwind utilities or CSS Modules |
931
- | No `package.json` / build config | Cannot install, build, or deploy | Always generate complete project scaffolding |
932
- | Skipping accessibility | Excludes users, legal risk | Semantic HTML, ARIA, focus management from the start |
933
- | Inline styles for layout | Hard to maintain, no responsive support | Tailwind utilities or CSS classes |
934
- | No SEO metadata | Invisible to search engines and social platforms | Export metadata (Next.js) or use `<Helmet>` (Vite) |
935
- | Single massive CSS file | Specificity conflicts, dead code accumulation | Component-scoped styles via Tailwind or CSS Modules |
936
- | Skipping error states | Broken UX when API calls fail or content is missing | Loading, error, and empty states for every data-driven component |