{"status":"ok","service":"sphinx-ai-assistant proxy","version":"7.9.1","deployment":{"profile":"strict","strict":true,"non_root":true,"non_root_required":true,"redis_tls_required":true,"policy_ready":true},"capabilities":{"reasoning":{"enabled":false},"chat_request":{"contract":"scikitplot-chat-v1","contracts":["scikitplot-chat-v1","scikitplot-chat-v2"],"history":{"max_turns":12,"max_turn_chars":4000,"max_total_chars":24000,"roles":["user","assistant"]},"working_files":{"max_files":4,"max_file_chars":48000,"max_total_chars":96000,"digest":"sha256"}},"stub":{"enabled":true,"prefix":"stub/","modes":{"echo":"Report exactly what the request contained.","error":"Return the HTTP status given after the colon, e.g. stub/error:503.","hostile":"Injection payloads and malformed markup, to test the client.","mirror":"Inspect the bounded browser-to-proxy request, files, page context, controls, and security signals.","qa":"Canned answers from a fixture table.","slow":"Delay the reply by the milliseconds given after the colon."}},"resource_transport":{"version":3,"multipart":true,"max_files":256,"max_file_bytes":536870912,"max_total_bytes":1073741824,"modalities":["text","image","animated_image","vector_image","audio","video","document","archive","data","binary"],"intents":["auto","raw","extract","context"],"routing":"server-adapter","execution":"enabled","model_capability_endpoint":"/v1/resource-capabilities","models":{"scikit-plots/Qwen2.5-Coder-7B-Instruct":{"adapter":"self_hosted","execution":"plan-only","routes":{"animated_image":["unsupported"],"archive":["unsupported"],"audio":["unsupported"],"binary":["unsupported"],"data":["unsupported"],"document":["unsupported"],"image":["unsupported"],"text":["context"],"vector_image":["unsupported"],"video":["unsupported"]},"route_constraints":{}},"Qwen/Qwen2.5-Coder-7B-Instruct":{"adapter":"huggingface","execution":"enabled","routes":{"animated_image":["unsupported"],"archive":["unsupported"],"audio":["unsupported"],"binary":["unsupported"],"data":["unsupported"],"document":["unsupported"],"image":["unsupported"],"text":["context"],"vector_image":["unsupported"],"video":["unsupported"]},"route_constraints":{}},"Qwen/Qwen2.5-Coder-32B-Instruct":{"adapter":"huggingface","execution":"enabled","routes":{"animated_image":["unsupported"],"archive":["unsupported"],"audio":["unsupported"],"binary":["unsupported"],"data":["unsupported"],"document":["unsupported"],"image":["unsupported"],"text":["context"],"vector_image":["unsupported"],"video":["unsupported"]},"route_constraints":{}},"openai/gpt-oss-20b":{"adapter":"huggingface","execution":"enabled","routes":{"animated_image":["unsupported"],"archive":["unsupported"],"audio":["unsupported"],"binary":["unsupported"],"data":["unsupported"],"document":["unsupported"],"image":["unsupported"],"text":["context"],"vector_image":["unsupported"],"video":["unsupported"]},"route_constraints":{}},"stub/mirror":{"adapter":"stub-mirror","execution":"enabled","routes":{"text":["tool"],"image":["tool"],"animated_image":["tool"],"vector_image":["tool"],"audio":["tool"],"video":["tool"],"document":["tool"],"archive":["tool"],"data":["tool"],"binary":["tool"]}}}},"provider_artifact_output":{"version":2,"contract":"scikitplot-provider-artifact-output-v1","receipt_contract":"scikitplot-provider-artifact-output-receipt-v1","endpoint":"/v1/image","legacy_endpoint":"/v1/artifacts/provider-output","max_request_bytes":65536,"max_prompt_chars":12000,"max_output_bytes":67108864,"lifecycle_contract":"scikitplot-provider-artifact-lifecycle-v1","cancel_contract":"scikitplot-provider-artifact-cancel-v1","cancel_endpoint":"/v1/artifacts/provider-output/cancel","candidate_ttl_seconds":900,"duplicate_window_seconds":90,"lifecycle_authority":{"backend":"memory","shared":false,"authoritative":true,"ready":true},"generators":[{"id":"stub/generated-png","provider":"stub","model":"deterministic-png","kind":"image","mime_types":["image/png"],"max_output_bytes":1048576,"options":{},"diagnostic":true},{"id":"stub/generated-wav","provider":"stub","model":"deterministic-wav","kind":"audio","mime_types":["audio/wav"],"max_output_bytes":1048576,"options":{},"diagnostic":true}],"chat_text_is_output_authority":false,"resource_input_is_output_authority":false},"video_generation":{"version":2,"enabled":false,"mode":"disabled","test_mode":false,"contract":"learn.video-generation-request.v1","job_contract":"learn.video-generation-job.v1","endpoint":"/v1/video","legacy_endpoint":"/v1/video-generations","status_endpoint":"/v1/video/{generation_id}","list_endpoint":null,"library_scope":"browser-local-receipts","enumeration":"disabled","status_access":"opaque-generation-id","actions":["cancel","retry","archive","restore"],"idempotency_header":"Idempotency-Key","lifecycle":["draft","submitted","queued","running","ready","failed","cancelled","archived"],"result_providers":["youtube","hls","file","external"],"publish_provider":"none","publishes_media":false,"model_selection":"requested-provenance","lifecycle_authority":{"backend":"none","shared":false,"durable":false},"reason":"disabled-by-operator"},"audio_generation":{"version":1,"enabled":true,"contract":"assistant.audio-generation-request.v1","job_contract":"scikitplot-generation-job.v2","endpoint":"/v1/audio","legacy_endpoint":"/v1/audio-generations","status_endpoint":"/v1/audio/{generation_id}","artifact_endpoint":"/v1/generated-artifacts/{artifact_id}","idempotency_header":"Idempotency-Key","job_capability_header":"X-Generation-Capability","artifact_capability_header":"X-Artifact-Capability","operation":"speech.synthesize","modes":["narration"],"test_mode":true,"lifecycle":["queued","running","ready","failed","cancelled"],"job_authority":{"backend":"memory","shared":false,"durable":false,"max_jobs":256,"job_ttl_seconds":3600,"artifact_ttl_seconds":3600,"max_total_artifact_bytes":67108864},"reason":"renderer-configured"},"document_generation":{"version":1,"enabled":true,"contract":"assistant.document-generation-request.v1","endpoint":"/v1/document","legacy_endpoint":"/v1/document-generations","formats":["markdown","rst","text"],"execution":"chat-backed","publication":"separate-reviewed-step","model_selection":"requested-or-default"},"zip_edit_artifact":{"version":1,"contract":"scikitplot-zip-edit-v1","receipt_contract":"scikitplot-zip-edit-receipt-v1","endpoint":"/v1/artifacts/zip-edit","multipart":true,"max_request_bytes":807403520,"max_source_bytes":536870912,"max_entry_bytes":67108864,"max_replacement_total_bytes":268435456,"max_authorized_paths":4096,"max_replacements":256,"tree_authority":"source-archive"}},"training":{"dataset_repo":null,"contribute_ready":true,"feedback_review_mode":"provider-pr","feedback_review_ready":true,"feedback_review_consent_version":"2.0.0","feedback_training_consent_version":"1.0.0","feedback_review_updates":true,"contribution_review_mode":"provider-pr","pending_review_updates":true,"duplicate_resubmit_policy":"same-receipt-noop-or-update","canonical_branch":"main"},"tokens":{"hf_token_type":"unknown","hf_dataset_token_type":"unknown","hf_write_token_type":"unknown","least_privilege_mode":false},"storage":{"configured":true,"target_count":2,"primary_ready":true},"share":{"ready":true,"backend":"memory","durability":"process_local","durable":false,"shared":false,"authoritative":false,"consistency_scope":"process_local","required_durable":false,"required_shared":false},"rate_limit":{"backend":"local","shared":false,"authoritative":false,"ready":true,"required_shared":false,"scope":"process_local"},"limits":{"max_upstream_response_bytes":8388608},"cors":{"official_docs_origin":"https://scikit-plots.github.io","official_docs_origin_allowed":true,"default_allowed_origin_count":2,"default_allowed_origins_allowed":true,"wildcard":false,"allowed_origin_count":4,"local_dev_origin_count":2,"env_semantics":"additive","share_opaque_origin_allowed":false,"share_opaque_origin_write_allowed":false},"page_feedback":{"review_mode":"provider-pr","primary_provider":"github","mirror_count":0,"any_site_id":false,"default_site_ids_allowed":{"scikit-plots":true,"scikit-plots-learn":true},"allowed_site_id_count":2,"page_authority":false}}