{"record":{"id":"15843905536f159d","repo":"router-for-me/CLIProxyAPI","slug":"home-plugins-decode-store-manifest-for-s-w","errorCode":null,"errorMessage":"home plugins: decode store manifest for %s: %w","messagePattern":"home plugins: decode store manifest for (.+?): %w","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"internal/homeplugins/sync.go","lineNumber":778,"sourceCode":"\t\tVersion:       strings.TrimSpace(manifest.Version),\n\t\tReleaseTag:    strings.TrimSpace(manifest.ReleaseTag),\n\t\tRepository:    strings.TrimSpace(manifest.Repository),\n\t\tInstallType:   manifest.InstallType(),\n\t\tInstallStatus: pluginInstallStatusFailed,\n\t}\n}\n\nfunc storeManifestFromPluginConfig(id string, item config.PluginInstanceConfig) (sdkpluginstore.Manifest, bool, error) {\n\tif item.Raw.Kind == 0 {\n\t\treturn sdkpluginstore.Manifest{}, false, nil\n\t}\n\tstoreNode := yamlMappingValue(&item.Raw, \"store\")\n\tif storeNode == nil || storeNode.Kind == 0 {\n\t\treturn sdkpluginstore.Manifest{}, false, nil\n\t}\n\tvar manifest sdkpluginstore.Manifest\n\tif errDecode := storeNode.Decode(&manifest); errDecode != nil {\n\t\treturn sdkpluginstore.Manifest{}, false, fmt.Errorf(\"home plugins: decode store manifest for %s: %w\", id, errDecode)\n\t}\n\tif strings.TrimSpace(manifest.ID) == \"\" {\n\t\tmanifest.ID = strings.TrimSpace(id)\n\t}\n\tif errValidate := manifest.Validate(); errValidate != nil {\n\t\treturn sdkpluginstore.Manifest{}, false, fmt.Errorf(\"home plugins: invalid store manifest for %s: %w\", id, errValidate)\n\t}\n\treturn manifest, true, nil\n}\n\nfunc yamlMappingValue(node *yaml.Node, key string) *yaml.Node {\n\tif node == nil || node.Kind != yaml.MappingNode {\n\t\treturn nil\n\t}\n\tfor i := 0; i+1 < len(node.Content); i += 2 {\n\t\tkeyNode := node.Content[i]\n\t\tif keyNode == nil || keyNode.Value != key {\n\t\t\tcontinue","sourceCodeStart":760,"sourceCodeEnd":796,"githubUrl":"https://github.com/router-for-me/CLIProxyAPI/blob/78f0c4079e3e6273d65d03b5549cffc898703264/internal/homeplugins/sync.go#L760-L796","documentation":"Error \"home plugins: decode store manifest for %s: %w\" thrown in router-for-me/CLIProxyAPI.","triggerScenarios":"Thrown at internal/homeplugins/sync.go:778 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify the store manifest for the named plugin is valid JSON.","Fix the manifest syntax reported by the wrapped decode error."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"78f0c4079e3e6273d65d03b5549cffc898703264","analyzedAt":"2026-08-15T12:26:37.444Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}