import CodexBarCoreimport Foundation @mainenum CodexBarClaudeWebProbe { private static let defaultEndpoints: [String] = [ "https://claude.ai/api/organizations", "https://claude.ai/api/organizations/{orgId}/usage", "https://claude.ai/api/organizations/{orgId}/overage_spend_limit", "https://claude.ai/api/organizations/{orgId}/members", "https://claude.ai/api/organizations/{orgId}/me", "https://claude.ai/api/organizations/{orgId}/billing", "https://claude.ai/api/me", "https://claude.ai/api/user", "https://claude.ai/api/session", "https://claude.ai/api/account", "https://claude.ai/settings/billing", "https://claude.ai/settings/account", "https://claude.ai/settings/usage", ] static func main() async { let args = CommandLine.arguments.dropFirst() let endpoints = args.isEmpty ? Self.defaultEndpoints : Array(args) let includePreview = ProcessInfo.processInfo.environment["CLAUDE_WEB_PROBE_PREVIEW"] == "1" do { let results = try await ClaudeWebAPIFetcher.probeEndpoints( endpoints, browserDetection: BrowserDetection(cacheTTL: 0), includePreview: includePreview) for result in results { Self.printResult(result) } } catch { fputs("Probe failed: \(error.localizedDescription)\n", stderr) Darwin.exit(1) } } private static func printResult(_ result: ClaudeWebAPIFetcher.ProbeResult) { let status = result.statusCode.map(String.init) ?? "error" print("==> \(result.url)") print("status: \(status)") if let contentType = result.contentType { print("content-type: \(contentType)") } if !result.topLevelKeys.isEmpty { print("keys: \(result.topLevelKeys.joined(separator: ", "))") } if !result.emails.isEmpty { print("emails: \(result.emails.joined(separator: ", "))") } if !result.planHints.isEmpty { print("plan-hints: \(result.planHints.joined(separator: ", "))") } if !result.notableFields.isEmpty { print("fields: \(result.notableFields.joined(separator: ", "))") } if let preview = result.bodyPreview, !preview.isEmpty { print("preview: \(preview)") } print("") }}
import CodexBarCore
import Foundation
@main
enum CodexBarClaudeWebProbe {
private static let defaultEndpoints: [String] = [
"https://claude.ai/api/organizations",
"https://claude.ai/api/organizations/{orgId}/usage",
"https://claude.ai/api/organizations/{orgId}/overage_spend_limit",
"https://claude.ai/api/organizations/{orgId}/members",
"https://claude.ai/api/organizations/{orgId}/me",
"https://claude.ai/api/organizations/{orgId}/billing",
"https://claude.ai/api/me",
"https://claude.ai/api/user",
"https://claude.ai/api/session",
"https://claude.ai/api/account",
"https://claude.ai/settings/billing",
"https://claude.ai/settings/account",
"https://claude.ai/settings/usage",
]
static func main() async {
let args = CommandLine.arguments.dropFirst()
let endpoints = args.isEmpty ? Self.defaultEndpoints : Array(args)
let includePreview = ProcessInfo.processInfo.environment["CLAUDE_WEB_PROBE_PREVIEW"] == "1"
do {
let results = try await ClaudeWebAPIFetcher.probeEndpoints(
endpoints,
browserDetection: BrowserDetection(cacheTTL: 0),
includePreview: includePreview)
for result in results {
Self.printResult(result)
}
} catch {
fputs("Probe failed: \(error.localizedDescription)\n", stderr)
Darwin.exit(1)
}
}
private static func printResult(_ result: ClaudeWebAPIFetcher.ProbeResult) {
let status = result.statusCode.map(String.init) ?? "error"
print("==> \(result.url)")
print("status: \(status)")
if let contentType = result.contentType { print("content-type: \(contentType)") }
if !result.topLevelKeys.isEmpty {
print("keys: \(result.topLevelKeys.joined(separator: ", "))")
}
if !result.emails.isEmpty {
print("emails: \(result.emails.joined(separator: ", "))")
}
if !result.planHints.isEmpty {
print("plan-hints: \(result.planHints.joined(separator: ", "))")
}
if !result.notableFields.isEmpty {
print("fields: \(result.notableFields.joined(separator: ", "))")
}
if let preview = result.bodyPreview, !preview.isEmpty {
print("preview: \(preview)")
}
print("")
}
}