message: Console: support SST v2
diff: @@ -53,21 +53,41 @@ type Result = {
  export function useStacks() {
  const params = useParams<{ app: string; stage: string }>();
  const cf = useClient(CloudFormationClient);
  - const ssm = useClient(SSMClient);
  const s3 = useClient(S3Client);
  + const ssm = useClient(SSMClient);
  return useQuery(
  ["stacks", params.app!, params.stage!],
  async () => {
  let stacks: StackInfo[] = [];
  + try {
  + async function getMetadataBucket() {
  + // Lookup from SSM first (SST v1)
  try {
  const value = await ssm.send(
  new GetParameterCommand({
  Name: `/sst/bootstrap/bucket-name`,
  })
  )
  - const bucketName = value.Parameter.Value;
  + return value.Parameter.Value;
  + } catch (e: any) {
  + if (e.name === "ParameterNotFound") {
  + // Lookup from Bootstrap stack output (SST v2)
  + const describe = await cf.send(
  + new DescribeStacksCommand({
  + StackName: "SSTBootstrap",
  + })
  + );
  + const output = (describe.Stacks![0].Outputs || []).find((o) =>
  + o.OutputKey === "BucketName"
  + );
  + return output.OutputValue;
  + }
  + throw e;
  + }
  + }
  + const bucketName = await getMetadataBucket();
  const list = await s3.send(
  new ListObjectsV2Command({
  Bucket: bucketName,
  