@aisa-one/cli 0.2.4 → 0.5.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 (102) hide show
  1. package/CHANGELOG.md +172 -1
  2. package/LICENSE +21 -0
  3. package/README.md +163 -169
  4. package/dist/api.d.ts +10 -0
  5. package/dist/api.js +14 -3
  6. package/dist/catalog.d.ts +1 -18
  7. package/dist/catalog.js +1 -24
  8. package/dist/cli-error.d.ts +17 -0
  9. package/dist/cli-error.js +25 -0
  10. package/dist/cli-guidance.d.ts +14 -0
  11. package/dist/cli-guidance.js +55 -0
  12. package/dist/commands/account.d.ts +17 -0
  13. package/dist/commands/account.js +45 -1
  14. package/dist/commands/api.d.ts +0 -11
  15. package/dist/commands/api.js +6 -175
  16. package/dist/commands/auth.d.ts +2 -1
  17. package/dist/commands/auth.js +43 -9
  18. package/dist/commands/brand-logos.d.ts +6 -0
  19. package/dist/commands/brand-logos.js +21 -0
  20. package/dist/commands/configCmd.js +8 -3
  21. package/dist/commands/connect-shared.d.ts +136 -0
  22. package/dist/commands/connect-shared.js +143 -0
  23. package/dist/commands/connect-t2.d.ts +18 -0
  24. package/dist/commands/connect-t2.js +1599 -0
  25. package/dist/commands/connect-terminal.d.ts +65 -0
  26. package/dist/commands/connect-terminal.js +822 -0
  27. package/dist/commands/connect.d.ts +31 -0
  28. package/dist/commands/connect.js +3181 -0
  29. package/dist/commands/flow.d.ts +685 -0
  30. package/dist/commands/flow.js +697 -0
  31. package/dist/commands/install.d.ts +91 -0
  32. package/dist/commands/install.js +258 -0
  33. package/dist/commands/llm-config.d.ts +103 -0
  34. package/dist/commands/llm-config.js +452 -0
  35. package/dist/commands/manifest.d.ts +68 -0
  36. package/dist/commands/manifest.js +90 -0
  37. package/dist/commands/mcp.d.ts +79 -2
  38. package/dist/commands/mcp.js +262 -48
  39. package/dist/commands/oauth-login.d.ts +33 -0
  40. package/dist/commands/oauth-login.js +333 -0
  41. package/dist/commands/prompt.d.ts +96 -0
  42. package/dist/commands/prompt.js +397 -0
  43. package/dist/commands/serve-results.d.ts +61 -0
  44. package/dist/commands/serve-results.js +245 -0
  45. package/dist/commands/serve-signin.d.ts +28 -0
  46. package/dist/commands/serve-signin.js +90 -0
  47. package/dist/commands/signin-page.d.ts +49 -0
  48. package/dist/commands/signin-page.js +250 -0
  49. package/dist/commands/skills.js +87 -50
  50. package/dist/commands/tool-help.d.ts +69 -0
  51. package/dist/commands/tool-help.js +189 -0
  52. package/dist/commands/tool-input.d.ts +22 -0
  53. package/dist/commands/tool-input.js +220 -0
  54. package/dist/commands/tools.d.ts +12 -0
  55. package/dist/commands/tools.js +307 -0
  56. package/dist/commands/update.d.ts +11 -0
  57. package/dist/commands/update.js +92 -0
  58. package/dist/commands/vscode.d.ts +65 -0
  59. package/dist/commands/vscode.js +173 -0
  60. package/dist/commands/wrappers.d.ts +23 -0
  61. package/dist/commands/wrappers.js +102 -0
  62. package/dist/completion.js +3 -80
  63. package/dist/config.js +76 -2
  64. package/dist/constants.d.ts +78 -38
  65. package/dist/constants.js +80 -102
  66. package/dist/index.js +155 -357
  67. package/dist/json-text.d.ts +12 -0
  68. package/dist/json-text.js +60 -0
  69. package/dist/router.d.ts +39 -0
  70. package/dist/router.js +59 -0
  71. package/dist/skills-registry.js +12 -3
  72. package/dist/utils/banner.d.ts +9 -0
  73. package/dist/utils/banner.js +41 -0
  74. package/dist/utils/browser.d.ts +19 -0
  75. package/dist/utils/browser.js +31 -0
  76. package/dist/utils/exec.d.ts +43 -0
  77. package/dist/utils/exec.js +61 -0
  78. package/dist/utils/http.d.ts +53 -0
  79. package/dist/utils/http.js +124 -0
  80. package/dist/utils/install-method.d.ts +36 -0
  81. package/dist/utils/install-method.js +48 -0
  82. package/dist/utils/journal.d.ts +57 -0
  83. package/dist/utils/journal.js +188 -0
  84. package/dist/utils/key-check.d.ts +20 -0
  85. package/dist/utils/key-check.js +24 -0
  86. package/dist/utils/update-check.d.ts +23 -0
  87. package/dist/utils/update-check.js +116 -0
  88. package/dist/utils/width.d.ts +32 -0
  89. package/dist/utils/width.js +73 -0
  90. package/package.json +8 -4
  91. package/vscode-extension/README.md +6 -0
  92. package/vscode-extension/aisa-vscode.vsix +0 -0
  93. package/dist/commands/finance.d.ts +0 -17
  94. package/dist/commands/finance.js +0 -342
  95. package/dist/commands/run.d.ts +0 -28
  96. package/dist/commands/run.js +0 -182
  97. package/dist/commands/search.d.ts +0 -9
  98. package/dist/commands/search.js +0 -81
  99. package/dist/commands/twitter.d.ts +0 -138
  100. package/dist/commands/twitter.js +0 -374
  101. package/dist/commands/video.d.ts +0 -49
  102. package/dist/commands/video.js +0 -311
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Brand marks used by the T2 connect flow, inlined so the page stays
3
+ * self-contained. Sourced via icon-kit from Iconify (sets: thesvg-color,
4
+ * logos); each carries its own colours and ignores currentColor.
5
+ */
6
+ export const BRAND_LOGOS = {
7
+ "claude": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path fill=\"#d97757\" d=\"m4.714 15.956l4.718-2.648l.079-.23l-.08-.128h-.23l-.79-.048l-2.695-.073l-2.337-.097l-2.265-.122l-.57-.121l-.535-.704l.055-.353l.48-.321l.685.06l1.518.104l2.277.157l1.651.098l2.447.255h.389l.054-.158l-.133-.097l-.103-.098l-2.356-1.596l-2.55-1.688l-1.336-.972l-.722-.491L2 6.223l-.158-1.008l.656-.722l.88.06l.224.061l.893.686l1.906 1.476l2.49 1.833l.364.304l.146-.104l.018-.072l-.164-.274l-1.354-2.446l-1.445-2.49l-.644-1.032l-.17-.619a3 3 0 0 1-.103-.729L6.287.133L6.7 0l.995.134l.42.364l.619 1.415L9.735 4.14l1.555 3.03l.455.898l.243.832l.09.255h.159V9.01l.127-1.706l.237-2.095l.23-2.695l.08-.76l.376-.91l.747-.492l.583.28l.48.685l-.067.444l-.286 1.851l-.558 2.903l-.365 1.942h.213l.243-.242l.983-1.306l1.652-2.064l.728-.82l.85-.904l.547-.431h1.032l.759 1.129l-.34 1.166l-1.063 1.347l-.88 1.142l-1.263 1.7l-.79 1.36l.074.11l.188-.02l2.853-.606l1.542-.28l1.84-.315l.832.388l.09.395l-.327.807l-1.967.486l-2.307.462l-3.436.813l-.043.03l.049.061l1.548.146l.662.036h1.62l3.018.225l.79.522l.473.638l-.08.485l-1.213.62l-1.64-.389l-3.825-.91l-1.31-.329h-.183v.11l1.093 1.068l2.003 1.81l2.508 2.33l.127.578l-.321.455l-.34-.049l-2.204-1.657l-.85-.747l-1.925-1.62h-.127v.17l.443.649l2.343 3.521l.122 1.08l-.17.353l-.607.213l-.668-.122l-1.372-1.924l-1.415-2.168l-1.141-1.943l-.14.08l-.674 7.254l-.316.37l-.728.28l-.607-.461l-.322-.747l.322-1.476l.388-1.924l.316-1.53l.285-1.9l.17-.632l-.012-.042l-.14.018l-1.432 1.967l-2.18 2.945l-1.724 1.845l-.413.164l-.716-.37l.066-.662l.401-.589l2.386-3.036l1.439-1.882l.929-1.086l-.006-.158h-.055L4.138 18.56l-1.13.146l-.485-.456l.06-.746l.231-.243l1.907-1.312Z\"/></svg>",
8
+ "openai": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 256 260\" aria-hidden=\"true\"><path d=\"M239.184 106.203a64.72 64.72 0 0 0-5.576-53.103C219.452 28.459 191 15.784 163.213 21.74A65.586 65.586 0 0 0 52.096 45.22a64.72 64.72 0 0 0-43.23 31.36c-14.31 24.602-11.061 55.634 8.033 76.74a64.67 64.67 0 0 0 5.525 53.102c14.174 24.65 42.644 37.324 70.446 31.36a64.72 64.72 0 0 0 48.754 21.744c28.481.025 53.714-18.361 62.414-45.481a64.77 64.77 0 0 0 43.229-31.36c14.137-24.558 10.875-55.423-8.083-76.483m-97.56 136.338a48.4 48.4 0 0 1-31.105-11.255l1.535-.87l51.67-29.825a8.6 8.6 0 0 0 4.247-7.367v-72.85l21.845 12.636c.218.111.37.32.409.563v60.367c-.056 26.818-21.783 48.545-48.601 48.601M37.158 197.93a48.35 48.35 0 0 1-5.781-32.589l1.534.921l51.722 29.826a8.34 8.34 0 0 0 8.441 0l63.181-36.425v25.221a.87.87 0 0 1-.358.665l-52.335 30.184c-23.257 13.398-52.97 5.431-66.404-17.803M23.549 85.38a48.5 48.5 0 0 1 25.58-21.333v61.39a8.29 8.29 0 0 0 4.195 7.316l62.874 36.272l-21.845 12.636a.82.82 0 0 1-.767 0L41.353 151.53c-23.211-13.454-31.171-43.144-17.804-66.405zm179.466 41.695l-63.08-36.63L161.73 77.86a.82.82 0 0 1 .768 0l52.233 30.184a48.6 48.6 0 0 1-7.316 87.635v-61.391a8.54 8.54 0 0 0-4.4-7.213m21.742-32.69l-1.535-.922l-51.619-30.081a8.39 8.39 0 0 0-8.492 0L99.98 99.808V74.587a.72.72 0 0 1 .307-.665l52.233-30.133a48.652 48.652 0 0 1 72.236 50.391zM88.061 139.097l-21.845-12.585a.87.87 0 0 1-.41-.614V65.685a48.652 48.652 0 0 1 79.757-37.346l-1.535.87l-51.67 29.825a8.6 8.6 0 0 0-4.246 7.367zm11.868-25.58L128.067 97.3l28.188 16.218v32.434l-28.086 16.218l-28.188-16.218z\"/></svg>",
9
+ "gemini": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 296 298\" aria-hidden=\"true\"><mask id=\"SVGU5zy4dsu\" width=\"296\" height=\"298\" x=\"0\" y=\"0\" maskUnits=\"userSpaceOnUse\" style=\"mask-type:alpha\"><path fill=\"#3186ff\" d=\"M141.201 4.886c2.282-6.17 11.042-6.071 13.184.148l5.985 17.37a184 184 0 0 0 111.257 113.049l19.304 6.997c6.143 2.227 6.156 10.91.02 13.155l-19.35 7.082a184 184 0 0 0-109.495 109.385l-7.573 20.629c-2.241 6.105-10.869 6.121-13.133.025l-7.908-21.296a184 184 0 0 0-109.02-108.658l-19.698-7.239c-6.102-2.243-6.118-10.867-.025-13.132l20.083-7.467A184 184 0 0 0 133.291 26.28z\"/></mask><g fill=\"none\"><g mask=\"url(#SVGU5zy4dsu)\"><g filter=\"url(#SVG1KOLkbwC)\"><ellipse cx=\"163\" cy=\"149\" fill=\"#3689ff\" rx=\"196\" ry=\"159\"/></g><g filter=\"url(#SVGXASGIdyq)\"><ellipse cx=\"33.5\" cy=\"142.5\" fill=\"#f6c013\" rx=\"68.5\" ry=\"72.5\"/></g><g filter=\"url(#SVGLvRrqeoG)\"><ellipse cx=\"19.5\" cy=\"148.5\" fill=\"#f6c013\" rx=\"68.5\" ry=\"72.5\"/></g><g filter=\"url(#SVGxzEcwcSI)\"><path fill=\"#fa4340\" d=\"M194 10.5C172 82.5 65.5 134.333 22.5 135L144-66z\"/></g><g filter=\"url(#SVGDM3yibyc)\"><path fill=\"#fa4340\" d=\"M190.5-12.5C168.5 59.5 62 111.333 19 112L140.5-89z\"/></g><g filter=\"url(#SVGEKXRtcuY)\"><path fill=\"#14bb69\" d=\"M194.5 279.5C172.5 207.5 66 155.667 23 155l121.5 201z\"/></g><g filter=\"url(#SVGxDXJydkM)\"><path fill=\"#14bb69\" d=\"M196.5 320.5C174.5 248.5 68 196.667 25 196l121.5 201z\"/></g></g><defs><filter id=\"SVG1KOLkbwC\" width=\"464\" height=\"390\" x=\"-69\" y=\"-46\" color-interpolation-filters=\"sRGB\" filterUnits=\"userSpaceOnUse\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"/><feGaussianBlur result=\"effect1_foregroundBlur_69_17998\" stdDeviation=\"18\"/></filter><filter id=\"SVGXASGIdyq\" width=\"265\" height=\"273\" x=\"-99\" y=\"6\" color-interpolation-filters=\"sRGB\" filterUnits=\"userSpaceOnUse\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"/><feGaussianBlur result=\"effect1_foregroundBlur_69_17998\" stdDeviation=\"32\"/></filter><filter id=\"SVGLvRrqeoG\" width=\"265\" height=\"273\" x=\"-113\" y=\"12\" color-interpolation-filters=\"sRGB\" filterUnits=\"userSpaceOnUse\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"/><feGaussianBlur result=\"effect1_foregroundBlur_69_17998\" stdDeviation=\"32\"/></filter><filter id=\"SVGxzEcwcSI\" width=\"299.5\" height=\"329\" x=\"-41.5\" y=\"-130\" color-interpolation-filters=\"sRGB\" filterUnits=\"userSpaceOnUse\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"/><feGaussianBlur result=\"effect1_foregroundBlur_69_17998\" stdDeviation=\"32\"/></filter><filter id=\"SVGDM3yibyc\" width=\"299.5\" height=\"329\" x=\"-45\" y=\"-153\" color-interpolation-filters=\"sRGB\" filterUnits=\"userSpaceOnUse\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"/><feGaussianBlur result=\"effect1_foregroundBlur_69_17998\" stdDeviation=\"32\"/></filter><filter id=\"SVGEKXRtcuY\" width=\"299.5\" height=\"329\" x=\"-41\" y=\"91\" color-interpolation-filters=\"sRGB\" filterUnits=\"userSpaceOnUse\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"/><feGaussianBlur result=\"effect1_foregroundBlur_69_17998\" stdDeviation=\"32\"/></filter><filter id=\"SVGxDXJydkM\" width=\"299.5\" height=\"329\" x=\"-39\" y=\"132\" color-interpolation-filters=\"sRGB\" filterUnits=\"userSpaceOnUse\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"/><feGaussianBlur result=\"effect1_foregroundBlur_69_17998\" stdDeviation=\"32\"/></filter></defs></g></svg>",
10
+ "deepseek": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 256 189\" aria-hidden=\"true\"><path fill=\"#4d6bfe\" d=\"M253.314 15.812c-2.711-1.329-3.88 1.203-5.465 2.49c-.542.414-1.001.954-1.46 1.452c-3.963 4.232-8.594 7.013-14.643 6.68c-8.845-.497-16.396 2.284-23.071 9.048c-1.419-8.341-6.133-13.322-13.309-16.517c-3.754-1.66-7.55-3.32-10.179-6.931c-1.836-2.572-2.336-5.436-3.254-8.258c-.584-1.702-1.168-3.445-3.13-3.736c-2.127-.331-2.961 1.452-3.796 2.947c-3.337 6.101-4.63 12.824-4.506 19.63c.292 15.315 6.759 27.515 19.608 36.19c1.46.995 1.836 1.99 1.377 3.444c-.876 2.988-1.92 5.893-2.837 8.88c-.584 1.91-1.46 2.325-3.504 1.494c-7.051-2.945-13.142-7.304-18.524-12.574c-9.136-8.84-17.397-18.592-27.701-26.228a121 121 0 0 0-7.343-5.022c-10.513-10.209 1.377-18.593 4.13-19.588c2.879-1.038 1.002-4.607-8.302-4.565s-17.814 3.154-28.66 7.304c-1.586.623-3.255 1.079-4.966 1.452c-9.845-1.867-20.066-2.283-30.747-1.079c-20.108 2.241-36.17 11.745-47.976 27.972C.872 59.802-2.466 81.963 1.623 105.079c4.297 24.36 16.729 44.53 35.837 60.301c19.816 16.35 42.637 24.36 68.67 22.825c15.81-.913 33.416-3.029 53.275-19.837c5.005 2.49 10.262 3.486 18.982 4.233c6.717.623 13.183-.332 18.19-1.369c7.842-1.66 7.3-8.923 4.464-10.25c-22.988-10.708-17.94-6.35-22.529-9.878c11.681-13.82 29.287-28.18 36.17-74.702c.543-3.693.084-6.018 0-9.006c-.041-1.825.376-2.53 2.462-2.739c5.757-.664 11.348-2.24 16.48-5.062c14.893-8.134 20.9-21.498 22.318-37.517c.21-2.449-.041-4.98-2.628-6.266M123.526 159.985c-22.278-17.513-33.083-23.282-37.547-23.033c-4.172.25-3.42 5.022-2.503 8.135c.96 3.07 2.211 5.187 3.963 7.884c1.21 1.785 2.045 4.44-1.21 6.433c-7.175 4.44-19.65-1.494-20.234-1.784c-14.518-8.55-26.658-19.839-35.21-35.276c-8.261-14.858-13.058-30.794-13.851-47.81c-.21-4.107 1-5.56 5.09-6.307c5.38-.996 10.93-1.204 16.311-.416C61.073 71.131 80.43 81.3 96.66 97.401c9.261 9.172 16.27 20.129 23.488 30.836c7.676 11.37 15.936 22.203 26.45 31.084c3.712 3.112 6.674 5.478 9.511 7.221c-8.552.955-22.82 1.163-32.582-6.557m10.68-68.684a3.27 3.27 0 0 1 3.296-3.278c.418 0 .793.082 1.127.206c.46.167.876.416 1.21.789c.584.581.918 1.41.918 2.283a3.267 3.267 0 0 1-3.296 3.278c-1.835 0-3.254-1.452-3.254-3.278m33.167 17.016c-2.128.872-4.255 1.618-6.3 1.701c-3.17.166-6.633-1.121-8.51-2.698c-2.92-2.449-5.006-3.817-5.882-8.092c-.376-1.826-.167-4.649.167-6.267c.75-3.486-.084-5.726-2.545-7.76c-2.003-1.661-4.548-2.117-7.343-2.117c-1.043 0-2.002-.457-2.712-.83c-1.168-.581-2.127-2.034-1.21-3.818c.293-.58 1.711-1.992 2.045-2.24c3.797-2.16 8.177-1.453 12.224.165c3.755 1.535 6.592 4.358 10.68 8.341c4.172 4.814 4.923 6.143 7.3 9.753c1.879 2.822 3.59 5.727 4.757 9.048c.71 2.075-.209 3.776-2.67 4.814z\"/></svg>",
11
+ "kimi": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\" aria-hidden=\"true\"><g fill-rule=\"evenodd\" stroke-linejoin=\"round\" stroke-miterlimit=\"2\"><path d=\"M503 114.333v280c0 60.711-49.29 110-110 110H113c-60.711 0-110-49.289-110-110v-280c0-60.71 49.289-110 110-110h280c60.71 0 110 49.29 110 110\"/><path fill=\"#027aff\" d=\"M342.065 189.759c1.886-2.42 3.541-4.63 5.289-6.77c.81-1.007.74-1.771-.046-2.824c-7.58-9.965-8.298-21.028-3.935-32.254c3.275-8.448 10.52-12.406 19.373-13.25c5.52-.521 10.936.046 15.959 2.73c6.596 3.53 10.438 8.912 11.688 16.341c.995 5.926.81 11.712-.868 17.452c-2.974 10.161-10.277 15.427-20.287 16.758c-8.31 1.11-16.734 1.25-25.113 1.817c-.648.046-1.308 0-2.06 0\"/><path fill=\"#fff\" d=\"M321.512 144.254h-50.064l-39.637 90.384h-56.036v-89.99H131v232.868h44.787v-98.103h78.973c13.598 0 26.015-7.927 31.744-20.252v118.355h44.787v-98.103c0-23.342-18.239-42.97-41.523-44.671v-.116h-24.593a45.58 45.58 0 0 0 26.884-24.534z\"/></g></svg>",
12
+ "glm": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path fill=\"#3859ff\" d=\"M11.991 23.503a.24.24 0 0 0-.244.248a.24.24 0 0 0 .244.249a.24.24 0 0 0 .245-.249a.24.24 0 0 0-.22-.247zM9.671 5.365a1.697 1.697 0 0 1 1.099 2.132l-.071.172l-.016.04l-.018.054c-.07.16-.104.32-.104.498c-.035.71.47 1.279 1.186 1.314h.366c1.309.053 2.338 1.173 2.286 2.523c-.052 1.332-1.152 2.38-2.478 2.327h-.174c-.715.018-1.274.64-1.239 1.368c0 .124.018.23.053.337c.209.373.54.658.96.8c.75.23 1.517-.125 1.9-.782l.018-.035c.402-.64 1.17-.96 1.92-.711c.854.284 1.378 1.226 1.099 2.167a1.66 1.66 0 0 1-2.077 1.102a1.7 1.7 0 0 1-.907-.711l-.017-.035c-.2-.323-.463-.58-.851-.711l-.056-.018a1.646 1.646 0 0 0-1.954.746a1.66 1.66 0 0 1-1.065.764a1.677 1.677 0 0 1-1.989-1.279c-.209-.906.332-1.83 1.257-2.043a1.5 1.5 0 0 1 .296-.035h.018c.68-.071 1.151-.622 1.116-1.333a1.3 1.3 0 0 0-.227-.693a2.5 2.5 0 0 1-.366-1.403a2.4 2.4 0 0 1 .366-1.208c.14-.195.21-.444.227-.693c.018-.71-.506-1.261-1.186-1.332l-.07-.018a1.4 1.4 0 0 1-.299-.07l-.05-.019a1.7 1.7 0 0 1-1.047-2.114a1.68 1.68 0 0 1 2.094-1.101m-5.575 10.11c.26-.264.639-.367.994-.27s.633.379.728.74c.095.362-.007.748-.267 1.013c-.402.41-1.053.41-1.455 0a1.06 1.06 0 0 1 0-1.482zm14.845-.294c.359-.09.738.024.992.297c.254.274.344.665.237 1.025s-.396.634-.756.718c-.551.128-1.1-.22-1.23-.781a1.05 1.05 0 0 1 .757-1.26zm-.064-4.39c.314.32.49.753.49 1.206s-.176.886-.49 1.206c-.315.32-.74.5-1.185.5c-.444 0-.87-.18-1.184-.5a1.727 1.727 0 0 1 0-2.412a1.654 1.654 0 0 1 2.369 0m-11.243.163c.364.484.447 1.128.218 1.691a1.665 1.665 0 0 1-2.188.923c-.855-.36-1.26-1.358-.907-2.228a1.68 1.68 0 0 1 1.33-1.038a1.66 1.66 0 0 1 1.547.652m11.545-4.221c.368 0 .708.2.892.524s.184.724 0 1.048a1.03 1.03 0 0 1-.892.524a1.04 1.04 0 0 1-1.03-1.048a1.04 1.04 0 0 1 1.03-1.048m-14.358 0c.368 0 .707.2.891.524s.184.724 0 1.048a1.03 1.03 0 0 1-.891.524a1.04 1.04 0 0 1-1.03-1.048c0-.579.461-1.048 1.03-1.048m10.031-1.475c.925 0 1.675.764 1.675 1.706s-.75 1.705-1.675 1.705s-1.674-.763-1.674-1.705s.75-1.706 1.674-1.706m-2.626-.684c.362-.082.653-.356.761-.718a1.06 1.06 0 0 0-.238-1.028a1.02 1.02 0 0 0-.996-.294c-.547.14-.881.7-.752 1.257c.13.558.675.907 1.225.783m0 16.876c.359-.087.644-.36.75-.72a1.06 1.06 0 0 0-.237-1.019a1.02 1.02 0 0 0-.985-.301a1.04 1.04 0 0 0-.762.717c-.108.361-.017.754.239 1.028c.245.263.606.377.953.305zM17.19 3.5a.63.63 0 0 0 .628-.64a.63.63 0 0 0-.628-.64a.63.63 0 0 0-.628.64c0 .355.28.64.628.64m-10.38 0a.63.63 0 0 0 .628-.64c0-.355-.28-.64-.628-.64a.63.63 0 0 0-.628.64c0 .355.279.64.628.64m-5.182 7.852a.63.63 0 0 0-.628.64c0 .354.28.639.628.639a.63.63 0 0 0 .627-.606l.001-.034a.62.62 0 0 0-.628-.64zm5.182 9.13a.63.63 0 0 0-.628.64c0 .355.279.64.628.64a.63.63 0 0 0 .628-.64c0-.355-.28-.64-.628-.64m10.38.018a.63.63 0 0 0-.628.64c0 .355.28.64.628.64a.63.63 0 0 0 .628-.64a.63.63 0 0 0-.628-.64m5.182-9.148a.63.63 0 0 0-.628.64c0 .354.279.639.628.639a.63.63 0 0 0 .628-.64c0-.355-.28-.64-.628-.64zm-.384-4.992a.24.24 0 0 0 .244-.249a.24.24 0 0 0-.244-.249a.24.24 0 0 0-.244.249c0 .142.122.249.244.249M11.991.497a.24.24 0 0 0 .245-.248A.24.24 0 0 0 11.99 0a.24.24 0 0 0-.244.249c0 .133.108.236.223.247zM2.011 6.36a.24.24 0 0 0 .245-.249a.24.24 0 0 0-.244-.249a.24.24 0 0 0-.244.249a.24.24 0 0 0 .244.249zm0 11.263a.24.24 0 0 0-.243.248a.24.24 0 0 0 .244.249a.24.24 0 0 0 .244-.249a.25.25 0 0 0-.244-.248zm19.995-.018a.24.24 0 0 0-.245.248a.24.24 0 0 0 .245.25a.24.24 0 0 0 .244-.25a.25.25 0 0 0-.244-.248\"/></svg>",
13
+ "qwen": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 256 253\" aria-hidden=\"true\"><path fill=\"#623ae7\" d=\"M129.263 0a6.75 6.75 0 0 1 5.88 3.374l15.256 26.424l65.258-.482a6.75 6.75 0 0 1 5.892 3.373l16.843 29.172a6.75 6.75 0 0 1-.038 6.811l-15.569 26.29a6.7 6.7 0 0 1-.887 1.182l33.195 56.28a6.75 6.75 0 0 1 .021 6.72l-16.94 29.706a6.75 6.75 0 0 1-5.86 3.405h-30.513l-32.21 56.756a6.75 6.75 0 0 1-5.868 3.417h-33.686a6.75 6.75 0 0 1-5.88-3.438l-15.022-26.7l-67.31.06a6.75 6.75 0 0 1-5.831-3.343l-17.256-29.523a6.75 6.75 0 0 1-.018-6.777l15.256-26.425L.929 100.008a6.75 6.75 0 0 1-.025-6.79l16.843-29.172a6.75 6.75 0 0 1 5.917-3.374l30.553.339a6.7 6.7 0 0 1 1.789.262L89.258 3.562a6.75 6.75 0 0 1 5.81-3.379z\"/><path fill=\"#fff\" d=\"m180.679 97.445l36.108.025l33.198 58.74h-34.51l-17.266-30.239l-68.54 119.948l-17.218-29.263zM57.85 66.893l69.028 118.902l-17.872 30.86l-67.905-.622l17.255-29.887l34.82.166L23.567 66.981zm37.24-60.8l17.256 29.887l-17.554 30.07l138.147-.616l-17.064 29.733l-137.896.33L59.917 66.05z\"/></svg>",
14
+ "grok": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 256 246\" aria-hidden=\"true\"><path d=\"M63.83 56.843c27.469-27.48 67.635-34.865 101.712-21.87l2.314.917c7.645 2.844 14.309 6.89 19.507 10.651l-28.857 13.342c-26.869-11.286-57.649-3.609-76.435 15.2c-25.405 25.414-30.539 69.484-.764 97.96L0 245.764c4.296-5.923 9.457-11.573 14.75-17.178l5.815-6.13l2.608-2.774c15.53-16.655 28.81-33.77 20.496-56.709l-.766-1.98c-14.592-35.497-6.094-77.096 20.928-104.15m156.956-21.587L256 0l-10.128 14.069c-21.094 29.716-30.456 48.424-21.11 88.659l-.065-.065c7.23 30.728-.503 64.803-25.472 89.802c-31.478 31.538-81.852 38.558-123.336 10.17l28.923-13.407c26.476 10.41 55.442 5.839 76.26-15.003c20.818-20.844 25.493-51.2 15.03-76.462c-1.989-4.79-7.952-5.992-12.125-2.909L98.87 157.755L220.786 35.147z\"/></svg>",
15
+ "mistral": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 256 233\" aria-hidden=\"true\"><path d=\"M186.182 0h46.545v46.545h-46.545z\"/><path fill=\"#f7d046\" d=\"M209.455 0H256v46.545h-46.545z\"/><path d=\"M0 0h46.545v46.545H0zm0 46.545h46.545V93.09H0zm0 46.546h46.545v46.545H0zm0 46.545h46.545v46.545H0zm0 46.546h46.545v46.545H0z\"/><path fill=\"#f7d046\" d=\"M23.273 0h46.545v46.545H23.273z\"/><path fill=\"#f2a73b\" d=\"M209.455 46.545H256V93.09h-46.545zm-186.182 0h46.545V93.09H23.273z\"/><path d=\"M139.636 46.545h46.545V93.09h-46.545z\"/><path fill=\"#f2a73b\" d=\"M162.909 46.545h46.545V93.09h-46.545zm-93.091 0h46.545V93.09H69.818z\"/><path fill=\"#ee792f\" d=\"M116.364 93.091h46.545v46.545h-46.545zm46.545 0h46.545v46.545h-46.545zm-93.091 0h46.545v46.545H69.818z\"/><path d=\"M93.091 139.636h46.545v46.545H93.091z\"/><path fill=\"#eb5829\" d=\"M116.364 139.636h46.545v46.545h-46.545z\"/><path fill=\"#ee792f\" d=\"M209.455 93.091H256v46.545h-46.545zm-186.182 0h46.545v46.545H23.273z\"/><path d=\"M186.182 139.636h46.545v46.545h-46.545z\"/><path fill=\"#eb5829\" d=\"M209.455 139.636H256v46.545h-46.545z\"/><path d=\"M186.182 186.182h46.545v46.545h-46.545z\"/><path fill=\"#eb5829\" d=\"M23.273 139.636h46.545v46.545H23.273z\"/><path fill=\"#ea3326\" d=\"M209.455 186.182H256v46.545h-46.545zm-186.182 0h46.545v46.545H23.273z\"/></svg>",
16
+ "claude-code": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path fill=\"#d97757\" fill-rule=\"evenodd\" d=\"M20.998 10.949H24v3.102h-3v3.028h-1.487V20H18v-2.921h-1.487V20H15v-2.921H9V20H7.488v-2.921H6V20H4.487v-2.921H3V14.05H0v-3.1h3V5h17.998zM6 10.949h1.488V8.102H6zm10.51 0H18V8.102h-1.49z\" clip-rule=\"evenodd\"/></svg>",
17
+ "chatgpt": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path fill-rule=\"evenodd\" d=\"M9.205 8.658v-2.26c0-.19.072-.333.238-.428l4.543-2.616c.619-.357 1.356-.523 2.117-.523c2.854 0 4.662 2.212 4.662 4.566c0 .167 0 .357-.024.547l-4.71-2.759a.8.8 0 0 0-.856 0zm10.609 8.8V12.06c0-.333-.143-.57-.429-.737l-5.97-3.473l1.95-1.118a.43.43 0 0 1 .476 0l4.543 2.617c1.309.76 2.189 2.378 2.189 3.948c0 1.808-1.07 3.473-2.76 4.163zM7.802 12.703l-1.95-1.142a.45.45 0 0 1-.239-.428V5.899c0-2.545 1.95-4.472 4.591-4.472c1 0 1.927.333 2.712.928L8.23 5.067c-.285.166-.428.404-.428.737zM12 15.128l-2.795-1.57v-3.33L12 8.658l2.795 1.57v3.33zm1.796 7.23c-1 0-1.927-.332-2.712-.927l4.686-2.712c.285-.166.428-.404.428-.737v-6.898l1.974 1.142c.167.095.238.238.238.428v5.233c0 2.545-1.974 4.472-4.614 4.472zm-5.637-5.303l-4.544-2.617c-1.308-.761-2.188-2.378-2.188-3.948A4.48 4.48 0 0 1 4.21 6.327v5.423c0 .333.143.571.428.738l5.947 3.449l-1.95 1.118a.43.43 0 0 1-.476 0m-.262 3.9c-2.688 0-4.662-2.021-4.662-4.519c0-.19.024-.38.047-.57l4.686 2.71a.79.79 0 0 0 .856 0l5.97-3.448v2.26c0 .19-.07.333-.237.428l-4.543 2.616c-.619.357-1.356.523-2.117.523m5.899 2.83a5.95 5.95 0 0 0 5.827-4.756C22.287 18.339 24 15.84 24 13.296c0-1.665-.713-3.282-1.998-4.448c.119-.5.19-.999.19-1.498c0-3.401-2.759-5.947-5.946-5.947a5.7 5.7 0 0 0-1.88.31A5.96 5.96 0 0 0 10.205 0a5.95 5.95 0 0 0-5.827 4.757C1.713 5.447 0 7.945 0 10.49c0 1.666.713 3.283 1.998 4.448c-.119.5-.19 1-.19 1.499c0 3.401 2.759 5.946 5.946 5.946c.642 0 1.26-.095 1.88-.309a5.96 5.96 0 0 0 4.162 1.713z\"/></svg>",
18
+ "claude-ai": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 256 257\" aria-hidden=\"true\"><path fill=\"#d97757\" d=\"m50.228 170.321l50.357-28.257l.843-2.463l-.843-1.361h-2.462l-8.426-.518l-28.775-.778l-24.952-1.037l-24.175-1.296l-6.092-1.297L0 125.796l.583-3.759l5.12-3.434l7.324.648l16.202 1.101l24.304 1.685l17.629 1.037l26.118 2.722h4.148l.583-1.685l-1.426-1.037l-1.101-1.037l-25.147-17.045l-27.22-18.017l-14.258-10.37l-7.713-5.25l-3.888-4.925l-1.685-10.758l7-7.713l9.397.649l2.398.648l9.527 7.323l20.35 15.75L94.817 91.9l3.889 3.24l1.555-1.102l.195-.777l-1.75-2.917l-14.453-26.118l-15.425-26.572l-6.87-11.018l-1.814-6.61c-.648-2.723-1.102-4.991-1.102-7.778l7.972-10.823L71.42 0l10.63 1.426l4.472 3.888l6.61 15.101l10.694 23.786l16.591 32.34l4.861 9.592l2.592 8.879l.973 2.722h1.685v-1.556l1.36-18.211l2.528-22.36l2.463-28.776l.843-8.1l4.018-9.722l7.971-5.25l6.222 2.981l5.12 7.324l-.713 4.73l-3.046 19.768l-5.962 30.98l-3.889 20.739h2.268l2.593-2.593l10.499-13.934l17.628-22.036l7.778-8.749l9.073-9.657l5.833-4.601h11.018l8.1 12.055l-3.628 12.443l-11.342 14.388l-9.398 12.184l-13.48 18.147l-8.426 14.518l.778 1.166l2.01-.194l30.46-6.481l16.462-2.982l19.637-3.37l8.88 4.148l.971 4.213l-3.5 8.62l-20.998 5.184l-24.628 4.926l-36.682 8.685l-.454.324l.519.648l16.526 1.555l7.065.389h17.304l32.21 2.398l8.426 5.574l5.055 6.805l-.843 5.184l-12.962 6.611l-17.498-4.148l-40.83-9.721l-14-3.5h-1.944v1.167l11.666 11.406l21.387 19.314l26.767 24.887l1.36 6.157l-3.434 4.86l-3.63-.518l-23.526-17.693l-9.073-7.972l-20.545-17.304h-1.36v1.814l4.73 6.935l25.017 37.59l1.296 11.536l-1.814 3.76l-6.481 2.268l-7.13-1.297l-14.647-20.544l-15.1-23.138l-12.185-20.739l-1.49.843l-7.194 77.448l-3.37 3.953l-7.778 2.981l-6.48-4.925l-3.436-7.972l3.435-15.749l4.148-20.544l3.37-16.333l3.046-20.285l1.815-6.74l-.13-.454l-1.49.194l-15.295 20.999l-23.267 31.433l-18.406 19.702l-4.407 1.75l-7.648-3.954l.713-7.064l4.277-6.286l25.47-32.405l15.36-20.092l9.917-11.6l-.065-1.686h-.583L44.07 198.125l-12.055 1.555l-5.185-4.86l.648-7.972l2.463-2.593l20.35-13.999z\"/></svg>",
19
+ "vscode": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 256 254\" aria-hidden=\"true\"><defs><linearGradient id=\"SVG6Q5wMbNQ\" x1=\"50%\" x2=\"50%\" y1=\"0%\" y2=\"100%\"><stop offset=\"0%\" stop-color=\"#fff\"/><stop offset=\"100%\" stop-color=\"#fff\" stop-opacity=\"0\"/></linearGradient><path id=\"SVGWhZ12djk\" d=\"M180.828 252.605a15.87 15.87 0 0 0 12.65-.486l52.501-25.262a15.94 15.94 0 0 0 9.025-14.364V41.197a15.94 15.94 0 0 0-9.025-14.363l-52.5-25.263a15.88 15.88 0 0 0-18.115 3.084L74.857 96.35l-43.78-33.232a10.614 10.614 0 0 0-13.56.603L3.476 76.494c-4.63 4.211-4.635 11.495-.012 15.713l37.967 34.638l-37.967 34.637c-4.623 4.219-4.618 11.502.012 15.714l14.041 12.772a10.614 10.614 0 0 0 13.56.604l43.78-33.233l100.507 91.695a15.85 15.85 0 0 0 5.464 3.571m10.464-183.649l-76.262 57.889l76.262 57.888z\"/></defs><mask id=\"SVGSAQ58H2f\" fill=\"#fff\"><use href=\"#SVGWhZ12djk\"/></mask><path fill=\"#0065a9\" d=\"M246.135 26.873L193.593 1.575a15.885 15.885 0 0 0-18.123 3.08L3.466 161.482c-4.626 4.219-4.62 11.502.012 15.714l14.05 12.772a10.625 10.625 0 0 0 13.569.604L238.229 33.436c6.949-5.271 16.93-.315 16.93 8.407v-.61a15.94 15.94 0 0 0-9.024-14.36\" mask=\"url(#SVGSAQ58H2f)\"/><path fill=\"#007acc\" d=\"m246.135 226.816l-52.542 25.298a15.89 15.89 0 0 1-18.123-3.08L3.466 92.207c-4.626-4.218-4.62-11.502.012-15.713l14.05-12.773a10.625 10.625 0 0 1 13.569-.603l207.132 157.135c6.949 5.271 16.93.315 16.93-8.408v.611a15.94 15.94 0 0 1-9.024 14.36\" mask=\"url(#SVGSAQ58H2f)\"/><path fill=\"#1f9cf0\" d=\"M193.428 252.134a15.89 15.89 0 0 1-18.125-3.083c5.881 5.88 15.938 1.715 15.938-6.603V11.273c0-8.318-10.057-12.483-15.938-6.602a15.89 15.89 0 0 1 18.125-3.084l52.533 25.263a15.94 15.94 0 0 1 9.03 14.363V212.51c0 6.125-3.51 11.709-9.03 14.363z\" mask=\"url(#SVGSAQ58H2f)\"/><path fill=\"url(#SVG6Q5wMbNQ)\" fill-opacity=\".25\" d=\"M180.828 252.605a15.87 15.87 0 0 0 12.65-.486l52.5-25.263a15.94 15.94 0 0 0 9.026-14.363V41.197a15.94 15.94 0 0 0-9.025-14.363L193.477 1.57a15.88 15.88 0 0 0-18.114 3.084L74.857 96.35l-43.78-33.232a10.614 10.614 0 0 0-13.56.603L3.476 76.494c-4.63 4.211-4.635 11.495-.012 15.713l37.967 34.638l-37.967 34.637c-4.623 4.219-4.618 11.502.012 15.714l14.041 12.772a10.614 10.614 0 0 0 13.56.604l43.78-33.233l100.506 91.695a15.9 15.9 0 0 0 5.465 3.571m10.464-183.65l-76.262 57.89l76.262 57.888z\" mask=\"url(#SVGSAQ58H2f)\"/></svg>",
20
+ "cursor": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 466.73 532.09\" aria-hidden=\"true\"><path fill=\"#26251e\" d=\"M457.43 125.94L244.42 2.96a22.13 22.13 0 0 0-22.12 0L9.3 125.94C3.55 129.26 0 135.4 0 142.05v247.99c0 6.65 3.55 12.79 9.3 16.11l213.01 122.98a22.13 22.13 0 0 0 22.12 0l213.01-122.98c5.75-3.32 9.3-9.46 9.3-16.11V142.05c0-6.65-3.55-12.79-9.3-16.11zm-13.38 26.05L238.42 508.15c-1.39 2.4-5.06 1.42-5.06-1.36V273.58c0-4.66-2.49-8.97-6.53-11.31L24.87 145.67c-2.4-1.39-1.42-5.06 1.36-5.06h411.26c5.84 0 9.49 6.33 6.57 11.39h-.01Z\"/></svg>",
21
+ };
@@ -2,15 +2,16 @@ import chalk from "chalk";
2
2
  import { getConfig, setConfig, listConfig, resetConfig } from "../config.js";
