BigPizzaV3/CodexPlusPlus · error

manifest 发布者、许可证或来源说明为空

Error message

manifest 发布者、许可证或来源说明为空

What it means

validate_manifest 对发布者与法律元数据的组合校验失败:publisher.display_name 未通过 safe_manifest_text(1..80)、publisher.id 为空或超 64 字符或含非法字符、license 为空/超 64/含非法字符,或 provenance.summary 未通过 safe_manifest_text(1..500)。这些字段用于主题来源展示与信任判断。

Source

Thrown at crates/codex-plus-core/src/dream_skin_package.rs:966

        bail!("manifest.capabilities 无效或缺少 safe-css 能力");
    }
    if !safe_manifest_text(&manifest.publisher.display_name, 1, 80, false)
        || manifest.publisher.id.is_empty()
        || manifest.publisher.id.len() > 64
        || !manifest
            .publisher
            .id
            .bytes()
            .all(|byte| byte.is_ascii_alphanumeric() || matches!(byte, b'_' | b'-'))
        || manifest.license.is_empty()
        || manifest.license.len() > 64
        || !manifest.license.bytes().enumerate().all(|(index, byte)| {
            byte.is_ascii_alphanumeric()
                || (index > 0 && matches!(byte, b' ' | b'.' | b'+' | b'(' | b')' | b'-'))
        })
        || !safe_manifest_text(&manifest.provenance.summary, 1, 500, true)
    {
        bail!("manifest 发布者、许可证或来源说明为空");
    }
    if manifest
        .key_id
        .as_deref()
        .is_some_and(|key| !valid_key_id(key))
        || !valid_rfc3339(&manifest.created_at)
    {
        bail!("manifest keyId 或 createdAt 无效");
    }
    if manifest.files.len() < 2 || manifest.files.len() > 8 {
        bail!("manifest.files 数量无效");
    }
    Ok(())
}

fn validate_theme(
    theme: &Value,
    manifest: &DreamSkinPackageManifest,

View on GitHub (pinned to f2074595a2)

Solutions

  1. 补全 publisher.id/display_name、license 和 provenance.summary
  2. publisher.id 只用字母数字、下划线和连字符
  3. 把 summary 控制在 500 字符内并去掉控制字符
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at crates/codex-plus-core/src/dream_skin_package.rs:966 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of BigPizzaV3/CodexPlusPlus@f2074595a2 (2026-08-23). Data as JSON: /api/errors/85385b967b4fb5aa. Report an issue: GitHub.