Edits history of script submission #22537 for ' Check Strale Capability Quality Score (strale)'

  • bunnative
    One script reply has been approved by the moderators
    Ap­pro­ved
    //native
    
    // Check the quality score (SQS) for a Strale capability.
    // Returns the Strale Quality Score — an independent, continuously-tested
    // measure of data source reliability. No auth required.
    //
    // SQS is a dual-profile score (0-100) combining:
    // - Quality Profile: correctness, schema compliance, error handling, edge cases
    // - Reliability Profile: availability, success rate, upstream health, latency
    //
    // https://strale.dev
    
    export async function main(
      capability_slug: string,
      base_url: string = "https://api.strale.io",
    ) {
      const response = await fetch(`${base_url}/v1/quality/${encodeURIComponent(capability_slug)}`, {
        method: "GET",
        headers: {
          "Accept": "application/json",
        },
      });
    
      if (!response.ok) {
        if (response.status === 404) {
          throw new Error(`Capability "${capability_slug}" not found.`);
        }
        const error = await response.json().catch(() => ({ message: response.statusText }));
        throw new Error(
          `Strale API error (${response.status}): ${(error as any).error?.message ?? (error as any).message ?? "Unknown error"}`
        );
      }
    
      const data = await response.json() as {
        slug: string;
        name: string;
        sqs: number;
        quality_grade: string;
        reliability_grade: string;
        last_tested: string;
        test_count: number;
        [key: string]: unknown;
      };
    
      return {
        slug: data.slug,
        name: data.name,
        sqs: data.sqs,
        quality_grade: data.quality_grade,
        reliability_grade: data.reliability_grade,
        last_tested: data.last_tested,
        test_count: data.test_count,
        summary: `${data.name}: SQS ${data.sqs}/100 (Quality: ${data.quality_grade}, Reliability: ${data.reliability_grade})`,
      };
    }

    Submitted by hugo989 6 days ago