3
3
  import { success, info, hint } from "../utils/display.js";
4
4
  import { resolveBases } from "../api.js";
5
- const VALID_KEYS = ["defaultModel", "baseUrl", "outputFormat", "twitterCookies", "twitterProxy"];
5
+ import { resolveRouterBase } from "../router.js";
6
+ const VALID_KEYS = ["defaultModel", "baseUrl", "routerUrl", "outputFormat", "lang"];
6
7
  export function configSetAction(key, value) {
7
8
  if (!VALID_KEYS.includes(key)) {
8
9
  console.error(`Unknown config key: ${key}`);
9
10
  console.error(`Valid keys: ${VALID_KEYS.join(", ")}`);
10
11
  process.exit(1);
11
12
  }
12
- if (key === "baseUrl" && !/^https?:\/\/[^/]+/.test(value.trim())) {
13
- console.error(`baseUrl must be an absolute http(s) URL, got: ${value}`);
13
+ if ((key === "baseUrl" || key === "routerUrl") && !/^https?:\/\/[^/]+/.test(value.trim())) {
14
+ console.error(`${key} must be an absolute http(s) URL, got: ${value}`);
14
15
  process.exit(1);
15
16
  }
16
17
  setConfig(key, value);
@@ -21,6 +22,9 @@ export function configSetAction(key, value) {
21
22
  hint(`Integration: ${bases.domain}`);
22
23
  hint(`Catalog: ${bases.info}`);
23
24
  }
25
+ if (key === "routerUrl") {
26
+ hint(`Router: ${resolveRouterBase()}`);
27
+ }
24
28
  }
25
29
  export function configGetAction(key) {
26
30
  const value = getConfig(key);
@@ -47,6 +51,7 @@ export function configListAction() {
47
51
  console.log(` ${chalk.gray(`LLM ${bases.llm}`)}`);
48
52
  console.log(` ${chalk.gray(`Integration ${bases.domain}`)}`);
49
53
  console.log(` ${chalk.gray(`Catalog ${bases.info}`)}`);
54
+ console.log(` ${chalk.gray(`Router ${resolveRouterBase()}`)}`);
50
55
  }
51
56
  export function configResetAction() {
52
57
  resetConfig();
@@ -0,0 +1,136 @@
1
+ /**
2
+ * Shared vocabulary of `aisa connect`: brand tokens, inline icons, the
3
+ * try-it-now prompts and the run-state types. Both page templates (T1, the
4
+ * original two-page flow, and T2, the guided six-step flow) render from
5
+ * this one source so a server or a step means the same thing everywhere.
6
+ */
7
+ /** Every selection a run was started with — the done tab rebuilds the
8
+ * earlier steps from it. */
9
+ export interface Selection {
10
+ servers: string[];
11
+ clients: string[];
12
+ install: string[];
13
+ llmMode: LlmMode;
14
+ }
15
+ export declare const RED = "#e5322d";
16
+ export declare const RED_CTA = "#cc2b26";
17
+ export declare const INK = "#0d0d0b";
18
+ export declare const PAPER = "#f9f8f6";
19
+ export declare const I: {
20
+ readonly search: "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"><path d=\"m21 21l-4.34-4.34\"/><circle cx=\"11\" cy=\"11\" r=\"8\"/></g></svg>";
21
+ readonly finance: "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"><path d=\"M16 7h6v6\"/><path d=\"m22 7l-8.5 8.5l-5-5L2 17\"/></g></svg>";
22
+ readonly social: "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"><path d=\"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2M16 3.128a4 4 0 0 1 0 7.744M22 21v-2a4 4 0 0 0-3-3.87\"/><circle cx=\"9\" cy=\"7\" r=\"4\"/></g></svg>";
23
+ readonly sales: "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"><path d=\"M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16\"/><rect width=\"20\" height=\"14\" x=\"2\" y=\"6\" rx=\"2\"/></g></svg>";
24
+ readonly terminal: "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M12 19h8M4 17l6-6l-6-6\"/></svg>";
25
+ readonly shield: "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"><path d=\"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z\"/><path d=\"m9 12l2 2l4-4\"/></g></svg>";
26
+ readonly check: "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M20 6L9 17l-5-5\"/></svg>";
27
+ readonly copy: "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"><rect width=\"14\" height=\"14\" x=\"8\" y=\"8\" rx=\"2\" ry=\"2\"/><path d=\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\"/></g></svg>";
28
+ readonly arrow: "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M5 12h14m-7-7l7 7l-7 7\"/></svg>";
29
+ readonly sparkles: "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"><path d=\"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z\"/></g></svg>";
30
+ };
31
+ /** The official AIsa wordmark (docs/logo/dark.svg — the variant for dark
32
+ * backgrounds, same as the auth.aisa.one top bar). Inlined verbatim. */
33
+ export declare const LOGO = "<svg width=\"76\" height=\"26\" role=\"img\" aria-label=\"AIsa\" viewBox=\"0 0 176 60\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<g clip-path=\"url(#clip0_383_646)\">\n<path d=\"M131.82 19.3201C134.536 19.0359 138.411 19.8123 140.541 21.5465C143.1 23.6295 143.798 25.5303 144.214 28.6185L137.348 28.6269C136.931 25.9579 135.016 24.9636 132.471 24.9612C130.729 24.9281 128.542 25.5621 128.561 27.671C128.575 29.1596 129.725 29.7727 130.962 30.2626C132.595 30.9098 134.332 31.2902 136.021 31.7531C136.917 32.0003 137.803 32.2832 138.677 32.6009C142.115 33.8805 144.392 36.0809 144.438 39.9316C144.472 41.9722 143.674 43.939 142.227 45.3784C139.874 47.7669 136.365 48.4599 133.144 48.4843C128.189 48.4747 122.897 46.1258 121.279 41.0789C121.081 40.4629 120.987 39.7484 120.89 39.1043C123.046 39.0106 125.925 39.0947 128.135 39.1013C128.668 41.8472 131.083 42.9942 133.72 42.8507C134.919 42.7853 136.131 42.4903 136.976 41.5805C137.837 40.6536 137.796 39.0112 136.735 38.2486C136.048 37.7408 135.2 37.4698 134.402 37.1824C130.863 35.9261 126.904 35.6958 123.935 33.1945C120.9 30.6374 120.867 25.7519 123.437 22.853C125.616 20.3955 128.638 19.5072 131.82 19.3201ZM175.324 20.642C175.261 24.238 175.317 28.4508 175.317 32.0615L175.327 48.2658C173.199 48.3411 170.631 48.2731 168.467 48.2737C168.478 46.963 168.476 45.4421 168.46 44.1314C168.311 44.3023 168.138 44.5396 167.996 44.7234L167.978 44.7435C165.94 47.0297 163.358 48.2988 160.328 48.4618C152.689 48.8723 147.739 42.9526 147.282 35.7245C146.805 28.1634 150.863 21.1881 158.918 20.7303C159.364 20.6713 160.338 20.709 160.803 20.7589C164.132 21.1164 166.375 22.4476 168.467 24.9757C168.523 23.7793 168.462 21.88 168.484 20.6404L175.324 20.642ZM165.691 28.1474C164.239 27.027 162.409 26.5146 160.586 26.7185C160.58 26.7195 160.572 26.7207 160.565 26.7217C151.212 28.0278 152.662 43.2707 162.146 42.4672C162.159 42.4652 162.173 42.4629 162.186 42.4609C166.956 41.866 169.045 37.4817 168.421 33.1347C168.136 31.1445 167.302 29.3886 165.691 28.1474Z\" fill=\"#FFFFFF\"/>\n<path d=\"M78.0289 13.5267C80.6702 13.5267 83.5754 13.5364 86.2127 13.5354C86.5222 14.5265 87.0571 15.8691 87.4172 16.8669L89.8901 23.7404L98.8048 48.5169L91.3698 48.5249C91.2837 48.1226 90.9557 47.3326 90.8194 46.8917C90.3085 45.2375 89.5697 43.4991 89.1018 41.8495H86.1714L75.1161 41.8472C74.3126 44.1997 73.6136 46.2007 72.8134 48.5292C70.578 48.5344 67.6979 48.5348 65.4658 48.5348C67.0587 44.0868 67.8658 41.8125 69.0723 38.4674L74.7844 22.5834L76.9855 16.4448C77.2399 15.7423 77.8755 14.1862 78.0289 13.5267ZM82.0944 21.6837C80.3256 26.4589 78.7575 31.4495 77.0142 36.2634L87.1713 36.2683C86.7585 35.0365 82.2554 21.8714 82.0944 21.6837Z\" fill=\"#F76918\"/>\n<path d=\"M101.82 13.5045C103.521 13.5045 117.161 13.5045 118.529 13.5045C118.529 14.2596 118.529 17.649 118.529 18.2849C118.068 18.2849 114.74 18.2865 114.206 18.2849C114.206 27.0774 114.2 34.9626 114.199 43.7552C114.844 43.7562 117.157 43.7552 118.593 43.7552C118.593 44.3525 118.601 48.2605 118.601 48.5153C116.908 48.5153 104.675 48.5153 101.701 48.5153C101.701 48.0022 101.693 44.0647 101.693 43.7552C102.405 43.7552 105.794 43.7529 106.633 43.7552L106.649 18.2849C105.774 18.2728 102.75 18.2849 101.82 18.2849C101.82 17.4945 101.82 14.3001 101.82 13.5045Z\" fill=\"#F76918\"/>\n<path d=\"M36.5886 39.527C36.9011 39.491 37.0074 39.6587 37.0084 39.9444C37.011 40.8532 37.0103 41.7624 37.01 42.6715L37.0103 47.9718L37.011 50.5985C37.011 50.9836 37.0315 51.7749 36.9724 52.1135C36.6144 52.4758 35.4013 53.1731 34.9215 53.478L31.6211 55.5745C30.924 56.0176 25.8872 59.311 25.5375 59.3859C25.4314 59.4086 25.3426 59.4014 25.244 59.3565C24.9415 59.2199 24.6503 59.0027 24.3697 58.8249L22.7291 57.7795L17.1501 54.2231C16.527 53.8209 15.6563 53.3279 15.0819 52.8613C15.0045 52.7986 14.9969 52.5979 15.0065 52.4937C15.0766 52.3924 15.1832 52.3168 15.2836 52.2458C15.7921 51.8862 19.4322 49.6264 19.792 49.5396C19.8903 49.5158 19.9427 49.5521 20.0289 49.596C20.648 49.9112 21.2523 50.3543 21.8419 50.7243L25.5324 53.0487C26.0599 52.7504 26.7647 52.268 27.2922 51.934C28.7815 50.9717 30.2821 50.027 31.7935 49.0987L31.7922 44.6795C31.7919 44.1875 31.7247 42.9784 31.8396 42.5692C31.8896 42.3969 36.1474 39.7692 36.5886 39.527ZM24.6561 0C24.7858 0.000110369 24.8444 0.0118701 24.9597 0.0776641C25.669 0.482497 26.3813 0.910419 27.0824 1.32705C28.4915 2.15847 29.8919 3.00374 31.2837 3.86258L34.0002 5.5293C34.446 5.80141 34.9232 6.05702 35.3505 6.35428C35.43 6.40965 35.4904 6.48145 35.5152 6.57534C35.5399 6.66872 35.5257 6.74178 35.4759 6.82316C35.4079 6.93414 35.3007 7.02214 35.1944 7.09643C34.7859 7.38177 30.7687 9.80981 30.537 9.83562C30.4222 9.84816 30.249 9.75064 30.1468 9.69735C29.5302 9.37541 28.9378 8.96949 28.3444 8.60587L24.8021 6.43677C24.3481 6.66259 23.2803 7.35989 22.799 7.65553C21.3971 8.52298 19.9892 9.38105 18.5755 10.2297C18.6122 11.1611 18.5799 12.3068 18.5797 13.2515L18.58 19.2449C20.3783 17.9008 22.5416 17.1077 24.7979 16.9655C26.6409 16.8584 28.4849 17.1639 30.1896 17.8588C31.4829 18.3919 32.5254 19.1038 33.6995 19.8398L37.1004 21.9625C40.3248 23.9541 43.5353 25.9676 46.7316 28.0025C47.705 28.6257 48.7277 29.2568 49.6705 29.9196C49.8038 30.0136 49.7576 32.132 49.7576 32.3759L49.7563 36.1225C49.7553 38.5486 49.7586 40.979 49.7582 43.405C49.7582 43.4918 49.7523 43.8195 49.6962 43.8703C49.3573 44.1789 48.8735 44.4666 48.4838 44.7217L46.4781 46.0341L41.7464 49.1324C41.0696 49.5729 40.3977 50.0227 39.7199 50.4619C39.5625 50.5639 39.3464 50.6711 39.218 50.4665C39.1467 50.3527 39.1243 50.2045 39.1127 50.0729C39.0992 49.2139 39.114 48.3536 39.114 47.494L39.1081 45.709C39.1074 45.5388 39.0926 44.659 39.1474 44.5861C39.3856 44.2733 40.7828 43.4479 41.0844 43.2539C42.1912 42.5368 43.302 41.8254 44.4163 41.1202C44.449 38.2872 44.4272 35.377 44.4186 32.5415C42.0975 31.1096 39.8093 29.5387 37.502 28.0821C37.8149 30.7056 37.5746 32.6742 36.4583 35.082C36.2388 35.5242 35.994 35.9535 35.7247 36.3677C34.3288 38.507 32.9425 39.2567 30.8425 40.6057L26.4634 43.4232C22.1698 46.1875 17.8782 48.9601 13.5753 51.7103C13.4314 51.8023 13.1545 51.9868 12.9969 52.0244C12.8937 52.0492 12.7147 51.9759 12.6247 51.9205C11.9422 51.4978 11.258 51.0602 10.5816 50.6292L6.63747 48.1035L2.48422 45.4358C1.77165 44.9804 1.04884 44.532 0.340247 44.072C0.239997 43.9802 0.0426683 43.9119 0.0305592 43.7647C-0.0062054 43.3133 0.00761406 42.8434 0.00735674 42.3907L0.0067122 39.5775L0.0134796 33.899C0.0160529 33.2024 0.0101109 32.5072 0.000911587 31.8109C-0.000965006 31.6671 0.0434144 31.4807 0.134648 31.365C0.304302 31.1495 0.540981 31.3535 0.725023 31.4355C2.23554 32.3775 3.75299 33.3232 5.23953 34.2986C5.29266 34.3333 5.34948 34.4415 5.35295 34.5055C5.37859 35.1414 5.36644 35.7829 5.36585 36.4195L5.36747 40.8189L13.0981 45.7658C13.6992 45.4286 14.3533 45.0141 14.9488 44.6531L18.7505 42.3329C19.3891 41.9432 20.2744 41.3697 20.9254 41.0291C16.04 39.1287 13.0288 34.1683 13.149 29.094C13.1713 28.1533 13.1641 27.2086 13.1638 26.2675L13.1645 18.8069L13.168 11.1211L13.1674 8.65841C13.1672 8.1846 13.1523 7.59151 13.187 7.12639C13.4121 6.89886 14.3467 6.35233 14.6794 6.14674L17.1788 4.59572L22.0575 1.57777C22.8136 1.11169 23.8943 0.408387 24.6561 0ZM32.7084 28.8861C32.4276 24.9017 28.9051 21.8956 24.8427 22.1739C20.7847 22.4519 17.7239 25.9021 18.0041 29.8822C18.2844 33.8624 21.8 36.8676 25.8585 36.5957C29.9212 36.3234 32.9888 32.8709 32.7084 28.8861ZM10.849 8.38867C11.1445 8.36857 11.3019 8.51456 11.2938 8.81083C11.2783 9.37056 11.2804 9.92765 11.2812 10.4875L11.2857 12.9876C11.2862 13.3166 11.3141 14.2566 11.2338 14.5277C11.0548 14.7297 9.10458 15.8843 8.77017 16.0726C7.70298 16.6734 6.43677 17.5341 5.36133 18.0902C5.39472 18.9095 5.36407 19.9453 5.3639 20.7785L5.36648 26.1843C5.51837 26.2531 6.09315 26.6237 6.26557 26.7306C7.77845 25.8852 9.2378 24.8883 10.753 24.0426C11.1039 23.8468 11.2969 24.0745 11.3018 24.4332C11.3099 25.0326 11.2994 25.6366 11.3005 26.2388L11.3031 28.0515C11.3041 29.5463 11.4085 29.2517 10.1159 30.0498L8.10471 31.2905C7.72849 31.5246 6.50607 32.3548 6.13635 32.3868C5.76996 32.2745 0.391039 28.9823 0.0486055 28.6522C-0.0150442 28.4121 0.00500443 27.4908 0.00510092 27.1859L0.00767897 24.5411L0.0067122 18.134C0.00880144 17.3074 -0.00942823 16.4776 0.00993479 15.6514C0.0136618 15.4917 0.00666264 15.1851 0.0772864 15.0449C0.174637 14.855 10.0385 8.81571 10.849 8.38867ZM38.0129 7.53759C38.2755 7.5796 39.3902 8.31746 39.6823 8.4976L42.344 10.1334C44.0114 11.1719 45.6733 12.2189 47.3298 13.2738C48.0208 13.7153 48.7221 14.1454 49.4068 14.5944C49.4979 14.6752 49.7021 14.7596 49.717 14.8857C49.7747 15.3652 49.7563 15.8698 49.7563 16.3519L49.7556 18.902L49.7563 23.7191C49.7569 24.5577 49.7635 25.3974 49.7556 26.2352C49.7427 26.724 49.4048 26.7322 49.0451 26.5121C47.8063 25.7538 46.5949 24.9553 45.3568 24.1957C45.0898 24.0318 44.8028 23.8639 44.5635 23.6604C44.3906 23.5133 44.4246 23.1245 44.4147 22.9183C44.4134 22.5018 44.415 22.089 44.4153 21.6747L44.4137 18.4386L44.4134 17.874C42.2674 16.5298 40.1288 15.1729 37.9993 13.8036L34.2289 16.0726C33.6735 16.4053 33.1217 16.7447 32.5582 17.0635C32.135 17.3029 31.9935 17.1382 31.6288 16.9114C30.4191 16.1591 29.2238 15.3844 28.0131 14.6353C27.7668 14.483 27.6701 14.295 27.7505 14.022C27.9959 13.7774 29.2487 13.0204 29.6498 12.7678L33.4646 10.3589L36.4566 8.46665C36.8279 8.23338 37.6413 7.69734 38.0129 7.53759Z\" fill=\"#F76918\"/>\n</g>\n<defs>\n<clipPath id=\"clip0_383_646\">\n<rect width=\"175.328\" height=\"59.3984\" fill=\"white\"/>\n</clipPath>\n</defs>\n</svg>";
34
+ export declare const CATEGORY_ICON: Record<string, string>;
35
+ /**
36
+ * Try-it-now prompts per server, shown on the success page for what the user
37
+ * actually installed. Each mentions "AIsa" once — enough of an anchor to
38
+ * route the first run to our tools (they are all prefixed aisa-*) without
39
+ * teaching users a scary full-slug incantation; day to day the agent picks
40
+ * AIsa tools on its own and no naming is needed at all.
41
+ */
42
+ export declare const EXAMPLES: Record<string, string[]>;
43
+ export interface ClientInfo {
44
+ id: string;
45
+ label: string;
46
+ /** cli: its own command writes config · file: we write a JSON file ·
47
+ * web: nothing to install, the user pastes connector URLs into the site */
48
+ kind: "cli" | "file" | "web";
49
+ detected: boolean;
50
+ detail: string;
51
+ }
52
+ export declare const FILE_CLIENT_LABELS: Record<string, string>;
53
+ export interface ApplyResult {
54
+ client: string;
55
+ ok: boolean;
56
+ message: string;
57
+ /**
58
+ * What the client's own tool printed while doing this.
59
+ *
60
+ * Kept rather than inherited, so it lands under the line that summarises
61
+ * it instead of ahead of it. Terminal-side only: the page has the summary
62
+ * and does not need a transcript.
63
+ */
64
+ said?: string[];
65
+ }
66
+ export type StepState = "pending" | "running" | "ok" | "fail" | "skip";
67
+ export interface Step {
68
+ id: string;
69
+ /** Imperative while pending/running ("Install Codex"), so the plan reads as
70
+ * a list of intentions before anything has happened. */
71
+ label: string;
72
+ state: StepState;
73
+ /** One line under the label: progress, result, or what to do about a
74
+ * failure. Replaced as the step advances. */
75
+ detail?: string;
76
+ }
77
+ export type AuthState = "pending" | "authorizing" | "ok" | "fail";
78
+ export interface RunState {
79
+ phase: "selecting" | "applying" | "authorizing" | "done" | "failed";
80
+ results: ApplyResult[];
81
+ auth: Record<string, AuthState>;
82
+ steps: Step[];
83
+ doneUrl?: string;
84
+ /** In micros USD; null when it could not be read. The done page renders
85
+ * the number and the top-up nudge from this. */
86
+ balanceMicros?: number | null;
87
+ /**
88
+ * The run stopped because it has no key, and one button would fix it.
89
+ *
90
+ * Distinct from a plain failure: everything else in the plan is still
91
+ * possible, it is only waiting on a credential. The page turns its main
92
+ * action into "Log in again" while this is set.
93
+ */
94
+ needsSignIn?: boolean;
95
+ /** How models were handled — the done page words its guidance from this. */
96
+ llmMode?: LlmMode;
97
+ /** What the run was started with; set at /apply, read by the done tab. */
98
+ selection?: Selection;
99
+ /**
100
+ * The live draft, shared by every surface looking at this run.
101
+ *
102
+ * `selection` is what a run was launched with and never changes after; this
103
+ * is what is currently ticked, before anyone presses go. The page and the
104
+ * terminal both read it from /status and both write it through /select, so
105
+ * a choice made in one appears in the other.
106
+ */
107
+ draft?: Selection;
108
+ /**
109
+ * Bumped on every accepted /select. A writer sends the rev it last saw; a
110
+ * mismatch means someone else moved first, and the writer is handed the
111
+ * current state to redraw from rather than having its stale copy accepted.
112
+ * Last writer wins, but no writer overwrites blind.
113
+ */
114
+ rev?: number;
115
+ /** Which step the surfaces are on, so opening a second one lands in place. */
116
+ currentStep?: number;
117
+ /** Cursor install deeplinks, one per chosen server (T2 only). The config
118
+ * inside carries the bearer header when a key exists — the page is
119
+ * local and token-gated, and Cursor shows the config before adding it. */
120
+ deeplinks?: Array<{
121
+ slug: string;
122
+ name: string;
123
+ url: string;
124
+ }>;
125
+ }
126
+ /** What to do about models: switch the agent over, add AIsa as a backup
127
+ * beside the user's own setup, or leave models alone entirely. */
128
+ export type LlmMode = "switch" | "backup" | "skip";
129
+ /** Small brand marks for the client cards — inline SVG, self-contained. */
130
+ export declare const CLIENT_LOGOS: Record<string, string>;
131
+ /** The agents' real first-screen art, so the launch preview looks like what
132
+ * the button opens: Codex's ASCII face (transcribed from its TUI), Claude
133
+ * Code's pixel robot, opencode's banner verbatim from --help. */
134
+ export declare const CODEX_FACE: string;
135
+ export declare const CLAUDE_BOT: string;
136
+ export declare const OPENCODE_MARK: string;
@@ -0,0 +1,143 @@
1
+ /**
2
+ * Shared vocabulary of `aisa connect`: brand tokens, inline icons, the
3
+ * try-it-now prompts and the run-state types. Both page templates (T1, the
4
+ * original two-page flow, and T2, the guided six-step flow) render from
5
+ * this one source so a server or a step means the same thing everywhere.
6
+ */
7
+ // ── brand tokens (auth.aisa.one, read live) ─────────────────────────────────
8
+ export const RED = "#e5322d";
9
+ export const RED_CTA = "#cc2b26";
10
+ export const INK = "#0d0d0b";
11
+ export const PAPER = "#f9f8f6";
12
+ // ── inline icons (lucide, 18px, currentColor — icon-kit) ────────────────────
13
+ export const I = {
14
+ search: `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" aria-hidden="true"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="m21 21l-4.34-4.34"/><circle cx="11" cy="11" r="8"/></g></svg>`,
15
+ finance: `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" aria-hidden="true"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M16 7h6v6"/><path d="m22 7l-8.5 8.5l-5-5L2 17"/></g></svg>`,
16
+ social: `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" aria-hidden="true"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2M16 3.128a4 4 0 0 1 0 7.744M22 21v-2a4 4 0 0 0-3-3.87"/><circle cx="9" cy="7" r="4"/></g></svg>`,
17
+ sales: `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" aria-hidden="true"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16"/><rect width="20" height="14" x="2" y="6" rx="2"/></g></svg>`,
18
+ terminal: `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" aria-hidden="true"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 19h8M4 17l6-6l-6-6"/></svg>`,
19
+ shield: `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" aria-hidden="true"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"/><path d="m9 12l2 2l4-4"/></g></svg>`,
20
+ check: `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" aria-hidden="true"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M20 6L9 17l-5-5"/></svg>`,
21
+ copy: `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" aria-hidden="true"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"/><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"/></g></svg>`,
22
+ arrow: `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" aria-hidden="true"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 12h14m-7-7l7 7l-7 7"/></svg>`,
23
+ sparkles: `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" aria-hidden="true"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z"/></g></svg>`,
24
+ };
25
+ /** The official AIsa wordmark (docs/logo/dark.svg — the variant for dark
26
+ * backgrounds, same as the auth.aisa.one top bar). Inlined verbatim. */
27
+ export const LOGO = `<svg width="76" height="26" role="img" aria-label="AIsa" viewBox="0 0 176 60" fill="none" xmlns="http://www.w3.org/2000/svg">
28
+ <g clip-path="url(#clip0_383_646)">
29
+ <path d="M131.82 19.3201C134.536 19.0359 138.411 19.8123 140.541 21.5465C143.1 23.6295 143.798 25.5303 144.214 28.6185L137.348 28.6269C136.931 25.9579 135.016 24.9636 132.471 24.9612C130.729 24.9281 128.542 25.5621 128.561 27.671C128.575 29.1596 129.725 29.7727 130.962 30.2626C132.595 30.9098 134.332 31.2902 136.021 31.7531C136.917 32.0003 137.803 32.2832 138.677 32.6009C142.115 33.8805 144.392 36.0809 144.438 39.9316C144.472 41.9722 143.674 43.939 142.227 45.3784C139.874 47.7669 136.365 48.4599 133.144 48.4843C128.189 48.4747 122.897 46.1258 121.279 41.0789C121.081 40.4629 120.987 39.7484 120.89 39.1043C123.046 39.0106 125.925 39.0947 128.135 39.1013C128.668 41.8472 131.083 42.9942 133.72 42.8507C134.919 42.7853 136.131 42.4903 136.976 41.5805C137.837 40.6536 137.796 39.0112 136.735 38.2486C136.048 37.7408 135.2 37.4698 134.402 37.1824C130.863 35.9261 126.904 35.6958 123.935 33.1945C120.9 30.6374 120.867 25.7519 123.437 22.853C125.616 20.3955 128.638 19.5072 131.82 19.3201ZM175.324 20.642C175.261 24.238 175.317 28.4508 175.317 32.0615L175.327 48.2658C173.199 48.3411 170.631 48.2731 168.467 48.2737C168.478 46.963 168.476 45.4421 168.46 44.1314C168.311 44.3023 168.138 44.5396 167.996 44.7234L167.978 44.7435C165.94 47.0297 163.358 48.2988 160.328 48.4618C152.689 48.8723 147.739 42.9526 147.282 35.7245C146.805 28.1634 150.863 21.1881 158.918 20.7303C159.364 20.6713 160.338 20.709 160.803 20.7589C164.132 21.1164 166.375 22.4476 168.467 24.9757C168.523 23.7793 168.462 21.88 168.484 20.6404L175.324 20.642ZM165.691 28.1474C164.239 27.027 162.409 26.5146 160.586 26.7185C160.58 26.7195 160.572 26.7207 160.565 26.7217C151.212 28.0278 152.662 43.2707 162.146 42.4672C162.159 42.4652 162.173 42.4629 162.186 42.4609C166.956 41.866 169.045 37.4817 168.421 33.1347C168.136 31.1445 167.302 29.3886 165.691 28.1474Z" fill="#FFFFFF"/>
30
+ <path d="M78.0289 13.5267C80.6702 13.5267 83.5754 13.5364 86.2127 13.5354C86.5222 14.5265 87.0571 15.8691 87.4172 16.8669L89.8901 23.7404L98.8048 48.5169L91.3698 48.5249C91.2837 48.1226 90.9557 47.3326 90.8194 46.8917C90.3085 45.2375 89.5697 43.4991 89.1018 41.8495H86.1714L75.1161 41.8472C74.3126 44.1997 73.6136 46.2007 72.8134 48.5292C70.578 48.5344 67.6979 48.5348 65.4658 48.5348C67.0587 44.0868 67.8658 41.8125 69.0723 38.4674L74.7844 22.5834L76.9855 16.4448C77.2399 15.7423 77.8755 14.1862 78.0289 13.5267ZM82.0944 21.6837C80.3256 26.4589 78.7575 31.4495 77.0142 36.2634L87.1713 36.2683C86.7585 35.0365 82.2554 21.8714 82.0944 21.6837Z" fill="#F76918"/>
31
+ <path d="M101.82 13.5045C103.521 13.5045 117.161 13.5045 118.529 13.5045C118.529 14.2596 118.529 17.649 118.529 18.2849C118.068 18.2849 114.74 18.2865 114.206 18.2849C114.206 27.0774 114.2 34.9626 114.199 43.7552C114.844 43.7562 117.157 43.7552 118.593 43.7552C118.593 44.3525 118.601 48.2605 118.601 48.5153C116.908 48.5153 104.675 48.5153 101.701 48.5153C101.701 48.0022 101.693 44.0647 101.693 43.7552C102.405 43.7552 105.794 43.7529 106.633 43.7552L106.649 18.2849C105.774 18.2728 102.75 18.2849 101.82 18.2849C101.82 17.4945 101.82 14.3001 101.82 13.5045Z" fill="#F76918"/>
32
+ <path d="M36.5886 39.527C36.9011 39.491 37.0074 39.6587 37.0084 39.9444C37.011 40.8532 37.0103 41.7624 37.01 42.6715L37.0103 47.9718L37.011 50.5985C37.011 50.9836 37.0315 51.7749 36.9724 52.1135C36.6144 52.4758 35.4013 53.1731 34.9215 53.478L31.6211 55.5745C30.924 56.0176 25.8872 59.311 25.5375 59.3859C25.4314 59.4086 25.3426 59.4014 25.244 59.3565C24.9415 59.2199 24.6503 59.0027 24.3697 58.8249L22.7291 57.7795L17.1501 54.2231C16.527 53.8209 15.6563 53.3279 15.0819 52.8613C15.0045 52.7986 14.9969 52.5979 15.0065 52.4937C15.0766 52.3924 15.1832 52.3168 15.2836 52.2458C15.7921 51.8862 19.4322 49.6264 19.792 49.5396C19.8903 49.5158 19.9427 49.5521 20.0289 49.596C20.648 49.9112 21.2523 50.3543 21.8419 50.7243L25.5324 53.0487C26.0599 52.7504 26.7647 52.268 27.2922 51.934C28.7815 50.9717 30.2821 50.027 31.7935 49.0987L31.7922 44.6795C31.7919 44.1875 31.7247 42.9784 31.8396 42.5692C31.8896 42.3969 36.1474 39.7692 36.5886 39.527ZM24.6561 0C24.7858 0.000110369 24.8444 0.0118701 24.9597 0.0776641C25.669 0.482497 26.3813 0.910419 27.0824 1.32705C28.4915 2.15847 29.8919 3.00374 31.2837 3.86258L34.0002 5.5293C34.446 5.80141 34.9232 6.05702 35.3505 6.35428C35.43 6.40965 35.4904 6.48145 35.5152 6.57534C35.5399 6.66872 35.5257 6.74178 35.4759 6.82316C35.4079 6.93414 35.3007 7.02214 35.1944 7.09643C34.7859 7.38177 30.7687 9.80981 30.537 9.83562C30.4222 9.84816 30.249 9.75064 30.1468 9.69735C29.5302 9.37541 28.9378 8.96949 28.3444 8.60587L24.8021 6.43677C24.3481 6.66259 23.2803 7.35989 22.799 7.65553C21.3971 8.52298 19.9892 9.38105 18.5755 10.2297C18.6122 11.1611 18.5799 12.3068 18.5797 13.2515L18.58 19.2449C20.3783 17.9008 22.5416 17.1077 24.7979 16.9655C26.6409 16.8584 28.4849 17.1639 30.1896 17.8588C31.4829 18.3919 32.5254 19.1038 33.6995 19.8398L37.1004 21.9625C40.3248 23.9541 43.5353 25.9676 46.7316 28.0025C47.705 28.6257 48.7277 29.2568 49.6705 29.9196C49.8038 30.0136 49.7576 32.132 49.7576 32.3759L49.7563 36.1225C49.7553 38.5486 49.7586 40.979 49.7582 43.405C49.7582 43.4918 49.7523 43.8195 49.6962 43.8703C49.3573 44.1789 48.8735 44.4666 48.4838 44.7217L46.4781 46.0341L41.7464 49.1324C41.0696 49.5729 40.3977 50.0227 39.7199 50.4619C39.5625 50.5639 39.3464 50.6711 39.218 50.4665C39.1467 50.3527 39.1243 50.2045 39.1127 50.0729C39.0992 49.2139 39.114 48.3536 39.114 47.494L39.1081 45.709C39.1074 45.5388 39.0926 44.659 39.1474 44.5861C39.3856 44.2733 40.7828 43.4479 41.0844 43.2539C42.1912 42.5368 43.302 41.8254 44.4163 41.1202C44.449 38.2872 44.4272 35.377 44.4186 32.5415C42.0975 31.1096 39.8093 29.5387 37.502 28.0821C37.8149 30.7056 37.5746 32.6742 36.4583 35.082C36.2388 35.5242 35.994 35.9535 35.7247 36.3677C34.3288 38.507 32.9425 39.2567 30.8425 40.6057L26.4634 43.4232C22.1698 46.1875 17.8782 48.9601 13.5753 51.7103C13.4314 51.8023 13.1545 51.9868 12.9969 52.0244C12.8937 52.0492 12.7147 51.9759 12.6247 51.9205C11.9422 51.4978 11.258 51.0602 10.5816 50.6292L6.63747 48.1035L2.48422 45.4358C1.77165 44.9804 1.04884 44.532 0.340247 44.072C0.239997 43.9802 0.0426683 43.9119 0.0305592 43.7647C-0.0062054 43.3133 0.00761406 42.8434 0.00735674 42.3907L0.0067122 39.5775L0.0134796 33.899C0.0160529 33.2024 0.0101109 32.5072 0.000911587 31.8109C-0.000965006 31.6671 0.0434144 31.4807 0.134648 31.365C0.304302 31.1495 0.540981 31.3535 0.725023 31.4355C2.23554 32.3775 3.75299 33.3232 5.23953 34.2986C5.29266 34.3333 5.34948 34.4415 5.35295 34.5055C5.37859 35.1414 5.36644 35.7829 5.36585 36.4195L5.36747 40.8189L13.0981 45.7658C13.6992 45.4286 14.3533 45.0141 14.9488 44.6531L18.7505 42.3329C19.3891 41.9432 20.2744 41.3697 20.9254 41.0291C16.04 39.1287 13.0288 34.1683 13.149 29.094C13.1713 28.1533 13.1641 27.2086 13.1638 26.2675L13.1645 18.8069L13.168 11.1211L13.1674 8.65841C13.1672 8.1846 13.1523 7.59151 13.187 7.12639C13.4121 6.89886 14.3467 6.35233 14.6794 6.14674L17.1788 4.59572L22.0575 1.57777C22.8136 1.11169 23.8943 0.408387 24.6561 0ZM32.7084 28.8861C32.4276 24.9017 28.9051 21.8956 24.8427 22.1739C20.7847 22.4519 17.7239 25.9021 18.0041 29.8822C18.2844 33.8624 21.8 36.8676 25.8585 36.5957C29.9212 36.3234 32.9888 32.8709 32.7084 28.8861ZM10.849 8.38867C11.1445 8.36857 11.3019 8.51456 11.2938 8.81083C11.2783 9.37056 11.2804 9.92765 11.2812 10.4875L11.2857 12.9876C11.2862 13.3166 11.3141 14.2566 11.2338 14.5277C11.0548 14.7297 9.10458 15.8843 8.77017 16.0726C7.70298 16.6734 6.43677 17.5341 5.36133 18.0902C5.39472 18.9095 5.36407 19.9453 5.3639 20.7785L5.36648 26.1843C5.51837 26.2531 6.09315 26.6237 6.26557 26.7306C7.77845 25.8852 9.2378 24.8883 10.753 24.0426C11.1039 23.8468 11.2969 24.0745 11.3018 24.4332C11.3099 25.0326 11.2994 25.6366 11.3005 26.2388L11.3031 28.0515C11.3041 29.5463 11.4085 29.2517 10.1159 30.0498L8.10471 31.2905C7.72849 31.5246 6.50607 32.3548 6.13635 32.3868C5.76996 32.2745 0.391039 28.9823 0.0486055 28.6522C-0.0150442 28.4121 0.00500443 27.4908 0.00510092 27.1859L0.00767897 24.5411L0.0067122 18.134C0.00880144 17.3074 -0.00942823 16.4776 0.00993479 15.6514C0.0136618 15.4917 0.00666264 15.1851 0.0772864 15.0449C0.174637 14.855 10.0385 8.81571 10.849 8.38867ZM38.0129 7.53759C38.2755 7.5796 39.3902 8.31746 39.6823 8.4976L42.344 10.1334C44.0114 11.1719 45.6733 12.2189 47.3298 13.2738C48.0208 13.7153 48.7221 14.1454 49.4068 14.5944C49.4979 14.6752 49.7021 14.7596 49.717 14.8857C49.7747 15.3652 49.7563 15.8698 49.7563 16.3519L49.7556 18.902L49.7563 23.7191C49.7569 24.5577 49.7635 25.3974 49.7556 26.2352C49.7427 26.724 49.4048 26.7322 49.0451 26.5121C47.8063 25.7538 46.5949 24.9553 45.3568 24.1957C45.0898 24.0318 44.8028 23.8639 44.5635 23.6604C44.3906 23.5133 44.4246 23.1245 44.4147 22.9183C44.4134 22.5018 44.415 22.089 44.4153 21.6747L44.4137 18.4386L44.4134 17.874C42.2674 16.5298 40.1288 15.1729 37.9993 13.8036L34.2289 16.0726C33.6735 16.4053 33.1217 16.7447 32.5582 17.0635C32.135 17.3029 31.9935 17.1382 31.6288 16.9114C30.4191 16.1591 29.2238 15.3844 28.0131 14.6353C27.7668 14.483 27.6701 14.295 27.7505 14.022C27.9959 13.7774 29.2487 13.0204 29.6498 12.7678L33.4646 10.3589L36.4566 8.46665C36.8279 8.23338 37.6413 7.69734 38.0129 7.53759Z" fill="#F76918"/>
33
+ </g>
34
+ <defs>
35
+ <clipPath id="clip0_383_646">
36
+ <rect width="175.328" height="59.3984" fill="white"/>
37
+ </clipPath>
38
+ </defs>
39
+ </svg>`;
40
+ export const CATEGORY_ICON = {
41
+ "Search & Research": I.search,
42
+ Search: I.search,
43
+ Finance: I.finance,
44
+ Social: I.social,
45
+ Sales: I.sales,
46
+ };
47
+ /**
48
+ * Try-it-now prompts per server, shown on the success page for what the user
49
+ * actually installed. Each mentions "AIsa" once — enough of an anchor to
50
+ * route the first run to our tools (they are all prefixed aisa-*) without
51
+ * teaching users a scary full-slug incantation; day to day the agent picks
52
+ * AIsa tools on its own and no naming is needed at all.
53
+ */
54
+ export const EXAMPLES = {
55
+ "web-search": [
56
+ "Using AIsa, search the web for this week's biggest AI news and summarize the top 3 results with links.",
57
+ "Using AIsa, research how teams are adopting MCP servers in production and give me a sourced brief.",
58
+ ],
59
+ "twitter-api": [
60
+ "Using AIsa, fetch the latest tweets from @AnthropicAI and summarize the main themes.",
61
+ "Using AIsa, pull @sama's five most recent tweets with their engagement numbers.",
62
+ ],
63
+ "crypto-market-data": [
64
+ "Using AIsa, get Bitcoin's current price and 24h change, then compare it with Ethereum.",
65
+ "Using AIsa's crypto data, list today's trending coins with prices and market caps.",
66
+ ],
67
+ marketpulse: [
68
+ "Using AIsa, pull AAPL's latest income statement and summarize the revenue and margin trend.",
69
+ "Using AIsa's market data, screen for US stocks with a market cap above $1T and compare their P/E ratios.",
70
+ ],
71
+ "stock-pulse": [
72
+ "Using AIsa, show what X/Twitter is saying about NVDA today, joined with its market data.",
73
+ "Using AIsa, find which tickers are trending on X right now and why.",
74
+ ],
75
+ "prediction-market-data": [
76
+ "Using AIsa, list the most active prediction markets right now with their implied probabilities.",
77
+ "Using AIsa, compare what Polymarket and Kalshi imply about the next Fed rate decision.",
78
+ ],
79
+ reddit: [
80
+ "Using AIsa, find today's top posts in r/MachineLearning and summarize the discussion.",
81
+ "Using AIsa, search Reddit for real-world Claude Code workflows people recommend.",
82
+ ],
83
+ "youtube-search": [
84
+ "Using AIsa, find the three most relevant YouTube videos about MCP servers and list their channels.",
85
+ "Using AIsa, find beginner YouTube tutorials for Claude Code and pick the best one to start with.",
86
+ ],
87
+ instagram: [
88
+ "Using AIsa, fetch the Instagram profile and recent posts of @nasa and describe their content strategy.",
89
+ "Using AIsa, compare the recent Instagram engagement of @natgeo and @nasa.",
90
+ ],
91
+ pinterest: [
92
+ "Using AIsa, search Pinterest for 'mid-century interior' and summarize the visual trends.",
93
+ "Using AIsa, find trending home-office ideas on Pinterest and summarize them with links.",
94
+ ],
95
+ apollo: [
96
+ "Using AIsa, enrich the company anthropic.com — size, industry, and key people.",
97
+ "Using AIsa, find five AI infrastructure startups in San Francisco with their CEOs.",
98
+ ],
99
+ };
100
+ export const FILE_CLIENT_LABELS = {
101
+ cursor: "Cursor",
102
+ "claude-desktop": "Claude Desktop",
103
+ windsurf: "Windsurf",
104
+ };
105
+ /** Small brand marks for the client cards — inline SVG, self-contained. */
106
+ export const CLIENT_LOGOS = {
107
+ "claude-code": `<svg viewBox="0 0 24 24" width="22" height="22" aria-hidden="true"><g fill="#D97757">${Array.from({ length: 8 }, (_, i) => `<rect x="11" y="1" width="2" height="7.5" rx="1" transform="rotate(${i * 45} 12 12)"/>`).join("")}</g></svg>`,
108
+ codex: `<svg viewBox="0 0 24 24" width="22" height="22" aria-hidden="true"><g fill="none" stroke="#0d0d0b" stroke-width="2.1" stroke-linecap="round">${Array.from({ length: 6 }, (_, i) => `<path d="M12 3.4 A8.6 8.6 0 0 1 19.4 7.6" transform="rotate(${i * 60} 12 12)"/>`).join("")}</g></svg>`,
109
+ opencode: `<svg viewBox="0 0 24 24" width="22" height="22" aria-hidden="true"><rect x="1" y="1" width="22" height="22" rx="5" fill="#0d0d0b"/><g fill="#fafafa"><rect x="5" y="8" width="6" height="8"/><rect x="7" y="10" width="2" height="4" fill="#0d0d0b"/><rect x="13" y="8" width="6" height="2"/><rect x="13" y="14" width="6" height="2"/><rect x="13" y="8" width="2" height="8"/></g></svg>`,
110
+ };
111
+ /** The agents' real first-screen art, so the launch preview looks like what
112
+ * the button opens: Codex's ASCII face (transcribed from its TUI), Claude
113
+ * Code's pixel robot, opencode's banner verbatim from --help. */
114
+ export const CODEX_FACE = [
115
+ " __+=++++=+,_",
116
+ " _=\"\"\\+/;/+\\+;++\"**+_",
117
+ " ,\\'\\,+*-*\"`` `\"*~*+|,*|,",
118
+ " _|\"*+____ '*~\\\"|",
119
+ " ,/_;\\'|\\`\\,. ^\\.*",
120
+ " / ,/` *_ \"|/, \"\\^*",
121
+ " | ;!` !\\ \"\\\\ |^|,",
122
+ " ||\\~ _\\ _//! \\| |",
123
+ " |'\"| // ,*\"',++_+++++_ |\\~|",
124
+ " _*|\\ ,|__/~/ !`~_______|| \\/'`",
125
+ " ' *|\\ +_+/^ \"**^^^^^\" |,\"/",
126
+ " ',\"\\;. ,/|\"/",
127
+ " \\/||+~, ,++\"/,`",
128
+ " *,_\"**=^;~_+~;\"-\",;+'",
129
+ " `*+/~_,,_,,++**\"",
130
+ ].join("\n");
131
+ export const CLAUDE_BOT = [
132
+ " ▄▄ ▄▄",
133
+ " ████████████",
134
+ " ██ ███ ██ ██",
135
+ " ████████████",
136
+ " ▀▀ ▀▀ ▀▀",
137
+ ].join("\n");
138
+ // opencode's real banner, verbatim from its --help output.
139
+ export const OPENCODE_MARK = [
140
+ "█▀▀█ █▀▀█ █▀▀█ █▀▀▄ █▀▀▀ █▀▀█ █▀▀█ █▀▀█",
141
+ "█ █ █ █ █▀▀▀ █ █ █ █ █ █ █ █▀▀▀",
142
+ "▀▀▀▀ █▀▀▀ ▀▀▀▀ ▀ ▀ ▀▀▀▀ ▀▀▀▀ ▀▀▀▀ ▀▀▀▀",
143
+ ].join("\n");
@@ -0,0 +1,18 @@
1
+ import { type LiveServer } from "./mcp.js";
2
+ import { type Lang } from "./flow.js";
3
+ import { type ClientInfo } from "./connect-shared.js";
4
+ export declare function renderT2Page(servers: LiveServer[], clients: ClientInfo[], token: string, keyed: boolean, canInstall: boolean,
5
+ /**
6
+ * Whether this machine still needs the AIsa CLI installed. Probed by the
7
+ * caller, never in here: this function's output is snapshot-tested byte
8
+ * for byte, and a live probe inside it froze one machine's answer into
9
+ * the baseline — green wherever the CLI happened to be installed, red on
10
+ * every CI runner (runs 74-84, 2026-09-03).
11
+ */
12
+ needsCli: boolean, view: "start" | "done",
13
+ /**
14
+ * Defaults to English so this signature could grow without moving a byte of
15
+ * the rendered page: the picker that will set it is a later step, and the
16
+ * snapshots guarding this refactor have to stay green in between.
17
+ */
18
+ lang?: Lang): string;